深度學習圖解 (Grokking Deep Learning)

[美]安德魯·特拉斯克(Andrew W. Trask)著 王曉雷 嚴烈 譯

  • 深度學習圖解 (Grokking Deep Learning)-preview-1
  • 深度學習圖解 (Grokking Deep Learning)-preview-2
  • 深度學習圖解 (Grokking Deep Learning)-preview-3
深度學習圖解 (Grokking Deep Learning)-preview-1

買這商品的人也買了...

商品描述

主要內容: 深度學習的基礎科學原理,自行設計和訓練神經網絡,隱私保護的知識,包括聯邦學習,幫助你繼續深度學習之旅的建議。

作者簡介

Andrew W. Trask是Digital Reasoning公司機器學習實驗室的創始成員,該實驗室致力於自然語言處理、圖像識別和音頻轉錄的深度學習研究。

幾個月內,Andrew和他的伙伴們就在情緒分類和詞性標註方面發表了超過業界最佳方案的結果。

他訓練了世界上最大的人工神經網絡,擁有超過1600億個參數,實驗結果發表在ICML(International Conference on Machine Learning)上,還有一部分結果發表在Journal of Machine Learning(JML)上。

他在Digital Reasoning公司擔任文本處理和音頻分析的產品經理,負責仿真認知計算平台的架構設計,深度學習是這一平台的核心能力。

目錄大綱

 

第1章 深度學習簡介:為什麼應該學習深度學習 1

1.1 歡迎閱讀《深度學習圖解》 1

1.2 為什麼要學習深度學習 2

1.3 這很難學嗎? 3

1.4 為什麼要閱讀本書 3

1.5 準備工作 4

1.6 你可能需要掌握一部分Python知識 5

1.7 本章小結 6

 

第2章 基本概念:機器該如何學習?7

2.1 什麼是深度學習? 7

2.2 什麼是機器學習?8

2.3 監督機器學習 9

2.4 無監督機器學習 10

2.5 參數學習和非參數學習 10

2.6 監督參數學習 11

2.7 無監督參數學習 13

2.8 非參數學習 14

2.9 本章小結 15

 

第3章 神經網絡預測導論:前向傳播 17

3.1 什麼是預測 17

3.2 能夠進行預測的簡單神經網絡 19

3.3 什麼是神經網絡? 20

3.4 這個神經網絡做了什麼? 21

3.5 使用多個輸入進行預測 23

3.6 多個輸入:這個神經網絡做了什麼? 24

3.7 多個輸入:完整的可運行代碼 29

3.8 預測多個輸出 30

3.9 使用多個輸入和輸出進行預測 32

3.10 多輸入多輸出神經網絡的工作原理 33

3.11 用預測結果進一步預測 35

3.12 NumPy快速入門 37

3.13 本章小結 40

 

第4章 神經網絡學習導論:梯度下降 41

4.1 預測、比較和學習 41

4.2 什麼是比較 42

4.3 學習 42

4.4 比較:你的神經網絡是否做出了好的預測?43

4.5 為什麼需要測量誤差?44

4.6 最簡單的神經學習形式是什麼?45

4.7 冷熱學習 46

4.8 冷熱學習的特點 47

4.9 基於誤差調節權重 48

4.10 梯度下降的一次迭代 50

4.11 學習就是減少誤差 52

4.12 回顧學習的步驟 54

4.13 權重增量到底是什麼? 55

4.14 狹隘的觀點 57

4.15 插著小棍的盒子 58

4.16 導數:兩種方式 59

4.17 你真正需要知道的 60

4.18 你不需要知道的 60

4.19 如何使用導數來學習 61

4.20 看起來熟悉嗎? 62

4.21 破壞梯度下降 63

4.22 過度修正的可視化 64

4.23 發散 65

4.24 引入α 66

4.25 在代碼中實現α 66

4.26 記憶背誦 67

 

第5章 通用梯度下降:一次學習多個權重 69

5.1 多輸入梯度下降學習 69

5.2 多輸入梯度下降詳解 71

5.3 回顧學習的步驟 75

5.4 單項權重凍結:它有什麼作用? 77

5.5 具有多個輸出的梯度下降學習 79

5.6 具有多個輸入和輸出的梯度下降 81

5.7 這些權重學到了什麼? 83

5.8 權重可視化 85

5.9 點積(加權和)可視化 86

5.10 本章小結 87

 

第6章 建立你的第一個深度神經網絡:反向傳播 89

6.1 交通信號燈問題 89

6.2 準備數據 91

6.3 矩陣和矩陣關係 92

6.4 使用Python創建矩陣 95

6.5 建立神經網絡 96

6.6 學習整個數據集 97

6.7 完全、批量和隨機梯度下降 97

6.8 神經網絡對相關性的學習 98

6.9 向上與向下的壓力 99

6.10 邊界情況:過擬合 101

6.11 邊界情況:壓力衝突 101

6.12 學習間接相關性 103

6.13 創建關聯 104

6.14 堆疊神經網絡:回顧 105

6.15 反向傳播:遠程錯誤歸因 106

6.16 反向傳播:為什麼有效? 107

6.17 線性與非線性 107

6.18 為什麼神經網絡仍然不起作用 109

6.19 選擇性相關的秘密 110

6.20 快速沖刺 111

6.21 你的第一個深度神經網絡 111

6.22 反向傳播的代碼 112

6.23 反向傳播的一次迭代 114

6.24 整合代碼 116

