2017๋ , OpenAI๋ "Proximal Policy Optimization Algorithms"์ด๋ผ๋ ๋ ผ๋ฌธ์ ํตํด, ๊ธฐ์กด ์ ์ฑ ๊ธฐ๋ฐ ๊ฐํํ์ต์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์ ํ ์๋ก์ด ์ ๊ทผ๋ฒ์ ์ ์ํ๋ค.
์ด ๋ ผ๋ฌธ์์ ์ ์๋ PPO๋, ์์ ์ฑ๊ณผ ์ฑ๋ฅ์ ๋์์ ํ๋ณดํ๋ฉด์๋ ๊ตฌํ์ด ๊ฐ๋จํ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ํ๊ฐ๋ฐ์ผ๋ฉฐ, ์ดํ ๋ง์ ๊ฐํํ์ต ํ๊ฒฝ์์ ์ฌ์ค์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์๋ฆฌ ์ก๊ฒ ๋์๋ค.
๊ฐํํ์ต์์ ์ ์ฑ ๊ธฐ๋ฐ ๋ฐฉ๋ฒ์, ํ๋์ ๊ฒฐ์ ํ๋ ํ๋ฅ ๋ถํฌ์ธ โ์ ์ฑ โ์ ์ง์ ํ์ตํ๋ค. ํ์ง๋ง ๊ธฐ์กด์ ์ ์ฑ ๊ฒฝ์ฌ๋ฒ์ ํ์ต ์์ ์ฑ์ด ๋จ์ด์ง๊ณ , ๋๋ก๋ ์ ์ฑ ์ด ์ง๋์น๊ฒ ํฌ๊ฒ ๋ณ๊ฒฝ๋์ด ์ฑ๋ฅ์ด ์ ํ๋๋ ๋ฌธ์ ๋ฅผ ์์ฃผ ๊ฒช์๋ค.
์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด TRPO(Trust Region Policy Optimization)์ ๊ฐ์ ์์ ์ ์๊ณ ๋ฆฌ์ฆ์ด ๋ฑ์ฅํ์ง๋ง, ์ด๋ ๊ณ์ฐ์ด ๋ณต์กํ๊ณ ๊ตฌํ์ด ์ด๋ ค์ ์ค์ ์ ์ฉ์ด ์ ํ์ ์ด์๋ค.
PPO๋ ์ด TRPO์ ์ฅ์ ์ ์ ์งํ๋ฉด์๋ ๋จ์ํ ํด๋ฆฌํ ๋ฐฉ์์ ๋์ ํ์ฌ ์์ ์ ์ธ ํ์ต์ ๊ฐ๋ฅํ๊ฒ ๋ง๋ค์๋ค. ์ ์ฑ ์ด ๋๋ฌด ๊ธ๊ฒฉํ ๋ฐ๋์ง ์๋๋ก ์กฐ์ ํด์ฃผ๋ ๋ฐฉ์์ผ๋ก, ํ์ต ๋์ค ์ ์ฑ ์ด ํ๊ฑฐ๋ ๋ฌด๋์ง๋ ์ํฉ์ ๋ฐฉ์งํ๋ค.
์ด์ฒ๋ผ PPO๋ ๊ธฐ์กด ์ ์ฑ ๊ธฐ๋ฐ ๊ฐํํ์ต์ ๋ถ์์ ์ฑ๊ณผ ๊ตฌํ ๋ณต์ก์ฑ์ ๋์์ ํด๊ฒฐํ๊ธฐ ์ํด ํ์ํ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๋ฐ๋ผ์ PPO๋ฅผ ๋ฐฐ์ฐ๊ธฐ ์ ์, ๋จผ์ ์ ๊ธฐ์กด ์ ์ฑ ๊ฒฝ์ฌ๋ฒ์ด ๋ถ์์ ํ๋์ง, ๊ทธ๋ฆฌ๊ณ PPO๊ฐ ์ด๋ค ๋ฐฉ์์ผ๋ก ๊ทธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋์ง๋ฅผ ์ดํดํ๋ ๊ฒ์ด ์ค์ํ๋ค.
๊ฐํํ์ต์์ ์ ์ฑ ๊ธฐ๋ฐ(policy-based) ์ ๊ทผ์, ํ๊ฒฝ ๋ด์์ ํ๋์ ๊ฒฐ์ ํ๋ ์ ์ฑ (policy) ์์ฒด๋ฅผ ํ์ตํ๋ค. ๊ทธ๋ฌ๋ ๊ธฐ์กด์ ์ ์ฑ ๊ฒฝ์ฌ๋ฒ(Policy Gradient)์ ์ ์ฑ ์ด ๋๋ฌด ํฌ๊ฒ ๋ฐ๋๋ ๋ฌธ์ , ์ฆ ํ์ต ๋์ค ์ฑ๋ฅ์ด ์คํ๋ ค ์ ํ๋๋ ํ์์ ์์ฃผ ๊ฒช๋๋ค. ์ด๋ฌํ ๋ถ์์ ์ ํด๊ฒฐํ๊ธฐ ์ํด 2015๋ , Schulman ๋ฑ์ด ์ ์ํ ์๊ณ ๋ฆฌ์ฆ์ด ๋ฐ๋ก TRPO(Trust Region Policy Optimization)์ด๋ค.
TRPO์ ํต์ฌ ์์ด๋์ด๋ ๋ค์๊ณผ ๊ฐ๋ค : "์ ์ฑ ์ ๋ฐ๊พธ๋, ๋๋ฌด ๋ง์ด ๋ฐ๊พธ์ง ๋ง์."
TRPO๋ ์ ์ฑ ์ ๋ฐ์ดํธ ์ ๋ณํ ํญ์ ์ ํํ์ฌ, ํ์ต ์์ ์ฑ์ ๋์ด๊ณ ์ฑ๋ฅ ์ ํ๋ฅผ ๋ฐฉ์งํ๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋๋ค. ์ด๋ฅผ ์ํด ์ ์ฑ ๊ฐ์ ์ฐจ์ด๋ฅผ ์ธก์ ํ๋ KL Divergence(์ฟจ๋ฐฑ-๋ผ์ด๋ธ๋ฌ ๋ฐ์ฐ)๋ฅผ ์ฌ์ฉํ์ฌ, ๊ธฐ์กด ์ ์ฑ ๊ณผ ์๋ก์ด ์ ์ฑ ์ฌ์ด์ '๊ฑฐ๋ฆฌ'๊ฐ ์ผ์ ์์ค์ ๋์ง ์๋๋ก ์ ํํ๋ฉด์ ์ ๋ฐ์ดํธ๋ฅผ ์ํํ๋ค.
์ด๋ฅผ ํตํด ๊ธฐ์กด ์ ์ฑ ์์ ๋ฒ์ด๋์ง ์๋ ์ ๋ขฐ ์์ญ(trust region) ์์์๋ง ์ ์ฑ ์ ๊ฐ์ ํ ์ ์๋๋ก ํ๋ค. ์ด๋ฌํ ๋ฐฉ์์ ์ค์ ๋ก ์์ ์ ์ธ ์๋ ด๊ณผ ๋์ ์ฑ๋ฅ์ ๋ณด์ด๋ฉฐ, ๋ค์ํ ํ๊ฒฝ์์ ํจ๊ณผ๋ฅผ ์ ์ฆํ๋ค.
๊ทธ๋ฌ๋ TRPO๋ ๋ค์๊ณผ ๊ฐ์ ๋จ์ ๋ ์ง๋๋ค. ์ด์ฐจ ๋ฏธ๋ถ ๊ธฐ๋ฐ ์ต์ ํ (Second-order optimization)๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ์ํ์ ์ผ๋ก ๋ณต์กํ๊ณ ์ค์ ๊ตฌํ์ด ์ด๋ ต๊ณ ๊ณ์ฐ ๋น์ฉ์ด ํฌ๋ค.
์ด๋ฌํ ํ๊ณ๋ฅผ ํด๊ฒฐํ๊ณ ์ ๋ฑ์ฅํ ์๊ณ ๋ฆฌ์ฆ์ด ๋ฐ๋ก PPO(Proximal Policy Optimization)์ด๋ค. PPO๋ TRPO์ ํต์ฌ ๊ฐ๋ ์ธ โ์ ์ฑ ๋ณํ์ ์ต์ โ๋ฅผ ๋ ๋จ์ํ ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋ฉด์๋, ์ฑ๋ฅ์ ๊ฑฐ์ ์ ์ฌํ๊ฑฐ๋ ๋ ๋์ ๊ฒฝ์ฐ๋ ๋ง๋ค.
PPO๋ ํ์ฌ ์ ์ฑ ๊ณผ ์ด์ ์ ์ฑ ์ด ํน์ ํ๋์ ์ผ๋ง๋ ์ ํธํ๋์ง์ ์ฐจ์ด๋ฅผ ๊ณ์ฐํ๊ณ , ๊ทธ ์ฐจ์ด๊ฐ ๋๋ฌด ํฌ๋ฉด ํด๋ฆฌํ(clipping)์ ํตํด ์ ํํ๋ ๋ฐฉ์์ด๋ค.
์ด๋ ์ฌ์ฉํ๋ ๊ฐ์ด ๋ฐ๋ก ์ ์ฑ ๋น์จ(importance sampling ratio)์ด๋ค.
์ด ๋น์จ์ด 1๋ณด๋ค ํฌ๋ฉด ์ ์ฑ ์ด ํด๋น ํ๋์ ํ๋ฅ ์ ๋์๋ค๋ ์๋ฏธ์ด๊ณ , 1๋ณด๋ค ์์ผ๋ฉด ํ๋ฅ ์ ๋ฎ์ท๋ค๋ ๋ป
๋ฐ์ดํฐ ์ฌ์ฌ์ฉ์ ํตํ ์ํ ํจ์จ์ฑ ํฅ์ : PPO๋ ํ๊ฒฝ์์ ๋ฐ์ดํฐ๋ฅผ ํ ๋ฒ ์์งํ ๋ค, ์ด ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ์ํฌํฌ(epoch)์ ๊ฑธ์ณ ๋ฐ๋ณต ํ์ตํ๋ค. ๊ธฐ์กด ๋ฐฉ์์์๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฌ์ฉํ๋ฉด ํ์ต์ด ๋ถ์์ ํด์ก์ง๋ง, PPO๋ ํด๋ฆฌํ ๊ธฐ๋ฒ ๋๋ถ์ ์ ์ฑ ์ด ์์ ์ ์ผ๋ก ์ ์ง๋๋ฏ๋ก ๋์ ์ํ ํจ์จ์ฑ์ ๋ฌ์ฑํ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ์ด ๋น์จ์ด ๋๋ฌด ์ปค์ง๊ฑฐ๋ ์์์ง์ง ์๋๋ก PPO๋ ๋ค์๊ณผ ๊ฐ์ Clipped Surrogate Loss๋ฅผ ์ฌ์ฉํ๋ค.
์ด ์์ค ํจ์๋ ๋ ํญ ์ค ์์ ๊ฐ๋ง์ ์ฌ์ฉ

