SlideShare a Scribd company logo
1 of 99
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
발표 주제
ICML(International Conference on Machine Learning) 2018 논문
Model free + off policy SOTA 알고리즘
버전 1
버전 2
다양한 Task에 대하여 성능 개선 !
발표 주제
ICML(International Conference on Machine Learning) 2018 논문
Model free + off policy SOTA 알고리즘
버전 1
오늘 발표주제 아님
버전 2
각오
저 핵심- =
목차
• 간단하게 몇몇 개념 리마인드
• 정책분포의 Softmax와 이를 가정한 V와 Q SoftMDP 세계
SoftMDP 프레임워크에서 매 타임스텝 만족시켜줘야하는 Consistency(규칙=방정식)
• 엔트로피 규제
• SAC의 구조와 Loss
• SAC의 수도코드
• SAC의 의의
• 정리
논문
논문
• 실화 입니까?? 수식 폰트도 뾰족뾰족하고 길고 노테이션 어
렵고 영어에다가 RL인데 MDP도 어려운데 SoftMDP고 엔
트로피에 뭐야 물리야 뭐야 (응아냐 정보이론 엔트로피야) 게
다가 저자 이름도 무섭고 저자들도 게다가 저자형들도 너무
많은데 그 힘들 모아모아서 거의 뭐 양민 학살 수준으로 쓰셨
네요
• 마치 수능 시험지 수리가형 24번 문제같은데요
• 근데 제가 한번 해설 강의처럼 해보겠습니다. 쉽고 직관적으
로 직관적으로 설명한다는건 저도 잘 모른다는거죠?ㅋㅋㅋ
자 시작 하겠습니다
논문
• 실화 입니까?? 수식 폰트도 뾰족뾰족하고 길고 노테이션 어
렵고 영어에다가 RL인데 MDP도 어려운데 SoftMDP고 엔
트로피에 뭐야 물리야 뭐야 (응아냐 정보이론 엔트로피야) 게
다가 저자 이름도 무섭고 저자들도 게다가 저자형들도 너무
많은데 그 힘들 모아모아서 거의 뭐 양민 학살 수준으로 쓰셨
네요
• 마치 수능 시험지 수리가형 24번 문제같은데요
• 근데 제가 한번 해설 강의처럼 해보겠습니다. 쉽고 직관적으
로 직관적으로 설명한다는건 저도 잘 모른다는거죠?ㅋㅋㅋ
자 시작 하겠습니다
목표
Today goals :
RL 알고리즘 中, SAC 알고리즘 이해하기(핵심)
• SAC 아이디어
- Stochastic Action Selection 필요성 이해
- Maximum Entropy RL 이해
- Actor Critic과 같은점, 다른점
• SAC Loss
• SAC 학습 매카니즘
핵심 수식 하지만 직관적인 설명
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)
기본적인 MDP 구성요소 안다고 가정
Explore와 Exploit
https://slideplayer.com/slide/10939343/
DP(다이나믹프로그래밍)
다이나믹프로그래밍
Bellman equation(기대/최적)을 이용하여 iterative하게 MDP의 문제
를 푸는 것을 Dynamic Programming 이라 함
서튼 교수님 曰 다이나믹프로그래밍 ” 동적 프로그래밍 (DP)이라는 용어는
마르코프 결정 프로세스 (MDP)와 같은 환경의 완벽한 모델(model
based)이 주어진 상황에서 최적의 정책(optimal-policy)을 계산하는 데
사용할 수있는 알고리즘 모음(policy evaluation, value iteration,
policy iteration ..)을 의미합니다. ”
DP
복잡한 문제(sequential or temporal)를 푸는 방법론
직관적인 설명:
Step 1: 큰문제를 작은문제들(sub problems)로 나누기
Step 2: 작은문제들의 답 구하기
Step 3: 해결한 작은문제로 모아서 큰문제의 답 구하기
DP
다이나믹프로그래밍은 MDP에 대한 모든 지식(full knowledge)를 알고 있다고 가정함
MDP에 대한 모든 지식(full knowledge)
- P : state transition matrix
- R : reward
또한, 다이나믹프로그래밍은 Planning에 쓰임(동적계획법)
Planning은 모델을 알때 푸는 문제. (직접 차근차근 계산). 문제의 타입을 일컫는 말.
e.g. 이 문제는 Planning 타입의 문제이다
e.g. 이 문제는 모델의 정보를 모두 알기 때문에 Planning 타입의 문제이며 다이나
믹프로그래밍으로 풀 수 있다.
(문제를)풀다 = optimal policy를 찾아냄
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를 찾는것
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(정책*)을 알 수 있다.
DP 알고리즘 계열
1. Policy Iteration
2. Value Iteration
(Lec3) Planning Dynamic Programming
DP 알고리즘 계열
1. Policy Iteration
2. Value Iteration
(Lec3) Planning Dynamic Programming
PG based Family
Value based Family
SamplebasedLearning인RL에서는
“ MDP를 풀었다 ♡♥ ” ??
♡ ♥
리마인드 : 우리의 목적은 최적의 policy를 찾는 것
벨만 방정식?
가치를 측정 할 때, 지금과 바로 그 다음의 관계(Consistency)
최적=Optimal=해
how?
이용
벨만 XX 방정식
- 기대
- Q스타일
- V스타일
- 최적
- Q스타일
- V스타일
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 자체를
못 구 하거나 어려울 때 사용 하는 문제 푸는 방법론
아냐 모르냐
Planning & Learning
• Planning(계획): 최적의 v or q를 구하기 위해서 직접 계산 + MDP 환경에 대한 정보(R, P)
를 모두 알 때 Planning 이라고 함. 다이나믹프로그래밍으로 문제를 풀 때를 일컬음
• Learning(학습): 최적의 v or q를 근사(approximate) + MDP 환경에 대한 정보 알아도
되고 몰라도 됨 + 샘플링 데이터 기반
굳이 Model based 방법론은
“ 문제를 Planning으로 푼다 ”
라고 말할 수 있음
엄밀히
RL 목표
Behavior Cloning
가장 순수한 Imitation Learning의 종류
아이디어 : Supervised Learning 매카니즘을 RL task에 적용해보자
모방학습imitation Learning
BC behavior cloning(Vanilla IL)
SIL self imitation learning
IRLinverse reinforcement learning
Behavior Cloning
아이디어 : Supervised Learning 매카니즘을 RL task에 적용해보자
매 순간(time-step t) 마다 누가 Supervised(지도) 하냐?
Imitation Learning Reinforcement Learning
사람(전문가) reward function
Behavior Cloning
아이디어 : Supervised Learning 매카니즘을 RL task에 적용해보자
무조건 dataset( “ “ pair )이
학습 전에 구축되어 있어야만 사용가능한 접근법
는 누가 어떻게 만들고 ? 사람(전문가=선생님)
에 를 누가 맵핑레이블링 ? 사람(전문가=선생님)
순수 ILImitation Learning 의 문제영역
Imitation Learning
아이디어 : Supervised Learning 매카니즘을 RL task에 적용해보자
무조건 dataset( “ “ pair )이
학습 전에 구축되어 있어야만 사용가능한 접근법
는 누가 어떻게 만들고 ? 사람(전문가=선생님)
에 를 누가 맵핑레이블링 ? 사람(전문가=선생님)
순수 ILImitation Learning 의 문제영역
RL 테크닉으로 극복하자
1. 보상(Reward function) = r(s,a)
2. 정책(Policy distribution) = p(a|s)
Behavior Cloning과 지도학습
가장 순수한 Imitation Learning의 종류
아이디어 : Supervised Learning 매카니즘을 RL task에 적용해보자
딥러닝 모델!
= 정책분포 최적화
= discriminative model
= 우리가 알던 지도학습 모델
RL의 목표
강화학습의 목적은 accumulative future reward
(discounted한 reward의 합=return=G=R)를 최대로 하는
(optimal)policy를 찾는 것
수식으로?
RL의 목표
강화학습의 목적은 accumulative future reward
(discounted한 reward의 합=return=G=R)를 최대로 하는
(optimal)policy를 찾는 것
수식으로?
전체 time step에 대해서
모든 받은 보상의 합의 기대값확률적 평균을 최대화 시키는 것 (1)
모든 받은 보상의 합의 기대값확률적 평균을 최대화 시키는 것 (2)
RL의 목표
강화학습의 목적은 accumulative future reward
(discounted한 reward의 합=return=G=R)를 최대로 하는
(optimal)policy를 찾는 것
수식으로?
전체 time step에 대해서 모든 받은 보상의 합의 기대값확률적 평균을 최대화 시키는 것
RL의 목표
정통 RL terminology(용어), notation(표기법)
상태
행동
정책
입력
역할
출력
역할
노트
우리(agent) 는 세상world=environment 을 어떻게 살아 갈까? dynamics
강화학습에서
= = Randomness 발생
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>
이제 SAC 얘기 시작
SAC 논문 저자 주장
모든 RL의 목표
• Optimal policy를 찾는 것
Optimal Policy
= 최적해
= 최적의 정책분포
= 최적의 확률
1개 에피소드 리턴
모든 에피소드 의 평균
최대로 하는 정책
Optimization 방법은 방법론 마다 알고리즘 마다 다름
= 보상의 단순합
리턴 = R = G
PI or PI*
모든 RL 관심사
• RL Objective
Optimal Policy
SAC의 관심사
• Maximum Entropy Objective
Function(Maximum Entropy RL)
RL Objective + Maximum Entropy
Soft Update 실험결과 우수성
SAC의 분류
SAC의 분류
SAC의 분류
SAC의 분류
리마인드 : 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
리마인드 : 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
리마인드 : MDP(Markov Descion Process) 구성요소
점수!
같은 상태 같은 행동을 할지라도
최종점수의 variance를 높이고
sequence의 variance를 높임
총 점수(Return = R = G)
정책 = 확률분포 = 정책분포 = Policy Probability
MDP
상태 집합
행동 집합
전이 확률
보상
할인율
환경이 제공하는 모든 상태
에이전트가 고르는 모든 행동
상태, 행동이 정해 졌을 때! 그 다음상태로 가는 확률
상태, 행동이 정해 졌을 때! 환경이 주는 점수
현재기준으로 미래의 보상을 깎는 비율(weighted < 0)
nature
(dynamics 有)
MDP로 가졍하고 문제를 바라봄
MDP라는 프레임워크로 문제를 모델링
리마인드 : 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>
리마인드 : MDP 그래프
그림
Backup의방향
리마인드
(MDP 에서)
RL의 Objective
가치함수 中 State Value function
가치함수 中 State Action Value function
리턴
직관적인 SAC 아이디어 설명
SoftMDP
첫번째 分
Stochastic
Action
Selection
Entropy
레귤 RL
Actor-
Critic
(RL 학습 방법론 일종)
쌕
SAC
마인드 1
(= 아이디어 1)
RL Optimal(*) 상황 일 때
일반 MDP 에서
근데 이놈(최적정책) 마저도
마치 Softmax를 적용하듯
확률적(확률시스템)으로 만들어버리자
= Stochastic Action Selection
왜냐하면 최적이니깐 = max 로 행동 뽑자!
Optimal 정책 일 때!
정책과 가치함수 관계
SAC
마인드 1
Soft MDP 에서
Action Selection 방법
Greedy Selection(deterministic)
Stochastic Selection
불확실성 발생(Optimism in the face of Uncertainty)
.
.
Regularization Term Selection 엔트로피(불확실성 커버)
.
.
.
(문제영역 發)
(해결법)
(구체적인 해결법)
DP에서의 Consistency
(벨만기대방정식 /벨만최적방정식)
Q버전
벨반기대형
(BEE)
벨반최적형
(BOE)
PI 계열
VI 계열
V버전
Q버전
V버전
아직 최적 아닌 정책을 고정 시켜놓고 가치를 측정 할 때
최적정책을 고정 시켜놓고 가치를 측정 할 때
Principle of optimality : 최적일때, 모든 state에 대하여 아래 수식 성립
Optimal 일때
최적가치 알고 싶으면
최적Q-value를 greedy solution
Softmax
딥러닝
Softmax = 확률시스템으로 만들어준다
Soft MDP ?
일반적인 softmax function 꼴
softmax 검색 from. 위키피디아
softmax 꼴
두번째 分
Stochastic
Action
Selection
Entropy
레귤 RL
Actor-
Critic
(RL 학습 방법론 일종)
쌕
SAC
마인드 1
(= 아이디어 1)
SAC
마인드 2
(= 아이디어 2)
Consistency
수식 나오게 된 배경?
일단! 결론적으로! Soft MDP의 최종 수식(일관성) - 최적 ver
(최적정책)
(최적가치)
Soft MDP 에서 이 매 타임스텝 마다 만족시켜야 할 일관성!
( Principle of optimality 일 때, )
(가능한 모든 상태에 대해)
벨만최적방정식
리마인드
Q스타일
V스타일
Stochastic Policy
그럼 Soft MDP 에서
옵티멀-정책 형님의 모양은 이렇게 생겼다
= 뭔가 좀더 섬세해졌다..
= 뭔가 포용력 있어졌다…
기존 형님(Greedy solution)은
= 완전 상남자
= Hard
= Max
= 모 아니면 도
= 코스닥개잡주 남자의 주식 몰빵
SAC
Soft MDP 에서의 새롭게 정의한 최종 Consistency 유도
1. (SoftMDP 마인드) 정책분포의 softmax화
기존 V*에 엔트로피 항
추가하여 new 정의 後 정리
3. (MDP) 가치함수 中 Q함수 정의 기억해보면
2. (SoftMDP 마인드) 가치함수
SAC
마인드 2
(= 아이디어 2)
1식에 3을 대입 ! => 최종 Soft MDP Consistency
엔트로피 정의에 의해
(Pi에 대한 엔트로피는)
H는
정책분포에 대한 엔트로피 항
Entropy Regularization Term (엔트로피 H 정의에 의해서)
기대값=확률평균
실제 계산은 empirical하게 하므로
Summation Notation!
(RL은 Sample based)
SAC
마인드 2
(= 아이디어 2)
Entropy Regularization RL
Policy Evaluation 파트
(Value Estimator)
원래가치측정
분포가 더 평평해지도록 하기 위함 = 탐험 많이
SAC
Soft MDP 에서의 새롭게 정의한 최종 Consistency 유도
이항 후 정리 (따라서 이게 SAC 매 스텝 만족 시켜야 할 Rule ! ~ 다 알았다 이제)
즉! 결론적으로! Soft MDP의 최종 수식(일관성) - 최적 ver
(최적정책)
(최적가치)
Soft MDP 에서 이 매 타임스텝 마다 만족시켜야 할 일관성!
( Principle of optimality 일 때, )
(가능한 모든 상태에 대해)
의미 :
Soft MDP
Soft MDP란 ? Step 1 + Step 2
Step 1 : 기존 최적정책을 Soft하게 재정의
softmax function 꼴
Soft MDP 최종 Consistency(최적 스타일)
(softmax 틱 하게)( )
Q 함수
Q 평균(기대값) = V 함수
(일단 기존 최적정책분포를 Softmax 化)
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*에 엔트로피항 추가
= 분포가 평평하게
= 엔트로피 커지게
= 덜 좋은 행동도 기회를!
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*에 엔트로피항 추가
= 분포가 평평하게
= 엔트로피 커지게
= 덜 좋은 행동도 기회를!
그래서 뭐 어쩔 그 다음은?
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 적용
남은 일 남은 일
세번째 分
Stochastic
Action
Selection
Entropy
레귤 RL
Actor-
Critic
(RL 학습 방법론 일종)
쌕
DP도 아니고 DeepRL !
RL은 샘플베이스 학습 !
따라서
Consistency를
최적 -> 기대
변형하자
SAC
Soft MDP 에서의 새롭게 정의한 최종 Consistency 정의 했었음!
SAC이 매 스텝 만족 시켜야 할 Rule
최적정책
최적가치
Value Estimation
(Policy Evaluation)
Optimal에 대해서
일때,
Optimization
(Policy Improvement)
Soft Greedy UpdateSoft Policy Evaluation
기존 + α 기존 +β
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 함
= 탐험의 장애
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! 덜 좋은 행동에도 기회를!
SAC
Soft MDP 에서의 새롭게 정의한 최종 Consistency
SAC이 매 스텝 만족 시켜야 할 Rule
최적정책
최적가치
Value Estimation
(Policy Evaluation)
Optimal에 대해서
일때,
Optimization
(Policy Improvement)
Soft Greedy UpdateSoft Policy Evaluation
기존 + Entropy Regularization Softmax(기존)
SAC
Soft MDP 에서의 새롭게 정의한 최종 Consistency
SAC이 매 스텝 만족 시켜야 할 Rule
최적정책
최적가치
Value Estimation
(Policy Evaluation)
Optimal에 대해서
일때,
Optimization
(Policy Improvement)
Soft Greedy UpdateSoft Policy EvaluationCritic Actor
SAC
Soft MDP 에서의 새롭게 정의한 최종 Consistency
SAC이 매 스텝 만족 시켜야 할 Rule
최적정책
최적가치
Value Estimation
(Policy Evaluation)
Optimal(*)에 대해서
일때,
Optimization
(Policy Improvement)
Soft Actor Critic
SAC
Soft MDP 에서의 새롭게 정의한 최종 Consistency
SAC이 매 스텝 만족 시켜야 할 Rule
기대정책
기대가치
Value Estimation
(Policy Evaluation)
Policy Iteration 처럼
일때,
Optimization
(Policy Improvement)
Soft Greedy UpdateSoft Policy Evaluation- 가치의 평균 사용
- BEE
Expectation으로 정의
일반 Q-value 정의
SAC
Soft MDP 에서의 새롭게 정의한 최종 Consistency
SAC이 매 스텝 만족 시켜야 할 Rule
기대정책
기대가치
Value Estimation
(Policy Evaluation)
RL 스럽게 !
일 때,
Optimization
(Policy Improvement)
Soft Greedy UpdateSoft Policy Evaluation
 NN으로 Approximation
 Sample based Learning
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
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 배경
목표
Today goals :
RL 알고리즘 中, SAC 알고리즘 이해하기(핵심)
• SAC 아이디어
- Stochastic Action Selection 필요성 이해
- Maximum Entropy RL 이해
- Actor Critic과 같은점, 다른점
• SAC Loss
• SAC 학습 매카니즘
핵심 수식 하지만 직관적인 설명
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
SAC Loss 설명
Loss
V = State Value-Function
Q = State Action Value-Function
Value Function
3개
주의 : 엄밀하게 Cost면서 Objective function 이지만, 편의상 Loss라고 하겠음
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
,
( )
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
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한 학습 가능 주장
Loss 의미
V = State Value-Function
Q = State Action Value-Function
Value Function
3개
SAC 학습 매카니즘 설명
pseudocode
Data 모으고
반복
(Loop)
buffer
.
뉴럴넷 업데이트
학습 흐름
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
.
학습 흐름
pseudocode
State -Critic Network backpropagation
Actor Network backpropagation
Action-Critic Network backpropagation
State-Critic Network Moving Average
반복
s, a, r, s
.
.
.
.
저장
transition
학습 흐름
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
학습 흐름
hyperparameter
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 보장
결론
3分 강화학습
- 순한맛 -
Soft Actor-Critic 버전 1
: Off-Policy
Maximum Entropy
Deep Reinforcement-Learning
with a Stochastic Actor
최대화
- 정의한 SAC로스
- 백프롭 (gradient step)
- 엔트로피는 정책분포에 대한 값
- 정책은 정책네트워크의 업데이트로 발전
- SAC에서 정책망 학습방법은?
KLD
max argmax 없어짐
+ 엔트로피
RL개념을 뉴럴넷으로 근사
SAC
이제 논문제목만 봐도 뭔지 알겠다
이제 이론 알았으니 구글러 처럼
baseline 알고리즘으로
당분간
즐겨 쓰자
감사합니다
참고문헌
• https://dnddnjs.gitbooks.io/rl/content/actor-critic_policy_gradient.html
• https://wonseokjung.github.io/reinforcementlearning/update/RL-PG_RE_AC/
• https://jay.tech.blog/2017/01/04/policy-gradient-methods-part-2/
• https://jay.tech.blog/2019/01/26/soft-actor-critic/
• http://blog.naver.com/PostView.nhn?blogId=gyrbsdl18&logNo=221033476448&parentCategoryNo=&categoryNo=&viewDat
e=&isShowPopularPosts=false&from=postView
• http://blog.naver.com/PostView.nhn?blogId=gyrbsdl18&logNo=221013188633
• https://ishuca.tistory.com/400
• https://stable-baselines.readthedocs.io/en/master/modules/sac.html
• https://www.slideshare.net/WendyLiu64/personalized-list-recommendation-based-on-multi-armed-bandit-algorithms-
75536595
• https://slideplayer.com/slide/10939343/
• Sutton RL book
• UCL David Silver RL Course 자료
• CS294-112 (2018) 자료
• 아트랩 엄태웅님 자료
• 카이스트 박사과정 김성엽님 자료
• 당근마켓 이웅원님 자료
• 서울대 박사과정 이동민님 자료
• 동국대 박사과정 정창훈님 자료
• RL Korea 블로그
• 곽동민 님 머신러닝부터 딥러닝까지

More Related Content

What's hot

Maximum Entropy Reinforcement Learning (Stochastic Control)
Maximum Entropy Reinforcement Learning (Stochastic Control)Maximum Entropy Reinforcement Learning (Stochastic Control)
Maximum Entropy Reinforcement Learning (Stochastic Control)Dongmin Lee
 
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016Taehoon Kim
 
pycon2018 "RL Adventure : DQN 부터 Rainbow DQN까지"
pycon2018 "RL Adventure : DQN 부터 Rainbow DQN까지"pycon2018 "RL Adventure : DQN 부터 Rainbow DQN까지"
pycon2018 "RL Adventure : DQN 부터 Rainbow DQN까지"YeChan(Paul) Kim
 
An introduction to reinforcement learning (rl)
An introduction to reinforcement learning (rl)An introduction to reinforcement learning (rl)
An introduction to reinforcement learning (rl)pauldix
 
분산 강화학습 논문(DeepMind IMPALA) 구현
분산 강화학습 논문(DeepMind IMPALA) 구현분산 강화학습 논문(DeepMind IMPALA) 구현
분산 강화학습 논문(DeepMind IMPALA) 구현정주 김
 
알파고 (바둑 인공지능)의 작동 원리
알파고 (바둑 인공지능)의 작동 원리알파고 (바둑 인공지능)의 작동 원리
알파고 (바둑 인공지능)의 작동 원리Shane (Seungwhan) Moon
 
