7. Proximal Policy Optimization Algorithms
๋ ผ๋ฌธ Arxiv: https://arxiv.org/abs/1707.06347
๋๋๊ฒ๋ ์ ๋์ด๋ ํํ์ ์๋คโฆOpenAI๋ผ์ ๊ทธ๋ฐ๊ฐ
Abstract
PPO๋ Policy Gradient (PG)์ ํ๋์ด์ง๋ง data๋ฅผ samplingํ๋ ๋์ stochatic gradient ascent( SGD)๋ฅผ ํตํด โsurrogateโ๋ผ๋ ๋ชฉ์ ํจ์๋ฅผ ์ต์ ํํ๋ค.
๊ธฐ์กด์ PG๋ data sampling์ ํ ๋๋ง๋ค ํ ๋ฒ์ฉ gradient๋ฅผ ์ด๋ํ์ง๋ง, PPO๋ multiple epochs of minibatch update๊ฐ ๊ฐ๋ฅํ๋ค.
Gradient Descent(GD)๋ ํ epoch๋น ํ ๋ฒ minibatch update(=iteration)์ ํ๋ค. SGD๋ epochs * minibatch ๋งํผ iteration ํ๋ค. (Reference)
PPO๋ ์์ ๋์จ trust region policy opitmization(TRPO)์ ์ฅ์ ์ค ์ผ๋ถ๋ฅผ ๊ฐ์ง์ง๋ง ํจ์ฌ ์ ์ฉํ๊ธฐ ์ฝ๊ณ ๋๋ฆฌ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
Introduction
17๋ ๋ ๋น์์๋ deep Q-learning, vanila PG, TPRO, [2023-11-21-PolicyGradient2|natural policy gradient] ๋ฑ์ด ๋ง์ด ์ฐ๊ตฌ๋์๋ค. ๊ฐ์์ ๋จ์ ๋ค์ด ์์ง๋ง TPRO๋ data efficiencyํ๊ณ ์์ ์ ์ธ ์ฑ๋ฅ์ ๋ณด์์ง๋ง, ๋ณต์กํ๊ณ ๋ ธ์ด์ฆ์ ์ทจ์ฝํ ๋จ์ ์ด ์์๋ค.
๋ณธ ๋ ผ๋ฌธ์ TPRO์ ์ฅ์ ์ ๊ฐ์ง๋ฉด์๋ first-order ๋ฐฉ์์ ์ฌ์ฉํ PPO ๋ฐฉ์์ ์ ์ํ์๋ค.
PPO ๋ฐฉ์์๋ ์๋ก์ด ๋ชฉ์ ํจ์๊ฐ ๋์ ๋์๋๋ฐ clipped probability ratios๋ฅผ ๊ฐ์ง๋๋ก ํ์ฌ ์ฑ๋ฅ์ ํํ์ ๊ฐ์ง๋๋ก ํ์๋ค. ๋ํ, sampled data์ ๋ํด ์ฌ๋ฌ epoch์ ์ต์ ํ๋ฅผ ์ํํ๋ค. (Stochastic)
Background
Policy Gradient
๊ธฐ์กด์ PG๋ ๋ค๋ฅธ action๋ณด๋ค ๋์ action์ ์ฐพ๋ advantager๋ฅผ ํตํด ๋ ๋์ reward๋ฅผ ์ฐพ๋๋ก ํ์์ผ๋, step size๊ฐ ์์ ๊ฒฝ์ฐ์๋ ํ์ต์ด ๋๋ฌด ๋๋ฆฌ๊ณ ํฌ๋ฉด ๋ณํ ํญ์ด ํฌ๋ค๋ ๋จ์ ์ด ์์๋ค.
Trust Region Methods
TRPO์์๋ โsurrogateโ๋ผ๊ณ ํ๋ ๋ชฉ์ ํจ์๊ฐ ์๋ค.
๋ KL divergence๊ฐ threshold ์ดํ์ฌ์ผ ํ๋ฏ๋ก Policy update์ ํฌ๊ธฐ์ ๋ํ ์ ํ์ด๋ค.
์ฌ๊ธฐ์ TRPO์ ๋ชฉ์ ํจ์๋ vanilla PG์ Loss function์์ ์ค์์ํ๋ง์ ํตํด ๋ฐ๋ ๊ฒ์ด๋ค.
๋ฌธ์ ๋ ์ด ๋ฌธ์ ๊ฐ ํ๊ธฐ ์ด๋ ต๋ค๋ ๊ฒ์ด๋ค. constraint์ ๋ํด์๋ quadratic approximation์ด ํ์ํ๊ณ , objective์ ๋ํด์๋ linear approximation์ด ํ์ํ๋ค. ์ดํ conjugate gradient algorithm์ ํตํด ๊ทผ์ฌํ๊ฒ ํ ์ ์๋ค.
์ด ๋์ ์๋์ ๊ฐ์ด constraint ๋์ penalty ๋ฐฉ์์ผ๋ก ์์ ๋ฐ๊ฟ ์ ์๋ค.
์์์ ๋ํด ์ด๋ฌํ ํ๋ํฐ๋ ๋์ state์ ๋ํด KL์ ๊ณ์ฐํ๋ฏ๋ก policy์ ์ฑ๋ฅ์ ๋ํ lower bound๋ฅผ ๋ง๋ค๊ฒ ๋๋ค.
๋์ ๋ฌธ์ ์ ์ ์ ์ ํ ๋ฅผ ์ฐพ๋ ๊ฒ์ด ์ด๋ ต๋ค.
๋ณธ ๋ ผ๋ฌธ์์๋ ์ ์ ํ ๋ฅผ ์ฐพ๊ณ SGD๋ฅผ ํตํด penalize objective function (3)์ ์ต์ ํํ๋ ๊ฒ์ผ๋ก๋ ์ถฉ๋ถํ์ง ์์์ ๋ณด์ด๊ณ ์ถ๊ฐ์ ์ธ ์์ ์ ํ์๋ค.
Clipped Surrogate Objective
์์ (1)์์ ๋ณด์ธ ratio๋ฅผ the probability ratio ์ผ๋ก ๋๋ค. ๋ฐ๋ผ์ ์ด๋ค.
๊ธฐ์กด TRPO์์์ ์์ (2)์ constraint์์ด๋ ๋งค์ฐ ํฐ policy update ์ด๋ค. Why?
๊ทธ๋์ ๋ณธ ๋ ผ๋ฌธ์ ๋ฅผ ์ต๋ํ 1๋ณด๋ค ํฌ๊ฒ ๋ง๋๋ ๋ฐฉ์์ผ๋ก ์์์ ์์ ํ์๋ค.
์์ ์๋ ์ฒซ ๋ฒ์งธ ์ธ์๋ ๊ธฐ์กด TRPO์ ๋ชฉ์ ํจ์์ ๊ฐ๋ค. ๋ ๋ฒ์งธ ์ธ์๋ probability ratio๋ฅผ hyperparamter ์ผ๋ก clipping ํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๋ ์ค์ ์ต์๊ฐ์ ์ทจํ๋ค.
์ด๊ฒ์ ๋ํ ํ๊ท ์ ๊ตฌํจ์ผ๋ก์จ ๊ธฐ์กด TRPO ๋ชฉ์ ํจ์(unclipped objective)์ ํํ์ ์ป๊ฒ ๋๋ค. ์ด๋ฌํ ๋ฐฉ์์ ๊ฒฐ๊ตญ ๋ชฉ์ ํจ์๋ฅผ ๊ฐ์ ํ๋ ๊ฒ๋ค์ ์ ์ธํ๊ณ , ๋ ์์ข๊ฒ ๋ง๋๋ ๋ฐฉํฅ์ ํฌํจํ๊ฒ ๋๋ค.
advantager ๊ฐ ์์์ธ ๊ฒฝ์ฐ์๋ ํ๊ท ๋ณด๋ค ์ข์ action ๋ผ๋ ์๋ฏธ๋ก ๊ฐ ์ปค์ง๊ณ ์ด๋ฅผ ์ผ๋ก ์ ํํ๊ณ , ์์์ธ ๊ฒฝ์ฐ์๋ ์์์ง๋ ๋ฅผ ์ผ๋ก ์ ํํ๋ค.


