Contents 目 錄
前言
引子·神之一手1
第1章 走進深度學習的世界5
1.1 從人工智能到深度學習5
1.2 深度神經網絡的威力:以AlphaGo為例8
1.2.1 策略網絡簡述9
1.2.2 泛化:看棋譜就能學會下圍棋11
1.2.3 擬閤與過擬閤11
1.2.4 深度神經網絡的速度優勢12
1.3 深度神經網絡的應用大觀13
1.3.1 圖像分類問題的難度所在13
1.3.2 用深度神經網絡理解圖像15
1.3.3 AlphaGo中的深度神經網絡17
1.3.4 自動發現規律:從數據A到答案B17
1.3.5 深度神經網絡的更多應用18
1.3.6 從分而治之,到端對端學習24
1.4 親自體驗深度神經網絡25
1.4.1 TensorFlow遊樂場25
1.4.2 MNIST數字識彆實例:LeNet-527
1.4.3 策略網絡實例28
1.4.4 簡筆畫:Sketch-RNN29
1.4.5 用GAN生成動漫頭像30
1.5 深度神經網絡的基本特點31
1.5.1 兩大助力:算力、數據31
1.5.2 從特徵工程,到逐層抽象32
1.5.3 深度神經網絡學會的是什麼35
1.6 人工智能與神經網絡的曆史36
1.6.1 人工智能的兩大學派:邏輯與統計37
1.6.2 人工智能與神經網絡的現代編年史37
第2章 深度捲積網絡:第一課42
2.1 神經元:運作和訓練43
2.1.1 運作:從實例說明43
2.1.2 訓練:梯度下降的思想44
2.1.3 訓練:梯度下降的公式46
2.1.4 訓練:找大小問題的初次嘗試48
2.1.5 訓練:Excel的實現 50
2.1.6 重要知識:批大小、mini-batch、epoch51
2.2 深度學習框架MXNet:安裝和使用51
2.2.1 計算圖:動態與靜態52
2.2.2 安裝MXNet:準備工作53
2.2.3 在Windows下安裝MXNet54
2.2.4 在macOS下安裝MXNet:CPU版57
2.2.5 在macOS下安裝MXNet:GPU版58
2.2.6 在Linux下安裝MXNet59
2.2.7 安裝Jupyter演算本59
2.2.8 實例:在MXNet訓練神經元並體驗調參60
2.3 神經網絡:運作和訓練63
2.3.1 運作:前嚮傳播,與非綫性激活的必要性63
2.3.2 運作:非綫性激活64
2.3.3 訓練:梯度的計算公式66
2.3.4 訓練:實例69
2.3.5 訓練:Excel的實現70
2.3.6 訓練:反嚮傳播71
2.3.7 重要知識:梯度消失,梯度爆炸72
2.3.8 從幾何觀點理解神經網絡72
2.3.9 訓練:MXNet的實現73
第3章 深度捲積網絡:第二課 77
3.1 重要理論知識77
3.1.1 數據:訓練集、驗證集、測試集77
3.1.2 訓練:典型過程79
3.1.3 有監督學習:迴歸、分類、標簽、排序、Seq2Seq79
3.1.4 無監督學習:聚類、降維、自編碼、生成模型、推薦81
3.1.5 訓練的障礙:欠擬閤、過擬閤82
3.1.6 訓練的細節:局部極值點、鞍點、梯度下降算法83
3.2 神經網絡的正則化85
3.2.1 修改損失函數:L2和L1正則化85
3.2.2 修改網絡架構:Dropout正則化86
3.2.3 更多技巧:集閤、多任務學習、參數共享等86
3.2.4 數據增強與預處理88
3.3 神經網絡的調參89
3.3.1 學習速率89
3.3.2 批大小90
3.3.3 初始化方法92
3.3.4 調參實戰:重返TensorFlow遊樂場93
3.4 實例:MNIST問題95
3.4.1 重要知識:SoftMax層、交叉熵損失96
3.4.2 訓練代碼與網絡架構98
3.4.3 超越MNIST:最新的Fashion-MNIST數據集101
3.5 網絡訓練的常見bug和檢查方法103
3.6 網絡訓練性能的提高104
第4章 深度捲積網絡:第三課106
4.1 捲積網絡:從實例說明106
4.1.1 實例:找橘貓,最原始的方法107
4.1.2 實例:找橘貓,更好的方法108
4.1.3 實例:捲積和池化108
4.1.4 捲積網絡的運作111
4.2 運作:AlphaGo眼中的棋盤112
4.2.1 棋盤的編碼113
4.2.2 最簡化的策略網絡115
4.2.3 最簡化的策略網絡:特徵層和捲積後的結果116
4.3 捲積神經網絡:進一步瞭解122
4.3.1 捲積核、濾波器與參數量的計算122
4.3.2 運作和訓練的計算123
4.3.3 外襯與步長124
4.3.4 縮小圖像:池化與全局池化126
4.3.5 放大圖像:轉置捲積127
4.4 實例:用捲積網絡解決MNIST問題128
4.4.1 網絡架構的定義與參數量的計算129
4.4.2 訓練MNIST網絡130
4.4.3 在MXNet運行訓練後的網絡131
4.4.4 調參實例133
4.4.5 在Fashion-MNIST數據集的結果133
4.5 MXNet的使用技巧134
4.5.1 快速定義多個層134
4.5.2 網絡的保存與讀取135
4.5.3 圖像數據的打包和載入135
4.5.4 深入MXNet訓練細節136
4.5.5 在瀏覽器和移動設備運行神經網絡139
第5章 深度捲積網絡:第四課141
5.1 經典的深度捲積網絡架構142
5.1.1 深度學習革命的揭幕者:AlexNet142
5.1.2 常用架構:VGG係列145
5.1.3 去掉全連接層:DarkNet係列147
5.2 網絡的可視化:以AlexNet為例150
5.3 遷移學習:精調、預訓練等155
5.4 架構技巧:基本技巧157
5.4.1 感受野與縮小捲積核157
5.4.2 使用1×1捲積核158
5.4.3 批規範化160
5.4.4 實例:迴顧Fashion-MNIST問題161
5.4.5 實例:訓練CIFAR-10模型164
5.5 架構技巧:殘差網絡與通道組閤169
5.5.1 殘差網絡:ResNet的思想169
5.5.2 殘差網絡:架構細節171
5.5.3 殘差網絡:來自於集閤的理解與隨機深度172
5.5.4 殘差網絡:MXNet實現,以策略網絡為例173
5.5.5 通道組閤:Inception模組174
5.5.6 通道組閤:XCeption架構,深度可分捲積177
5.5.7 實例:再次訓練CIFAR-10模型178
5.6 架構技巧:更多進展181
5.6.1 殘差網絡進展:ResNext、Pyramid Net、DenseNet181
5.6.2 壓縮網絡:SqueezeNet、MobileNet、ShuffleNet183
5.6.3 捲積核的變形188
5.7 物體檢測與圖像分割189
5.7.1 YOLO v1:實時的物體檢測網絡190
5.7.2 YOLO v2:更快、更強192
5.7.3 Faster R-CNN:準確的物體檢測網絡194
5.7.4 Mask-RCNN:準確的圖像分割網絡195
5.8 風格轉移197
第6章 AlphaGo架構綜述200
6.1 從AlphaGo到AlphaZero201
6.1.1 AlphaGo v13與AlphaGo v18201
6.1.2 AlphaGo Master與AlphaGoZero202
6.1.3 解決一切棋類:AlphaZero204
6.2 AlphaGo的對弈過程205
6.2.1 策略網絡205
6.2.2 來自人類的思路208
6.2.3 濛特卡洛樹搜索與估值問題209
6.2.4 從快速走子估值到價值網絡211
6.2.5 從搜索樹看策略與價值網絡的作用213
6.2.6 策略與價值網絡的運作實例215
6.3 AlphaGo中的深度捲積網絡架構217
6.4 AlphaGo的訓練過程219
6.4.1 原版AlphaGo:策略梯度方法219
6.4.2 新版AlphaGo:從濛特卡洛樹搜索學習220
6.5 AlphaGo方法的推廣221
第7章 訓練策略網絡與實戰224
7.1 訓練前的準備工作224
7.1.1 棋譜數據225
7.1.2 落子模擬226
7.1.3 終局判斷226
7.2 訓練代碼227
7.2.1 主程序:train.py227
7.2.2 訓練參數:config.py233
7.2.3 輔助函數:util.py234
7.2.4 棋盤隨機變換:symmetry.py235
7.2.5 訓練實例236
7.3 對弈實戰237
第8章 生成式對抗網絡:GAN240
8.1 GAN的起源故事240
8.2 GAN的基本原理242
8.2.1 生成模型:從圖像到編碼,從編碼到圖像242
8.2.2 GAN的基本效果243
8.2.3 GAN的訓練方法246
8.3 實例:DCGAN及訓練過程248
8.3.1 網絡架構248
8.3.2 訓練代碼249
8.4 GAN的更多架構和應用255
8.4.1 圖像轉移:CycleGAN係列255
8.4.2 生成高分辨率圖像:nVidia的改進260
8.4.3 自動提取信息:InfoGAN261
8.4.4 更多應用264
8.5 更多的生成模型方法266
8.5.1 自編碼器:從AE到VAE266
8.5.2 逐點生成:PixelRNN和PixelCNN係列267
8.5.3 將VAE和GAN結閤:CVAE-GAN268
第9章 通嚮智能之秘272
9.1 計算機視覺的難度272
9.2 對抗樣本,與深度網絡的特點276
9.3 人工智能的挑戰與機遇278
9.3.1 棋類遊戲中的電腦陷阱278
9.3.2 偏見、過濾氣泡與道德睏境280
9.3.3 語言的迷局283
9.3.4 強化學習、機器人與目標函數286
9.3.5 創造力、審美與意識之謎290
9.3.6 預測學習:機器學習的前沿293
9.4 深度學習的理論發展295
9.4.1 超越反嚮傳播:預測梯度與生物模型295
9.4.2 超越神經網絡:Capsule與gcForest297
9.4.3 泛化問題300
9.5 深度學習與人工智能的展望304
9.5.1 工程層麵304
9.5.2 理論層麵304
9.5.3 應用層麵305
跋 人工智能與我們的未來306
附錄 深度學習與AI的網絡資源310
· · · · · · (
收起)