From REINFORCE to PPO
From REINFORCE to PPOFrom REINFORCE to PPO
From REINFORCE to PPOWoong won Lee
 
파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강Woong won Lee
 
강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introductionTaehoon Kim
 
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016Taehoon Kim
 
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016Taehoon Kim
 
강화학습의 흐름도 Part 1
강화학습의 흐름도 Part 1강화학습의 흐름도 Part 1
강화학습의 흐름도 Part 1Dongmin Lee
 
Reinforcement Learning with Deep Energy-Based Policies
Reinforcement Learning with Deep Energy-Based PoliciesReinforcement Learning with Deep Energy-Based Policies
Reinforcement Learning with Deep Energy-Based PoliciesSangwoo Mo
 
Intro to Deep Reinforcement Learning
Intro to Deep Reinforcement LearningIntro to Deep Reinforcement Learning
Intro to Deep Reinforcement LearningKhaled Saleh
 
AlphaGo 알고리즘 요약
AlphaGo 알고리즘 요약AlphaGo 알고리즘 요약
AlphaGo 알고리즘 요약Jooyoul Lee
 
An introduction to reinforcement learning
An introduction to  reinforcement learningAn introduction to  reinforcement learning
An introduction to reinforcement learningJie-Han Chen
 
An introduction to deep reinforcement learning
An introduction to deep reinforcement learningAn introduction to deep reinforcement learning
An introduction to deep reinforcement learningBig Data Colombia
 
