蔡炎⿓ 政治⼤學應⽤數學系
強化學習
Deep Learning
2
強化學習 ⽣成對抗模式 (GAN)
VAE
膠囊
標準 NN CNN RNN
1
重要實例
3
4
2015 年 Nature 出現⼀篇 「Human-level Control
Through Deep Reinforcement learning」 為題的論
⽂, 基本上就是教電腦玩 Atari 的遊戲。
Deep Reinforcement
Learning
5
Human-level	
control	through	
deep	reinforcement	
learning
DeepMind
2015-2-26
Deep Q-
Learning
letter ”
“
6
深度學習遊戲能⼒
AI 勝過⼈類
(超過 50%)
7
https://gym.openai.com
你也可試試你的 Deep Learning 功⼒
8
Mastering	the	game	
of	Go	with	deep	
neural	networks	
and	tree	search
DeepMind
2016-2-26
”
“
9
2017 年台灣⼈⼯智慧年會

AlphaGo 創始⼈之⼀⿈⼠傑博⼠演講
AlphaGo 的故事
10
AlphaGo

Lee
AlphaGo

Master
AlphaGo

Zero
中國烏鎮
圍棋會
4:1 擊敗世
界棋王李世
乭
神秘⾼⼿網
路 60 連勝
與柯潔對奕,
⼈⼯智慧與
⼈的合作
完全⾃學的
⼈⼯智慧, 擊
敗之前版本
2016.3
2016.12.29

—2017.1.4 2017.5 2017.10
11
Netflix AlphaGo 紀錄⽚ (⼤推)
故事感⼈不輸電影, ⽽且都是真⼈。
12
還有⼈⼈都在做的⾃動駕駛
2
增強學習概要
13
14
Agent

(電腦)
環境
動作 action
獎勵 reward
rt
15
基本上有三種模式
policy based
學習 policy function, 這是「動
作函數」
value based
學習 value function, 預估在某個
state, 做某動作會得到的 reward
model based
學習或建構整個環境 (Wow, 聽來
好⾼級)
1
2
3
16
我們以玩打磚塊為例
17
π
左
1 Policy Based
右
or
狀態 動作
policy function
1 Policy Based
主要有兩類...
Deterministic policy
Stochastic policy (學出⼀個機率分布)
19
通常直接學不容易...
20
Q 評分
+
動作
2 Value Based
(通常估計
reward)
Value function
21
在 t 時環境的狀態
在 t 時可選的動作
22
23
Q 評分
+
動作
3 Model Based
(通常估計
reward)
Value function
24
3 Model Based
Model 我們的
「世界」。
25
Model Based 通常學這兩個函數
Transfer Function
Reward Function
3
Q-Learning
26
27
A Painless Q-Learning Tutorial
http://mnemstudio.org/path-
finding-q-learning-tutorial.htm
28
⽬標就是要從某間房
間逃脫到外⾯。
29
1
2 3
4
5
0
100
100
100
0
0 0
0 0
0
0
0
0
0
Reward 設計
30
Reward 設計
r(St, at)
我們需要指定
狀態
動作
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
32
Q 函數
我們想要找到估計某個 state, 做了
某個動作,最後 reward 會是多少。
33
π(S) = arg maxaQ(S, a)
Q 函數
記得 Q 函數找到了,我們在每個狀態都很
容易可以決定最好的動作!
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
35
接著我們的⼯作就是
⼀直玩⼀直玩, 然後不
斷更新 Q matrix。
36
Q(St, at) = r(St, at) + γ max
a
Q(St+1, a)
Q 的更新公式, γ 是我們⾃⼰設的, 這裡設為 0.8。
Q Matrix
37
0 1 2 3 4 5
0 0 0 0 0 0 0
1 0 0 0 0 0 100
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
Q Matrix
假設從狀態 1 開始, 例如我們選擇動作是往 5 號⾛。
1
3 5
100
100
0
0 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
38
不要忘了我們動作都是依 Q 來選的。
π(S) = arg maxaQ(S, a)
現在⼤家都是 0, 為何你
會選到 5?
問題1
Greedy Policy
39
還沒訓練好, 會不會都傾
向往同⼀個、可能不是
最好的⽅向⾛?
問題2
Greedy Policy
40
ε-Greedy Policy
有 ε 的機率是⽤亂數選動作。
ε ⼤⼩有時是會調整的
(訓練越久越⼩)。
41
0 1 2 3 4 5
0 0 0 0 0 0 0
1 0 0 0 0 0 100
2 0 0 0 0 0 0
3 0 80 0 0 0 0
4 0 0 0 0 0 0
5 0 0 0 0 0 0
Q Matrix
假設從狀態 3 開始, 例如我們
選擇動作是往 1 號⾛。
Episode 2
100
0
00
1
3
4
5
100
100
100
0
0 0
0 0
0
42
0 1 2 3 4 5
0 0 0 0 0 0 0
1 0 0 0 0 0 100
2 0 0 0 0 0 0
3 0 80 0 0 0 0
4 0 0 0 0 0 0
5 0 0 0 0 0 0
Q Matrix
0
1
3
4
5
100
100
100
0
0 0
0 0
0
43
0 1 2 3 4 5
0 0 0 0 0 400 0
1 0 0 0 320 0 500
2 0 0 0 320 0 0
3 0 400 256 0 400 0
4 320 0 0 320 0 500
5 0 400 0 0 400 500
Q Matrix
0
1
3
4
5
100
100
100
0
0 0
0 0
0
44
1
2 3
4
5
0
500
100
400
Q 最終版
500
320
320
320400
400
400
400320
256
每次往 Q 值最⼤的⽅向⾛
4
Deep Q
Networks
45
46
⾃從成功玩電動以後, 就⼤紅!
基本上是 Q Learning, 但是...
47
玩電動遊戲和很多實務的
問題⼀樣, 可能性有無限多
種, 但是我們只有有限的經
驗...
48
架⼀個神經網路去學 Q!
49
Experience Replay
過去經驗收集起來, 當訓練資料...
在某 State S, ⽤了 a action, 得到了 reward r,
然後進⼊ S’
(S, a, r, S′
)
記固定的筆數 (⽐如說 10,000 筆)
50
⼀來我們有⾜夠的訓練資
料, ⼆來可以去除資料間⾼
度相關的問題。
51
Target Network
記得我們是要學這個函數...
(S, a, r, S′
)但我們訓練資料⻑這樣:
52
Target Network
結果是⾃⼰學⾃⼰!
(S, a, r, S′
)對於 這筆資料
⽬標
網路輸出
之前學到的網路, 固定參數
要調這裡的參數
5
模仿學習
53
54
向專家學習
專家
怎麼不跟我學?
55
怎麼做呢?
我們⽼朋友要出現了...
56
RL + GAN
57
RL
generator
鑑別器
discriminator
真的 or 假的
專家版
RL ⽣的
58
專家不⼀定要是⼈
也可以是其他, 例出機器學習的⽅式產⽣的資料
我也可以啊!
6
範例
59
60
(感謝政⼤應數陳⾮霆提供)
卷積深度 Q-學習之
ETF ⾃動交易系統
61
選定⼀⽀ ETF
開始 20,000 美⾦
經過⼀年 (最後⼿上還有 ETF 就全賣)
使⽤ reinforcement learning
* ETF 資料由全球智能提供
62
過去 20 天的資料

(20x6 的矩陣) f
1
2
3
4
5
買 20 單位
買 10 單位
不做交易
賣 10 單位
賣 20 單位
五種 actions
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%
交易結果
64
(感謝陳先灝提供)
初⾳貪⻝蛇
65

強化學習 Reinforcement Learning