0. 개요
이 논문은 유명한 알고리즘인 PPO가 처음 나온 논문이다. 이 논문 역시 유튜브 팡요랩을 참고하였으며 원래는 TRPO의 논문이 먼저 영상으로 나왔지만 조금 더 어려울 것 같다는 생각에 PPO를 먼저 읽었다.
이 논문은 강화학습 분야에서의 2 TOP으로 불리는 딥마인드와 Open AI중 Open AI에서 출시한 논문이다. 두 회사는 모두 자신의 알고리즘이 좋다고 생각을 한다고 한다. 그래서 딥마인드는 PPO를 사용하지 않는다고...
졸업논문을 작성할 때 유니티의 ML-Agents와 같이 사용한 것이 바로 이 PPO 알고리즘이다. 그런데 나는 이 논문을 이제야 보고 있다. 정확히 알지도 모르고 일단 쓰는 내 모습
팡요랩 PPO
1. 논문 요약
1.1. 논문 개요
- 논문 제목: Proximal Policy Optimization Algorithms
- 논문 저자: John Schulman, Filip Wolski, Prafulla Dhariwal, Alec Radford, Oleg Klimov
1.2. 배경
-
Policy Gradient Methods
Policy gradient 방법은 확률적 경사 상승/하강 알고리즘에 적용하는 학습 방법이다. 가장 일반적으로 쓰이는 식은 아래의 식이다.
g^=E^t[∇θlogπθ(at∣st)A^t]
보통 코드를 사용하여 미분을 진행할 때는 아래의 식을 자동으로 미분하여 구하는데 이 방법은 종종 정책 업데이트를 크게 만든다.
L(θ)=E^t[logπθ(at∣st)A^t]
-
Trust Region Methods
TRPO에서 나온 방법이다. TRPO는 기존 정책과 새로운 정책의 차이를 KL 발산을 사용해 제한하여 정책이 크게 변하지 않도록 제어한다.다음과 같은 대체 목적 함수(surrogate objective)를 최대화한다.
θmaxE^t[πθold(at∣st)πθ(at∣st)A^t]
아래는 사용하는 제약조건이다:
E^t[KL[πθold(⋅∣st),πθ(⋅∣st)]]≤δ
이론적으로는 KL 발산에 대한 페널티 항을 추가해 제약 조건을 대체할 수도 있지만, 문제의 특성에 따라 적절한 페널티 계수 𝛽를 설정하기 어려워, TRPO는 고정된 제약 조건을 사용한다.
1.3. 연구 방법
2가지의 방법이 나오는데 여기서는 성능이 더 좋은 첫 번째 방법만 소개한다. TRPO에서 사용하던 rt(θ)=[πθold(at∣st)πθ(at∣st)]를 이용하여 clipping 기법을 사용한다.
이 방법은 입실론 (ϵ)을 이용하여 비율을 1−ϵ에서 1+ϵ 사이로 제한하고 정책이 점진적으로 개선되게 만든다. 이를 통해 정책이 갑작스러운 변화를 겪지 않고 안정적인 학습이 가능하다. 아래 식은 정책을 업데이트할 때 사용하는 식이다.
Lclip(θ)=E^t[min(rt(θ)A^t,clip(rt(θ),1−ϵ,1+ϵ)A^t)]
1.4. 주요 결과
Mujuco 환경에서 7개의 문제에 대해 학습을 진행했고 A2C, TRPO, CEM 등과 비교했다. Swimmer에서는 TRPO의 결과가 더 좋게 나왔지만 나머지에서는 모두 PPO가 좋은 성능을 보였다.
Arcade Learning Environment에서도 진행했는데 이때는 A2C, PPO, ACER를 비교했다. 총 49개 중에 학습이 되는 속도가 제일 빠른 것은 30개로 PPO가 제일 높았지만 학습 value는 PPO 19개 ACER 28개로 ACER가 더 높은 수치를 기록했다.
1.5. 개인 의견
되게 어려울 거라고 생각했었는데 생각보다 되게 단순한 아이디어여서 놀랐다.
2. 논문 링크
https://arxiv.org/abs/1707.06347