Guided policy search
Guided policy searchGuided policy search
Guided policy searchJaehyeon Park
 
Policy Gradient Theorem
Policy Gradient TheoremPolicy Gradient Theorem
Policy Gradient TheoremAshwin Rao
 
Deep generative model.pdf
Deep generative model.pdfDeep generative model.pdf
Deep generative model.pdfHyungjoo Cho
 

What's hot (20)

Maximum Entropy Reinforcement Learning (Stochastic Control)
Maximum Entropy Reinforcement Learning (Stochastic Control)Maximum Entropy Reinforcement Learning (Stochastic Control)
Maximum Entropy Reinforcement Learning (Stochastic Control)
 
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
 
pycon2018 "RL Adventure : DQN 부터 Rainbow DQN까지"
pycon2018 "RL Adventure : DQN 부터 Rainbow DQN까지"pycon2018 "RL Adventure : DQN 부터 Rainbow DQN까지"
pycon2018 "RL Adventure : DQN 부터 Rainbow DQN까지"
 
An introduction to reinforcement learning (rl)
An introduction to reinforcement learning (rl)An introduction to reinforcement learning (rl)
An introduction to reinforcement learning (rl)
 
분산 강화학습 논문(DeepMind IMPALA) 구현
분산 강화학습 논문(DeepMind IMPALA) 구현분산 강화학습 논문(DeepMind IMPALA) 구현
분산 강화학습 논문(DeepMind IMPALA) 구현
 
