수식적인 부분이 마크다운, html로도 작성이 정상적으로 되지 않아 본문 참고 바랍니다. (tistory 자체적인 문제로 보임)
https://spinningup.openai.com/en/latest/spinningup/rl_intro3.html
Part 3: Intro to Policy Optimization — Spinning Up documentation
We give a short PyTorch implementation of this simple version of the policy gradient algorithm in spinup/examples/pytorch/pg_math/1_simple_pg.py. (It can also be viewed on github.) It is only 128 lines long, so we highly recommend reading through it in dep
spinningup.openai.com
그래도 요약해보자면...
1. 정책 그래디언트의 기본 수식
정책 그래디언트(기울기)에 대한 수식을 다룹니다.
1.1 기대 보상
2. 정책 그래디언트 유도
정책 그래디언트를 구하기 위해 몇 가지 중요한 개념을 알아야 합니다.
2.1 궤적(trajectory)의 확률 구하기
2.2 로그-미분 법칙 (Log-Derivative Trick)
3. 더 나은 정책 그래디언트 표현
3.1 과거 보상의 영향을 없애기 (Reward-to-Go)
위의 식에서는 모든 보상을 고려하지만, 사실 특정 행동이 얼마나 기여했는지를 따져야 합니다. 그래서 보상 총합이 아닌 미래 보상만 고려한 정책 그래디언트를 사용할 수 있습니다.
4. 베이스라인 (Baseline) 추가
기본 정책 그래디언트 식에서 우리는 추가적인 최적화를 할 수 있습니다. 바로 베이스라인(Baseline) 기법입니다.
4.1 베이스라인을 이용한 분산 감소
**EGLP 정리(Expected Grad-Log-Prob Lemma)**에 따르면, 임의의 상태-의존 함수를 추가하거나 빼도 기댓값은 변하지 않습니다. 즉 기댓값은 변하지 않으면서 분산을 줄일 수 있습니다.
5. 어드밴티지 함수 (Advantage Function)
현재 행동이 평균적으로 얼마나 더 좋은지 또는 나쁜지를 측정하는 값입니다.