內容簡介
本書詳細介紹了目前深度學習相關的常用網路模型(ANN、CNN、RNN),以及不同網路模型的算法原理和核心思想。本書利用大量的實例代碼對網路模型進行了分析,這些案例能夠加深讀者對網路模型的認識。此外,本書還提供完整的進階內容和對應案例,讓讀者全面深入地了解深度學習的知識和技巧,達到學以致用的目的。
本書適用於大數據平台系統工程師、算法工程師、數據科學家,可作為對人工智慧和深度學習感興趣的計算機相關從業人員的學習用書,也可作為計算機等相關專業的師生用書和培訓學校的教材。
圖書目錄
第 1章 初探深度學習 1
1.1 什麼是深度學習 2
1.1.1 機器學習的一般方法 4
1.1.2 選擇深度學習的原因 5
1.1.3 深度學習前的思考 6
1.2 深度學習的套用 7
1.3 深度學習的硬體加速器 10
1.3.1 GPU比CPU更適合深度學習 10
1.3.2 GPU硬體選擇 13
1.4 深度學習的軟體框架 15
1.5 本章小結 19
引用/參考 19
第 2章 人工神經網路 21
2.1 人工神經網路概述 22
2.1.1 歷史背景 22
2.1.2 基本單位—神經元 24
2.1.3 線性模型與激活函式 25
2.1.4 多層神經網路 26
2.2 訓練與預測 28
2.2.1 訓練 28
2.2.2 預測 29
2.3 核心算法 29
2.3.1 梯度下降算法 29
2.3.2 向前傳播算法 31
2.3.3 反向傳播算法 33
2.4 示例:醫療數據診斷 42
2.4.1 從醫療數據到數學模型 43
2.4.2 準備數據 44
2.4.3 線性分類 45
2.4.4 建立人工神經網路模型 46
2.4.5 隱層節點數對人工神經網路模型的影響 53
2.5 本章小結 55
引用/參考 56
第3章 深度學習基礎及技巧 58
3.1 激活函式 59
3.1.1 線性函式 60
3.1.2 Sigmoid函式 61
3.1.3 雙曲正切函式 62
3.1.4 ReLU函式 63
3.1.5 Softmax函式 64
3.1.6 激活函式的選擇 65
3.2 損失函式 65
3.2.1 損失函式的定義 66
3.2.2 回歸損失函式 67
3.2.3 分類損失函式 69
3.2.4 神經網路中常用的損失函式 70
3.3 超參數 71
3.3.1 學習率 71
3.3.2 動量 72
3.4 深度學習的技巧 73
3.4.1 數據集準備 73
3.4.2 數據集擴展 74
3.4.3 數據預處理 76
3.4.4 網路的初始化 81
3.4.5 網路過度擬合 84
3.4.6 正則化方法 85
3.4.7 GPU的使用 88
3.4.8 訓練過程的技巧 89
3.5 本章小結 91
引用/參考 92
第4章 卷積神經網路 93
4.1 卷積神經網路概述 94
4.1.1 卷積神經網路的套用 95
4.1.2 卷積神經網路的結構 99
4.1.3 卷積神經網路與人工神經網路的聯繫 101
4.2 卷積操作 103
4.2.1 滑動視窗卷積操作 104
4.2.2 網路卷積層操作 105
4.2.3 矩陣快速卷積 107
4.3 卷積神經網路三大核心思想 110
4.3.1 傳統神經網路的缺點 110
4.3.2 局部感知 111
4.3.3 權值共享 112
4.3.4 下採樣 113
4.4 設計卷積神經網路架構 115
4.4.1 網路層間排列規律 116
4.4.2 網路參數設計規律 116
4.5 示例1:可視化手寫字型網路特徵 117
4.5.1 MNIST手寫字型資料庫 118
4.5.2 LeNet5網路模型 119
4.5.3 LeNet5網路訓練 122
4.5.4 可視化特徵向量 124
4.6 示例2:少樣本卷積神經網路分類 127
4.6.1 Kaggle貓狗資料庫 128
4.6.2 AlexNet模型 130
4.6.3 AlexNet訓練 134
4.6.4 AlexNet預測 136
4.6.5 微調網路 137
4.7 本章小結 140
引用/參考 141
第5章 卷積神經網路視覺盛宴 143
5.1 圖像目標檢測 144
5.1.1 傳統目標檢測方法 146
5.1.2 基於區域的網路 147
5.1.3 基於回歸的網路 157
5.1.4 目標檢測小結 163
5.2 圖像語義分割 165
5.2.1 傳統圖像分割方法 165
5.2.2 全卷積神經網路 167
5.2.3 SegNet網路 171
5.2.4 DeepLab網路 173
5.3 示例1:NMS確定候選框 176
5.4 示例2:SS算法提取候選框 179
5.4.1 圖像複雜度 179
5.4.2 算法核心思想 180
5.4.3 區域相似度計算 184
5.5 本章小結 189
引用/參考 190
第6章 卷積神經網路進階示例 192
6.1 示例1:全卷積網路圖像語義分割 193
6.1.1 VGG連續小核卷積層 193
6.1.2 VGG網路模型 195
6.1.3 全卷積網路模型 199
6.1.4 全卷積網路語義分割 204
6.2 示例2:深度可視化網路 209
6.2.1 梯度上升法 210
6.2.2 可視化所有卷積層 213
6.2.3 可視化輸出層 218
6.2.4 卷積神經網路真能理解視覺嗎 219
6.3 示例3:卷積神經網路藝術繪畫 220
6.3.1 算法思想 221
6.3.2 圖像風格定義 222
6.3.3 圖像內容定義 224
6.3.4 算法實現 225
引用/參考 229
第7章 循環神經網路 231
7.1 初識循環神經網路 232
7.1.1 前饋式神經網路的缺點 233
7.1.2 什麼是序列數據 234
7.2 循環神經網路的套用 235
7.3 循環神經網路的模型結構 237
7.3.1 序列數據建模 237
7.3.2 基本結構 238
7.3.3 其他結構 239
7.4 循環神經網路的核心算法 241
7.4.1 模型詳解 241
7.4.2 向前傳播 243
7.4.3 損失函式 245
7.4.4 時間反向傳播算法 246
7.4.5 梯度消失與梯度爆炸 251
7.5 示例:使用循環神經網路預測文本數據 254
7.5.1 定義網路模型 254
7.5.2 序列數據預處理 255
7.5.3 準備輸入輸出數據 258
7.5.4 實現簡單的循環神經網路模型 260
7.6 本章小結 263
引用/參考 264
第8章 循環神經網路進階序列長期記憶 265
8.1 長期依賴問題 266
8.2 長短期記憶網路 269
8.2.1 LSTM網路結構 269
8.2.2 LSTM記憶單元 270
8.2.3 LSTM記憶方式 274
8.3 門控循環單元 274
8.3.1 GRU記憶單元 275
8.3.2 GRU實現 276
8.3.3 GRU與LSTM比較 277
8.4 示例1:神奇的機器翻譯 278
8.4.1 基於統計的機器翻譯 279
8.4.2 基於神經網路的機器翻譯 282
8.4.3 編碼-解碼模型 283
8.4.4 平衡語料數據集 287
8.4.5 機器翻譯的未來 292
8.5 示例2:智慧型對話機器人 293
8.5.1 Seq2Seq模型 294
8.5.2 Seq2Seq模型的缺點 295
8.5.3 超越Seq2Seq框架 296
8.6 示例3:智慧型語音識別音箱 299
8.6.1 語音識別框架 300
8.6.2 準備語音數據 302
8.6.3 語音特徵提取 306
8.6.4 聲學模型 311
8.6.5 語言模型 323
8.6.6 語音識別的展望 323
8.7 本章小結 324
引用/參考 325