논문리뷰

RL : 간단 논문 리뷰 : Proximal Policy Optimization Algorithms

AI바라기 2025. 4. 25. 10:55

Proximal Policy Optimization Algorithms 학습 노트

용어 설명

  • Policy Gradient (PG) Methods: Policy의 성능을 나타내는 objective function의 gradient를 추정하여 policy parameter를 업데이트하는 강화학습 방법론.
  • Surrogate Objective: 실제 policy 성능 대신 최적화하는 대리 목적 함수. Policy 업데이트 시 너무 큰 변화가 일어나지 않도록 제어하는 역할을 함.
  • Trust Region Policy Optimization (TRPO): Policy 업데이트 크기에 제약 (trust region constraint)을 두어 학습 안정성을 높이는 policy gradient 방법. 2차 최적화 (second-order optimization) 또는 conjugate gradient 사용.
  • Probability Ratio (r_t(θ)): 새로운 policy (π_θ)와 이전 policy (π_{θ_old})가 특정 state에서 특정 action을 선택할 확률의 비율. r_t(θ) = π_θ(a_t|s_t) / π_{θ_old}(a_t|s_t). 이 값이 1보다 크면 해당 action을 할 확률이 높아진 것, 1보다 작으면 낮아진 것을 의미.
  • Clipped Surrogate Objective (L^CLIP): PPO의 핵심 objective function. Probability ratio (r_t)를 특정 범위 ([1-ε, 1+ε]) 내로 잘라내어 (clipping) policy 업데이트 크기를 제한하는 방식.
  • Adaptive KL Penalty: PPO의 다른 objective function 형태. Policy 변화량 (KL divergence)에 penalty를 주되, penalty 계수 (β)를 목표 KL 값 (d_targ)에 맞춰 동적으로 조절하는 방식.
  • Advantage Function (Â_t): 특정 state에서 특정 action을 취하는 것이 평균적인 action보다 얼마나 더 좋은지를 나타내는 값. Q(s,a) - V(s).
  • Generalized Advantage Estimation (GAE): Advantage function의 추정치 (estimator)로, bias와 variance 사이의 trade-off를 조절할 수 있는 파라미터 (λ)를 사용.
  • Actor-Critic Style: Policy (actor)와 value function (critic)을 함께 학습하는 강화학습 구조. PPO는 이 구조를 따름.
  • Epochs: 전체 샘플링된 데이터셋을 여러 번 반복하여 학습하는 횟수. PPO는 각 데이터 샘플 배치에 대해 여러 epoch 동안 minibatch update를 수행함.

Purpose of the Paper

  • 기존 policy gradient 방법들의 한계점 극복:
    • Vanilla Policy Gradient: 데이터 효율성 (sample efficiency) 및 학습 안정성 (robustness) 부족. 샘플당 한 번의 gradient update만 가능.
    • Trust Region Policy Optimization (TRPO): 복잡한 구현 (conjugate gradient 등 2차 최적화 필요), noise가 있는 architecture (dropout 등)나 policy/value function 간 parameter sharing 적용 어려움.
  • TRPO의 데이터 효율성 및 성능 안정성의 장점은 유지하면서, 구현이 훨씬 간단하고 (first-order optimization 사용), 더 일반적인 환경 (parameter sharing, auxiliary tasks 등)에 적용 가능하며, 우수한 성능을 보이는 새로운 policy optimization 알고리즘 개발 목표.

Key Contributions & Novelty

  • Clipped Surrogate Objective (L^CLIP) 제안 (Contribution & Novelty):
    • Probability ratio (r_t)를 [1-ε, 1+ε] 범위로 clipping하고, unclipped objective와 clipped objective 중 작은 값을 취하는 새로운 surrogate objective function 설계 (Eq 7).
    • Novelty: TRPO의 복잡한 trust region 제약 대신, objective function 자체에 간단한 clipping 연산을 포함시켜 first-order optimization만으로 policy 업데이트 크기를 효과적으로 제한함. 이는 구현을 매우 단순화시킴.
  • Adaptive KL Penalty Objective 제안 (Contribution & Novelty):
    • Policy 업데이트 시 KL divergence에 penalty를 주되, penalty 계수 (β)를 목표 KL 값 (d_targ)에 도달하도록 동적으로 조절하는 방식 제안 (Eq 8).
    • Novelty: TRPO의 고정된 제약이나 기존의 고정된 KL penalty 방식과 달리, penalty 계수를 적응적으로 조절하여 다양한 문제와 학습 단계에 걸쳐 안정적인 KL divergence를 유지하려는 시도. (실험 결과 L^CLIP 보다는 성능이 낮았음)
  • Multiple Epochs of Minibatch Updates (Contribution & Novelty):
    • 한 번 샘플링된 데이터 (trajectory)에 대해 여러 epoch 동안 stochastic gradient ascent를 수행하여 surrogate objective를 최적화.
    • Novelty: Standard policy gradient는 샘플당 한 번의 업데이트만 가능했지만, PPO의 surrogate objective는 여러 번의 업데이트에도 안정적인 학습을 가능하게 하여 데이터 효율성을 크게 향상시킴.

Experimental Highlights

  • Surrogate Objective 비교 (Continuous Control, MuJoCo):
    • L^CLIP (ε=0.2) 방식이 No clipping/penalty, Adaptive KL penalty, Fixed KL penalty 방식들보다 평균적으로 가장 좋은 성능을 보임 (Table 1). 특히 No clipping/penalty는 매우 불안정한 결과 초래.
  • 타 알고리즘 비교 (Continuous Control, MuJoCo):
    • PPO (L^CLIP 사용)가 A2C, A2C+Trust Region, CEM, Vanilla PG (Adaptive), TRPO 등 강력한 베이스라인 알고리즘들보다 대부분의 MuJoCo 환경에서 더 우수한 성능을 보임 (Figure 3).
  • 복잡한 Continuous Control Task 시연 (Roboschool Humanoid):
    • PPO가 3D 휴머노이드 로봇의 달리기, 방향 전환, 넘어졌다 일어나기 등 고차원 연속 제어 문제에서도 성공적으로 학습함을 보임 (Figure 4, 5).
  • Atari Domain 비교:
    • PPO가 A2C보다 훨씬 우수한 성능을 보였고 (특히 학습 속도 측면, Table 2 (1)), 최종 성능 면에서는 ACER와 비슷하거나 약간 낮은 성능을 보였지만 구현은 훨씬 간단함 (Table 2 (2)). 49개 게임 중 학습 과정 전체 평균 점수 기준으로는 PPO가 30개 게임에서 승리 (ACER 18개, A2C 1개).

Limitations and Future Work

  • Limitations:
    • 논문에서 명시적으로 언급된 한계점은 적음.
    • Adaptive KL penalty 방식은 Clipped surrogate objective (L^CLIP) 보다 실험적으로 성능이 낮았음 (Section 4, 6.1).
    • Clipped surrogate objective의 하이퍼파라미터 ε 값에 따라 성능이 달라질 수 있음 (Table 1). (다만, 실험 결과 비교적 넓은 범위에서 잘 동작하는 것으로 보임)
  • Future Work:
    • 논문에서 명시적으로 향후 연구 방향을 제시하지는 않음. (다만, PPO의 성공은 더 복잡한 문제로의 확장, 이론적 분석 심화, 다른 RL 기법과의 결합 등 다양한 후속 연구의 기반을 마련함)

Overall Summary

PPO는 policy gradient 방법의 일종으로, 데이터 샘플링과 surrogate objective 최적화 단계를 번갈아 수행한다. 핵심 아이디어는 probability ratio를 clipping하는 간단한 surrogate objective (L^CLIP)를 사용하여, 여러 epoch에 걸친 minibatch 업데이트를 통해 데이터 효율성을 높이면서도 학습 안정성을 확보하는 것이다. 실험 결과, PPO는 기존의 복잡한 TRPO와 유사한 성능을 보이면서도 구현이 훨씬 간단하고, 연속 제어 및 Atari 환경 모두에서 강력한 성능을 입증하여 이후 강화학습 연구 및 응용에 널리 사용되는 핵심 알고리즘 중 하나가 되었다.

쉬운 설명

PPO의 핵심 아이디어는 강화학습 agent가 너무 급격하게 학습 방식을 바꾸는 것을 막는 것입니다. Agent가 어떤 행동을 했을 때 예상보다 훨씬 좋은 결과 (positive advantage)가 나왔다고 해서 다음부터 그 행동만 너무 많이 하려 하거나, 반대로 예상보다 훨씬 나쁜 결과 (negative advantage)가 나왔다고 해서 그 행동을 갑자기 전혀 안 하려고 하는 것을 방지합니다. 이를 위해 "probability ratio" (새 policy와 이전 policy가 같은 행동을 할 확률의 비율)가 특정 범위 (예: 0.8 ~ 1.2)를 벗어나지 않도록 "잘라내는 (clipping)" 장치를 목적 함수에 넣었습니다. 덕분에 agent는 여러 번 데이터를 복습하며 학습해도 (multiple epochs) 안정적으로 조금씩 개선될 수 있고, 이는 데이터를 더 효율적으로 사용하게 해줍니다. 마치 학생이 한 번의 시험 결과에 너무 일희일비하지 않고 꾸준히 학습 계획을 조정하며 발전하는 것과 비슷합니다.

 

 

 

 

 

 

Abstract

우리는 reinforcement learning을 위한 새로운 policy gradient methods family를 제안합니다. 이 방법은 environment와의 상호작용을 통해 data를 sampling하는 단계와 stochastic gradient ascent를 사용하여 “surrogate” objective function을 optimizing하는 단계를 번갈아 수행합니다.

