ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Paper Tasting] PPO를 좀 더 깊이 이해하고 싶다면
    Paper Tasting 2023. 10. 11. 22:16
    • Motive
      • PPO(Proximal Policy Optimization)는 강화학습을 공부하는 이들이라면 한번쯤은 공부하고 사용해보는 알고리즘이다. 또한 비교적 단순하고 쉽게 활용할 수 있기에 널리 사용되고 있는 알고리즘이기도 하다. 그러나 PPO의 가장 큰 특징인 importance sampling term과 clipping에 대해서는 피상적인 이해에 그치는 경우가 많은데, 이 논문은 이에 대한 이해를 돕고 PPO가 놓치고 있는 하나의 한계점을 보완 해 주고 있다.
    • 논문 제목: [2021] Batch size-invariance for policy optimization
    • Arxiv Address: https://arxiv.org/2110.00641
    • 주요 내용 및 평가
      • 본 논문은 PPO를 Batch size에 invariant하게 적용하기 위한 보완 방법을 제시하고자 쓰여진 논문이다. 그러나 개인적으로는 PPO에 대해 좀 더 깊은 이해를 하는데 도움이 된 논문이라 추천 논문으로 넣었다.
      • PPO는 TRPO(Trust Region Policy Optimization)의 대체재로 등장한 강화학습 알고리즘으로, 단순하고 적은 계산량에도 학습 안정성이 높아 각광을 받은 알고리즘이다. On policy 알고리즘의 경우 학습데이터 수집에 사용된 Behavior policy와 학습 중인 Target policy의 차이가 커지면 학습이 망가지곤 한다. 이를 방지하려면 policy update 시 두 policy 사이의 차이가 너무 커지지 않게 제한해야 하는데, PPO는 일정 수준이상 차이가 나면 clipping을 통해 Gradient를 0으로 만들어 이 차이가 더 커지지 않도록 제한해주고 있다. 동시에 Policy간 state-action 확률 분포 차이를 importance sampling을 통해 보정해 주고 있어 학습의 안정성을 한번 더 높여주고 있다.
      • 이 논문은 PPO에서 사용했던 Behavior policy를 Behavior policy와 Proxmial policy를 분리하여 정의하였다. Proximal policy는 policy update 전의 policy로, 기존 PPO에서는 Behavior policy와 동일하지만, batch size 를 키우면 다른 behavior policy로 얻은 샘플들이 있을 수 있기에 분리하여 정의하였다. 따라서 Importance sampling ratio는 Behavior policy(BP)와 Proximal policy(PP)사이에서 계산(=PP/BP)하지만, Clipping은 Proxmial Policy와 Target Policy(TP)에 대해 계산(=TP/PP)하도록 하였다. 이와 같이 Behavior policy와 Proximal policy를 분리함으로써 Batch내에 다른 Behavior policy에 의해 수집된 Sample이 있는 경우에도 대응할 수 있다.
      • Behavior policy와 Proximal policy가 동일하면 제안된 알고리즘은 PPO와 동일하다고 할 수 있다. 즉, Old Behavior policy로 수집된 data가 학습에 포함될 일이 없다면 크게 의미가 없을 수 있다.
      • 본인이 다루는 문제에서 환경과 학습 프로세스간 동기화가 보장되고, Old behavior policy에서 수집된 data를 사용할 일이 없다면 이 논문에서 제안한 방법이 필요가 없을 것이다. 그럼에도 불구하고 PPO를 공부하고 사용하는 사람이라면 PPO에 대한 이해의 깊이를 깊게 하기 위해서라도 한번 쯤 읽어볼 만한 논문이라고 생각한다.
    • 기타 참고 사항
      • Proximal Policy는 Target policy를 바로 사용하지 않고 Policy의 Moving average로 관리하여 일부 과도하게 오래 전에 수집된 데이터가 학습 데이터에 포함되어 학습이 망가지는 것을 방지하도록 제안하고 있다.
      • Batch size가 두배가 되면 learning rate도 두배가 되어야 한다. 샘플이 많아질 수록 Gradient가 더욱 심하게 Smoothing되기 때문이다.
Designed by Tistory.