AI바라기의 인공지능

개념 정리 : PPO (Proximal Policy Optimization) 본문

인공지능

개념 정리 : PPO (Proximal Policy Optimization)

AI바라기 2026. 3. 14. 12:54

개념 
아무리 좋은 결과를 얻었어도 기존의 폼(정책)을 한 번에 너무 크게 바꾸지 말자

1. 준비물

환경: 그냥 환경

에이전트: 상황 받고 정책에 의해 액션 수행

행동: 그냥 행동

상태: 그냥 상태

보상: 환경이 주는 보상

정책(Actor): 신경망 (어떤 행동을 할지 결정하는 확률의 기준점)

Critic: 현재 상태를 보고 앞으로의 총 보상 기대치를 예측 ($V(s)$)

할인율($\gamma$): 미래에 받을 보상을 현재 가치로 환산할 때 곱하는 비율 (보통 $0.99$ 등). 미래일수록 불확실하므로 가치를 조금씩 깎음.

순간 변동폭($\delta$): 딱 한 스텝 행동했을 때, Critic의 예상보다 실제로 얼마나 더 좋았는지를 나타내는 시간차 오차. ($\delta_t = r_t(실제 보상) + \gamma V(s_{t+1}) - V(s_t)$)


Advantage($A$): 특정 행동이 기준치보다 얼마나 잘했는지. 단순히 한 번의 '실제 결과 - 예상 밸류'가 아니라, 이후에 벌어질 순간 변동폭들을 할인율을 적용해 모두 누적한 값.

 

 

 



먼저 데이터를 수집해야한다. 그렇기에 롤아웃을 진행하여 데이터를 모음


Critic의 평가 및 $A$ 계산(GAE 기법):

* 모아둔 데이터를 바탕으로 에피소드의 마지막 스텝부터 역순으로 거슬러 올라감.

* 각 스텝의 순간 변동폭($\delta$)을 구하고, 여기에 할인율($\gamma$)을 누적해서 곱해가며 각 행동마다 정교한 $A$ 값을 계산함. ($A_t = \delta_t + \gamma \lambda A_{t+1}$)

업데이트:

* 액터(Actor): 계산된 $A$를 바탕으로, $A$가 높은 행동의 확률은 올리고 낮은 행동의 확률은 내림. 단, 이전 정책에서 너무 크게 변하지 않도록 일정 범위 밖은 가위질(Clipping)해서 제한함.

* 크리틱(Critic): 실제 누적된 보상과 자기 예측($V$) 사이의 오차가 줄어드는 방향으로 업데이트.

데이터 폐기: 방금 업데이트에 사용한 데이터는 전부 버림.

이 과정을 반복함.