standard policy gradient methods는 data sample당 하나의 gradient update를 수행하는 반면, 우리는 여러 epochs의 minibatch updates를 가능하게 하는 새로운 objective function을 제안합니다.

우리가 proximal policy optimization (PPO)라고 부르는 이 새로운 방법들은 trust region policy optimization (TRPO)의 일부 장점을 가지면서도, 구현하기 훨씬 간단하고, 더 일반적이며, 더 나은 sample complexity를 가집니다 (경험적으로).

우리의 실험은 simulated robotic locomotion 및 Atari game playing을 포함한 여러 benchmark tasks에서 PPO를 테스트하며, PPO가 다른 online policy gradient methods보다 성능이 뛰어나고, 전반적으로 sample complexity, 단순성, 그리고 wall-time 사이에서 유리한 균형을 이룬다는 것을 보여줍니다.

 

1 Introduction

최근 몇 년간, neural network function approximators를 사용하는 reinforcement learning을 위해 여러 다른 접근 방식들이 제안되었습니다. 주요 경쟁자로는 deep Q-learning, “vanilla” policy gradient methods, 그리고 trust region / natural policy gradient methods가 있습니다. 하지만, (large models 및 parallel implementations에 대해) scalable하고, data efficient하며, robust한 (hyperparameter tuning 없이 다양한 문제에서 성공적인) 방법을 개발하는 데에는 개선의 여지가 있습니다. Q-learning (function approximation 포함)은 많은 간단한 문제에서 실패하고¹ 잘 이해되지 않으며, vanilla policy gradient methods는 data effiency와 robustness가 낮습니다; 그리고 trust region policy optimization (TRPO)는 상대적으로 복잡하며, noise (dropout 등)나 (policy와 value function 간 또는 auxiliary tasks와의) parameter sharing을 포함하는 architectures와 호환되지 않습니다.

본 논문은 오직 first-order optimization만을 사용하면서 TRPO의 data efficiency와 신뢰성 있는 performance를 달성하는 algorithm을 소개함으로써 현재 상황을 개선하고자 합니다. 우리는 clipped probability ratios를 가진 새로운 objective를 제안하며, 이는 policy의 performance에 대한 pessimistic estimate (즉, lower bound)를 형성합니다. policies를 optimize하기 위해, 우리는 policy로부터 data를 sampling하는 것과 sampled data에 대해 여러 epochs의 optimization을 수행하는 것을 번갈아 합니다.

우리의 실험은 surrogate objective의 여러 다른 버전들의 performance를 비교하며, clipped probability ratios를 가진 버전이 가장 좋은 성능을 보인다는 것을 발견했습니다. 또한 우리는 PPO를 문헌의 여러 이전 algorithms와 비교합니다. continuous control tasks에서는 비교 대상 algorithms보다 더 나은 performance를 보입니다. Atari에서는 A2C보다 (sample complexity 측면에서) 상당히 더 나은 performance를 보이며, ACER와 유사하지만 훨씬 더 간단합니다.

 

 

PPO 논문 Introduction 정리노트 (AI 연구자용)

1. 배경 및 문제의식

  • 기존 reinforcement learning 방식들(deep Q-learning, vanilla policy gradient, TRPO 등)은 neural network function approximator와 함께 사용될 때 각각 한계점을 지님.
    • Deep Q-learning: 일부 간단한 문제에서도 실패하며, 이론적 이해 부족.
    • Vanilla Policy Gradient: Data efficiency 및 robustness (안정성) 부족.
    • Trust Region Policy Optimization (TRPO): Data efficiency와 성능은 우수하나, 구현이 복잡하고 dropout 같은 noise나 policy-value function 간 parameter sharing을 사용하는 architecture와 호환되지 않음.
  • 결론적으로, large models 및 parallel implementation에 scalable하고, data efficient하며, 별도 hyperparameter tuning 없이 다양한 문제에 robust하게 적용 가능한 RL algorithm이 필요함.

2. 논문 목표

  • TRPO의 장점인 data efficiency와 신뢰성 있는 performance를 달성하면서도, 구현이 간단하고 first-order optimization만을 사용하는 새로운 RL algorithm 제안.

3. 제안 방법: Proximal Policy Optimization (PPO)

  • 핵심 아이디어: Clipped probability ratios를 사용하는 새로운 형태의 surrogate objective function 도입.
    • 이 objective는 policy performance에 대한 **pessimistic estimate (보수적 추정치, 즉 lower bound)**를 형성하여, optimization 단계에서 policy가 너무 크게 변하는 것을 막아 학습 안정성 확보.
  • 학습 절차: Policy를 통해 environment와 상호작용하며 data를 sampling하는 단계와, 수집된 data를 사용하여 여러 epochs 동안 surrogate objective를 optimization하는 단계를 번갈아 수행.

