SlideShare uma empresa Scribd logo
1 de 53
Baixar para ler offline
이웅원
2017.02.03
가깝고도 먼
TRPO
흐름보기
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
간단정리
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
1. Problem of stochastic policy gradient
가깝고도 먼
TRPO
강화학습 문제의 정의
• MDP : Tuple (𝑆, 𝐴, 𝑃, 𝑟, 𝜌0, 𝛾)
• 𝑃 : state transition probability
• 𝜌0: distribution of initial state 𝑠0
• 𝑟 : reward function
• 𝛾 : discount factor
• 𝜋 ∶ 𝑆 × 𝐴 → 0, 1 : stochastic policy
• 강화학습은 에이전트가 받을 보상을 최대화하는 policy를 구하는 문제
• 환경과의 상호작용을 통해 학습
• 환경의 모델과 보상을 미리 알지 못하는 상태에서 학습
강화학습의 분류
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..
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
Policy Gradient
• Objective function  보통 첫 상태의 value function
• Objective function은 policy의 함수여야 함
• PG의 목표는 objective function을 최대화하는 policy를 구하기
• 𝜏 = 𝑠0, 𝑎0, 𝑟1, 𝑠1, 𝑎1, 𝑟2, ⋯
𝐽 𝜋 = 𝐸𝜏~𝜋 ෍
𝑡=0
∞
𝛾 𝑡 𝑟(𝑠𝑡)
= 𝐸𝑠0~𝜌0
𝑣 𝜋 𝑠0
Policy Gradient
• Q-function, Value function, Advantage function의 정의
𝑄 𝜋 𝑠𝑡, 𝑎 𝑡 = 𝐸𝑠 𝑡+1,𝑎 𝑡+1,⋯ ෍
𝑙=0
∞
𝛾 𝑙 𝑟(𝑠𝑡+𝑙)
𝑉𝜋 𝑠𝑡 = 𝐸 𝑎 𝑡, 𝑠 𝑡+1,𝑎 𝑡+1,⋯ ෍
𝑙=0
∞
𝛾 𝑙 𝑟(𝑠𝑡+𝑙)
𝑎 𝑡~𝜋 𝑎 𝑡 𝑠𝑡 , 𝑠𝑡+1~𝑃(𝑠𝑡+1|𝑠𝑡, 𝑎 𝑡)
𝐴 𝜋 𝑠, 𝑎 = 𝑄 𝜋 𝑠, 𝑎 − 𝑉𝜋(𝑠)
Policy Gradient
• Parameterized policy 𝜋 𝜃, objective function 𝐽 𝜋 𝜃
• Policy gradient equation
1. Policy gradient of REINFORCE
𝛻𝜃 𝐽 𝜃 = 𝐸𝜏~𝜋 𝜃
෍
𝑡=0
∞
𝐺𝑡 𝛻𝜃 𝑙𝑜𝑔𝜋 𝜃 𝑎 𝑡 𝑠𝑡
2. Policy gradient of Actor-Critic
𝛻𝜃 𝐽 𝜃 = 𝐸𝑠 𝑡~𝜌 𝜃, 𝑎 𝑡~𝜋 𝜃
𝐴 𝜋 𝜃
(𝑠𝑡, 𝑎 𝑡)𝛻𝜃 𝑙𝑜𝑔𝜋 𝜃 𝑎 𝑡 𝑠𝑡
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
𝛻𝜃 𝐽 𝜃 ≅ መ𝐴(𝑠𝑡, 𝑎 𝑡)𝛻𝜃 𝑙𝑜𝑔𝜋 𝜃 𝑎 𝑡 𝑠𝑡
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를 찾자!
PG with Importance sampling
1. PG에서 이전 policy의 sample을 사용하기 위해 importance sampling 사용할 수 있음
𝛻𝜃 𝐽 𝜃 = 𝐸𝑠 𝑡~𝜌 𝜃, 𝑎 𝑡~𝜋 𝜃
𝐴 𝜋 𝜃
(𝑠𝑡, 𝑎 𝑡)𝛻𝜃 𝑙𝑜𝑔𝜋 𝜃 𝑎 𝑡 𝑠𝑡
= 𝐸𝑠 𝑡~𝜌 𝜃 𝑜𝑙𝑑
, 𝑎 𝑡~𝜋 𝜃 𝑜𝑙𝑑
𝜋 𝜃(𝑎 𝑡|𝑠𝑡)
𝜋 𝜃 𝑜𝑙𝑑
(𝑎 𝑡|𝑠𝑡)
𝐴 𝜋 𝜃
(𝑠𝑡, 𝑎 𝑡)𝛻𝜃 𝑙𝑜𝑔𝜋 𝜃 𝑎 𝑡 𝑠𝑡
2. Importance weight는 unbound  학습에 잘 안되게 함
• 관련 논문 ACER(Sample Efficient Actor-Critic with Experience Replay)
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)
2. Lower bound of performance
TRPO
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
Proof of Relative policy performance identity (참고)
Policy Iteration & objective function
𝐽 𝜋 = 𝐽 𝜋 𝑜𝑙𝑑 + ෍
𝑠
𝜌 𝜋(𝑠) ෍
𝑎
𝜋(𝑎|𝑠)𝐴 𝜋 𝑜𝑙𝑑
(𝑠, 𝑎)
• Policy improvement  greedy policy improvement
• 어떤 한 행동 상태가 positive advantage를 가지면 policy를 improve
𝜋 = 𝑎𝑟𝑔𝑚𝑎𝑥 𝑎 𝐴 𝜋 𝑜𝑙𝑑
(𝑠, 𝑎)
• Approximation error  𝐴 𝜋 𝑜𝑙𝑑
𝑠, 𝑎 < 0 가능, 𝜌 𝜋(𝑠) 구하기 어려움
• 𝐽 𝜋  local approximation
𝐿 𝜋 𝑜𝑙𝑑
(𝜋) = 𝐽 𝜋 𝑜𝑙𝑑 + ෍
𝑠
𝜌 𝜋 𝑜𝑙𝑑
(𝑠) ෍
𝑎
𝜋(𝑎|𝑠)𝐴 𝜋 𝑜𝑙𝑑
(𝑠, 𝑎)
Local Approximation
𝐽 𝜋 = 𝐽 𝜋 𝑜𝑙𝑑 + ෍
𝑠
𝜌 𝜋(𝑠) ෍
𝑎
𝜋(𝑎|𝑠)𝐴 𝜋 𝑜𝑙𝑑
(𝑠, 𝑎)
𝐿 𝜋 𝑜𝑙𝑑
(𝜋) = 𝐽 𝜋 𝑜𝑙𝑑 + ෍
𝑠
𝜌 𝜋 𝑜𝑙𝑑
(𝑠) ෍
𝑎
𝜋(𝑎|𝑠)𝐴 𝜋 𝑜𝑙𝑑
(𝑠, 𝑎)
Approximation을 통한 error가 얼마나 될까?
 Lower bound
Policy의 변화가 적다면 steady state
distribution의 변화도 무시할 수 있을 것이다
Local Approximation with parameterized policy
𝐿 𝜋 𝑜𝑙𝑑
(𝜋) = 𝐽 𝜋 𝑜𝑙𝑑 + ෍
𝑠
𝜌 𝜋 𝑜𝑙𝑑
(𝑠) ෍
𝑎
𝜋(𝑎|𝑠)𝐴 𝜋 𝑜𝑙𝑑
(𝑠, 𝑎)
 𝐿 𝜋 𝜃0
𝜋 𝜃0
= 𝐽 𝜋 𝜃0
∇ 𝜃 𝐿 𝜋 𝜃0
𝜋 𝜃 ቚ
𝜃=𝜃0
= ∇ 𝜃 𝐽 𝜋 𝜃 ቚ
𝜃=𝜃0
Kakade & Langford (2002)가 증명
즉, 𝜋 𝜃0
에서 policy를 조금만 변화시켰을 때
local approximation을 improve  objective function도 improve
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 + 𝛼𝜋′(𝑎|𝑠)
Conservative Policy Iteration
2. Lower bound of 𝐽
𝐽 𝜋 𝑛𝑒𝑤 ≥ 𝐿 𝜋 𝑜𝑙𝑑
𝜋 𝑛𝑒𝑤 −
2𝜀𝛾
1 − 𝛾 2
𝛼2
𝑤ℎ𝑒𝑟𝑒 𝜀 = max
𝑠
𝐸 𝑎~𝜋′ 𝑎 𝑠 𝐴 𝜋(𝑠, 𝑎)
 이제는 lower bound를 최적화하면 된다
 Parameterized policy에 대해서 mixture policy를 구할 수 없음
Lower bound
Conservative Policy Iteration의 변형
1. Mixture policy를 통해 policy 사이의 거리를 나타내지 않고 KL-div를 사용
𝛼2
→ 𝐷 𝐾𝐿
𝑚𝑎𝑥
𝜋 𝑜𝑙𝑑, 𝜋 𝑛𝑒𝑤
2. 변형된 lower bound 식
𝜂 𝜋 𝑛𝑒𝑤 ≥ 𝐿 𝜋 𝑜𝑙𝑑
𝜋 𝑛𝑒𝑤 − 𝐶𝐷 𝐾𝐿
𝑚𝑎𝑥
𝜋 𝑜𝑙𝑑, 𝜋 𝑛𝑒𝑤
𝑤ℎ𝑒𝑟𝑒 𝐶 =
4𝜀𝛾
1 − 𝛾 2
, 𝜀 = max
𝑠
𝐸 𝑎~𝜋′ 𝑎 𝑠 𝐴 𝜋(𝑠, 𝑎)
Lower bound of objective function
𝐽 𝜋 𝑛𝑒𝑤 ≥ 𝐿 𝜋 𝑜𝑙𝑑
𝜋 𝑛𝑒𝑤 − 𝐶𝐷 𝐾𝐿
𝑚𝑎𝑥
𝜋 𝑜𝑙𝑑, 𝜋 𝑛𝑒𝑤
현재 𝜃에서는 값이 모두 같음
3. Trust Region Policy Optimization
TRPO
Conservative Policy Iteration의 변형
Policy improvement
Policy evaluation
KL-constraint optimization
1. Parameterized policy를 lower bound 식에 적용
𝐽 𝜃 ≥ 𝐿 𝜃 𝑜𝑙𝑑
𝜃 − 𝐶𝐷 𝐾𝐿
𝑚𝑎𝑥
𝜃 𝑜𝑙𝑑, 𝜃
2. Lower bound의 optimization : C가 너무 커서 step이 작다
𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝐿 𝜃 𝑜𝑙𝑑
𝜃 − 𝐶𝐷 𝐾𝐿
𝑚𝑎𝑥
𝜃 𝑜𝑙𝑑, 𝜃
3. Large and robust step : KL-penalty  KL-constraint
𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝐿 𝜃 𝑜𝑙𝑑
𝜃
𝑠. 𝑡. 𝐷 𝐾𝐿
𝑚𝑎𝑥
𝜃 𝑜𝑙𝑑, 𝜃 ≤ 𝛿
KL-constraint optimization
𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝐿 𝜃 𝑜𝑙𝑑
𝜃
𝑠. 𝑡. 𝐷 𝐾𝐿
𝑚𝑎𝑥
𝜃 𝑜𝑙𝑑, 𝜃 ≤ 𝛿
Trust region
small step in policy space
Approximation of KL-divergence
𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝐿 𝜃 𝑜𝑙𝑑
𝜃 𝑠. 𝑡. 𝐷 𝐾𝐿
𝑚𝑎𝑥
𝜃 𝑜𝑙𝑑, 𝜃 ≤ 𝛿
• 이 때, 𝐷 𝐾𝐿
𝑚𝑎𝑥
𝜃 𝑜𝑙𝑑, 𝜃 은 모든 상태에 대해서 max이기 때문에 practical X
• Approximation!
𝐷 𝐾𝐿
𝑚𝑎𝑥
𝜃 𝑜𝑙𝑑, 𝜃 ~𝐷 𝐾𝐿
𝜌
𝜃 𝑜𝑙𝑑, 𝜃 ≔ 𝐸𝑠~𝜌 𝑜𝑙𝑑
𝐷 𝐾𝐿 𝜋 𝜃 𝑜𝑙𝑑
∙ 𝑠 || 𝜋 𝜃 ∙ 𝑠
• 새로운 sub-problem 식
𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝐿 𝜃 𝑜𝑙𝑑
𝜃 𝑠. 𝑡. 𝐷 𝐾𝐿
𝜌 𝑜𝑙𝑑
𝜃 𝑜𝑙𝑑, 𝜃 ≤ 𝛿
Surrogate advantage function
𝐿 𝜃 𝑜𝑙𝑑
𝜃 = 𝐽 𝜃 𝑜𝑙𝑑 + ෍
𝑠
𝜌 𝜋 𝜃 𝑜𝑙𝑑
(𝑠) ෍
𝑎
𝜋 𝜃(𝑎|𝑠)𝐴 𝜋 𝜃 𝑜𝑙𝑑
(𝑠, 𝑎)
𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝐿 𝜃 𝑜𝑙𝑑
𝜃 → 𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 ෍
𝑠
𝜌 𝜋 𝜃 𝑜𝑙𝑑
(𝑠) ෍
𝑎
𝜋 𝜃(𝑎|𝑠)𝐴 𝜋 𝜃 𝑜𝑙𝑑
(𝑠, 𝑎)
σ 𝑠 𝜌 𝜋 𝜃 𝑜𝑙𝑑
(𝑠) σ 𝑎 𝜋 𝜃(𝑎|𝑠)𝐴 𝜋 𝜃 𝑜𝑙𝑑
(𝑠, 𝑎)를 어떻게 구하지  approximation
Surrogate advantage function
෍
𝑠
𝜌 𝜋 𝜃 𝑜𝑙𝑑
(𝑠) ෍
𝑎
𝜋 𝜃(𝑎|𝑠)𝐴 𝜋 𝜃 𝑜𝑙𝑑
(𝑠, 𝑎) = 𝐸𝑠~𝜋 𝜃 𝑜𝑙𝑑
,𝑎~𝜋 𝜃
𝐴 𝜋 𝜃 𝑜𝑙𝑑
(𝑠, 𝑎)
= 𝐸𝑠~𝜋 𝜃 𝑜𝑙𝑑
,𝑎~𝜋 𝜃 𝑜𝑙𝑑
𝜋 𝜃(𝑎|𝑠)
𝜋 𝜃 𝑜𝑙𝑑
(𝑎|𝑠)
𝐴 𝜋 𝜃 𝑜𝑙𝑑
(𝑠, 𝑎)
𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝐸𝑠~𝜋 𝜃 𝑜𝑙𝑑
,𝑎~𝜋 𝜃 𝑜𝑙𝑑
𝜋 𝜃(𝑎|𝑠)
𝜋 𝜃 𝑜𝑙𝑑
(𝑎|𝑠)
𝐴 𝜋 𝜃 𝑜𝑙𝑑
(𝑠, 𝑎) 𝑠. 𝑡. 𝐷 𝐾𝐿
𝜌 𝑜𝑙𝑑
𝜃 𝑜𝑙𝑑, 𝜃 ≤ 𝛿
Importance
sampling
Surrogate advantage function
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
Natural Policy Gradient
• Change constraint problem
𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝑔 𝑇
𝜃 − 𝜃 𝑜𝑙𝑑
𝑠. 𝑡.
1
2
𝜃 − 𝜃 𝑜𝑙𝑑
𝑇
𝐻 𝜃 − 𝜃 𝑜𝑙𝑑 ≤ 𝛿
• Langrange Multiplier method
• 위 식의 해는 𝑔 𝑇
𝜃 − 𝜃 𝑜𝑙𝑑 − 𝛽
1
2
𝜃 − 𝜃 𝑜𝑙𝑑
𝑇
𝐻 𝜃 − 𝜃 𝑜𝑙𝑑 의 미분이 0되는 지점
• 𝛽 = 1 일 때, s = 𝜃 − 𝜃 𝑜𝑙𝑑direction 𝑠 을 먼저 구함
𝑔 − 𝐻𝑠 = 0
𝑠 = 𝐻−1 𝑔
Natural Policy Gradient
• KL-divergence constraint를 통해 𝑠𝑡𝑒𝑝 − 𝑠𝑖𝑧𝑒 𝛼를 구함
• Lagrange multiplier를 통해 구한 direction은 boundary에서의 direction
𝜃 − 𝜃 𝑜𝑙𝑑 = 𝛼𝑠
1
2
𝜃 − 𝜃 𝑜𝑙𝑑
𝑇
𝐻 𝜃 − 𝜃 𝑜𝑙𝑑 = 𝛿
→
1
2
𝛼𝑠 𝑇
𝐻 𝛼𝑠 = 𝛿
→ 𝛼 =
2𝛿
𝑠 𝑇 𝐻𝑠
=
2𝛿
𝑔 𝑇 𝐻−1 𝑔
(𝑠 = 𝐻−1
𝑔)
Natural Policy Gradient
• problem
𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝑔 𝑇
𝜃 − 𝜃 𝑜𝑙𝑑
𝑠. 𝑡.
1
2
𝜃 − 𝜃 𝑜𝑙𝑑
𝑇
𝐻 𝜃 − 𝜃 𝑜𝑙𝑑 ≤ 𝛿
• Solution
𝜃 𝑛𝑒𝑤 = 𝜃 𝑜𝑙𝑑 +
2𝛿
𝑔 𝑇 𝐻−1 𝑔
𝐻−1 𝑔
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 𝐻𝑣로 시작해서 𝐻𝑣 = 𝑔가 되도록 𝑣를 조정
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
Trust Region method
Trust Region method
Approximation
Sub-problem
Trust-region
Trust Region method
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)
4. Code review of TRPO
TRPO
OpenAI baselines
https://github.com/openai/baselines
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
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
현재 policy로 sample 모으기
def traj_segment_generator(pi, env, horizon, stochastic)
모은 sample로 GAE 계산하기
Surrogate advantage function 계산하기
𝐿 𝜃 𝑜𝑙𝑑
𝜃 = 𝐸𝑠~𝜋 𝜃 𝑜𝑙𝑑
,𝑎~𝜋 𝜃 𝑜𝑙𝑑
𝜋 𝜃(𝑎|𝑠)
𝜋 𝜃 𝑜𝑙𝑑
(𝑎|𝑠)
𝐴 𝜋 𝜃 𝑜𝑙𝑑
(𝑠, 𝑎)
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차 미분 :
Surrogate의 gradient와 KL-divergence의 hessian을 구하기
2. KL-divergence의 hessian matrix(2차 미분) : FIM 구하기
• FIM 계산 :
g와 H를 통해 (CG) search direction 계산
1. 𝐻−1
𝑔 계산
2. Search direction ∆=
2𝛿
𝑔 𝑇 𝐻−1 𝑔
𝐻−1
𝑔 계산
Search direction에 대해 backtracking line search
• 𝜃 𝑛𝑒𝑤 = 𝜃 𝑜𝑙𝑑 + 𝛼 𝑗∆ (𝐿 𝜃 𝑜𝑙𝑑
𝜃 > 0 𝑎𝑛𝑑 𝐷 𝐾𝐿
𝜌 𝑜𝑙𝑑
𝜃 𝑜𝑙𝑑, 𝜃 ≤ 𝛿일 때, stop)
Thank you
TRPO

