19
Chapter 8. 딥강화학습 <기계학습 개론> 강의 서울대학교 컴퓨터공학부 장병탁 교재: 장교수의 딥러닝, 홍릉과학출판사, 2017. Slides Prepared by 장병탁, 최진영 Biointelligence Laboratory School of Computer Science and Engineering Seoul National University Version 20171109 © 2017, 장교수의 딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr 1

Ch 8 딥강화학습 - Seoul National Universityscai/Courses/ML2017/Ch8_DRL.pdf · 2017. 11. 9. · Chapter(8.(딥강화학습 강의 서울대학교컴퓨터공학부

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ch 8 딥강화학습 - Seoul National Universityscai/Courses/ML2017/Ch8_DRL.pdf · 2017. 11. 9. · Chapter(8.(딥강화학습  강의 서울대학교컴퓨터공학부

Chapter 8. 딥강화학습

<기계학습개론>강의서울대학교컴퓨터공학부

장병탁

교재:장교수의딥러닝,홍릉과학출판사, 2017.

Slides Prepared by장병탁,최진영

Biointelligence LaboratorySchool of Computer Science and Engineering

Seoul National University

Version 20171109

© 2017, 장교수의 딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr 1

Page 2: Ch 8 딥강화학습 - Seoul National Universityscai/Courses/ML2017/Ch8_DRL.pdf · 2017. 11. 9. · Chapter(8.(딥강화학습  강의 서울대학교컴퓨터공학부

목차

© 2017, 장교수의 딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr 2

8.1강화학습과 MDP 문제 ...…………………………… 4

8.2 MC 학습과 TD 학습 ......……………………………. 8

8.3 Sarsa와 Q학습알고리듬 .………...……………….. 11

8.4딥큐넷(DQN) ……….………………...,…………… 14

8.5딥강화학습의 활용: AlphaGo ........…………………. 17

요약 ………………..………………………………….….. 19

© 2017, 장교수의 딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

Page 3: Ch 8 딥강화학습 - Seoul National Universityscai/Courses/ML2017/Ch8_DRL.pdf · 2017. 11. 9. · Chapter(8.(딥강화학습  강의 서울대학교컴퓨터공학부

들어가는 질문n 감독학습, 무감독 학습과 비교하여 강화학습이 다른 점은 무엇인가?

n 마코프결정문제(MDP)를 정의하고 다양한 해결 방법들을 기술하시오.

n 벨만 최적식, 동적프로그래밍의 개념을 설명하시오.

n MDP 문제 해결을 위한 방법으로서의 강화학습을 설명하시오.

n 강화학습의 다양한 전략들을 기술하고 서로간의 차이를 설명하시오.

n 모델기반 vs. 모델프리 RL의 차이를 설명하시오.

n 오프라인 vs. 온라인 RL의 차이를 설명하시오.

n On-­policy vs. Off-­policy RL의 차이를 설명하시오.

n MC학습(몬테칼로기반동적프로그래밍방식)방법을 설명하시오.

n TD학습방법을기술하고 MC방법과의차이를 설명하시오.

n TD학습, Sarsa, Q학습알고리듬을 설명하고 차이점을 기술하시오

n 알파고가 사용한 딥강화학습 DQN의 핵심 아이디어들을 설명하시오.

© 2017, 장교수의 딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr 3

Page 4: Ch 8 딥강화학습 - Seoul National Universityscai/Courses/ML2017/Ch8_DRL.pdf · 2017. 11. 9. · Chapter(8.(딥강화학습  강의 서울대학교컴퓨터공학부

Introductionn 감독학습:

n 무감독학습: or

n 강화학습 (RL): p(a|s)

q 강화학습의 특징

§ 에이전트의상태(s)와행동(a)에대해보상(r)을최대화하는정책 p(a|s) 를찾는문제

§ 환경과 상호작용하는 에이전트(로봇)

§ 순차적 의사 결정 문제, 행동 제어 문제

§ 미래 보상 고려, 지연된 보상(delayed reward)

© 2017, 장교수의 딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr 4

8.1 강화학습과 MDP 문제 (1/4)

( )y f x=~ ( )x p x( )x f x=

Page 5: Ch 8 딥강화학습 - Seoul National Universityscai/Courses/ML2017/Ch8_DRL.pdf · 2017. 11. 9. · Chapter(8.(딥강화학습  강의 서울대학교컴퓨터공학부

Introductionn RL의활용: 로보틱스, 게임등

© 2017, 장교수의 딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr 5

8.1 강화학습과 MDP 문제 (2/4)

Page 6: Ch 8 딥강화학습 - Seoul National Universityscai/Courses/ML2017/Ch8_DRL.pdf · 2017. 11. 9. · Chapter(8.(딥강화학습  강의 서울대학교컴퓨터공학부

n Markov Decision Process (MDP)-­ Markov Decision Process =

: States of the agent: Actions of the agent: State transition probability : Reward : Discount factor

-­ Markov Property:

© 2017, 장교수의 딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr 6

8.1 강화학습과 MDP 문제 (3/4)

, , , , S A P R γ

' 1(S ' | S ,A )ass t t tP P s s a+= = = =

1(R | S ,A )as t t tR s a+= Ε = =

1 1 1,...,(S | S ) (S | S )t t t tP P+ +=

SA

RP

γ

Page 7: Ch 8 딥강화학습 - Seoul National Universityscai/Courses/ML2017/Ch8_DRL.pdf · 2017. 11. 9. · Chapter(8.(딥강화학습  강의 서울대학교컴퓨터공학부

n 반환 (return,G): Discounted accumulated mean reward

q 정책 π (policy of the agent):

q 가치함수 V (Value function =장기적 반환):

q 최적 정책: Value function을최대화하는정책을찾음

q 벨만 최적식 (Bellman optimality equation)see text: page 175

q 동적 프로그래밍(dynamic programming, DP)q 강화학습 RL = Approximate Solution to MDP

© 2017, 장교수의 딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr 7

8.1 강화학습과 MDP 문제 (4/4)

1 2 1 1 10...t t t t k t tk

G R R R R G∞+ + + + + +=

= + γ + = γ = + γ∑

( | ) ( | )t ta s P A a S sπ = = =

10

( ) [ | ] [ | ]kt t t k t

kV s E G S s E R S sπ π π

+ +=

= = = γ =∑

10

( , ) [ | , a] [ | ,A ]kt t t t k t t

kQ s a E G S s A E R S s aπ π π

+ +=

= = = = γ = =∑

* ( , )arg max Q s aππ

π =* V ( )arg max sππ

π =

Page 8: Ch 8 딥강화학습 - Seoul National Universityscai/Courses/ML2017/Ch8_DRL.pdf · 2017. 11. 9. · Chapter(8.(딥강화학습  강의 서울대학교컴퓨터공학부

Policy Iterationn 강화학습의학습 패러다임

- Evaluation: 를현재의정책 를 통해학습

- Improvement: 를현재의가치함수 를통해학습

- Improvement의예: Greedy improvement

© 2017, 장교수의 딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr 8

8.2 MC 학습과 TD 학습(1/3)

1( ) ( , )arg maxk ka

s Q s aπ + =

( , )Q s aπ

( , )Q s aπ

( )sπ

( )sπ

Page 9: Ch 8 딥강화학습 - Seoul National Universityscai/Courses/ML2017/Ch8_DRL.pdf · 2017. 11. 9. · Chapter(8.(딥강화학습  강의 서울대학교컴퓨터공학부

Methods for RLn Monte-Carlo RL (MC 학습)

- DP 방법에서 에피소드의Return (G)을 Value function으로부터 Sampling하여 근사(MC 근사)

- 에피소드가끝나야학습이가능- 에피소드의길이가길거나무한한경우사용하기어려움

© 2017, 장교수의 딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr 9

8.2 MC 학습과 TD 학습(2/3)

1 2[ ... | , ]t t t t tG R R S s A a+ += + γ + = =

1 2( , ) [G ( , ) ( , ) ... | , ]t tq s a E s a G s a S s A aπ = + + = =

Page 10: Ch 8 딥강화학습 - Seoul National Universityscai/Courses/ML2017/Ch8_DRL.pdf · 2017. 11. 9. · Chapter(8.(딥강화학습  강의 서울대학교컴퓨터공학부

Methods for RLn Temporal Difference RL (TD학습)

-­ Bootstrapping을사용해에피소드가끝나지않아도학습가능

-­ MC 방법에비해효율적

q 모델기반 vs. 모델프리 RL

q MC: 모델기반 (전이확률필요)

q TD: 모델프리(전이확률 불필요)

q 오프라인 vs. 온라인 학습

q MC:오프라인(샘플 모아서 update)

q TD: 온라인(바로 update)

© 2017, 장교수의 딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr 10

8.2 MC 학습과 TD 학습(3/3)

1 1( ) [ ( ) | ]t t tV s E R V s S sπ π+ += + γ =

1 1 1( , ) [ ( ,a ) | ,A ]t t t t tQ s a E R Q s S s aπ π+ + += + γ = =

Page 11: Ch 8 딥강화학습 - Seoul National Universityscai/Courses/ML2017/Ch8_DRL.pdf · 2017. 11. 9. · Chapter(8.(딥강화학습  강의 서울대학교컴퓨터공학부

Value Based RLn Bootstrapping Value Based RL-­ Value function만을학습

-­ Action의선택은 greedy policy를사용:-­대표적으로SARSA와Q-­learning이있음

-­ Table을사용하는방법과 Approximation을사용하는방법이있음

© 2017, 장교수의 딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr 11

8.3 SARSA와 Q학습 알고리듬 (1/3)

1( ) ( , )arg maxk ka

s Q s aπ + =

Page 12: Ch 8 딥강화학습 - Seoul National Universityscai/Courses/ML2017/Ch8_DRL.pdf · 2017. 11. 9. · Chapter(8.(딥강화학습  강의 서울대학교컴퓨터공학부

Value Based RLn SARSA

-­ On-­policy 알고리듬: 경험을모으는 policy가현재 policy임

알고리즘 1: Sarsa 학습 알고리즘

Q(s,a)를 임의값으로 초기화

For에피소드=1,…, n dos 초기화

s에 따르는 Q(예, ε-­greedy) 를 통해 유래된 a를 선택

For 시퀀스 t =1,…,T doa 선택, 보상 r과 다음 상태 s’관측s’=st+1에 따르는 Q (예, ε-­greedy)를통해 유래된 a’=at+1을 선택

s ←s’;; a←a’;;End For

End For

© 2017, 장교수의 딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr 12

8.3 SARSA와 Q학습 알고리듬 (2/3)

1 1 1 ( , ) ( , ) [ ( , ) ( , )]t t t t t t t t tQ s a Q s a r Q s a Q s aα + + += + + γ −

1 1 1 ( , ) ( , ) [ ( , ) ( , )]t t t t t t t t tQ s a Q s a r Q s a Q s aα + + += + + γ −

Page 13: Ch 8 딥강화학습 - Seoul National Universityscai/Courses/ML2017/Ch8_DRL.pdf · 2017. 11. 9. · Chapter(8.(딥강화학습  강의 서울대학교컴퓨터공학부

Value Based RLn Q-­learning

-­ Off-­policy 알고리듬: 경험을모으는 policy가현재 policy와다름

알고리듬 2;; Q-­Learning 알고리듬

Q(s,a)를임의값으로초기화For 에피소드=1, …, n dos초기화For 시퀀스 t =1,…,T do

s에따르는 Q (예, ε-­greedy)를통해유래된 a를선택a선택, 보상 r과다음상태 s’=st+1 관측

s←s’;;End For

End For

© 2017, 장교수의 딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr 13

8.3 SARSA와 Q학습 알고리듬 (3/3)

1 1 ( , ) ( , ) [ max ( , ) ( , )]t t t t t t t taQ s a Q s a r Q s a Q s aα + += + + γ −

1 1 ( , ) ( , ) [ max ( , ) ( , )]t t t t t t t taQ s a Q s a r Q s a Q s aα + += + + γ −

Page 14: Ch 8 딥강화학습 - Seoul National Universityscai/Courses/ML2017/Ch8_DRL.pdf · 2017. 11. 9. · Chapter(8.(딥강화학습  강의 서울대학교컴퓨터공학부

n Q-­learning의업데이트식

n DQN은Q학습의 오류함수 최소화에 딥신경망과 오류역전파 알고리듬을 사용

© 2017, 장교수의 딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr 14

8.4 딥큐넷(DQN) (1/3)

21 [ max ( ', ) ( , )]2 a

L r Q s a Q s a= + γ −

State

Q(State,Action=0)

Q(State,Action=1)

.

.

.

Q(State,Action=K)

1 1 ( , ) ( , ) [ max ( , ) ( , )]t t t t t t t taQ s a Q s a r Q s a Q s aα + += + + γ −

Page 15: Ch 8 딥강화학습 - Seoul National Universityscai/Courses/ML2017/Ch8_DRL.pdf · 2017. 11. 9. · Chapter(8.(딥강화학습  강의 서울대학교컴퓨터공학부

n Target Network Trickn 학습초기Q(s’,a’)이부정확하고변화가심함è학습성능저하

n DQN과동일한구조를가지고있으며학습도중weight값이변하지않는별도의네트워크

(Target Network)에서Q(s’,a’)를계산 -­ Target Network의weight값들은주기적으로DQN의것을복사

n Replay Memory Trickn Changing Data Distribution: Agent의행동에따라들어오는데이터의분포가변화함 (e.g. 어

떤 mini batch를학습한후무조건왼쪽으로가도록 policy가변화è이후왼쪽으로가지않

는경우의데이터를얻을수없게되어학습이불가능)

n (State, Action, Reward, Next State)데이터를Buffer에저장해놓고그안에서Random Sampling하여mini batch를구성하는방법으로해결

n Reward Clipping Trickn 도메인에 따라 Reward의 크기가 다르기 때문에 Q value의 크기도 다름

n Q value의 크기 variance가 매우 큰경우 신경망 학습이 어려움

n Reward의 크기를 [-­1, +1] 사이로 제한하여 안정적 학습

© 2017, 장교수의 딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr 15

8.4 딥큐넷(DQN) (2/3)

Page 16: Ch 8 딥강화학습 - Seoul National Universityscai/Courses/ML2017/Ch8_DRL.pdf · 2017. 11. 9. · Chapter(8.(딥강화학습  강의 서울대학교컴퓨터공학부

© 2017, 장교수의 딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr 16

8.4 딥큐넷(DQN) (3/3)

n Atari 2600 비디오 게임에서실험n 절반이상의게임에서사람보다우수n 기존방식(linear)에비해월등한향상n 일부게임은실패(reward가 sparse, 복잡한단계를필요)

n PaperMnih, Volodymyr, et al. "Human-­level control through deep reinforcement learning." Nature 518.7540 (2015): 529-­533.

n Videohttps://www.youtube.com/watch?v=TmPfTpjtdgg

n Open sourcehttps://github.com/gliese581gg/DQN_tensorflow

Page 17: Ch 8 딥강화학습 - Seoul National Universityscai/Courses/ML2017/Ch8_DRL.pdf · 2017. 11. 9. · Chapter(8.(딥강화학습  강의 서울대학교컴퓨터공학부

n AlphaGon A3C와Monte-­Carlo Tree Search알고리즘을조합

n 탐색공간이매우큰바둑에서학습을 통해서 인간을뛰어넘는성능데모 n 정책망(policy network, actor)과가치망(value network, critic)을따로학습

n 정책망은프로기사들의기보를사용해지도학습후강화학습적용

© 2017, 장교수의 딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr 17

8.5 딥강화학습의 활용: AlphaGo (1/2)

Page 18: Ch 8 딥강화학습 - Seoul National Universityscai/Courses/ML2017/Ch8_DRL.pdf · 2017. 11. 9. · Chapter(8.(딥강화학습  강의 서울대학교컴퓨터공학부

n Monte-­Carlo Tree Search-­ Selection: ,-­ Expansion: 잎노드에도착하면정책망을통해새로운잎노드생성

-­ Evaluation:-­ Backup:

© 2017, 장교수의 딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr 18

8.5 딥강화학습의 활용: AlphaGo (2/2)

argmax( ( , ) ( , ))t t ta

a Q s a u s a= +( , )( , )

1 ( , )t

tt

P s au s aN s a

∝+

( ) (1 ) ( )L L LV s v s zθλ λ= − +

( , ) 1( , , )i

N s a s a i=∑ 1( , ) 1( , , ) ( )( , )

iL

iQ s a s a i V s

N s a= ∑

Silver, D., Huang, A., Maddison, C. J., Guez, A., Sifre, L., Van Den Driessche, G., ... & Dieleman, S. (2016). Mastering the game of Go with deep neural networks and tree search. Nature, 529(7587), 484-­489.

Page 19: Ch 8 딥강화학습 - Seoul National Universityscai/Courses/ML2017/Ch8_DRL.pdf · 2017. 11. 9. · Chapter(8.(딥강화학습  강의 서울대학교컴퓨터공학부

n 강화학습과MDP 문제

n MDP: State, Action, Reward, Transition, Discount로구성.순차적 의사결정

n 강화학습은 MDP문제를 근사적으로 해결하는 머신러닝 방법

n Reward기대치를 최대화하는 방향으로 Agent의 행동을 선택하도록학습

n Sarsa와Q-­Learning

n Value Function을 Approximation하고이를최대화하는 Action 선택

n Sarsa, Q-­Learning

n DQN: Deep Neural Network로Q값을근사

n 딥강화학습의 활용

n AlphaGo바둑 AI

n RL과Monte Carlo Tree Search

n 정책망, 가치망에 딥러닝을 활용

© 2017, 장교수의 딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

요약

19© 2017, 장교수의 딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr