SlideShare una empresa de Scribd logo
1 de 88
深度學習方法與實作
主講人:陳志華博士
2017/08/31
2/88
講者簡介
 講者:陳志華
 學歷:國立交通大學資訊管理與財務金融學系資訊管理博士
國立交通大學網路工程研究所(輔所)
 現職:中華電信研究院 / 研究員
國立清華大學工業工程與工程管理學系 / 兼任助理教授
 經歷:國立交通大學運輸與物流管理學系 / 兼任助理教授
國立交通大學資訊管理與財務金融學系 / 兼任助理教授
國立交通大學傳播與科技學系 / 兼任助理教授
工業技術研究院服務系統科技中心 / 軟體工程師
聯發科技股份有限公司多媒體技術開發處 / 軟體工程師
IBM China Software Development Lab / Intern
 服務:Guest Editor-in-Chief for Symmetry (SCI), IJGI (SCI), IEEE TEE
Project Reviewer for Chilean National Commission for Scientific and
Technological Research, Chile
Project Reviewer for National Research Foundation, Republic of South Africa
Program Committee Member for IEEE Globecom, IEEE EDUCON, etc.
 研究:國內外發表90篇期刊論文
國內外發表102篇會議論文
國內外發表53件專利
國內外獲獎70件專題競賽、論文競賽
3/88
大綱
 深度學習發展歷程
 R語言簡介
 監督式學習(Supervised Learning)
 線性迴歸(Linear Regression)
 邏輯迴歸(Logistic Regression)
 神經網路(Neural Network, NN)
 鳶尾花(IRIS)案例說明
 非監督式學習(Unsupervised Learning)
 主成份分析(Principal Components Analysis, PCA)
 受限波茲曼機(Restricted Boltzmann Machine, RBM)
 自動編碼器(Auto Encoder, AE)
 鳶尾花(IRIS)案例說明
 進階議題
 卷積神經網路(Convolutional Neural Network, CNN)
 遞歸神經網路(Recurrent Neural Network, RNN)
 過適問題(Overfitting)
 附錄─梯度下降法
深度學習發展歷程
5/88
深度學習發展歷程
資料來源: Kasey Panetta, "Gartner’s Top 10 Strategic Technology Trends for 2017," Gartner, 2016.
 Gartner整理之深度學習發展歷程
• 神經網路(Neural Nets, NN)
• 遞歸神經網路(Recurrent NN, RNN)
• 卷積神經網路(Convolutional NN, CNN)
• 自動編碼器(Auto-Encoder, AE)
• 受限波茲曼機(Restricted Boltzmann Machine, RBM)
• 深度波茲曼機(Deep Boltzmann Machines, DBM)
R語言簡介
7/88
R語言簡介
 安裝R Project和Rstudio,並運用Rstudio開發R程式
安裝neuralnet函式庫
載入neuralnet函式庫
讀取csv檔,並存到
training_data變數
training_data變數內容
Console訊息
設定亂數種子
監督式學習
9/88
0
0.2
0.4
0.6
0.8
1
0 0.1 0.2 0.3 0.4 0.5 0.6
y
x
監督式學習目標-資料估計
 資料分佈
共有5筆資料
資料分佈如右圖的藍點
 函式方法
f(X) = 估計值
 函式目標
最小化 ||估計值 – Y||2
想像有一個f(X)函式(即估計值)的存在,可以讓
每個點(以藍色表示)到迴歸線之間的距離最小,
誤差最小(最小化 ||估計值 – Y||2)
X Y
最理想
估計值
0.1 0.3 0.3
0.2 0.4 0.4
0.3 0.5 0.5
0.4 0.6 0.6
0.5 0.7 0.7
監督式學習
-線性迴歸
11/88
0
0.2
0.4
0.6
0.8
1
0 0.1 0.2 0.3 0.4 0.5 0.6
y
x
線性迴歸-線性資料分析
 原始資料和估計資料
 線性迴歸
線性函式
機器學習後結果
X Y 估計值
0.1 0.3 0.3
0.2 0.4 0.4
0.3 0.5 0.5
0.4 0.6 0.6
0.5 0.7 0.7
迴歸線(以紅色表示)為
bxwy 
2.01  xy
2.01  xy
12/88
線性迴歸-程式實作
 運用neuralnet函式,設定相關參數,訓練線性迴歸
呼叫neuralnet函式,設定相關參數,並
把結果存到model變數
在此例中,Y為輸出欄位,X為輸入欄位
設定資料為
training_data變數
無隱藏層的神經網路,
即為迴歸函式
設定輸出為線性,即為
線性迴歸
設定收斂門檻值
繪製運算結果
13/88
0
0.2
0.4
0.6
0.8
1
0 0.1 0.2 0.3 0.4 0.5 0.6
y
x
線性迴歸-非線性資料分析
 原始資料和估計資料
 線性迴歸
線性函式
機器學習後結果
X Y 估計值
0.1 0.063 0.098
0.2 0.289 0.348
0.3 0.711 0.598
0.4 0.937 0.848
0.5 0.989 1.098
bxwy 
1522.05.2  xy
15218.049994.2  xy
線性迴歸無法得到
非線性的解
迴歸線(以紅色表示)為
1522.05.2  xy
監督式學習
-邏輯迴歸
15/88
0
0.2
0.4
0.6
0.8
1
0 0.1 0.2 0.3 0.4 0.5 0.6
y
x
邏輯迴歸-線性資料分析
 原始資料和估計資料
 邏輯迴歸
S型函式
機器學習後結果
X Y 估計值
0.1 0.3 0.3
0.2 0.4 0.4
0.3 0.5 0.5
0.4 0.6 0.6
0.5 0.7 0.7
迴歸線(以紅色表示)為
 
  z
e
zSigmoid
xSigmoidy




1
1
25761.119202.4
邏輯迴歸也能得到
接近線性的解
 
  z
e
zSigmoid
xSigmoidy




1
1
25761.119202.4
 
  z
e
zSigmoid
bxwSigmoidy




1
1
16/88
邏輯迴歸-程式實作
 運用neuralnet函式,設定相關參數,訓練邏輯迴歸
設定輸出為非線性,即
為邏輯迴歸
17/88
0
0.2
0.4
0.6
0.8
1
0 0.1 0.2 0.3 0.4 0.5 0.6
y
x
邏輯迴歸-非線性資料分析
 原始資料和估計資料
 邏輯迴歸
S型函式
機器學習後結果
X Y 估計值
0.1 0.063 0.063
0.2 0.289 0.289
0.3 0.711 0.711
0.4 0.937 0.937
0.5 0.989 0.989
迴歸線(以紅色表示)為
 
  z
e
zSigmoid
xSigmoidy




1
1
4.50029-18.00114
邏輯迴歸也能得到
非線性的解
 
  z
e
zSigmoid
xSigmoidy




1
1
4.50029-18.00114
 
  z
e
zSigmoid
bxwSigmoidy




1
1
18/88
邏輯迴歸-參數有交互影響
 迴歸方法計算
線性迴歸
邏輯迴歸
 迴歸方法限制
權重和參數直接相乘加權計算
假設參數之間互相獨立
當參數有交互影響時將會不準
bxwxwy  2211
  z
e
zSigmoidy
bxwxwz




1
1
2211
 迴歸方法不適合的例子
XOR (互斥或)計算
X1和X2正相關時Y為0
X1和X2負相關時Y為1
X1 X2 Y
0 0 0
0 1 1
1 0 1
1 1 0
機器學習無法學會
XOR,所以權重皆接
近為0,全部猜0.5
19/88
邏輯迴歸-程式實作
 運用neuralnet函式,設定相關參數,訓練邏輯迴歸
多元輸入時,用+號
串連輸入變數欄位
此例,輸出欄位為Y,
輸入欄位為X1和X2
監督式學習
-神經網路
21/88
    79942.1535272.1724345.17 212  xxSigmoidh
神經網路-參數有交互影響
 原始資料和估計資料
 神經網路(多層邏輯迴歸)
加入隱藏層
S型函式
X1 X2 Y 估計值
0 0 0 0
0 1 1 1
1 0 1 1
1 1 0 0
  50235.138298.2744217.27 211  xxSigmoidh
 當參數有交互影響時,只有一層迴
歸函式(即input直接對到output)將
會不準
 可以多加入一層隱藏層,隱藏層中
有2個神經元,透過隱藏層神經元
來分析input參數之間的交互關係
 輸入層和隱藏層之間可採用邏輯迴
歸計算,隱藏層和輸出層之間可採
用邏輯迴歸計算
h1
h2
輸入層 隱藏層 輸出層
 70275.2379942.1589731.15 21  hhSigmoidy
22/88
神經網路-程式實作
 運用neuralnet函式,設定相關參數,訓練神經網路
加入隱藏層後,即成為
神經網路
23/88
監督式學習-小結與討論
 小結與討論
 適用情境
 運算時間
線性迴歸 < 邏輯迴歸 < 神經網路
適用情境 線性迴歸 邏輯迴歸 神經網路
線性問題 V V V
非線性問題 V V
因子間獨立 V V V
因子間相依 V
監督式學習
-鳶尾花案例說明
25/88
監督式學習-鳶尾花案例說明
 輸入資料說明
 輸出資料說明
欄位名稱 欄位說明
Sepal.Length 花萼長度
Sepal.Width 花萼寬度
Petal.Length 花瓣長度
Petal.Width 花瓣寬度
欄位名稱 欄位說明
Species 第1~50筆為setosa
第51~100筆為versicolor
第101~150筆為virginica
此例主要判斷是否為virginica,
故將第1~100筆標註為0,
並將第101~150筆標註為1
Sepal.Length Sepal.Width Petal.Length Petal.Width
Sepal.Length 1.000 0.457 0.864 0.281
Sepal.Width 0.457 1.000 0.401 0.538
Petal.Length 0.864 0.401 1.000 0.322
Petal.Width 0.281 0.538 0.322 1.000
Sepal.Length Sepal.Width Petal.Length Petal.Width
Sepal.Length 1.000 -0.206 0.812 0.790
Sepal.Width -0.206 1.000 -0.603 0.538
Petal.Length 0.812 -0.603 1.000 0.979
Petal.Width 0.790 0.538 0.979 1.000
Virginica之各筆資料的各欄位組合相關係數
非Virginica之各筆資料的各欄位組合相關係數
相關係數在不同類別為
一正一負,具交互影響
IRIS資料集部分內容
26/88
監督式學習-鳶尾花案例說明
 程式開發說明
讀入修改後IRIS資料集 設定輸出欄位為Species,
其餘欄位為輸入
訓練模型,該模型可為線
性(邏輯)迴歸或神經網路
此例令測試資料等於訓練
資料,用以驗證訓練模型
計算正確率,並以百分比
方式呈現
計算結果,正確率為
92.67%
27/88
監督式學習-鳶尾花案例說明
 各個方法正確率比較
線性迴歸 邏輯迴歸 神經網路
正確率 92.67% 98.00% 99.33%
神經網路
線性迴歸
邏輯迴歸
監督式學習
-相同/相似維度
29/88
 
19997.0
00968.0
00969.1
2
1


x
xy
監督式學習-相同/相似維度
 原始資料和估計資料
 線性迴歸
線性函式
機器學習後結果
X1 X2 Y 估計值
0.1 0.1 0.3 0.3
0.2 0.2 0.4 0.4
0.3 0.3 0.5 0.5
0.4 0.4 0.6 0.6
0.5 0.5 0.7 0.7
bxwxwy  2211
 當n個inputs參數(即n維資料維度,
n個X)且僅有1個output參數(即1個
Y)時,會搭配n個權重值,再加1個
Bias
 以此例而言,當X1 = X2時,則權
重組合可以有無限多組解,例如:
• w1 = 1.00969, w2 = -0.00968
• w1 = 1, w2 = 0
• w1 = 0, w2 = 1
• w1 = 0.5, w2 = 0.5
X1和X2在表達
同一事實,可以
降維為1個維度
30/88
監督式學習-相同/相似維度
 原始資料和估計資料
 邏輯迴歸
S型函式
機器學習後結果
 
  z
e
zSigmoidy
x
xz






1
1
25689.1
.586211
60448.2
2
1
X1 X2 Y 估計值
0.1 0.1 0.3 0.3
0.2 0.2 0.4 0.4
0.3 0.3 0.5 0.5
0.4 0.4 0.6 0.6
0.5 0.5 0.7 0.7
 當n個inputs參數(即n維資料維度,
n個X)且僅有1個output參數(即1個
Y)時,會搭配n個權重值,再加1個
Bias
 以此例而言,當X1 = X2時,則權
重組合可以有無限多組解,例如:
• w1 = 2.60448, w2 = 1.58621
• w1 = 4.19025, w2 = 0
• w1 = 0, w2 = 4.19025
• w1 = 4, w2 = 0.19025
  z
e
zSigmoidy
bxwxwz




1
1
2211
X1和X2在表達
同一事實,可以
降維為1個維度
非監督式學習
32/88
非監督式學習目標-資料降維
 資料分佈
共有5筆資料
資料分佈如右圖的藍點
 函式方法
f(X) = 估計值
 函式目標(以PCA為例)
最大化 估計值變異數
X1 X2
降維後
估計值
0.1 0.1 -0.28284
0.2 0.2 -0.14142
0.3 0.3 0
0.4 0.4 0.14142
0.5 0.5 0.28284
0
0.1
0.2
0.3
0.4
0.5
0.6
0 0.1 0.2 0.3 0.4 0.5 0.6
x2
x1
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0 1 2 3 4 5 6
PC1
Index
目標為降維後估計值
變異數最大化,並期
望可保持原本分佈,
足以代表原本的資料
非監督式學習
-主成份分析
34/88
0.7071
0.7071
PC1
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0 1 2 3 4 5 6
PC1
Index
主成份分析-線性資料分析
 原始資料和估計資料
 主成份分析
線性函式
機器學習後結果
降維後估計值為
   222111 xxwxxwPC 
X1 X2
降維後
估計值
0.1 0.1 -0.28284
0.2 0.2 -0.14142
0.3 0.3 0
0.4 0.4 0.14142
0.5 0.5 0.28284
   2211 0.70710.7071 xxxxPC 
   2211 0.70710.7071 xxxxPC 
35/88
主成份分析-程式實作
 運用prcomp函式,計算主成份分析結果
呼叫prcomp函式計算
主成份分析結果
印出權重值
輸入變數與主成份之間的權重值
36/88
0.8551
0.5184
PC1
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0 1 2 3 4 5 6
PC1
Index
主成份分析-非線性資料分析
 原始資料和估計資料
 主成份分析
線性函式
機器學習後結果
降維後估計值為
   222111 xxwxxwPC 
X1 X2
降維後
估計值
0.1 0.01 -0.22287
0.2 0.04 -0.12180
0.3 0.09 -0.01037
0.4 0.16 0.11143
0.5 0.25 0.24360
   2211 0.51840.8551 xxxxPC 
   2211 0.51840.8551 xxxxPC 
主成份分析無法得到
非線性的解
非監督式學習
-受限波茲曼機
38/88
0.995
0.9955
0.996
0.9965
0.997
0.9975
0.998
0.9985
0 1 2 3 4 5 6
h
Index
-1.2775
-1.2775
h
6.6467
受限波茲曼機-線性資料分析
 原始資料和估計資料
 受限波茲曼機
S型函式
機器學習後結果
降維後估計值為
X1 X2
降維後
估計值
0.1 0.1 0.9983
0.2 0.2 0.9978
0.3 0.3 0.9972
0.4 0.4 0.9964
0.5 0.5 0.9954
    
  z
e
zSigmoid
xxSigmoidh




1
1
6467.62775.12775.1 21
 
  z
e
zSigmoid
bxwxwSigmoidh




1
1
2211
    
  z
e
zSigmoid
xxSigmoidh




1
1
6467.62775.12775.1 21
39/88
受限波茲曼機-程式實作
 運用rbm.train函式,設定相關參數,訓練受限波茲曼機
載入deepnet函式庫
讀取資料,並轉換為
matrix格式之data變數
訓練後權重和bias值
呼叫rbm.train,訓練RBM
模型
設定輸入資料為data變數,
降到1維,訓練10000回合
降維後結果
40/88
0.955
0.96
0.965
0.97
0.975
0.98
0.985
0.99
0 1 2 3 4 5 6
h
Index
0.995
0.9955
0.996
0.9965
0.997
0.9975
0.998
0.9985
0 1 2 3 4 5 6
h
Index
-1.2775
-1.2775
h
6.6467
受限波茲曼機-非線性資料分析
 原始資料和估計資料
 受限波茲曼機
S型函式
機器學習後結果
X1 X2
降維後
估計值
0.1 0.01 0.9848
0.2 0.04 0.9813
0.3 0.09 0.9761
0.4 0.16 0.9684
0.5 0.25 0.9568
    
  z
e
zSigmoid
xxSigmoidh




1
1
6467.62775.12775.1 21
 
  z
e
zSigmoid
bxwxwSigmoidh




1
1
2211
降維後估計值為
    
  z
e
zSigmoid
xxSigmoidh




1
1
6467.62775.12775.1 21
受限波茲曼機能得到
非線性的解
41/88
0.0001
-14.9537
h
7.4538
受限波茲曼機-參數有交互影響
 PCA和RBM計算
主成份分析
受限波茲曼機
 PCA和RBM限制
權重和參數直接相乘加權計算
假設參數之間互相獨立
當參數有交互影響時將會不準
2211 xwxwPC 
  z
e
zSigmoidh
bxwxwz




1
1
2211
 PCA和RBM不適合的例子
XOR (互斥或)計算
X1和X2正相關時Y為0
X1和X2負相關時Y為1
X1 X2 降維後估計值
0 0 0.9994
0 1 0.0006
1 0 0.9994
1 1 0.0006
機器學習無法學會
XOR,降維後完全只
參考X2的值
非監督式學習
-自動編碼器
43/88
5.7674
5.3388
-5.5738
35.6829
3.8290
-17.6578-1.9017
X2'
X1'
    6578.176829.35'1  hSigmoidx
自動編碼器-參數有交互影響
 原始資料和估計資料
 自動編碼器(多層邏輯迴歸)
加入隱藏層作為降維後資料
輸入層到隱藏層為編碼(encode)
隱藏層到輸出層為解碼(decode)
令輸出層的值與輸入層的值一樣
S型函式
X1 X2 降維後估計值
0 0 0.0038
0 1 0.4415
1 0 0.5483
1 1 0.9961
  5738.53389.57674.5 21  xxSigmoidh
 當參數有交互影響時,只有一層迴
歸函式(即input直接對到output)將
會不準
 可以多加入一層隱藏層,透過隱藏
層神經元來分析input參數之間的交
互關係
 輸入層和隱藏層之間可採用邏輯迴
歸計算,隱藏層和輸出層之間可採
用邏輯迴歸計算
h
encode decode
    9017.18290.3'2  hSigmoidx
可區分出4個值,代表降
維後仍可表述原本資料
44/88
自動編碼器-程式實作
 運用SANET.train函式,設定相關參數,訓練自動編碼器
載入SAENET和
autoencoder函式庫
呼 叫 SAENET.train 函 式 ,
訓練自動編碼器
設定降到1維,最多訓練
回合數為2000
輸出降維後結果
45/88
非監督式學習-方法比較
 各種方法降維後結果(參數有交互影響)
-0.5
0
0.5
1 2 3 4
PC1
Index
主成份分析
0
0.5
1
1 2 3 4
h
Index
自動編碼器
0
0.5
1
1 2 3 4
h
Index
受限波茲曼機
0
1
0 1
X2
X1
原始資料
經主成份分析降維後資
料,無法表述原始資料
第1、2筆資料視為同1筆
第3、4筆資料視為同1筆
經受限波茲曼機降維後資
料,無法表述原始資料
第1、3筆資料視為同1筆
第2、4筆資料視為同1筆
經自動編碼器降
維後資料,較不
會造成資料失真,
可表述原始資料
46/88
非監督式學習-小結與討論
 小結與討論
 適用情境
 運算時間
主成份分析<受限波茲曼機
主成份分析<自動編碼器
適用情境 主成份分析 受限波茲曼機 自動編碼器
線性問題 V V V
非線性問題 V V
因子間獨立 V V V
因子間相依 V
非監督式學習
-鳶尾花案例說明
48/88
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0 0.1 0.2 0.3 0.4 0.5 0.6
h2
h1
自動編碼器
setosa
versicolor
virginica
0.56
0.57
0.58
0.59
0.6
0.61
0.62
0.55 0.6 0.65 0.7 0.75
h2
h1
受限波茲曼機
setosa
versicolor
virginica
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
-0.7 -0.5 -0.3 -0.1 0.1 0.3 0.5 0.7
PC2
PC1
主成份分析 setosa
versicolor
virginica
非監督式學習-鳶尾花案例說明
 各種方法降維後結果比較
經主成份分析降維
後資料,不同類別
重疊面積較大
經受限波茲曼機降維後資
料,仍有不少資料重疊
經自動編碼器降維
後資料,有些許資
料重疊
進階議題
50/88
進階議題-大綱
 卷積神經網路
 遞歸神經網路
 過適問題
卷積神經網路
52/88
卷積神經網路
 卷積神經網路之網路結構
在卷積層經由過濾
器擷取出資料特徵
經由過濾器計算後
的特徵圖
在池層進行資料降
維,節省計算量
經由神經網路對
應目標學習結果
53/88
卷積神經網路
 卷積層計算─特徵擷取
假設過濾器為3x3大小
取出原始資料左上角的3x3
區塊與過濾器做矩陣相乘
先往右移動,並進行矩陣相乘
整列完成後,再往下一列移動
移動到最右下角之
3x3區塊計算完成後
即結束卷積層計算
卷積層適用於分析
空間相依
54/88
卷積神經網路
 池層計算─資料降維
每2x2大小矩陣取
最大值進行降維
55/88
卷積神經網路
 神經網路計算─資料估計(分類)
神經網路
A
B
經由神經網路對
應目標學習結果
56/88
卷積神經網路
 深度的意涵?
原始資料 卷積層1
過濾器 分析結果
直線
橫線
正斜線
反斜線
弧線
曲線
有/無
直線
有/無
橫線
有/無
正斜線
有/無
反斜線
有/無
弧線
有/無
曲線
卷積層2
過濾器 分析結果
直線
橫線
正斜線
反斜線
弧線
曲線
有/無
正方形
有/無
長方形
有/無
三角形
有/無
菱形
有/無
圓形
有/無
橢圓形
卷積層3
過濾器 分析結果
直線
橫線
正斜線
反斜線
弧線
曲線
有/無
立方體
有/無
長方體
有/無
錐體
有/無
菱面體
有/無
球體
有/無
橢球體
神經網路
是否為
拱橋
是否為
湖泊
是否為
彩虹
是否為
中華電
Logo
第1層可找出
線條特徵
第2層可找出
平面特徵
第3層可找出
立體特徵
57/88
卷積神經網路
 為什麼傳統神經網路較難解決空間相依性問題?
 直接把像素值攤開,不易取得特徵
 直接從像素值對應到分類結果,不易學習
 卷積神經網路的優勢
 運用過濾器分析空間特徵
如:直線、橫線、斜線、曲線
 運用多層卷積層拆解不同維度空間特徵
如:線段、平面、立體、外觀
 最後再依拆解出特徵對應到分類結果
神經網路
A
B
…
輸入層 隱藏層 輸出層
傳統神經網路不易
分析出神經元3和
神經元8是斜線關聯
傳統神經網路把每
個像素值攤開來看,
不易分析特徵
模仿人類辨識物件的方式,先拆解出外觀特徵,再從
外觀特徵來評估目標物件的類別
遞歸神經網路
59/88
 原始資料
 資料分佈
 修整後資料(修整為2筆資料)
遞歸神經網路
0
0.2
0.4
0.6
0.8
1
1 2 3 4 5 6 7 8
Value
Time
X Y
 隨時間變化,X和Y皆為三角形波形
 在此例中,X和Y同時存在正相關和負
相關,故一般神經網路無法學會此現
象,將全部猜0.5
 X和Y部分資料(如Time 1 → 2)為
正相關
 X和Y部分資料(如Time 2 → 3)為
正相關
 資料觀察發現X和Y每4個時間單位為
一個循環,可視為2筆資料進行學習
X t1 t2 t3 t4
第1筆 0.5 1 0.5 0
第2筆 0.51 1 0.51 0
Y t1 t2 t3 t4
第1筆 0 0.5 1 0.5
第2筆 0 0.5 1 0.5
輸入資料
輸出資料
由資料觀察可知每4個
時間單位為一個循環
Time X Y
1 0.5 0
2 1 0.5
3 0.5 1
4 0 0.5
5 0.5 0
6 1 0.5
7 0.5 1
8 0 0.5
X為0.5時,Y一半為0,另一半為1
只用「當下」的X值無法估計Y
60/88
遞歸神經網路
 輸入資料(X)
 估計資料(Y’)
 輸出資料(Y)
 先前狀態神經元暫存值
X t1 t2 t3 t4
第1筆 0.5 1 0.5 0
第2筆 0.51 1 0.51 0
Y’ t1 t2 t3 t4
第1筆 0.04 0.51 0.91 0.51
第2筆 0.04 0.51 0.90 0.52
Y t1 t2 t3 t4
第1筆 0 0.5 1 0.5
第2筆 0 0.5 1 0.5
神經元1 神經元2 神經元3 神經元4
0 0 0 0
 建立具有一隱藏層之遞歸神經網路
 隱藏層神經元4個
YY
XX
先前狀態神經元暫存值先前狀態神經元暫存值
2.782
0.5
0.043 1.543 -2.305 -1.952
 先前狀態神經元暫存值(更新後)
   
  801.01
952.10305.20
543.10043.00
782.25.0




zSigmoid
z
神經元
神經元1 神經元2 神經元3 神經元4
0.801 0 0 0
第1筆t1輸入至遞歸神經網路,
計算神經元1
乘上權重後,
再代入S型函數
t1資料
61/88
遞歸神經網路
 輸入資料(X)
 估計資料(Y’)
 輸出資料(Y)
 先前狀態神經元暫存值
X t1 t2 t3 t4
第1筆 0.5 1 0.5 0
第2筆 0.51 1 0.51 0
Y’ t1 t2 t3 t4
第1筆 0.04 0.51 0.91 0.51
第2筆 0.04 0.51 0.90 0.52
Y t1 t2 t3 t4
第1筆 0 0.5 1 0.5
第2筆 0 0.5 1 0.5
神經元1 神經元2 神經元3 神經元4
0 0 0 0
 建立具有一隱藏層之遞歸神經網路
 隱藏層神經元4個
YY
XX
先前狀態神經元暫存值先前狀態神經元暫存值
0.386
0.5
-3.060 0.323 -0.019 0.220
 先前狀態神經元暫存值(更新後)
 
 
  548.02
220.00019.00
323.00060.30
386.05.0




zSigmoid
z
神經元
神經元1 神經元2 神經元3 神經元4
0.801 0.548 0 0
第1筆t1輸入至遞歸神經網路,
計算神經元2
乘上權重後,
再代入S型函數
t1資料
62/88
遞歸神經網路
 輸入資料(X)
 估計資料(Y’)
 輸出資料(Y)
 先前狀態神經元暫存值
X t1 t2 t3 t4
第1筆 0.5 1 0.5 0
第2筆 0.51 1 0.51 0
Y’ t1 t2 t3 t4
第1筆 0.04 0.51 0.91 0.51
第2筆 0.04 0.51 0.90 0.52
Y t1 t2 t3 t4
第1筆 0 0.5 1 0.5
第2筆 0 0.5 1 0.5
神經元1 神經元2 神經元3 神經元4
0 0 0 0
 建立具有一隱藏層之遞歸神經網路
 隱藏層神經元4個
YY
XX
先前狀態神經元暫存值先前狀態神經元暫存值
-0.125
0.5
1.297 1.149 1.461 0.400
 先前狀態神經元暫存值(更新後)
 
  484.03
400.00461.10
149.10297.10
125.05.0




zSigmoid
z
神經元
神經元1 神經元2 神經元3 神經元4
0.801 0.548 0.484 0
第1筆t1輸入至遞歸神經網路,
計算神經元3
乘上權重後,
再代入S型函數
t1資料
63/88
遞歸神經網路
 輸入資料(X)
 估計資料(Y’)
 輸出資料(Y)
 先前狀態神經元暫存值
X t1 t2 t3 t4
第1筆 0.5 1 0.5 0
第2筆 0.51 1 0.51 0
Y’ t1 t2 t3 t4
第1筆 0.04 0.51 0.91 0.51
第2筆 0.04 0.51 0.90 0.52
Y t1 t2 t3 t4
第1筆 0 0.5 1 0.5
第2筆 0 0.5 1 0.5
神經元1 神經元2 神經元3 神經元4
0 0 0 0
 建立具有一隱藏層之遞歸神經網路
 隱藏層神經元4個
YY
XX
先前狀態神經元暫存值先前狀態神經元暫存值
0.338
0.5
1.886 1.334 -0.529 0.589
 先前狀態神經元暫存值(更新後)
 
  542.04
589.00529.00
334.10886.10
338.05.0




zSigmoid
z
神經元
神經元1 神經元2 神經元3 神經元4
0.801 0.548 0.484 0.542
第1筆t1輸入至遞歸神經網路,
計算神經元4
乘上權重後,
再代入S型函數
t1資料
64/88
遞歸神經網路
 輸入資料(X)
 估計資料(Y’)
 輸出資料(Y)
 先前狀態神經元暫存值
X t1 t2 t3 t4
第1筆 0.5 1 0.5 0
第2筆 0.51 1 0.51 0
Y’ t1 t2 t3 t4
第1筆 0.04 0.51 0.91 0.51
第2筆 0.04 0.51 0.90 0.52
Y t1 t2 t3 t4
第1筆 0 0.5 1 0.5
第2筆 0 0.5 1 0.5
神經元1 神經元2 神經元3 神經元4
0 0 0 0
 建立具有一隱藏層之遞歸神經網路
 隱藏層神經元4個
YY
XX
先前狀態神經元暫存值先前狀態神經元暫存值 -2.934
 先前狀態神經元暫存值(更新後)
   
  04.0'
819.1542.0543.1.4840
752.4548.0934.2801.0



zSigmoidY
z
神經元1 神經元2 神經元3 神經元4
0.801 0.548 0.484 0.542
將隱藏層神經元乘上權重和
代入S型函式計算估計資料Y’
乘上權重後,
再代入S型函數
-4.752
1.543
1.819
t1資料
65/88
遞歸神經網路
 輸入資料(X)
 估計資料(Y’)
 輸出資料(Y)
 先前狀態神經元暫存值
X t1 t2 t3 t4
第1筆 0.5 1 0.5 0
第2筆 0.51 1 0.51 0
Y’ t1 t2 t3 t4
第1筆 0.04 0.51 0.91 0.51
第2筆 0.04 0.51 0.90 0.52
Y t1 t2 t3 t4
第1筆 0 0.5 1 0.5
第2筆 0 0.5 1 0.5
神經元1 神經元2 神經元3 神經元4
0.801 0.548 0.484 0.542
 建立具有一隱藏層之遞歸神經網路
 隱藏層神經元4個
YY
XX
先前狀態神經元暫存值先前狀態神經元暫存值
將隱藏層神經元資料暫存起來
直接複製填入
 先前狀態神經元暫存值(更新後)
神經元1 神經元2 神經元3 神經元4
0.801 0.548 0.484 0.542
66/88
遞歸神經網路
 輸入資料(X)
 估計資料(Y’)
 輸出資料(Y)
 先前狀態神經元暫存值
X t1 t2 t3 t4
第1筆 0.5 1 0.5 0
第2筆 0.51 1 0.51 0
Y’ t1 t2 t3 t4
第1筆 0.04 0.51 0.91 0.51
第2筆 0.04 0.51 0.90 0.52
Y t1 t2 t3 t4
第1筆 0 0.5 1 0.5
第2筆 0 0.5 1 0.5
神經元1 神經元2 神經元3 神經元4
0.801 0.548 0.484 0.542
 建立具有一隱藏層之遞歸神經網路
 隱藏層神經元4個
YY
XX
先前狀態神經元暫存值先前狀態神經元暫存值
2.782
1
0.043 1.543 -2.305 -1.952
 先前狀態神經元暫存值(更新後)
   
  168.01
952.1.5420305.2.4840
543.1.5480043.0.8010
782.21




zSigmoid
z
神經元
神經元1 神經元2 神經元3 神經元4
0.816 0.548 0.484 0.542
第1筆t2輸入至遞歸神經網路,
計算神經元1
乘上權重後,
再代入S型函數
t2資料
67/88
遞歸神經網路
 輸入資料(X)
 估計資料(Y’)
 輸出資料(Y)
 先前狀態神經元暫存值
X t1 t2 t3 t4
第1筆 0.5 1 0.5 0
第2筆 0.51 1 0.51 0
Y’ t1 t2 t3 t4
第1筆 0.04 0.51 0.91 0.51
第2筆 0.04 0.51 0.90 0.52
Y t1 t2 t3 t4
第1筆 0 0.5 1 0.5
第2筆 0 0.5 1 0.5
神經元1 神經元2 神經元3 神經元4
0.801 0.548 0.484 0.542
 建立具有一隱藏層之遞歸神經網路
 隱藏層神經元4個
YY
XX
先前狀態神經元暫存值先前狀態神經元暫存值
0.386
1
-3.060 0.323 -0.019 0.220
 先前狀態神經元暫存值(更新後)
 
 
  145.02
220.0.5420019.0.4840
323.0.5480060.3.8010
386.01




zSigmoid
z
神經元
神經元1 神經元2 神經元3 神經元4
0.816 0.145 0.484 0.542
第1筆t2輸入至遞歸神經網路,
計算神經元2
乘上權重後,
再代入S型函數
t2資料
68/88
遞歸神經網路
 輸入資料(X)
 估計資料(Y’)
 輸出資料(Y)
 先前狀態神經元暫存值
X t1 t2 t3 t4
第1筆 0.5 1 0.5 0
第2筆 0.51 1 0.51 0
Y’ t1 t2 t3 t4
第1筆 0.04 0.51 0.91 0.51
第2筆 0.04 0.51 0.90 0.52
Y t1 t2 t3 t4
第1筆 0 0.5 1 0.5
第2筆 0 0.5 1 0.5
神經元1 神經元2 神經元3 神經元4
0.801 0.548 0.484 0.542
 建立具有一隱藏層之遞歸神經網路
 隱藏層神經元4個
YY
XX
先前狀態神經元暫存值先前狀態神經元暫存值
-0.125
1
1.297 1.149 1.461 0.400
 先前狀態神經元暫存值(更新後)
 
  922.03
400.0.5420461.1.4840
149.1.5480297.1.8010
125.01




zSigmoid
z
神經元
神經元1 神經元2 神經元3 神經元4
0.816 0.145 0.922 0.542
第1筆t2輸入至遞歸神經網路,
計算神經元3
乘上權重後,
再代入S型函數
t2資料
69/88
遞歸神經網路
 輸入資料(X)
 估計資料(Y’)
 輸出資料(Y)
 先前狀態神經元暫存值
X t1 t2 t3 t4
第1筆 0.5 1 0.5 0
第2筆 0.51 1 0.51 0
Y’ t1 t2 t3 t4
第1筆 0.04 0.51 0.91 0.51
第2筆 0.04 0.51 0.90 0.52
Y t1 t2 t3 t4
第1筆 0 0.5 1 0.5
第2筆 0 0.5 1 0.5
神經元1 神經元2 神經元3 神經元4
0.801 0.548 0.484 0.542
 建立具有一隱藏層之遞歸神經網路
 隱藏層神經元4個
YY
XX
先前狀態神經元暫存值先前狀態神經元暫存值
0.338
1
1.886 1.334 -0.529 0.589
 先前狀態神經元暫存值(更新後)
 
  934.04
589.0.5420529.0.4840
334.1.5480886.1.8010
338.01




zSigmoid
z
神經元
神經元1 神經元2 神經元3 神經元4
0.816 0.145 0.922 0.934
第1筆t2輸入至遞歸神經網路,
計算神經元4
乘上權重後,
再代入S型函數
t2資料
70/88
遞歸神經網路
 輸入資料(X)
 估計資料(Y’)
 輸出資料(Y)
 先前狀態神經元暫存值
X t1 t2 t3 t4
第1筆 0.5 1 0.5 0
第2筆 0.51 1 0.51 0
Y’ t1 t2 t3 t4
第1筆 0.04 0.51 0.91 0.51
第2筆 0.04 0.51 0.90 0.52
Y t1 t2 t3 t4
第1筆 0 0.5 1 0.5
第2筆 0 0.5 1 0.5
神經元1 神經元2 神經元3 神經元4
0.801 0.548 0.484 0.542
 建立具有一隱藏層之遞歸神經網路
 隱藏層神經元4個
YY
XX
先前狀態神經元暫存值先前狀態神經元暫存值 -2.934
 先前狀態神經元暫存值(更新後)
   
  51.0'
819.1934.0543.1.9220
752.4145.0934.2168.0



zSigmoidY
z
神經元1 神經元2 神經元3 神經元4
0.816 0.145 0.922 0.934
將隱藏層神經元乘上權重和
代入S型函式計算估計資料Y’
乘上權重後,
再代入S型函數
-4.752
1.543
1.819
t2資料
71/88
遞歸神經網路
 輸入資料(X)
 估計資料(Y’)
 輸出資料(Y)
 先前狀態神經元暫存值
X t1 t2 t3 t4
第1筆 0.5 1 0.5 0
第2筆 0.51 1 0.51 0
Y’ t1 t2 t3 t4
第1筆 0.04 0.51 0.91 0.51
第2筆 0.04 0.51 0.90 0.52
Y t1 t2 t3 t4
第1筆 0 0.5 1 0.5
第2筆 0 0.5 1 0.5
神經元1 神經元2 神經元3 神經元4
0.816 0.145 0.922 0.934
 建立具有一隱藏層之遞歸神經網路
 隱藏層神經元4個
YY
XX
先前狀態神經元暫存值先前狀態神經元暫存值
將隱藏層神經元資料暫存起來
直接複製填入
 先前狀態神經元暫存值(更新後)
神經元1 神經元2 神經元3 神經元4
0.816 0.145 0.922 0.934
72/88
遞歸神經網路
 輸入資料(X)
 估計資料(Y’)
 輸出資料(Y)
X t1 t2 t3 t4
第1筆 0.5 1 0.5 0
第2筆 0.51 1 0.51 0
Y’ t1 t2 t3 t4
第1筆 0.04 0.51 0.91 0.51
第2筆 0.04 0.51 0.90 0.52
Y t1 t2 t3 t4
第1筆 0 0.5 1 0.5
第2筆 0 0.5 1 0.5
 依此類推,估計t3和t4資料
 計算第2筆時將「先前狀態神經元暫存值」
歸0,並估計t1~t4資料
0
0.2
0.4
0.6
0.8
1
1 2 3 4 5 6 7 8
Value
Time
X Y' Y
估計結果
 將X輸入至遞歸神經網路後,得到估計值Y’
 估計值Y’和真值Y的資料趨勢非常近似
 遞歸神經網路可學習依時間變化
的趨勢
 需先觀察資料變化週期,遞歸神
經網路可學習週期內的資料變化
趨勢
73/88
遞歸神經網路-程式實作
 運用trainr函式,設定相關參數,訓練遞歸神經網路
載入rnn函式庫
呼叫trainr函式,訓練
遞歸神經網路
 設定網路類型為rnn
 設定隱藏層神經元數
為4
 設 定 訓 練 回 合 數 為
20000
讀入資料來源
設定亂數種子
呼叫predictr函式,
進行資料估計
過適問題
75/88
過適問題
 原始資料
X1 X2 Y
0.111111 0.111111 0
0.111111 0.333333 0
0.111111 0.555556 0
0.111111 0.777778 0
0.333333 0.111111 0
0.333333 0.333333 0
0.333333 0.555556 0
0.333333 0.777778 0
0.555556 0.111111 0
0.555556 0.333333 0
0.777778 0.111111 0
0.777778 0.333333 0
0.333333 0.444444 1
0.333333 1 1
0.555556 1 1
0.555556 0.777778 1
0.777778 1 1
0.777778 0.777778 1
0.777778 0.555556 1
1 1 1
1 0.777778 1
1 0.555556 1
1 0.333333 1
0
0.2
0.4
0.6
0.8
1
0 0.2 0.4 0.6 0.8 1
X2
X1
原始資料(僅有少量資料樣本)
 當資料收集不夠齊全時,學習過程
中的過適(Overfitting)問題,可能造
成「偏見」的現象
 此例中,‘1’類別中有1筆資料可能為
異常值(Outlier)落在‘0’類別的區域
中,這筆資料將可能讓機器學習到
「偏見」
用藍色標記為‘0’類別
用紅色標記為‘1’類別
該筆資料可能為‘1’類別的
異常值(Outlier),學習過
程將可能學到此異常資訊
76/88
過適問題
 神經網路
 網路結構
採用兩層隱藏層
每層隱藏層各2個神經元
運用S型函式作為激活函式
 學習結果
訓練資料分類正確率100%
神經網路對訓練資料充分學習
,即使是異常值也將一併學習
分類器在‘0’類別區域(藍色區)
中產生了一段‘1’類別區域(紅
色區)(即「偏見」);未來‘0’
類別的資料落在此區域中,將
可能被誤判為‘1’類別的資料 0
0.2
0.4
0.6
0.8
1
0 0.2 0.4 0.6 0.8 1
X2
X1
神經網路學習結果
神經網路之網路結構
神經網路充分學習訓練資料,導
致異常值也學習了,產生「偏見」
77/88
過適問題
 先「非監督式學習」,再「監督式學習」 ,可能避免過適問題
 整體流程
 主成份分析(PCA)+神經網路
 受限波茲曼機(RBM)+神經網路
原始資料 非監督式學習 監督式學習
估計結果
(分類結果)
原始資料 主成份分析 神經網路
估計結果
(分類結果)
原始資料 受限波茲曼機 神經網路
估計結果
(分類結果)
78/88
過適問題
0
0.2
0.4
0.6
0.8
1
0 0.2 0.4 0.6 0.8 1
X2
X1
0
0.2
0.4
0.6
0.8
1
0 0.2 0.4 0.6 0.8 1
X2
X1
受限波茲曼機+神經網路學習結果
受限波茲曼機降為1維後輸入至神經網路
主成份分析+神經網路學習結果
主成份分析降為1維後輸入至神經網路
結合主成份分析和神經網路,將
可以避免過適問題
附錄─梯度下降法
80/88
0
0.05
0.1
0.15
0.2
0.25
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
F
w
梯度下降法概念
 如何找曲線的相對低點?
 如何讓w值向相對低點邁進?
0
0.05
0.1
0.15
0.2
0.25
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
F
w
   
25.0
5.0
2
2


ww
wwF
12 


w
w
F
當w=0時,斜率為-1
當w=1時,斜率為1
斜率絕對值越大,則
所需修正幅度越大
當w=0.5時,斜率為0
斜率為0時,代表為相
對低點,不需修正
目標函式
函式切線斜率
當w=0.25時,斜率為-0.5
所需修正幅度較小
w=0.5時,
F函式相對低點
對w微分
F函式之一階導函數
Iteration w F
1 0.000 0.250 -0.100
2 0.100 0.160 -0.080
3 0.180 0.102 -0.064
4 0.244 0.066 -0.051
5 0.295 0.042 -0.041
6 0.336 0.027 -0.033
7 0.369 0.017 -0.026
8 0.395 0.011 -0.021
9 0.416 0.007 -0.017
10 0.433 0.005 -0.013
 12 



ww
w
F
ww


為學習率
避免一次跳太遠

1.0
 12 w
用前一個Iteration
的w值減去斜率為
新的w值
當經過63個Interation
後,w值將修正為0.5,
並且不需再修正(收斂)
 
1.0
1021.00

w
 
18.0
11.021.01.0

w
Iteration 2的w值
Iteration 3的w值
81/88
梯度下降法概念
 學習率的作用?
0
0.05
0.1
0.15
0.2
0.25
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
F
w
Iteration w F
1 0.000 0.250 -1.000
2 1.000 0.250 1.000
3 0.000 0.250 -1.000
4 1.000 0.250 1.000
5 0.000 0.250 -1.000
6 1.000 0.250 1.000
7 0.000 0.250 -1.000
8 1.000 0.250 1.000
9 0.000 0.250 -1.000
10 1.000 0.250 1.000
Iteration w F
1 0.000 0.250 -0.900
2 0.900 0.160 0.720
3 0.180 0.102 -0.576
4 0.756 0.066 0.461
5 0.295 0.042 -0.369
6 0.664 0.027 0.295
7 0.369 0.017 -0.236
8 0.605 0.011 0.189
9 0.416 0.007 -0.151
10 0.567 0.005 0.121
0
0.05
0.1
0.15
0.2
0.25
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
F
w
學習率 為1
學習率 為0.9
 12 w
 12 w


 12  www
 129.0  www
