본문의 모든 내용과 이미지의 저작권은 이지스퍼블리싱의 Do it! 강화 학습 입문 도서에 있습니다.
4-1. PPO 알고리즘 알아보기
1. PPO 알고리즘이란?
PPO(Proximal Policy Optimization) 알고리즘은 2017년 OpenAI 팀이 발표한 논문 <근위 정책 최적화 알고리즘(Proximal Policy Optimization Algorithms)>에서 소개된 비교적 최신 기법
로봇 제어, 게임 등 다양한 강화 학습 과제에서 우수성을 입증했으며, 복잡한 난이도로 유명한 DOTA2라는 게임도 우수하게 플레이했음
PPO 알고리즘이 발표된 이후 OpenAI는 대부분의 과제에 이 알고리즘을 사용했고, Unity ML과 딥레이서 등의 환경에서도 기본 알고리즘으로 사용
PPO 알고리즘은 정책 경사(Policy Gradient) 방법에 해당, 정책 경사에 대한 공부가 필요
2. 정책 경사부터 PPO 알고리즘 이해 시작하기
DQN이 가치 함수 또는 Q 함수를 업데이트하는 가치 반복법에 기초하는 반면, 정책 경사는 정책 반복법에 기초
정책 경사와 정책 반복법은 특정 상태에서 취하는 행동의 확률 분포로 이루어진 정책 네트워크(Policy Network)를 학습시킨다는 점에서 차이가 있음
상태를 입력으로 한다는 점에서 DQN의 신경망과 같지만, DQN의 출력이 Q 함수였다는 것과 대조적, 출력이 행동의 확률 분포라는 점에서 DQN에 비해 2가지 장점이 있음
DQN과 비교할 때 정책 경사의 장점
DQN은 에이전트가 취할 수 있는 행동이 불연속한 경우에만 적용 가능 하지만, 정책 경사는 출력인 ‘확률 분포’를 ‘정규 분포’라 가정하고 샘플링을 진행하면 에이전트의 연속된 행동을 추출할 수 있음
정책 네트워크는 확률 분포를 기반으로 해서 행동을 선택하기 때문에 Q 학습과 같이 탐험을 위한 무작위성을 부여하는 엡실론과 같은 별도 계수가 필요하지 않음. 에이전트는 기존 정책을 그대로 준수하며 에피소드를 진행해도 무방. 따라서 정책 경사는 정책 이탈(Off-Policy)이 아닌 정책 밀착(On-Policy) 기법에 속함
정책 경사의 순서
정책 $\pi(\theta)$를 무작위로 생성($\theta$는 정책의 파라미터)
에이전트는 환경 내에서 $\pi(\theta)$에 따라 행동하며 확인한 일련의 상태와 보상을 샘플로 취함