์ด๋ฅผ ํตํด ์ ์ฑ ์ด ์์ ์ ์ผ๋ก ๊ฐ์ ๋๋๋ก ์ ๋
PPO์ ์ ์ฒด ์์ค ํจ์๋ ๋ค์ ์ธ ๊ฐ์ง ํญ๋ชฉ์ผ๋ก ๊ตฌ์ฑ๋๋ค.:
๐
1๏ธโฃ ์ ์ฑ
์์ค
์ ์ฑ
์ด ๋๋ฌด ๊ธ๊ฒฉํ๊ฒ ๋ฐ๋์ง ์๋๋ก ์ต์ ํ๋ ํญ๋ชฉ์ผ๋ก, PPO์ ํต์ฌ
๐
2๏ธโฃ ๊ฐ ํจ์ ์์ค
๊ฐ์น ํจ์๊ฐ ์์ธกํ ๊ฐ๊ณผ ์ค์ ๋ณด์์ ์ฐจ์ด๋ฅผ ์ค์ด๋ ํญ๋ชฉ์ผ๋ก, ํ๊ท ์ ๊ณฑ์ค์ฐจ(MSE)๋ฅผ ์ฌ์ฉ
๐
3๏ธโฃ ์ํธ๋กํผ ๋ณด๋์ค
์ ์ฑ
์ ๋ฌด์์์ฑ์ ์ ์งํด์ ๋ค์ํ ํ๋์ ์๋ํ๊ฒ๋ ๋์์ฃผ๋ ํญ๋ชฉ
๐
PPO ๋ ผ๋ฌธ์์๋ ์ฐ๋ฆฌ๊ฐ ์ฃผ๋ก ์ฌ์ฉํ๋ ํด๋ฆฌํ(clipping) ๋ฐฉ์ ์ธ์, ์ ์ฑ ๋ณํ๋ฅผ ์ต์ ํ๋ ๋ ๋ค๋ฅธ ์ ๊ทผ๋ฒ์ ํจ๊ป ์ ์ํ๊ณ ๋น๊ตํด๋ณด์๋ค. ๋ฐ๋ก ์ ์ํ KL ํ๋ํฐ(Adaptive KL Penalty) ๋ฐฉ์์ด๋ค.
์ด ๋ฐฉ๋ฒ์ ์ ์ฑ ์ ๋ฐ์ดํธ์ ํฌ๊ธฐ๋ฅผ ํด๋ฆฌํ์ผ๋ก ์ง์ ์ ํํ๋ ๋์ , ๋ชฉ์ ํจ์์ KL ๋ฐ์ฐ(KL Divergence) ํญ์ ํ๋ํฐ๋ก ์ถ๊ฐํ๋ค.
๋ชฉ์ ํจ์๋ ๋ค์๊ณผ ๊ฐ๋ค.
๐
์ฌ๊ธฐ์ ํต์ฌ์ ํ๋ํฐ์ ๊ฐ๋๋ฅผ ์กฐ์ ํ๋ ๊ณ์ ๋ฅผ ๊ณ ์ ํ์ง ์๊ณ ๋์ ์ผ๋ก ์กฐ์ ํ๋ค๋ ์ ์ด๋ค.
์
๋ฐ์ดํธ ๊ท์น: ๋งค ์ ์ฑ
์
๋ฐ์ดํธ ํ, ์ด์ ์ ์ฑ
๊ณผ ํ์ฌ ์ ์ฑ
์ฌ์ด์ ์ค์ KL ๋ฐ์ฐ ๊ฐ()๋ฅผ ๊ณ์ฐํ๋ค.
1๏ธโฃ ์ค์ KL ๋ฐ์ฐ ๊ฐ ๋ฅผ ๊ณ์ฐํ๋ค.
2๏ธโฃ ์ด๋ฉด, ์ ์ฑ ๋ณํ๊ฐ ๋ ํ์ํ๋ค๊ณ ํ๋จํ์ฌ ํ๋ํฐ๋ฅผ ์ค์ธ๋ค().
3๏ธโฃ ์ด๋ฉด, ์ ์ฑ ์ด ๋๋ฌด ๋ง์ด ๋ณํ๋ค๊ณ ํ๋จํ์ฌ ํ๋ํฐ๋ฅผ ๋๋ฆฐ๋ค().
์ด ๋ฐฉ์์ ์ ์ฑ ์ ๋ฐ์ดํธ ํฌ๊ธฐ๋ฅผ ๋ชฉํ ๋ฒ์ ์์ผ๋ก ์ ๋ํ๋ ํฉ๋ฆฌ์ ์ธ ๋์์ด๋ค. ํ์ง๋ง ๋ ผ๋ฌธ์ ์คํ ๊ฒฐ๊ณผ์ ๋ฐ๋ฅด๋ฉด, ์ด ์ ์ํ KL ํ๋ํฐ ๋ฐฉ์์ ํด๋ฆฌํ์ ์ฌ์ฉํ ์ฃผ๋ PPO ๋ฐฉ์๋ณด๋ค ์ ๋ฐ์ ์ผ๋ก ์ฑ๋ฅ์ด ๋ค์ ๋จ์ด์ก๋ค. ์ด ๋๋ฌธ์ ์ค๋๋ PPO๋ผ๊ณ ํ๋ฉด ์ผ๋ฐ์ ์ผ๋ก ํด๋ฆฌํ ๋ฐฉ์์ ์๋ฏธํ๊ฒ ๋์๋ค.
PPO์์๋ ๋ณดํต GAE(Generalized Advantage Estimation)๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋๋ฐดํฐ์ง๋ฅผ ๊ณ์ฐํ๋ฉฐ, ๋จ๊ธฐ ๋ณด์๋ง์ด ์๋๋ผ, ๋ฏธ๋ ๋ณด์๊น์ง ๊ณ ๋ คํ ์ข ๋ ์ ๊ตํ ํ๊ฐ ๋ฐฉ์์ด๋ค.
๐
๐
GAE๋ ๋ค์๊ณผ ๊ฐ์ ํน์ง์ ๊ฐ์ง๋ค.
์ด ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด Advantage๋ฅผ ๋ ์ ์คํ๊ฒ ๊ณ์ฐํ ์ ์์ด, ์ ์ฑ ์ ๋ฐ์ดํธ์ ํ์ง์ด ๋์์ง๋ค.
์ง๊ธ๊น์ง PPO(Proximal Policy Optimization) ์๊ณ ๋ฆฌ์ฆ์ ํต์ฌ ๊ฐ๋ ๊ณผ ์ํ์ ๊ตฌ์กฐ, ๊ทธ๋ฆฌ๊ณ ์ ์ฑ ์์ ํ๋ฅผ ์ํ Clipping ๊ธฐ๋ฒ, ์ ์ํ KL ํ๋ํฐ์ Advantage ๊ณ์ฐ ๋ฐฉ๋ฒ(GAE)์ ๋ํด ์ ๋ฆฌํด๋ณด์๋ค.
์ด์ ์ด๋ฌํ ์ด๋ก ์ ๋ฐํ์ผ๋ก, ์ค์ ๊ฐํํ์ต ํ๊ฒฝ์์ PPO๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง๋ฅผ ํ์ธํด๋ณผ ์ฐจ๋ก์ด๋ค.
๋ค์ ๋จ๊ณ์์๋ Unity ML-Agents๋ฅผ ํ์ฉํ ์์จ ์ฃผ์ฐจ ์๋ฎฌ๋ ์ด์ ํ๊ฒฝ์ ๊ตฌ์ฑํ๊ณ , PPO ์๊ณ ๋ฆฌ์ฆ์ ์ ์ฉํ์ฌ ์์ด์ ํธ๊ฐ ์ค์ ๋ก ์ฅ์ ๋ฌผ์ ํผํด๊ฐ๋ฉฐ, ์ฃผ์ฐจ ๊ณต๊ฐ์ ์ ํํ ์ ์ฐจํ ์ ์๋๋ก ํ์ต์ํค๋ ๊ณผ์ ์ ์คํํ ์์ ์ด๋ค.