Mais conteúdo relacionado

Mais procurados

Control as Inference.pptx
Control as Inference.pptxControl as Inference.pptx
Control as Inference.pptxssuserbd1647
 
Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)Suhyun Cho
 
Doing Deep Reinforcement learning with PPO
Doing Deep Reinforcement learning with PPODoing Deep Reinforcement learning with PPO
Doing Deep Reinforcement learning with PPO이 의령
 
오토인코더의 모든 것
오토인코더의 모든 것오토인코더의 모든 것
오토인코더의 모든 것NAVER Engineering
 
안.전.제.일. 강화학습!
안.전.제.일. 강화학습!안.전.제.일. 강화학습!
안.전.제.일. 강화학습!Dongmin Lee
 
OSS強化学習フレームワークの比較
OSS強化学習フレームワークの比較OSS強化学習フレームワークの比較
OSS強化学習フレームワークの比較gree_tech
 
파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강Woong won Lee
 
safe and efficient off policy reinforcement learning
safe and efficient off policy reinforcement learningsafe and efficient off policy reinforcement learning
safe and efficient off policy reinforcement learningRyo Iwaki
 
Safe Reinforcement Learning
Safe Reinforcement LearningSafe Reinforcement Learning
Safe Reinforcement LearningDongmin Lee
 
強化学習その3
強化学習その3強化学習その3
強化学習その3nishio
 
深層強化学習入門 2020年度Deep Learning基礎講座「強化学習」
深層強化学習入門 2020年度Deep Learning基礎講座「強化学習」深層強化学習入門 2020年度Deep Learning基礎講座「強化学習」
深層強化学習入門 2020年度Deep Learning基礎講座「強化学習」Tatsuya Matsushima
 
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)Curt Park
 
강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)
강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)
강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)Euijin Jeong
 
알아두면 쓸데있는 신기한 강화학습 NAVER 2017
알아두면 쓸데있는 신기한 강화학습 NAVER 2017알아두면 쓸데있는 신기한 강화학습 NAVER 2017
알아두면 쓸데있는 신기한 강화학습 NAVER 2017Taehoon Kim
 
[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.
[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.
[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.Deep Learning JP
 
[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learningDeep Learning JP
 
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜Jun Okumura
 
[DL Hacks]Simple Online Realtime Tracking with a Deep Association Metric
[DL Hacks]Simple Online Realtime Tracking with a Deep Association Metric[DL Hacks]Simple Online Realtime Tracking with a Deep Association Metric
[DL Hacks]Simple Online Realtime Tracking with a Deep Association MetricDeep Learning JP
 

Mais procurados (20)

Control as Inference.pptx
Control as Inference.pptxControl as Inference.pptx
Control as Inference.pptx
 
Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)
 
Doing Deep Reinforcement learning with PPO
Doing Deep Reinforcement learning with PPODoing Deep Reinforcement learning with PPO
Doing Deep Reinforcement learning with PPO
 
오토인코더의 모든 것
오토인코더의 모든 것오토인코더의 모든 것
오토인코더의 모든 것
 
안.전.제.일. 강화학습!
안.전.제.일. 강화학습!안.전.제.일. 강화학습!
안.전.제.일. 강화학습!
 
OSS強化学習フレームワークの比較
OSS強化学習フレームワークの比較OSS強化学習フレームワークの比較
OSS強化学習フレームワークの比較
 
파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강
 
safe and efficient off policy reinforcement learning
safe and efficient off policy reinforcement learningsafe and efficient off policy reinforcement learning
safe and efficient off policy reinforcement learning
 
Safe Reinforcement Learning
Safe Reinforcement LearningSafe Reinforcement Learning
Safe Reinforcement Learning
 
強化学習その3
強化学習その3強化学習その3
強化学習その3
 
深層強化学習入門 2020年度Deep Learning基礎講座「強化学習」
深層強化学習入門 2020年度Deep Learning基礎講座「強化学習」深層強化学習入門 2020年度Deep Learning基礎講座「強化学習」
深層強化学習入門 2020年度Deep Learning基礎講座「強化学習」
 
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)
 
강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)
강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)
강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)
 
알아두면 쓸데있는 신기한 강화학습 NAVER 2017
알아두면 쓸데있는 신기한 강화학습 NAVER 2017알아두면 쓸데있는 신기한 강화학습 NAVER 2017
알아두면 쓸데있는 신기한 강화학습 NAVER 2017
 
