SlideShare une entreprise Scribd logo
1  sur  65
Télécharger pour lire hors ligne
蔡炎⿓ 政治⼤學應⽤數學系
強化學習
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

Contenu connexe

Tendances

Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~
Yuya Unno
 

Tendances (20)

Neko kin
Neko kinNeko kin
Neko kin
 
差分プライバシーによる時系列データの扱い方
差分プライバシーによる時系列データの扱い方差分プライバシーによる時系列データの扱い方
差分プライバシーによる時系列データの扱い方
 
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話
 
効果のあるクリエイティブ広告の見つけ方(Contextual Bandit + TS or UCB)
効果のあるクリエイティブ広告の見つけ方(Contextual Bandit + TS or UCB)効果のあるクリエイティブ広告の見つけ方(Contextual Bandit + TS or UCB)
効果のあるクリエイティブ広告の見つけ方(Contextual Bandit + TS or UCB)
 
[DL輪読会]Energy-based generative adversarial networks
[DL輪読会]Energy-based generative adversarial networks[DL輪読会]Energy-based generative adversarial networks
[DL輪読会]Energy-based generative adversarial networks
 
方策勾配型強化学習の基礎と応用
方策勾配型強化学習の基礎と応用方策勾配型強化学習の基礎と応用
方策勾配型強化学習の基礎と応用
 
High-Dimensional Bayesian Optimization with Constraints: Application to Powde...
High-Dimensional Bayesian Optimization with Constraints: Application to Powde...High-Dimensional Bayesian Optimization with Constraints: Application to Powde...
High-Dimensional Bayesian Optimization with Constraints: Application to Powde...
 
文字認識はCNNで終わるのか?
文字認識はCNNで終わるのか?文字認識はCNNで終わるのか?
文字認識はCNNで終わるのか?
 
Pydata_リクルートにおけるbanditアルゴリズム_実装前までのプロセス
Pydata_リクルートにおけるbanditアルゴリズム_実装前までのプロセスPydata_リクルートにおけるbanditアルゴリズム_実装前までのプロセス
Pydata_リクルートにおけるbanditアルゴリズム_実装前までのプロセス
 
機器學習簡報 / 机器学习简报 Machine Learning
機器學習簡報 / 机器学习简报 Machine Learning 機器學習簡報 / 机器学习简报 Machine Learning
機器學習簡報 / 机器学习简报 Machine Learning
 
Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~
 
AlphaGo Zero 解説
AlphaGo Zero 解説AlphaGo Zero 解説
AlphaGo Zero 解説
 
「深層学習」第6章 畳込みニューラルネット
「深層学習」第6章 畳込みニューラルネット「深層学習」第6章 畳込みニューラルネット
「深層学習」第6章 畳込みニューラルネット
 
深層学習の非常に簡単な説明
深層学習の非常に簡単な説明深層学習の非常に簡単な説明
深層学習の非常に簡単な説明
 
論文の図表レイアウト例
論文の図表レイアウト例論文の図表レイアウト例
論文の図表レイアウト例
 
アドテクに機械学習を組み込むための推論の高速化
アドテクに機械学習を組み込むための推論の高速化アドテクに機械学習を組み込むための推論の高速化
アドテクに機械学習を組み込むための推論の高速化
 
[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習
 
capsule network
capsule networkcapsule network
capsule network
 
[DL輪読会]Attention is not Explanation (NAACL2019)
[DL輪読会]Attention is not Explanation (NAACL2019)[DL輪読会]Attention is not Explanation (NAACL2019)
[DL輪読会]Attention is not Explanation (NAACL2019)
 
ResNetの仕組み
ResNetの仕組みResNetの仕組み
ResNetの仕組み
 

Plus de Yen-lung Tsai

Plus de Yen-lung Tsai (19)

Deep Learning and Design Thinking
Deep Learning and Design ThinkingDeep Learning and Design Thinking
Deep Learning and Design Thinking
 
生成對抗模式 GAN 的介紹
生成對抗模式 GAN 的介紹生成對抗模式 GAN 的介紹
生成對抗模式 GAN 的介紹
 
Recurrent Neural Network 遞迴式神經網路
Recurrent Neural Network 遞迴式神經網路Recurrent Neural Network 遞迴式神經網路
Recurrent Neural Network 遞迴式神經網路
 
手把手打開Python資料分析大門
手把手打開Python資料分析大門手把手打開Python資料分析大門
手把手打開Python資料分析大門
 
與高中生談人工智慧與深度學習
與高中生談人工智慧與深度學習與高中生談人工智慧與深度學習
與高中生談人工智慧與深度學習
 
深度學習實作上的各種卡關
深度學習實作上的各種卡關深度學習實作上的各種卡關
深度學習實作上的各種卡關
 
人工智慧不是魔法,是數學
人工智慧不是魔法,是數學人工智慧不是魔法,是數學
人工智慧不是魔法,是數學
 
[數學、邏輯與人生] 05 數,三聲數
[數學、邏輯與人生] 05 數,三聲數[數學、邏輯與人生] 05 數,三聲數
[數學、邏輯與人生] 05 數,三聲數
 
[數學軟體應用] 05 HTML+CSS
[數學軟體應用] 05 HTML+CSS[數學軟體應用] 05 HTML+CSS
[數學軟體應用] 05 HTML+CSS
 
[數學、邏輯與人生] 03 集合和數學歸納法
[數學、邏輯與人生] 03 集合和數學歸納法[數學、邏輯與人生] 03 集合和數學歸納法
[數學、邏輯與人生] 03 集合和數學歸納法
 
[數學、邏輯與人生] 01 基本邏輯和真值表
[數學、邏輯與人生] 01 基本邏輯和真值表[數學、邏輯與人生] 01 基本邏輯和真值表
[數學、邏輯與人生] 01 基本邏輯和真值表
 
03 串起你的數據
03 串起你的數據03 串起你的數據
03 串起你的數據
 
Markdown可以做什麼
Markdown可以做什麼Markdown可以做什麼
Markdown可以做什麼
 
02 和電腦對話
02 和電腦對話02 和電腦對話
02 和電腦對話
 
01 jupyter 第一課
01 jupyter 第一課01 jupyter 第一課
01 jupyter 第一課
 
[數學、邏輯與人生] 00 課程簡介
[數學、邏輯與人生] 00 課程簡介[數學、邏輯與人生] 00 課程簡介
[數學、邏輯與人生] 00 課程簡介
 
數學軟體應用課程 00 - 課程介紹
數學軟體應用課程 00 - 課程介紹數學軟體應用課程 00 - 課程介紹
數學軟體應用課程 00 - 課程介紹
 
Days on Jupyter
Days on JupyterDays on Jupyter
Days on Jupyter
 
用 GeoGebra 玩數學
用 GeoGebra 玩數學用 GeoGebra 玩數學
用 GeoGebra 玩數學
 

強化學習 Reinforcement Learning