4. 주요 결과 (서론 기준)

  • 여러 버전의 surrogate objective 중 clipped probability ratios를 사용한 버전이 가장 좋은 성능 보임.
  • Continuous control tasks에서 기존 비교 대상 algorithms 대비 우수한 성능 달성.
  • Atari 환경에서는 A2C보다 sample complexity 측면에서 훨씬 효율적이며, ACER와 비슷한 성능을 보이면서도 구현은 훨씬 간단함.

쉬운 설명:

이 논문의 Introduction에서는 기존에 AI가 스스로 학습하는 방법들(reinforcement learning)에 어떤 문제들이 있는지 이야기합니다. deep Q-learning이나 vanilla policy gradient 같은 방법들은 불안정하거나 학습 속도가 느린 문제가 있고, TRPO라는 좋은 방법은 있지만 너무 복잡하고 특정 neural network 구조(architectures)에서는 쓰기 어렵다는 단점이 있습니다.

그래서 이 논문은 **TRPO처럼 학습은 잘하면서도 훨씬 만들기 쉽고 쓰기 편한 새로운 방법(PPO)**을 제안합니다. PPO의 핵심은 AI의 행동 방식(policy)을 업데이트할 때, 너무 과격하게 변하지 않도록 **일종의 '안전장치'(clipped probability ratios objective)**를 두는 것입니다. 이렇게 하면 학습이 좀 더 안정적으로 진행됩니다. 학습 방식은 AI가 직접 경험해서 데이터(sampled data)를 모으고, 그 데이터를 가지고 여러 번 복습(epochs of optimization)한 다음, 다시 경험을 쌓으러 가는 과정을 반복하는 식입니다.

이 논문의 저자들은 자신들이 만든 PPO가 로봇 조종(continuous control tasks) 같은 문제에서 다른 방법들보다 더 잘 작동하고, Atari 게임에서는 ACER라는 복잡한 방법만큼 빠르게 배우면서도 훨씬 간단하다고 소개합니다.

 

 

 

 

 

2 Background: Policy Optimization

2.1 Policy Gradient Methods

Policy gradient methods는 policy gradient의 estimator를 계산하고 이를 stochastic gradient ascent algorithm에 적용하여 작동합니다. 가장 일반적으로 사용되는 gradient estimator는 다음과 같은 형태를 가집니다:

\hat{g} = \hat{\mathbb{E}}_{t} \left[ \nabla_{\theta} \log \pi_{\theta} (a_t \mid s_t) \hat{A}_t \right]

여기서 \pi_{\theta}는 stochastic policy이고 \hat{A}_t는 timestep t에서의 advantage function의 estimator입니다. 여기서 expectation \hat{\mathbb{E}}_t[\dots]는 sampling과 optimization을 번갈아 수행하는 algorithm에서, 유한한 batch의 samples에 대한 empirical average를 나타냅니다. Automatic differentiation software를 사용하는 Implementations는 gradient가 policy gradient estimator인 objective function을 구성하여 작동합니다; estimator \hat{g}는 objective를 differentiating하여 얻어집니다:

L^{PG}(\theta) = \hat{\mathbb{E}}_{t} \left[ \log \pi_{\theta}(a_{t} \ | \ s_{t}) \hat{A}_{t} \right]

동일한 trajectory를 사용하여 이 loss L^{PG}에 대해 여러 optimization 단계를 수행하는 것이 매력적으로 보일 수 있지만, 이는 이론적으로 잘 정당화되지 않으며 경험적으로 파괴적으로 큰 policy updates를 초래하는 경우가 많습니다 (섹션 6.1 참조; 결과는 표시되지 않았지만 "no clipping or penalty" 설정과 유사하거나 더 나빴습니다).

2.2 Trust Region Methods

TRPO에서는 objective function("surrogate" objective)이 policy update의 크기에 대한 constraint 하에서 maximized됩니다. 구체적으로는 다음과 같습니다:

\begin{aligned} & \underset{\theta}{\text { maximize }} \hat{\mathbb{E}}_{t}\left[\frac{\pi_{\theta}\left(a_{t} \mid s_{t}\right)}{\pi_{\theta_{\text {old }}}\left(a_{t} \mid s_{t}\right)} \hat{A}_{t}\right] \\ & \text { subject to } \hat{\mathbb{E}}_{t}\left[\operatorname{KL}\left[\pi_{\theta_{\text {old }}}\left(\cdot \mid s_{t}\right), \pi_{\theta}\left(\cdot \mid s_{t}\right)\right]\right] \leq \end{aligned}

여기서 \theta_{old}는 업데이트 전의 policy parameters 벡터입니다. 이 문제는 objective에 대한 linear approximation과 constraint에 대한 quadratic approximation을 적용한 후 conjugate gradient algorithm을 사용하여 효율적으로 근사 해를 구할 수 있습니다.

