1. 3分 강화학습
- 순한맛 -
Soft Actor-Critic 버전 1
: Off-Policy
Maximum Entropy
Deep Reinforcement-Learning
with a Stochastic Actor
조수현(seanbrowncho@gmail.com)
@디아이티
2019. 7. 4.
DLCAT 2nd Deep Learning Conference All Together
5. 목차
• 간단하게 몇몇 개념 리마인드
• 정책분포의 Softmax와 이를 가정한 V와 Q SoftMDP 세계
SoftMDP 프레임워크에서 매 타임스텝 만족시켜줘야하는 Consistency(규칙=방정식)
• 엔트로피 규제
• SAC의 구조와 Loss
• SAC의 수도코드
• SAC의 의의
• 정리
7. 논문
• 실화 입니까?? 수식 폰트도 뾰족뾰족하고 길고 노테이션 어
렵고 영어에다가 RL인데 MDP도 어려운데 SoftMDP고 엔
트로피에 뭐야 물리야 뭐야 (응아냐 정보이론 엔트로피야) 게
다가 저자 이름도 무섭고 저자들도 게다가 저자형들도 너무
많은데 그 힘들 모아모아서 거의 뭐 양민 학살 수준으로 쓰셨
네요
• 마치 수능 시험지 수리가형 24번 문제같은데요
• 근데 제가 한번 해설 강의처럼 해보겠습니다. 쉽고 직관적으
로 직관적으로 설명한다는건 저도 잘 모른다는거죠?ㅋㅋㅋ
자 시작 하겠습니다
8. 논문
• 실화 입니까?? 수식 폰트도 뾰족뾰족하고 길고 노테이션 어
렵고 영어에다가 RL인데 MDP도 어려운데 SoftMDP고 엔
트로피에 뭐야 물리야 뭐야 (응아냐 정보이론 엔트로피야) 게
다가 저자 이름도 무섭고 저자들도 게다가 저자형들도 너무
많은데 그 힘들 모아모아서 거의 뭐 양민 학살 수준으로 쓰셨
네요
• 마치 수능 시험지 수리가형 24번 문제같은데요
• 근데 제가 한번 해설 강의처럼 해보겠습니다. 쉽고 직관적으
로 직관적으로 설명한다는건 저도 잘 모른다는거죠?ㅋㅋㅋ
자 시작 하겠습니다
9. 목표
Today goals :
RL 알고리즘 中, SAC 알고리즘 이해하기(핵심)
• SAC 아이디어
- Stochastic Action Selection 필요성 이해
- Maximum Entropy RL 이해
- Actor Critic과 같은점, 다른점
• SAC Loss
• SAC 학습 매카니즘
핵심 수식 하지만 직관적인 설명
10. SAC을 3개 핵심 덩어리로 나누기
Stochastic
Action
Selection
Entropy
레귤 RL
Actor-Critic
(RL 학습 방법론 일종)
아키텍쳐적으로써 사용. RL 목적(=옵티멀 폴리시 찾기) 달성용.
가치 Estimator 정의에 엔트로피항 추가
= 탐험 촉진 내장
쌕
Value based Optimization method 반
Policy gradient Optimization method 반
V
정책분포의 softamx 화
Pi
- 이로써 이 두개 파트에서 각각 기존의 argmax, max 사라짐
- Deterministic 경향이 사라지는 결과
- 그 결과 off-policy도 가능하게 되는 배경
3分
= Pi뉴럴네트워크-V뉴럴네트워크
뒤에서 자세히 다룰 내용
강화학습 핵심 구성요소
- 정책(Policy)
- 행동(Action)
- 가치(Value)
13. DP(다이나믹프로그래밍)
다이나믹프로그래밍
Bellman equation(기대/최적)을 이용하여 iterative하게 MDP의 문제
를 푸는 것을 Dynamic Programming 이라 함
서튼 교수님 曰 다이나믹프로그래밍 ” 동적 프로그래밍 (DP)이라는 용어는
마르코프 결정 프로세스 (MDP)와 같은 환경의 완벽한 모델(model
based)이 주어진 상황에서 최적의 정책(optimal-policy)을 계산하는 데
사용할 수있는 알고리즘 모음(policy evaluation, value iteration,
policy iteration ..)을 의미합니다. ”
14. DP
복잡한 문제(sequential or temporal)를 푸는 방법론
직관적인 설명:
Step 1: 큰문제를 작은문제들(sub problems)로 나누기
Step 2: 작은문제들의 답 구하기
Step 3: 해결한 작은문제로 모아서 큰문제의 답 구하기
15. DP
다이나믹프로그래밍은 MDP에 대한 모든 지식(full knowledge)를 알고 있다고 가정함
MDP에 대한 모든 지식(full knowledge)
- P : state transition matrix
- R : reward
또한, 다이나믹프로그래밍은 Planning에 쓰임(동적계획법)
Planning은 모델을 알때 푸는 문제. (직접 차근차근 계산). 문제의 타입을 일컫는 말.
e.g. 이 문제는 Planning 타입의 문제이다
e.g. 이 문제는 모델의 정보를 모두 알기 때문에 Planning 타입의 문제이며 다이나
믹프로그래밍으로 풀 수 있다.
(문제를)풀다 = optimal policy를 찾아냄
16. Dynamic Programming으로
MDP문제를 풀기 위한 필수조건
Optimal substructures
조건1 : 전체문제(최적해)는 작은문제들이 자꾸 겹쳐서 나타난다
조건2 : 1개의 어떤 작은문제를 풀면 다른 작은 문제에서 이용 가능해야 함
(데이터 cach 후 reuse)
작은문제들이 overlapping 해야함
작은문제들은 많은 시간에 되풀이(recur) 되야함(약간 recursive한 느낌)
전체문제가 작은문제(sub structure)로 나뉘어야 함(decomposed)
MDP문제(Markov Decision Processes)는 위 필수조건 2가지를 모두 만족하여 DP로 문제를 푸는 것이 가능
MDP문제가 위 필수조건 2가지를 모두 만족하는 배경/근거/이유
- BE(벨만 방정식)가 recursive decomposition을 부여하고
- V값이 저장(store)되고 재사용(reuse)됨
즉, MDP문제(Markov Decision Processes)는 recursive 한 분해(decomposed)가 가능하다.
왜냐하면 BE은 관계를 나타내는 말인데 BE는 recursive하게 엮여있으므로
Revisit: 우리의 목적은 최적의 policy를 찾는것
17. DP 필요한 배경과 RL의 목적
• BOE(벨만최적방정식)은 nonlinearity를 발생시키는 max함수 때문에 closed form이 되므
로 analytic하게 계산 못함(direct solution 없다)
=> 따라서 iterative한 어떤 문제 해결 방법론들로 iterative하게 문제의 해를 구해야 한다
(iterative solution method)
• 여기서 문제를 푼다는 것(Solving a problem)
= Optimal Policy(정책*)를 구하는 것
• Optimal Policy(정책*)을 안다는것
= Optimal Value function(V*)을 이미 구했다는 것
Optimal Value function(V*)을 알면, Optimal Policy(정책*)을 알 수 있다.
18. DP 알고리즘 계열
1. Policy Iteration
2. Value Iteration
(Lec3) Planning Dynamic Programming
19. DP 알고리즘 계열
1. Policy Iteration
2. Value Iteration
(Lec3) Planning Dynamic Programming
PG based Family
Value based Family
SamplebasedLearning인RL에서는
20. “ MDP를 풀었다 ♡♥ ” ??
♡ ♥
리마인드 : 우리의 목적은 최적의 policy를 찾는 것
벨만 방정식?
가치를 측정 할 때, 지금과 바로 그 다음의 관계(Consistency)
최적=Optimal=해
how?
이용
벨만 XX 방정식
- 기대
- Q스타일
- V스타일
- 최적
- Q스타일
- V스타일
21. Model based & Model free
(환경에 대한 사전지식 유무를 관점으로 RL문제 구분해보기)
• 환경 = Model = Nature = Dynamics = Randomness
• 강화학습 문제를 분류해보자(모델 정보 아느냐 모르느냐 관점으로)
• 강화학습은 기본적으로 매우 큰 문제임(적합, huge dimension)
• 강화학습을 푸는 방법론 크게 2가지
Model-based 방법론: 환경에 대한 정보(R, P;모델) 알 때 = 완전한 정보가 있
을 때의 문제 푸는 방법론 맥락(줄기) . 따라서 model based방법론에서 쓰이는
말이 “ 문제를 Planning으로 푼다 ” 라고 하고 그때 바로“ Dynamic programming이 쓰인다 ”
라고 함
Model-free 방법론: 환경(Environment)이 어떤 걸 던져 줄지 모를때 = 환경
에 대한 정보 모를 때 = 완전한 정보가 없어서 일단 direct한 solution 자체를
못 구 하거나 어려울 때 사용 하는 문제 푸는 방법론
아냐 모르냐
22. Planning & Learning
• Planning(계획): 최적의 v or q를 구하기 위해서 직접 계산 + MDP 환경에 대한 정보(R, P)
를 모두 알 때 Planning 이라고 함. 다이나믹프로그래밍으로 문제를 풀 때를 일컬음
• Learning(학습): 최적의 v or q를 근사(approximate) + MDP 환경에 대한 정보 알아도
되고 몰라도 됨 + 샘플링 데이터 기반
굳이 Model based 방법론은
“ 문제를 Planning으로 푼다 ”
라고 말할 수 있음
엄밀히
24. Behavior Cloning
가장 순수한 Imitation Learning의 종류
아이디어 : Supervised Learning 매카니즘을 RL task에 적용해보자
모방학습imitation Learning
BC behavior cloning(Vanilla IL)
SIL self imitation learning
IRLinverse reinforcement learning
25. Behavior Cloning
아이디어 : Supervised Learning 매카니즘을 RL task에 적용해보자
매 순간(time-step t) 마다 누가 Supervised(지도) 하냐?
Imitation Learning Reinforcement Learning
사람(전문가) reward function
26. Behavior Cloning
아이디어 : Supervised Learning 매카니즘을 RL task에 적용해보자
무조건 dataset( “ “ pair )이
학습 전에 구축되어 있어야만 사용가능한 접근법
는 누가 어떻게 만들고 ? 사람(전문가=선생님)
에 를 누가 맵핑레이블링 ? 사람(전문가=선생님)
순수 ILImitation Learning 의 문제영역
27. Imitation Learning
아이디어 : Supervised Learning 매카니즘을 RL task에 적용해보자
무조건 dataset( “ “ pair )이
학습 전에 구축되어 있어야만 사용가능한 접근법
는 누가 어떻게 만들고 ? 사람(전문가=선생님)
에 를 누가 맵핑레이블링 ? 사람(전문가=선생님)
순수 ILImitation Learning 의 문제영역
RL 테크닉으로 극복하자
1. 보상(Reward function) = r(s,a)
2. 정책(Policy distribution) = p(a|s)
28. Behavior Cloning과 지도학습
가장 순수한 Imitation Learning의 종류
아이디어 : Supervised Learning 매카니즘을 RL task에 적용해보자
딥러닝 모델!
= 정책분포 최적화
= discriminative model
= 우리가 알던 지도학습 모델
29. RL의 목표
강화학습의 목적은 accumulative future reward
(discounted한 reward의 합=return=G=R)를 최대로 하는
(optimal)policy를 찾는 것
수식으로?
30. RL의 목표
강화학습의 목적은 accumulative future reward
(discounted한 reward의 합=return=G=R)를 최대로 하는
(optimal)policy를 찾는 것
수식으로?
전체 time step에 대해서
모든 받은 보상의 합의 기대값확률적 평균을 최대화 시키는 것 (1)
모든 받은 보상의 합의 기대값확률적 평균을 최대화 시키는 것 (2)
31. RL의 목표
강화학습의 목적은 accumulative future reward
(discounted한 reward의 합=return=G=R)를 최대로 하는
(optimal)policy를 찾는 것
수식으로?
전체 time step에 대해서 모든 받은 보상의 합의 기대값확률적 평균을 최대화 시키는 것
RL의 목표
32. 정통 RL terminology(용어), notation(표기법)
상태
행동
정책
입력
역할
출력
역할
노트
우리(agent) 는 세상world=environment 을 어떻게 살아 갈까? dynamics
강화학습에서
= = Randomness 발생
33. MDP component 정리
1. S: state들의 집합(space)
2. A: action의 space
3. P: transition matrix(state transition probability). 상태 s에서 a를 했을때 s’으
로 갈 확률
4. R: reward. 어느 s에서 무슨 a를 했을때 다음 s’으로 갈 때 받는 값
5. r: discount factor. 현재를 좀 더 중시 + 혹은 수렴성의 이유로 값을 깎음
<S, A, P, R, r>
36. 모든 RL의 목표
• Optimal policy를 찾는 것
Optimal Policy
= 최적해
= 최적의 정책분포
= 최적의 확률
1개 에피소드 리턴
모든 에피소드 의 평균
최대로 하는 정책
Optimization 방법은 방법론 마다 알고리즘 마다 다름
= 보상의 단순합
리턴 = R = G
PI or PI*
44. 리마인드 : Actor-Critic method
업데이트
= 백프롭:
https://www.slideshare.net/WoongwonLee/rlcode-a3c
Advantage = Q - V
Advantage = 그 행동에 대한 가치 - 모든 행동의 평균 가치
Advantage = TD 에러(variance 낮다)
<-> REINFORCE(variance 높다)
Baseline = V
Baseline 자리 = V 말고 다른 값 주면?
* Variance 낮추는 기법
V 빼주기 트릭(- V)
Advantage
2
,
Policy를 근사하는 목적함수 Value를 근사하는 목적함수
Cross entropy error Square error
45. 리마인드 : Actor-Critic method
https://www.slideshare.net/WoongwonLee/rlcode-a3c
Advantage = Q - V
Advantage = 그 행동에 대한 가치 - 모든 행동의 평균 가치
Advantage = TD 에러(variance 낮다)
<-> REINFORCE(variance 높다)
Baseline = V
Baseline 자리 = V 말고 다른 값 주면?
* Variance 낮추는 기법
V 빼주기 트릭(- V)
Policy를 근사 NN Value를 근사 NN
46. 리마인드 : MDP(Markov Descion Process) 구성요소
점수!
같은 상태 같은 행동을 할지라도
최종점수의 variance를 높이고
sequence의 variance를 높임
총 점수(Return = R = G)
정책 = 확률분포 = 정책분포 = Policy Probability
MDP
상태 집합
행동 집합
전이 확률
보상
할인율
환경이 제공하는 모든 상태
에이전트가 고르는 모든 행동
상태, 행동이 정해 졌을 때! 그 다음상태로 가는 확률
상태, 행동이 정해 졌을 때! 환경이 주는 점수
현재기준으로 미래의 보상을 깎는 비율(weighted < 0)
nature
(dynamics 有)
MDP로 가졍하고 문제를 바라봄
MDP라는 프레임워크로 문제를 모델링
47. 리마인드 : MDP(Markov Descion Process) 구성요소
1. S: state들의 집합(space)
2. A: action의 space
3. P: transition matrix(state transition probability). 상태 s에서 a를 했을 때 s로 갈
확률
4. r: reward. 어느 s에서 무슨 a를 했을 때 다음 s’으로 갈 때 받는 값
5. 감마: discount factor. 현재를 좀 더 중시 + 혹은 수렴성의 이유로 값을 깎음
DP는 다양한 도메인에서 적절하게 쓰임
<S, A, P, R, r>
53. RL Optimal(*) 상황 일 때
일반 MDP 에서
근데 이놈(최적정책) 마저도
마치 Softmax를 적용하듯
확률적(확률시스템)으로 만들어버리자
= Stochastic Action Selection
왜냐하면 최적이니깐 = max 로 행동 뽑자!
Optimal 정책 일 때!
정책과 가치함수 관계
SAC
마인드 1
Soft MDP 에서
54. Action Selection 방법
Greedy Selection(deterministic)
Stochastic Selection
불확실성 발생(Optimism in the face of Uncertainty)
.
.
Regularization Term Selection 엔트로피(불확실성 커버)
.
.
.
(문제영역 發)
(해결법)
(구체적인 해결법)
59. Consistency
수식 나오게 된 배경?
일단! 결론적으로! Soft MDP의 최종 수식(일관성) - 최적 ver
(최적정책)
(최적가치)
Soft MDP 에서 이 매 타임스텝 마다 만족시켜야 할 일관성!
( Principle of optimality 일 때, )
(가능한 모든 상태에 대해)
61. Stochastic Policy
그럼 Soft MDP 에서
옵티멀-정책 형님의 모양은 이렇게 생겼다
= 뭔가 좀더 섬세해졌다..
= 뭔가 포용력 있어졌다…
기존 형님(Greedy solution)은
= 완전 상남자
= Hard
= Max
= 모 아니면 도
= 코스닥개잡주 남자의 주식 몰빵
62. SAC
Soft MDP 에서의 새롭게 정의한 최종 Consistency 유도
1. (SoftMDP 마인드) 정책분포의 softmax화
기존 V*에 엔트로피 항
추가하여 new 정의 後 정리
3. (MDP) 가치함수 中 Q함수 정의 기억해보면
2. (SoftMDP 마인드) 가치함수
SAC
마인드 2
(= 아이디어 2)
1식에 3을 대입 ! => 최종 Soft MDP Consistency
엔트로피 정의에 의해
(Pi에 대한 엔트로피는)
H는
63. 정책분포에 대한 엔트로피 항
Entropy Regularization Term (엔트로피 H 정의에 의해서)
기대값=확률평균
실제 계산은 empirical하게 하므로
Summation Notation!
(RL은 Sample based)
SAC
마인드 2
(= 아이디어 2)
Entropy Regularization RL
Policy Evaluation 파트
(Value Estimator)
원래가치측정
분포가 더 평평해지도록 하기 위함 = 탐험 많이
64. SAC
Soft MDP 에서의 새롭게 정의한 최종 Consistency 유도
이항 후 정리 (따라서 이게 SAC 매 스텝 만족 시켜야 할 Rule ! ~ 다 알았다 이제)
즉! 결론적으로! Soft MDP의 최종 수식(일관성) - 최적 ver
(최적정책)
(최적가치)
Soft MDP 에서 이 매 타임스텝 마다 만족시켜야 할 일관성!
( Principle of optimality 일 때, )
(가능한 모든 상태에 대해)
의미 :
65. Soft MDP
Soft MDP란 ? Step 1 + Step 2
Step 1 : 기존 최적정책을 Soft하게 재정의
softmax function 꼴
Soft MDP 최종 Consistency(최적 스타일)
(softmax 틱 하게)( )
Q 함수
Q 평균(기대값) = V 함수
(일단 기존 최적정책분포를 Softmax 化)
66. Soft MDP
Soft MDP란 ? Step 1 + Step 2
Step 1 : 기존 최적정책을 Soft하게 재정의
softmax function 꼴
Soft MDP 최종 Consistency(최적 스타일)
(softmax 틱 하게)( )
Q 함수
Q 평균(기대값) = V 함수
(일단 기존 최적정책분포를 Softmax 化)
Step 2 : 기존 Q함수를 Soft하게 재정의
(탐험 잘 하도록)
= Entropy Regularization
= 기존 Q*에 엔트로피항 추가
= 분포가 평평하게
= 엔트로피 커지게
= 덜 좋은 행동도 기회를!
67. Soft MDP
Soft MDP란 ? Step 1 + Step 2 인 MDP 모델링 프레임워크
Step 1 : 기존 최적정책을 Soft하게 재정의
softmax function 꼴
Soft MDP 최종 Consistency(최적 스타일)
(softmax 틱 하게)( )
Q 함수
Q 평균(기대값) = V 함수
(일단 기존 최적정책분포를 Softmax 化)
대입 / 이항 / 정리 後 최종 Consistency :
Step 2 : 기존 Q함수를 Soft하게 재정의
(탐험 잘 하도록)
= Entropy Regularization
= 기존 Q*에 엔트로피항 추가
= 분포가 평평하게
= 엔트로피 커지게
= 덜 좋은 행동도 기회를!
68. 그래서 뭐 어쩔 그 다음은?
SoftMDP 만드는 법도 알았고 SoftMDP위에서 놀기 위한 어떤 new Consistency(); 生
이제 이 SoftMDP Consistency의 Loss=Cost를 줄이는 방법론을 알아보자
SoftMDP Consistency
항상 일관성을 유지하면서
&& loss=cost=objective function 몇개 정의
&& RL방법론 + DL gradient step
&& 최적화(optimization) 학습
&& 근데 우리는 Deep RL 하니깐 RL방법 + NN 근사
항상 Soft MDP 가정의 Consistency 만족하면서!
&& objective = WHAT
&& RL방법론 = WHAT
&& NN 근사 = (벡터와 벡터를 맵핑 잘하는) CNN 계열 사용
&& DL gradient step = Computational graph 기반의 Chain rule 적용
남은 일 남은 일
70. DP도 아니고 DeepRL !
RL은 샘플베이스 학습 !
따라서
Consistency를
최적 -> 기대
변형하자
71. SAC
Soft MDP 에서의 새롭게 정의한 최종 Consistency 정의 했었음!
SAC이 매 스텝 만족 시켜야 할 Rule
최적정책
최적가치
Value Estimation
(Policy Evaluation)
Optimal에 대해서
일때,
Optimization
(Policy Improvement)
Soft Greedy UpdateSoft Policy Evaluation
기존 + α 기존 +β
72. SAC
Soft MDP 에서의 새롭게 정의한 최종 Consistency
SAC이 매 스텝 만족 시켜야 할 Rule
최적정책
최적가치
Value Estimation
(Policy Evaluation)
Optimal에 대해서
일때,
Optimization
(Policy Improvement)
Soft Greedy UpdateSoft Policy Evaluation
기존 + α 기존 +β
“max” “argmax”
= max
= greedy solution
= hard method
= greedy action selection
= Action의 선택이 deterministic 함
= 탐험의 장애
73. SAC
Soft MDP 에서의 새롭게 정의한 최종 Consistency
SAC이 매 스텝 만족 시켜야 할 Rule
최적정책
최적가치
Value Estimation
(Policy Evaluation)
Optimal에 대해서
일때,
Optimization
(Policy Improvement)
Soft Greedy UpdateSoft Policy Evaluation
기존 + α 기존 +β
“max” “argmax”
= softmax
= greedy solution NOT
= soft method
= greedy action selection NOT
= Action의 선택이 stochastic 함
= 탐험의 장애 NO! 덜 좋은 행동에도 기회를!
74. SAC
Soft MDP 에서의 새롭게 정의한 최종 Consistency
SAC이 매 스텝 만족 시켜야 할 Rule
최적정책
최적가치
Value Estimation
(Policy Evaluation)
Optimal에 대해서
일때,
Optimization
(Policy Improvement)
Soft Greedy UpdateSoft Policy Evaluation
기존 + Entropy Regularization Softmax(기존)
75. SAC
Soft MDP 에서의 새롭게 정의한 최종 Consistency
SAC이 매 스텝 만족 시켜야 할 Rule
최적정책
최적가치
Value Estimation
(Policy Evaluation)
Optimal에 대해서
일때,
Optimization
(Policy Improvement)
Soft Greedy UpdateSoft Policy EvaluationCritic Actor
76. SAC
Soft MDP 에서의 새롭게 정의한 최종 Consistency
SAC이 매 스텝 만족 시켜야 할 Rule
최적정책
최적가치
Value Estimation
(Policy Evaluation)
Optimal(*)에 대해서
일때,
Optimization
(Policy Improvement)
Soft Actor Critic
77. SAC
Soft MDP 에서의 새롭게 정의한 최종 Consistency
SAC이 매 스텝 만족 시켜야 할 Rule
기대정책
기대가치
Value Estimation
(Policy Evaluation)
Policy Iteration 처럼
일때,
Optimization
(Policy Improvement)
Soft Greedy UpdateSoft Policy Evaluation- 가치의 평균 사용
- BEE
Expectation으로 정의
일반 Q-value 정의
78. SAC
Soft MDP 에서의 새롭게 정의한 최종 Consistency
SAC이 매 스텝 만족 시켜야 할 Rule
기대정책
기대가치
Value Estimation
(Policy Evaluation)
RL 스럽게 !
일 때,
Optimization
(Policy Improvement)
Soft Greedy UpdateSoft Policy Evaluation
NN으로 Approximation
Sample based Learning
79. SAC
Soft MDP 에서의 새롭게 정의한 최종 Consistency
SAC이 매 스텝 만족 시켜야 할 Rule
기대정책
기대가치
Value Estimation
(Policy Evaluation)
RL 스럽게 !
일 때,
Optimization
(Policy Improvement)
Soft Greedy UpdateSoft Policy Evaluation
NN으로 Approximation
Sample based Learning
일반 Q-value 정의
Critic Actor
80. SAC
Soft MDP 에서의 새롭게 정의한 최종 Consistency
SAC이 매 스텝 만족 시켜야 할 Rule
기대정책
기대가치
Value Estimation
(Policy Evaluation)
RL 스럽게 !
일 때,
Optimization
(Policy Improvement)
Soft Greedy UpdateSoft Policy Evaluation
NN으로 Approximation
Sample based Learning
Value estimation과 improve 정의 시
max, argmax가 사라지게 되었음 ! off policy 배경
81. 목표
Today goals :
RL 알고리즘 中, SAC 알고리즘 이해하기(핵심)
• SAC 아이디어
- Stochastic Action Selection 필요성 이해
- Maximum Entropy RL 이해
- Actor Critic과 같은점, 다른점
• SAC Loss
• SAC 학습 매카니즘
핵심 수식 하지만 직관적인 설명
82. SAC을 3개 핵심 덩어리로 나누기
Stochastic
Action
Selection
Entropy
레귤 RL
Actor-Critic
(RL 학습 방법론 일종)
아키텍쳐적으로써 사용. RL 목적(=옵티멀 폴리시 찾기) 달성용. RL은 샘플베이스 학습.
가치 Estimator 정의에 엔트로피항 추가
= 탐험 촉진 내장
쌕
Value based Optimization method 반
Policy gradient Optimization method 반
V
정책분포의 softamx 화
Pi
- 이로써 이 두개 파트에서 각각 기존의 argmax, max 사라짐
- Deterministic 경향이 사라지는 결과
- 그 결과 off-policy도 가능하게 되는 배경
3分
= Pi뉴럴네트워크-V뉴럴네트워크
강화학습 핵심 구성요소
- 정책(Policy)
- 행동(Action)
- 가치(Value)
XX
84. Loss
V = State Value-Function
Q = State Action Value-Function
Value Function
3개
주의 : 엄밀하게 Cost면서 Objective function 이지만, 편의상 Loss라고 하겠음
85. Loss
State-Critic 로스
Actor 로스
Action-Critic 로스
V = State Value-Function
Q = State Action Value-Function
Value Function
NN 파라미터
(Learnable)
RL Function
(VF / Policy)
( )
로 스
(Critic / Actor)
V
Q
Policy
,
86. ( )
Loss
State-Critic 로스
Actor 로스
Action-Critic 로스
V = State Value-Function
Q = State Action Value-Function
Value Function
NN RL Function
(VF / Policy)
로 스
(Critic / Actor)
V
Q
Policy
Value
Network
Action-Value
Net
Actor
Network
Action-Value
Network
Value
Network
87. Loss
State-Critic 로스
Actor 로스
Action-Critic 로스
V = State Value-Function
Q = State Action Value-Function
Value Function
RL Function
(VF / Policy)
로 스
(Critic / Actor)
V
Q
Policy
Actor
Network
( )
NN
Value
Network
Action-Value
Net
Action-Value
Network
Value
Network 둘 다 pred 용
번갈아가면서 사용
하나는 pred 용
하나는 target 용(다른 네트워크 로스 계산을 위한)
이러면 stable한 학습 가능 주장
88. Loss 의미
V = State Value-Function
Q = State Action Value-Function
Value Function
3개
91. pseudocode
Sample efficient를 위하여
Replay memory buffer에
Date Aggregation
State-Critic Network gradient step
Actor Network gradient step
Action-Critic Network gradient step
State-Critic Network Moving Average
반복
buffer
.
학습 흐름
92. pseudocode
State -Critic Network backpropagation
Actor Network backpropagation
Action-Critic Network backpropagation
State-Critic Network Moving Average
반복
s, a, r, s
.
.
.
.
저장
transition
학습 흐름
93. pseudocode
반복
.
Sample efficient를 위하여
Replay memory buffer에
Date Aggregation
State-Critic 네트워크
Actor 네트워크
Action-Critic 네트워크
State-Critic 네트워크
Moving Average
= 0.005 = weight
# Taget 用 으로 쓰이는 V 업데이트
# V 업데이트
# Q 업데이트 (2개 번갈아가며 사용) => stable
# Policy 업데이트
최종 SAC Consistency
Sample based learning (RL)
SAC 로스
# 파라미터 초기화
매 time step 만족
Optimization
학습 흐름
95. SAC 의의
- 강화학습의 Exploration 문제를 어느 정도 해결(Objective-function 자체에 엔
트로피 term을 추가 함 으로써 Action distribution을 평평하게 만듦)
- 추가된 가정이 비교적 간단 : Entropy Regularization, Soft-MDP
- Actor-critic 아키텍쳐를 상속
- Critic에 정책분포에 대한 Entropy를 인센티브로 부여
- Actor가 Softmax Fucntion 화
- Actor의 Improve를 Policy Gradient 대신 KL-Divergence 사용(PG 사용 X)
- 비교적 안정적인(stable) 학습이 가능
- Sample Efficient 우수 (off policy이므로)
- Continuous Action Space 문제에 적합
- High Dimensional Space 문제에 적합
- 현재, Model free off policy의 Baseline으로 사용
기존 Actor-critic과 차이점!
학습방법의 차이!
덜 좋은 행동에게도 기회를!
행동의 diversity 보장
96. 결론
3分 강화학습
- 순한맛 -
Soft Actor-Critic 버전 1
: Off-Policy
Maximum Entropy
Deep Reinforcement-Learning
with a Stochastic Actor
최대화
- 정의한 SAC로스
- 백프롭 (gradient step)
- 엔트로피는 정책분포에 대한 값
- 정책은 정책네트워크의 업데이트로 발전
- SAC에서 정책망 학습방법은?
KLD
max argmax 없어짐
+ 엔트로피
RL개념을 뉴럴넷으로 근사
97. SAC
이제 논문제목만 봐도 뭔지 알겠다
이제 이론 알았으니 구글러 처럼
baseline 알고리즘으로
당분간
즐겨 쓰자