Proximal Policy Optimization(PPO)은 환경에서 지능형 에이전트가 결정을 내리도록 훈련하는 데 사용되는 강화 학습(RL) 알고리즘이다. 이는 기대 보상의 기울기를 추정하여 정책을 직접 최적화하는 정책 기울기 방법 계열에 속한다. PPO는 정책이 대규모 신경망으로 표현되는 심층 강화 학습에 특히 적합하며, 단순성, 안정성, 표본 효율성의 균형 덕분에 많은 응용 분야에서 표준 선택이 되었다.
이 알고리즘은 2017년에 각 업데이트에서 정책이 얼마나 변할 수 있는지를 제한하여 훈련을 안정화하는 것을 목표로 한 초기 방법인 Trust Region Policy Optimization(TRPO)의 근사치로 도입되었다. PPO는 잘린 목적 함수를 사용하여 이를 단순화하며, TRPO의 2차 방법에 따른 계산 오버헤드를 피한다. 2018년 이후 PPO는 OpenAI의 기본 RL 알고리즘이 되었으며, 로봇 공학에서 게임 플레이에 이르는 다양한 분야에 적용되었다.
핵심 메커니즘
PPO는 온-폴리시 알고리즘으로, 현재 정책 버전에서 수집된 데이터를 사용하여 정책을 업데이트한다. 핵심 아이디어는 새 정책이 이전 정책에서 너무 멀리 벗어나지 않도록 보장하면서 정책에 대해 여러 단계의 기울기 상승을 수행하는 것이다. 이는 새 정책과 이전 정책 간의 확률 비율이 너무 크거나 작아지는 변경을 페널티하는 잘린 대리 목적 함수를 통해 달성된다.
목적 함수는 정책 개선에 대한 보수적인 추정치를 제공하도록 설계되었다. 비율을 잘라냄으로써 PPO는 훈련을 불안정하게 만들 수 있는 과도한 업데이트를 방지하며, 이는 정책 기울기 방법에서 흔한 문제이다. 이 메커니즘은 Hessian 행렬을 사용하는 TRPO와 달리 1차 최적화만 필요로 하므로 계산 효율적이다.
TRPO와의 관계
2015년에 발표된 TRPO는 신뢰 영역 방법을 사용하여 이전 정책과 새 정책 간의 KL 발산을 제한함으로써 Deep Q-Network(DQN)와 같은 초기 알고리즘의 불안정성 문제를 해결했다. 그러나 이 제약을 적용하려면 2차 도함수의 Hessian 행렬을 계산해야 하며, 이는 대규모 문제에서 비효율적이다. PPO는 정책 기울기를 잘라내는 방식으로 Hessian 계산을 피하는 근사치로 개발되었다. 이로 인해 PPO는 구현과 튜닝이 더 간단하며, 많은 작업에서 동등하거나 더 나은 성능을 달성한다.
응용 분야
PPO는 연구와 산업 분야에서 널리 채택되었다. OpenAI에서는 다양한 환경에서 에이전트를 훈련하는 기본 RL 알고리즘으로 사용되었다. 주목할 만한 응용 사례로는 2019년 비디오 게임 Dota 2에서 프로 선수를 이긴 시스템인 OpenAI Five가 있다. PPO는 또한 로봇 팔 제어, Atari 게임 플레이, 순차적 의사 결정이 필요한 기타 분야에도 사용되었다. 그 견고성과 사용 용이성 덕분에 강화 학습 문제를 다루는 머신 러닝 실무자에게 인기 있는 선택이 되었다.
변형 및 확장
특정 문제를 해결하기 위해 PPO의 여러 변형이 제안되었다. 예를 들어, 일부 버전은 적응형 잘라내기를 통합하거나 다른 이점 추정 기법을 사용한다. PPO는 또한 고차원 관측을 처리하기 위해 딥 러닝 아키텍처와 같은 다른 방법과 결합되는 경우가 많다. 이 알고리즘의 설계는 이후 RL 연구에 영향을 미쳤으며, 새로운 알고리즘을 비교하는 기준으로 여전히 사용된다.