1 minute read

강화학습의 PPO(Proximal Policy Optimization) 개념을 공부하면서 내 입맛대로 정리한 내용

특징

  1. 소비했던 데이터를 다시 쓰기(데이터 재사용)
  2. Episode가 끝난 뒤 결과를 반영하는데 아니라, step단위로 학습에 반영하기

Reinforcement Learning에서의 목표함수 Expected Reward 함수 (최대화)
스크린샷 2023-04-11 오전 3 31 31

PPO는 TRPO에서 파생된 알고리즘

TRPO는 이전 스텝의 파라미터($θ_{old}$)와 현재 스텝의 파라미터(θ)간의 차이를 이용하며
이 차이가 매우 클 경우 제한을 주어 신뢰구간(Trust Region)내에서의 업데이트를 수행
스크린샷 2023-04-11 오전 3 50 13

  • $\pi_\theta$ : stochastic policy
  • $A_t$ : 가치를 평가하는 네트워크에 의해 t의 시점에서 추정되는 Advantage

하지만 TRPO에서는 constraint optimization 문제를 해결하는데 컴퓨터에게 많은 연산량을 요구함

TRPO의 단점을 Clipping 기법으로 보완

PPO에서는 surrogate function을 업데이트할 때 신뢰 구간을 강제적으로 Clipping 기법으로 설정함으로써 연산량을 줄임
스크린샷 2023-04-11 오전 3 47 34
스크린샷 2023-04-11 오전 3 54 27
$\epsilon$ : 하이퍼파라미터

  • Continuous action일 때는 0.2 일 때가 가장 성능이 좋음
  • Discrete action일 때는 0.1 × α 일 때가 가장 성능이 좋음
  • α는 학습률로서 1에서 시작하여 점점 0으로 수렴

스크린샷 2023-04-11 오후 5 10 13

  • Advantage가 양수라는 것은 가치가 현재보다 높다라는 것이며 파라미터를 양의 방향으로 업데이트
  • 상태 s에서 행동 a를 선택할 확률 증가하게 업데이트
  • $r_t(\theta)$가 아무리 커져도 $\epsilon$으로 Clipping 함으로써 신뢰구간 내에서 파라미터 업데이트

Advantage가 음수라는 것은 현재보다 가치가 낮다라는 것
상태 s에서 행동 a를 선택할 확률을 떨어뜨리는 방향으로 Clipping 기법으로 신뢰구간 내에서 파라미터를 업데이트

Update Algorithm

Advantage Actor Critic을 업데이트할 때와 같은 방법으로 업데이트 함
PPO에서는 Surrogate Function($L^{CLIP}$)을 최대화하는 방향으로 그리고
Action Entropy($S[\pi_\theta]$)를 최대화 하는 방향으로 Actor 네트워크를 업데이트하며
State-Value($L^{VF}$)의 차이를 최소화 하는 방향으로 Critic 네트워크를 업데이트 함
스크린샷 2023-04-11 오전 4 17 13

이를 하나씩 최적화 하는 기법을 기존의 Advantage Actor Critic에서 사용하고 있지만
PPO에서는 하나의 식으로 통합하여 한번에 최적화를 수행
스크린샷 2023-04-11 오전 4 17 36

  • $c_1$ : Value-State network 최적화 정도
  • $c_2$ : Exploration의 정도

Tags: , , ,

Categories:

Updated: