SlideShare a Scribd company logo
1 of 97
Download to read offline
2018/06/30 문수영 RLI STUDY
그냥 미분 두 번 하는거야~
)
( 0 (
	
*직관적인 이해를 위한 쉬운 표현을 많이 썼고 개인적인 견해가 들어가 있는 부분도 많으니 참조 바랍니다. 중간 중간 질문과 피드백을 해주시면 감사합니다.
Natural Policy Gradient = Policy Gradient + Natural Gradient
어때요? 참 쉽죠?
왜 공부할까?
현재(2018년 6월 기준) PPO(Proximal Policy Optimization)가 베이
스라인이다. PPO가 나오게 된 히스토리를 알기 위해서는 NPG를
알아야 한다.
NPG(2001) à TRPO(2015) à PPO(2017)
Policy Gradient 리뷰 à Natural Gradient 개요 à 논문 내용 살펴보기
이야기 순서
이야기 순서
1. Review: Policy Gradient
2. Overview: Natural Gradient
3. Abstract
4. Introduction
5. Natural Gradient
6. Theorem 1: Compatible Function Approximation
7. Theorem 2: Greedy Policy Improvement ( policy ∝ exp )
8. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy )
9. Metrics and Curvatures
10. Experiments
11. Discussion
이야기 순서
1. Review: Policy Gradient
2. Overview: Natural Gradient
3. Abstract
4. Introduction
5. Natural Gradient
6. Theorem 1: Compatible Function Approximation
7. Theorem 2: Greedy Policy Improvement ( policy ∝ exp )
8. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy )
9. Metrics and Curvatures
10. Experiments
11. Discussion
Review: Policy Gradient 1. 폴리시와 목표함수
Review: Policy Gradient
폴리시와 목표함수
!(#): 성능(목표함수)
∇! # à &학습 à !(#) 최대화
#' + 1 = #' + + ,∇!(#')
Initial
parameter
Gradient ,∇!(#')
&
Local maximum-(&.)
Gradient Ascent
-(&)
강화학습의 목표: 보상을 최대화 하는 것
Review: Policy Gradient
폴리시와 목표함수
앞의 그래프 == x축: # $축: %(#)
아래 그래프 == x축: 거리 $축: 높이
이야기 순서
1. Review: Policy Gradient
2. Overview: Natural Gradient
3. Abstract
4. Introduction
5. Natural Gradient
6. Theorem 1: Compatible Function Approximation
7. Theorem 2: Greedy Policy Improvement ( policy ∝ exp )
8. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy )
9. Metrics and Curvatures
10. Experiments
11. Discussion
Overview: Natural Gradient
1. 매니폴드의 이해
2. 일차미분과 이차미분
3. 테일러 급수와 미분
Overview: Natural Gradient
매니폴드의 이해
앞서 policy는 parameter (!) 로 이루어진 함수라고 정의 내렸다. policy는 몇 차 함수일까? 딥러닝 표현을
빌리자면, 레이어 수와 노드 수에 따라 달라질 것이다. 쉬운 예로, policy를 근사한 정책신경망이 있고 하
나의 히든 레이어가 (256 , 3)의 크기의 파라미터 행렬로 이루어져 있다고 가정하자. 이 때, 하나의 히든 레
이어만 보아도 policy는 256*3=768 차원인 것이다. 이는 굉장히 고차원이고 우리가 머릿속으로 떠올릴 수
있는 차원이 아니다. 이런 고차원의 Policy의 함수를 시각화하기 위해서 편의상 3차원으로 떠올려보자.
Policy parameter theta 의 벡터가 아래와 같은 (3,1) 형태라고 해보자
3.5
8.0
3.9
예시
최적의 폴리시를 찾는 과정에서 폴리시는 조금씩 변한다. 그때마다
나오는 폴리시 벡터를 점으로 찍어보면 저렇게 공간에 흩뿌려진 형태
가 나올 것이다.
3.8
8.0
3.0
() ()*
매니폴드에 들어가기 앞서 우리가 알고 있는 내용들…
Overview: Natural Gradient
매니폴드의 이해
매니폴드는 이 점들을 아우르는 subspace다 !
Manifold: 많이 접힌 것. 즉, 많이 접
히면서 점들을 아우르는 것. 이것
을 쫙쫙 펴서 2-d로 만들어 버리면
dimensionally reduction이 되는 것
이다. (물론 완벽한 2-d가 되지 않
을 수 있지만 국소적으로는 2-d가
된다)
그렇다면 점(여기서는 policy)들을
매니폴드 위에 두고 생각하면 좋
은 점이 뭘까?
à 고차원 파라미터를 저차원에서
생각할 수 있다.
à 점들 사이의 상관관계를 더욱
잘 알 수 있다!
à 이 말을 뒷장에서 더 이해
해보자.
Overview: Natural Gradient
매니폴드의 이해
매니폴드를 따라 조금씩 점을 이동하면 유의미한 변화가 나타남을 의미한다.
Overview: Natural Gradient
매니폴드의 이해
아니, 그래서 NPG 공부하기 전에 매니폴드를 왜 배우는데?
Natural Gradient Method는 어떤 파라미터 공간에서의 steepest descent direction을 강조하기 때문!
이때 파라미터 공간은 리만 매니폴드이다. 리만 매니폴드는 매니폴드가 각지지 않고 미분가능하게 부드럽게
곡률을 가진 면이라고 생각하면 된다.
Overview: Natural Gradient
매니폴드의 이해
다시 내용으로 돌아와서 이런 policy 들이 좌표에 있다고 생각해보자.
Overview: Natural Gradient
매니폴드의 이해
매니폴드를 고려하지 않고 B에서 A1의 거리와 A2의 거리를 비교해 보면 즉, 유클리드 공간에서의 거리는 A1이
더 가깝다고 여길 것이다. 그러나 매니폴드를 고려하면 B에서 A1보다 A2가 더 가깝다.
과연 답은? 직선거리일까?
(우리는 지구에 살고 있다.)
Overview: Natural Gradient
매니폴드의 이해
ü policy(B)에서 policy gradient를 통해 policy(B + delta B)로 간 것이 policy(A1)이라면 policy가 너무 지나치게 바
뀜을 느낄 수 있다. 그러므로 delta B에 0.0001같이 작은 수의 스텝사이즈를 곱해주어 조금씩 변하게 했다.
ü policy(B)에서 policy gradient를 통해 policy(B + delta B)로 간 것이 policy(A2)라면 policy가 보다 더 유의미하게
변할 수 있다.
쉽게 말해 BàA1 보다 BàA2가 더 covariant하다고 할 수 있다.
Overview: Natural Gradient
매니폴드의 이해
ü 그러면 policy을 유클리드 공간으로 해석하기 보다는 (여기서는 리만) manifold 베이스로 해석하면 좀 더 유
의미하게 바라보고 정확하게 gradient할 수 있지 않을까?
그리하여..
ü Natural Gradient에서는 policy가 리만 manifold를 따른다는 가정을 한다.
ü Riemannian manifold? Manifold 중에서도 부드럽게 생긴, 미분 가능한 Manifold라고 이해하고 넘어가자.
Overview: Natural Gradient
매니폴드의 이해
리만 매니폴드 (리만 공간)
Overview: Natural Gradient
매니폴드의 이해
ü 논문의 Natural Policy Gradient는 리만 공간(굽은 공간)에서의 일차 미분(일차 근사)을 이용한 gradient로
policy를 업데이트 하는 것이다.
유클리디안 공간에서 보면, 곡률을 따른 일직선은 곡선
으로 보인다.
즉, 곡률의 일차 근사가 유클리디안 공간에서는 일차 근
사가 아닌 이차 근사이다.
쉽게 말해서
유클리디안 공간에서의 이차 미분 = 리만 공간에서의 일차 미분
이라고 생각하고 있자.
Overview: Natural Gradient
대충 Natural Gradient 의 느낌이 왔다면,
이제 유클리디안 공간에서의
일차 미분(근사)과 이차 미분(근사)이 어떻게 다른지 살펴보자
Overview: Natural Gradient
일차미분과 이차미분
최적화
Overview: Natural Gradient
일차미분으로 함수 최적화
출처: 다크프로그래머, 최적화 기법의 직관적 이해
일차미분과 이차미분
Overview: Natural Gradient
일차미분으로 함수 최적화
--- (1)
출처: 다크프로그래머, 최적화 기법의 직관적 이해
일차미분과 이차미분
Overview: Natural Gradient
일차미분으로 함수 최적화
--- (1)
출처: 다크프로그래머, 최적화 기법의 직관적 이해
일차미분과 이차미분
Overview: Natural Gradient
이차미분으로 함수 최적화
--- (2)
출처: 다크프로그래머, 최적화 기법의 직관적 이해
일차미분과 이차미분
30
Overview: Natural Gradient
이차미분으로 함수 최적화
--- (2)
출처: 다크프로그래머, 최적화 기법의 직관적 이해
일차미분과 이차미분
Overview: Natural Gradient
테일러 급수 관점에서 보기.
테일러 급수와 미분
테일러 급수
Overview: Natural Gradient
테일러 급수 관점에서 보기.
함수가 sin(x)라고 가정.
x = 0 에서의 1차 근사하면 y=x
x = 0 에서 멀어질 수록 실제 함수와 점점 멀어져 엉뚱한 방향으로 gradient될 수 있음(스텝사이즈를 작게 설정하는 이유)
x = 0 근처에서 gradient되게끔 한다.
테일러 급수와 미분
Overview: Natural Gradient
테일러 급수 관점에서 보기.
테일러 급수와 미분
출처: https://m.blog.naver.com/PostView.nhn?blogId=papers&logNo=220751624818&proxyReferer=https%3A%2F%2Fwww.google.com%2F
Overview: Natural Gradient
테일러 급수 관점에서 보기.
테일러 급수와 미분
함수가 e^x 일 때,
출처: https://m.blog.naver.com/PostView.nhn?blogId=papers&logNo=220751624818&proxyReferer=https%3A%2F%2Fwww.google.com%2F
이야기 순서
1. Review: Policy Gradient
2. Overview: Natural Gradient
3. Abstract
4. Introduction
5. Natural Gradient
6. Theorem 1: Compatible Function Approximation
7. Theorem 2: Greedy Policy Improvement ( policy ∝ exp )
8. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy )
9. Metrics and Curvatures
10. Experiments
11. Discussion
Abstract
Abstract
Key Information
1. We provide a natural gradient method that represents the steepest descent direction based on
the underlying structure of the parameter space.
2. Although gradient methods cannot make large changes in the values of the parameters, we show
that the natural gradient is moving toward choosing a greedy optimal action rather than just a
better action.
Abstract
3. These greedy optimal actions are those that would be chosen under one improvement step of
policy iteration with approximate, compatible value functions, as defined by Sutton et al.
4. We then show drastic performance improvements in simple MDPs and in the more challenging
MDP of Tetris.
만약 가치함수근사와 함께 쓰인다면, policy iteration에서 one improvement step에서 그리디 최적 행동이 선택되는 것이다.
이게 무슨 이야기인지는 뒤에 가면서 이해하도록 하자…
Simple MDP, Tetris MDP에서 성능이 크게 향상되었다.
이야기 순서
1. Review: Policy Gradient
2. Overview: Natural Gradient
3. Abstract
4. Introduction
5. Natural Gradient
6. Theorem 1: Compatible Function Approximation
7. Theorem 2: Greedy Policy Improvement ( policy ∝ exp )
8. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy )
9. Metrics and Curvatures
10. Experiments
11. Discussion
Introduction
Introduction
1. Policy gradient: 미래 보상에 gradient을 취해 최적의 policy를 찾는 방법
2. 유클리드 공간을 전제로 이루어졌던 기존의 방법이었던 SGD는 non-covariant
3. 리만 공간을 전제로 이루어졌던 Natural gradient는 covariant
4. Policy iteration과 연결점이 있음 (뒤에서 설명)
5. 고원 현상이 심하지 않음. (뒤에서 알 수 있음)
이야기 순서
1. Review: Policy Gradient
2. Overview: Natural Gradient
3. Abstract
4. Introduction
5. Natural Gradient
6. Theorem 1: Compatible Function Approximation
7. Theorem 2: Greedy Policy Improvement ( policy ∝ exp )
8. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy )
9. Metrics and Curvatures
10. Experiments
11. Discussion
Natural Gradient
1. Assume
2. 방향과 크기
3. Natural Gradient 정의
Natural Gradient
Natural Gradient가 뭔지 정의하기 전에 몇 가지를 가정하고 갑시다.
Assume à Gradient 방향과 크기(거리) 정의 à Natural Gradient 정의
ü Finite MDP: (", $%, &, ', ()
ü Decision making method: policy(a;s)
ü Every policy is ergodic (well-defined stationary distribution *+
)
ü Average reward:
ü State-action value:
ü Value function:
ü Policy , 폴리시 함수는 미분 가능한 함수
ergodic: 상태전이확률*stationary distribution = stationary distribution … 상태벡터에 상태전이확률벡터를 여러번 곱해도 상태벡터값이 변하지 않고 그대로 이다. 이게 무슨 의미냐면
상태전이를 얼마나 하든 그 정해진 상태전이확률값에 맞게 상태전이를 하면 상태에 머물 확률(stationary distribution)도 변하지 않는다.
Natural Gradient
Assume
ü The exact gradient of the average reward:
Natural Gradient
Assume
여기서 잠깐~
잊지 말자! 결국 우리가 원하는 건 ‘policy 최적화를 좀 더 스마트하게 잘 해 보자!’ 이다.
Policy 최적화를 잘한다는 것은
Policy를 어느 방향으로 얼만큼 ‘잘’ 업데이트 하느냐에 달렸다.
이 다음 슬라이드 부터는 어느 방향으로 얼만큼 gradient하는지 대해 알려준다.
ü 업데이트 방향(steepest descent direction):
!(# + %#)를 미니마이즈하는 방향 (%#)
ü 업데이트 크기(거리):
|%#|(
Natural Gradient
방향과 크기
방향은 .. 사실 우리가 흔히 아는 서튼 pg나 다를게 없고..
저기 업데이트 크기(거리)에 대해 이야기를 하고자 한다!!! 이 부분에 집중!
|"#|$
= "#"#
유클리드 공간에서는 파라미터 # 간의 거리를 이렇게 표현해도 된다.
여기서 명심할 것은 파라미터 #의 공간은 굉장히 고차원이라는 것이다.
아까 가정할 때 &' 는 미분가능하다 했으니 막 구불구불한 고차원의 함수일
것이다. 이 &'의 파라미터는 매니폴드(리만 매니폴드)로 표현할 수 있다.
문제는 파라미터 #가 새로 업데이트 됨에 따라 매니폴드 모양이 계속 바뀔 수
가 있다.
è 매니폴드 모양이 계속 바뀌면 어떤 두 점 사이의 거리가 계속 바뀔 수 있다.
예를 들면, #1, #2 간의 거리가 일정하지 않은 것이다. 그러므로 이러한 상황
까지 아우를 수 있는 좀 더 general한 거리 재는 법이 필요하다!
Natural Gradient
방향과 크기
조금 단순하고 극단적인? 시각화 예시를 보자.
Natural Gradient
방향과 크기
초기 중기 말기
매니폴드를 2d로 쫙쫙 펴낼 수 있다는 가정하에 매니폴드를 펴놓고 보면 원래는 같아야 할 !1, !2의 거리가 다르다.
Natural Gradient
방향과 크기
그러므로 이러한 상황까지 아우를 수 있는 좀 더 general하게 거리 재는 법이 필요하다!
!(#) 라는 친구가 등장하는데…
그런 수식이 바로 아래와 같다.
Natural Gradient
방향과 크기
!(#)
!(#)
%(&) 는 positive-definite matrix(양의 정부호 행렬).
양의 정부호는 극소점을 가지며 그래프의 모양은 그릇 형태이다.
이차함수의 극점을 찾는 것과 밀접한 관계가 있다..
자세한 내용은 아래로 들어가면 된다.
http://bskyvision.com/205
Natural Gradient
Natural Gradient 정의
!(#)
!(#) 가 identity matrix면 위 식은 유클리드 공간에서 거리를 재는 것과 같다.
리만 공간(리만 매니폴드)을 기반으로 하여 거리를 재는 방법을 Natural Gradient 라고 한다.
아까 말했듯이
Manifold 모양이 계속 바뀔때마다 같아야 할 % 간의 거리가 달라져(variant) 버리면 policy 최적화에
어려움을 겪을 수 있으니 이를 invariant하게 만드는게 좋은데 그 방법은 Fisher information matrix를
!(#)로 쓰는 것이다.
Fisher information matrix
FIM: 리만 공간에 적용 가능한 positive definite matrix 중 하나 이다.
Natural Gradient
Natural Gradient 정의
Natural Gradient
Natural Gradient 정의
NPG에서의 steepest descent direction은 아래와 같다.
증명은 따로 하지 않겠다.
원한다면 아래를 눌러 참조하라(이웅원님의 NPG설명)
(https://dnddnjs.github.io/paper/2018/05/22/natural-policy-
gradient/)
Natural Gradient
Natural Gradient 정의
NPG에서의 steepest descent direction은 아래와 같다.
의미를 해석해 보면 이렇다.
‘FIM이라는 positive-definite matrix를 써서 리만 공간을 고려한 방향 및 크기로
목표함수를 업데이트 한다.’
이야기 순서
1. Review: Policy Gradient
2. Overview: Natural Gradient
3. Abstract
4. Introduction
5. Natural Gradient
6. Theorem 1: Compatible Function Approximation
7. Theorem 2: Greedy Policy Improvement ( policy ∝ exp )
8. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy )
9. Metrics and Curvatures
10. Experiments
11. Discussion
NPG의 정의를 이용해 3 가지 이론을
내기 시작..
Theorem 1: Compatible
Function Approximation
1. Assume
2. Theorem
3. Proof
4. meaning
Theorem 1: Compatible Function Approximation
이론1: Natural Policy Gradient와 Function Approximation를 같이 쓸 수 있다.
(둘이 무슨 관계가 있다.)
*여기서 Function Approximation은 큐함수 근사를 의미
이론1: Natural Policy Gradient와 Function Approximation를 같이 쓸 수 있다.
Theorem 1: Compatible Function Approximation
Assume
프싸이 ß policy의 기울기
f ß y=ax ß linear function ß Q value를 근사한 함수
**당시는 딥뉴럴넷이 없어서 이렇게 직접 수식으로 근사.
Q를 근사한 f와 실제 Q의 에러식 ß MSE
이론1: Natural Policy Gradient와 Function Approximation를 같이 쓸 수 있다.
Theorem 1: Compatible Function Approximation
Theorem
응? 정확히 와닿지 않음.
Theorem 1: Compatible Function Approximation
Theorem
증명부분 어렵지 않음
Theorem 1: Compatible Function Approximation
meaning
웅원님 블로그 참조
이야기 순서
1. Review: Policy Gradient
2. Overview: Natural Gradient
3. Abstract
4. Introduction
5. Natural Gradient
6. Theorem 1: Compatible Function Approximation
7. Theorem 2: Greedy Policy Improvement ( policy ∝ exp )
8. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy )
9. Metrics and Curvatures
10. Experiments
11. Discussion
Theorem 2: Greedy Policy Improvement
( policy ∝ exp )
Theorem 2: Greedy Policy Improvement ( policy ∝ exp )
이론2: policy가 exponential 형태의 함수라면, 스텝사이즈를 무한으로 보냈을 때의 policy는 베스트 액션을 취한다.
증명은 웅원님 블로그 참조
직관적 이해를 하는 것에 초점을 맞추겠음
Overview: Natural Gradient
매니폴드의 이해
ü 논문의 Natural Policy Gradient는 리만 공간(굽은 공간)에서의 일차 미분(일차 근사)을 이용한 gradient로
policy를 업데이트 하는 것이다.
유클리디안 공간에서 보면, 곡률을 따른 일직선은 곡선
으로 보인다.
즉, 곡률의 일차 근사가 유클리디안 공간에서는 일차 근
사가 아닌 이차 근사이다.
쉽게 말해서
유클리디안 공간에서의 이차 미분 = 리만 공간에서의 일차 미분
이라고 생각하고 있자.
편의상 유클리드 공간에서 이차미분하는 걸로 설명하겠음.
Theorem 2: Greedy Policy Improvement ( policy ∝ exp )
1. 2차 근사가 1차 근사보다 policy 함수를 잘 근사하고 있음.
2. 2차 근사: 어느 theta 에서 시작해도 스텝사이즈를 무한으
로 보내면 best action을 취하도록 한다.
3. 1차 근사: theta가 완전 음수값일 경우 gradient가 거의 0에
수렴하므로 스텝사이즈가 아무리 무한이어도 best action
을 취하기 어려울 수 있다.(better action정도는 취할 수 있
을지 몰라도)
Theorem 2: Greedy Policy Improvement ( policy ∝ exp )
이야기 순서
1. Review: Policy Gradient
2. Overview: Natural Gradient
3. Abstract
4. Introduction
5. Natural Gradient
6. Theorem 1: Compatible Function Approximation
7. Theorem 2: Greedy Policy Improvement ( policy ∝ exp )
8. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy )
9. Metrics and Curvatures
10. Experiments
11. Discussion
Theorem 3: Greedy Policy Improvement
( policy == general parameterized policy )
1. Theorem
2. Result
3. Solution – Line Search
이론3: policy가 general function이고 Natural policy gradient로 policy를 업데이트 하는 것은
테일러 급수의 1차 근사와 같다.
* 리만 공간이니까 1차 근사
Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy )
Theorem
Policy 가 exp가 아닌 general function일 때는
Greedy action 을 취하는게 잘 안됐다.
그 이유는 뭘까?
만약 policy가 log(1+x)라고 가정해보자.
Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy )
Result
아무리 2차 근사라도 그림에서와 같이 근사한 것과 policy 함수가 점점 벌어지는 모습을 볼 수 있다. 즉, 스텝
사이즈 a가 무한으로 가면 엉뚱한 방향으로 policy 업데이트될 수 있으므로 이런 경우 greedy action을 취하지
못한다.
Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy )
Result
또한 이차 미분의 문제점은 (a)와 같이 변곡점에서 매우 불안정한 이동 특성을 보이고, (b)와 같이 변곡점 근처
에서 발산할 수도 있다. 또한 이동방향을 결정할 때 극대, 극소를 신경 쓰지 않는다는 점이다(c).
아래는 policy가 f(x) = x3 - 2x + 1 함수 형태일 때의 예시다.
Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy )
Result
(d)(c)(a) (b)
Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy )
Solution – Line Search
Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy )
Solution – Line Search
출처: 다크프로그래머
http://darkpgmr.tistory.com/149
이야기 순서
1. Review: Policy Gradient
2. Overview: Natural Gradient
3. Abstract
4. Introduction
5. Natural Gradient
6. Theorem 1: Compatible Function Approximation
7. Theorem 2: Greedy Policy Improvement ( policy ∝ exp )
8. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy )
9. Metrics and Curvatures
10. Experiments
11. Discussion
Metrics and Curvatures 1. FIM과 Hessian 이야기
79
• Obviously, our choice of F is not unique and the question arises as to whether or not there is a better metric to use
than F.
FIM 말고 G에 넣을 더 좋은 매트릭스 없을까?
• In the different setting of parameter estimation, the Fisher information converges to the Hessian, so it is
asymptotically efficient
FIM은 결국 Hessian으로 수렴해. 그래서 점진적으로 효율적이야.
ü FIM과 Hessian이 뭐가 다른건가?
- FIM은 stochastic하게 파라미터가 변할 때, Hessian은 파라미터가 딱 고정되어 있을 때 쓴다.
- 즉, 목표함수가 최적화되면서 파라미터가 거의 변동이 없을 시점이 될 수록 FIMàHessian 수우우렴
- 고로 헤시안으로 수렴하면서 피셔정보매트릭스를 계속 계산해주지 않아도 되므로 더 효율적이다.(내
생각..)
Metrics and Curvatures
FIM과 Hessian 이야기
80
Metrics and Curvatures
FIM과 Hessian 이야기
81
Metrics and Curvatures
FIM과 Hessian 이야기
• Our situation is more similar to the blind source separation case where a metric is chosen based on the underlying
parameter space (of non-singular matrices) and is not necessarily asymptotically efficient (ie does not attain second
order convergence)
ü Metric은 파라미터 공간에 의해 결정되니까 Blind Source Separation과 비슷한 상황이다.
• As argued by Mackay , one strategy is to pull a metric out of the data-independent terms of the Hessian (if
possible), and in fact, Mackay arrives at the same result as Amari for the blind source separation case.
ü 헤시안에서 data-independent한 항을 metric으로 뽑아서 쓰는 것도 하나의 전략이 될 수 있다!(?)
ü 근데 위 식을 보니까 data-independent한게 없다.
ü 그나마 미분 두번들어가는 맨 첫번째 항이 FIM이랑 좀 관련있어 보인다.
ü 근데 문제는 저기 Q가 policy의 매니폴드 곡률에 영향을 끼치고 있다.. 그러나 우리 거리계산법은 Q값을
고려 안했었다! (G * d_theta * d_theta 였음)
ü 꼭 FIM이 Hessian으로 수렴할 필요는 없다. 그리고일반적으로 헤시안은 positive definite하지 않을 때도
있다.
ü 그래서 로컬 미니마 근처에서만 좀 쓸만하고 그게 아니라면 거의 쓰지 않을 것이다.
ü 근데 로컬 미니마 근처에서만 쓸꺼면 Conjugate Method(inversed hessian)가 더 효율적일꺼라고 생각.
82
Metrics and Curvatures
FIM과 Hessian 이야기
이야기 순서
1. Review: Policy Gradient
2. Overview: Natural Gradient
3. Abstract
4. Introduction
5. Natural Gradient
6. Theorem 1: Compatible Function Approximation
7. Theorem 2: Greedy Policy Improvement ( policy ∝ exp )
8. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy )
9. Metrics and Curvatures
10. Experiments
11. Discussion
Experiments
1. simple I-dimensional linear quadratic
regulator with dynamics
2. a simple 2-state MDP
3. The game of Tetris
85
Experiments
simple I-dimensional linear quadratic regulator with dynamics
The goal is to apply a control signal u to keep
the system at x = 0, (incurring a cost of X(t)^2
at each step).
환경:
policy:
목표:
86
Experiments
simple I-dimensional linear quadratic regulator with dynamics
왼쪽 세 줄은 npg, 오른쪽 세줄은 일반 gradient
1. NPG가 더 빨리 수렴한다
2. NPG는 parameter theta의 매니폴더 바뀌어도 invariant한 결과(covariance)가 나올 것이라 생각했지만 아니었다.
3. 그 이유는 아마 stationary distribution이 곱해지면서 영향을 받은 것으로 보인다.
87
Experiments
a simple 2-state MDP
초기설정: i의 stationary distribution=0.8
j의 stationary distribution=0.2
목표: j에 머물도록 하는 것
Policy:
일반 gradient 방법(solid)
NPG(dashed)
일반 gradient 방법
C (top): stationary distribution의 영향을 받았다. 보상 1에서 잘 못
벗어난다. / C(bottom): NPG가 보상 2를 더 빨리 찾아간다.
(고원 현상)
Experiments
a simple 2-state MDP
일반 gradient 방법(solid)
NPG(dashed)
Parameter가 업데이트되는 모습
일반 gradient는 초반에 theta_i가 주로 업데이트되는 반면 NPG는 i와 j가 골고루 잘 업데이트 된다.
Experiments
The game of Tetris
환경: 테트리스
policy:
이야기 순서
1. Review: Policy Gradient
2. Overview: Natural Gradient
3. Abstract
4. Introduction
5. Natural Gradient
6. Theorem 1: Compatible Function Approximation
7. Theorem 2: Greedy Policy Improvement ( policy ∝ exp )
8. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy )
9. Metrics and Curvatures
10. Experiments
11. Discussion
Discussion
1. gradient method가 Greedy policy iteration에 비해 policy가 크게 변하진 않는다.
2. 둘이 상관관계가 있다. ç natural gradient의 방향 = policy improvement 방향 이기 때문에
3. Line search 쓰면 natural gradient와 policy improvement 방법이 비슷해진다.
4. Policy improvement와 달리 NPG는 성능 향상이 보장되어 있다.
Discussion
5. Fisher Information matrix가 asymtotically Hessian으로 수렴하지 않음. asymtotically
conjugate gradient method(Hessian의 inverse를 approx.로 구하는 방법)가 더 좋아 보일 수 있
음.
6. 하지만 Hessian이 항상 informative하지 않고(hessian이 어떤 정보를 주려면 positive
definite와 같은 성질을 가져서 해당 함수가 convex인 것을 알 수 있다든지의 경우를 이야기
하는데 hessian이 항상 positive definite가 아닐 수 있다는 것이다) tetris에서 봤듯이 natural
gradient method가 더 효율적일 수 있음(pushing the policy toward choosing greedy optimal
actions)
7. conjugate gradient method가 좀 더 maximum에 빠르게 수렴하지만, performance는
maximum에서 거의 안변하므로 좋다고 말하기 어려움(?). 이 부분에 대해서 추가적인 연구
필요.
Discussion
출처: https://dnddnjs.github.io/paper/2018/05/22/natural-policy-gradient/
94
결국 말하고자 하는 것은?
è Natural gradient descent가 이차 미분을 이용하여 기존의 gradient descent보다 그리디 하게 액션을 취한다.
근데 왜 이 기법을 안쓸까?
è 연산량이 많고 복잡하다.
보충자료
95
일반 gradient descent
NPG NPG
보충자료
96
뉴턴 메썯 얘도 이차미분 하는 방법
보충자료
1. 이웅원, ’A Natural Policy Gradient’, (https://dnddnjs.github.io/paper/2018/05/22/natural-
policy-gradient/)
2. 다크프로그래머, ’최적화 기법의 직관적 이해’,(http://darkpgmr.tistory.com/149)
3. 이활석, ‘오토인코더의 모든 것 1/3’,
(https://www.youtube.com/watch?v=o_peo6U7IRM&feature=youtu.be)
4. 이동민, 정창훈
Thanks to…
Q&A
내가 이차미분되는 느낌이야…
∇"

More Related Content

What's hot

안.전.제.일. 강화학습!
안.전.제.일. 강화학습!안.전.제.일. 강화학습!
안.전.제.일. 강화학습!Dongmin Lee
 
Introduction of Deep Reinforcement Learning
Introduction of Deep Reinforcement LearningIntroduction of Deep Reinforcement Learning
Introduction of Deep Reinforcement LearningNAVER Engineering
 
boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)SANG WON PARK
 
Wasserstein GAN 수학 이해하기 I
Wasserstein GAN 수학 이해하기 IWasserstein GAN 수학 이해하기 I
Wasserstein GAN 수학 이해하기 ISungbin Lim
 
PRML輪読#11
PRML輪読#11PRML輪読#11
PRML輪読#11matsuolab
 
강화학습 기초_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
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)Takao Yamanaka
 
