강화학습은 인공지능이 사용할 수 있는 최고의 정책을 찾아내는 방법입니다.
어떻게 행동하는게 가장 좋은 것인지 사람이 컴퓨터에게 직접 알려주지 않아도, 컴퓨터가 직접 시행착오를 겪으며 가장 좋은 정책을 찾아내는 것입니다.
강화학습에는 Agent(에이전트), State(상태), Action(행동), Reward(보상), Environment(환경), policy(정책)와 같은 개념들이 존재합니다.
알파고에 이러한 개념들을 연결지어보면,
- Agent(에이전트)는 알파고
- State(상태)는 바둑판 상황
- Action(행동)은 수를 두는 것
- Reward(보상)은 경기의 승/패 결과
- Environment(환경)는 바둑의 규칙
- Policy(정책)는 알파고의 정책 네트워크
인공지능이 행동을 할 때는 정책의 도움을 받습니다. 정책은 인공지능이 다음 행동을 선택할 때 어떤 행동이 좋을 지 추천을 해주는 역할을 합니다.
REINFORCE 알고리즘
알파고에서는 REINFORCE 알고리즘에 기반하여 시행착오와 정책 네트워크의 확률을 조정하는 과정을 진행합니다.해당 알고리즘에서는 policy의 가치를 expectation하는 objective function을 정의하고 objective function의 gradient를 계산하는 수식을 전개하여 정리합니다. (참고자료)
글을 마치며
알파고는 이세돌 선수에게 4승을 거둘 만큼 강력했지만, 100% 완벽하지 않았습니다. 이세돌 선수와의 4국에서 패배하면서 완전하지 않음을 보여주었습니다.
알파고 제로에서는 알파고의 REINFORCE알고리즘이 아니라 다른 알고리즘이 적용되었습니다. 그 때문에 더욱 강력해졌으며, 알파고가 가지고 있는 몇가지 문제점들을 해결할 수 있게 되었습니다.
참고자료:
https://talkingaboutme.tistory.com/entry/RL-Policy-Gradient-Algorithms
https://dnddnjs.gitbooks.io/rl/content/monte-carlo_policy_gradient__reinforce.html
https://www.slideshare.net/WoongwonLee/rlcode-a3c
Simple Statistical Gradient-Following Algorithms for Connectionist Reinforcement Learning (REINFORCE)
Policy Gradient Methods for Reinforcement Learning with Function Approximation
댓글
댓글 쓰기