1 深度學習簡介1
1.1 人工智能、機器學習和深度學習 1
1.1.1 引言 1
1.1.2 人工智能、機器學習和深度學習三者的關係 2
1.2 神經網絡 3
1.2.1 感知器 3
1.2.2 激活函數 5
1.2.3 損失函數 8
1.2.4 梯度下降和隨機梯度下降 8
1.2.5 反嚮傳播算法簡述 11
1.2.6 其他神經網絡 12
1.3 學習方法建議 13
1.3.1 網絡資源 13
1.3.2 TensorFlow 官方深度學習教程 14
1.3.3 開源社區 15
1.4 TensorLayer 15
1.4.1 深度學習框架概況 15
1.4.2 TensorLayer 概括 16
1.4.3 實驗環境配置 17
2 多層感知器19
2.1 McCulloch-Pitts 神經元模型 19
2.1.1 人工神經網絡到底能乾什麼?到底在乾什麼 21
2.1.2 什麼是激活函數?什麼是偏值 22
2.2 感知器 23
2.2.1 什麼是綫性分類器 24
2.2.2 綫性分類器有什麼優缺點 26
2.2.3 感知器實例和異或問題(XOR 問題) 26
2.3 多層感知器 30
2.4 實現手寫數字分類 32
2.5 過擬閤 40
2.5.1 什麼是過擬閤 40
2.5.2 Dropout 41
2.5.3 批規範化 42
2.5.4 L1、L2 和其他正則化方法 42
2.5.5 Lp 正則化的圖形化解釋 44
2.6 再實現手寫數字分類 46
2.6.1 數據迭代器 46
2.6.2 通過all_drop 啓動與關閉Dropout 47
2.6.3 通過參數共享實現訓練測試切換 50
3 自編碼器54
3.1 稀疏性 54
3.2 稀疏自編碼器 56
3.3 實現手寫數字特徵提取 59
3.4 降噪自編碼器 65
3.5 再實現手寫數字特徵提取 68
3.6 堆棧式自編碼器及其實現 72
4 捲積神經網絡80
4.1 捲積原理 80
4.1.1 捲積操作 81
4.1.2 張量 84
4.1.3 捲積層 85
4.1.4 池化層 87
4.1.5 全連接層 89
4.2 經典任務 90
4.2.1 圖像分類 90
4.2.2 目標檢測 91
4.2.3 語義分割 94
4.2.4 實例分割 94
4.3 經典捲積網絡 95
4.3.1 LeNet 95
4.3.2 AlexNet 96
4.3.3 VGGNet 96
4.3.4 GoogLeNet 98
4.3.5 ResNet 99
4.4 實現手寫數字分類 100
4.5 數據增強與規範化 104
4.5.1 數據增強 104
4.5.2 批規範化 106
4.5.3 局部響應歸一化 107
4.6 實現CIFAR10 分類 108
4.6.1 方法1:tl.prepro 做數據增強 108
4.6.2 方法2:TFRecord 做數據增強 114
4.7 反捲積神經網絡 120
5 詞的嚮量錶達121
5.1 目的與原理 121
5.2 Word2Vec 124
5.2.1 簡介 124
5.2.2 Continuous Bag-Of-Words(CBOW)模型 124
5.2.3 Skip Gram(SG)模型 129
5.2.4 Hierarchical Softmax 132
5.2.5 Negative Sampling 135
5.3 實現Word2Vec 136
5.3.1 簡介 136
5.3.2 實現 136
5.4 重載預訓練矩陣 144
6 遞歸神經網絡148
6.1 為什麼需要它 148
6.2 不同的RNNs 151
6.2.1 簡單遞歸網絡 151
6.2.2 迴音網絡 152
6.3 長短期記憶 153
6.3.1 LSTM 概括 153
6.3.2 LSTM 詳解 157
6.3.3 LSTM 變種 159
6.4 實現生成句子 160
6.4.1 模型簡介 160
6.4.2 數據迭代 163
6.4.3 損失函數和更新公式 164
6.4.4 生成句子及Top K 采樣 167
6.4.5 接下來還可以做什麼 169
7 深度增強學習171
7.1 增強學習 172
7.1.1 概述 172
7.1.2 基於價值的增強學習 173
7.1.3 基於策略的增強學習 176
7.1.4 基於模型的增強學習 177
7.2 深度增強學習 179
7.2.1 深度Q 學習 179
7.2.2 深度策略網絡 181
7.3 更多參考資料 187
7.3.1 書籍 187
7.3.2 在綫課程 187
8 生成對抗網絡188
8.1 何為生成對抗網絡 189
8.2 深度捲積對抗生成網絡 190
8.3 實現人臉生成 191
8.4 還能做什麼 198
9 高級實現技巧202
9.1 與其他框架對接 202
9.1.1 無參數層 203
9.1.2 有參數層 203
9.2 自定義層 204
9.2.1 無參數層 204
9.2.2 有參數層 205
9.3 建立詞匯錶 207
9.4 補零與序列長度 209
9.5 動態遞歸神經網絡 210
9.6 實用小技巧 211
9.6.1 屏蔽顯示 211
9.6.2 參數名字前綴 212
9.6.3 獲取特定參數 213
9.6.4 獲取特定層輸齣 213
10 實例一:使用預訓練捲積網絡214
10.1 高維特徵錶達 214
10.2 VGG 網絡 215
10.3 連接TF-Slim 221
11 實例二:圖像語義分割及其醫學圖像應用225
11.1 圖像語義分割概述 225
11.1.1 傳統圖像分割算法簡介 227
11.1.2 損失函數與評估指標 229
11.2 醫學圖像分割概述 230
11.3 全捲積神經網絡和U-Net 網絡結構 232
11.4 醫學圖像應用:實現腦部腫瘤分割 234
11.4.1 數據與數據增強 235
11.4.2 U-Net 網絡 238
11.4.3 損失函數 239
11.4.4 開始訓練 241
12 實例三:由文本生成圖像244
12.1 條件生成對抗網絡之GAN-CLS 245
12.2 實現句子生成花朵圖片 246
13 實例四:超高分辨率復原260
13.1 什麼是超高分辨率復原 260
13.2 網絡結構 261
13.3 聯閤損失函數 264
13.4 訓練網絡 269
13.5 使用測試 277
14 實例五:文本反垃圾280
14.1 任務場景 280
14.2 網絡結構 281
14.3 詞的嚮量錶示 282
14.4 Dynamic RNN 分類器 283
14.5 訓練網絡 284
14.5.1 訓練詞嚮量 284
14.5.2 文本的錶示 290
14.5.3 訓練分類器 291
14.5.4 模型導齣 296
14.6 TensorFlow Serving 部署 299
14.7 客戶端調用 301
14.8 其他常用方法 306
中英對照錶及其縮寫309
參考文獻316
· · · · · · (
收起)