728x90
🚦 PPO의 핵심 개념
PPO는 정책 최적화(Policy Optimization) 방식을 사용하며, **신뢰 영역(Trust Region)**을 유지(정책 업데이트 폭을 조절)하면서 정책을 업데이트하는 데 중점을 둡니다. 주요 특징은 다음과 같습니다:
- 정책 기반 학습(Policy-Based Learning)
- 액션을 직접적으로 출력하는 **정책 πθ(a|s)**를 학습합니다.
- 가치 기반(Value-Based) 알고리즘과 달리, 정책(Policy) 자체를 최적화합니다.
- 클리핑(Clipping) 기법 사용
- 기존의 TRPO는 KL Divergence를 사용해 정책 업데이트 폭을 제한했지만, PPO는 이를 **클리핑(Clipping)**으로 대체하여 복잡한 계산을 줄였습니다.
- 손실 함수를 클리핑하여 정책 변화 폭을 제한함으로써 학습의 안정성을 높입니다.
📐 PPO의 손실 함수(Loss Function)
PPO에서는 기존 정책(πθ_old)과 새로운 정책(πθ)의 비율인 **확률 비율(r(θ))**을 사용하여 손실 함수를 정의합니다.
PPO의 손실 함수는 클립(Clip) 기법을 사용하여 다음과 같이 정의됩니다:
- r(θ): 새로운 정책과 기존 정책의 비율
- A^t\hat{A}_t: 어드밴티지(Advantage) 값
- ϵ\epsilon: 클리핑 범위 (일반적으로 0.1 ~ 0.2)
**클립 함수(Clip)**는 정책의 변화 비율이 1±ε 범위를 넘어가지 않도록 합니다. 이를 통해 큰 정책 변화로 인한 학습 불안정성을 막을 수 있습니다.
🧠 PPO의 주요 단계
- 환경과의 상호작용
- 에이전트가 환경에서 **다양한 상태(state)와 보상(reward)**을 수집합니다.
- 어드밴티지 추정(Advantage Estimation)
- GAE(Generalized Advantage Estimation) 기법을 사용해 어드밴티지를 계산합니다.
- 정책 업데이트
- **손실 함수(LCLIP)**를 최소화하도록 **정책 네트워크(Policy Network)**를 업데이트합니다.
- 여러 에포크(epoch)에 걸쳐 미니배치(Mini-batch) 학습을 수행합니다.
- 반복 수행
- 정책을 일정 횟수 업데이트한 후, 다시 환경과 상호작용하며 새로운 데이터를 수집합니다.
🎯 PPO의 장점과 단점
✅ 장점:
- 간결하고 안정적: TRPO의 복잡한 제약 조건을 클리핑으로 대체하여 구현이 쉽습니다.
- 좋은 성능: 많은 강화학습 환경에서 SOTA(State of the Art) 성능을 보여줍니다.
- 범용성: 연속적, 이산적 액션 스페이스 모두에서 사용 가능합니다.
❌ 단점:
- 샘플 비효율성: 정책 기반 알고리즘의 특성상 **샘플 효율(sample efficiency)**이 낮습니다.
- 민감한 하이퍼파라미터: 클리핑 범위(ε), 학습률 등 하이퍼파라미터 튜닝이 필요합니다.
💡 PPO와 다른 정책 최적화 알고리즘 비교
알고리즘학습 방식주요 특징구현 난이도성능 안정성
REINFORCE | 정책 기반 | 단순하지만 고변동성 | 매우 쉬움 | 낮음 |
A2C/A3C | Actor-Critic | 병렬 학습 지원 | 보통 | 보통 |
TRPO | 신뢰 영역 정책 최적화 | 신뢰 영역 유지 | 어려움 | 매우 안정적 |
PPO | 클리핑 정책 최적화 | 클리핑을 통한 안정화 | 쉬움 | 높음 |
📈 PPO의 활용 사례
- 게임 AI: OpenAI의 Dota 2 AI 학습에 사용
- 로봇 제어: 시뮬레이션 및 실제 로봇의 모터 제어
- 금융: 강화학습을 통한 포트폴리오 최적화
728x90
'AI > 강화학습' 카테고리의 다른 글
8. [OPENAI] Part 2: Kinds of RL Algorithms (0) | 2025.02.04 |
---|---|
7. [OPENAI] Part 1: Key Concepts in RL (0) | 2025.01.24 |
6. [OPENAI] Plotting Results (0) | 2025.01.23 |
5. [OPENAI] Experiment Outputs (1) | 2025.01.22 |
4. [OPENAI] Running Experiments (0) | 2025.01.21 |