์ Figure 2๋ ๋ชฉ์ ํจ์๊ฐ policy update์ ๋ฐ๋ผ ์ด๋ป๊ฒ ๋ณํ๋์ง ๋ณด์ฌ์ฃผ๋๋ฐ, (5) ๊ฐ ๊ธฐ์กด TRPO์ ์ ํํ์ด ๋จ์ ์ ์ ์๋ค
Adaptive KL Penalty Coefficient
์ด์ ์น์ ์์์ clipped surrogate objective์ ๋ํด ์ (4)์ ๋ชฉ์ ํจ์์ ํ๋ํฐ๋ฅผ ๊ฐํ๋ ๋ฐฉ์๋ ์ ์๋์๋ค. ์ด๋ฅผ ํตํด ๋งค policy update ๋ง๋ค ์ํ๋ KL divergence ๊ฐ์ ์ด๋์ ๋ ๋๋ฌํ๋๋ก ๋ง๋ค์ด์ค๋ค.
๋น๋ก ์ด์ ์ clipped surrogate objective ๋ฐฉ์๋ณด๋ค ์ข์ ์ฑ๋ฅ์ ๋ณด์ด์ง๋ ์์๋ค.
๋งค policy update ๋ง๋ค ์๋์ ๋ํด ์ํํ๋ค.
-
SGD๋ฅผ ํตํด KL-penalized objective๋ฅผ ์ต์ ํํ๋ค.
-
๋ฅผ ๊ณ์ฐํ๋ค.
๊ฒฐ๊ตญ ์ด ๋ฐฉ์์ ๊ธฐ์กด TRPO ์ต์ ํ ๋ฌธ์ ๋ฅผ ํ๋ํฐ ๋ฐฉ์์ผ๋ก ๋ฐ๊พผ ๊ฒ์์ ๋ฅผ ์ ์ ํ ์ฐพ๋ ๋ฐฉ์์ ์ ์ํ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค.
1.5์ 2 ์ฐ์ฐ์ heuristicํ๊ฒ ์ ํด์ง ๊ฒ์ด๋ ์ด ๋ณ์๋ค์ ํฌ๊ฒ ๋ฏผ๊ฐํ์ง ์๊ณ ์ ์ด๊ธฐ๊ฐ๋ ๋ฐ๋ก ๋ณํ๊ธฐ ๋๋ฌธ์ ๊ฐ ์ค์ ์ ํฐ ๋ถ๋ด์ด ์๋ค.
Algorithm
๋ณธ ๋ ผ๋ฌธ์ ํฐ ์ฅ์ ์ค ํ๋๋ ๊ธฐ์กด vanila policy gradient์์ ๋ช๊ฐ์ง์ ์ฝ๋ ์์ ์ผ๋ก ์ฝ๊ฒ ์ ์ฉ์ด ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ด๋ค.
ํ๋๋ ๋์ ๋๋ ์ ์ ์ฉํ๋ ๊ฒ์ด๊ณ ๋ค๋ฅธ ํ๋๋ ์ฌ๋ฌ step์ SGD๋ฅผ ์ํํ๋๋ก ๋ฐ๊ฟ์ฃผ๋ฉด ๋๋ค.
PPO๋ ๊ณ ์ ๋ ๊ถค์ ์ ์์๋ฅผ ์ฌ์ฉํ๋ค. ๋งค ๋ฐ๋ณต๋ง๋ค ๊ฐ N ๊ฐ์ ๋ณ๋ ฌ์ ์ธ actor๋ค์ด T ์๊ฐ๋งํผ์ ๋ฐ์ดํฐ๋ฅผ ์์งํ๋ค. ๊ทธ๋ฆฌ๊ณ surrogate loss๋ฅผ NT ๊ฐ์ data๋ก ๊ตฌ์ฑํ์ฌ K epoch๋งํผ minibatch SGD ๋ฐฉ์์ผ๋ก ์ต์ ํํ๋ค.