파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강Woong won Lee
 
データ解析10 因子分析の基礎
データ解析10 因子分析の基礎データ解析10 因子分析の基礎
データ解析10 因子分析の基礎Hirotaka Hachiya
 
Guided policy search
Guided policy searchGuided policy search
Guided policy searchJaehyeon Park
 
Feature Engineering
Feature EngineeringFeature Engineering
Feature EngineeringSri Ambati
 
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)Takao Yamanaka
 
[DL輪読会]Conditional Neural Processes
[DL輪読会]Conditional Neural Processes[DL輪読会]Conditional Neural Processes
[DL輪読会]Conditional Neural ProcessesDeep Learning JP
 
混合ガウスモデルとEMアルゴリスム
混合ガウスモデルとEMアルゴリスム混合ガウスモデルとEMアルゴリスム
混合ガウスモデルとEMアルゴリスム貴之 八木
 
PRML輪読#1
PRML輪読#1PRML輪読#1
PRML輪読#1matsuolab
 
PRML輪読#6
PRML輪読#6PRML輪読#6
PRML輪読#6matsuolab
 
劣モジュラ最適化と機械学習 3章
劣モジュラ最適化と機械学習 3章劣モジュラ最適化と機械学習 3章
劣モジュラ最適化と機械学習 3章Hakky St
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定Akira Masuda
 
変分ベイズ法の説明
変分ベイズ法の説明変分ベイズ法の説明
変分ベイズ法の説明Haruka Ozaki
 

What's hot (20)

안.전.제.일. 강화학습!
안.전.제.일. 강화학습!안.전.제.일. 강화학습!
안.전.제.일. 강화학습!
 
Introduction of Deep Reinforcement Learning
Introduction of Deep Reinforcement LearningIntroduction of Deep Reinforcement Learning
Introduction of Deep Reinforcement Learning
 
boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)
 
Wasserstein GAN 수학 이해하기 I
Wasserstein GAN 수학 이해하기 IWasserstein GAN 수학 이해하기 I
Wasserstein GAN 수학 이해하기 I
 
PRML輪読#11
PRML輪読#11PRML輪読#11
PRML輪読#11
 
강화학습 기초_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)
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
 
파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강
 
20191019 sinkhorn
20191019 sinkhorn20191019 sinkhorn
20191019 sinkhorn
 
データ解析10 因子分析の基礎
データ解析10 因子分析の基礎データ解析10 因子分析の基礎
データ解析10 因子分析の基礎
 
Guided policy search
Guided policy searchGuided policy search
Guided policy search
 
Feature Engineering
Feature EngineeringFeature Engineering
Feature Engineering
 
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)
 
