PPO


💡
목표: PPO(Proximal Policy Optimization)를 논문(academic paper) 흐름(문제정의 → 방법 → 분석/실험 → 결론)으로 정리한다.

서론

  • 이전에 배운 TPRO는 정책의 단조 향상(Monotonic Improvement)을 이론적으로 보장한다는 강한 장점을 얻는 대가로 Trust Region의 KL Contrant와 그로부터 비롯되는 Hessian 행렬 계산 비용 때문에 구현과 연산이 매우 무거워진다는 단점이 있었다.
  • 핵심은 KL Contrant를 통째로 제거하고 정책의 변화량 자체를 Importance ratio로 두고 여기에 Clipping하는 Clipped surrogate objective를 도입한다.

목차

TPRO Summary

  • TRPO는 KL 제약을 통해 안정적 업데이트를 제공하지만, 2차 근사/구현 복잡도가 높다.
  • Surrogate objective:
    • \(L^{TRPO}(\theta)=\mathbb{E}_{s\sim\rho_{\theta_{old}},\,a\sim\pi_{\theta_{old}}}\left[r_t(\theta)\,A_{\theta_{old}}(s,a)\right]\)
    • \(r_t(\theta)=\dfrac{\pi_\theta(a\|s)}{\pi_{\theta_{old}}(a\|s)}\)
  • Trust region (KL Concentration):
    • \(\max_\theta\ L^{TRPO}(\theta)\ \ \text{s.t.}\ \ \mathbb{E}_{s\sim\rho_{\theta_{old}}}\left[D_{KL}\!\left(\pi_{\theta_{old}}(\cdot\|s)\ \|\ \pi_\theta(\cdot\|s)\right)\right]\le \delta\)

Minorization-Maximization Algorithm

직접 최적화하기 어려운 진짜 목적함수 대신하여 보다 계산하기 용이하면서 진짜 목적함수의 하한 역할을 하는 surrogate objective 함수를 만들고 이를 최대화하는 방향으로 업데이트 하면서 원래 목적함수도 안정적으로 개선되도록 하는 방법이다.

  • 여기서 Surrogate function을 찾기위해 2차함수 형태로 만들어서 conjugate gradient
  • PPO는 TRPO의 핵심을 유지하면서, 1차 최적화(SGD)로 쉽게 구현 가능한 목적함수를 제안한다.

2. Background / Preliminaries

2.1 Markov Decision Process

  • 상태 \(s_t\), 행동 \(a_t\), 보상 \(r_t\), 할인율 \(\gamma\)
  • 정책 \(\pi_\theta(a\|s)\), 리턴 \(G_t=\sum_{k\ge 0}\gamma^k r_{t+k}\)

2.2 Policy Gradient

  • 목표: \(J(\theta)=\mathbb{E}_{\pi_\theta}\left[\sum_t \gamma^t r_t\right]\)
  • 정책 그래디언트:
    • \(\nabla_\theta J(\theta)=\mathbb{E}[\nabla_\theta \log \pi_\theta(a\|s)\, A^\pi(s,a)]\)

2.3 Actor-Critic and Advantage

  • Advantage: \(A(s,a)=Q(s,a)-V(s)\)
  • Actor(정책)와 Critic(가치함수)을 함께 학습하여 분산을 줄인다.

3. Related Work

  • REINFORCE, A2C/A3C 등 policy gradient 계열
  • TRPO(Trust Region Policy Optimization): KL constraint 기반 안정적 업데이트
    • (실무 구현) 2차 근사로 natural gradient step을 구하고 line search로 KL 제약을 만족시키도록 업데이트
  • (비교 관점) off-policy actor-critic(SAC/DDPG 등): 데이터 효율 vs 안정성/편향 이슈

4. Method (PPO)

4.1 Motivation: Constraining Policy Updates

  • 새 정책이 이전 정책에서 너무 멀어지면(분포 이동) 학습이 불안정해진다.
  • TRPO는 KL 제약으로 이를 직접 제어하나, 구현이 복잡하다.

4.2 Importance Sampling Ratio

  • 중요도 비율:
    • \(r_t(\theta)=\dfrac{\pi_\theta(a_t\|s_t)}{\pi_{\theta_{old}}(a_t\|s_t)}\)

4.3 Clipped Surrogate Objective (PPO-Clip)

  • 기본 surrogate: \(\mathbb{E}[r_t(\theta)A_t]\)
  • PPO clipped objective:
    • \(L^{CLIP}(\theta)=\mathbb{E}\left[\min\left(r_t(\theta)A_t,\ \text{clip}(r_t(\theta),1-\epsilon,1+\epsilon)A_t\right)\right]\)
  • 직관:
    • \(A_t>0\)일 때 \(r_t\)가 너무 커지면(과도한 확률 증가) 이득을 제한
    • \(A_t<0\)일 때 \(r_t\)가 너무 작아지면(과도한 확률 감소) 손실을 제한

4.4 Full Objective (Policy + Value + Entropy)

  • 실무에서 자주 쓰는 합성 손실:
    1. 정책 손실: \(-L^{CLIP}(\theta)\)
    2. 가치함수 손실: \(c_1 \\, \mathbb{E}\left[(V_\theta(s_t)-\hat{V}_t)^2\right]\)
    3. 엔트로피 보너스: \(-c_2 \\, \mathbb{E}[H(\pi_\theta(\cdot\|s_t))]\)

4.5 Advantage Estimation with GAE

  • TD 오차: \(\delta_t=r_t+\gamma V(s_{t+1})-V(s_t)\)
  • GAE:
    • \(A_t^{GAE(\gamma,\lambda)}=\sum_{l=0}^{\infty}(\gamma\lambda)^l\delta_{t+l}\)
  • \(\lambda\): bias-variance trade-off (보통 0.95 전후)

4.6 Algorithm

  1. \(\pi_{\theta_{old}}\)로 rollout 데이터 수집(trajectory batch)
  2. \(\hat{A}_t\), \(\hat{V}_t\) 계산(GAE 등)
  3. 여러 epoch 동안 미니배치 SGD로 \(\theta\) 업데이트
  4. \(\theta_{old}\leftarrow\theta\)로 갱신 후 반복

5. Discussion / Analysis

5.1 Clipping vs KL Penalty

  • PPO-Clip: 클리핑으로 업데이트 크기 간접 제한
  • PPO-KL: KL 패널티/target KL로 제어(모니터링 용이)

5.2 Practical Stability Signals (Logging)

  • 평균 리턴, value loss, policy loss
  • entropy, approx KL, clip fraction
  • gradient norm, (옵션) value clipping 유무

6. Experiments (Template)

6.1 Benchmarks

  • Atari, MuJoCo 등

6.2 Implementation Details

  • 네트워크 구조, optimizer, learning rate
  • batch size, minibatch size, epochs
  • clip range \(\epsilon\), entropy coefficient, value loss coefficient
  • advantage normalization, reward scaling/clipping

6.3 Baselines

  • TRPO, A2C (및 필요 시 SAC/DDPG)

6.4 Results

  • 학습 곡선(성능/샘플 효율)
  • 안정성 비교(붕괴 빈도, 분산)

6.5 Ablation Study

  • \(\epsilon\), epochs/minibatch, \(\lambda\), entropy coef 변화 영향

7. Limitations

  • on-policy 특성으로 데이터 효율 한계
  • 하이퍼파라미터 민감도 및 환경 의존성

8. Conclusion

  • PPO는 trust region 아이디어를 간단한 clipped objective로 구현하여 안정성과 구현 용이성을 동시에 확보한다.
  • 향후 방향: adaptive KL, recurrent PPO, 대규모 모델/환경에서의 안정화 기법 등

References (Placeholder)

  • Schulman et al., “Proximal Policy Optimization Algorithms”, 2017.
  • (추가) TRPO, GAE 관련 논문들