머신러닝의 카테고리 중 마지막으로 남아 있는
‘강화학습’이라는 부분이 보이죠?
이제 정말 다 왔네요.
강화학습은 영어로는
Reinforcement Learning이라고 합니다.
Reinforcement 강화, 증강이라는 뜻입니다.
강화학습의 핵심은 일단 해보는 것입니다.
비유하자면 지도학습이 배움을 통해서
실력을 키우는 것이라면,
강화학습은 일단 해보면서 경험을 통해서
실력을 키워가는 것입니다.
그 행동의 결과가 자신에게 유리한 것이었다면
상을 받고, 불리한 것이었다면 벌을 받는 것입니다.
이 과정을 매우 많이 반복하면
더 많은 보상을 받을 수 있는 더 좋은 답을
찾아낼 수 있다는 것이 강화학습의 기본 아이디어입니다.
비유를 들어서 강화학습에 대해 설명해 보겠습니다.
게임 실력을 키워가는 것도 강화학습과 비슷합니다.
여기서는 두 개의 주체를 생각해봐야 합니다.
우선 게임이 있어야 합니다.
게임은 게이머에게 보여줄 화면이 필요합니다.
또 하나의 주인공은 게이머입니다.
게이머는 우선 현재의 상태를 관찰해야 합니다.
관찰 결과에 따라서 게임을 조작하는 행동을 해야 합니다.
관찰과 행동을 하기 위해서는 판단력이 필요합니다.
이것을 그림으로 나타내면 아래와 같습니다.
이런 상태에서 게임의 실력을 키워가는 과정을 따져봅시다.
- 우선 게임은 게이머에게 현재의 상태를 보여줍니다. 캐릭터는 어디에 있고, 장애물은 어디에 있는지 알려줍니다.
- 동시에 현재의 점수도 알려줍니다. 게이머는 이 값이 높아지는 것이 상이고, 장애물에 부딪히는 것이 벌입니다.
- 관찰의 결과에 따라서 어떤 상태에서 어떻게 행동해야 더 많은 상을 받고, 더 적은 벌을 받을 수 있는지를 알게 됩니다.
- 즉, 판단력이 강화된 것입니다.
- 판단에 따라서 행동을 합니다.
- 그 행동은 게임에 변화를 주게 됩니다.
이런 과정을 반복하면 판단력이 점점 강화됩니다.
이것이 현실에서 게임의 실력자가 되는 과정입니다.
생각해보면 배우지 않고도 결국에 잘하게 되는
많은 일들이 이런 과정을 통해서 이루어집니다.
강화학습은 이러한 과정을 모방해서
기계를 학습시키는 것입니다.
이 과정을 강화학습에서 사용하는 용어로만 바꾸면
여러분은 강화학습이 무엇인지 아는 사람이 되는 것입니다.
- 게임 환경(environment)
- 게이머 에이전트(agent)
- 게임화면 상태(state)
- 게이머의 조작 행동(action)
- 상과 벌 보상(reward)
- 게이머의 판단력 정책(policy)
강화학습에서는 더 많은 보상을 받을 수 있는
정책을 만드는 것이 핵심입니다.
이렇게 만들어진 정책은 게임의 인공지능 플레이어를
만드는 데 사용될 수 있습니다.
바둑으로 인간을 이긴 알파고가
바로 강화학습을 통해서 구현된 소프트웨어입니다.
자동차의 자율주행 기능도 강화학습을
이용해서 만들어집니다.
아래 영상은 강화학습으로 자동차의 주차 능력을
훈련시키는 장면입니다.
처음에는 계속 사고를 치다가 나중에는 사고 없이
정확하게 주차에 성공하는 것을 볼 수 있습니다.
https://www.youtube.com/watch?v=VMp6pq6_QjI
스스로 수련을 통해서 더 좋은 선택을 하는 기능이
필요하다면 강화학습을 연구해보세요.
경험할수록 알아서 똑똑해지는 기계를 만들 수 있습니다.
강화학습을 통해서 할 수 있는 일들을 감상해보세요.
URL | 설명 |
---|---|
https://www.youtube.com/watch?v=VMp6pq6_QjI | 강화학습을 이용해서 자동차의 주차능력을 향상시키는 예제입니다. |
https://youtu.be/kopoLzvh5jY | 시뮬레이션 환경을 이용한 숨바꼭질 강화학습 영상입니다. |
https://youtu.be/QilHGSYbjDQ | 팩맨의 게임능력을 향상시키는 예제입니다. |
https://youtu.be/ZhsEKTo7V04 | 강화학습을 통해 로봇팔이 문 여는 방법을 터득하는 영상입니다. |
https://www.youtube.com/watch?v=Aut32pR5PQA | 2D 시뮬레이터 상에서 강화학습을 이용해 자율주행 기능을 구현하는 영상입니다. |
https://www.youtube.com/watch?v=WSW-5m8lRMs&t=357s | 인공신경망과 강화학습을 이용해 플래피 버드 게임을 하는 인공지능을 만드는 영상입니다. |
- 이외에 분류의 좋은 사례가 있다면 알려주세요.
https://bit.ly/ml1-reinforcement-submit - 더 많은 사례가 궁금하다면 참고해주세요.
https://bit.ly/ml1-reinforcement-list