第 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章第一個神經網絡 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第一個神經網絡的學習算法 .................... 23
2.8反嚮傳播 .............................. 26
2.9抽象泄漏 .............................. 27
2.10算法實現 .............................. 28
2.10.1數據準備 .......................... 28
2.10.2實現第一個神經網絡 .................... 33
2.10.3實現 MINIST手寫數字識彆 ................ 36
2.11小結 ................................. 37參考文獻 ................................. 38
第 3章多層全連接神經網絡 39
3.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第一個挑戰:捲積神經網絡的運算效率 .............. 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梯度傳遞問題 ........................ 111
6.4.2飽和非綫性激活問題 .................... 112
6.4.3正則化效果 ......................... 113
6.5批量規範化為何有效 ........................ 113
6.6批量規範化的反嚮傳播算法 .................... 114
6.7算法實現 .............................. 115
6.7.1訓練時的前嚮傳播 ..................... 116
6.7.2反嚮傳播 .......................... 117
6.7.3推理預測 .......................... 118
6.8調整學習率和總體結構 ....................... 119
6.8.1模型結構 .......................... 119
6.8.2捲積層批量規範化的實現 ................. 120
6.8.3引入批量規範化後的遞減學習率 .............. 121
6.9在 MNIST數據集上驗證結果 ................... 122
6.10小結 ................................. 123
參考文獻 ................................. 123
第 7章循環神經網絡(Vanilla RNN) 125
7.1第一個挑戰:序列特徵的捕捉 ................... 126
7.2循環神經網絡的結構 ........................ 126
7.2.1單層 RNN.......................... 126
7.2.2雙嚮 RNN.......................... 128
7.2.3多層 RNN.......................... 129
7.3 RNN前嚮傳播算法 ......................... 130
7.4 RNN反嚮傳播算法 ......................... 131
7.4.1誤差的反嚮傳播 ....................... 131
7.4.2激活函數的導函數和參數梯度 ............... 132
7.5第二個挑戰:循環神經網絡的梯度傳遞問題 ........... 133
7.6梯度裁剪 .............................. 134
7.7算法實現 .............................. 135
7.8目標問題:序列數據分析 ..................... 139
7.8.1數據準備 .......................... 139
7.8.2模型搭建 .......................... 144
7.8.3驗證結果 .......................... 145
7.9小結 ................................. 147參考文獻 ................................. 147
第 8章長短時記憶網絡(LSTM)——指數分析 149
8.1目標問題:投資市場的指數分析 .................. 150
8.2挑戰:梯度彌散問題 ........................ 150
8.3長短時記憶網絡的結構 ....................... 150
8.4 LSTM前嚮傳播算法 ........................ 152
8.5 LSTM反嚮傳播算法 ........................ 153
8.5.1誤差反嚮傳播 ........................ 154
8.5.2激活函數的導函數和參數梯度 ............... 155
8.6算法實現 .............................. 156
8.6.1實現 LSTM單時間步的前嚮計算 ............. 156
8.6.2實現 LSTM多層多時間步的前嚮計算 .......... 157
8.6.3實現 LSTM單時間步的反嚮傳播 ............. 159
8.6.4實現 LSTM多層多時間步的反嚮傳播 .......... 160
8.7實現滬深 300指數分析 ....................... 161
8.7.1數據準備 .......................... 162
8.7.2模型構建 .......................... 166
8.7.3分析結果 .......................... 167
8.8小結 ................................. 168參考文獻 ................................. 169
第 9章雙嚮門控循環單元(BiGRU)——情感分析 170
9.1目標問題:情感分析 ........................ 171
9.2第一個挑戰:模型的運算效率 ................... 172
9.3 GRU模型的結構 .......................... 172
9.4 GRU前嚮傳播算法 ......................... 173
9.5 GRU前嚮傳播錶達式的其他寫法 ................. 174
9.6 GRU反嚮傳播算法 ......................... 175
9.7 GRU算法實現 ........................... 177
9.7.1單時間步的前嚮計算 .................... 177
9.7.2實現單時間步的反嚮傳播 ................. 178
9.8用 GRU模型進行情感分析 .................... 179
9.8.1數據預處理 ......................... 180
9.8.2構建情感分析模型 ..................... 181
9.9首次驗證 .............................. 182
9.10第二個挑戰:序列模型的過擬閤 .................. 183
9.11 Dropout正則化 ........................... 183
9.11.1 Dropout前嚮傳播算法 ................... 183
9.11.2 Dropout反嚮傳播算法 ................... 184
9.11.3 Dropout Rate的選擇 ................... 185
9.12再次驗證:GRU+Dropout..................... 186
9.13第三個挑戰:捕捉逆序信息 .................... 187
9.14雙嚮門控循環單元(BiGRU) ................... 187
9.15第三次驗證:BiGRU+Dropout .................. 188
9.16小結 ................................. 189
參考文獻 ................................. 189
附錄 A嚮量和矩陣運算 191
附錄 B導數和微分 194
附錄 C嚮量和矩陣導數 195
附錄 D概率論和數理統計 201
索引 205
· · · · · · (
收起)