學習率過大,
w在0和1兩個值之
間擺盪,無法收斂
學習率大時,擺盪
幅度較大
在複雜的情境中可
能錯過全域最佳解
經過63個Interation
後收斂
82/88
0
0.5
1
1.5
2
2.5
3
3.5
4
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
F
w
梯度下降法概念
 多個參數之目標函式
   
22
2
2
,
bwbw
bwbwF


目標函式
bw
w
F
22 


函式切線斜率(對w偏微分)
bw
b
F
22 


函式切線斜率(對b偏微分)
w修正方式 b修正方式
 bww
w
F
ww
22 



  bwb
b
F
bb
22 




w+b=0時,
F函式相對低點
學習率 為0.1
 
 bwbb
bwww
221.0
221.0


經過17個Interation
後收斂
Iteration w b F
1 1.000 1.000 4.000 0.400
2 0.600 0.600 1.440 0.240
3 0.360 0.360 0.518 0.144
4 0.216 0.216 0.187 0.086
5 0.130 0.130 0.067 0.052
6 0.078 0.078 0.024 0.031
7 0.047 0.047 0.009 0.019
8 0.028 0.028 0.003 0.011
9 0.017 0.017 0.001 0.007
10 0.010 0.010 0.000 0.004
 bw 22 
w=0且b=0
83/88
0
0.005
0.01
0.015
0.02
0.025
0.03
0.035
0.04
0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1
F
w
梯度下降法概念
 多個參數之目標函式
   
22
2
2
,
bwbw
bwbwF


目標函式
bw
w
F
22 


函式切線斜率(對w偏微分)
bw
b
F
22 


函式切線斜率(對b偏微分)
w修正方式 b修正方式
 bww
w
F
ww
22 



  bwb
b
F
bb
22 




學習率 為0.1
 
 bwbb
bwww
221.0
221.0


經過13個Interation
後收斂
Iteration w b F
1 1.000 -0.800 0.040 0.040
2 0.960 -0.840 0.014 0.024
3 0.936 -0.864 0.005 0.014
4 0.922 -0.878 0.002 0.009
5 0.913 -0.887 0.001 0.005
6 0.908 -0.892 0.000 0.003
7 0.905 -0.895 0.000 0.002
8 0.903 -0.897 0.000 0.001
9 0.902 -0.898 0.000 0.001
10 0.901 -0.899 0.000 0.000
 bw 22 
 w+b=0有無限多組解:
• w = 0, b = 0
• w = 0.9, b = -0.9
• w = 1, b = -1
w=0.9且b=-0.9
84/88
梯度下降法概念
 梯度下降法應用於線性迴歸之權重和誤差項
bxwy 
線性迴歸函式
(真值)
bxwy ˆˆˆ 
   2
ˆˆ,ˆ yybwF 
  
   
      
 12
ˆ
ˆˆ
ˆ2
ˆ
ˆ
ˆ2
ˆ
ˆ
ˆ
2













b
bxwbxw
yy
b
yy
yy
b
yy
b
F
函式切線斜率(對 偏微分) 函式切線斜率(對 偏微分)
線性迴歸函式
(估計值)
目標函式
wˆ bˆ
修正方式 修正方式wˆ bˆ
  xw
w
F
ww 


  2ˆ
ˆ
ˆˆ   12ˆ
ˆ
ˆˆ 


  b
b
F
bb
令    yy ˆ 令    yy ˆ
Iteration x w b y F
1 0.10 1.00 0.00 0.10 0.50 0.50 0.55 0.20 0.06 0.63
2 0.20 1.00 0.00 0.20 0.44 -0.13 -0.04 0.06 -0.07 -0.34
3 0.30 1.00 0.00 0.30 0.50 0.21 0.36 0.00 0.03 0.09
4 0.40 1.00 0.00 0.40 0.48 0.12 0.32 0.01 -0.05 -0.12
5 0.50 1.00 0.00 0.50 0.53 0.24 0.51 0.00 0.00 0.01
6 0.10 1.00 0.00 0.10 0.52 0.23 0.29 0.03 0.03 0.26
7 0.20 1.00 0.00 0.20 0.50 -0.03 0.07 0.02 -0.04 -0.18
8 0.30 1.00 0.00 0.30 0.53 0.15 0.31 0.00 0.00 0.02
9 0.40 1.00 0.00 0.40 0.53 0.14 0.35 0.00 -0.03 -0.07
10 0.50 1.00 0.00 0.50 0.56 0.21 0.49 0.00 -0.01 -0.02
yˆwˆ bˆ   x 2   12 
以 為例01  xy
0
0.05
0.1
0.15
0.2
0.25
0.4 0.5 0.6 0.7 0.8 0.9 1
F
w
wˆ
學習率 為0.7
經過770個Interation
後收斂
  
   
      
 x
w
bxwbxw
yy
w
yy
yy
w
yy
w
F












2
ˆ
ˆˆ
ˆ2
ˆ
ˆ
ˆ2
ˆ
ˆ
ˆ
2
85/88
 神經網路與神經元
梯度下降法證明
‧
‧
‧
‧
‧
‧
‧
‧
‧
‧
‧
‧
 l
z1
 l
z2
 l
iz
 l
sl
z
1
+
 l
a1
 l
a2
 l
ia
 l
sl
a
 l
jw ,1
 l
jiw ,
 l
jw ,2
 l
jSl
w ,
 l
jb
 1l
jz  1l
ja
第l層 第l+1層
第l+1層zj值(加權總和後)
       l
i
s
i
l
i
l
ji
l
j bawz
l






 

1
,
1
第l+1層aj值(激活函式計算後)
       












 
 l
i
s
i
l
i
l
ji
l
j bawga
l
1
,
1
激活函式(activation function)
可為線性、S型函式、或其他
  xxg 
  x
e
xg 


1
1
 






0if,0
0if,
x
xx
xg
線性函式
S型函式
ReLU函式
86/88
梯度下降法證明
 監督式學習目標為最小化估計值與真實值之間的誤差(損失)
假設損失函式(loss function)為
 為真實值, 為估計值
最小化損失函式,計算方式為對損失函式微分
由於損失函式為多參數組成之函式,故分別對不同參數做偏微分
 對 值計算偏微分,取得第l層最小誤差
 對 值計算偏微分,取得第l層最小誤差之最佳 值
 對 值計算偏微分,取得第l層最小誤差之最佳 值
 對 值計算偏微分之數學證明
 yyF ˆ,
y yˆ
 l
iz
 l
jiw ,
 l
jb
 l
jiw ,
 l
jb
 l
iz
 
 
 
 
 
   
 
   
     
 
 
     

 










































1
1
1
1
1
,
1
1,
1
1
1
l
l l
l
s
j
l
j
l
ji
l
i
s
j
l
j
l
j
s
k
l
k
l
jkl
i
l
i
l
i
s
j
l
j
l
i
l
j
l
i
l
i
l
i
l
i
wzg
z
F
baw
az
a
z
F
a
z
z
a
z
F


 
 
 
  0and
otherwise,0
f,1
where 




 



l
i
l
j
l
i
l
k
a
bkii
a
a
損失函式示意圖
誤
差
或
損
失
全域最佳解
區域最佳解
87/88
梯度下降法證明
 對 值計算偏微分之數學證明
 對 值計算偏微分之數學證明
 l
jiw ,
 l
jb
 
 
   
 
     
 
   1
1,
,
1
,
1
,































l
j
l
i
l
j
l
j
s
k
l
k
l
jkl
ji
l
j
l
ji
l
j
l
ji
a
z
F
baw
w
z
F
w
z
w
F
l
  
 
 
  0and
otherwise,0
f,1
where
,,
,





 



l
ji
l
j
l
ji
l
jk
w
bkii
w
w
 
 
   
 
     
 
 1
1,
1
1































l
j
l
j
l
j
s
k
l
k
l
jkl
j
l
j
l
j
l
j
l
j
z
F
baw
b
z
F
b
z
b
F
l
  
  0where
,



l
i
l
jk
b
w
   
 l
ji
l
ji
l
ji
w
F
ww
,
,,


 
權重值修正
   
 l
j
l
j
l
j
b
F
bb


 
誤差項值修正
為學習率
避免一次跳太遠,
而錯過全域最佳解

為學習率
避免一次跳太遠,
而錯過全域最佳解

謝謝大家的聆聽

Más contenido relacionado

La actualidad más candente

Hands-on tutorial of deep learning (Keras)
Hands-on tutorial of deep learning (Keras)Hands-on tutorial of deep learning (Keras)
Hands-on tutorial of deep learning (Keras)Chun-Min Chang
 
論文導讀03_集成神經網路(智慧交通)
論文導讀03_集成神經網路(智慧交通)論文導讀03_集成神經網路(智慧交通)
論文導讀03_集成神經網路(智慧交通)Fuzhou University
 
NTC_Tensor flow 深度學習快速上手班_Part2 -深度學習
NTC_Tensor flow 深度學習快速上手班_Part2 -深度學習NTC_Tensor flow 深度學習快速上手班_Part2 -深度學習
NTC_Tensor flow 深度學習快速上手班_Part2 -深度學習NTC.im(Notch Training Center)
 
Trust Region Policy Optimization
Trust Region Policy OptimizationTrust Region Policy Optimization
Trust Region Policy Optimizationmooopan
 
数据结构(用面向对象方法与C++语言描述第二版)殷人昆编著清华大学出版社
数据结构(用面向对象方法与C++语言描述第二版)殷人昆编著清华大学出版社数据结构(用面向对象方法与C++语言描述第二版)殷人昆编著清华大学出版社
数据结构(用面向对象方法与C++语言描述第二版)殷人昆编著清华大学出版社pingjiang
 
Learning to Rank: An Introduction to LambdaMART
Learning to Rank: An Introduction to LambdaMARTLearning to Rank: An Introduction to LambdaMART
Learning to Rank: An Introduction to LambdaMARTJulian Qian
 
[系列活動] 手把手打開Python資料分析大門
[系列活動] 手把手打開Python資料分析大門[系列活動] 手把手打開Python資料分析大門
[系列活動] 手把手打開Python資料分析大門台灣資料科學年會
 
Neural Turing Machine Tutorial
Neural Turing Machine TutorialNeural Turing Machine Tutorial
Neural Turing Machine TutorialMark Chang
 
C1 discrete time signals and systems in the time-domain
C1 discrete time signals and systems in the time-domainC1 discrete time signals and systems in the time-domain
C1 discrete time signals and systems in the time-domainPei-Che Chang
 
2011年信息学竞赛冬令营《星际探险》
2011年信息学竞赛冬令营《星际探险》2011年信息学竞赛冬令营《星际探险》
2011年信息学竞赛冬令营《星际探险》Ray Song
 
C5 correlation function and power spectrum density of a signal
C5 correlation function and power spectrum density of a signalC5 correlation function and power spectrum density of a signal
C5 correlation function and power spectrum density of a signalPei-Che Chang
 
強化學習 Reinforcement Learning
強化學習 Reinforcement Learning強化學習 Reinforcement Learning
強化學習 Reinforcement LearningYen-lung Tsai
 
連淡水阿嬤都聽得懂的 機器學習入門 scikit-learn
連淡水阿嬤都聽得懂的機器學習入門 scikit-learn 連淡水阿嬤都聽得懂的機器學習入門 scikit-learn
連淡水阿嬤都聽得懂的 機器學習入門 scikit-learn Cicilia Lee
 

La actualidad más candente (14)

Hands-on tutorial of deep learning (Keras)
Hands-on tutorial of deep learning (Keras)Hands-on tutorial of deep learning (Keras)
Hands-on tutorial of deep learning (Keras)
 
論文導讀03_集成神經網路(智慧交通)
論文導讀03_集成神經網路(智慧交通)論文導讀03_集成神經網路(智慧交通)
論文導讀03_集成神經網路(智慧交通)
 
NTC_Tensor flow 深度學習快速上手班_Part2 -深度學習
NTC_Tensor flow 深度學習快速上手班_Part2 -深度學習NTC_Tensor flow 深度學習快速上手班_Part2 -深度學習
NTC_Tensor flow 深度學習快速上手班_Part2 -深度學習
 
Pseudo Random Code
Pseudo Random CodePseudo Random Code
Pseudo Random Code
 
Trust Region Policy Optimization
Trust Region Policy OptimizationTrust Region Policy Optimization
Trust Region Policy Optimization
 
数据结构(用面向对象方法与C++语言描述第二版)殷人昆编著清华大学出版社
数据结构(用面向对象方法与C++语言描述第二版)殷人昆编著清华大学出版社数据结构(用面向对象方法与C++语言描述第二版)殷人昆编著清华大学出版社
数据结构(用面向对象方法与C++语言描述第二版)殷人昆编著清华大学出版社
 
Learning to Rank: An Introduction to LambdaMART
Learning to Rank: An Introduction to LambdaMARTLearning to Rank: An Introduction to LambdaMART
Learning to Rank: An Introduction to LambdaMART
 
[系列活動] 手把手打開Python資料分析大門
[系列活動] 手把手打開Python資料分析大門[系列活動] 手把手打開Python資料分析大門
[系列活動] 手把手打開Python資料分析大門
 
Neural Turing Machine Tutorial
Neural Turing Machine TutorialNeural Turing Machine Tutorial
Neural Turing Machine Tutorial
 
C1 discrete time signals and systems in the time-domain
C1 discrete time signals and systems in the time-domainC1 discrete time signals and systems in the time-domain
C1 discrete time signals and systems in the time-domain
 
2011年信息学竞赛冬令营《星际探险》
2011年信息学竞赛冬令营《星际探险》2011年信息学竞赛冬令营《星际探险》
2011年信息学竞赛冬令营《星际探险》
 
C5 correlation function and power spectrum density of a signal
C5 correlation function and power spectrum density of a signalC5 correlation function and power spectrum density of a signal
C5 correlation function and power spectrum density of a signal
 
強化學習 Reinforcement Learning
強化學習 Reinforcement Learning強化學習 Reinforcement Learning
強化學習 Reinforcement Learning
 
連淡水阿嬤都聽得懂的 機器學習入門 scikit-learn
連淡水阿嬤都聽得懂的機器學習入門 scikit-learn 連淡水阿嬤都聽得懂的機器學習入門 scikit-learn
連淡水阿嬤都聽得懂的 機器學習入門 scikit-learn
 

Similar a 深度學習方法與實作

人工智慧07_迴歸方法(智慧交通)
人工智慧07_迴歸方法(智慧交通)人工智慧07_迴歸方法(智慧交通)
人工智慧07_迴歸方法(智慧交通)Fuzhou University
 
品管七大手法1
品管七大手法1品管七大手法1
品管七大手法15045033
 
