Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

가깝고도 먼 Trpo

TRPO는 강화학습에서 꼭 알아야할 알고리즘 중의 하나입니다. TRPO에 대한 이론적 설명과 간단한 코드 설명을 한 ppt입니다

  • Be the first to comment

가깝고도 먼 Trpo

  1. 1. 이웅원 2017.02.03 가깝고도 먼 TRPO
  2. 2. 흐름보기 Part 2 Lower bound of performance Part 3 Trust Region Policy Optimization Part 4 Code review of TRPO Part 1 Problem of stochastic policy gradient
  3. 3. 간단정리 1. Stochastic policy gradient는 parameter space에서의 update • 실제 policy는 급변 가능  collapse of performance 2. 따라서 Performance의 improvement를 보장하면서 학습하고 싶다 • Policy space에서 조금씩 움직이겠다 3. Policy가 변할 때 performance의 차이를 정의 : lower bound • 이제부터는 lower bound를 optimize 4. Penalty 문제를 constraint 문제로 바꿈  Trust Region method • KL-divergence constraint
  4. 4. 1. Problem of stochastic policy gradient 가깝고도 먼 TRPO
  5. 5. 강화학습 문제의 정의 • MDP : Tuple (𝑆, 𝐴, 𝑃, 𝑟, 𝜌0, 𝛾) • 𝑃 : state transition probability • 𝜌0: distribution of initial state 𝑠0 • 𝑟 : reward function • 𝛾 : discount factor • 𝜋 ∶ 𝑆 × 𝐴 → 0, 1 : stochastic policy • 강화학습은 에이전트가 받을 보상을 최대화하는 policy를 구하는 문제 • 환경과의 상호작용을 통해 학습 • 환경의 모델과 보상을 미리 알지 못하는 상태에서 학습
  6. 6. 강화학습의 분류 1. Value-based RL • Q-function을 통해 action을 선택(ex. 𝜀 − 𝑔𝑟𝑒𝑒𝑑𝑦) • SARSA, Q-Learning, DQN, Dueling Network, PER, etc.. 2. Policy-based RL • Explicit한 policy를 가지며 대부분 policy는 parameterized • REINFORCE, Actor-Critic, A3C, TRPO, PPO, etc..
  7. 7. Policy Gradient • Optimize할 목표를 정의 : objective function • Objective function : 𝐽(𝜋 𝜃)  policy parameter 𝜃의 함수 • Optimization problem : max 𝜃 𝐽(𝜋 𝜃) 를 구하자 • Policy gradient : iteration마다 objective function의 gradient를 따라 parameter update 𝜃′ = 𝜃 + 𝛼𝛻𝜃 𝐽(𝜃) https://www.linkedin.com/pulse/logistic-regression-gradient-descent-hands-on-marinho-de-oliveira
  8. 8. Policy Gradient • Objective function  보통 첫 상태의 value function • Objective function은 policy의 함수여야 함 • PG의 목표는 objective function을 최대화하는 policy를 구하기 • 𝜏 = 𝑠0, 𝑎0, 𝑟1, 𝑠1, 𝑎1, 𝑟2, ⋯ 𝐽 𝜋 = 𝐸𝜏~𝜋 ෍ 𝑡=0 ∞ 𝛾 𝑡 𝑟(𝑠𝑡) = 𝐸𝑠0~𝜌0 𝑣 𝜋 𝑠0
  9. 9. Policy Gradient • Q-function, Value function, Advantage function의 정의 𝑄 𝜋 𝑠𝑡, 𝑎 𝑡 = 𝐸𝑠 𝑡+1,𝑎 𝑡+1,⋯ ෍ 𝑙=0 ∞ 𝛾 𝑙 𝑟(𝑠𝑡+𝑙) 𝑉𝜋 𝑠𝑡 = 𝐸 𝑎 𝑡, 𝑠 𝑡+1,𝑎 𝑡+1,⋯ ෍ 𝑙=0 ∞ 𝛾 𝑙 𝑟(𝑠𝑡+𝑙) 𝑎 𝑡~𝜋 𝑎 𝑡 𝑠𝑡 , 𝑠𝑡+1~𝑃(𝑠𝑡+1|𝑠𝑡, 𝑎 𝑡) 𝐴 𝜋 𝑠, 𝑎 = 𝑄 𝜋 𝑠, 𝑎 − 𝑉𝜋(𝑠)
  10. 10. Policy Gradient • Parameterized policy 𝜋 𝜃, objective function 𝐽 𝜋 𝜃 • Policy gradient equation 1. Policy gradient of REINFORCE 𝛻𝜃 𝐽 𝜃 = 𝐸𝜏~𝜋 𝜃 ෍ 𝑡=0 ∞ 𝐺𝑡 𝛻𝜃 𝑙𝑜𝑔𝜋 𝜃 𝑎 𝑡 𝑠𝑡 2. Policy gradient of Actor-Critic 𝛻𝜃 𝐽 𝜃 = 𝐸𝑠 𝑡~𝜌 𝜃, 𝑎 𝑡~𝜋 𝜃 𝐴 𝜋 𝜃 (𝑠𝑡, 𝑎 𝑡)𝛻𝜃 𝑙𝑜𝑔𝜋 𝜃 𝑎 𝑡 𝑠𝑡
  11. 11. Stochastic Policy Gradient • Stochastic PG : Expectation을 계산하지 않고 sampling으로 대체 • 매 episode 혹은 timestep 마다 policy gradient를 estimate 1. Policy gradient of REINFORCE 𝛻𝜃 𝐽 𝜃 ≅ 1 𝑇 ෍ 𝑡=0 𝑇 ෠𝐺𝑡 𝛻𝜃 𝑙𝑜𝑔𝜋 𝜃 𝑎 𝑡 𝑠𝑡 2. Policy gradient of Actor-Critic 𝛻𝜃 𝐽 𝜃 ≅ መ𝐴(𝑠𝑡, 𝑎 𝑡)𝛻𝜃 𝑙𝑜𝑔𝜋 𝜃 𝑎 𝑡 𝑠𝑡
  12. 12. Policy Gradient의 문제 1. Sample efficiency is poor • Policy gradient가 현재 policy에 대한 estimate • Estimate한 policy gradient로 한 번만 update • 이전 policy로 얻은 data를 사용하기 어려움 2. Distance in parameter space ≠ distance in policy space • Policy gradient는 parameter에서 step • 따라서 parameter에서의 small step이 policy를 크게 변화시킬 수 있음 • Policy가 조금씩 변하게 하는 parameter space에서의 step size를 찾자!
  13. 13. PG with Importance sampling 1. PG에서 이전 policy의 sample을 사용하기 위해 importance sampling 사용할 수 있음 𝛻𝜃 𝐽 𝜃 = 𝐸𝑠 𝑡~𝜌 𝜃, 𝑎 𝑡~𝜋 𝜃 𝐴 𝜋 𝜃 (𝑠𝑡, 𝑎 𝑡)𝛻𝜃 𝑙𝑜𝑔𝜋 𝜃 𝑎 𝑡 𝑠𝑡 = 𝐸𝑠 𝑡~𝜌 𝜃 𝑜𝑙𝑑 , 𝑎 𝑡~𝜋 𝜃 𝑜𝑙𝑑 𝜋 𝜃(𝑎 𝑡|𝑠𝑡) 𝜋 𝜃 𝑜𝑙𝑑 (𝑎 𝑡|𝑠𝑡) 𝐴 𝜋 𝜃 (𝑠𝑡, 𝑎 𝑡)𝛻𝜃 𝑙𝑜𝑔𝜋 𝜃 𝑎 𝑡 𝑠𝑡 2. Importance weight는 unbound  학습에 잘 안되게 함 • 관련 논문 ACER(Sample Efficient Actor-Critic with Experience Replay)
  14. 14. Step in policy space • Parameter space가 아닌 policy space에서 조금씩 update 할 수 있나? • KL-divergence of two policy (old policy & new policy)를 constraint로 (trust region!) • Update 할 때 monotonic improvement를 보장할 수 있나? • Performance의 lower bound를 정의하고 lower bound를 최적화  TRPO (Trust Region Policy Optimization)
  15. 15. 2. Lower bound of performance TRPO
  16. 16. Relative policy performance identity • Policy 𝜋 𝑜𝑙𝑑의 objective function : 𝐽 𝜋 𝑜𝑙𝑑 = 𝐸𝑠0,𝑎0,⋯~𝜋 𝑜𝑙𝑑 σ 𝑡=0 ∞ 𝛾 𝑡 𝑟(𝑠𝑡) • Policy 𝜋의 objective function : 𝐽 𝜋 = 𝐸𝑠0,𝑎0,⋯~𝜋 σ 𝑡=0 ∞ 𝛾 𝑡 𝑟(𝑠𝑡) • Bellman Equation 처럼 objective function 사이의 관계식을 만들어보자 𝐽 𝜋 = 𝐽 𝜋 𝑜𝑙𝑑 + 𝐸𝑠0,𝑎0,⋯~𝜋 ෍ 𝑡=0 ∞ 𝛾 𝑡 𝐴 𝜋 𝑜𝑙𝑑 (𝑠𝑡, 𝑎 𝑡) 𝐽 𝜋 = 𝐽 𝜋 𝑜𝑙𝑑 + ෍ 𝑠 𝜌 𝜋(𝑠) ෍ 𝑎 𝜋(𝑎|𝑠)𝐴 𝜋 𝑜𝑙𝑑 (𝑠, 𝑎) Kakade & Langford “Approximately optimal approximate reinforcement learning”, 2002
  17. 17. Proof of Relative policy performance identity (참고)
  18. 18. Policy Iteration & objective function 𝐽 𝜋 = 𝐽 𝜋 𝑜𝑙𝑑 + ෍ 𝑠 𝜌 𝜋(𝑠) ෍ 𝑎 𝜋(𝑎|𝑠)𝐴 𝜋 𝑜𝑙𝑑 (𝑠, 𝑎) • Policy improvement  greedy policy improvement • 어떤 한 행동 상태가 positive advantage를 가지면 policy를 improve 𝜋 = 𝑎𝑟𝑔𝑚𝑎𝑥 𝑎 𝐴 𝜋 𝑜𝑙𝑑 (𝑠, 𝑎) • Approximation error  𝐴 𝜋 𝑜𝑙𝑑 𝑠, 𝑎 < 0 가능, 𝜌 𝜋(𝑠) 구하기 어려움 • 𝐽 𝜋  local approximation 𝐿 𝜋 𝑜𝑙𝑑 (𝜋) = 𝐽 𝜋 𝑜𝑙𝑑 + ෍ 𝑠 𝜌 𝜋 𝑜𝑙𝑑 (𝑠) ෍ 𝑎 𝜋(𝑎|𝑠)𝐴 𝜋 𝑜𝑙𝑑 (𝑠, 𝑎)
  19. 19. Local Approximation 𝐽 𝜋 = 𝐽 𝜋 𝑜𝑙𝑑 + ෍ 𝑠 𝜌 𝜋(𝑠) ෍ 𝑎 𝜋(𝑎|𝑠)𝐴 𝜋 𝑜𝑙𝑑 (𝑠, 𝑎) 𝐿 𝜋 𝑜𝑙𝑑 (𝜋) = 𝐽 𝜋 𝑜𝑙𝑑 + ෍ 𝑠 𝜌 𝜋 𝑜𝑙𝑑 (𝑠) ෍ 𝑎 𝜋(𝑎|𝑠)𝐴 𝜋 𝑜𝑙𝑑 (𝑠, 𝑎) Approximation을 통한 error가 얼마나 될까?  Lower bound Policy의 변화가 적다면 steady state distribution의 변화도 무시할 수 있을 것이다
  20. 20. Local Approximation with parameterized policy 𝐿 𝜋 𝑜𝑙𝑑 (𝜋) = 𝐽 𝜋 𝑜𝑙𝑑 + ෍ 𝑠 𝜌 𝜋 𝑜𝑙𝑑 (𝑠) ෍ 𝑎 𝜋(𝑎|𝑠)𝐴 𝜋 𝑜𝑙𝑑 (𝑠, 𝑎)  𝐿 𝜋 𝜃0 𝜋 𝜃0 = 𝐽 𝜋 𝜃0 ∇ 𝜃 𝐿 𝜋 𝜃0 𝜋 𝜃 ቚ 𝜃=𝜃0 = ∇ 𝜃 𝐽 𝜋 𝜃 ቚ 𝜃=𝜃0 Kakade & Langford (2002)가 증명 즉, 𝜋 𝜃0 에서 policy를 조금만 변화시켰을 때 local approximation을 improve  objective function도 improve
  21. 21. Conservative Policy Iteration • 어느정도 변해야 objective function의 improve를 보장하는지 알 수 없음 • “Conservative Policy Iteration” : explicit한 𝐽 의 lower bound를 제시 1. Policy improvement(mixture policy 가정) • 현재 policy : 𝜋 𝑜𝑙𝑑, 새로운 policy : 𝜋 𝑛𝑒𝑤 1 𝜋′ = 𝑎𝑟𝑔𝑚𝑎𝑥 𝜋′ 𝐿 𝜋 𝑜𝑙𝑑 𝜋′ 2 𝜋 𝑛𝑒𝑤 a s = (1 − 𝛼)𝜋 𝑜𝑙𝑑 a s + 𝛼𝜋′(𝑎|𝑠)
  22. 22. Conservative Policy Iteration 2. Lower bound of 𝐽 𝐽 𝜋 𝑛𝑒𝑤 ≥ 𝐿 𝜋 𝑜𝑙𝑑 𝜋 𝑛𝑒𝑤 − 2𝜀𝛾 1 − 𝛾 2 𝛼2 𝑤ℎ𝑒𝑟𝑒 𝜀 = max 𝑠 𝐸 𝑎~𝜋′ 𝑎 𝑠 𝐴 𝜋(𝑠, 𝑎)  이제는 lower bound를 최적화하면 된다  Parameterized policy에 대해서 mixture policy를 구할 수 없음 Lower bound
  23. 23. Conservative Policy Iteration의 변형 1. Mixture policy를 통해 policy 사이의 거리를 나타내지 않고 KL-div를 사용 𝛼2 → 𝐷 𝐾𝐿 𝑚𝑎𝑥 𝜋 𝑜𝑙𝑑, 𝜋 𝑛𝑒𝑤 2. 변형된 lower bound 식 𝜂 𝜋 𝑛𝑒𝑤 ≥ 𝐿 𝜋 𝑜𝑙𝑑 𝜋 𝑛𝑒𝑤 − 𝐶𝐷 𝐾𝐿 𝑚𝑎𝑥 𝜋 𝑜𝑙𝑑, 𝜋 𝑛𝑒𝑤 𝑤ℎ𝑒𝑟𝑒 𝐶 = 4𝜀𝛾 1 − 𝛾 2 , 𝜀 = max 𝑠 𝐸 𝑎~𝜋′ 𝑎 𝑠 𝐴 𝜋(𝑠, 𝑎)
  24. 24. Lower bound of objective function 𝐽 𝜋 𝑛𝑒𝑤 ≥ 𝐿 𝜋 𝑜𝑙𝑑 𝜋 𝑛𝑒𝑤 − 𝐶𝐷 𝐾𝐿 𝑚𝑎𝑥 𝜋 𝑜𝑙𝑑, 𝜋 𝑛𝑒𝑤 현재 𝜃에서는 값이 모두 같음
  25. 25. 3. Trust Region Policy Optimization TRPO
  26. 26. Conservative Policy Iteration의 변형 Policy improvement Policy evaluation
  27. 27. KL-constraint optimization 1. Parameterized policy를 lower bound 식에 적용 𝐽 𝜃 ≥ 𝐿 𝜃 𝑜𝑙𝑑 𝜃 − 𝐶𝐷 𝐾𝐿 𝑚𝑎𝑥 𝜃 𝑜𝑙𝑑, 𝜃 2. Lower bound의 optimization : C가 너무 커서 step이 작다 𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝐿 𝜃 𝑜𝑙𝑑 𝜃 − 𝐶𝐷 𝐾𝐿 𝑚𝑎𝑥 𝜃 𝑜𝑙𝑑, 𝜃 3. Large and robust step : KL-penalty  KL-constraint 𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝐿 𝜃 𝑜𝑙𝑑 𝜃 𝑠. 𝑡. 𝐷 𝐾𝐿 𝑚𝑎𝑥 𝜃 𝑜𝑙𝑑, 𝜃 ≤ 𝛿
  28. 28. KL-constraint optimization 𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝐿 𝜃 𝑜𝑙𝑑 𝜃 𝑠. 𝑡. 𝐷 𝐾𝐿 𝑚𝑎𝑥 𝜃 𝑜𝑙𝑑, 𝜃 ≤ 𝛿 Trust region small step in policy space
  29. 29. Approximation of KL-divergence 𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝐿 𝜃 𝑜𝑙𝑑 𝜃 𝑠. 𝑡. 𝐷 𝐾𝐿 𝑚𝑎𝑥 𝜃 𝑜𝑙𝑑, 𝜃 ≤ 𝛿 • 이 때, 𝐷 𝐾𝐿 𝑚𝑎𝑥 𝜃 𝑜𝑙𝑑, 𝜃 은 모든 상태에 대해서 max이기 때문에 practical X • Approximation! 𝐷 𝐾𝐿 𝑚𝑎𝑥 𝜃 𝑜𝑙𝑑, 𝜃 ~𝐷 𝐾𝐿 𝜌 𝜃 𝑜𝑙𝑑, 𝜃 ≔ 𝐸𝑠~𝜌 𝑜𝑙𝑑 𝐷 𝐾𝐿 𝜋 𝜃 𝑜𝑙𝑑 ∙ 𝑠 || 𝜋 𝜃 ∙ 𝑠 • 새로운 sub-problem 식 𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝐿 𝜃 𝑜𝑙𝑑 𝜃 𝑠. 𝑡. 𝐷 𝐾𝐿 𝜌 𝑜𝑙𝑑 𝜃 𝑜𝑙𝑑, 𝜃 ≤ 𝛿
  30. 30. Surrogate advantage function 𝐿 𝜃 𝑜𝑙𝑑 𝜃 = 𝐽 𝜃 𝑜𝑙𝑑 + ෍ 𝑠 𝜌 𝜋 𝜃 𝑜𝑙𝑑 (𝑠) ෍ 𝑎 𝜋 𝜃(𝑎|𝑠)𝐴 𝜋 𝜃 𝑜𝑙𝑑 (𝑠, 𝑎) 𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝐿 𝜃 𝑜𝑙𝑑 𝜃 → 𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 ෍ 𝑠 𝜌 𝜋 𝜃 𝑜𝑙𝑑 (𝑠) ෍ 𝑎 𝜋 𝜃(𝑎|𝑠)𝐴 𝜋 𝜃 𝑜𝑙𝑑 (𝑠, 𝑎) σ 𝑠 𝜌 𝜋 𝜃 𝑜𝑙𝑑 (𝑠) σ 𝑎 𝜋 𝜃(𝑎|𝑠)𝐴 𝜋 𝜃 𝑜𝑙𝑑 (𝑠, 𝑎)를 어떻게 구하지  approximation
  31. 31. Surrogate advantage function ෍ 𝑠 𝜌 𝜋 𝜃 𝑜𝑙𝑑 (𝑠) ෍ 𝑎 𝜋 𝜃(𝑎|𝑠)𝐴 𝜋 𝜃 𝑜𝑙𝑑 (𝑠, 𝑎) = 𝐸𝑠~𝜋 𝜃 𝑜𝑙𝑑 ,𝑎~𝜋 𝜃 𝐴 𝜋 𝜃 𝑜𝑙𝑑 (𝑠, 𝑎) = 𝐸𝑠~𝜋 𝜃 𝑜𝑙𝑑 ,𝑎~𝜋 𝜃 𝑜𝑙𝑑 𝜋 𝜃(𝑎|𝑠) 𝜋 𝜃 𝑜𝑙𝑑 (𝑎|𝑠) 𝐴 𝜋 𝜃 𝑜𝑙𝑑 (𝑠, 𝑎) 𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝐸𝑠~𝜋 𝜃 𝑜𝑙𝑑 ,𝑎~𝜋 𝜃 𝑜𝑙𝑑 𝜋 𝜃(𝑎|𝑠) 𝜋 𝜃 𝑜𝑙𝑑 (𝑎|𝑠) 𝐴 𝜋 𝜃 𝑜𝑙𝑑 (𝑠, 𝑎) 𝑠. 𝑡. 𝐷 𝐾𝐿 𝜌 𝑜𝑙𝑑 𝜃 𝑜𝑙𝑑, 𝜃 ≤ 𝛿 Importance sampling Surrogate advantage function
  32. 32. Natural Policy Gradient • How to solve this problem? 𝐿 𝜃 𝑜𝑙𝑑 𝜃 = 𝐸𝑠~𝜋 𝜃 𝑜𝑙𝑑 ,𝑎~𝜋 𝜃 𝑜𝑙𝑑 𝜋 𝜃(𝑎|𝑠) 𝜋 𝜃 𝑜𝑙𝑑 (𝑎|𝑠) 𝐴 𝜋 𝜃 𝑜𝑙𝑑 (𝑠, 𝑎) 𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝐿 𝜃 𝑜𝑙𝑑 𝜃 𝑠. 𝑡. 𝐷 𝐾𝐿 𝜌 𝑜𝑙𝑑 𝜃 𝑜𝑙𝑑, 𝜃 ≤ 𝛿 1. 1st order approximation to surrogate advantage function 𝐿 𝜃 𝑜𝑙𝑑 𝜃 ≈ 𝐿 𝜃 𝑜𝑙𝑑 𝜃 𝑜𝑙𝑑 + 𝑔 𝑇 𝜃 − 𝜃 𝑜𝑙𝑑 , 𝑔 = ∇ 𝜃 𝐿 𝜃 𝑜𝑙𝑑 𝜃 ቚ 𝜃 𝑜𝑙𝑑 2. 2nd order approximation to KL-divergence 𝐷 𝐾𝐿 𝜌 𝑜𝑙𝑑 𝜃 𝑜𝑙𝑑, 𝜃 ≈ 1 2 𝜃 − 𝜃 𝑜𝑙𝑑 𝑇 𝐻 𝜃 − 𝜃 𝑜𝑙𝑑 , 𝐻 = ∇ 𝜃 2 𝐷 𝐾𝐿 𝜌 𝑜𝑙𝑑 𝜃 𝑜𝑙𝑑, 𝜃 ቚ 𝜃 𝑜𝑙𝑑 Fisher Information Matrix
  33. 33. Natural Policy Gradient • Change constraint problem 𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝑔 𝑇 𝜃 − 𝜃 𝑜𝑙𝑑 𝑠. 𝑡. 1 2 𝜃 − 𝜃 𝑜𝑙𝑑 𝑇 𝐻 𝜃 − 𝜃 𝑜𝑙𝑑 ≤ 𝛿 • Langrange Multiplier method • 위 식의 해는 𝑔 𝑇 𝜃 − 𝜃 𝑜𝑙𝑑 − 𝛽 1 2 𝜃 − 𝜃 𝑜𝑙𝑑 𝑇 𝐻 𝜃 − 𝜃 𝑜𝑙𝑑 의 미분이 0되는 지점 • 𝛽 = 1 일 때, s = 𝜃 − 𝜃 𝑜𝑙𝑑direction 𝑠 을 먼저 구함 𝑔 − 𝐻𝑠 = 0 𝑠 = 𝐻−1 𝑔
  34. 34. Natural Policy Gradient • KL-divergence constraint를 통해 𝑠𝑡𝑒𝑝 − 𝑠𝑖𝑧𝑒 𝛼를 구함 • Lagrange multiplier를 통해 구한 direction은 boundary에서의 direction 𝜃 − 𝜃 𝑜𝑙𝑑 = 𝛼𝑠 1 2 𝜃 − 𝜃 𝑜𝑙𝑑 𝑇 𝐻 𝜃 − 𝜃 𝑜𝑙𝑑 = 𝛿 → 1 2 𝛼𝑠 𝑇 𝐻 𝛼𝑠 = 𝛿 → 𝛼 = 2𝛿 𝑠 𝑇 𝐻𝑠 = 2𝛿 𝑔 𝑇 𝐻−1 𝑔 (𝑠 = 𝐻−1 𝑔)
  35. 35. Natural Policy Gradient • problem 𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝑔 𝑇 𝜃 − 𝜃 𝑜𝑙𝑑 𝑠. 𝑡. 1 2 𝜃 − 𝜃 𝑜𝑙𝑑 𝑇 𝐻 𝜃 − 𝜃 𝑜𝑙𝑑 ≤ 𝛿 • Solution 𝜃 𝑛𝑒𝑤 = 𝜃 𝑜𝑙𝑑 + 2𝛿 𝑔 𝑇 𝐻−1 𝑔 𝐻−1 𝑔
  36. 36. Truncated Natural Policy Gradient • NPG에서 Neural Network와 같이 parameter가 많은 경우 𝐻−1 𝑔 계산이 어려움 • Parameter 개수가 𝑁개이면 𝐻의 크기는 𝑁2 , 𝐻−1 계산은 𝑂(𝑁3 )  Conjugate gradient method를 통해서 𝐻−1을 계산하지 않고 𝐻−1 𝑔 구하기  Truncated Natural Policy Gradient • CG(conjugate gradient method)는 𝐴𝑥 = 𝑏의 선형시스템 문제를 푸는 방법 • Analytic하게 구하지 않고 iterative하게 𝑥를 구해내는 방법 • 임의의 벡터 𝑣에 대해 hessian-vector product 𝐻𝑣로 시작해서 𝐻𝑣 = 𝑔가 되도록 𝑣를 조정
  37. 37. Truncated Natural Policy Gradient • Truncated Natural Policy Gradient의 문제 1. Might not be robust to trust region size ; at some iterations may be too large and performance can degrade 2. Because of quadratic approximation, KL-divergence constraint may be violated
  38. 38. Trust Region method
  39. 39. Trust Region method Approximation Sub-problem Trust-region
  40. 40. Trust Region method
  41. 41. Trust Region Policy Optimization • 전체 문제를 sub-problem으로 나누고 각 sub-problem을 두 step으로 품 1. Finding search direction 2. Do line search on that direction inside trust region • Trust Region Policy Optimization 1. Search direction ∆= 2𝛿 𝑔 𝑇 𝐻−1 𝑔 𝐻−1 𝑔 2. Backtracking line search 𝜃 𝑛𝑒𝑤 = 𝜃 𝑜𝑙𝑑 + 𝛼 𝑗∆ (𝐿 𝜃 𝑜𝑙𝑑 𝜃 > 0 𝑎𝑛𝑑 𝐷 𝐾𝐿 𝜌 𝑜𝑙𝑑 𝜃 𝑜𝑙𝑑, 𝜃 ≤ 𝛿일 때, stop)
  42. 42. 4. Code review of TRPO TRPO
  43. 43. OpenAI baselines https://github.com/openai/baselines
  44. 44. TRPO 코드 개요 1. 현재 policy로 sample 모으기 2. 모은 sample로 GAE 계산하기 3. Surrogate advantage function 계산하기 4. Surrogate의 gradient와 KL-divergence의 hessian을 구하기 5. g와 H를 통해 (CG) search direction 계산 6. Search direction에 대해 backtracking line search
  45. 45. TRPO baseline 코드 구조 1. run_atari.py : atari 환경에서 학습하는 main loop 2. nosharing_cnn_policy.py : actor-critic network (actor와 critic은 네트워크 공유 X) 3. trpo_mpi.py : cnn_policy를 통해 실제로 학습을 하는 코드 run_atari.py noshaing_cnn_policy.py trpo_mpi.py
  46. 46. 현재 policy로 sample 모으기 def traj_segment_generator(pi, env, horizon, stochastic)
  47. 47. 모은 sample로 GAE 계산하기
  48. 48. Surrogate advantage function 계산하기 𝐿 𝜃 𝑜𝑙𝑑 𝜃 = 𝐸𝑠~𝜋 𝜃 𝑜𝑙𝑑 ,𝑎~𝜋 𝜃 𝑜𝑙𝑑 𝜋 𝜃(𝑎|𝑠) 𝜋 𝜃 𝑜𝑙𝑑 (𝑎|𝑠) 𝐴 𝜋 𝜃 𝑜𝑙𝑑 (𝑠, 𝑎)
  49. 49. Surrogate의 gradient와 KL-divergence의 hessian을 구하기 1. Surrogate의 gradient • State, action, GAE로 policy gradient 계산 2. KL-divergence의 hessian matrix(2차 미분) : FIM 구하기 • KL-div : • KL-div 1차 미분 :
  50. 50. Surrogate의 gradient와 KL-divergence의 hessian을 구하기 2. KL-divergence의 hessian matrix(2차 미분) : FIM 구하기 • FIM 계산 :
  51. 51. g와 H를 통해 (CG) search direction 계산 1. 𝐻−1 𝑔 계산 2. Search direction ∆= 2𝛿 𝑔 𝑇 𝐻−1 𝑔 𝐻−1 𝑔 계산
  52. 52. Search direction에 대해 backtracking line search • 𝜃 𝑛𝑒𝑤 = 𝜃 𝑜𝑙𝑑 + 𝛼 𝑗∆ (𝐿 𝜃 𝑜𝑙𝑑 𝜃 > 0 𝑎𝑛𝑑 𝐷 𝐾𝐿 𝜌 𝑜𝑙𝑑 𝜃 𝑜𝑙𝑑, 𝜃 ≤ 𝛿일 때, stop)
  53. 53. Thank you TRPO

×