TRPO를 정당화하는 theory는 사실 constraint 대신 penalty를 사용할 것을 제안합니다. 즉, 제약 없는 optimization 문제를 푸는 것입니다:

\underset{\theta}{\text{maximize }} \hat{\mathbb{E}}_{t} \Big[ \frac{\pi_{\theta}(a_t \ | \ s_t)}{\pi_{\theta_{\text{old}}}(a_t \ | \ s_t)} \hat{A}_t - \beta \text{ KL}[\pi_{\theta_{\text{old}}}(\cdot \ | \ s_t), \pi_{\theta}(\cdot \ | \ s_t)] \Big]

여기서 \beta는 어떤 coefficient입니다. 이는 (mean 대신 states에 대한 max KL을 계산하는) 특정 surrogate objective가 policy \pi의 performance에 대한 lower bound (즉, pessimistic bound)를 형성한다는 사실에서 비롯됩니다. TRPO가 penalty 대신 hard constraint를 사용하는 이유는 여러 다른 문제에 걸쳐 좋은 성능을 내는 단일 \beta 값을 선택하기 어렵기 때문입니다 — 심지어 learning 과정 동안 특성이 변하는 단일 문제 내에서도 마찬가지입니다. 따라서 TRPO의 monotonic improvement를 모방하는 first-order algorithm이라는 우리의 목표를 달성하기 위해, 실험 결과 단순히 고정된 penalty coefficient \beta를 선택하고 SGD로 식 (5)의 penalized objective를 optimize하는 것만으로는 충분하지 않으며 추가적인 modifications이 필요하다는 것을 보여줍니다.

 

 

 

Policy Optimization 배경지식 정리노트 (AI 연구자용)

1. Policy Gradient (PG) Methods (섹션 2.1)

  • 핵심 원리: Policy gradient (\hat{g})의 estimator를 계산하여 stochastic gradient ascent로 policy (\pi_{\theta})를 업데이트. Gradient estimator는 주로 다음과 같은 형태를 사용: \hat{g} = \hat{\mathbb{E}}_{t} \left[ \nabla_{\theta} \log \pi_{\theta} (a_t \mid s_t) \hat{A}_t \right] (여기서 \hat{A}_t는 advantage function의 estimator)
  • Objective Function: Automatic differentiation을 위해 gradient가 위 estimator와 동일한 objective function (L^{PG}(\theta))을 정의하여 사용: L^{PG}(\theta) = \hat{\mathbb{E}}_{t} \left[ \log \pi_{\theta}(a_{t} \ | \ s_{t}) \hat{A}_{t} \right]
  • 주요 한계점: 동일 trajectory (sampled data)를 사용하여 L^{PG}에 대해 여러 optimization 단계를 수행하면, 이론적 근거가 부족하고 경험적으로 매우 큰 policy update를 유발하여 학습을 망칠 수 있음. (이는 PPO가 여러 epochs의 optimization을 가능하게 하는 이유 중 하나)

2. Trust Region Policy Optimization (TRPO) (섹션 2.2)

  • 핵심 원리: Policy 변경 크기에 대한 constraint (제약 조건) 하에서 "surrogate" objective function을 maximize하여 policy를 안정적으로 업데이트.
  • 최적화 문제: Objective: \underset{\theta}{\text { maximize }} \hat{\mathbb{E}}_{t}\left[\frac{\pi_{\theta}\left(a_{t} \mid s_{t}\right)}{\pi_{\theta_{\text {old }}}\left(a_{t} \mid s_{t}\right)} \hat{A}_{t}\right] Constraint: \hat{\mathbb{E}}_{t}\left[\operatorname{KL}\left[\pi_{\theta_{\text {old }}}\left(\cdot \mid s_{t}\right), \pi_{\theta}\left(\cdot \mid s_{t}\right)\right]\right] \leq (KL 발산으로 policy 변화량 측정)
  • 해결 방법: Objective의 linear approximation과 constraint의 quadratic approximation을 통해 conjugate gradient algorithm으로 근사적으로 해결 (상대적으로 복잡).
  • 이론적 배경 (Constraint vs. Penalty):
    • TRPO의 이론은 사실 constraint 대신 KL divergence에 penalty (coefficient \beta 사용)를 부과하는 제약 없는 optimization 문제로 정식화 가능함을 시사: \underset{\theta}{\text{maximize }} \hat{\mathbb{E}}_{t} \Big[ \frac{\pi_{\theta}(a_t \ | \ s_t)}{\pi_{\theta_{\text{old}}}(a_t \ | \ s_t)} \hat{A}_t - \beta \text{ KL}[\pi_{\theta_{\text{old}}}(\cdot \ | \ s_t), \pi_{\theta}(\cdot \ | \ s_t)] \Big]
    • 이는 특정 surrogate objective가 policy performance의 lower bound (pessimistic bound)를 제공한다는 점에서 유도됨.
    • 하지만 TRPO는 hard constraint를 사용하는데, 이는 문제나 학습 단계에 따라 달라지는 최적의 고정 penalty coefficient (\beta)를 찾기 어렵기 때문임.
  • 주요 한계점 (PPO로의 연결고리): 단순히 고정된 \beta를 사용한 penalized objective를 SGD 같은 first-order method로 optimize하는 것만으로는 TRPO의 monotonic improvement (성능이 꾸준히 개선되는 특성)를 보장하기 어려움. 따라서 TRPO의 장점을 가지면서 first-order optimization을 사용하려면 추가적인 modifications이 필요함 (이것이 PPO가 제안하는 것).

