📌 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 |
---|