알파고 (바둑 인공지능)의 작동 원리
알파고 (바둑 인공지능)의 작동 원리알파고 (바둑 인공지능)의 작동 원리
알파고 (바둑 인공지능)의 작동 원리
 
From REINFORCE to PPO
From REINFORCE to PPOFrom REINFORCE to PPO
From REINFORCE to PPO
 
파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강
 
강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction
 
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
 
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
 
강화학습의 흐름도 Part 1
강화학습의 흐름도 Part 1강화학습의 흐름도 Part 1
강화학습의 흐름도 Part 1
 
Reinforcement Learning with Deep Energy-Based Policies
Reinforcement Learning with Deep Energy-Based PoliciesReinforcement Learning with Deep Energy-Based Policies
Reinforcement Learning with Deep Energy-Based Policies
 
Intro to Deep Reinforcement Learning
Intro to Deep Reinforcement LearningIntro to Deep Reinforcement Learning
Intro to Deep Reinforcement Learning
 
AlphaGo 알고리즘 요약
AlphaGo 알고리즘 요약AlphaGo 알고리즘 요약
AlphaGo 알고리즘 요약
 
An introduction to reinforcement learning
An introduction to  reinforcement learningAn introduction to  reinforcement learning
An introduction to reinforcement learning
 
An introduction to deep reinforcement learning
An introduction to deep reinforcement learningAn introduction to deep reinforcement learning
An introduction to deep reinforcement learning
 