6.25 為什麼深度網絡這麼重要? 117

 

第7章 如何描繪神經網絡:在腦海裡,在白紙上 119

7.1 到了簡化的時候了 119

7.2 關聯抽象 120

7.3 舊的可視化方法過於復雜 121

7.4 簡化版可視化 122

7.5 進一步簡化 123

7.6 觀察神經網絡是如何進行預測的 124

7.7 用字母而不是圖片來進行可視化 125

7.8 連接變量 126

7.9 信息整合 127

7.10 可視化工具的重要性 127

 

第8章 學習信號,忽略噪聲:正則化和批處理介紹 129

8.1 用在MNIST上的三層網絡 129

8.2 好吧,這很簡單 131

8.3 記憶與泛化 132

8.4 神經網絡中的過擬合 133

8.5 過擬合從何而來 134

8.6 最簡單的正則化:提前停止 135

8.7 行業標準正則化:dropout 136

8.8 為什麼dropout有效:整合是有效的 137

8.9 dropout的代碼 137

8.10 在MNIST數據集上對dropout進行測試 139

8.11 批量梯度下降 140

8.12 本章小結 143

 

第9章 概率和非線性建模:激活函數 145

9.1 什麼是激活函數? 145

9.2 標準隱藏層激活函數 148

9.3 標準輸出層激活函數 149

9.4 核心問題:輸入具有相似性 151

9.5 計算softmax 152

9.6 激活函數使用說明 153

9.7 將增量與斜率相乘 156

9.8 將輸出轉換為斜率(導數) 157

9.9 升級MNIST網絡 157

 

第10章 卷積神經網絡概論:關於邊與角的神經學習 161

10.1 在多個位置復用權重 161

10.2 卷積層 162

10.3 基於NumPy的簡單實現 164

10.4 本章小結 167

 

第11章 能夠理解自然語言的神經網絡:國王-男人+女人=?169

11.1 理解語言究竟是指什麼? 170

11.2 自然語言處理(NLP) 170

11.3 監督NLP學習 171

11.4 IMDB電影評論數據集 172

11.5 在輸入數據中提取單詞相關性 173

11.6 對影評進行預測 174

11.7 引入嵌入層 175

11.8 解釋輸出 177

11.9 神經網絡結構 178

11.10 單詞嵌入表達的對比 180

11.11 神經元是什麼意思? 181

11.12 完形填空 182

11.13 損失函數的意義 183

11.14 國王-男人+女人~=女王 186

11.15 單詞類比 187

11.16 本章小結 188

 

第12章 像莎士比亞一樣寫作的神經網絡:變長數據的遞歸層 189

12.1 任意長度的挑戰 189

12.2 做比較真的重要嗎?190

12.3 平均詞向量的神奇力量 191

12.4 信息是如何存儲在這些向量嵌入中的?192

12.5 神經網絡是如何使用嵌入的?193

12.6 詞袋向量的局限 194

12.7 用單位向量求詞嵌入之和 195

12.8 不改變任何東西的矩陣 196

12.9 學習轉移矩陣 197

12.10 學習創建有用的句子向量 198

12.11 Python下的前向傳播 199

12.12 如何反向傳播?200

12.13 讓我們訓練它!201

12.14 進行設置 201

12.15 任意長度的前向傳播 202

12.16 任意長度的反向傳播 203

12.17 任意長度的權重更新 204

12.18 運行代碼,並分析輸出 205

12.19 本章小結 207

 

第13章 介紹自動優化:搭建深度學習框架 209

13.1 深度學習框架是什麼?209

13.2 張量介紹 210

13.3 自動梯度計算(autograd)介紹 211

13.4 快速檢查 213

13.5 多次使用的張量 214

13.6 升級autograd以支持多次使用的張量 215

13.7 加法的反向傳播如何工作?217

13.8 增加取負值操作的支持 218

13.9 添加更多函數的支持 219

13.10 使用autograd訓練神經網絡 222

13.11 增加自動優化 224

13.12 添加神經元層類型的支持 225

13.13 包含神經元層的神經元層 226

13.14 損失函數層 227

13.15 如何學習一個框架 228

13.16 非線性層 228

13.17 嵌入層 230

13.18 將下標操作添加到autograd 231

13.19 再看嵌入層 232

13.20 交叉熵層 233

13.21 遞歸神經網絡層 235

13.22 本章小結 238

 

第14章 像莎士比亞一樣寫作:長短期記憶網絡 239

14.1 字符語言建模 239

14.2 截斷式反向傳播的必要性 240

14.3 截斷式反向傳播 241

14.4 輸出樣例 244

14.5 梯度消失與梯度激增 245

14.6 RNN反向傳播的小例子 246

14.7 長短期記憶(LSTM)元胞 247

14.8 關於LSTM門限的直觀理解 248

14.9 長短期記憶層 249

14.10 升級字符語言模型 250

14.11 訓練LSTM字符語言模型 251

14.12 調優LSTM字符語言模型 252

14.13 本章小結 253

 

第15章 在看不見的數據上做深度學習:聯邦學習導論 255

15.1 深度學習的隱私問題 255

15.2 聯邦學習 256

15.3 學習檢測垃圾郵件 257

15.4 讓我們把它聯邦化 259

15.5 深入聯邦學習 260

15.6 安全聚合 261

15.7 同態加密 262

15.8 同態加密聯邦學習 263

15.9 本章小結 264

 

第16章 往哪裡去:簡要指引 265