쉬운 설명:

이 섹션에서는 PPO라는 새로운 방법을 이해하기 위해 알아야 할 기존의 두 가지 reinforcement learning 방법, 즉 Policy Gradient (PG) 방법Trust Region Policy Optimization (TRPO)에 대해 설명합니다.

1. Policy Gradient (PG) 방법: AI(agent)가 어떤 행동을 했을 때 얼마나 좋았는지(advantage, \hat{A}_t)를 보고, 그 정보를 이용해서 AI의 행동 전략(policy, \pi_{\theta})을 조금씩 더 좋은 방향으로 업데이트하는 가장 기본적인 방법입니다. 수학적으로는 gradient (\hat{g})라는 '어느 방향으로 업데이트해야 가장 좋아질까?'를 계산해서 적용하는 거죠. 그런데 여기서 문제가 하나 있습니다. AI가 한 번 겪은 경험(trajectory)을 가지고 너무 여러 번 전략을 업데이트(multiple optimization steps)하려고 하면, 전략이 너무 크게 바뀌어서 오히려 학습이 망가질 수 있다는 겁니다 (destructively large policy updates).

2. Trust Region Policy Optimization (TRPO): TRPO는 PG의 이런 문제를 해결하기 위해 나왔습니다. "전략을 업데이트해서 더 좋아지도록 하되, 한 번에 너무 많이 바꾸지는 마!"라고 제한(constraint)을 거는 방식입니다. '신뢰 영역(Trust Region)'이라는 이름처럼, 현재 전략에서 크게 벗어나지 않는 안전한 범위 안에서만 업데이트를 하는 거죠. 이 변화량은 KL 발산(KL divergence)이라는 수학적 도구로 측정합니다. 이렇게 하면 학습이 훨씬 안정적이 됩니다. 하지만 TRPO는 계산이 좀 복잡하다는 단점이 있습니다 (conjugate gradient 사용). 이론적으로는 변화량에 제한을 거는 대신 벌점(penalty, \beta 사용)을 주는 방식으로도 비슷하게 할 수 있는데, 이 벌점을 얼마나 세게 줘야 할지(\beta 값 설정)가 상황마다 달라서 어렵습니다. 그래서 TRPO는 그냥 확실하게 선을 긋는 제한(hard constraint) 방식을 씁니다. 하지만 이 벌점 방식을 단순하게(SGD 사용) 적용하면 TRPO만큼 꾸준히 성능이 좋아지는(monotonic improvement) 것을 보장하기 어렵습니다.

결론: PG는 간단하지만 한 번의 경험으로 여러 번 업데이트하기 어렵고, TRPO는 안정적이지만 복잡하고 벌점 방식 적용이 까다롭습니다. 이 섹션은 이런 배경 지식을 설명하며, PPO가 바로 이런 문제들(여러 번 업데이트 가능, TRPO의 안정성, first-order 방식의 단순함)을 해결하려는 시도임을 암시합니다.

 

 

더보기

 

  • 배치 데이터로 여러 번 업데이트: PPO는 한 번 수집한 data (batch 또는 trajectory)를 버리지 않고, 그 data를 가지고 여러 epoch (즉, 여러 번 반복해서) policy를 업데이트합니다. 이는 data를 더 효율적으로 사용하기 위함입니다 (data efficiency 향상). (표준적인 Policy Gradient는 보통 한 batch 당 한 번만 업데이트하는 경우가 많습니다.)
  • 과도한 업데이트 방지 → Clipping 도입: 그런데 그냥 여러 번 업데이트하면 policy가 너무 급격하게 변해서 학습이 불안정해질 수 있습니다 (이것이 표준 PG의 문제점이었습니다). TRPO는 이를 복잡한 constraint로 막았지만, PPO는 더 간단하게 objective function 자체에 "clipping"이라는 메커니즘을 도입해서 policy가 이전 버전과 너무 많이 달라지지 않도록 제한합니다. 즉, 업데이트 크기에 상한선을 두는 것과 비슷합니다.

 

 

 

