實戰深度學習算法:零起點通關神經網路模型(基於Python和NumPy實現) | 生病了怎麼辦 - 2024年5月

實戰深度學習算法:零起點通關神經網路模型(基於Python和NumPy實現)

作者:徐彬
出版社:電子工業
出版日期:2019年09月01日
ISBN:9787121371714
語言:繁體中文

深度學習是機器學習的重要分支。本書系統地介紹了如何用Python和NumPy實現的演算法一步一步地實現深度學習的基礎模型,而無須借助TensorFlow、PyTorch等深度學習框架,從而能説明讀者更好地理解底層演算法的脈絡,進而進行模型的定制、優化和改進。

全書內容設計可説明讀者零起點通關神經網路,由簡到難地講述感知機模型、多分類神經網路、深層全連接網路、卷積神經網路、批量歸範化方法、序列模型、迴圈神經網路、長短時記憶網路、雙向結構的BiGRU模型、序列模型等神經網路模型的演算法推導、實現及其實例,可直接動手調試和觀察整個訓練過程,進一步理解模型及其演算法原理。
 

徐彬

重慶大學電腦科學系學士、BI挪威商學院碩士。曾任中國工商銀行軟體工程師、平安銀行應用架構專家、銀行間市場清算所創新衍生品及利率產品專案群負責人。研究方向包括信貸及清算風險管控、複雜項目群管理,機器學習在特定場景的應用。
 

第 1章 基礎分類模型 1
1.1深度學習簡介 ............................ 2
1.2目標問題:空間中的二分類 .................... 2
1.3感知機模型 ............................. 3
1.3.1感知機函數 ......................... 3
1.3.2損失函數 .......................... 4
1.3.3感知機學習演算法 ....................... 6
1.4演算法實現 .............................. 8
1.4.1環境搭建 .......................... 8
1.4.2數據準備 .......................... 9
1.4.3實現感知機演算法 ....................... 11
1.5小結 ................................. 13
參考文獻 ................................. 13

第 2章 第 1個神經網路 14
2.1目標問題:MNIST手寫數位識別 ................. 15
2.1.1資料集 ............................ 15
2.1.2圖像資料和圖向量 ..................... 16
2.2挑戰:從二分類到多分類 ..................... 16
2.3 Softmax方法 ............................ 19
2.4正確分類的獨熱編碼 ........................ 20
2.5損失函數——交叉熵 ........................ 21
2.6信息熵和交叉熵 ........................... 21
2.6.1信息熵 ............................ 21
2.6.2交叉熵 ............................ 22
2.7第 1個神經網路的學習演算法 .................... 23
2.8反向傳播 .............................. 26
2.9抽象洩漏 .............................. 27
2.10演算法實現 .............................. 28
2.10.1數據準備 .......................... 28
2.10.2實現第 1個神經網路 .................... 33
2.10.3實現 MINIST手寫數位識別 ................ 36
2.11小結 ................................. 37
參考文獻 ................................. 38

第 3章 多層全連接神經網路 39
3.1第 1個挑戰:異或問題 ....................... 40
3.2最深的神經網路——隱藏層 .................... 40
3.3第二個挑戰:參數擬合的兩面性 .................. 42
3.4過擬合與正則化 ........................... 44
3.4.1欠擬合與過擬合 ....................... 44
3.4.2正則化 ............................ 44
3.4.3正則化的效果 ........................ 44
3.5第三個挑戰:非線性可分問題 ................... 45
3.6啟動函數 .............................. 45
3.7演算法和結構 ............................. 47
3.8演算法實現 .............................. 50
3.8.1數據準備 .......................... 50
3.8.2實現多層全連接神經網路 ................. 50
3.8.3在資料集上驗證模型 .................... 53
3.9小結 ................................. 54
參考文獻 ................................. 54

第 4章 卷積神經網路(CNN) 55
4.1挑戰:參數量和訓練成本 ..................... 56
4.2卷積神經網路的結構 ........................ 56
4.2.1卷積層 ............................ 57
4.2.2池化層 ............................ 62
4.2.3全連接層和 Softmax處理 ................. 63
4.3卷積神經網路學習演算法 ....................... 63
4.3.1全連接層 .......................... 63
4.3.2池化層反向傳播 ....................... 64
4.3.3卷積層反向傳播 ....................... 65
4.4演算法實現 .............................. 68
4.4.1數據準備 .......................... 68
4.4.2卷積神經網路模型的原始實現 ............... 69
4.5小結 ................................. 76
參考文獻 ................................. 78

第 5章 卷積神經網路——演算法提速和優化 79
5.1第 1個挑戰:卷積神經網路的運算效率 .............. 80
5.2提速改進 .............................. 80
5.2.1邊緣填充提速 ........................ 82
5.2.2池化層提速 ......................... 83
5.2.3卷積層處理 ......................... 85
5.3反向傳播演算法實現 ......................... 88
5.3.1池化層反向傳播 ....................... 88
5.3.2卷積層反向傳播 ....................... 89
5.4第二個挑戰:梯度下降的幅度和方向 ............... 91
5.5遞減學習率參數 ........................... 92
5.6學習策略的優化方法 ........................ 92
5.6.1動量方法 .......................... 93
5.6.2 NAG方法 .......................... 93
5.6.3 Adagrad方法 ........................ 94
5.6.4 RMSprop方法 ....................... 95
5.6.5 AdaDelta方法 ....................... 96
5.6.6 Adam方法 ......................... 97
5.6.7各種優化方法的比較 .................... 98
目錄
5.7總體模型結構 ............................ 100
5.8使用 CNN實現 MNIST手寫數位識別驗證 ........... 101
5.9小結 ................................. 102
參考文獻 ................................. 103

第 6章 批量規範化(Batch Normalization) 104
6.1挑戰:深度神經網路不易訓練 ................... 105
6.2批量規範化方法的初衷 ....................... 105
6.2.1資料集偏移 ......................... 106
6.2.2輸入分佈偏移 ........................ 106
6.2.3內部偏移 .......................... 107
6.3批量規範化的演算法 ......................... 107
6.3.1訓練時的前向計算 ..................... 107
6.3.2規範化與標準化變數 .................... 108
6.3.3推理預測時的前向計算 ................... 109
6.3.4全連接層和卷積層的批量規範化處理 ........... 110
6.4批量規範化的效果 ......................... 111
6.4.1梯度傳遞問題 ....................
 


相關書籍