[DL輪読会]Conditional Neural Processes
[DL輪読会]Conditional Neural Processes[DL輪読会]Conditional Neural Processes
[DL輪読会]Conditional Neural Processes
 
混合ガウスモデルとEMアルゴリスム
混合ガウスモデルとEMアルゴリスム混合ガウスモデルとEMアルゴリスム
混合ガウスモデルとEMアルゴリスム
 
PRML輪読#1
PRML輪読#1PRML輪読#1
PRML輪読#1
 
PRML輪読#6
PRML輪読#6PRML輪読#6
PRML輪読#6
 
劣モジュラ最適化と機械学習 3章
劣モジュラ最適化と機械学習 3章劣モジュラ最適化と機械学習 3章
劣モジュラ最適化と機械学習 3章
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
 
変分ベイズ法の説明
変分ベイズ法の説明変分ベイズ法の説明
変分ベイズ法の説明
 

Similar to Natural Policy Gradient 직관적 접근

Soft Actor-Critic Algorithms and Applications 한국어 리뷰
Soft Actor-Critic Algorithms and Applications 한국어 리뷰Soft Actor-Critic Algorithms and Applications 한국어 리뷰
Soft Actor-Critic Algorithms and Applications 한국어 리뷰태영 정
 
Rl from scratch part2
Rl from scratch part2Rl from scratch part2
Rl from scratch part2Shinwoo Park
 