3 Clipped Surrogate Objective

더보기

probability ratio r_t(\theta) = \frac{\pi_\theta(a_t | s_t)}{\pi_{\theta_{old}}(a_t | s_t)} 라고 정의합시다. 따라서 r(\theta_{old}) = 1 입니다. TRPO는 "surrogate" objective를 maximize합니다:

L^{CPI}(\theta) = \hat{\mathbb{E}}_t \left[ \frac{\pi_\theta(a_t \mid s_t)}{\pi_{\theta_{old}}(a_t \mid s_t)} \hat{A}_t \right] = \hat{\mathbb{E}}_t \left[ r_t(\theta) \hat{A}_t \right].

여기서 위첨자 CPI는 이 objective가 제안된 conservative policy iteration을 나타냅니다. constraint가 없다면, L^{CPI}의 maximization은 과도하게 큰 policy update로 이어질 것입니다; 따라서 이제 우리는 r_t(\theta)가 1에서 멀어지는 policy 변화에 penalize를 가하도록 objective를 어떻게 수정할지 고려합니다.

우리가 제안하는 주요 objective는 다음과 같습니다:

L^{CLIP}(\theta) = \hat{\mathbb{E}}_{t} \left[ \min(r_{t}(\theta) \hat{A}_{t}, \text{clip}(r_{t}(\theta), 1 - \epsilon, 1 + \epsilon) \hat{A}_{t}) \right]

여기서 \epsilon은 hyperparameter이며, 예를 들어 \epsilon = 0.2 입니다. 이 objective에 대한 motivation은 다음과 같습니다. min 안의 첫 번째 term은 L^{CPI} 입니다. 두 번째 term, clip(r_t(\theta), 1 - \epsilon, 1 + \epsilon) \hat{A}_t는 probability ratio를 clipping함으로써 surrogate objective를 수정하며, 이는 r_t가 구간 [1 - \epsilon, 1 + \epsilon] 밖으로 벗어나도록 만들 incentive를 제거합니다. 마지막으로, 우리는 clipped objective와 unclipped objective 중 minimum 값을 취하므로, final objective는 unclipped objective에 대한 lower bound (즉, pessimistic bound)가 됩니다. 이 scheme을 사용하면, probability ratio의 변화가 objective를 개선시킬 때만 이를 무시하고, objective를 악화시킬 때는 이를 포함합니다. L^{CLIP}(\theta)는 \theta_{old} 주변 (즉, r = 1인 지점)에서의 first order에서는 L^{CPI}(\theta)와 같지만, \theta가 \theta_{old}에서 멀어짐에 따라 달라진다는 점에 유의하십시오. Figure 1은 L^{CLIP}의 단일 term (즉, 단일 t)을 보여줍니다; advantage가 양수인지 음수인지에 따라 probability ratio r이 1 - \epsilon 또는 1 + \epsilon에서 clipped된다는 점에 주목하십시오.

 

Clipped Surrogate Objective 정리노트 (AI 연구자용)

1. 기본 개념 및 용어 정의

  • Probability Ratio: r_t(\theta) = \frac{\pi_\theta(a_t | s_t)}{\pi_{\theta_{old}}(a_t | s_t)}. 현재 policy (\pi_\theta)와 이전 policy (\pi_{\theta_{old}})가 특정 상태(s_t)에서 특정 행동(a_t)을 할 확률의 비율. policy 변화량을 측정. r(\theta_{old}) = 1.
  • Standard Surrogate Objective (TRPO/CPI Objective): L^{CPI}(\theta) = \hat{\mathbb{E}}_t [ r_t(\theta) \hat{A}_t ]. TRPO 등에서 사용하는 기본적인 objective. constraint 없이 maximize하면 불안정하고 과도한 policy update 발생 위험.

2. PPO Clipped Surrogate Objective (L^{CLIP}) 정의

  • 핵심 아이디어: Policy 변화 (r_t(\theta))가 특정 범위 [1 - \epsilon, 1 + \epsilon]를 벗어나지 않도록 objective 자체를 수정하여 policy update를 제한 (clipping).
  • Objective Function: L^{CLIP}(\theta) = \hat{\mathbb{E}}_{t} \left[ \min(r_{t}(\theta) \hat{A}_{t}, \text{clip}(r_{t}(\theta), 1 - \epsilon, 1 + \epsilon) \hat{A}_{t}) \right]
    • \epsilon: Clipping 범위를 조절하는 hyperparameter (논문 예시: 0.2).
    • \text{clip}(r_{t}(\theta), 1 - \epsilon, 1 + \epsilon): r_t(\theta) 값을 [1 - \epsilon, 1 + \epsilon] 범위 내로 강제 제한하는 함수.
    • \min(...): 원본 objective term (r_t(\theta)\hat{A}_t)과 clipped objective term (\text{clip}(...)\hat{A}_t) 중 더 작은 값을 선택.