Guided policy search
Guided policy searchGuided policy search
Guided policy search
 
Policy Gradient Theorem
Policy Gradient TheoremPolicy Gradient Theorem
Policy Gradient Theorem
 
Deep generative model.pdf
Deep generative model.pdfDeep generative model.pdf
Deep generative model.pdf
 

Similar to Introduction to SAC(Soft Actor-Critic)

Machine learning bysogood
Machine learning bysogoodMachine learning bysogood
Machine learning bysogoodS.Good Kim
 
강화학습 기초부터 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
 
Reinforcement learning
Reinforcement learningReinforcement learning
Reinforcement learningTae Young Lee
 
CS294-112 Lecture 13
CS294-112 Lecture 13CS294-112 Lecture 13
CS294-112 Lecture 13Gyubin Son
 
MOReL: Model-Based Offline Reinforcement Learning
MOReL: Model-Based Offline Reinforcement LearningMOReL: Model-Based Offline Reinforcement Learning
MOReL: Model-Based Offline Reinforcement Learningtaeseon ryu
 
Machine learning linearregression
Machine learning linearregressionMachine learning linearregression
Machine learning linearregressionHaYoungChoi17
 
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.Adonis Han
 
2.supervised learning(epoch#2)-1
2.supervised learning(epoch#2)-12.supervised learning(epoch#2)-1
2.supervised learning(epoch#2)-1Haesun Park
 
Ml for 정형데이터
Ml for 정형데이터Ml for 정형데이터
Ml for 정형데이터JEEHYUN PAIK
 
발표자료 11장
발표자료 11장발표자료 11장
발표자료 11장Juhui Park
 
파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)SK(주) C&C - 강병호
 
Transfer learning usage
Transfer learning usageTransfer learning usage
Transfer learning usageTae Young Lee
 
개발자를 위한 공감세미나 tensor-flow
개발자를 위한 공감세미나 tensor-flow개발자를 위한 공감세미나 tensor-flow
개발자를 위한 공감세미나 tensor-flow양 한빛
 
Chapter 11 Practical Methodology
Chapter 11 Practical MethodologyChapter 11 Practical Methodology
Chapter 11 Practical MethodologyKyeongUkJang
 
DeBERTA : Decoding-Enhanced BERT with Disentangled Attention
DeBERTA : Decoding-Enhanced BERT with Disentangled AttentionDeBERTA : Decoding-Enhanced BERT with Disentangled Attention
DeBERTA : Decoding-Enhanced BERT with Disentangled Attentiontaeseon ryu
 

Similar to Introduction to SAC(Soft Actor-Critic) (20)

CS294-112 18
CS294-112 18CS294-112 18
CS294-112 18
 
Machine learning bysogood
Machine learning bysogoodMachine learning bysogood
Machine learning bysogood
 
강화학습 기초부터 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)
 
Rl
RlRl
Rl
 
Reinforcement learning
Reinforcement learningReinforcement learning
Reinforcement learning
 
CS294-112 Lecture 13
CS294-112 Lecture 13CS294-112 Lecture 13
CS294-112 Lecture 13
 
MOReL: Model-Based Offline Reinforcement Learning
MOReL: Model-Based Offline Reinforcement LearningMOReL: Model-Based Offline Reinforcement Learning
MOReL: Model-Based Offline Reinforcement Learning
 
Machine learning linearregression
Machine learning linearregressionMachine learning linearregression
Machine learning linearregression
 
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.
 
2.supervised learning(epoch#2)-1
2.supervised learning(epoch#2)-12.supervised learning(epoch#2)-1
2.supervised learning(epoch#2)-1
 
Ml for 정형데이터
Ml for 정형데이터Ml for 정형데이터
Ml for 정형데이터
 
발표자료 11장
발표자료 11장발표자료 11장
발표자료 11장
 
REALM
REALMREALM
REALM
 
PaLM Paper Review
PaLM Paper ReviewPaLM Paper Review
PaLM Paper Review
 
파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)
 
Transfer learning usage
Transfer learning usageTransfer learning usage
Transfer learning usage
 
개발자를 위한 공감세미나 tensor-flow
개발자를 위한 공감세미나 tensor-flow개발자를 위한 공감세미나 tensor-flow
개발자를 위한 공감세미나 tensor-flow
 
Chapter 11 Practical Methodology
Chapter 11 Practical MethodologyChapter 11 Practical Methodology
Chapter 11 Practical Methodology
 
World model
World modelWorld model
World model
 
DeBERTA : Decoding-Enhanced BERT with Disentangled Attention
DeBERTA : Decoding-Enhanced BERT with Disentangled AttentionDeBERTA : Decoding-Enhanced BERT with Disentangled Attention
DeBERTA : Decoding-Enhanced BERT with Disentangled Attention
 

Recently uploaded

JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?Jay Park
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석JMP Korea
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP Korea
 

Recently uploaded (8)

JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 

Introduction to SAC(Soft Actor-Critic)

  • 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
  • 2. 발표 주제 ICML(International Conference on Machine Learning) 2018 논문 Model free + off policy SOTA 알고리즘 버전 1 버전 2 다양한 Task에 대하여 성능 개선 !
  • 3. 발표 주제 ICML(International Conference on Machine Learning) 2018 논문 Model free + off policy SOTA 알고리즘 버전 1 오늘 발표주제 아님 버전 2
  • 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)
  • 11. 기본적인 MDP 구성요소 안다고 가정
  • 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*
  • 37. 모든 RL 관심사 • RL Objective Optimal Policy
  • 38. SAC의 관심사 • Maximum Entropy Objective Function(Maximum Entropy RL) RL Objective + Maximum Entropy
  • 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>
  • 48. 리마인드 : MDP 그래프 그림 Backup의방향
  • 49. 리마인드 (MDP 에서) RL의 Objective 가치함수 中 State Value function 가치함수 中 State Action Value function 리턴
  • 52. 첫번째 分 Stochastic Action Selection Entropy 레귤 RL Actor- Critic (RL 학습 방법론 일종) 쌕 SAC 마인드 1 (= 아이디어 1)
  • 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 엔트로피(불확실성 커버) . . . (문제영역 發) (해결법) (구체적인 해결법)
  • 55. DP에서의 Consistency (벨만기대방정식 /벨만최적방정식) Q버전 벨반기대형 (BEE) 벨반최적형 (BOE) PI 계열 VI 계열 V버전 Q버전 V버전 아직 최적 아닌 정책을 고정 시켜놓고 가치를 측정 할 때 최적정책을 고정 시켜놓고 가치를 측정 할 때 Principle of optimality : 최적일때, 모든 state에 대하여 아래 수식 성립 Optimal 일때 최적가치 알고 싶으면 최적Q-value를 greedy solution
  • 57. Soft MDP ? 일반적인 softmax function 꼴 softmax 검색 from. 위키피디아 softmax 꼴
  • 58. 두번째 分 Stochastic Action Selection Entropy 레귤 RL Actor- Critic (RL 학습 방법론 일종) 쌕 SAC 마인드 1 (= 아이디어 1) SAC 마인드 2 (= 아이디어 2)
  • 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 알고리즘으로 당분간 즐겨 쓰자
  • 99. 참고문헌 • https://dnddnjs.gitbooks.io/rl/content/actor-critic_policy_gradient.html • https://wonseokjung.github.io/reinforcementlearning/update/RL-PG_RE_AC/ • https://jay.tech.blog/2017/01/04/policy-gradient-methods-part-2/ • https://jay.tech.blog/2019/01/26/soft-actor-critic/ • http://blog.naver.com/PostView.nhn?blogId=gyrbsdl18&logNo=221033476448&parentCategoryNo=&categoryNo=&viewDat e=&isShowPopularPosts=false&from=postView • http://blog.naver.com/PostView.nhn?blogId=gyrbsdl18&logNo=221013188633 • https://ishuca.tistory.com/400 • https://stable-baselines.readthedocs.io/en/master/modules/sac.html • https://www.slideshare.net/WendyLiu64/personalized-list-recommendation-based-on-multi-armed-bandit-algorithms- 75536595 • https://slideplayer.com/slide/10939343/ • Sutton RL book • UCL David Silver RL Course 자료 • CS294-112 (2018) 자료 • 아트랩 엄태웅님 자료 • 카이스트 박사과정 김성엽님 자료 • 당근마켓 이웅원님 자료 • 서울대 박사과정 이동민님 자료 • 동국대 박사과정 정창훈님 자료 • RL Korea 블로그 • 곽동민 님 머신러닝부터 딥러닝까지