1 機器學習與深度學習的概念1
1.1 什麼是機器學習 1
1.1.1 機器學習的形式. 2
1.1.2 機器學習的幾個組成部分. 8
1.2 深度學習的逆襲 9
1.3 深層模型在視覺領域的應用. 13
1.4 本書的主要內容 15
1.5 總結. 17
2 數學與機器學習基礎18
2.1 綫性代數基礎. 18
2.2 對稱矩陣的性質 22
2.2.1 特徵值與特徵嚮量 22
2.2.2 對稱矩陣的特徵值和特徵嚮量 23
2.2.3 對稱矩陣的對角化 24
2.3 概率論. 25
2.3.1 概率與分布. 25
2.3.2 最大似然估計 28
2.4 信息論基礎 31
2.5 KL 散度. 33
2.6 凸函數及其性質 37
2.7 機器學習基本概念. 39
2.8 機器學習的目標函數 42
2.9 總結. 44
3 CNN 的基石:全連接層45
3.1 綫性部分. 45
3.2 非綫性部分 48
3.3 神經網絡的模樣 50
3.4 反嚮傳播法 55
3.4.1 反嚮傳播法的計算方法. 55
3.4.2 反嚮傳播法在計算上的抽象. 58
3.4.3 反嚮傳播法在批量數據上的推廣. 59
3.4.4 具體的例子. 63
3.5 參數初始化 65
3.6 總結. 68
4 CNN 的基石:捲積層69
4.1 捲積操作. 69
4.1.1 捲積是什麼. 69
4.1.2 捲積層效果展示. 73
4.1.3 捲積層匯總瞭什麼 76
4.1.4 捲積的另一種解釋 77
4.2 捲積層的反嚮傳播. 79
4.2.1 實力派解法. 80
4.2.2 “偶像派”解法. 84
4.3 ReLU 88
4.3.1 梯度消失問題 89
4.3.2 ReLU 的理論支撐. 92
4.3.3 ReLU 的綫性性質. 93
4.3.4 ReLU 的不足. 93
4.4 總結. 94
4.5 參考文獻. 94
5 Caffe 入門95
5.1 使用Caffe 進行深度學習訓練. 96
5.1.1 數據預處理. 96
5.1.2 網絡結構與模型訓練的配置. 100
5.1.3 訓練與再訓練 108
5.1.4 訓練日誌分析 110
5.1.5 預測檢驗與分析. 112
5.1.6 性能測試 115
5.2 模型配置文件介紹. 117
5.3 Caffe 的整體結構. 122
5.3.1 SyncedMemory 124
5.3.2 Blob 125
5.3.3 Layer 125
5.3.4 Net 126
5.3.5 Solver 126
5.3.6 多GPU 訓練. 127
5.3.7 IO 127
5.4 Caffe 的Layer 128
5.4.1 Layer 的創建——LayerRegistry 128
5.4.2 Layer 的初始化. 130
5.4.3 Layer 的前嚮計算. 132
5.5 Caffe 的Net 組裝流程 133
5.6 Caffe 的Solver 計算流程. 139
5.6.1 優化流程 140
5.6.2 多卡優化算法 142
5.7 Caffe 的Data Layer 145
5.7.1 Datum 結構. 145
5.7.2 DataReader Thread 147
5.7.3 BasePrefetchingDataLayer Thread 148
5.7.4 Data Layer 149
5.8 Caffe 的Data Transformer 150
5.8.1 C++ 中的Data Transformer 150
5.8.2 Python 中的Data Transformer 153
5.9 模型層擴展實踐——Center Loss Layer 156
5.9.1 Center Loss 的原理 156
5.9.2 Center Loss 實現. 160
5.9.3 實驗分析與總結. 164
5.10 總結. 165
5.11 參考文獻. 165
6 深層網絡的數值問題166
6.1 ReLU 和參數初始化. 166
6.1.1 第一個ReLU 數值實驗. 167
6.1.2 第二個ReLU 數值實驗. 169
6.1.3 第三個實驗——Sigmoid 171
6.2 Xavier 初始化. 172
6.3 MSRA 初始化. 178
6.3.1 前嚮推導 178
6.3.2 後嚮推導 181
6.4 ZCA 182
6.5 與數值溢齣的戰鬥. 186
6.5.1 Softmax Layer 186
6.5.2 Sigmoid Cross Entropy Loss 189
6.6 總結. 192
6.7 參考文獻. 192
7 網絡結構193
7.1 關於網絡結構,我們更關心什麼 193
7.2 網絡結構的演化 195
7.2.1 VGG:模型哲學. 195
7.2.2 GoogLeNet:豐富模型層的內部結構. 196
7.2.3 ResNet:從乘法模型到加法模型. 197
7.2.4 全連接層的沒落. 198
7.3 Batch Normalization 199
7.3.1 Normalization 199
7.3.2 使用BN 層的實驗. 200
7.3.3 BN 的實現. 201
7.4 對Dropout 的思考. 204
7.5 從遷移學習的角度觀察網絡功能 206
7.6 ResNet 的深入分析. 210
7.6.1 DSN 解決梯度消失問題 211
7.6.2 ResNet 網絡的展開結構. 212
7.6.3 FractalNet 214
7.6.4 DenseNet 215
7.7 總結. 217
7.8 參考文獻. 217
8 優化與訓練219
8.1 梯度下降是一門手藝活兒. 219
8.1.1 什麼是梯度下降法 219
8.1.2 優雅的步長. 220
8.2 路遙知馬力:動量. 225
8.3 SGD 的變種算法 232
8.3.1 非凸函數 232
8.3.2 經典算法的彎道錶現. 233
8.3.3 Adagrad 234
8.3.4 Rmsprop 235
8.3.5 AdaDelta 236
8.3.6 Adam 237
8.3.7 爬坡賽. 240
8.3.8 總結. 242
8.4 L1 正則的效果. 243
8.4.1 MNIST 的L1 正則實驗. 244
8.4.2 次梯度下降法 246
8.5 尋找模型的弱點 251
8.5.1 泛化性實驗. 252
8.5.2 精確性實驗. 255
8.6 模型優化路徑的可視化. 255
8.7 模型的過擬閤. 260
8.7.1 過擬閤方案. 261
8.7.2 SGD 與過擬閤 263
8.7.3 對於深層模型泛化的猜想. 264
8.8 總結. 265
8.9 參考文獻. 265
9 應用:圖像的語意分割267
9.1 FCN 268
9.2 CRF 通俗非嚴謹的入門. 272
9.2.1 有嚮圖與無嚮圖模型. 272
9.2.2 Log-Linear Model 278
9.2.3 條件隨機場. 280
9.3 Dense CRF 281
9.3.1 Dense CRF 是如何被演化齣來的. 281
9.3.2 Dense CRF 的公式形式. 284
9.4 Mean Field 對Dense CRF 模型的化簡 285
9.5 Dense CRF 的推斷計算公式 288
9.5.1 Variational Inference 推導 289
9.5.2 進一步化簡. 291
9.6 完整的模型:CRF as RNN 292
9.7 總結. 294
9.8 參考文獻. 294
10 應用:圖像生成295
10.1 VAE 295
10.1.1 生成式模型. 295
10.1.2 Variational Lower bound 296
10.1.3 Reparameterization Trick 298
10.1.4 Encoder 和Decoder 的計算公式. 299
10.1.5 實現. 300
10.1.6 MNIST 生成模型可視化 301
10.2 GAN 303
10.2.1 GAN 的概念. 303
10.2.2 GAN 的訓練分析. 305
10.2.3 GAN 實戰. 309
10.3 Info-GAN 314
10.3.1 互信息. 315
10.3.2 InfoGAN 模型 317
10.4 Wasserstein GAN 320
10.4.1 分布的重疊度 321
10.4.2 兩種目標函數存在的問題. 323
10.4.3 Wasserstein 距離. 325
10.4.4 Wasserstein 距離的優勢. 329
10.4.5 Wasserstein GAN 的實現 331
10.5 總結. 333
10.6 參考文獻. 334
· · · · · · (
收起)