AI/강화학습

PPO(Proximal Policy Optimization Algorithms) 알고리즘

보안매크로 2025. 2. 25. 10:28
728x90

🚦 PPO의 핵심 개념

PPO는 정책 최적화(Policy Optimization) 방식을 사용하며, **신뢰 영역(Trust Region)**을 유지(정책 업데이트 폭을 조절)하면서 정책을 업데이트하는 데 중점을 둡니다. 주요 특징은 다음과 같습니다:

  1. 정책 기반 학습(Policy-Based Learning)
    • 액션을 직접적으로 출력하는 **정책 πθ(a|s)**를 학습합니다.
    • 가치 기반(Value-Based) 알고리즘과 달리, 정책(Policy) 자체를 최적화합니다.
  2. 클리핑(Clipping) 기법 사용
    • 기존의 TRPOKL 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의 주요 단계

  1. 환경과의 상호작용
    • 에이전트가 환경에서 **다양한 상태(state)와 보상(reward)**을 수집합니다.
  2. 어드밴티지 추정(Advantage Estimation)
    • GAE(Generalized Advantage Estimation) 기법을 사용해 어드밴티지를 계산합니다.
  3. 정책 업데이트
    • **손실 함수(LCLIP)**를 최소화하도록 **정책 네트워크(Policy Network)**를 업데이트합니다.
    • 여러 에포크(epoch)에 걸쳐 미니배치(Mini-batch) 학습을 수행합니다.
  4. 반복 수행
    • 정책을 일정 횟수 업데이트한 후, 다시 환경과 상호작용하며 새로운 데이터를 수집합니다.

🎯 PPO의 장점과 단점

장점:

  • 간결하고 안정적: TRPO의 복잡한 제약 조건을 클리핑으로 대체하여 구현이 쉽습니다.
  • 좋은 성능: 많은 강화학습 환경에서 SOTA(State of the Art) 성능을 보여줍니다.
  • 범용성: 연속적, 이산적 액션 스페이스 모두에서 사용 가능합니다.

단점:

  • 샘플 비효율성: 정책 기반 알고리즘의 특성상 **샘플 효율(sample efficiency)**이 낮습니다.
  • 민감한 하이퍼파라미터: 클리핑 범위(ε), 학습률 등 하이퍼파라미터 튜닝이 필요합니다.

💡 PPO와 다른 정책 최적화 알고리즘 비교

알고리즘학습 방식주요 특징구현 난이도성능 안정성

REINFORCE 정책 기반 단순하지만 고변동성 매우 쉬움 낮음
A2C/A3C Actor-Critic 병렬 학습 지원 보통 보통
TRPO 신뢰 영역 정책 최적화 신뢰 영역 유지 어려움 매우 안정적
PPO 클리핑 정책 최적화 클리핑을 통한 안정화 쉬움 높음

📈 PPO의 활용 사례

  • 게임 AI: OpenAI의 Dota 2 AI 학습에 사용
  • 로봇 제어: 시뮬레이션 및 실제 로봇의 모터 제어
  • 금융: 강화학습을 통한 포트폴리오 최적화
728x90