Machine learning bysogood
Machine learning bysogoodMachine learning bysogood
Machine learning bysogoodS.Good Kim
 
Rl from scratch part4
Rl from scratch part4Rl from scratch part4
Rl from scratch part4Shinwoo Park
 
세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석
세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석
세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석Kwang Woo NAM
 
[컴퓨터비전과 인공지능] 5. 신경망
[컴퓨터비전과 인공지능] 5. 신경망[컴퓨터비전과 인공지능] 5. 신경망
[컴퓨터비전과 인공지능] 5. 신경망jdo
 

Similar to Natural Policy Gradient 직관적 접근 (6)

Soft Actor-Critic Algorithms and Applications 한국어 리뷰
Soft Actor-Critic Algorithms and Applications 한국어 리뷰Soft Actor-Critic Algorithms and Applications 한국어 리뷰
Soft Actor-Critic Algorithms and Applications 한국어 리뷰
 
Rl from scratch part2
Rl from scratch part2Rl from scratch part2
Rl from scratch part2
 
Machine learning bysogood
Machine learning bysogoodMachine learning bysogood
Machine learning bysogood
 
Rl from scratch part4
Rl from scratch part4Rl from scratch part4
Rl from scratch part4
 
세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석
세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석
세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석
 
[컴퓨터비전과 인공지능] 5. 신경망
[컴퓨터비전과 인공지능] 5. 신경망[컴퓨터비전과 인공지능] 5. 신경망
[컴퓨터비전과 인공지능] 5. 신경망
 

