65
蔡炎⿓ 政治⼤學應⽤數學系 強化學習 Deep Learning

強化學習 Reinforcement Learning

Embed Size (px)

Citation preview

Page 1: 強化學習 Reinforcement Learning

蔡炎⿓�政治⼤學應⽤數學系

強化學習

Deep�Learning

Page 2: 強化學習 Reinforcement Learning

2

強化學習 ⽣成對抗模式�(GAN)

VAE

膠囊

標準�NN CNN RNN

Page 3: 強化學習 Reinforcement Learning

1

重要實例

3

Page 4: 強化學習 Reinforcement Learning

4

2015�年�Nature�出現⼀篇�「Human-level�Control�Through�Deep�Reinforcement�learning」�為題的論⽂,�基本上就是教電腦玩�Atari�的遊戲。

Deep�Reinforcement�Learning

Page 5: 強化學習 Reinforcement Learning

5

Human-levelcontrolthroughdeepreinforcementlearning

DeepMind

2015-2-26

Deep�Q-Learning

letter ”“

Page 6: 強化學習 Reinforcement Learning

6

深度學習遊戲能⼒

AI�勝過⼈類(超過�50%)

Page 7: 強化學習 Reinforcement Learning

7

https://gym.openai.com你也可試試你的�Deep�Learning�功⼒

Page 8: 強化學習 Reinforcement Learning

8

MasteringthegameofGowithdeepneuralnetworksandtreesearch

DeepMind

2016-2-26

”“

Page 9: 強化學習 Reinforcement Learning

9

2017�年台灣⼈⼯智慧年會 AlphaGo�創始⼈之⼀⿈⼠傑博⼠演講

AlphaGo�的故事

Page 10: 強化學習 Reinforcement Learning

10

AlphaGo Lee

AlphaGo Master

AlphaGo Zero

中國烏鎮圍棋會

4:1�擊敗世界棋王李世乭

神秘⾼⼿網路�60�連勝

與柯潔對奕,�⼈⼯智慧與⼈的合作

完全⾃學的⼈⼯智慧,�擊敗之前版本

2016.32016.12.29—2017.1.4 2017.5 2017.10

Page 11: 強化學習 Reinforcement Learning

11

Netflix�AlphaGo�紀錄⽚�(⼤推)故事感⼈不輸電影,�⽽且都是真⼈。

Page 12: 強化學習 Reinforcement Learning

12

還有⼈⼈都在做的⾃動駕駛

Page 13: 強化學習 Reinforcement Learning

2

增強學習概要

13

Page 14: 強化學習 Reinforcement Learning

14

Agent(電腦)

環境

動作�action

獎勵�rewardrt

Page 15: 強化學習 Reinforcement Learning

15

基本上有三種模式

policy�based學習�policy�function,�這是「動作函數」

value�based學習�value�function,�預估在某個�state,�做某動作會得到的�reward

model�based學習或建構整個環境�(Wow,�聽來好⾼級)

1

2

3

Page 16: 強化學習 Reinforcement Learning

16

我們以玩打磚塊為例

Page 17: 強化學習 Reinforcement Learning

17

π左

1 Policy�Based

右or

狀態 動作

policy�function

Page 18: 強化學習 Reinforcement Learning

1 Policy�Based主要有兩類...

Deterministic�policy

Stochastic�policy�(學出⼀個機率分布)

Page 19: 強化學習 Reinforcement Learning

19

通常直接學不容易...

Page 20: 強化學習 Reinforcement Learning

20

Q 評分

+動作

2 Value�Based

(通常估計�reward)

Value�function

Page 21: 強化學習 Reinforcement Learning

21

在�t�時環境的狀態

在�t�時可選的動作

Page 22: 強化學習 Reinforcement Learning

22

Page 23: 強化學習 Reinforcement Learning

23

Q 評分

+動作

3 Model�Based

(通常估計�reward)

Value�function

Page 24: 強化學習 Reinforcement Learning

24

3 Model�Based

Model�我們的「世界」。

Page 25: 強化學習 Reinforcement Learning

25

Model�Based�通常學這兩個函數

Transfer�Function

Reward�Function

Page 26: 強化學習 Reinforcement Learning

3

Q-Learning

26

Page 27: 強化學習 Reinforcement Learning

27

A�Painless�Q-Learning�Tutorial�

http://mnemstudio.org/path-finding-q-learning-tutorial.htm

Page 28: 強化學習 Reinforcement Learning

28

⽬標就是要從某間房間逃脫到外⾯。

Page 29: 強化學習 Reinforcement Learning

29

1

2 3

4

5

0

100100

100

00 0

0 00

0

0

0

0

Reward�設計

Page 30: 強化學習 Reinforcement Learning

30

Reward�設計

r(St, at)

我們需要指定

狀態

動作

Page 31: 強化學習 Reinforcement Learning

31

0 1 2 3 4 5

0 -1 -1 -1 -1 0 -1

1 -1 -1 -1 0 -1 100

2 -1 -1 -1 0 -1 -1

3 -1 0 0 -1 0 -1

4 0 -1 -1 0 -1 100

5 -1 0 -1 -1 0 100

動作

State

Reward�Matrix

Page 32: 強化學習 Reinforcement Learning

32

Q�函數

我們想要找到估計某個�state,�做了某個動作,最後�reward�會是多少。

Page 33: 強化學習 Reinforcement Learning

33

π(S) = argmaxaQ(S, a)

Q�函數

記得�Q�函數找到了,我們在每個狀態都很容易可以決定最好的動作!

Page 34: 強化學習 Reinforcement Learning

34

0 1 2 3 4 5

0 0 0 0 0 0 0

1 0 0 0 0 0 0

2 0 0 0 0 0 0

3 0 0 0 0 0 0

4 0 0 0 0 0 0

5 0 0 0 0 0 0

動作

State

Q�Matrix狀況沒幾個,�很容易⽤矩陣表⽰,��⼀開始全設為�0

Page 35: 強化學習 Reinforcement Learning

35

接著我們的⼯作就是⼀直玩⼀直玩,�然後不斷更新�Q�matrix。

Page 36: 強化學習 Reinforcement Learning

36

Q(St, at) = r(St, at) + γmaxa

Q(St+1, a)

Q�的更新公式,�γ�是我們⾃⼰設的,�這裡設為�0.8。

Q�Matrix

Page 37: 強化學習 Reinforcement Learning

37

0 1 2 3 4 50 0 0 0 0 0 01 0 0 0 0 0 1002 0 0 0 0 0 03 0 0 0 0 0 04 0 0 0 0 0 05 0 0 0 0 0 0

Q�Matrix假設從狀態�1�開始,�例如我們選擇動作是往�5�號⾛。

1

3 5100

100

00 0

Episode�1

Q(1, 5) = r(1, 5) + γ ·max(Q(5, 1), Q(5, 4), Q(5, 5))100 0.8 0 0 0

Page 38: 強化學習 Reinforcement Learning

38

不要忘了我們動作都是依�Q�來選的。

π(S) = argmaxaQ(S, a)

現在⼤家都是�0,�為何你會選到�5?

問題1

Greedy�Policy

Page 39: 強化學習 Reinforcement Learning

39

還沒訓練好,�會不會都傾向往同⼀個、可能不是最好的⽅向⾛?

問題2

Greedy�Policy

Page 40: 強化學習 Reinforcement Learning

40

ε-Greedy�Policy

有�ε�的機率是⽤亂數選動作。

ε ⼤⼩有時是會調整的�(訓練越久越⼩)。

Page 41: 強化學習 Reinforcement Learning

41

0 1 2 3 4 50 0 0 0 0 0 01 0 0 0 0 0 1002 0 0 0 0 0 03 0 80 0 0 0 04 0 0 0 0 0 05 0 0 0 0 0 0

Q�Matrix 假設從狀態�3�開始,�例如我們選擇動作是往�1�號⾛。Episode�2

100

0

00

1

3

4

5100

100

100

00 0

0 00

Page 42: 強化學習 Reinforcement Learning

42

0 1 2 3 4 50 0 0 0 0 0 01 0 0 0 0 0 1002 0 0 0 0 0 03 0 80 0 0 0 04 0 0 0 0 0 05 0 0 0 0 0 0

Q�Matrix

01

3

4

5100

100

100

00 0

0 00

Page 43: 強化學習 Reinforcement Learning

43

0 1 2 3 4 50 0 0 0 0 400 01 0 0 0 320 0 5002 0 0 0 320 0 03 0 400 256 0 400 04 320 0 0 320 0 5005 0 400 0 0 400 500

Q�Matrix

01

3

4

5100

100

100

00 0

0 00

Page 44: 強化學習 Reinforcement Learning

44

1

2 3

4

5

0

500

100

400

Q�最終版

500

320

320

320400 400

400400320256

每次往�Q�值最⼤的⽅向⾛

Page 45: 強化學習 Reinforcement Learning

4

Deep�Q�Networks

45

Page 46: 強化學習 Reinforcement Learning

46

⾃從成功玩電動以後,�就⼤紅!基本上是�Q�Learning,�但是...

Page 47: 強化學習 Reinforcement Learning

47

玩電動遊戲和很多實務的問題⼀樣,�可能性有無限多種,�但是我們只有有限的經驗...

Page 48: 強化學習 Reinforcement Learning

48

架⼀個神經網路去學�Q!

Page 49: 強化學習 Reinforcement Learning

49

Experience�Replay過去經驗收集起來,�當訓練資料...

在某�State�S,�⽤了�a�action,�得到了�reward�r,�然後進⼊�S’

(S, a, r, S′)

記固定的筆數�(⽐如說�10,000�筆)

Page 50: 強化學習 Reinforcement Learning

50

⼀來我們有⾜夠的訓練資料,� ⼆來可以去除資料間⾼度相關的問題。

Page 51: 強化學習 Reinforcement Learning

51

Target�Network記得我們是要學這個函數...

(S, a, r, S′)但我們訓練資料⻑這樣:

Page 52: 強化學習 Reinforcement Learning

52

Target�Network結果是⾃⼰學⾃⼰!

(S, a, r, S′)對於 這筆資料

⽬標

網路輸出

之前學到的網路,�固定參數

要調這裡的參數

Page 53: 強化學習 Reinforcement Learning

5

模仿學習

53

Page 54: 強化學習 Reinforcement Learning

54

向專家學習

專家

怎麼不跟我學?

Page 55: 強化學習 Reinforcement Learning

55

怎麼做呢?我們⽼朋友要出現了...

Page 56: 強化學習 Reinforcement Learning

56

RL�+�GAN

Page 57: 強化學習 Reinforcement Learning

57

RL�generator

鑑別器�discriminator

真的�or�假的

專家版

RL�⽣的

Page 58: 強化學習 Reinforcement Learning

58

專家不⼀定要是⼈也可以是其他,�例出機器學習的⽅式產⽣的資料

我也可以啊!

Page 59: 強化學習 Reinforcement Learning

6

範例

59

Page 60: 強化學習 Reinforcement Learning

60

(感謝政⼤應數陳⾮霆提供)

卷積深度�Q-學習之�ETF�⾃動交易系統

Page 61: 強化學習 Reinforcement Learning

61

選定⼀⽀�ETF�開始�20,000�美⾦�經過⼀年�(最後⼿上還有�ETF�就全賣)�使⽤�reinforcement�learning

*�ETF�資料由全球智能提供

Page 62: 強化學習 Reinforcement Learning

62

過去�20�天的資料 (20x6�的矩陣) f

1

2

3

4

5

買�20�單位

買�10�單位

不做交易

賣�10�單位

賣�20�單位

五種�actions

Page 63: 強化學習 Reinforcement Learning

63

CDQN 無腦法 CDQN 無腦法

ETF1 17.71% 10.89% ETF11 10.76% 5.26%

ETF2 16.53% 12.6% ETF12 10.19% 13.17%

ETF3 16.3% 0.35% ETF13 7.8% 1.42%

ETF4 14.4% 13.25% ETF14 6.23% 3.56%

ETF5 14.3% 12.7% ETF15 5.73% 4.61%

ETF6 13.91% 13.37% ETF16 3.78% -12.76%

ETF7 13.17% 10.52% ETF17 2.85% 5.83%

ETF8 12.35% 17.07% ETF18 1.59% -4.45%

ETF9 11.68% 10.81% ETF19 1.07% -18.09%

ETF10 11.09% 8.14% ETF20 -0.59% -0.75%

交易結果

Page 64: 強化學習 Reinforcement Learning

64

(感謝陳先灝提供)

初⾳貪⻝蛇

Page 65: 強化學習 Reinforcement Learning

65