內容提要
《深入淺出深度學習:原理剖析與Python實踐》介紹了深度學習相關的原理與套用,全書共分為三大部分,第一部分主要回顧了深度學習的發展歷史,以及Theano的使用;第二部分詳細講解了與深度學習相關的基礎知識,包括線性代數、機率論、機率圖模型、機器學習和最最佳化算法;在第三部分中,針對若干核心的深度學習模型,如自編碼器、受限玻爾茲曼機、遞歸神經網路和卷積神經網路等進行詳細的原理分析與講解,並針對不同的模型給出相應的具體套用。
《深入淺出深度學習:原理剖析與Python實踐》適合有一定高等數學、機器學習和Python編程基礎的在校學生、高校研究者或在企業中從事深度學習的工程師使用,書中對模型的原理與難點進行了深入分析,在每一章的最後都提供了詳細的參考文獻,讀者可以對相關的細節進行更深入的研究。最後,理論與實踐相結合,《深入淺出深度學習:原理剖析與Python實踐》針對常用的模型分別給出了相應的套用,讀者也可以在Github中下載和查看《深入淺出深度學習:原理剖析與Python實踐》的代碼。
目錄
第1 部分 概要 1
1 緒論 2
1.1 人工智慧、機器學習與深度學習的關係 3
1.1.1 人工智慧——機器推理 4
1.1.2 機器學習——數據驅動的科學 5
1.1.3 深度學習——大腦的仿真 8
1.2 深度學習的發展歷程 8
1.3 深度學習技術概述 10
1.3.1 從低層到高層的特徵抽象 11
1.3.2 讓網路變得更深 13
1.3.3 自動特徵提取 14
1.4 深度學習框架 15
2 Theano 基礎 19
2.1 符號變數 20
2.2 符號計算的抽象——符號計算圖模型 23
2.3 函式 26
2.3.1 函式的定義 26
2.3.2 Logistic回歸 27
2.3.3 函式的複製 29
2.4 條件表達式 31
2.5 循環 32
2.6 共享變數 39
2.7 配置 39
2.7.1 通過THEANO_FLAGS配置 40
2.7.2 通過. theanorc檔案配置 41
2.8 常用的Debug技巧 42
2.9 小結 43
第2 部分 數學與機器學習基礎篇 45
3 線性代數基礎 46
3.1 標量、向量、矩陣和張量 46
3.2 矩陣初等變換 47
3.3 線性相關與向量空間 48
3.4 範數 49
3.4.1 向量範數 49
3.4.2 矩陣範數 53
3.5 特殊的矩陣與向量 56
3.6 特徵值分解 57
3.7 奇異值分解 58
3.8 跡運算 60
3.9 樣例:主成分分析 61
4 機率統計基礎 64
4.1 樣本空間與隨機變數 65
4.2 機率分布與分布函式 65
4.3 一維隨機變數 66
4.3.1 離散型隨機變數和分布律 66
4.3.2 連續型隨機變數和機率密度函式 67
4.4 多維隨機變數 68
4.4.1 離散型二維隨機變數和聯合分布律 69
4.4.2 連續型二維隨機變數和聯合密度函式 69
4.5 邊緣分布 70
4.6 條件分布與鏈式法則 71
4.6.1 條件機率 71
4.6.2 鏈式法則 73
4.7 多維隨機變數的獨立性分析 73
4.7.1 邊緣獨立 74
4.7.2 條件獨立 74
4.8 數學期望、方差、協方差 75
4.8.1 數學期望 75
4.8.2 方差 76
4.8.3 協方差 76
4.8.4 協方差矩陣 78
4.9 資訊理論基礎 81
4.9.1 信息熵 81
4.9.2 條件熵 83
4.9.3 互信息 84
4.9.4 相對熵與交叉熵 84
5 機率圖模型 87
5.1 生成模型與判別模型 89
5.2 圖論基礎 90
5.2.1 圖的結構 90
5.2.2 子圖 91
5.2.3 路徑、跡、環與拓撲排序 92
5.3 貝葉斯網路 95
5.3.1 因子分解 96
5.3.2 局部馬爾科夫獨立性斷言 99
5.3.3 I-Map與因子分解 100
5.3.4 有效跡 103
5.3.5 D-分離與全局馬爾科夫獨立性 108
5.4 馬爾科夫網路 108
5.4.1 勢函式因子與參數化表示 109
5.4.2 馬爾科夫獨立性 111
5.5 變數消除 114
5.6 信念傳播 116
5.6.1 聚類圖 116
5.6.2 團樹 120
5.6.3 由變數消除構建團樹 123
5.7 MCMC採樣原理 126
5.7.1 隨機採樣 127
5.7.2 隨機過程與馬爾科夫鏈 128
5.7.3 MCMC採樣 132
5.7.4 Gibbs採樣 134
5.8 參數學習 137
5.8.1 最大似然估計 137
5.8.2 期望最大化算法 138
5.9 小結 140
6 機器學習基礎 142
6.1 線性模型 143
6.1.1 線性回歸 143
6.1.2 Logistic回歸 148
6.1.3 廣義的線性模型 150
6.2 支持向量機 151
6.2.1 最優間隔分類器 152
6.2.2 對偶問題 155
6.2.3 核函式 156
6.3 樸素貝葉斯 160
6.4 樹模型 162
6.4.1 特徵選擇 163
6.4.2 剪枝策略 165
6.5 聚類 166
6.5.1 距離度量 167
6.5.2 層次聚類 168
6.5.3 K-means聚類 171
6.5.4 譜聚類 172
7 數值計算與最最佳化 177
7.1 無約束極小值的最最佳化條件 177
7.2 梯度下降 179
7.2.1 傳統更新策略 181
7.2.2 動量更新策略 183
7.2.3 改進的動量更新策略 184
7.2.4 自適應梯度策略 187
7.3 共軛梯度 188
7.4 牛頓法 192
7.5 擬牛頓法 194
7.5.1 擬牛頓條件 194
7.5.2 DFP算法 195
7.5.3 BFGS算法 196
7.5.4 L-BFGS算法 197
7.6 約束最最佳化條件 200
第3 部分 理論與套用篇 205
8 前饋神經網路 206
8.1 生物神經元結構 207
8.2 人工神經元結構 208
8.3 單層感知機 209
8.4 多層感知機 212
8.5 激活函式 217
8.5.1 激活函式的作用 217
8.5.2 常用的激活函式 219
9 反向傳播與梯度消失 225
9.1 經驗風險最小化 227
9.2 梯度計算 228
9.2.1 輸出層梯度 228
9.2.2 隱藏層梯度 230
9.2.3 參數梯度 234
9.3 反向傳播 235
9.4 深度學習訓練的難點 237
9.4.1 欠擬合——梯度消失 237
9.4.2 過擬合 240
10 自編碼器及其相關模型 243
10.1 自編碼器 243
10.2 降噪自編碼器 245
10.3 棧式自編碼器 247
10.4 稀疏編碼器 250
10.5 套用:cifar10圖像分類 254
11 玻爾茲曼機及其相關模型 258
11.1 玻爾茲曼機 258
11.2 能量模型 261
11.2.1 能量函式 261
11.2.2 從能量函式到勢函式 262
11.2.3 從勢函式到機率分布 263
11.3 推斷 264
11.3.1 邊緣分布 265
11.3.2 條件分布 267
11.4 學習 270
11.4.1 最大似然估計 271
11.4.2 對比散度 274
11.5 套用:個性化推薦 276
11.5.1 個性化推薦概述 276
11.5.2 個性化推薦架構與算法 279
11.5.3 RBM與協同過濾 285
12 遞歸神經網路 291
12.1 Elman遞歸神經網路 292
12.2 時間反向傳播 295
12.3 長短時記憶網路 299
12.4 結構遞歸神經網路 302
12.5 套用:語言模型 308
12.5.1 N元統計模型 308
12.5.2 基於LSTM 構建語言模型 312
13 卷積神經網路 318
13.1 卷積運算 319
13.2 網路結構 320
13.3 卷積層 324
13.4 池化層 329
13.5 套用:文本分類 333