Natural Policy Gradient 직관적 접근

  • 1. 2018/06/30 문수영 RLI STUDY 그냥 미분 두 번 하는거야~ ) ( 0 ( *직관적인 이해를 위한 쉬운 표현을 많이 썼고 개인적인 견해가 들어가 있는 부분도 많으니 참조 바랍니다. 중간 중간 질문과 피드백을 해주시면 감사합니다.
  • 2. Natural Policy Gradient = Policy Gradient + Natural Gradient 어때요? 참 쉽죠?
  • 3. 왜 공부할까? 현재(2018년 6월 기준) PPO(Proximal Policy Optimization)가 베이 스라인이다. PPO가 나오게 된 히스토리를 알기 위해서는 NPG를 알아야 한다. NPG(2001) à TRPO(2015) à PPO(2017)
  • 4.
  • 5. Policy Gradient 리뷰 à Natural Gradient 개요 à 논문 내용 살펴보기 이야기 순서
  • 6. 이야기 순서 1. Review: Policy Gradient 2. Overview: Natural Gradient 3. Abstract 4. Introduction 5. Natural Gradient 6. Theorem 1: Compatible Function Approximation 7. Theorem 2: Greedy Policy Improvement ( policy ∝ exp ) 8. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy ) 9. Metrics and Curvatures 10. Experiments 11. Discussion
  • 7. 이야기 순서 1. Review: Policy Gradient 2. Overview: Natural Gradient 3. Abstract 4. Introduction 5. Natural Gradient 6. Theorem 1: Compatible Function Approximation 7. Theorem 2: Greedy Policy Improvement ( policy ∝ exp ) 8. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy ) 9. Metrics and Curvatures 10. Experiments 11. Discussion
  • 8. Review: Policy Gradient 1. 폴리시와 목표함수
  • 9. Review: Policy Gradient 폴리시와 목표함수 !(#): 성능(목표함수) ∇! # à &학습 à !(#) 최대화 #' + 1 = #' + + ,∇!(#') Initial parameter Gradient ,∇!(#') & Local maximum-(&.) Gradient Ascent -(&) 강화학습의 목표: 보상을 최대화 하는 것
  • 10. Review: Policy Gradient 폴리시와 목표함수 앞의 그래프 == x축: # $축: %(#) 아래 그래프 == x축: 거리 $축: 높이
  • 11. 이야기 순서 1. Review: Policy Gradient 2. Overview: Natural Gradient 3. Abstract 4. Introduction 5. Natural Gradient 6. Theorem 1: Compatible Function Approximation 7. Theorem 2: Greedy Policy Improvement ( policy ∝ exp ) 8. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy ) 9. Metrics and Curvatures 10. Experiments 11. Discussion
  • 12. Overview: Natural Gradient 1. 매니폴드의 이해 2. 일차미분과 이차미분 3. 테일러 급수와 미분
  • 13. Overview: Natural Gradient 매니폴드의 이해 앞서 policy는 parameter (!) 로 이루어진 함수라고 정의 내렸다. policy는 몇 차 함수일까? 딥러닝 표현을 빌리자면, 레이어 수와 노드 수에 따라 달라질 것이다. 쉬운 예로, policy를 근사한 정책신경망이 있고 하 나의 히든 레이어가 (256 , 3)의 크기의 파라미터 행렬로 이루어져 있다고 가정하자. 이 때, 하나의 히든 레 이어만 보아도 policy는 256*3=768 차원인 것이다. 이는 굉장히 고차원이고 우리가 머릿속으로 떠올릴 수 있는 차원이 아니다. 이런 고차원의 Policy의 함수를 시각화하기 위해서 편의상 3차원으로 떠올려보자. Policy parameter theta 의 벡터가 아래와 같은 (3,1) 형태라고 해보자 3.5 8.0 3.9 예시 최적의 폴리시를 찾는 과정에서 폴리시는 조금씩 변한다. 그때마다 나오는 폴리시 벡터를 점으로 찍어보면 저렇게 공간에 흩뿌려진 형태 가 나올 것이다. 3.8 8.0 3.0 () ()* 매니폴드에 들어가기 앞서 우리가 알고 있는 내용들…
  • 14. Overview: Natural Gradient 매니폴드의 이해 매니폴드는 이 점들을 아우르는 subspace다 ! Manifold: 많이 접힌 것. 즉, 많이 접 히면서 점들을 아우르는 것. 이것 을 쫙쫙 펴서 2-d로 만들어 버리면 dimensionally reduction이 되는 것 이다. (물론 완벽한 2-d가 되지 않 을 수 있지만 국소적으로는 2-d가 된다) 그렇다면 점(여기서는 policy)들을 매니폴드 위에 두고 생각하면 좋 은 점이 뭘까? à 고차원 파라미터를 저차원에서 생각할 수 있다. à 점들 사이의 상관관계를 더욱 잘 알 수 있다! à 이 말을 뒷장에서 더 이해 해보자.
  • 15. Overview: Natural Gradient 매니폴드의 이해 매니폴드를 따라 조금씩 점을 이동하면 유의미한 변화가 나타남을 의미한다.
  • 16. Overview: Natural Gradient 매니폴드의 이해 아니, 그래서 NPG 공부하기 전에 매니폴드를 왜 배우는데? Natural Gradient Method는 어떤 파라미터 공간에서의 steepest descent direction을 강조하기 때문! 이때 파라미터 공간은 리만 매니폴드이다. 리만 매니폴드는 매니폴드가 각지지 않고 미분가능하게 부드럽게 곡률을 가진 면이라고 생각하면 된다.
  • 17. Overview: Natural Gradient 매니폴드의 이해 다시 내용으로 돌아와서 이런 policy 들이 좌표에 있다고 생각해보자.
  • 18. Overview: Natural Gradient 매니폴드의 이해 매니폴드를 고려하지 않고 B에서 A1의 거리와 A2의 거리를 비교해 보면 즉, 유클리드 공간에서의 거리는 A1이 더 가깝다고 여길 것이다. 그러나 매니폴드를 고려하면 B에서 A1보다 A2가 더 가깝다. 과연 답은? 직선거리일까? (우리는 지구에 살고 있다.)
  • 19. Overview: Natural Gradient 매니폴드의 이해 ü policy(B)에서 policy gradient를 통해 policy(B + delta B)로 간 것이 policy(A1)이라면 policy가 너무 지나치게 바 뀜을 느낄 수 있다. 그러므로 delta B에 0.0001같이 작은 수의 스텝사이즈를 곱해주어 조금씩 변하게 했다. ü policy(B)에서 policy gradient를 통해 policy(B + delta B)로 간 것이 policy(A2)라면 policy가 보다 더 유의미하게 변할 수 있다. 쉽게 말해 BàA1 보다 BàA2가 더 covariant하다고 할 수 있다.
  • 20. Overview: Natural Gradient 매니폴드의 이해 ü 그러면 policy을 유클리드 공간으로 해석하기 보다는 (여기서는 리만) manifold 베이스로 해석하면 좀 더 유 의미하게 바라보고 정확하게 gradient할 수 있지 않을까? 그리하여.. ü Natural Gradient에서는 policy가 리만 manifold를 따른다는 가정을 한다. ü Riemannian manifold? Manifold 중에서도 부드럽게 생긴, 미분 가능한 Manifold라고 이해하고 넘어가자.
  • 21. Overview: Natural Gradient 매니폴드의 이해 리만 매니폴드 (리만 공간)
  • 22. Overview: Natural Gradient 매니폴드의 이해 ü 논문의 Natural Policy Gradient는 리만 공간(굽은 공간)에서의 일차 미분(일차 근사)을 이용한 gradient로 policy를 업데이트 하는 것이다. 유클리디안 공간에서 보면, 곡률을 따른 일직선은 곡선 으로 보인다. 즉, 곡률의 일차 근사가 유클리디안 공간에서는 일차 근 사가 아닌 이차 근사이다. 쉽게 말해서 유클리디안 공간에서의 이차 미분 = 리만 공간에서의 일차 미분 이라고 생각하고 있자.
  • 23. Overview: Natural Gradient 대충 Natural Gradient 의 느낌이 왔다면, 이제 유클리디안 공간에서의 일차 미분(근사)과 이차 미분(근사)이 어떻게 다른지 살펴보자
  • 25. Overview: Natural Gradient 일차미분으로 함수 최적화 출처: 다크프로그래머, 최적화 기법의 직관적 이해 일차미분과 이차미분
  • 26. Overview: Natural Gradient 일차미분으로 함수 최적화 --- (1) 출처: 다크프로그래머, 최적화 기법의 직관적 이해 일차미분과 이차미분
  • 27. Overview: Natural Gradient 일차미분으로 함수 최적화 --- (1) 출처: 다크프로그래머, 최적화 기법의 직관적 이해 일차미분과 이차미분
  • 28. Overview: Natural Gradient 이차미분으로 함수 최적화 --- (2) 출처: 다크프로그래머, 최적화 기법의 직관적 이해 일차미분과 이차미분
  • 29. 30 Overview: Natural Gradient 이차미분으로 함수 최적화 --- (2) 출처: 다크프로그래머, 최적화 기법의 직관적 이해 일차미분과 이차미분
  • 30. Overview: Natural Gradient 테일러 급수 관점에서 보기. 테일러 급수와 미분 테일러 급수
  • 31. Overview: Natural Gradient 테일러 급수 관점에서 보기. 함수가 sin(x)라고 가정. x = 0 에서의 1차 근사하면 y=x x = 0 에서 멀어질 수록 실제 함수와 점점 멀어져 엉뚱한 방향으로 gradient될 수 있음(스텝사이즈를 작게 설정하는 이유) x = 0 근처에서 gradient되게끔 한다. 테일러 급수와 미분
  • 32. Overview: Natural Gradient 테일러 급수 관점에서 보기. 테일러 급수와 미분 출처: https://m.blog.naver.com/PostView.nhn?blogId=papers&logNo=220751624818&proxyReferer=https%3A%2F%2Fwww.google.com%2F
  • 33. Overview: Natural Gradient 테일러 급수 관점에서 보기. 테일러 급수와 미분 함수가 e^x 일 때, 출처: https://m.blog.naver.com/PostView.nhn?blogId=papers&logNo=220751624818&proxyReferer=https%3A%2F%2Fwww.google.com%2F
  • 34. 이야기 순서 1. Review: Policy Gradient 2. Overview: Natural Gradient 3. Abstract 4. Introduction 5. Natural Gradient 6. Theorem 1: Compatible Function Approximation 7. Theorem 2: Greedy Policy Improvement ( policy ∝ exp ) 8. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy ) 9. Metrics and Curvatures 10. Experiments 11. Discussion
  • 36. Abstract Key Information 1. We provide a natural gradient method that represents the steepest descent direction based on the underlying structure of the parameter space. 2. Although gradient methods cannot make large changes in the values of the parameters, we show that the natural gradient is moving toward choosing a greedy optimal action rather than just a better action.
  • 37. Abstract 3. These greedy optimal actions are those that would be chosen under one improvement step of policy iteration with approximate, compatible value functions, as defined by Sutton et al. 4. We then show drastic performance improvements in simple MDPs and in the more challenging MDP of Tetris. 만약 가치함수근사와 함께 쓰인다면, policy iteration에서 one improvement step에서 그리디 최적 행동이 선택되는 것이다. 이게 무슨 이야기인지는 뒤에 가면서 이해하도록 하자… Simple MDP, Tetris MDP에서 성능이 크게 향상되었다.
  • 38. 이야기 순서 1. Review: Policy Gradient 2. Overview: Natural Gradient 3. Abstract 4. Introduction 5. Natural Gradient 6. Theorem 1: Compatible Function Approximation 7. Theorem 2: Greedy Policy Improvement ( policy ∝ exp ) 8. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy ) 9. Metrics and Curvatures 10. Experiments 11. Discussion
  • 40. Introduction 1. Policy gradient: 미래 보상에 gradient을 취해 최적의 policy를 찾는 방법 2. 유클리드 공간을 전제로 이루어졌던 기존의 방법이었던 SGD는 non-covariant 3. 리만 공간을 전제로 이루어졌던 Natural gradient는 covariant 4. Policy iteration과 연결점이 있음 (뒤에서 설명) 5. 고원 현상이 심하지 않음. (뒤에서 알 수 있음)
  • 41. 이야기 순서 1. Review: Policy Gradient 2. Overview: Natural Gradient 3. Abstract 4. Introduction 5. Natural Gradient 6. Theorem 1: Compatible Function Approximation 7. Theorem 2: Greedy Policy Improvement ( policy ∝ exp ) 8. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy ) 9. Metrics and Curvatures 10. Experiments 11. Discussion
  • 42. Natural Gradient 1. Assume 2. 방향과 크기 3. Natural Gradient 정의
  • 43. Natural Gradient Natural Gradient가 뭔지 정의하기 전에 몇 가지를 가정하고 갑시다. Assume à Gradient 방향과 크기(거리) 정의 à Natural Gradient 정의
  • 44. ü Finite MDP: (", $%, &, ', () ü Decision making method: policy(a;s) ü Every policy is ergodic (well-defined stationary distribution *+ ) ü Average reward: ü State-action value: ü Value function: ü Policy , 폴리시 함수는 미분 가능한 함수 ergodic: 상태전이확률*stationary distribution = stationary distribution … 상태벡터에 상태전이확률벡터를 여러번 곱해도 상태벡터값이 변하지 않고 그대로 이다. 이게 무슨 의미냐면 상태전이를 얼마나 하든 그 정해진 상태전이확률값에 맞게 상태전이를 하면 상태에 머물 확률(stationary distribution)도 변하지 않는다. Natural Gradient Assume
  • 45. ü The exact gradient of the average reward: Natural Gradient Assume 여기서 잠깐~ 잊지 말자! 결국 우리가 원하는 건 ‘policy 최적화를 좀 더 스마트하게 잘 해 보자!’ 이다. Policy 최적화를 잘한다는 것은 Policy를 어느 방향으로 얼만큼 ‘잘’ 업데이트 하느냐에 달렸다. 이 다음 슬라이드 부터는 어느 방향으로 얼만큼 gradient하는지 대해 알려준다.
  • 46. ü 업데이트 방향(steepest descent direction): !(# + %#)를 미니마이즈하는 방향 (%#) ü 업데이트 크기(거리): |%#|( Natural Gradient 방향과 크기 방향은 .. 사실 우리가 흔히 아는 서튼 pg나 다를게 없고.. 저기 업데이트 크기(거리)에 대해 이야기를 하고자 한다!!! 이 부분에 집중!
  • 47. |"#|$ = "#"# 유클리드 공간에서는 파라미터 # 간의 거리를 이렇게 표현해도 된다. 여기서 명심할 것은 파라미터 #의 공간은 굉장히 고차원이라는 것이다. 아까 가정할 때 &' 는 미분가능하다 했으니 막 구불구불한 고차원의 함수일 것이다. 이 &'의 파라미터는 매니폴드(리만 매니폴드)로 표현할 수 있다. 문제는 파라미터 #가 새로 업데이트 됨에 따라 매니폴드 모양이 계속 바뀔 수 가 있다. è 매니폴드 모양이 계속 바뀌면 어떤 두 점 사이의 거리가 계속 바뀔 수 있다. 예를 들면, #1, #2 간의 거리가 일정하지 않은 것이다. 그러므로 이러한 상황 까지 아우를 수 있는 좀 더 general한 거리 재는 법이 필요하다! Natural Gradient 방향과 크기
  • 48. 조금 단순하고 극단적인? 시각화 예시를 보자. Natural Gradient 방향과 크기 초기 중기 말기 매니폴드를 2d로 쫙쫙 펴낼 수 있다는 가정하에 매니폴드를 펴놓고 보면 원래는 같아야 할 !1, !2의 거리가 다르다.
  • 49. Natural Gradient 방향과 크기 그러므로 이러한 상황까지 아우를 수 있는 좀 더 general하게 거리 재는 법이 필요하다! !(#) 라는 친구가 등장하는데… 그런 수식이 바로 아래와 같다.
  • 50. Natural Gradient 방향과 크기 !(#) !(#) %(&) 는 positive-definite matrix(양의 정부호 행렬). 양의 정부호는 극소점을 가지며 그래프의 모양은 그릇 형태이다. 이차함수의 극점을 찾는 것과 밀접한 관계가 있다.. 자세한 내용은 아래로 들어가면 된다. http://bskyvision.com/205
  • 51. Natural Gradient Natural Gradient 정의 !(#) !(#) 가 identity matrix면 위 식은 유클리드 공간에서 거리를 재는 것과 같다. 리만 공간(리만 매니폴드)을 기반으로 하여 거리를 재는 방법을 Natural Gradient 라고 한다. 아까 말했듯이 Manifold 모양이 계속 바뀔때마다 같아야 할 % 간의 거리가 달라져(variant) 버리면 policy 최적화에 어려움을 겪을 수 있으니 이를 invariant하게 만드는게 좋은데 그 방법은 Fisher information matrix를 !(#)로 쓰는 것이다. Fisher information matrix FIM: 리만 공간에 적용 가능한 positive definite matrix 중 하나 이다.
  • 53. Natural Gradient Natural Gradient 정의 NPG에서의 steepest descent direction은 아래와 같다. 증명은 따로 하지 않겠다. 원한다면 아래를 눌러 참조하라(이웅원님의 NPG설명) (https://dnddnjs.github.io/paper/2018/05/22/natural-policy- gradient/)
  • 54. Natural Gradient Natural Gradient 정의 NPG에서의 steepest descent direction은 아래와 같다. 의미를 해석해 보면 이렇다. ‘FIM이라는 positive-definite matrix를 써서 리만 공간을 고려한 방향 및 크기로 목표함수를 업데이트 한다.’
  • 55. 이야기 순서 1. Review: Policy Gradient 2. Overview: Natural Gradient 3. Abstract 4. Introduction 5. Natural Gradient 6. Theorem 1: Compatible Function Approximation 7. Theorem 2: Greedy Policy Improvement ( policy ∝ exp ) 8. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy ) 9. Metrics and Curvatures 10. Experiments 11. Discussion NPG의 정의를 이용해 3 가지 이론을 내기 시작..
  • 56. Theorem 1: Compatible Function Approximation 1. Assume 2. Theorem 3. Proof 4. meaning
  • 57. Theorem 1: Compatible Function Approximation 이론1: Natural Policy Gradient와 Function Approximation를 같이 쓸 수 있다. (둘이 무슨 관계가 있다.) *여기서 Function Approximation은 큐함수 근사를 의미
  • 58. 이론1: Natural Policy Gradient와 Function Approximation를 같이 쓸 수 있다. Theorem 1: Compatible Function Approximation Assume 프싸이 ß policy의 기울기 f ß y=ax ß linear function ß Q value를 근사한 함수 **당시는 딥뉴럴넷이 없어서 이렇게 직접 수식으로 근사. Q를 근사한 f와 실제 Q의 에러식 ß MSE
  • 59. 이론1: Natural Policy Gradient와 Function Approximation를 같이 쓸 수 있다. Theorem 1: Compatible Function Approximation Theorem 응? 정확히 와닿지 않음.
  • 60. Theorem 1: Compatible Function Approximation Theorem 증명부분 어렵지 않음
  • 61. Theorem 1: Compatible Function Approximation meaning 웅원님 블로그 참조
  • 62. 이야기 순서 1. Review: Policy Gradient 2. Overview: Natural Gradient 3. Abstract 4. Introduction 5. Natural Gradient 6. Theorem 1: Compatible Function Approximation 7. Theorem 2: Greedy Policy Improvement ( policy ∝ exp ) 8. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy ) 9. Metrics and Curvatures 10. Experiments 11. Discussion
  • 63. Theorem 2: Greedy Policy Improvement ( policy ∝ exp )
  • 64. Theorem 2: Greedy Policy Improvement ( policy ∝ exp ) 이론2: policy가 exponential 형태의 함수라면, 스텝사이즈를 무한으로 보냈을 때의 policy는 베스트 액션을 취한다. 증명은 웅원님 블로그 참조 직관적 이해를 하는 것에 초점을 맞추겠음
  • 65. Overview: Natural Gradient 매니폴드의 이해 ü 논문의 Natural Policy Gradient는 리만 공간(굽은 공간)에서의 일차 미분(일차 근사)을 이용한 gradient로 policy를 업데이트 하는 것이다. 유클리디안 공간에서 보면, 곡률을 따른 일직선은 곡선 으로 보인다. 즉, 곡률의 일차 근사가 유클리디안 공간에서는 일차 근 사가 아닌 이차 근사이다. 쉽게 말해서 유클리디안 공간에서의 이차 미분 = 리만 공간에서의 일차 미분 이라고 생각하고 있자.
  • 66. 편의상 유클리드 공간에서 이차미분하는 걸로 설명하겠음. Theorem 2: Greedy Policy Improvement ( policy ∝ exp )
  • 67. 1. 2차 근사가 1차 근사보다 policy 함수를 잘 근사하고 있음. 2. 2차 근사: 어느 theta 에서 시작해도 스텝사이즈를 무한으 로 보내면 best action을 취하도록 한다. 3. 1차 근사: theta가 완전 음수값일 경우 gradient가 거의 0에 수렴하므로 스텝사이즈가 아무리 무한이어도 best action 을 취하기 어려울 수 있다.(better action정도는 취할 수 있 을지 몰라도) Theorem 2: Greedy Policy Improvement ( policy ∝ exp )
  • 68. 이야기 순서 1. Review: Policy Gradient 2. Overview: Natural Gradient 3. Abstract 4. Introduction 5. Natural Gradient 6. Theorem 1: Compatible Function Approximation 7. Theorem 2: Greedy Policy Improvement ( policy ∝ exp ) 8. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy ) 9. Metrics and Curvatures 10. Experiments 11. Discussion
  • 69. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy ) 1. Theorem 2. Result 3. Solution – Line Search
  • 70. 이론3: policy가 general function이고 Natural policy gradient로 policy를 업데이트 하는 것은 테일러 급수의 1차 근사와 같다. * 리만 공간이니까 1차 근사 Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy ) Theorem
  • 71. Policy 가 exp가 아닌 general function일 때는 Greedy action 을 취하는게 잘 안됐다. 그 이유는 뭘까? 만약 policy가 log(1+x)라고 가정해보자. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy ) Result
  • 72. 아무리 2차 근사라도 그림에서와 같이 근사한 것과 policy 함수가 점점 벌어지는 모습을 볼 수 있다. 즉, 스텝 사이즈 a가 무한으로 가면 엉뚱한 방향으로 policy 업데이트될 수 있으므로 이런 경우 greedy action을 취하지 못한다. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy ) Result
  • 73. 또한 이차 미분의 문제점은 (a)와 같이 변곡점에서 매우 불안정한 이동 특성을 보이고, (b)와 같이 변곡점 근처 에서 발산할 수도 있다. 또한 이동방향을 결정할 때 극대, 극소를 신경 쓰지 않는다는 점이다(c). 아래는 policy가 f(x) = x3 - 2x + 1 함수 형태일 때의 예시다. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy ) Result (d)(c)(a) (b)
  • 74. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy ) Solution – Line Search
  • 75. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy ) Solution – Line Search 출처: 다크프로그래머 http://darkpgmr.tistory.com/149
  • 76. 이야기 순서 1. Review: Policy Gradient 2. Overview: Natural Gradient 3. Abstract 4. Introduction 5. Natural Gradient 6. Theorem 1: Compatible Function Approximation 7. Theorem 2: Greedy Policy Improvement ( policy ∝ exp ) 8. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy ) 9. Metrics and Curvatures 10. Experiments 11. Discussion
  • 77. Metrics and Curvatures 1. FIM과 Hessian 이야기
  • 78. 79 • Obviously, our choice of F is not unique and the question arises as to whether or not there is a better metric to use than F. FIM 말고 G에 넣을 더 좋은 매트릭스 없을까? • In the different setting of parameter estimation, the Fisher information converges to the Hessian, so it is asymptotically efficient FIM은 결국 Hessian으로 수렴해. 그래서 점진적으로 효율적이야. ü FIM과 Hessian이 뭐가 다른건가? - FIM은 stochastic하게 파라미터가 변할 때, Hessian은 파라미터가 딱 고정되어 있을 때 쓴다. - 즉, 목표함수가 최적화되면서 파라미터가 거의 변동이 없을 시점이 될 수록 FIMàHessian 수우우렴 - 고로 헤시안으로 수렴하면서 피셔정보매트릭스를 계속 계산해주지 않아도 되므로 더 효율적이다.(내 생각..) Metrics and Curvatures FIM과 Hessian 이야기
  • 79. 80 Metrics and Curvatures FIM과 Hessian 이야기
  • 80. 81 Metrics and Curvatures FIM과 Hessian 이야기 • Our situation is more similar to the blind source separation case where a metric is chosen based on the underlying parameter space (of non-singular matrices) and is not necessarily asymptotically efficient (ie does not attain second order convergence) ü Metric은 파라미터 공간에 의해 결정되니까 Blind Source Separation과 비슷한 상황이다. • As argued by Mackay , one strategy is to pull a metric out of the data-independent terms of the Hessian (if possible), and in fact, Mackay arrives at the same result as Amari for the blind source separation case. ü 헤시안에서 data-independent한 항을 metric으로 뽑아서 쓰는 것도 하나의 전략이 될 수 있다!(?) ü 근데 위 식을 보니까 data-independent한게 없다. ü 그나마 미분 두번들어가는 맨 첫번째 항이 FIM이랑 좀 관련있어 보인다. ü 근데 문제는 저기 Q가 policy의 매니폴드 곡률에 영향을 끼치고 있다.. 그러나 우리 거리계산법은 Q값을 고려 안했었다! (G * d_theta * d_theta 였음) ü 꼭 FIM이 Hessian으로 수렴할 필요는 없다. 그리고일반적으로 헤시안은 positive definite하지 않을 때도 있다. ü 그래서 로컬 미니마 근처에서만 좀 쓸만하고 그게 아니라면 거의 쓰지 않을 것이다. ü 근데 로컬 미니마 근처에서만 쓸꺼면 Conjugate Method(inversed hessian)가 더 효율적일꺼라고 생각.
  • 81. 82 Metrics and Curvatures FIM과 Hessian 이야기
  • 82. 이야기 순서 1. Review: Policy Gradient 2. Overview: Natural Gradient 3. Abstract 4. Introduction 5. Natural Gradient 6. Theorem 1: Compatible Function Approximation 7. Theorem 2: Greedy Policy Improvement ( policy ∝ exp ) 8. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy ) 9. Metrics and Curvatures 10. Experiments 11. Discussion
  • 83. Experiments 1. simple I-dimensional linear quadratic regulator with dynamics 2. a simple 2-state MDP 3. The game of Tetris
  • 84. 85 Experiments simple I-dimensional linear quadratic regulator with dynamics The goal is to apply a control signal u to keep the system at x = 0, (incurring a cost of X(t)^2 at each step). 환경: policy: 목표:
  • 85. 86 Experiments simple I-dimensional linear quadratic regulator with dynamics 왼쪽 세 줄은 npg, 오른쪽 세줄은 일반 gradient 1. NPG가 더 빨리 수렴한다 2. NPG는 parameter theta의 매니폴더 바뀌어도 invariant한 결과(covariance)가 나올 것이라 생각했지만 아니었다. 3. 그 이유는 아마 stationary distribution이 곱해지면서 영향을 받은 것으로 보인다.
  • 86. 87 Experiments a simple 2-state MDP 초기설정: i의 stationary distribution=0.8 j의 stationary distribution=0.2 목표: j에 머물도록 하는 것 Policy: 일반 gradient 방법(solid) NPG(dashed) 일반 gradient 방법 C (top): stationary distribution의 영향을 받았다. 보상 1에서 잘 못 벗어난다. / C(bottom): NPG가 보상 2를 더 빨리 찾아간다. (고원 현상)
  • 87. Experiments a simple 2-state MDP 일반 gradient 방법(solid) NPG(dashed) Parameter가 업데이트되는 모습 일반 gradient는 초반에 theta_i가 주로 업데이트되는 반면 NPG는 i와 j가 골고루 잘 업데이트 된다.
  • 88. Experiments The game of Tetris 환경: 테트리스 policy:
  • 89. 이야기 순서 1. Review: Policy Gradient 2. Overview: Natural Gradient 3. Abstract 4. Introduction 5. Natural Gradient 6. Theorem 1: Compatible Function Approximation 7. Theorem 2: Greedy Policy Improvement ( policy ∝ exp ) 8. Theorem 3: Greedy Policy Improvement ( policy == general parameterized policy ) 9. Metrics and Curvatures 10. Experiments 11. Discussion
  • 91. 1. gradient method가 Greedy policy iteration에 비해 policy가 크게 변하진 않는다. 2. 둘이 상관관계가 있다. ç natural gradient의 방향 = policy improvement 방향 이기 때문에 3. Line search 쓰면 natural gradient와 policy improvement 방법이 비슷해진다. 4. Policy improvement와 달리 NPG는 성능 향상이 보장되어 있다. Discussion
  • 92. 5. Fisher Information matrix가 asymtotically Hessian으로 수렴하지 않음. asymtotically conjugate gradient method(Hessian의 inverse를 approx.로 구하는 방법)가 더 좋아 보일 수 있 음. 6. 하지만 Hessian이 항상 informative하지 않고(hessian이 어떤 정보를 주려면 positive definite와 같은 성질을 가져서 해당 함수가 convex인 것을 알 수 있다든지의 경우를 이야기 하는데 hessian이 항상 positive definite가 아닐 수 있다는 것이다) tetris에서 봤듯이 natural gradient method가 더 효율적일 수 있음(pushing the policy toward choosing greedy optimal actions) 7. conjugate gradient method가 좀 더 maximum에 빠르게 수렴하지만, performance는 maximum에서 거의 안변하므로 좋다고 말하기 어려움(?). 이 부분에 대해서 추가적인 연구 필요. Discussion 출처: https://dnddnjs.github.io/paper/2018/05/22/natural-policy-gradient/
  • 93. 94 결국 말하고자 하는 것은? è Natural gradient descent가 이차 미분을 이용하여 기존의 gradient descent보다 그리디 하게 액션을 취한다. 근데 왜 이 기법을 안쓸까? è 연산량이 많고 복잡하다. 보충자료
  • 94. 95 일반 gradient descent NPG NPG 보충자료
  • 95. 96 뉴턴 메썯 얘도 이차미분 하는 방법 보충자료
  • 96. 1. 이웅원, ’A Natural Policy Gradient’, (https://dnddnjs.github.io/paper/2018/05/22/natural- policy-gradient/) 2. 다크프로그래머, ’최적화 기법의 직관적 이해’,(http://darkpgmr.tistory.com/149) 3. 이활석, ‘오토인코더의 모든 것 1/3’, (https://www.youtube.com/watch?v=o_peo6U7IRM&feature=youtu.be) 4. 이동민, 정창훈 Thanks to…