本書的主要內(nèi)容有:了解機器學習術(shù)語背后的數(shù)學知識。探究機器學習和神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)。管理網(wǎng)絡(luò)加深過程出現(xiàn)的問題。搭建神經(jīng)網(wǎng)絡(luò),分析復雜圖像。用自編碼器高效降維。深入序列分析,用其研究語言。探討復雜機器學習模型的解釋方法。收獲生成建模的理論和實用知識。理解強化學習的基礎(chǔ)。
Nithin Buduma是Cresta公司的機器學習科學家。該公司是客服中心智能這一領(lǐng)域的引領(lǐng)者。Nikhil Buduma是舊金山Remedy公司的合伙人和首席科學家。該公司為醫(yī)療保健服務(wù)開發(fā)自主技術(shù)。Joe Papa是TeachMe.AI的創(chuàng)辦者,擁有25年以上的研究和開發(fā)經(jīng)驗。他在Booz Allen公司和Perspecta公司的研究部門帶過AI研究團隊,擁有豐富的PyTorch使用經(jīng)驗。
目錄
前言 1
第1 章 深度學習線性代數(shù)入門 7
1.1 數(shù)據(jù)結(jié)構(gòu)和運算 7
1.1.1 矩陣運算 9
1.1.2 向量運算 .12
1.1.3 矩陣—向量乘法 13
1.2 基本空間14
1.2.1 列空間 14
1.2.2 零空間 16
1.3 特征向量和特征值 19
1.4 小結(jié) .22
第2 章 概率論基礎(chǔ) 23
2.1 事件和概率 23
2.2 條件概率26
2.3 隨機變量28
2.4 期望 .30
2.5 方差 .32
2.6 貝葉斯定理 34
2.7 熵、交叉熵和KL 散度 35
2.8 連續(xù)概率分布 .39
2.9 小結(jié) .43
第3 章 神經(jīng)網(wǎng)絡(luò) 45
3.1 構(gòu)建智能體 45
3.2 傳統(tǒng)計算機程序的局限 .46
3.3 機器學習原理 .47
3.4 神經(jīng)元 51
3.5 用神經(jīng)元表示線性感知器 53
3.6 前饋神經(jīng)網(wǎng)絡(luò) .54
3.7 線性神經(jīng)元及其限制 57
3.8 sigmoid、Tanh 和ReLU 神經(jīng)元 58
3.9 softmax 輸出層 60
3.10 小結(jié) 60
第4 章 訓練前饋神經(jīng)網(wǎng)絡(luò) .63
4.1 快餐問題63
4.2 梯度下降65
4.3 Delta 法則和學習率 .66
4.4 sigmoid 神經(jīng)元的梯度下降 .68
4.5 反向傳播算法 .69
4.6 隨機和小批量梯度下降 .71
4.7 測試集、驗證集和過擬合 73
4.8 深度神經(jīng)網(wǎng)絡(luò)防過擬合 .79
4.9 小結(jié) .84
第5 章 用PyTorch 實現(xiàn)神經(jīng)網(wǎng)絡(luò) 85
5.1 PyTorch 簡介 85
5.2 安裝PyTorch 85
5.3 PyTorch 張量 86
5.3.1 張量初始化 87
5.3.2 張量的屬性 87
5.3.3 張量運算 .89
5.4 PyTorch 中的梯度 .92
5.5 PyTorch nn 模塊 93
5.6 PyTorch 數(shù)據(jù)集和數(shù)據(jù)加載器 97
5.7 用PyTorch 構(gòu)建MNIST 分類器 99
5.8 小結(jié) 103
第6 章 超越梯度下降 105
6.1 梯度下降的挑戰(zhàn) .105
6.2 深度網(wǎng)絡(luò)誤差曲面的局部最小值 106
6.3 模型的可識別性 .107
6.4 深度網(wǎng)絡(luò)虛假局部最小值有多討厭? .108
6.5 誤差曲面的平緩區(qū)域 111
6.6 當梯度指錯方向 . 114
6.7 基于動量的優(yōu)化 . 117
6.8 二階方法簡述 120
6.9 學習率自適應(yīng) 121
6.9.1 AdaGrad 算法——累積歷史梯度 .121
6.9.2 RMSProp 算法——梯度的指數(shù)加權(quán)移動平均 123
6.9.3 Adam 算法——整合動量和RMSProp 算法 124
6.10 關(guān)于優(yōu)化器選擇的思考 126
6.11 小結(jié) 126
第7 章 卷積神經(jīng)網(wǎng)絡(luò) 127
7.1 人類視覺神經(jīng)元 .127
7.2 特征選擇的不足 .128
7.3 原始深度神經(jīng)網(wǎng)絡(luò)無法擴展 .130
7.4 濾波器和特征圖 .131
7.5 卷積層的完整描述 .136
7.6 最大匯聚.140
7.7 卷積網(wǎng)絡(luò)全架構(gòu) .141
7.8 用卷積網(wǎng)絡(luò)完成MNIST 示例 .142
7.9 圖像預處理流水線讓模型更健壯 145
7.10 用批量歸一化加速訓練 146
7.11 組歸一化適用于內(nèi)存受限的學習任務(wù) 148
7.12 為CIFAR-10 構(gòu)建卷積網(wǎng)絡(luò) 150
7.13 可視化卷積網(wǎng)絡(luò)中的學習152
7.14 極深網(wǎng)絡(luò)的殘差學習和跳躍連接 156
7.15 構(gòu)造具有超人視覺的殘差網(wǎng)絡(luò) .158
7.16 利用卷積濾波器復制藝術(shù)風格 .162
7.17 用卷積濾波器解決其他領(lǐng)域的問題 163
7.18 小結(jié) 164
第8 章 嵌入和表示學習 165
8.1 學習低維表示 165
8.2 主成分分析 166
8.3 自編碼器架構(gòu)的動機 168
8.4 用PyTorch 實現(xiàn)自編碼器 169
8.5 去噪讓表示更健壯 .178
8.6 自編碼器中的稀疏性問題 .181
8.7 上下文比輸入向量包含更多信息 184
8.8 Word2Vec 框架 186
8.9 實現(xiàn)Skip-Gram 架構(gòu) 189
8.10 小結(jié) 196
第9 章 序列分析模型 197
9.1 分析不定長輸入 .197
9.2 用神經(jīng)N-Grams 處理seq2seq 問題 .198
9.3 實現(xiàn)詞性標注器 .199
9.4 依存分析和SyntaxNet 框架 .205
9.5 束搜索和全局標準化 211
9.6 有狀態(tài)深度學習模型示例 .215
9.7 循環(huán)神經(jīng)網(wǎng)絡(luò) 216
9.8 梯度消失難題 218
9.9 長短期記憶單元 .221
9.10 PyTorch 庫的RNN 模型基礎(chǔ)版 226
9.11 實現(xiàn)情感分析模型 227
9.12 用循環(huán)神經(jīng)網(wǎng)絡(luò)解決seq2seq 任務(wù) .233
9.13 用注意力增強循環(huán)網(wǎng)絡(luò) 236
9.14 神經(jīng)翻譯網(wǎng)絡(luò)剖析 238
9.15 自注意力機制和transformer 模型 249
9.16 小結(jié) 251
第10 章 生成模型 253
10.1 生成對抗網(wǎng)絡(luò) 253
10.2 變分自編碼器 259
10.3 實現(xiàn)VAE .269
10.4 基于分值的生成模型 .274
10.5 去噪自編碼器和分值匹配279
10.6 小結(jié) 284
第11 章 模型解釋方法 . 285
11.1 概覽 285
11.2 決策樹和基于樹的算法 286
11.3 線性回歸 289
11.4 評估特征重要性的方法 290
11.4.1 特征重要性排列 .290
11.4.2 部分依賴圖 291
11.5 根由萃取 293
11.6 LIME 方法 298
11.7 SHAP 方法 302
11.8 小結(jié) 307
第12 章 記憶增強神經(jīng)網(wǎng)絡(luò) 309
12.1 神經(jīng)圖靈機 .309
12.2 基于注意力的存儲訪問 311
12.3 NTM 存儲尋址機制 313
12.4 可微分神經(jīng)計算機 317
12.5 DNC 免沖突寫入機制 319
12.6 DNC 存儲重用 320
12.7 DNC 寫入的臨時連接 321
12.8 理解DNC 讀取頭 322
12.9 DNC 控制器網(wǎng)絡(luò) .323
12.10 DNC 可視化實踐 325
12.11 用PyTorch 實現(xiàn)DNC .327
12.12 教DNC 閱讀和理解 331
12.13 小結(jié) .334
第13 章 深度強化學習 . 335
13.1 深度強化學習掌握Atari 游戲玩法 .335
13.2 強化學習是什么? 336
13.3 馬爾科夫決策過程 338
13.3.1 策略 340
13.3.2 未來獎賞 340
13.3.3 折扣未來獎賞 341
13.4 探討還是利用 342
13.4.1 貪婪 .343
13.5 策略和價值學習 344
13.6 用策略梯度解決倒立擺平衡問題 345
13.6.1 OpenAI Gym 工具集 345
13.6.2 創(chuàng)建智能體345
13.6.3 構(gòu)建模型和優(yōu)化器 347
13.6.4 采樣行動 348
13.6.5 跟蹤歷史 348
13.6.6 策略梯度主函數(shù) .349
13.6.7 PGAgent 解決倒立擺平衡任務(wù)的性能 351
13.7 信賴域策略優(yōu)化 352
13.8 近端策略優(yōu)化 357
13.9 Q- 學習和深度Q 網(wǎng)絡(luò) 358
13.9.1 Bellman 等式 358
13.9.2 價值迭代問題 359
13.9.3 近似Q 函數(shù) 360
13.9.4 Deep Q-Network .360
13.9.5 訓練DQN 360
13.9.6 學習穩(wěn)定性361
13.9.7 目標Q 網(wǎng)絡(luò) 361
13.9.8 經(jīng)驗回放 361
13.9.9 從Q 函數(shù)到策略 362
13.9.10 DQN 和馬爾科夫假設(shè) 362
13.9.11 馬爾科夫假設(shè)的DQN 解決方案 .362
13.9.12 用DQN 玩Breakout 游戲 363
13.9.13 構(gòu)建架構(gòu) .366
13.9.14 堆疊幀 366
13.9.15 搭建訓練操作流水線 .366
13.9.16 更新目標Q 網(wǎng)絡(luò) .367
13.9.17 實現(xiàn)經(jīng)驗回放 367
13.9.18 DQN 主循環(huán) 368
13.9.19 用DQNAgent 玩Breakout 游戲的結(jié)果分析370
13.10 改進并超越DQN 371
13.10.1 深度循環(huán)Q 網(wǎng)絡(luò) .371
13.10.2 異步優(yōu)勢演員—評論員智能體 .372
13.10.3 無監(jiān)督強化學習和輔助學習373
13.11 小結(jié) .374