오늘은 PPO의 핵심 아이디어와 pratical하게 적용하기 위한 방법에 대해 배워볼 예정이다.

TRPO의 surrogate object function이다.
를 maximize하는 파라미터를 찾는다.
KL Constraint
KL Constraint가 Trust region 역할을 수행한다.
TRPO는 좋은 성능을 가지고 있는 모델이다.
이를 통해 Policy가 monotonic improvement를 잘하는 것을 알 수 있다.
policy ratio는 파라미터의 변화를 결정한다.
TRPO에서는 Trust region을 통해 그 변화를 제한한다.
Trust region을 구현하기 위해 KL constrant 식을 만들었고 그 결과 Implementation과 Computation이 복잡해졌다.
KL constraint는 이 값이 너무 커지는 것을 막아주는 것이 목적이다.
PPO는 KL constraint를 사용하지 않고, policy ratio에 직접적으로 제한을 한다.
이를 clipping이라고 한다.
Clipping을 통해 first order stochastic gradient ascent를 사용한다.
연산량을 획기적으로 줄일 수 있다.
Surrogate objective function이 되기 위해서는 lower bound라는 조건을 만족해야 한다.
따라서 기존의 식과 새로 구한 식의 minimum을 구하여 가 의 lower bound가 되게 한다.

해당 action이 평균보다 좋은 action이기 때문에 더 높은 확률로 발생할 수 있도록 학습해야 한다.
따라서 을 만족해야 한다.
다만 그 값이 너무 크게 변하면 안되기 때문에 을 통해 범위를 제한한다.
논문에서 로 고정하였다.
이면 1.2로 clipping 한다.
이면 0.8로 clipping 한다.
이때는 이 된다.
Lower bound 조건을 만족하기 위해서다.
각 항을 얼마나 반영할 지 결정하는 하이퍼파라미터.
Error term on the value estimation
Advantage value를 구하기 위해서는 state value값이 필요하다.
보통 Q-value와 State value는 구하는 파라미터를 공유하여 추출한다.
이때 Loss function에 Error term을 추가하면 훨씬 안정적인 학습이 가능하다.
Entropy bonus to ensure sufficient exploration
모델이 Exploration을 더 할 수 있도록 추가한 항이다.

- TRPO의 한계를 극복하기 위해 PPO에서는 Clipping을 적용하였다.
- PPO를 practical하게 구현하기 위해 Error term과 Entropy bonus를 더하였다.
- Error term은 State value값을 잘 추정할 수 있도록 한다.
- Entropy bomus는 모델이 exploration을 늘릴 수 있도록 한다.