Deep learning wiki on data encodingi
Deep learning  wiki on data encodingiDeep learning  wiki on data encodingi
Deep learning wiki on data encodingiwang meng
 
Master Thesis 2010 - Pattern Discovery Algorithms for Classification
Master Thesis 2010 - Pattern Discovery Algorithms for ClassificationMaster Thesis 2010 - Pattern Discovery Algorithms for Classification
Master Thesis 2010 - Pattern Discovery Algorithms for ClassificationChuancong Gao
 
Data Analysis In Service Research2009 11 12
Data Analysis In Service Research2009 11 12Data Analysis In Service Research2009 11 12
Data Analysis In Service Research2009 11 12Kai Wu
 
机器学习V10baochang svm
机器学习V10baochang svm机器学习V10baochang svm
机器学习V10baochang svmShocky1
 
高等生產管理 第一組
高等生產管理 第一組高等生產管理 第一組
高等生產管理 第一組阿狗 郭
 
A ROBUST MODELING FOR MULTIPLE NONLINEAR REGRESSION USING BEZIER SURFACE
A ROBUST MODELING FOR MULTIPLE NONLINEAR REGRESSION USING BEZIER SURFACE     A ROBUST MODELING FOR MULTIPLE NONLINEAR REGRESSION USING BEZIER SURFACE
A ROBUST MODELING FOR MULTIPLE NONLINEAR REGRESSION USING BEZIER SURFACE Jian Michael
 
基本遗传算法
 基本遗传算法 基本遗传算法
基本遗传算法sixu05202004
 
计算机组成原理题
计算机组成原理题计算机组成原理题
计算机组成原理题Huaijin Chen
 
Tutorial of cnn 赵子健9.16
Tutorial of cnn 赵子健9.16Tutorial of cnn 赵子健9.16
Tutorial of cnn 赵子健9.16Zijian Zhao
 
迴歸分析 Minitab和excel的應用
迴歸分析 Minitab和excel的應用迴歸分析 Minitab和excel的應用
迴歸分析 Minitab和excel的應用5045033
 
論文導讀02_神經網路(智慧交通)
論文導讀02_神經網路(智慧交通)論文導讀02_神經網路(智慧交通)
論文導讀02_神經網路(智慧交通)Fuzhou University
 
手勢以及身體骨架辨識
手勢以及身體骨架辨識手勢以及身體骨架辨識
手勢以及身體骨架辨識CHENHuiMei
 
Image Stitching Method
Image Stitching MethodImage Stitching Method
Image Stitching Methodwuyanna
 
建造与理解-用Python实现深度学习框架
建造与理解-用Python实现深度学习框架建造与理解-用Python实现深度学习框架
建造与理解-用Python实现深度学习框架ZhenChen57
 

Similar a 深度學習方法與實作 (20)

人工智慧07_迴歸方法(智慧交通)
人工智慧07_迴歸方法(智慧交通)人工智慧07_迴歸方法(智慧交通)
人工智慧07_迴歸方法(智慧交通)
 
人工智慧08_神經網路
人工智慧08_神經網路人工智慧08_神經網路
人工智慧08_神經網路
 
品管七大手法1
品管七大手法1品管七大手法1
品管七大手法1
 
Deep learning wiki on data encodingi
Deep learning  wiki on data encodingiDeep learning  wiki on data encodingi
Deep learning wiki on data encodingi
 
Master Thesis 2010 - Pattern Discovery Algorithms for Classification
Master Thesis 2010 - Pattern Discovery Algorithms for ClassificationMaster Thesis 2010 - Pattern Discovery Algorithms for Classification
Master Thesis 2010 - Pattern Discovery Algorithms for Classification
 
Data Analysis In Service Research2009 11 12
Data Analysis In Service Research2009 11 12Data Analysis In Service Research2009 11 12
Data Analysis In Service Research2009 11 12
 
机器学习V10baochang svm
机器学习V10baochang svm机器学习V10baochang svm
机器学习V10baochang svm
 
高等生產管理 第一組
高等生產管理 第一組高等生產管理 第一組
高等生產管理 第一組
 
A ROBUST MODELING FOR MULTIPLE NONLINEAR REGRESSION USING BEZIER SURFACE
A ROBUST MODELING FOR MULTIPLE NONLINEAR REGRESSION USING BEZIER SURFACE     A ROBUST MODELING FOR MULTIPLE NONLINEAR REGRESSION USING BEZIER SURFACE
A ROBUST MODELING FOR MULTIPLE NONLINEAR REGRESSION USING BEZIER SURFACE
 
電路學第七章 交流穩態分析
電路學第七章 交流穩態分析電路學第七章 交流穩態分析
電路學第七章 交流穩態分析
 
Spc介绍
Spc介绍Spc介绍
Spc介绍
 
基本遗传算法
 基本遗传算法 基本遗传算法
基本遗传算法
 
计算机组成原理题
计算机组成原理题计算机组成原理题
计算机组成原理题
 
Tutorial of cnn 赵子健9.16
Tutorial of cnn 赵子健9.16Tutorial of cnn 赵子健9.16
Tutorial of cnn 赵子健9.16
 
迴歸分析 Minitab和excel的應用
迴歸分析 Minitab和excel的應用迴歸分析 Minitab和excel的應用
迴歸分析 Minitab和excel的應用
 
論文導讀02_神經網路(智慧交通)
論文導讀02_神經網路(智慧交通)論文導讀02_神經網路(智慧交通)
論文導讀02_神經網路(智慧交通)
 
浅析Flash特效开发 陈勇
浅析Flash特效开发 陈勇浅析Flash特效开发 陈勇
浅析Flash特效开发 陈勇
 
手勢以及身體骨架辨識
手勢以及身體骨架辨識手勢以及身體骨架辨識
手勢以及身體骨架辨識
 
Image Stitching Method
Image Stitching MethodImage Stitching Method
Image Stitching Method
 
建造与理解-用Python实现深度学习框架
建造与理解-用Python实现深度学习框架建造与理解-用Python实现深度学习框架
建造与理解-用Python实现深度学习框架
 

Más de Fuzhou University

多媒體系統10_3D繪圖軟體Blender
多媒體系統10_3D繪圖軟體Blender多媒體系統10_3D繪圖軟體Blender
多媒體系統10_3D繪圖軟體BlenderFuzhou University
 
多媒體系統09_3D互動擴增實境
多媒體系統09_3D互動擴增實境多媒體系統09_3D互動擴增實境
多媒體系統09_3D互動擴增實境Fuzhou University
 
多媒體系統08_Inkscape繪製圖形與漸層
多媒體系統08_Inkscape繪製圖形與漸層多媒體系統08_Inkscape繪製圖形與漸層
多媒體系統08_Inkscape繪製圖形與漸層Fuzhou University
 
機器學習工具_微軟Azure Machine Learning Studio
機器學習工具_微軟Azure Machine Learning Studio機器學習工具_微軟Azure Machine Learning Studio
機器學習工具_微軟Azure Machine Learning StudioFuzhou University
 
論文導讀01_k個最近鄰居(行動定位)
論文導讀01_k個最近鄰居(行動定位)論文導讀01_k個最近鄰居(行動定位)
論文導讀01_k個最近鄰居(行動定位)Fuzhou University
 
多媒體系統02_影像處理原理與技術
多媒體系統02_影像處理原理與技術多媒體系統02_影像處理原理與技術
多媒體系統02_影像處理原理與技術Fuzhou University
 
多媒體系統07_Android App影音互動擴增實境
多媒體系統07_Android App影音互動擴增實境多媒體系統07_Android App影音互動擴增實境
多媒體系統07_Android App影音互動擴增實境Fuzhou University
 
多媒體系統06_影音編輯軟體Movie Maker
多媒體系統06_影音編輯軟體Movie Maker多媒體系統06_影音編輯軟體Movie Maker
多媒體系統06_影音編輯軟體Movie MakerFuzhou University
 
多媒體系統05_Android App圖形元件
多媒體系統05_Android App圖形元件多媒體系統05_Android App圖形元件
多媒體系統05_Android App圖形元件Fuzhou University
 
多媒體系統04_GIMP繪圖、特效、動畫
多媒體系統04_GIMP繪圖、特效、動畫多媒體系統04_GIMP繪圖、特效、動畫
多媒體系統04_GIMP繪圖、特效、動畫Fuzhou University
 
多媒體系統03_GIMP影像合成與圖層應用
多媒體系統03_GIMP影像合成與圖層應用多媒體系統03_GIMP影像合成與圖層應用
多媒體系統03_GIMP影像合成與圖層應用Fuzhou University
 
多媒體系統01_安裝開發環境
多媒體系統01_安裝開發環境多媒體系統01_安裝開發環境
多媒體系統01_安裝開發環境Fuzhou University
 
人工智慧02_大數據分析與機器學習概論
人工智慧02_大數據分析與機器學習概論人工智慧02_大數據分析與機器學習概論
人工智慧02_大數據分析與機器學習概論Fuzhou University
 
人工智慧04_貝氏分類和貝氏網路
人工智慧04_貝氏分類和貝氏網路人工智慧04_貝氏分類和貝氏網路
人工智慧04_貝氏分類和貝氏網路Fuzhou University
 
人工智慧01_安裝機器學習開發環境
人工智慧01_安裝機器學習開發環境人工智慧01_安裝機器學習開發環境
人工智慧01_安裝機器學習開發環境Fuzhou University
 

Más de Fuzhou University (17)

多媒體系統10_3D繪圖軟體Blender
多媒體系統10_3D繪圖軟體Blender多媒體系統10_3D繪圖軟體Blender
多媒體系統10_3D繪圖軟體Blender
 
多媒體系統09_3D互動擴增實境
多媒體系統09_3D互動擴增實境多媒體系統09_3D互動擴增實境
多媒體系統09_3D互動擴增實境
 
多媒體系統08_Inkscape繪製圖形與漸層
多媒體系統08_Inkscape繪製圖形與漸層多媒體系統08_Inkscape繪製圖形與漸層
多媒體系統08_Inkscape繪製圖形與漸層
 
機器學習工具_微軟Azure Machine Learning Studio
機器學習工具_微軟Azure Machine Learning Studio機器學習工具_微軟Azure Machine Learning Studio
機器學習工具_微軟Azure Machine Learning Studio
 
論文導讀01_k個最近鄰居(行動定位)
論文導讀01_k個最近鄰居(行動定位)論文導讀01_k個最近鄰居(行動定位)
論文導讀01_k個最近鄰居(行動定位)
 
多媒體系統02_影像處理原理與技術
多媒體系統02_影像處理原理與技術多媒體系統02_影像處理原理與技術
多媒體系統02_影像處理原理與技術
 
多媒體系統07_Android App影音互動擴增實境
多媒體系統07_Android App影音互動擴增實境多媒體系統07_Android App影音互動擴增實境
多媒體系統07_Android App影音互動擴增實境
 
多媒體系統06_影音編輯軟體Movie Maker
多媒體系統06_影音編輯軟體Movie Maker多媒體系統06_影音編輯軟體Movie Maker
多媒體系統06_影音編輯軟體Movie Maker
 
多媒體系統05_Android App圖形元件
多媒體系統05_Android App圖形元件多媒體系統05_Android App圖形元件
多媒體系統05_Android App圖形元件
 
多媒體系統04_GIMP繪圖、特效、動畫
多媒體系統04_GIMP繪圖、特效、動畫多媒體系統04_GIMP繪圖、特效、動畫
多媒體系統04_GIMP繪圖、特效、動畫
 
多媒體系統03_GIMP影像合成與圖層應用
多媒體系統03_GIMP影像合成與圖層應用多媒體系統03_GIMP影像合成與圖層應用
多媒體系統03_GIMP影像合成與圖層應用
 
多媒體系統01_安裝開發環境
多媒體系統01_安裝開發環境多媒體系統01_安裝開發環境
多媒體系統01_安裝開發環境
 
人工智慧02_大數據分析與機器學習概論
人工智慧02_大數據分析與機器學習概論人工智慧02_大數據分析與機器學習概論
人工智慧02_大數據分析與機器學習概論
 
人工智慧06_決策樹
人工智慧06_決策樹人工智慧06_決策樹
人工智慧06_決策樹
 
人工智慧04_貝氏分類和貝氏網路
人工智慧04_貝氏分類和貝氏網路人工智慧04_貝氏分類和貝氏網路
人工智慧04_貝氏分類和貝氏網路
 
人工智慧03_關聯規則
人工智慧03_關聯規則人工智慧03_關聯規則
人工智慧03_關聯規則
 
人工智慧01_安裝機器學習開發環境
人工智慧01_安裝機器學習開發環境人工智慧01_安裝機器學習開發環境
人工智慧01_安裝機器學習開發環境
 

深度學習方法與實作

  • 2. 2/88 講者簡介  講者:陳志華  學歷:國立交通大學資訊管理與財務金融學系資訊管理博士 國立交通大學網路工程研究所(輔所)  現職:中華電信研究院 / 研究員 國立清華大學工業工程與工程管理學系 / 兼任助理教授  經歷:國立交通大學運輸與物流管理學系 / 兼任助理教授 國立交通大學資訊管理與財務金融學系 / 兼任助理教授 國立交通大學傳播與科技學系 / 兼任助理教授 工業技術研究院服務系統科技中心 / 軟體工程師 聯發科技股份有限公司多媒體技術開發處 / 軟體工程師 IBM China Software Development Lab / Intern  服務:Guest Editor-in-Chief for Symmetry (SCI), IJGI (SCI), IEEE TEE Project Reviewer for Chilean National Commission for Scientific and Technological Research, Chile Project Reviewer for National Research Foundation, Republic of South Africa Program Committee Member for IEEE Globecom, IEEE EDUCON, etc.  研究:國內外發表90篇期刊論文 國內外發表102篇會議論文 國內外發表53件專利 國內外獲獎70件專題競賽、論文競賽
  • 3. 3/88 大綱  深度學習發展歷程  R語言簡介  監督式學習(Supervised Learning)  線性迴歸(Linear Regression)  邏輯迴歸(Logistic Regression)  神經網路(Neural Network, NN)  鳶尾花(IRIS)案例說明  非監督式學習(Unsupervised Learning)  主成份分析(Principal Components Analysis, PCA)  受限波茲曼機(Restricted Boltzmann Machine, RBM)  自動編碼器(Auto Encoder, AE)  鳶尾花(IRIS)案例說明  進階議題  卷積神經網路(Convolutional Neural Network, CNN)  遞歸神經網路(Recurrent Neural Network, RNN)  過適問題(Overfitting)  附錄─梯度下降法
  • 5. 5/88 深度學習發展歷程 資料來源: Kasey Panetta, "Gartner’s Top 10 Strategic Technology Trends for 2017," Gartner, 2016.  Gartner整理之深度學習發展歷程 • 神經網路(Neural Nets, NN) • 遞歸神經網路(Recurrent NN, RNN) • 卷積神經網路(Convolutional NN, CNN) • 自動編碼器(Auto-Encoder, AE) • 受限波茲曼機(Restricted Boltzmann Machine, RBM) • 深度波茲曼機(Deep Boltzmann Machines, DBM)
  • 9. 9/88 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 y x 監督式學習目標-資料估計  資料分佈 共有5筆資料 資料分佈如右圖的藍點  函式方法 f(X) = 估計值  函式目標 最小化 ||估計值 – Y||2 想像有一個f(X)函式(即估計值)的存在,可以讓 每個點(以藍色表示)到迴歸線之間的距離最小, 誤差最小(最小化 ||估計值 – Y||2) X Y 最理想 估計值 0.1 0.3 0.3 0.2 0.4 0.4 0.3 0.5 0.5 0.4 0.6 0.6 0.5 0.7 0.7
  • 11. 11/88 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 y x 線性迴歸-線性資料分析  原始資料和估計資料  線性迴歸 線性函式 機器學習後結果 X Y 估計值 0.1 0.3 0.3 0.2 0.4 0.4 0.3 0.5 0.5 0.4 0.6 0.6 0.5 0.7 0.7 迴歸線(以紅色表示)為 bxwy  2.01  xy 2.01  xy
  • 13. 13/88 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 y x 線性迴歸-非線性資料分析  原始資料和估計資料  線性迴歸 線性函式 機器學習後結果 X Y 估計值 0.1 0.063 0.098 0.2 0.289 0.348 0.3 0.711 0.598 0.4 0.937 0.848 0.5 0.989 1.098 bxwy  1522.05.2  xy 15218.049994.2  xy 線性迴歸無法得到 非線性的解 迴歸線(以紅色表示)為 1522.05.2  xy
  • 15. 15/88 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 y x 邏輯迴歸-線性資料分析  原始資料和估計資料  邏輯迴歸 S型函式 機器學習後結果 X Y 估計值 0.1 0.3 0.3 0.2 0.4 0.4 0.3 0.5 0.5 0.4 0.6 0.6 0.5 0.7 0.7 迴歸線(以紅色表示)為     z e zSigmoid xSigmoidy     1 1 25761.119202.4 邏輯迴歸也能得到 接近線性的解     z e zSigmoid xSigmoidy     1 1 25761.119202.4     z e zSigmoid bxwSigmoidy     1 1
  • 17. 17/88 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 y x 邏輯迴歸-非線性資料分析  原始資料和估計資料  邏輯迴歸 S型函式 機器學習後結果 X Y 估計值 0.1 0.063 0.063 0.2 0.289 0.289 0.3 0.711 0.711 0.4 0.937 0.937 0.5 0.989 0.989 迴歸線(以紅色表示)為     z e zSigmoid xSigmoidy     1 1 4.50029-18.00114 邏輯迴歸也能得到 非線性的解     z e zSigmoid xSigmoidy     1 1 4.50029-18.00114     z e zSigmoid bxwSigmoidy     1 1
  • 18. 18/88 邏輯迴歸-參數有交互影響  迴歸方法計算 線性迴歸 邏輯迴歸  迴歸方法限制 權重和參數直接相乘加權計算 假設參數之間互相獨立 當參數有交互影響時將會不準 bxwxwy  2211   z e zSigmoidy bxwxwz     1 1 2211  迴歸方法不適合的例子 XOR (互斥或)計算 X1和X2正相關時Y為0 X1和X2負相關時Y為1 X1 X2 Y 0 0 0 0 1 1 1 0 1 1 1 0 機器學習無法學會 XOR,所以權重皆接 近為0,全部猜0.5
  • 21. 21/88     79942.1535272.1724345.17 212  xxSigmoidh 神經網路-參數有交互影響  原始資料和估計資料  神經網路(多層邏輯迴歸) 加入隱藏層 S型函式 X1 X2 Y 估計值 0 0 0 0 0 1 1 1 1 0 1 1 1 1 0 0   50235.138298.2744217.27 211  xxSigmoidh  當參數有交互影響時,只有一層迴 歸函式(即input直接對到output)將 會不準  可以多加入一層隱藏層,隱藏層中 有2個神經元,透過隱藏層神經元 來分析input參數之間的交互關係  輸入層和隱藏層之間可採用邏輯迴 歸計算,隱藏層和輸出層之間可採 用邏輯迴歸計算 h1 h2 輸入層 隱藏層 輸出層  70275.2379942.1589731.15 21  hhSigmoidy
  • 23. 23/88 監督式學習-小結與討論  小結與討論  適用情境  運算時間 線性迴歸 < 邏輯迴歸 < 神經網路 適用情境 線性迴歸 邏輯迴歸 神經網路 線性問題 V V V 非線性問題 V V 因子間獨立 V V V 因子間相依 V
  • 25. 25/88 監督式學習-鳶尾花案例說明  輸入資料說明  輸出資料說明 欄位名稱 欄位說明 Sepal.Length 花萼長度 Sepal.Width 花萼寬度 Petal.Length 花瓣長度 Petal.Width 花瓣寬度 欄位名稱 欄位說明 Species 第1~50筆為setosa 第51~100筆為versicolor 第101~150筆為virginica 此例主要判斷是否為virginica, 故將第1~100筆標註為0, 並將第101~150筆標註為1 Sepal.Length Sepal.Width Petal.Length Petal.Width Sepal.Length 1.000 0.457 0.864 0.281 Sepal.Width 0.457 1.000 0.401 0.538 Petal.Length 0.864 0.401 1.000 0.322 Petal.Width 0.281 0.538 0.322 1.000 Sepal.Length Sepal.Width Petal.Length Petal.Width Sepal.Length 1.000 -0.206 0.812 0.790 Sepal.Width -0.206 1.000 -0.603 0.538 Petal.Length 0.812 -0.603 1.000 0.979 Petal.Width 0.790 0.538 0.979 1.000 Virginica之各筆資料的各欄位組合相關係數 非Virginica之各筆資料的各欄位組合相關係數 相關係數在不同類別為 一正一負,具交互影響 IRIS資料集部分內容
  • 27. 27/88 監督式學習-鳶尾花案例說明  各個方法正確率比較 線性迴歸 邏輯迴歸 神經網路 正確率 92.67% 98.00% 99.33% 神經網路 線性迴歸 邏輯迴歸
  • 29. 29/88   19997.0 00968.0 00969.1 2 1   x xy 監督式學習-相同/相似維度  原始資料和估計資料  線性迴歸 線性函式 機器學習後結果 X1 X2 Y 估計值 0.1 0.1 0.3 0.3 0.2 0.2 0.4 0.4 0.3 0.3 0.5 0.5 0.4 0.4 0.6 0.6 0.5 0.5 0.7 0.7 bxwxwy  2211  當n個inputs參數(即n維資料維度, n個X)且僅有1個output參數(即1個 Y)時,會搭配n個權重值,再加1個 Bias  以此例而言,當X1 = X2時,則權 重組合可以有無限多組解,例如: • w1 = 1.00969, w2 = -0.00968 • w1 = 1, w2 = 0 • w1 = 0, w2 = 1 • w1 = 0.5, w2 = 0.5 X1和X2在表達 同一事實,可以 降維為1個維度
  • 30. 30/88 監督式學習-相同/相似維度  原始資料和估計資料  邏輯迴歸 S型函式 機器學習後結果     z e zSigmoidy x xz       1 1 25689.1 .586211 60448.2 2 1 X1 X2 Y 估計值 0.1 0.1 0.3 0.3 0.2 0.2 0.4 0.4 0.3 0.3 0.5 0.5 0.4 0.4 0.6 0.6 0.5 0.5 0.7 0.7  當n個inputs參數(即n維資料維度, n個X)且僅有1個output參數(即1個 Y)時,會搭配n個權重值,再加1個 Bias  以此例而言,當X1 = X2時,則權 重組合可以有無限多組解,例如: • w1 = 2.60448, w2 = 1.58621 • w1 = 4.19025, w2 = 0 • w1 = 0, w2 = 4.19025 • w1 = 4, w2 = 0.19025   z e zSigmoidy bxwxwz     1 1 2211 X1和X2在表達 同一事實,可以 降維為1個維度
  • 32. 32/88 非監督式學習目標-資料降維  資料分佈 共有5筆資料 資料分佈如右圖的藍點  函式方法 f(X) = 估計值  函式目標(以PCA為例) 最大化 估計值變異數 X1 X2 降維後 估計值 0.1 0.1 -0.28284 0.2 0.2 -0.14142 0.3 0.3 0 0.4 0.4 0.14142 0.5 0.5 0.28284 0 0.1 0.2 0.3 0.4 0.5 0.6 0 0.1 0.2 0.3 0.4 0.5 0.6 x2 x1 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0 1 2 3 4 5 6 PC1 Index 目標為降維後估計值 變異數最大化,並期 望可保持原本分佈, 足以代表原本的資料
  • 34. 34/88 0.7071 0.7071 PC1 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0 1 2 3 4 5 6 PC1 Index 主成份分析-線性資料分析  原始資料和估計資料  主成份分析 線性函式 機器學習後結果 降維後估計值為    222111 xxwxxwPC  X1 X2 降維後 估計值 0.1 0.1 -0.28284 0.2 0.2 -0.14142 0.3 0.3 0 0.4 0.4 0.14142 0.5 0.5 0.28284    2211 0.70710.7071 xxxxPC     2211 0.70710.7071 xxxxPC 
  • 36. 36/88 0.8551 0.5184 PC1 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0 1 2 3 4 5 6 PC1 Index 主成份分析-非線性資料分析  原始資料和估計資料  主成份分析 線性函式 機器學習後結果 降維後估計值為    222111 xxwxxwPC  X1 X2 降維後 估計值 0.1 0.01 -0.22287 0.2 0.04 -0.12180 0.3 0.09 -0.01037 0.4 0.16 0.11143 0.5 0.25 0.24360    2211 0.51840.8551 xxxxPC     2211 0.51840.8551 xxxxPC  主成份分析無法得到 非線性的解
  • 38. 38/88 0.995 0.9955 0.996 0.9965 0.997 0.9975 0.998 0.9985 0 1 2 3 4 5 6 h Index -1.2775 -1.2775 h 6.6467 受限波茲曼機-線性資料分析  原始資料和估計資料  受限波茲曼機 S型函式 機器學習後結果 降維後估計值為 X1 X2 降維後 估計值 0.1 0.1 0.9983 0.2 0.2 0.9978 0.3 0.3 0.9972 0.4 0.4 0.9964 0.5 0.5 0.9954        z e zSigmoid xxSigmoidh     1 1 6467.62775.12775.1 21     z e zSigmoid bxwxwSigmoidh     1 1 2211        z e zSigmoid xxSigmoidh     1 1 6467.62775.12775.1 21
  • 40. 40/88 0.955 0.96 0.965 0.97 0.975 0.98 0.985 0.99 0 1 2 3 4 5 6 h Index 0.995 0.9955 0.996 0.9965 0.997 0.9975 0.998 0.9985 0 1 2 3 4 5 6 h Index -1.2775 -1.2775 h 6.6467 受限波茲曼機-非線性資料分析  原始資料和估計資料  受限波茲曼機 S型函式 機器學習後結果 X1 X2 降維後 估計值 0.1 0.01 0.9848 0.2 0.04 0.9813 0.3 0.09 0.9761 0.4 0.16 0.9684 0.5 0.25 0.9568        z e zSigmoid xxSigmoidh     1 1 6467.62775.12775.1 21     z e zSigmoid bxwxwSigmoidh     1 1 2211 降維後估計值為        z e zSigmoid xxSigmoidh     1 1 6467.62775.12775.1 21 受限波茲曼機能得到 非線性的解
  • 41. 41/88 0.0001 -14.9537 h 7.4538 受限波茲曼機-參數有交互影響  PCA和RBM計算 主成份分析 受限波茲曼機  PCA和RBM限制 權重和參數直接相乘加權計算 假設參數之間互相獨立 當參數有交互影響時將會不準 2211 xwxwPC    z e zSigmoidh bxwxwz     1 1 2211  PCA和RBM不適合的例子 XOR (互斥或)計算 X1和X2正相關時Y為0 X1和X2負相關時Y為1 X1 X2 降維後估計值 0 0 0.9994 0 1 0.0006 1 0 0.9994 1 1 0.0006 機器學習無法學會 XOR,降維後完全只 參考X2的值
  • 43. 43/88 5.7674 5.3388 -5.5738 35.6829 3.8290 -17.6578-1.9017 X2' X1'     6578.176829.35'1  hSigmoidx 自動編碼器-參數有交互影響  原始資料和估計資料  自動編碼器(多層邏輯迴歸) 加入隱藏層作為降維後資料 輸入層到隱藏層為編碼(encode) 隱藏層到輸出層為解碼(decode) 令輸出層的值與輸入層的值一樣 S型函式 X1 X2 降維後估計值 0 0 0.0038 0 1 0.4415 1 0 0.5483 1 1 0.9961   5738.53389.57674.5 21  xxSigmoidh  當參數有交互影響時,只有一層迴 歸函式(即input直接對到output)將 會不準  可以多加入一層隱藏層,透過隱藏 層神經元來分析input參數之間的交 互關係  輸入層和隱藏層之間可採用邏輯迴 歸計算,隱藏層和輸出層之間可採 用邏輯迴歸計算 h encode decode     9017.18290.3'2  hSigmoidx 可區分出4個值,代表降 維後仍可表述原本資料
  • 44. 44/88 自動編碼器-程式實作  運用SANET.train函式,設定相關參數,訓練自動編碼器 載入SAENET和 autoencoder函式庫 呼 叫 SAENET.train 函 式 , 訓練自動編碼器 設定降到1維,最多訓練 回合數為2000 輸出降維後結果
  • 45. 45/88 非監督式學習-方法比較  各種方法降維後結果(參數有交互影響) -0.5 0 0.5 1 2 3 4 PC1 Index 主成份分析 0 0.5 1 1 2 3 4 h Index 自動編碼器 0 0.5 1 1 2 3 4 h Index 受限波茲曼機 0 1 0 1 X2 X1 原始資料 經主成份分析降維後資 料,無法表述原始資料 第1、2筆資料視為同1筆 第3、4筆資料視為同1筆 經受限波茲曼機降維後資 料,無法表述原始資料 第1、3筆資料視為同1筆 第2、4筆資料視為同1筆 經自動編碼器降 維後資料,較不 會造成資料失真, 可表述原始資料
  • 46. 46/88 非監督式學習-小結與討論  小結與討論  適用情境  運算時間 主成份分析<受限波茲曼機 主成份分析<自動編碼器 適用情境 主成份分析 受限波茲曼機 自動編碼器 線性問題 V V V 非線性問題 V V 因子間獨立 V V V 因子間相依 V
  • 48. 48/88 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0 0.1 0.2 0.3 0.4 0.5 0.6 h2 h1 自動編碼器 setosa versicolor virginica 0.56 0.57 0.58 0.59 0.6 0.61 0.62 0.55 0.6 0.65 0.7 0.75 h2 h1 受限波茲曼機 setosa versicolor virginica -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.7 -0.5 -0.3 -0.1 0.1 0.3 0.5 0.7 PC2 PC1 主成份分析 setosa versicolor virginica 非監督式學習-鳶尾花案例說明  各種方法降維後結果比較 經主成份分析降維 後資料,不同類別 重疊面積較大 經受限波茲曼機降維後資 料,仍有不少資料重疊 經自動編碼器降維 後資料,有些許資 料重疊
  • 56. 56/88 卷積神經網路  深度的意涵? 原始資料 卷積層1 過濾器 分析結果 直線 橫線 正斜線 反斜線 弧線 曲線 有/無 直線 有/無 橫線 有/無 正斜線 有/無 反斜線 有/無 弧線 有/無 曲線 卷積層2 過濾器 分析結果 直線 橫線 正斜線 反斜線 弧線 曲線 有/無 正方形 有/無 長方形 有/無 三角形 有/無 菱形 有/無 圓形 有/無 橢圓形 卷積層3 過濾器 分析結果 直線 橫線 正斜線 反斜線 弧線 曲線 有/無 立方體 有/無 長方體 有/無 錐體 有/無 菱面體 有/無 球體 有/無 橢球體 神經網路 是否為 拱橋 是否為 湖泊 是否為 彩虹 是否為 中華電 Logo 第1層可找出 線條特徵 第2層可找出 平面特徵 第3層可找出 立體特徵
  • 57. 57/88 卷積神經網路  為什麼傳統神經網路較難解決空間相依性問題?  直接把像素值攤開,不易取得特徵  直接從像素值對應到分類結果,不易學習  卷積神經網路的優勢  運用過濾器分析空間特徵 如:直線、橫線、斜線、曲線  運用多層卷積層拆解不同維度空間特徵 如:線段、平面、立體、外觀  最後再依拆解出特徵對應到分類結果 神經網路 A B … 輸入層 隱藏層 輸出層 傳統神經網路不易 分析出神經元3和 神經元8是斜線關聯 傳統神經網路把每 個像素值攤開來看, 不易分析特徵 模仿人類辨識物件的方式,先拆解出外觀特徵,再從 外觀特徵來評估目標物件的類別
  • 59. 59/88  原始資料  資料分佈  修整後資料(修整為2筆資料) 遞歸神經網路 0 0.2 0.4 0.6 0.8 1 1 2 3 4 5 6 7 8 Value Time X Y  隨時間變化,X和Y皆為三角形波形  在此例中,X和Y同時存在正相關和負 相關,故一般神經網路無法學會此現 象,將全部猜0.5  X和Y部分資料(如Time 1 → 2)為 正相關  X和Y部分資料(如Time 2 → 3)為 正相關  資料觀察發現X和Y每4個時間單位為 一個循環,可視為2筆資料進行學習 X t1 t2 t3 t4 第1筆 0.5 1 0.5 0 第2筆 0.51 1 0.51 0 Y t1 t2 t3 t4 第1筆 0 0.5 1 0.5 第2筆 0 0.5 1 0.5 輸入資料 輸出資料 由資料觀察可知每4個 時間單位為一個循環 Time X Y 1 0.5 0 2 1 0.5 3 0.5 1 4 0 0.5 5 0.5 0 6 1 0.5 7 0.5 1 8 0 0.5 X為0.5時,Y一半為0,另一半為1 只用「當下」的X值無法估計Y
  • 60. 60/88 遞歸神經網路  輸入資料(X)  估計資料(Y’)  輸出資料(Y)  先前狀態神經元暫存值 X t1 t2 t3 t4 第1筆 0.5 1 0.5 0 第2筆 0.51 1 0.51 0 Y’ t1 t2 t3 t4 第1筆 0.04 0.51 0.91 0.51 第2筆 0.04 0.51 0.90 0.52 Y t1 t2 t3 t4 第1筆 0 0.5 1 0.5 第2筆 0 0.5 1 0.5 神經元1 神經元2 神經元3 神經元4 0 0 0 0  建立具有一隱藏層之遞歸神經網路  隱藏層神經元4個 YY XX 先前狀態神經元暫存值先前狀態神經元暫存值 2.782 0.5 0.043 1.543 -2.305 -1.952  先前狀態神經元暫存值(更新後)       801.01 952.10305.20 543.10043.00 782.25.0     zSigmoid z 神經元 神經元1 神經元2 神經元3 神經元4 0.801 0 0 0 第1筆t1輸入至遞歸神經網路, 計算神經元1 乘上權重後, 再代入S型函數 t1資料
  • 61. 61/88 遞歸神經網路  輸入資料(X)  估計資料(Y’)  輸出資料(Y)  先前狀態神經元暫存值 X t1 t2 t3 t4 第1筆 0.5 1 0.5 0 第2筆 0.51 1 0.51 0 Y’ t1 t2 t3 t4 第1筆 0.04 0.51 0.91 0.51 第2筆 0.04 0.51 0.90 0.52 Y t1 t2 t3 t4 第1筆 0 0.5 1 0.5 第2筆 0 0.5 1 0.5 神經元1 神經元2 神經元3 神經元4 0 0 0 0  建立具有一隱藏層之遞歸神經網路  隱藏層神經元4個 YY XX 先前狀態神經元暫存值先前狀態神經元暫存值 0.386 0.5 -3.060 0.323 -0.019 0.220  先前狀態神經元暫存值(更新後)       548.02 220.00019.00 323.00060.30 386.05.0     zSigmoid z 神經元 神經元1 神經元2 神經元3 神經元4 0.801 0.548 0 0 第1筆t1輸入至遞歸神經網路, 計算神經元2 乘上權重後, 再代入S型函數 t1資料
  • 62. 62/88 遞歸神經網路  輸入資料(X)  估計資料(Y’)  輸出資料(Y)  先前狀態神經元暫存值 X t1 t2 t3 t4 第1筆 0.5 1 0.5 0 第2筆 0.51 1 0.51 0 Y’ t1 t2 t3 t4 第1筆 0.04 0.51 0.91 0.51 第2筆 0.04 0.51 0.90 0.52 Y t1 t2 t3 t4 第1筆 0 0.5 1 0.5 第2筆 0 0.5 1 0.5 神經元1 神經元2 神經元3 神經元4 0 0 0 0  建立具有一隱藏層之遞歸神經網路  隱藏層神經元4個 YY XX 先前狀態神經元暫存值先前狀態神經元暫存值 -0.125 0.5 1.297 1.149 1.461 0.400  先前狀態神經元暫存值(更新後)     484.03 400.00461.10 149.10297.10 125.05.0     zSigmoid z 神經元 神經元1 神經元2 神經元3 神經元4 0.801 0.548 0.484 0 第1筆t1輸入至遞歸神經網路, 計算神經元3 乘上權重後, 再代入S型函數 t1資料
  • 63. 63/88 遞歸神經網路  輸入資料(X)  估計資料(Y’)  輸出資料(Y)  先前狀態神經元暫存值 X t1 t2 t3 t4 第1筆 0.5 1 0.5 0 第2筆 0.51 1 0.51 0 Y’ t1 t2 t3 t4 第1筆 0.04 0.51 0.91 0.51 第2筆 0.04 0.51 0.90 0.52 Y t1 t2 t3 t4 第1筆 0 0.5 1 0.5 第2筆 0 0.5 1 0.5 神經元1 神經元2 神經元3 神經元4 0 0 0 0  建立具有一隱藏層之遞歸神經網路  隱藏層神經元4個 YY XX 先前狀態神經元暫存值先前狀態神經元暫存值 0.338 0.5 1.886 1.334 -0.529 0.589  先前狀態神經元暫存值(更新後)     542.04 589.00529.00 334.10886.10 338.05.0     zSigmoid z 神經元 神經元1 神經元2 神經元3 神經元4 0.801 0.548 0.484 0.542 第1筆t1輸入至遞歸神經網路, 計算神經元4 乘上權重後, 再代入S型函數 t1資料
  • 64. 64/88 遞歸神經網路  輸入資料(X)  估計資料(Y’)  輸出資料(Y)  先前狀態神經元暫存值 X t1 t2 t3 t4 第1筆 0.5 1 0.5 0 第2筆 0.51 1 0.51 0 Y’ t1 t2 t3 t4 第1筆 0.04 0.51 0.91 0.51 第2筆 0.04 0.51 0.90 0.52 Y t1 t2 t3 t4 第1筆 0 0.5 1 0.5 第2筆 0 0.5 1 0.5 神經元1 神經元2 神經元3 神經元4 0 0 0 0  建立具有一隱藏層之遞歸神經網路  隱藏層神經元4個 YY XX 先前狀態神經元暫存值先前狀態神經元暫存值 -2.934  先前狀態神經元暫存值(更新後)       04.0' 819.1542.0543.1.4840 752.4548.0934.2801.0    zSigmoidY z 神經元1 神經元2 神經元3 神經元4 0.801 0.548 0.484 0.542 將隱藏層神經元乘上權重和 代入S型函式計算估計資料Y’ 乘上權重後, 再代入S型函數 -4.752 1.543 1.819 t1資料
  • 65. 65/88 遞歸神經網路  輸入資料(X)  估計資料(Y’)  輸出資料(Y)  先前狀態神經元暫存值 X t1 t2 t3 t4 第1筆 0.5 1 0.5 0 第2筆 0.51 1 0.51 0 Y’ t1 t2 t3 t4 第1筆 0.04 0.51 0.91 0.51 第2筆 0.04 0.51 0.90 0.52 Y t1 t2 t3 t4 第1筆 0 0.5 1 0.5 第2筆 0 0.5 1 0.5 神經元1 神經元2 神經元3 神經元4 0.801 0.548 0.484 0.542  建立具有一隱藏層之遞歸神經網路  隱藏層神經元4個 YY XX 先前狀態神經元暫存值先前狀態神經元暫存值 將隱藏層神經元資料暫存起來 直接複製填入  先前狀態神經元暫存值(更新後) 神經元1 神經元2 神經元3 神經元4 0.801 0.548 0.484 0.542
  • 66. 66/88 遞歸神經網路  輸入資料(X)  估計資料(Y’)  輸出資料(Y)  先前狀態神經元暫存值 X t1 t2 t3 t4 第1筆 0.5 1 0.5 0 第2筆 0.51 1 0.51 0 Y’ t1 t2 t3 t4 第1筆 0.04 0.51 0.91 0.51 第2筆 0.04 0.51 0.90 0.52 Y t1 t2 t3 t4 第1筆 0 0.5 1 0.5 第2筆 0 0.5 1 0.5 神經元1 神經元2 神經元3 神經元4 0.801 0.548 0.484 0.542  建立具有一隱藏層之遞歸神經網路  隱藏層神經元4個 YY XX 先前狀態神經元暫存值先前狀態神經元暫存值 2.782 1 0.043 1.543 -2.305 -1.952  先前狀態神經元暫存值(更新後)       168.01 952.1.5420305.2.4840 543.1.5480043.0.8010 782.21     zSigmoid z 神經元 神經元1 神經元2 神經元3 神經元4 0.816 0.548 0.484 0.542 第1筆t2輸入至遞歸神經網路, 計算神經元1 乘上權重後, 再代入S型函數 t2資料
  • 67. 67/88 遞歸神經網路  輸入資料(X)  估計資料(Y’)  輸出資料(Y)  先前狀態神經元暫存值 X t1 t2 t3 t4 第1筆 0.5 1 0.5 0 第2筆 0.51 1 0.51 0 Y’ t1 t2 t3 t4 第1筆 0.04 0.51 0.91 0.51 第2筆 0.04 0.51 0.90 0.52 Y t1 t2 t3 t4 第1筆 0 0.5 1 0.5 第2筆 0 0.5 1 0.5 神經元1 神經元2 神經元3 神經元4 0.801 0.548 0.484 0.542  建立具有一隱藏層之遞歸神經網路  隱藏層神經元4個 YY XX 先前狀態神經元暫存值先前狀態神經元暫存值 0.386 1 -3.060 0.323 -0.019 0.220  先前狀態神經元暫存值(更新後)       145.02 220.0.5420019.0.4840 323.0.5480060.3.8010 386.01     zSigmoid z 神經元 神經元1 神經元2 神經元3 神經元4 0.816 0.145 0.484 0.542 第1筆t2輸入至遞歸神經網路, 計算神經元2 乘上權重後, 再代入S型函數 t2資料
  • 68. 68/88 遞歸神經網路  輸入資料(X)  估計資料(Y’)  輸出資料(Y)  先前狀態神經元暫存值 X t1 t2 t3 t4 第1筆 0.5 1 0.5 0 第2筆 0.51 1 0.51 0 Y’ t1 t2 t3 t4 第1筆 0.04 0.51 0.91 0.51 第2筆 0.04 0.51 0.90 0.52 Y t1 t2 t3 t4 第1筆 0 0.5 1 0.5 第2筆 0 0.5 1 0.5 神經元1 神經元2 神經元3 神經元4 0.801 0.548 0.484 0.542  建立具有一隱藏層之遞歸神經網路  隱藏層神經元4個 YY XX 先前狀態神經元暫存值先前狀態神經元暫存值 -0.125 1 1.297 1.149 1.461 0.400  先前狀態神經元暫存值(更新後)     922.03 400.0.5420461.1.4840 149.1.5480297.1.8010 125.01     zSigmoid z 神經元 神經元1 神經元2 神經元3 神經元4 0.816 0.145 0.922 0.542 第1筆t2輸入至遞歸神經網路, 計算神經元3 乘上權重後, 再代入S型函數 t2資料
  • 69. 69/88 遞歸神經網路  輸入資料(X)  估計資料(Y’)  輸出資料(Y)  先前狀態神經元暫存值 X t1 t2 t3 t4 第1筆 0.5 1 0.5 0 第2筆 0.51 1 0.51 0 Y’ t1 t2 t3 t4 第1筆 0.04 0.51 0.91 0.51 第2筆 0.04 0.51 0.90 0.52 Y t1 t2 t3 t4 第1筆 0 0.5 1 0.5 第2筆 0 0.5 1 0.5 神經元1 神經元2 神經元3 神經元4 0.801 0.548 0.484 0.542  建立具有一隱藏層之遞歸神經網路  隱藏層神經元4個 YY XX 先前狀態神經元暫存值先前狀態神經元暫存值 0.338 1 1.886 1.334 -0.529 0.589  先前狀態神經元暫存值(更新後)     934.04 589.0.5420529.0.4840 334.1.5480886.1.8010 338.01     zSigmoid z 神經元 神經元1 神經元2 神經元3 神經元4 0.816 0.145 0.922 0.934 第1筆t2輸入至遞歸神經網路, 計算神經元4 乘上權重後, 再代入S型函數 t2資料
  • 70. 70/88 遞歸神經網路  輸入資料(X)  估計資料(Y’)  輸出資料(Y)  先前狀態神經元暫存值 X t1 t2 t3 t4 第1筆 0.5 1 0.5 0 第2筆 0.51 1 0.51 0 Y’ t1 t2 t3 t4 第1筆 0.04 0.51 0.91 0.51 第2筆 0.04 0.51 0.90 0.52 Y t1 t2 t3 t4 第1筆 0 0.5 1 0.5 第2筆 0 0.5 1 0.5 神經元1 神經元2 神經元3 神經元4 0.801 0.548 0.484 0.542  建立具有一隱藏層之遞歸神經網路  隱藏層神經元4個 YY XX 先前狀態神經元暫存值先前狀態神經元暫存值 -2.934  先前狀態神經元暫存值(更新後)       51.0' 819.1934.0543.1.9220 752.4145.0934.2168.0    zSigmoidY z 神經元1 神經元2 神經元3 神經元4 0.816 0.145 0.922 0.934 將隱藏層神經元乘上權重和 代入S型函式計算估計資料Y’ 乘上權重後, 再代入S型函數 -4.752 1.543 1.819 t2資料
  • 71. 71/88 遞歸神經網路  輸入資料(X)  估計資料(Y’)  輸出資料(Y)  先前狀態神經元暫存值 X t1 t2 t3 t4 第1筆 0.5 1 0.5 0 第2筆 0.51 1 0.51 0 Y’ t1 t2 t3 t4 第1筆 0.04 0.51 0.91 0.51 第2筆 0.04 0.51 0.90 0.52 Y t1 t2 t3 t4 第1筆 0 0.5 1 0.5 第2筆 0 0.5 1 0.5 神經元1 神經元2 神經元3 神經元4 0.816 0.145 0.922 0.934  建立具有一隱藏層之遞歸神經網路  隱藏層神經元4個 YY XX 先前狀態神經元暫存值先前狀態神經元暫存值 將隱藏層神經元資料暫存起來 直接複製填入  先前狀態神經元暫存值(更新後) 神經元1 神經元2 神經元3 神經元4 0.816 0.145 0.922 0.934
  • 72. 72/88 遞歸神經網路  輸入資料(X)  估計資料(Y’)  輸出資料(Y) X t1 t2 t3 t4 第1筆 0.5 1 0.5 0 第2筆 0.51 1 0.51 0 Y’ t1 t2 t3 t4 第1筆 0.04 0.51 0.91 0.51 第2筆 0.04 0.51 0.90 0.52 Y t1 t2 t3 t4 第1筆 0 0.5 1 0.5 第2筆 0 0.5 1 0.5  依此類推,估計t3和t4資料  計算第2筆時將「先前狀態神經元暫存值」 歸0,並估計t1~t4資料 0 0.2 0.4 0.6 0.8 1 1 2 3 4 5 6 7 8 Value Time X Y' Y 估計結果  將X輸入至遞歸神經網路後,得到估計值Y’  估計值Y’和真值Y的資料趨勢非常近似  遞歸神經網路可學習依時間變化 的趨勢  需先觀察資料變化週期,遞歸神 經網路可學習週期內的資料變化 趨勢
  • 73. 73/88 遞歸神經網路-程式實作  運用trainr函式,設定相關參數,訓練遞歸神經網路 載入rnn函式庫 呼叫trainr函式,訓練 遞歸神經網路  設定網路類型為rnn  設定隱藏層神經元數 為4  設 定 訓 練 回 合 數 為 20000 讀入資料來源 設定亂數種子 呼叫predictr函式, 進行資料估計
  • 75. 75/88 過適問題  原始資料 X1 X2 Y 0.111111 0.111111 0 0.111111 0.333333 0 0.111111 0.555556 0 0.111111 0.777778 0 0.333333 0.111111 0 0.333333 0.333333 0 0.333333 0.555556 0 0.333333 0.777778 0 0.555556 0.111111 0 0.555556 0.333333 0 0.777778 0.111111 0 0.777778 0.333333 0 0.333333 0.444444 1 0.333333 1 1 0.555556 1 1 0.555556 0.777778 1 0.777778 1 1 0.777778 0.777778 1 0.777778 0.555556 1 1 1 1 1 0.777778 1 1 0.555556 1 1 0.333333 1 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 X2 X1 原始資料(僅有少量資料樣本)  當資料收集不夠齊全時,學習過程 中的過適(Overfitting)問題,可能造 成「偏見」的現象  此例中,‘1’類別中有1筆資料可能為 異常值(Outlier)落在‘0’類別的區域 中,這筆資料將可能讓機器學習到 「偏見」 用藍色標記為‘0’類別 用紅色標記為‘1’類別 該筆資料可能為‘1’類別的 異常值(Outlier),學習過 程將可能學到此異常資訊
  • 76. 76/88 過適問題  神經網路  網路結構 採用兩層隱藏層 每層隱藏層各2個神經元 運用S型函式作為激活函式  學習結果 訓練資料分類正確率100% 神經網路對訓練資料充分學習 ,即使是異常值也將一併學習 分類器在‘0’類別區域(藍色區) 中產生了一段‘1’類別區域(紅 色區)(即「偏見」);未來‘0’ 類別的資料落在此區域中,將 可能被誤判為‘1’類別的資料 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 X2 X1 神經網路學習結果 神經網路之網路結構 神經網路充分學習訓練資料,導 致異常值也學習了,產生「偏見」
  • 77. 77/88 過適問題  先「非監督式學習」,再「監督式學習」 ,可能避免過適問題  整體流程  主成份分析(PCA)+神經網路  受限波茲曼機(RBM)+神經網路 原始資料 非監督式學習 監督式學習 估計結果 (分類結果) 原始資料 主成份分析 神經網路 估計結果 (分類結果) 原始資料 受限波茲曼機 神經網路 估計結果 (分類結果)
  • 78. 78/88 過適問題 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 X2 X1 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 X2 X1 受限波茲曼機+神經網路學習結果 受限波茲曼機降為1維後輸入至神經網路 主成份分析+神經網路學習結果 主成份分析降為1維後輸入至神經網路 結合主成份分析和神經網路,將 可以避免過適問題
  • 80. 80/88 0 0.05 0.1 0.15 0.2 0.25 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 F w 梯度下降法概念  如何找曲線的相對低點?  如何讓w值向相對低點邁進? 0 0.05 0.1 0.15 0.2 0.25 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 F w     25.0 5.0 2 2   ww wwF 12    w w F 當w=0時,斜率為-1 當w=1時,斜率為1 斜率絕對值越大,則 所需修正幅度越大 當w=0.5時,斜率為0 斜率為0時,代表為相 對低點,不需修正 目標函式 函式切線斜率 當w=0.25時,斜率為-0.5 所需修正幅度較小 w=0.5時, F函式相對低點 對w微分 F函式之一階導函數 Iteration w F 1 0.000 0.250 -0.100 2 0.100 0.160 -0.080 3 0.180 0.102 -0.064 4 0.244 0.066 -0.051 5 0.295 0.042 -0.041 6 0.336 0.027 -0.033 7 0.369 0.017 -0.026 8 0.395 0.011 -0.021 9 0.416 0.007 -0.017 10 0.433 0.005 -0.013  12     ww w F ww   為學習率 避免一次跳太遠  1.0  12 w 用前一個Iteration 的w值減去斜率為 新的w值 當經過63個Interation 後,w值將修正為0.5, 並且不需再修正(收斂)   1.0 1021.00  w   18.0 11.021.01.0  w Iteration 2的w值 Iteration 3的w值
  • 81. 81/88 梯度下降法概念  學習率的作用? 0 0.05 0.1 0.15 0.2 0.25 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 F w Iteration w F 1 0.000 0.250 -1.000 2 1.000 0.250 1.000 3 0.000 0.250 -1.000 4 1.000 0.250 1.000 5 0.000 0.250 -1.000 6 1.000 0.250 1.000 7 0.000 0.250 -1.000 8 1.000 0.250 1.000 9 0.000 0.250 -1.000 10 1.000 0.250 1.000 Iteration w F 1 0.000 0.250 -0.900 2 0.900 0.160 0.720 3 0.180 0.102 -0.576 4 0.756 0.066 0.461 5 0.295 0.042 -0.369 6 0.664 0.027 0.295 7 0.369 0.017 -0.236 8 0.605 0.011 0.189 9 0.416 0.007 -0.151 10 0.567 0.005 0.121 0 0.05 0.1 0.15 0.2 0.25 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 F w 學習率 為1 學習率 為0.9  12 w  12 w    12  www  129.0  www 學習率過大, w在0和1兩個值之 間擺盪,無法收斂 學習率大時,擺盪 幅度較大 在複雜的情境中可 能錯過全域最佳解 經過63個Interation 後收斂
  • 82. 82/88 0 0.5 1 1.5 2 2.5 3 3.5 4 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 F w 梯度下降法概念  多個參數之目標函式     22 2 2 , bwbw bwbwF   目標函式 bw w F 22    函式切線斜率(對w偏微分) bw b F 22    函式切線斜率(對b偏微分) w修正方式 b修正方式  bww w F ww 22       bwb b F bb 22      w+b=0時, F函式相對低點 學習率 為0.1    bwbb bwww 221.0 221.0   經過17個Interation 後收斂 Iteration w b F 1 1.000 1.000 4.000 0.400 2 0.600 0.600 1.440 0.240 3 0.360 0.360 0.518 0.144 4 0.216 0.216 0.187 0.086 5 0.130 0.130 0.067 0.052 6 0.078 0.078 0.024 0.031 7 0.047 0.047 0.009 0.019 8 0.028 0.028 0.003 0.011 9 0.017 0.017 0.001 0.007 10 0.010 0.010 0.000 0.004  bw 22  w=0且b=0
  • 83. 83/88 0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1 F w 梯度下降法概念  多個參數之目標函式     22 2 2 , bwbw bwbwF   目標函式 bw w F 22    函式切線斜率(對w偏微分) bw b F 22    函式切線斜率(對b偏微分) w修正方式 b修正方式  bww w F ww 22       bwb b F bb 22      學習率 為0.1    bwbb bwww 221.0 221.0   經過13個Interation 後收斂 Iteration w b F 1 1.000 -0.800 0.040 0.040 2 0.960 -0.840 0.014 0.024 3 0.936 -0.864 0.005 0.014 4 0.922 -0.878 0.002 0.009 5 0.913 -0.887 0.001 0.005 6 0.908 -0.892 0.000 0.003 7 0.905 -0.895 0.000 0.002 8 0.903 -0.897 0.000 0.001 9 0.902 -0.898 0.000 0.001 10 0.901 -0.899 0.000 0.000  bw 22   w+b=0有無限多組解: • w = 0, b = 0 • w = 0.9, b = -0.9 • w = 1, b = -1 w=0.9且b=-0.9
  • 84. 84/88 梯度下降法概念  梯度下降法應用於線性迴歸之權重和誤差項 bxwy  線性迴歸函式 (真值) bxwy ˆˆˆ     2 ˆˆ,ˆ yybwF                 12 ˆ ˆˆ ˆ2 ˆ ˆ ˆ2 ˆ ˆ ˆ 2              b bxwbxw yy b yy yy b yy b F 函式切線斜率(對 偏微分) 函式切線斜率(對 偏微分) 線性迴歸函式 (估計值) 目標函式 wˆ bˆ 修正方式 修正方式wˆ bˆ   xw w F ww      2ˆ ˆ ˆˆ   12ˆ ˆ ˆˆ      b b F bb 令    yy ˆ 令    yy ˆ Iteration x w b y F 1 0.10 1.00 0.00 0.10 0.50 0.50 0.55 0.20 0.06 0.63 2 0.20 1.00 0.00 0.20 0.44 -0.13 -0.04 0.06 -0.07 -0.34 3 0.30 1.00 0.00 0.30 0.50 0.21 0.36 0.00 0.03 0.09 4 0.40 1.00 0.00 0.40 0.48 0.12 0.32 0.01 -0.05 -0.12 5 0.50 1.00 0.00 0.50 0.53 0.24 0.51 0.00 0.00 0.01 6 0.10 1.00 0.00 0.10 0.52 0.23 0.29 0.03 0.03 0.26 7 0.20 1.00 0.00 0.20 0.50 -0.03 0.07 0.02 -0.04 -0.18 8 0.30 1.00 0.00 0.30 0.53 0.15 0.31 0.00 0.00 0.02 9 0.40 1.00 0.00 0.40 0.53 0.14 0.35 0.00 -0.03 -0.07 10 0.50 1.00 0.00 0.50 0.56 0.21 0.49 0.00 -0.01 -0.02 yˆwˆ bˆ   x 2   12  以 為例01  xy 0 0.05 0.1 0.15 0.2 0.25 0.4 0.5 0.6 0.7 0.8 0.9 1 F w wˆ 學習率 為0.7 經過770個Interation 後收斂                x w bxwbxw yy w yy yy w yy w F             2 ˆ ˆˆ ˆ2 ˆ ˆ ˆ2 ˆ ˆ ˆ 2
  • 85. 85/88  神經網路與神經元 梯度下降法證明 ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧  l z1  l z2  l iz  l sl z 1 +  l a1  l a2  l ia  l sl a  l jw ,1  l jiw ,  l jw ,2  l jSl w ,  l jb  1l jz  1l ja 第l層 第l+1層 第l+1層zj值(加權總和後)        l i s i l i l ji l j bawz l          1 , 1 第l+1層aj值(激活函式計算後)                        l i s i l i l ji l j bawga l 1 , 1 激活函式(activation function) 可為線性、S型函式、或其他   xxg    x e xg    1 1         0if,0 0if, x xx xg 線性函式 S型函式 ReLU函式
  • 86. 86/88 梯度下降法證明  監督式學習目標為最小化估計值與真實值之間的誤差(損失) 假設損失函式(loss function)為  為真實值, 為估計值 最小化損失函式,計算方式為對損失函式微分 由於損失函式為多參數組成之函式,故分別對不同參數做偏微分  對 值計算偏微分,取得第l層最小誤差  對 值計算偏微分,取得第l層最小誤差之最佳 值  對 值計算偏微分,取得第l層最小誤差之最佳 值  對 值計算偏微分之數學證明  yyF ˆ, y yˆ  l iz  l jiw ,  l jb  l jiw ,  l jb  l iz                                                                                  1 1 1 1 1 , 1 1, 1 1 1 l l l l s j l j l ji l i s j l j l j s k l k l jkl i l i l i s j l j l i l j l i l i l i l i wzg z F baw az a z F a z z a z F           0and otherwise,0 f,1 where           l i l j l i l k a bkii a a 損失函式示意圖 誤 差 或 損 失 全域最佳解 區域最佳解
  • 87. 87/88 梯度下降法證明  對 值計算偏微分之數學證明  對 值計算偏微分之數學證明  l jiw ,  l jb                      1 1, , 1 , 1 ,                                l j l i l j l j s k l k l jkl ji l j l ji l j l ji a z F baw w z F w z w F l          0and otherwise,0 f,1 where ,, ,           l ji l j l ji l jk w bkii w w                    1 1, 1 1                                l j l j l j s k l k l jkl j l j l j l j l j z F baw b z F b z b F l      0where ,    l i l jk b w      l ji l ji l ji w F ww , ,,     權重值修正      l j l j l j b F bb     誤差項值修正 為學習率 避免一次跳太遠, 而錯過全域最佳解  為學習率 避免一次跳太遠, 而錯過全域最佳解 