O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

深度學習方法與實作

1. 深度學習發展歷程
2. R語言簡介
3. 監督式學習(Supervised Learning)
3.1. 線性迴歸(Linear Regression)
3.2. 邏輯迴歸(Logistic Regression)
3.3. 神經網路(Neural Network, NN)
3.4. 鳶尾花(IRIS)案例說明
4. 非監督式學習(Unsupervised Learning)
4.1. 主成份分析(Principal Components Analysis, PCA)
4.2. 受限波茲曼機(Restricted Boltzmann Machine, RBM)
4.3. 自動編碼器(Auto Encoder, AE)
4.4. 鳶尾花(IRIS)案例說明
5. 進階議題
5.1. 卷積神經網路(Convolutional Neural Network, CNN)
5.2. 遞歸神經網路(Recurrent Neural Network, RNN)
5.3. 過適問題(Overfitting)
6. 附錄─梯度下降法(Gradient Descent)

  • Entre para ver os comentários

深度學習方法與實作

  1. 1. 深度學習方法與實作 主講人:陳志華博士 2017/08/31
  2. 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. 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)  附錄─梯度下降法
  4. 4. 深度學習發展歷程
  5. 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)
  6. 6. R語言簡介
  7. 7. 7/88 R語言簡介  安裝R Project和Rstudio,並運用Rstudio開發R程式 安裝neuralnet函式庫 載入neuralnet函式庫 讀取csv檔,並存到 training_data變數 training_data變數內容 Console訊息 設定亂數種子
  8. 8. 監督式學習
  9. 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
  10. 10. 監督式學習 -線性迴歸
  11. 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
  12. 12. 12/88 線性迴歸-程式實作  運用neuralnet函式,設定相關參數,訓練線性迴歸 呼叫neuralnet函式,設定相關參數,並 把結果存到model變數 在此例中,Y為輸出欄位,X為輸入欄位 設定資料為 training_data變數 無隱藏層的神經網路, 即為迴歸函式 設定輸出為線性,即為 線性迴歸 設定收斂門檻值 繪製運算結果
  13. 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
  14. 14. 監督式學習 -邏輯迴歸
  15. 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
  16. 16. 16/88 邏輯迴歸-程式實作  運用neuralnet函式,設定相關參數,訓練邏輯迴歸 設定輸出為非線性,即 為邏輯迴歸
  17. 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. 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. 19. 19/88 邏輯迴歸-程式實作  運用neuralnet函式,設定相關參數,訓練邏輯迴歸 多元輸入時,用+號 串連輸入變數欄位 此例,輸出欄位為Y, 輸入欄位為X1和X2
  20. 20. 監督式學習 -神經網路
  21. 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
  22. 22. 22/88 神經網路-程式實作  運用neuralnet函式,設定相關參數,訓練神經網路 加入隱藏層後,即成為 神經網路
  23. 23. 23/88 監督式學習-小結與討論  小結與討論  適用情境  運算時間 線性迴歸 < 邏輯迴歸 < 神經網路 適用情境 線性迴歸 邏輯迴歸 神經網路 線性問題 V V V 非線性問題 V V 因子間獨立 V V V 因子間相依 V
  24. 24. 監督式學習 -鳶尾花案例說明
  25. 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資料集部分內容
  26. 26. 26/88 監督式學習-鳶尾花案例說明  程式開發說明 讀入修改後IRIS資料集 設定輸出欄位為Species, 其餘欄位為輸入 訓練模型,該模型可為線 性(邏輯)迴歸或神經網路 此例令測試資料等於訓練 資料,用以驗證訓練模型 計算正確率,並以百分比 方式呈現 計算結果,正確率為 92.67%
  27. 27. 27/88 監督式學習-鳶尾花案例說明  各個方法正確率比較 線性迴歸 邏輯迴歸 神經網路 正確率 92.67% 98.00% 99.33% 神經網路 線性迴歸 邏輯迴歸
  28. 28. 監督式學習 -相同/相似維度
  29. 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. 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個維度
  31. 31. 非監督式學習
  32. 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 目標為降維後估計值 變異數最大化,並期 望可保持原本分佈, 足以代表原本的資料
  33. 33. 非監督式學習 -主成份分析
  34. 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 
  35. 35. 35/88 主成份分析-程式實作  運用prcomp函式,計算主成份分析結果 呼叫prcomp函式計算 主成份分析結果 印出權重值 輸入變數與主成份之間的權重值
  36. 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  主成份分析無法得到 非線性的解
  37. 37. 非監督式學習 -受限波茲曼機
  38. 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
  39. 39. 39/88 受限波茲曼機-程式實作  運用rbm.train函式,設定相關參數,訓練受限波茲曼機 載入deepnet函式庫 讀取資料,並轉換為 matrix格式之data變數 訓練後權重和bias值 呼叫rbm.train,訓練RBM 模型 設定輸入資料為data變數, 降到1維,訓練10000回合 降維後結果
  40. 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. 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的值
  42. 42. 非監督式學習 -自動編碼器
  43. 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. 44/88 自動編碼器-程式實作  運用SANET.train函式,設定相關參數,訓練自動編碼器 載入SAENET和 autoencoder函式庫 呼 叫 SAENET.train 函 式 , 訓練自動編碼器 設定降到1維,最多訓練 回合數為2000 輸出降維後結果
  45. 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. 46/88 非監督式學習-小結與討論  小結與討論  適用情境  運算時間 主成份分析<受限波茲曼機 主成份分析<自動編碼器 適用情境 主成份分析 受限波茲曼機 自動編碼器 線性問題 V V V 非線性問題 V V 因子間獨立 V V V 因子間相依 V
  47. 47. 非監督式學習 -鳶尾花案例說明
  48. 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 非監督式學習-鳶尾花案例說明  各種方法降維後結果比較 經主成份分析降維 後資料,不同類別 重疊面積較大 經受限波茲曼機降維後資 料,仍有不少資料重疊 經自動編碼器降維 後資料,有些許資 料重疊
  49. 49. 進階議題
  50. 50. 50/88 進階議題-大綱  卷積神經網路  遞歸神經網路  過適問題
  51. 51. 卷積神經網路
  52. 52. 52/88 卷積神經網路  卷積神經網路之網路結構 在卷積層經由過濾 器擷取出資料特徵 經由過濾器計算後 的特徵圖 在池層進行資料降 維,節省計算量 經由神經網路對 應目標學習結果
  53. 53. 53/88 卷積神經網路  卷積層計算─特徵擷取 假設過濾器為3x3大小 取出原始資料左上角的3x3 區塊與過濾器做矩陣相乘 先往右移動,並進行矩陣相乘 整列完成後,再往下一列移動 移動到最右下角之 3x3區塊計算完成後 即結束卷積層計算 卷積層適用於分析 空間相依
  54. 54. 54/88 卷積神經網路  池層計算─資料降維 每2x2大小矩陣取 最大值進行降維
  55. 55. 55/88 卷積神經網路  神經網路計算─資料估計(分類) 神經網路 A B 經由神經網路對 應目標學習結果
  56. 56. 56/88 卷積神經網路  深度的意涵? 原始資料 卷積層1 過濾器 分析結果 直線 橫線 正斜線 反斜線 弧線 曲線 有/無 直線 有/無 橫線 有/無 正斜線 有/無 反斜線 有/無 弧線 有/無 曲線 卷積層2 過濾器 分析結果 直線 橫線 正斜線 反斜線 弧線 曲線 有/無 正方形 有/無 長方形 有/無 三角形 有/無 菱形 有/無 圓形 有/無 橢圓形 卷積層3 過濾器 分析結果 直線 橫線 正斜線 反斜線 弧線 曲線 有/無 立方體 有/無 長方體 有/無 錐體 有/無 菱面體 有/無 球體 有/無 橢球體 神經網路 是否為 拱橋 是否為 湖泊 是否為 彩虹 是否為 中華電 Logo 第1層可找出 線條特徵 第2層可找出 平面特徵 第3層可找出 立體特徵
  57. 57. 57/88 卷積神經網路  為什麼傳統神經網路較難解決空間相依性問題?  直接把像素值攤開,不易取得特徵  直接從像素值對應到分類結果,不易學習  卷積神經網路的優勢  運用過濾器分析空間特徵 如:直線、橫線、斜線、曲線  運用多層卷積層拆解不同維度空間特徵 如:線段、平面、立體、外觀  最後再依拆解出特徵對應到分類結果 神經網路 A B … 輸入層 隱藏層 輸出層 傳統神經網路不易 分析出神經元3和 神經元8是斜線關聯 傳統神經網路把每 個像素值攤開來看, 不易分析特徵 模仿人類辨識物件的方式,先拆解出外觀特徵,再從 外觀特徵來評估目標物件的類別
  58. 58. 遞歸神經網路
  59. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 73/88 遞歸神經網路-程式實作  運用trainr函式,設定相關參數,訓練遞歸神經網路 載入rnn函式庫 呼叫trainr函式,訓練 遞歸神經網路  設定網路類型為rnn  設定隱藏層神經元數 為4  設 定 訓 練 回 合 數 為 20000 讀入資料來源 設定亂數種子 呼叫predictr函式, 進行資料估計
  74. 74. 過適問題
  75. 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. 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. 77/88 過適問題  先「非監督式學習」,再「監督式學習」 ,可能避免過適問題  整體流程  主成份分析(PCA)+神經網路  受限波茲曼機(RBM)+神經網路 原始資料 非監督式學習 監督式學習 估計結果 (分類結果) 原始資料 主成份分析 神經網路 估計結果 (分類結果) 原始資料 受限波茲曼機 神經網路 估計結果 (分類結果)
  78. 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維後輸入至神經網路 結合主成份分析和神經網路,將 可以避免過適問題
  79. 79. 附錄─梯度下降法
  80. 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. 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. 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. 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. 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. 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. 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. 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     誤差項值修正 為學習率 避免一次跳太遠, 而錯過全域最佳解  為學習率 避免一次跳太遠, 而錯過全域最佳解 
  88. 88. 謝謝大家的聆聽

×