3. L^{CLIP}의 작동 원리 및 Motivation

  • 목표: TRPO의 복잡한 constraint 대신, objective function 수정을 통해 policy가 급격히 변하는 것을 방지하고 안정적인 학습 (multiple epochs 가능)을 추구.
  • Clipping의 역할: probability ratio r_t(\theta)가 1 - \epsilon 보다 작아지거나 1 + \epsilon 보다 커지려는 incentive를 제거. 즉, policy가 이전 policy에서 너무 멀리 벗어나는 것을 막음.
  • Min 함수의 역할 (Pessimistic Bound):
    • 항상 clipped term과 unclipped term 중 작은 값을 취함으로써, L^{CLIP}는 L^{CPI}에 대한 lower bound (보수적 추정치) 역할을 함.
    • Objective를 개선하는 방향으로 ratio가 크게 변할 때는 clipping된 작은 값을 취해 업데이트를 제한하고 (conservative), objective를 악화시키는 방향으로 ratio가 크게 변할 때는 clipping되지 않은 (더 나쁜) 값을 취해 그 효과를 반영함.
  • Advantage (\hat{A}_t) 부호의 중요성:
    • \hat{A}_t > 0 (긍정적 advantage): r_t(\theta)가 1 + \epsilon 보다 커지려 할 때 clipping 발생. 즉, 좋은 방향으로 너무 많이 변하는 것을 막음.
    • \hat{A}_t < 0 (부정적 advantage): r_t(\theta)가 1 - \epsilon 보다 작아지려 할 때 clipping 발생. 즉, 나쁜 방향으로 너무 많이 변하는 것도 막음 (단, min 함수 때문에 실제로는 r_t(\theta)\hat{A}_t 값이 더 작으면 그 값을 사용).
  • L^{CPI}와의 관계: \theta \approx \theta_{old} (즉, r_t \approx 1) 근방에서는 L^{CLIP} \approx L^{CPI} 이지만, policy가 멀어질수록 차이가 발생.

쉬운 설명:

이전 섹션에서 AI의 행동 전략(policy)을 업데이트할 때 너무 크게 바꾸면 학습이 불안정해질 수 있다고 했죠? TRPO는 이걸 복잡한 '제한선'(constraint)으로 막았는데, PPO는 더 간단한 방법을 씁니다. 바로 업데이트 목표치 자체에 '클리핑(clipping)'이라는 안전장치를 다는 것입니다.

  1. 비율 계산: 먼저, AI의 새 전략이 이전 전략에 비해 특정 행동을 할 확률이 얼마나 변했는지 비율(r_t(\theta))로 계산합니다. 이 비율이 1이면 변화가 없는 거고, 크면 확률이 높아진 것, 작으면 낮아진 겁니다.
  2. 기본 목표: 원래는 이 비율(r_t(\theta))과 그 행동이 얼마나 좋았는지(advantage, \hat{A}_t)를 곱해서, 이 값을 최대한 높이려고 합니다 (L^{CPI}).
  3. PPO의 클리핑 마법 (L^{CLIP}):
    • PPO는 여기서 한 가지 규칙을 추가합니다. "비율(r_t(\theta))이 너무 커지거나 너무 작아지는 건 좀 위험하니, 특정 범위(예: 0.8 ~ 1.2, 여기서 \epsilon=0.2) 안에 있도록 강제로 제한하자!" 이것이 clip 함수의 역할입니다.
    • 그 다음, PPO는 두 가지 값을 비교합니다.
      • 값 1: 원래 목표값 (r_t(\theta) * \hat{A}_t)
      • 값 2: 비율을 강제로 제한(clip)한 뒤 계산한 목표값 (clip(r_t(\theta), ...) * \hat{A}_t)
    • PPO는 이 두 값 중 더 작은 값을 최종 목표(L^{CLIP})로 선택합니다 (min 함수).
  4. 왜 더 작은 값을? (안전 제일!): 이렇게 하면 AI가 갑자기 너무 좋아질 것 같은 큰 변화(큰 r_t와 양수 \hat{A}_t)를 시도할 때는 제한된(clipped) 작은 값을 목표로 삼아 조금만 변경하고, 반대로 큰 변화가 오히려 안 좋은 결과(큰 r_t와 음수 \hat{A}_t)를 낳을 것 같을 때는 제한되지 않은 더 나쁜 값을 목표로 삼아 그 위험성을 충분히 반영합니다. 즉, 매우 보수적이고 안정적인 업데이트를 하게 됩니다.

결론적으로, 이 L^{CLIP}이라는 영리한 목표 함수 덕분에 PPO는 TRPO처럼 복잡한 계산 없이도, 한 번의 경험 데이터로 여러 번 안정적으로 학습을 진행할 수 있게 됩니다.