variance-reduced advantage-function estimator๋ฅผ ๊ณ์ฐํ๊ธฐ ์ํด ํ์ต๋ state-value function ๋ฅผ ์ฌ์ฉํ๋ค.
policy function๊ณผ value function ๊ฐ์ parameter๋ฅผ ๊ณต์ ํ๋ NN ๊ตฌ์กฐ์์ PPO๋ loss function์์ policy surrogate์ value function error term์ด ๊ฒฐํฉ๋ ๊ฒ์ ์ฌ์ฉํด์ผ ํ๋ค.
์ ํ ์ฐ๊ตฌ์์ entropy bonus๋ฅผ ์ถ๊ฐํ ๋ฐฉ์๋ ๋ํด ์๋์ ๊ฐ์ด ๋ชฉ์ ํจ์๋ฅผ ๊ตฌ์ฑํจ.
๋ ๊ณ์์ด๊ณ , ๊ฐ entorpy bonus์ ํด๋นํ๋ค. ๋ squared-error loss ์ด๋ค.
์ ํ ์ฐ๊ตฌ์์ RNN์ ์ ํฉํ๊ณ T ์๊ฐ ๋งํผ policy๋ฅผ ์ํํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์์งํ๋ ๋ฐฉ์์ ์ ์ฉํ์๋๋ฐ, ์ด ๋์ advantage estimator๋ ์๋์ ๊ฐ๋ค.
step์ด ์์ผ๋ฉด ํธํฅ์ด ํฌ๊ณ ๋ถ์ฐ์ด ๋ฎ์ง๋ง, step์ด ํฐ ๊ฒฝ์ฐ ํธํฅ์ ์์ง๋ง ๋ถ์ฐ์ด ์ปค์ง๋ค. ๋ฐ๋ผ์ Generalized Advnatage Estimation ๋ฐฉ์์ ์ฌ์ฉํ์๋ค.
์ ์์ (7)์ ์ผ๋ฐํํ์ฌ ๋ก ๋๊ณ ์๋์ truncated version of generalized advantage estimation์ ์ฌ์ฉํ์๋ค.
๋ ผ๋ฌธ ์์ฝ ๋!
๊ฒฐ๊ตญ PPO๋ ํ์ฌ์ ์ด์ policy์ ๋น์จ๊ณผ clipping ๋ฐฉ์์ ํตํด ํ์ต์ ์์ ์ฑ์ ๋์ด๋ฉด์ ๋๋ฌด ํฐ policy update๋ฅผ ํผํ๋๋ก ํ์๋ค.
References
- Original paper: https://arxiv.org/abs/1707.06347
- Huggingface Deep RL doc: https://huggingface.co/learn/deep-rl-course/unit8/introduction
- โTowards Delivering a Coherent Self-Contained Explanation of Proximal Policy Optimizationโ by Daniel Bick : https://fse.studenttheses.ub.rug.nl/25709/1/mAI_2021_BickD.pdf
- PPO ๋ ผ๋ฌธ ๋ฆฌ๋ทฐ: https://www.youtube.com/watch?v=L-QYXtJmXrc