[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.
[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.
[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.
 
Matrix calculus
Matrix calculusMatrix calculus
Matrix calculus
 
A3C解説
A3C解説A3C解説
A3C解説
 
[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning
 
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
 
[DL Hacks]Simple Online Realtime Tracking with a Deep Association Metric
[DL Hacks]Simple Online Realtime Tracking with a Deep Association Metric[DL Hacks]Simple Online Realtime Tracking with a Deep Association Metric
[DL Hacks]Simple Online Realtime Tracking with a Deep Association Metric
 

Semelhante a 가깝고도 먼 Trpo

Vector Optimization
Vector Optimization Vector Optimization
Vector Optimization SEMINARGROOT
 
[한글] Tutorial: Sparse variational dropout
[한글] Tutorial: Sparse variational dropout[한글] Tutorial: Sparse variational dropout
[한글] Tutorial: Sparse variational dropoutWuhyun Rico Shin
 
Lecture 3: Unsupervised Learning
Lecture 3: Unsupervised LearningLecture 3: Unsupervised Learning
Lecture 3: Unsupervised LearningSang Jun Lee
 
Policy Gradient 부터 Actor-Critic 까지
Policy Gradient 부터 Actor-Critic 까지Policy Gradient 부터 Actor-Critic 까지
Policy Gradient 부터 Actor-Critic 까지Curt Park
 
한국인공지능연구소 강화학습랩 결과보고서
한국인공지능연구소 강화학습랩 결과보고서한국인공지능연구소 강화학습랩 결과보고서
한국인공지능연구소 강화학습랩 결과보고서Euijin Jeong
 
Multinomial classification and application of ML
Multinomial classification and application of MLMultinomial classification and application of ML
Multinomial classification and application of ML희수 박
 
Guided policy search
Guided policy searchGuided policy search
Guided policy searchJaehyeon Park
 
Lecture 2: Supervised Learning
Lecture 2: Supervised LearningLecture 2: Supervised Learning
Lecture 2: Supervised LearningSang Jun Lee
 
Eigendecomposition and pca
Eigendecomposition and pcaEigendecomposition and pca
Eigendecomposition and pcaJinhwan Suk
 
04. logistic regression ( 로지스틱 회귀 )
04. logistic regression ( 로지스틱 회귀 )04. logistic regression ( 로지스틱 회귀 )
04. logistic regression ( 로지스틱 회귀 )Jeonghun Yoon
 
ProximalPolicyOptimization
ProximalPolicyOptimizationProximalPolicyOptimization
ProximalPolicyOptimizationtaeseon ryu
 
ESM Mid term Review
ESM Mid term ReviewESM Mid term Review
ESM Mid term ReviewMario Cho
 
내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)SANG WON PARK
 
Neural network (perceptron)
Neural network (perceptron)Neural network (perceptron)
Neural network (perceptron)Jeonghun Yoon
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리SANG WON PARK
 
Dsh data sensitive hashing for high dimensional k-nn search
Dsh  data sensitive hashing for high dimensional k-nn searchDsh  data sensitive hashing for high dimensional k-nn search
Dsh data sensitive hashing for high dimensional k-nn searchWooSung Choi
 
Optimization algorithms in machine learning
Optimization algorithms in machine learningOptimization algorithms in machine learning
Optimization algorithms in machine learningYonsei University
 
Supervised Constrastive Learning
Supervised Constrastive LearningSupervised Constrastive Learning
Supervised Constrastive LearningSungchul Kim
 
03. linear regression
03. linear regression03. linear regression
03. linear regressionJeonghun Yoon
 

Semelhante a 가깝고도 먼 Trpo (20)

Vector Optimization
Vector Optimization Vector Optimization
Vector Optimization
 
[한글] Tutorial: Sparse variational dropout
[한글] Tutorial: Sparse variational dropout[한글] Tutorial: Sparse variational dropout
[한글] Tutorial: Sparse variational dropout
 
Lecture 3: Unsupervised Learning
Lecture 3: Unsupervised LearningLecture 3: Unsupervised Learning
Lecture 3: Unsupervised Learning
 
Policy Gradient 부터 Actor-Critic 까지
Policy Gradient 부터 Actor-Critic 까지Policy Gradient 부터 Actor-Critic 까지
Policy Gradient 부터 Actor-Critic 까지
 
한국인공지능연구소 강화학습랩 결과보고서
한국인공지능연구소 강화학습랩 결과보고서한국인공지능연구소 강화학습랩 결과보고서
한국인공지능연구소 강화학습랩 결과보고서
 
Multinomial classification and application of ML
Multinomial classification and application of MLMultinomial classification and application of ML
Multinomial classification and application of ML
 
SVM
SVMSVM
SVM
 
Guided policy search
Guided policy searchGuided policy search
Guided policy search
 
Lecture 2: Supervised Learning
Lecture 2: Supervised LearningLecture 2: Supervised Learning
Lecture 2: Supervised Learning
 
Eigendecomposition and pca
Eigendecomposition and pcaEigendecomposition and pca
Eigendecomposition and pca
 
04. logistic regression ( 로지스틱 회귀 )
04. logistic regression ( 로지스틱 회귀 )04. logistic regression ( 로지스틱 회귀 )
04. logistic regression ( 로지스틱 회귀 )
 
ProximalPolicyOptimization
ProximalPolicyOptimizationProximalPolicyOptimization
ProximalPolicyOptimization
 
ESM Mid term Review
ESM Mid term ReviewESM Mid term Review
ESM Mid term Review
 
내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)
 
Neural network (perceptron)
Neural network (perceptron)Neural network (perceptron)
Neural network (perceptron)
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리
 
Dsh data sensitive hashing for high dimensional k-nn search
Dsh  data sensitive hashing for high dimensional k-nn searchDsh  data sensitive hashing for high dimensional k-nn search
Dsh data sensitive hashing for high dimensional k-nn search
 
Optimization algorithms in machine learning
Optimization algorithms in machine learningOptimization algorithms in machine learning
Optimization algorithms in machine learning
 
Supervised Constrastive Learning
Supervised Constrastive LearningSupervised Constrastive Learning
Supervised Constrastive Learning
 
03. linear regression
03. linear regression03. linear regression
03. linear regression
 

Último

데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석JMP Korea
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP Korea
 

Último (7)

데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 

가깝고도 먼 Trpo

  • 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. 간단정리 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. 1. Problem of stochastic policy gradient 가깝고도 먼 TRPO
  • 5. 강화학습 문제의 정의 • MDP : Tuple (𝑆, 𝐴, 𝑃, 𝑟, 𝜌0, 𝛾) • 𝑃 : state transition probability • 𝜌0: distribution of initial state 𝑠0 • 𝑟 : reward function • 𝛾 : discount factor • 𝜋 ∶ 𝑆 × 𝐴 → 0, 1 : stochastic policy • 강화학습은 에이전트가 받을 보상을 최대화하는 policy를 구하는 문제 • 환경과의 상호작용을 통해 학습 • 환경의 모델과 보상을 미리 알지 못하는 상태에서 학습
  • 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. 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. Policy Gradient • Objective function  보통 첫 상태의 value function • Objective function은 policy의 함수여야 함 • PG의 목표는 objective function을 최대화하는 policy를 구하기 • 𝜏 = 𝑠0, 𝑎0, 𝑟1, 𝑠1, 𝑎1, 𝑟2, ⋯ 𝐽 𝜋 = 𝐸𝜏~𝜋 ෍ 𝑡=0 ∞ 𝛾 𝑡 𝑟(𝑠𝑡) = 𝐸𝑠0~𝜌0 𝑣 𝜋 𝑠0
  • 9. Policy Gradient • Q-function, Value function, Advantage function의 정의 𝑄 𝜋 𝑠𝑡, 𝑎 𝑡 = 𝐸𝑠 𝑡+1,𝑎 𝑡+1,⋯ ෍ 𝑙=0 ∞ 𝛾 𝑙 𝑟(𝑠𝑡+𝑙) 𝑉𝜋 𝑠𝑡 = 𝐸 𝑎 𝑡, 𝑠 𝑡+1,𝑎 𝑡+1,⋯ ෍ 𝑙=0 ∞ 𝛾 𝑙 𝑟(𝑠𝑡+𝑙) 𝑎 𝑡~𝜋 𝑎 𝑡 𝑠𝑡 , 𝑠𝑡+1~𝑃(𝑠𝑡+1|𝑠𝑡, 𝑎 𝑡) 𝐴 𝜋 𝑠, 𝑎 = 𝑄 𝜋 𝑠, 𝑎 − 𝑉𝜋(𝑠)
  • 10. Policy Gradient • Parameterized policy 𝜋 𝜃, objective function 𝐽 𝜋 𝜃 • Policy gradient equation 1. Policy gradient of REINFORCE 𝛻𝜃 𝐽 𝜃 = 𝐸𝜏~𝜋 𝜃 ෍ 𝑡=0 ∞ 𝐺𝑡 𝛻𝜃 𝑙𝑜𝑔𝜋 𝜃 𝑎 𝑡 𝑠𝑡 2. Policy gradient of Actor-Critic 𝛻𝜃 𝐽 𝜃 = 𝐸𝑠 𝑡~𝜌 𝜃, 𝑎 𝑡~𝜋 𝜃 𝐴 𝜋 𝜃 (𝑠𝑡, 𝑎 𝑡)𝛻𝜃 𝑙𝑜𝑔𝜋 𝜃 𝑎 𝑡 𝑠𝑡
  • 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. 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. PG with Importance sampling 1. PG에서 이전 policy의 sample을 사용하기 위해 importance sampling 사용할 수 있음 𝛻𝜃 𝐽 𝜃 = 𝐸𝑠 𝑡~𝜌 𝜃, 𝑎 𝑡~𝜋 𝜃 𝐴 𝜋 𝜃 (𝑠𝑡, 𝑎 𝑡)𝛻𝜃 𝑙𝑜𝑔𝜋 𝜃 𝑎 𝑡 𝑠𝑡 = 𝐸𝑠 𝑡~𝜌 𝜃 𝑜𝑙𝑑 , 𝑎 𝑡~𝜋 𝜃 𝑜𝑙𝑑 𝜋 𝜃(𝑎 𝑡|𝑠𝑡) 𝜋 𝜃 𝑜𝑙𝑑 (𝑎 𝑡|𝑠𝑡) 𝐴 𝜋 𝜃 (𝑠𝑡, 𝑎 𝑡)𝛻𝜃 𝑙𝑜𝑔𝜋 𝜃 𝑎 𝑡 𝑠𝑡 2. Importance weight는 unbound  학습에 잘 안되게 함 • 관련 논문 ACER(Sample Efficient Actor-Critic with Experience Replay)
  • 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. 2. Lower bound of performance TRPO
  • 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. Proof of Relative policy performance identity (참고)
  • 18. Policy Iteration & objective function 𝐽 𝜋 = 𝐽 𝜋 𝑜𝑙𝑑 + ෍ 𝑠 𝜌 𝜋(𝑠) ෍ 𝑎 𝜋(𝑎|𝑠)𝐴 𝜋 𝑜𝑙𝑑 (𝑠, 𝑎) • Policy improvement  greedy policy improvement • 어떤 한 행동 상태가 positive advantage를 가지면 policy를 improve 𝜋 = 𝑎𝑟𝑔𝑚𝑎𝑥 𝑎 𝐴 𝜋 𝑜𝑙𝑑 (𝑠, 𝑎) • Approximation error  𝐴 𝜋 𝑜𝑙𝑑 𝑠, 𝑎 < 0 가능, 𝜌 𝜋(𝑠) 구하기 어려움 • 𝐽 𝜋  local approximation 𝐿 𝜋 𝑜𝑙𝑑 (𝜋) = 𝐽 𝜋 𝑜𝑙𝑑 + ෍ 𝑠 𝜌 𝜋 𝑜𝑙𝑑 (𝑠) ෍ 𝑎 𝜋(𝑎|𝑠)𝐴 𝜋 𝑜𝑙𝑑 (𝑠, 𝑎)
  • 19. Local Approximation 𝐽 𝜋 = 𝐽 𝜋 𝑜𝑙𝑑 + ෍ 𝑠 𝜌 𝜋(𝑠) ෍ 𝑎 𝜋(𝑎|𝑠)𝐴 𝜋 𝑜𝑙𝑑 (𝑠, 𝑎) 𝐿 𝜋 𝑜𝑙𝑑 (𝜋) = 𝐽 𝜋 𝑜𝑙𝑑 + ෍ 𝑠 𝜌 𝜋 𝑜𝑙𝑑 (𝑠) ෍ 𝑎 𝜋(𝑎|𝑠)𝐴 𝜋 𝑜𝑙𝑑 (𝑠, 𝑎) Approximation을 통한 error가 얼마나 될까?  Lower bound Policy의 변화가 적다면 steady state distribution의 변화도 무시할 수 있을 것이다
  • 20. Local Approximation with parameterized policy 𝐿 𝜋 𝑜𝑙𝑑 (𝜋) = 𝐽 𝜋 𝑜𝑙𝑑 + ෍ 𝑠 𝜌 𝜋 𝑜𝑙𝑑 (𝑠) ෍ 𝑎 𝜋(𝑎|𝑠)𝐴 𝜋 𝑜𝑙𝑑 (𝑠, 𝑎)  𝐿 𝜋 𝜃0 𝜋 𝜃0 = 𝐽 𝜋 𝜃0 ∇ 𝜃 𝐿 𝜋 𝜃0 𝜋 𝜃 ቚ 𝜃=𝜃0 = ∇ 𝜃 𝐽 𝜋 𝜃 ቚ 𝜃=𝜃0 Kakade & Langford (2002)가 증명 즉, 𝜋 𝜃0 에서 policy를 조금만 변화시켰을 때 local approximation을 improve  objective function도 improve
  • 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. Conservative Policy Iteration 2. Lower bound of 𝐽 𝐽 𝜋 𝑛𝑒𝑤 ≥ 𝐿 𝜋 𝑜𝑙𝑑 𝜋 𝑛𝑒𝑤 − 2𝜀𝛾 1 − 𝛾 2 𝛼2 𝑤ℎ𝑒𝑟𝑒 𝜀 = max 𝑠 𝐸 𝑎~𝜋′ 𝑎 𝑠 𝐴 𝜋(𝑠, 𝑎)  이제는 lower bound를 최적화하면 된다  Parameterized policy에 대해서 mixture policy를 구할 수 없음 Lower bound
  • 23. Conservative Policy Iteration의 변형 1. Mixture policy를 통해 policy 사이의 거리를 나타내지 않고 KL-div를 사용 𝛼2 → 𝐷 𝐾𝐿 𝑚𝑎𝑥 𝜋 𝑜𝑙𝑑, 𝜋 𝑛𝑒𝑤 2. 변형된 lower bound 식 𝜂 𝜋 𝑛𝑒𝑤 ≥ 𝐿 𝜋 𝑜𝑙𝑑 𝜋 𝑛𝑒𝑤 − 𝐶𝐷 𝐾𝐿 𝑚𝑎𝑥 𝜋 𝑜𝑙𝑑, 𝜋 𝑛𝑒𝑤 𝑤ℎ𝑒𝑟𝑒 𝐶 = 4𝜀𝛾 1 − 𝛾 2 , 𝜀 = max 𝑠 𝐸 𝑎~𝜋′ 𝑎 𝑠 𝐴 𝜋(𝑠, 𝑎)
  • 24. Lower bound of objective function 𝐽 𝜋 𝑛𝑒𝑤 ≥ 𝐿 𝜋 𝑜𝑙𝑑 𝜋 𝑛𝑒𝑤 − 𝐶𝐷 𝐾𝐿 𝑚𝑎𝑥 𝜋 𝑜𝑙𝑑, 𝜋 𝑛𝑒𝑤 현재 𝜃에서는 값이 모두 같음
  • 25. 3. Trust Region Policy Optimization TRPO
  • 26. Conservative Policy Iteration의 변형 Policy improvement Policy evaluation
  • 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. KL-constraint optimization 𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝐿 𝜃 𝑜𝑙𝑑 𝜃 𝑠. 𝑡. 𝐷 𝐾𝐿 𝑚𝑎𝑥 𝜃 𝑜𝑙𝑑, 𝜃 ≤ 𝛿 Trust region small step in policy space
  • 29. Approximation of KL-divergence 𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝐿 𝜃 𝑜𝑙𝑑 𝜃 𝑠. 𝑡. 𝐷 𝐾𝐿 𝑚𝑎𝑥 𝜃 𝑜𝑙𝑑, 𝜃 ≤ 𝛿 • 이 때, 𝐷 𝐾𝐿 𝑚𝑎𝑥 𝜃 𝑜𝑙𝑑, 𝜃 은 모든 상태에 대해서 max이기 때문에 practical X • Approximation! 𝐷 𝐾𝐿 𝑚𝑎𝑥 𝜃 𝑜𝑙𝑑, 𝜃 ~𝐷 𝐾𝐿 𝜌 𝜃 𝑜𝑙𝑑, 𝜃 ≔ 𝐸𝑠~𝜌 𝑜𝑙𝑑 𝐷 𝐾𝐿 𝜋 𝜃 𝑜𝑙𝑑 ∙ 𝑠 || 𝜋 𝜃 ∙ 𝑠 • 새로운 sub-problem 식 𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝐿 𝜃 𝑜𝑙𝑑 𝜃 𝑠. 𝑡. 𝐷 𝐾𝐿 𝜌 𝑜𝑙𝑑 𝜃 𝑜𝑙𝑑, 𝜃 ≤ 𝛿
  • 30. Surrogate advantage function 𝐿 𝜃 𝑜𝑙𝑑 𝜃 = 𝐽 𝜃 𝑜𝑙𝑑 + ෍ 𝑠 𝜌 𝜋 𝜃 𝑜𝑙𝑑 (𝑠) ෍ 𝑎 𝜋 𝜃(𝑎|𝑠)𝐴 𝜋 𝜃 𝑜𝑙𝑑 (𝑠, 𝑎) 𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝐿 𝜃 𝑜𝑙𝑑 𝜃 → 𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 ෍ 𝑠 𝜌 𝜋 𝜃 𝑜𝑙𝑑 (𝑠) ෍ 𝑎 𝜋 𝜃(𝑎|𝑠)𝐴 𝜋 𝜃 𝑜𝑙𝑑 (𝑠, 𝑎) σ 𝑠 𝜌 𝜋 𝜃 𝑜𝑙𝑑 (𝑠) σ 𝑎 𝜋 𝜃(𝑎|𝑠)𝐴 𝜋 𝜃 𝑜𝑙𝑑 (𝑠, 𝑎)를 어떻게 구하지  approximation
  • 31. Surrogate advantage function ෍ 𝑠 𝜌 𝜋 𝜃 𝑜𝑙𝑑 (𝑠) ෍ 𝑎 𝜋 𝜃(𝑎|𝑠)𝐴 𝜋 𝜃 𝑜𝑙𝑑 (𝑠, 𝑎) = 𝐸𝑠~𝜋 𝜃 𝑜𝑙𝑑 ,𝑎~𝜋 𝜃 𝐴 𝜋 𝜃 𝑜𝑙𝑑 (𝑠, 𝑎) = 𝐸𝑠~𝜋 𝜃 𝑜𝑙𝑑 ,𝑎~𝜋 𝜃 𝑜𝑙𝑑 𝜋 𝜃(𝑎|𝑠) 𝜋 𝜃 𝑜𝑙𝑑 (𝑎|𝑠) 𝐴 𝜋 𝜃 𝑜𝑙𝑑 (𝑠, 𝑎) 𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝐸𝑠~𝜋 𝜃 𝑜𝑙𝑑 ,𝑎~𝜋 𝜃 𝑜𝑙𝑑 𝜋 𝜃(𝑎|𝑠) 𝜋 𝜃 𝑜𝑙𝑑 (𝑎|𝑠) 𝐴 𝜋 𝜃 𝑜𝑙𝑑 (𝑠, 𝑎) 𝑠. 𝑡. 𝐷 𝐾𝐿 𝜌 𝑜𝑙𝑑 𝜃 𝑜𝑙𝑑, 𝜃 ≤ 𝛿 Importance sampling Surrogate advantage function
  • 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. Natural Policy Gradient • Change constraint problem 𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝑔 𝑇 𝜃 − 𝜃 𝑜𝑙𝑑 𝑠. 𝑡. 1 2 𝜃 − 𝜃 𝑜𝑙𝑑 𝑇 𝐻 𝜃 − 𝜃 𝑜𝑙𝑑 ≤ 𝛿 • Langrange Multiplier method • 위 식의 해는 𝑔 𝑇 𝜃 − 𝜃 𝑜𝑙𝑑 − 𝛽 1 2 𝜃 − 𝜃 𝑜𝑙𝑑 𝑇 𝐻 𝜃 − 𝜃 𝑜𝑙𝑑 의 미분이 0되는 지점 • 𝛽 = 1 일 때, s = 𝜃 − 𝜃 𝑜𝑙𝑑direction 𝑠 을 먼저 구함 𝑔 − 𝐻𝑠 = 0 𝑠 = 𝐻−1 𝑔
  • 34. Natural Policy Gradient • KL-divergence constraint를 통해 𝑠𝑡𝑒𝑝 − 𝑠𝑖𝑧𝑒 𝛼를 구함 • Lagrange multiplier를 통해 구한 direction은 boundary에서의 direction 𝜃 − 𝜃 𝑜𝑙𝑑 = 𝛼𝑠 1 2 𝜃 − 𝜃 𝑜𝑙𝑑 𝑇 𝐻 𝜃 − 𝜃 𝑜𝑙𝑑 = 𝛿 → 1 2 𝛼𝑠 𝑇 𝐻 𝛼𝑠 = 𝛿 → 𝛼 = 2𝛿 𝑠 𝑇 𝐻𝑠 = 2𝛿 𝑔 𝑇 𝐻−1 𝑔 (𝑠 = 𝐻−1 𝑔)
  • 35. Natural Policy Gradient • problem 𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 𝜃 𝑔 𝑇 𝜃 − 𝜃 𝑜𝑙𝑑 𝑠. 𝑡. 1 2 𝜃 − 𝜃 𝑜𝑙𝑑 𝑇 𝐻 𝜃 − 𝜃 𝑜𝑙𝑑 ≤ 𝛿 • Solution 𝜃 𝑛𝑒𝑤 = 𝜃 𝑜𝑙𝑑 + 2𝛿 𝑔 𝑇 𝐻−1 𝑔 𝐻−1 𝑔
  • 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. 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
  • 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. 4. Code review of TRPO TRPO
  • 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. 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. 현재 policy로 sample 모으기 def traj_segment_generator(pi, env, horizon, stochastic)
  • 47. 모은 sample로 GAE 계산하기
  • 48. Surrogate advantage function 계산하기 𝐿 𝜃 𝑜𝑙𝑑 𝜃 = 𝐸𝑠~𝜋 𝜃 𝑜𝑙𝑑 ,𝑎~𝜋 𝜃 𝑜𝑙𝑑 𝜋 𝜃(𝑎|𝑠) 𝜋 𝜃 𝑜𝑙𝑑 (𝑎|𝑠) 𝐴 𝜋 𝜃 𝑜𝑙𝑑 (𝑠, 𝑎)
  • 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. Surrogate의 gradient와 KL-divergence의 hessian을 구하기 2. KL-divergence의 hessian matrix(2차 미분) : FIM 구하기 • FIM 계산 :
  • 51. g와 H를 통해 (CG) search direction 계산 1. 𝐻−1 𝑔 계산 2. Search direction ∆= 2𝛿 𝑔 𝑇 𝐻−1 𝑔 𝐻−1 𝑔 계산
  • 52. Search direction에 대해 backtracking line search • 𝜃 𝑛𝑒𝑤 = 𝜃 𝑜𝑙𝑑 + 𝛼 𝑗∆ (𝐿 𝜃 𝑜𝑙𝑑 𝜃 > 0 𝑎𝑛𝑑 𝐷 𝐾𝐿 𝜌 𝑜𝑙𝑑 𝜃 𝑜𝑙𝑑, 𝜃 ≤ 𝛿일 때, stop)