개발/AI

강화학습 알고리즘의 GRPO, PPO

2realzoo 2025. 6. 27. 18:24

 

📌 GRPO, PPO는 강화학습의 무엇인가?

✔️ GRPO(Group Relative Policy Optimization)PPO(Proximal Policy Optimization)
👉 강화학습(RL)에서 정책 최적화(Policy Optimization)를 위한 대표적인 알고리즘들입니다.

  • 강화학습의 큰 목표는 에이전트(agent)가 환경과 상호작용하며 정책(policy)을 학습해
    → 주어진 상태에서 어떤 행동을 취해야 누적 보상(reward)이 최대가 될지를 배우는 것.
  • 정책 최적화 계열 알고리즘은 policy 기반으로 학습을 진행해,
    → 직접 행동의 확률 분포를 모델링하고 이를 업데이트함으로써
    → 환경에서의 성능을 지속적으로 개선합니다.
  • PPO와 GRPO는 이 정책 최적화의 구체적인 방법론에 해당합니다.

✅ PPO와 Critic

먼저 PPO(Proximal Policy Optimization)에서는 보통

  • 에이전트의 policy(정책)를 업데이트할 때,
  • critic(밸류 모델)을 사용해 현재 상태에서 기대되는 보상값 V를 추정합니다.
  • advantage A는 실제 보상 R과 이 V의 차이로 계산되죠:A=R−VA = R - V

이 V(critic)가 학습되어야 하기 때문에 PPO는 policy 네트워크 + value 네트워크(critic)를 동시에 학습합니다.


✅ GRPO와 Critic 제거

GRPO는 critic 모델을 아예 사용하지 않습니다. critic 없이 advantage를 계산하려면 baseline(기준점)이 필요합니다. GRPO는 이 baseline을 개별 trajectory(답변 샘플) 단위가 아니라, 그룹 단위로 계산합니다.
여기서 그룹 G(τ)는 같은 batch에 들어간 여러 응답 묶음이라고 생각하시면 돼요.


👇 GRPO의 Advantage 계산 핵심

  • 우선 trajectory 하나 τ의 실제 보상은 R_τ.
  • 이 trajectory τ와 같은 그룹 G(τ)에 속한 다른 trajectory들의 보상 {R_i}의 평균과 표준편차를 계산합니다.
  • 그리고 advantage를 이렇게 추정합니다: $$A(τ)=Rτ−mean({Ri}i∈G(τ))std({Ri}i∈G(τ))A(\tau) = \frac{R_\tau - \text{mean}(\{R_i\}_{i\in G(\tau)})}{\text{std}(\{R_i\}_{i\in G(\tau)})} $$

즉, critic 없이도 같은 그룹 안에서 상대적으로 얼마나 보상이 높은지를 정규화해서 advantage로 사용하는 거예요.


✅ 목적 함수 이해

GRPO의 목적 함수는 PPO와 거의 같은 형태로,

  • 현재 정책의 확률 비율 $$ rθ(τ)=πθ(τ)πold(τ)r_\theta(\tau) = \frac{\pi_\theta(\tau)}{\pi_{\text{old}}(\tau)} $$을 구하고,
  • advantage와 곱해 policy를 업데이트합니다.
  • 단, PPO의 핵심 기법인 clip을 그대로 사용해서 policy가 한 번에 너무 급격히 변하지 않도록 합니다: $$ LGRPO(θ)=Eτ∼πθ[min⁡(rθ(τ)A(τ),clip(rθ(τ),1−ϵ,1+ϵ)A(τ))]L_{GRPO}(\theta) = \mathbb{E}_{\tau \sim \pi_\theta}\left[\min\left(r_\theta(\tau)A(\tau), \text{clip}(r_\theta(\tau), 1-\epsilon, 1+\epsilon)A(\tau)\right)\right] $$

🎯 GRPO의 장점

  • critic을 학습할 필요 없이, 같은 그룹 내 상대 성과로 advantage를 계산하니 구현이 간단하고 안정적입니다.
  • critic이 잘못 학습돼서 발생하는 variance나 bias 문제를 피할 수 있습니다.
  • reward variance가 큰 환경에서도 그룹 내 정규화를 통해 안정적으로 policy를 업데이트할 수 있습니다.

📌 핵심 정리

✔ PPO:

  • critic으로 상태별 value를 예측하고 advantage는 A = R - V 형태로 계산.

✔ GRPO:

  • critic 없이, 같은 그룹 내 샘플들의 보상 평균과 표준편차로 advantage를 추정해 policy를 업데이트.

📌 PPO, GRPO 비교

항목 PPO GRPO

🎯 개념 Proximal Policy Optimization Group Relative Policy Optimization
⚙️ 핵심 목적 정책이 한 번에 너무 크게 바뀌지 않도록 제한(clip)하면서 policy gradient를 안정적으로 최적화 critic 없이 그룹 내 상대적인 보상을 기반으로 advantage를 계산해 policy를 업데이트
🛠 Advantage 계산 critic(V)를 학습해 A=R-V로 계산 그룹 내 샘플들의 보상 평균/표준편차를 사용해 advantage 계산: A=(R-mean)/std
🧮 구현 특징 critic(밸류 네트워크)와 policy 네트워크를 동시에 학습해야 함 critic이 필요 없어 구현이 간단, reward variance가 큰 환경에서도 robust
🔒 정책 제한 clip을 통해 policy 업데이트 폭 제한(1-ε~1+ε 범위로 확률 비율 r clip) clip은 사용하지만, advantage 계산에서 critic을 배제하고 그룹 기반 baseline 사용
💡 장점 대부분의 환경에 범용적으로 잘 작동, SOTA 성능으로 RL의 표준 알고리즘 중 하나 critic 불필요 → critic 불안정성 문제 해소, 학습 안정성 우수, 그룹 상대 평가로 variance 완화
⚠️ 단점 critic 학습에 따라 성능 변동이 심할 수 있음 그룹의 크기나 구성이 적절하지 않으면 advantage 추정 품질이 낮아질 수 있음

✅ 한 줄 요약

🟢 PPO: critic을 통해 advantage를 추정 → 안정적이지만 critic 품질에 민감함
🔵 GRPO: critic 없이 그룹 내 상대 보상으로 advantage 추정 → critic 없이도 정책 최적화 가능, 간단하고 robust

 

'개발 > AI' 카테고리의 다른 글

ComfyUI 설치, FLUX 사용법  (2) 2024.09.24