SlideShare ist ein Scribd-Unternehmen logo
1 von 65
Downloaden Sie, um offline zu lesen
蔡炎⿓ 政治⼤學應⽤數學系
強化學習
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

Weitere ähnliche Inhalte

Was ist angesagt?

ビジネス向けIBネットワークを考える ~HPCクラスタでの経験を踏まえて~
ビジネス向けIBネットワークを考える ~HPCクラスタでの経験を踏まえて~ビジネス向けIBネットワークを考える ~HPCクラスタでの経験を踏まえて~
ビジネス向けIBネットワークを考える ~HPCクラスタでの経験を踏まえて~Naoto MATSUMOTO
 
QUICとNATと
QUICとNATとQUICとNATと
QUICとNATとYuya Rin
 
スイッチ・ルータのしくみ
スイッチ・ルータのしくみスイッチ・ルータのしくみ
スイッチ・ルータのしくみogatay
 
Ultra96ボードでYOLOを高速化
Ultra96ボードでYOLOを高速化Ultra96ボードでYOLOを高速化
Ultra96ボードでYOLOを高速化Hiroyuki Okuhata
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装MITSUNARI Shigeo
 
GoBGP活用によるSD-WANプラクティス
GoBGP活用によるSD-WANプラクティスGoBGP活用によるSD-WANプラクティス
GoBGP活用によるSD-WANプラクティスToshiki Tsuboi
 
Cache-Oblivious データ構造入門 @DSIRNLP#5
Cache-Oblivious データ構造入門 @DSIRNLP#5Cache-Oblivious データ構造入門 @DSIRNLP#5
Cache-Oblivious データ構造入門 @DSIRNLP#5Takuya Akiba
 
[part 2]ナレッジグラフ推論チャレンジ・Tech Live!
[part 2]ナレッジグラフ推論チャレンジ・Tech Live![part 2]ナレッジグラフ推論チャレンジ・Tech Live!
[part 2]ナレッジグラフ推論チャレンジ・Tech Live!KnowledgeGraph
 
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)Preferred Networks
 
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみようPythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみようShinya Takamaeda-Y
 
15分鐘的研究所推甄攻略
15分鐘的研究所推甄攻略15分鐘的研究所推甄攻略
15分鐘的研究所推甄攻略輝亮 游
 
機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPython機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPythonKimikazu Kato
 
第14回 配信講義 計算科学技術特論A(2021)
第14回 配信講義 計算科学技術特論A(2021)第14回 配信講義 計算科学技術特論A(2021)
第14回 配信講義 計算科学技術特論A(2021)RCCSRENKEI
 
Google Perf Tools (tcmalloc) の使い方
Google Perf Tools (tcmalloc) の使い方Google Perf Tools (tcmalloc) の使い方
Google Perf Tools (tcmalloc) の使い方Kazuki Ohta
 
LR parsing
LR parsingLR parsing
LR parsingichikaz3
 

Was ist angesagt? (20)

ビジネス向けIBネットワークを考える ~HPCクラスタでの経験を踏まえて~
ビジネス向けIBネットワークを考える ~HPCクラスタでの経験を踏まえて~ビジネス向けIBネットワークを考える ~HPCクラスタでの経験を踏まえて~
ビジネス向けIBネットワークを考える ~HPCクラスタでの経験を踏まえて~
 
QUICとNATと
QUICとNATとQUICとNATと
QUICとNATと
 
スイッチ・ルータのしくみ
スイッチ・ルータのしくみスイッチ・ルータのしくみ
スイッチ・ルータのしくみ
 
Ultra96ボードでYOLOを高速化
Ultra96ボードでYOLOを高速化Ultra96ボードでYOLOを高速化
Ultra96ボードでYOLOを高速化
 
SRv6 study
SRv6 studySRv6 study
SRv6 study
 
lsh
lshlsh
lsh
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
 
Introduction of ISHI-KAI with OpenMPW
Introduction of ISHI-KAI with OpenMPWIntroduction of ISHI-KAI with OpenMPW
Introduction of ISHI-KAI with OpenMPW
 
GoBGP活用によるSD-WANプラクティス
GoBGP活用によるSD-WANプラクティスGoBGP活用によるSD-WANプラクティス
GoBGP活用によるSD-WANプラクティス
 
Cache-Oblivious データ構造入門 @DSIRNLP#5
Cache-Oblivious データ構造入門 @DSIRNLP#5Cache-Oblivious データ構造入門 @DSIRNLP#5
Cache-Oblivious データ構造入門 @DSIRNLP#5
 
[part 2]ナレッジグラフ推論チャレンジ・Tech Live!
[part 2]ナレッジグラフ推論チャレンジ・Tech Live![part 2]ナレッジグラフ推論チャレンジ・Tech Live!
[part 2]ナレッジグラフ推論チャレンジ・Tech Live!
 
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
 
実用Brainf*ckプログラミング
実用Brainf*ckプログラミング実用Brainf*ckプログラミング
実用Brainf*ckプログラミング
 
RvizPlugin作成入門
RvizPlugin作成入門RvizPlugin作成入門
RvizPlugin作成入門
 
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみようPythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
 
15分鐘的研究所推甄攻略
15分鐘的研究所推甄攻略15分鐘的研究所推甄攻略
15分鐘的研究所推甄攻略
 
機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPython機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPython
 
第14回 配信講義 計算科学技術特論A(2021)
第14回 配信講義 計算科学技術特論A(2021)第14回 配信講義 計算科学技術特論A(2021)
第14回 配信講義 計算科学技術特論A(2021)
 
Google Perf Tools (tcmalloc) の使い方
Google Perf Tools (tcmalloc) の使い方Google Perf Tools (tcmalloc) の使い方
Google Perf Tools (tcmalloc) の使い方
 
LR parsing
LR parsingLR parsing
LR parsing
 

Mehr von Yen-lung Tsai

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

Mehr von Yen-lung Tsai (18)

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 遞迴式神經網路
 
與高中生談人工智慧與深度學習
與高中生談人工智慧與深度學習與高中生談人工智慧與深度學習
與高中生談人工智慧與深度學習
 
深度學習實作上的各種卡關
深度學習實作上的各種卡關深度學習實作上的各種卡關
深度學習實作上的各種卡關
 
人工智慧不是魔法,是數學
人工智慧不是魔法,是數學人工智慧不是魔法,是數學
人工智慧不是魔法,是數學
 
[數學、邏輯與人生] 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