第1章 一入侯門“深”似海,深度學習深幾許 1
1.1 深度學習的巨大影響 2
1.2 什麼是學習 4
1.3 什麼是機器學習 4
1.4 機器學習的4個象限 5
1.5 什麼是深度學習 6
1.6 “戀愛”中的深度學習 7
1.7 深度學習的方法論 9
1.8 有沒有淺層學習 13
1.9 本章小結 14
1.10 請你思考 14
參考資料 14
第2章 人工“碳”索意猶盡,智能“矽”來未可知 16
2.1 信數據者得永生嗎 17
2.2 人工智能的“江湖定位” 18
2.3 深度學習的歸屬 19
2.4 機器學習的形式化定義 21
2.5 為什麼要用神經網絡 24
2.6 人工神經網絡的特點 26
2.7 什麼是通用近似定理 27
2.8 本章小結 31
2.9 請你思考 31
參考資料 31
第3章 “機器學習”三重門,“中庸之道”趨若人 33
3.1 監督學習 34
3.1.1 感性認知監督學習 34
3.1.2 監督學習的形式化描述 35
3.1.3 k-近鄰算法 37
3.2 非監督學習 39
3.2.1 感性認識非監督學習 39
3.2.2 非監督學習的代錶—K均值聚類 41
3.3 半監督學習 45
3.4 從“中庸之道”看機器學習 47
3.5 強化學習 49
3.6 本章小結 52
3.7 請你思考 53
參考資料 53
第4章 人生苦短對酒歌, 我用Python樂趣多 55
4.1 Python概要 56
4.1.1 為什麼要用Python 56
4.1.2 Python中常用的庫 58
4.2 Python的版本之爭 61
4.3 Python環境配置 65
4.3.1 Windows下的安裝與配置 65
4.3.2 Mac下的安裝與配置 72
4.4 Python編程基礎 76
4.4.1 如何運行Python代碼 77
4.4.2 代碼縮進 79
4.4.3 注釋 80
4.4.4 Python中的數據結構 81
4.4.5 函數的設計 93
4.4.6 模塊的導入與使用 101
4.4.7 麵嚮對象程序設計 102
4.5 本章小結 112
4.6 請你思考 112
參考資料 113
第5章 機器學習終覺淺,Python帶我來實踐 114
5.1 綫性迴歸 115
5.1.1 綫性迴歸的概念 115
5.1.2 簡易綫性迴歸的Python實現詳解 119
5.2 k-近鄰算法 139
5.2.1 k-近鄰算法的三個要素 140
5.2.2 k-近鄰算法實戰 143
5.2.3 使用scikit-learn實現k-近鄰算法 155
5.3 本章小結 162
5.4 請你思考 162
參考資料 162
第6章 神經網絡不勝語,M-P模型似可尋 164
6.1 M-P神經元模型是什麼 165
6.2 模型背後的那些人和事 167
6.3 激活函數是怎樣的一種存在 175
6.4 什麼是捲積函數 176
6.5 本章小結 177
6.6 請你思考 178
參考資料 178
第7章 Hello World感知機,懂你我心纔安息 179
7.1 網之初,感知機 180
7.2 感知機名稱的由來 180
7.3 感性認識“感知機” 183
7.4 感知機是如何學習的 185
7.5 感知機訓練法則 187
7.6 感知機的幾何意義 190
7.7 基於Python的感知機實戰 191
7.8 感知機的錶徵能力 196
7.9 本章小結 199
7.10 請你思考 199
參考資料 199
第8章 損失函數減肥用,神經網絡調權重 201
8.1 多層網絡解決“異或”問題 202
8.2 感性認識多層前饋神經網絡 205
8.3 是淺而“胖”好,還是深而“瘦”佳 209
8.4 分布式特徵錶達 210
8.5 丟棄學習與集成學習 211
8.6 現實很豐滿,理想很骨感 212
8.7 損失函數的定義 213
8.8 熱力學定律與梯度彌散 215
8.9 本章小結 216
8.10 請你思考 216
參考資料 217
第9章 山重水復疑無路,最快下降問梯度 219
9.1 “鳥飛派”還飛不 220
9.2 1986年的那篇神作 221
9.3 多層感知機網絡遇到的大問題 222
9.4 神經網絡結構的設計 225
9.5 再議損失函數 227
9.6 什麼是梯度 229
9.7 什麼是梯度遞減 231
9.8 梯度遞減的綫性迴歸實戰 235
9.9 什麼是隨機梯度遞減 238
9.10 利用SGD解決綫性迴歸實戰 240
9.11 本章小結 247
9.12 請你思考 248
參考資料 248
第10章 BP算法雙嚮傳,鏈式求導最纏綿 249
10.1 BP算法極簡史 250
10.2 正嚮傳播信息 251
10.3 求導中的鏈式法則 255
10.4 誤差反嚮傳播 264
10.4.1 基於隨機梯度下降的BP算法 265
10.4.2 輸齣層神經元的權值訓練 267
10.4.3 隱含層神經元的權值訓練 270
10.4.4 BP算法的感性認知 273
10.4.5 關於BP算法的補充說明 278
10.5 BP算法實戰詳細解釋 280
10.5.1 初始化網絡 280
10.5.2 信息前嚮傳播 282
10.5.3 誤差反嚮傳播 285
10.5.4 訓練網絡(解決異或問題) 288
10.5.5 利用BP算法預測小麥品種的分類 293
10.6 本章小結 301
10.7 請你思考 302
參考資料 304
第11章 一騎紅塵江湖笑,TensorFlow榖歌造 305
11.1 TensorFlow概述 306
11.2 深度學習框架比較 309
11.2.1 Theano 309
11.2.2 Keras 310
11.2.3 Caffe 311
11.2.4 PyTorch 312
11.3 TensorFlow的安裝 313
11.3.1 Anaconda的安裝 313
11.3.2 TensorFlow的CPU版本安裝 315
11.3.3 TensorFlow的源碼編譯 323
11.4 Jupyter Notebook的使用 331
11.4.1 Jupyter Notebook的由來 331
11.4.2 Jupyter Notebook的安裝 333
11.5 TensorFlow中的基礎語法 337
11.5.1 什麼是數據流圖 338
11.5.2 構建第一個TensorFlow數據流圖 339
11.5.3 可視化展現的TensorBoard 342
11.5.4 TensorFlow的張量思維 346
11.5.5 TensorFlow中的數據類型 348
11.5.6 TensorFlow中的操作類型 353
11.5.7 TensorFlow中的Graph對象 356
11.5.8 TensorFlow中的Session 358
11.5.9 TensorFlow中的placeholder 361
11.5.10 TensorFlow中的Variable對象 363
11.5.11 TensorFlow中的名稱作用域 365
11.5.12 張量的Reduce方嚮 367
11.6 手寫數字識彆MNIST 372
11.6.1 MNIST數據集簡介 373
11.6.2 MNIST數據的獲取與預處理 375
11.6.3 分類模型的構建—Softmax Regression 378
11.7 TensorFlow中的Eager執行模式 394
11.7.1 Eager執行模式的背景 394
11.7.2 Eager執行模式的安裝 395
11.7.3 Eager執行模式的案例 395
11.7.4 Eager執行模式的MNIST模型構建 398
11.8 本章小結 401
11.9 請你思考 402
參考資料 403
第12章 全麵連接睏何處,捲積網絡顯神威 404
12.1 捲積神經網絡的曆史 405
12.1.1 眼在何方?路在何方? 405
12.1.2 捲積神經網絡的曆史脈絡 406
12.1.3 那場著名的學術賭局 410
12.2 捲積神經網絡的概念 412
12.2.1 捲積的數學定義 412
12.2.2 生活中的捲積 413
12.3 圖像處理中的捲積 414
12.3.1 計算機“視界”中的圖像 414
12.3.2 什麼是捲積核 415
12.3.3 捲積在圖像處理中的應用 418
12.4 捲積神經網絡的結構 420
12.5 捲積層要義 422
12.5.1 捲積層的設計動機 422
12.5.2 捲積層的局部連接 427
12.5.3 捲積層的3個核心概念 428
12.6 細說激活層 434
12.6.1 兩個看似閑扯的問題 434
12.6.2 追尋問題的本質 435
12.6.3 ReLU的理論基礎 437
12.6.4 ReLU的不足之處 441
12.7 詳解池化層 442
12.8 勿忘全連接層 445
12.9 本章小結 446
12.10 請你思考 447
參考資料 448
第13章 紙上談兵終覺淺,絕知捲積要編程 450
13.1 TensorFlow的CNN架構 451
13.2 捲積層的實現 452
13.2.1 TensorFlow中的捲積函數 452
13.2.2 圖像處理中的常用捲積核 456
13.3 激活函數的使用 460
13.3.1 Sigmoid函數 460
13.3.2 Tanh函數 461
13.3.3 修正綫性單元——ReLU 462
13.3.4 Dropout函數 462
13.4 池化層的實現 466
13.5 規範化層 470
13.5.1 為什麼需要規範化 470
13.5.2 局部響應規範化 472
13.5.3 批規範化 475
13.6 捲積神經網絡在MNIST分類器中的應用 480
13.6.1 數據讀取 480
13.6.2 初始化權值和偏置 480
13.6.3 捲積和池化 482
13.6.4 構建第一個捲積層 482
13.6.5 構建第二個捲積層 483
13.6.6 實現全連接層 484
13.6.7 實現Dropout層 485
13.6.8 實現Readout層 485
13.6.9 參數訓練與模型評估 485
13.7 經典神經網絡——AlexNet的實現 488
13.7.1 AlexNet的網絡架構 488
13.7.2 數據讀取 490
13.7.3 初始化權值和偏置 491
13.7.4 捲積和池化 491
13.7.5 局部響應歸一化層 492
13.7.6 構建捲積層 492
13.7.7 實現全連接層和Dropout層 493
13.7.8 實現Readout層 494
13.7.9 參數訓練與模型評估 494
13.8 本章小結 495
13.9 請你思考 496
參考資料 496
第14章 循環遞歸RNN,序列建模套路深 498
14.1 你可能不具備的一種思維 499
14.2 標準神經網絡的缺陷所在 501
14.3 RNN簡史 502
14.3.1 Hopfield網絡 503
14.3.2 Jordan遞歸神經網絡 504
14.3.3 Elman遞歸神經網絡 505
14.3.4 RNN的應用領域 506
14.4 RNN的理論基礎 506
14.4.1 Elman遞歸神經網絡 506
14.4.2 循環神經網絡的生物學機理 508
14.5 RNN的結構 509
14.6 循環神經網絡的訓練 512
14.6.1 問題建模 512
14.6.2 確定優化目標函數 513
14.6.3 參數求解 513
14.7 基於RNN的TensorFlow實戰——正弦序列預測 514
14.7.1 生成數據 516
14.7.2 定義權值和偏置 517
14.7.3 前嚮傳播 519
14.7.4 定義損失函數 522
14.7.5 參數訓練與模型評估 522
14.8 本章小結 524
14.9 請你思考 524
參考資料 525
第15章 LSTM長短記,長序依賴可追憶 526
15.1 遺忘是好事還是壞事 527
15.2 施密德鬍伯是何人 527
15.3 為什麼需要LSTM 529
15.4 拆解LSTM 530
15.4.1 傳統RNN的問題所在 530
15.4.2 改造的神經元 531
15.5 LSTM的前嚮計算 533
15.5.1 遺忘門 534
15.5.2 輸入門 535
15.5.3 候選門 536
15.5.4 輸齣門 537
15.6 LSTM的訓練流程 539
15.7 自然語言處理的一個假設 540
15.8 詞嚮量錶示方法 542
15.8.1 獨熱編碼錶示 543
15.8.2 分布式錶示 545
15.8.3 詞嵌入錶示 547
15.9 自然語言處理的統計模型 549
15.9.1 NGram模型 549
15.9.2 基於神經網絡的語言模型 550
15.9.3 基於循環神經網絡的語言模型 553
15.9.4 LSTM語言模型的正則化 556
15.10 基於Penn Tree Bank的自然語言處理實戰 560
15.10.1 下載及準備PTB數據集 561
15.10.2 導入基本包 562
15.10.3 定義相關的參數 562
15.10.4 語言模型的實現 563
15.10.5 訓練並返迴perplexity值 573
15.10.6 定義主函數並運行 575
15.10.7 運行結果 578
15.11 本章小結 579
15.12 請你思考 580
參考資料 580
第16章 捲積網絡雖動人,膠囊網絡更傳“神” 583
16.1 從神經元到神經膠囊 584
16.2 捲積神經網絡麵臨的挑戰 584
16.3 神經膠囊的提齣 588
16.4 神經膠囊理論初探 591
16.4.1 神經膠囊的生物學基礎 591
16.4.2 神經膠囊網絡的哲學基礎 592
16.5 神經膠囊的實例化參數 594
16.6 神經膠囊的工作流程 598
16.6.1 神經膠囊嚮量的計算 598
16.6.2 動態路由的工作機理 600
16.6.3 判斷多數字存在性的邊緣損失函數 606
16.6.4 膠囊神經網絡的結構 607
16.7 CapsNet的驗證與實驗 614
16.7.1 重構和預測效果 614
16.7.2 膠囊輸齣嚮量的維度錶徵意義 616
16.7.3 重疊圖像的分割 617
16.8 神經膠囊網絡的TensorFlow實現 618
16.8.1 導入基本包及讀取數據集 619
16.8.2 圖像輸入 619
16.8.3 捲積層Conv1的實現 619
16.8.4 PrimaryCaps層的實現 620
16.8.5 全連接層 622
16.8.6 路由協議算法 628
16.8.7 估計實體齣現的概率 630
16.8.8 損失函數的實現 631
16.8.9 額外設置 639
16.8.10 訓練和評估 640
16.8.11 運行結果 643
16.9 本章小結 644
16.10 請你思考 645
16.11 深度學習美在何處 646
參考資料 647
後記 648
索引 651
· · · · · · (
收起)