本書主要講述了深度學習中的重要概念和技術(shù),并展示了如何使用TensorFlow實現(xiàn)高級機器學習算法和神經(jīng)網(wǎng)絡。本書首先介紹了數(shù)據(jù)科學和機器學習中的基本概念,然后講述如何使用TensorFlow訓練深度學習模型,以及如何通過訓練深度前饋神經(jīng)網(wǎng)絡對數(shù)字進行分類,如何通過深度學習架構(gòu)解決計算機視覺、語言處理、語義分析等方面的實際問題,*后討論了高級的深度學習模型,如生成對抗網(wǎng)絡及其應用。
深度學習是機器學習中的一個流行子集,能夠幫助用戶更快速地構(gòu)建復雜模型,并提供更準確的預測。《深度學習案例精粹》將帶領讀者進入深度學習的世界,通過實際操作示例來加深理解。 1.《深度學習案例精粹》語言簡練,通過問題簡述、方法概括及代碼,讓讀者可以盡快理解并上手深度學習的算法。 2.《深度學習案例精粹》給出的代碼非常詳細,可以直接運行,可以為急于將深度學習應用于實際項目的工程師提供有力幫助,讀者可至異步社區(qū)下載源代碼及彩圖文件。 3.《深度學習案例精粹》涵蓋了大多數(shù)的主流深度學習任務,包括圖像領域的圖像識別、目標檢測任務,自然語言處理中的詞嵌入、情感分析任務,以及無監(jiān)督學習任務等。還介紹了幾個深度學習的經(jīng)典模型,當下深度學習的大多數(shù)模型都是在這些基礎模型上的改進與組合,不同領域的從業(yè)人員或多或少都能從中獲得啟發(fā)。 4.《深度學習案例精粹》使用目前廣泛應用的深度學習框架之一TensorFlow以及非常流行的Python語言進行代碼示例,想要進一步學習的讀者將會有極多的社區(qū)資源。
艾哈邁德·曼肖伊(Ahmed Menshawy)是愛爾蘭都柏林三一學院的研究工程師。他在機器學習和自然語言處理領域擁有超過5年的工作經(jīng)驗,并擁有計算機科學碩士學位。他曾在埃及開羅阿勒旺大學(Helwan University)計算機科學系做教學助理,負責機器學習和自然語言處理課程,如機器學習、圖像處理等,并參與設計了阿拉伯文字到語音的系統(tǒng)。此外,他還是埃及的IST Networks工業(yè)研發(fā)實驗室的機器學習專家。
第 1章 數(shù)據(jù)科學鳥瞰全景 1
1.1 通過示例了解數(shù)據(jù)科學 2
1.2 設計數(shù)據(jù)科學算法的流程 7
1.2.1 數(shù)據(jù)預處理 8
1.2.2 特征選擇 8
1.2.3 模型選擇 9
1.2.4 學習過程 9
1.2.5 評估模型 9
1.3 開始學習 10
1.4 實現(xiàn)魚類識別/檢測模型 12
1.4.1 知識庫/數(shù)據(jù)集 12
1.4.2 數(shù)據(jù)分析預處理 14
1.4.3 搭建模型 17
1.5 不同學習類型 22
1.5.1 監(jiān)督學習 22
1.5.2 無監(jiān)督學習 23
1.5.3 半監(jiān)督學習 24
1.5.4 強化學習 24
1.6 數(shù)據(jù)量和行業(yè)需求 25
1.7 總結(jié) 25
第 2章 數(shù)據(jù)建模實戰(zhàn)泰坦尼克號示例 27
2.1 線性回歸模型 27
2.1.1 原因 28
2.1.2 廣告 一個財務方面的例子 28
2.2 線性分類模型 36
2.3 泰坦尼克號示例建立和訓練模型 38
2.3.1 數(shù)據(jù)處理和可視化 39
2.3.2 數(shù)據(jù)分析監(jiān)督機器學習 44
2.4 不同類型的誤差解析 47
2.5 表現(xiàn)(訓練集)誤差 47
2.6 泛化/真實誤差 48
2.7 總結(jié) 48
第3章 特征工程與模型復雜性重溫泰坦尼克號示例 49
3.1 特征工程 49
3.1.1 特征工程的類型 50
3.1.2 重溫泰坦尼克號示例 51
3.2 維度災難 62
3.3 重溫泰坦尼克號示例融會貫通 64
3.4 偏差-方差分解 78
3.5 學習可見性 80
3.6 總結(jié) 80
第4章 TensorFlow入門實戰(zhàn) 82
4.1 安裝TensorFlow 82
4.1.1 在Ubuntu 16.04系統(tǒng)上安裝GPU版的TensorFlow 83
4.1.2 在Ubuntu 16.04系統(tǒng)上安裝CPU版的TensorFlow 86
4.1.3 在Mac OS X上安裝CPU版的TensorFlow 88
4.1.4 在Windows系統(tǒng)上安裝CPU/GPU版的TensorFlow 88
4.2 TensorFlow運行環(huán)境 89
4.3 計算圖 90
4.4 TensorFlow中的數(shù)據(jù)類型、變量、占位符 91
4.4.1 變量 91
4.4.2 占位符 92
4.4.3 數(shù)學運算 92
4.5 獲取TensorFlow的輸出 94
4.6 TensorBoard可視化學習過程 95
4.7 總結(jié) 101
第5章 TensorFlow基礎示例實戰(zhàn) 102
5.1 神經(jīng)元的結(jié)構(gòu) 102
5.2 激活函數(shù) 104
5.2.1 sigmoid 105
5.2.2 tanh 105
5.2.3 ReLU 105
5.3 前饋神經(jīng)網(wǎng)絡 106
5.4 需要多層網(wǎng)絡的原因 107
5.4.1 訓練MLP反向傳播算法 108
5.4.2 前饋傳播 109
5.4.3 反向傳播和權(quán)值更新 110
5.5 TensorFlow術(shù)語回顧 110
5.5.1 使用Tensorflow定義多維數(shù)組 112
5.5.2 為什么使用張量 114
5.5.3 變量 115
5.5.4 占位符 116
5.5.5 操作 117
5.6 構(gòu)建與訓練線性回歸模型 118
5.7 構(gòu)建與訓練邏輯回歸模型 123
5.8 總結(jié) 130
第6章 深度前饋神經(jīng)網(wǎng)絡實現(xiàn)數(shù)字分類 131
6.1 隱藏單元與架構(gòu)設計 131
6.2 MNIST數(shù)據(jù)集分析 133
6.3 數(shù)字分類構(gòu)建與訓練模型 135
6.3.1 分析數(shù)據(jù) 137
6.3.2 構(gòu)建模型 140
6.3.3 訓練模型 144
6.4 總結(jié) 148
第7章 卷積神經(jīng)網(wǎng)絡 149
7.1 卷積運算 149
7.2 動機 152
7.3 CNN的不同層 153
7.3.1 輸入層 153
7.3.2 卷積步驟 154
7.3.3 引入非線性 155
7.3.4 池化步驟 156
7.3.5 全連接層 157
7.4 CNN基礎示例MNIST手寫數(shù)字分類 159
7.4.1 構(gòu)建模型 162
7.4.2 訓練模型 167
7.5 總結(jié) 174
第8章 目標檢測CIFAR-10示例 175
8.1 目標檢測 175
8.2 CIFAR-10目標圖像檢測構(gòu)建與訓練模型 176
8.2.1 使用軟件包 176
8.2.2 加載CIFAR-10數(shù)據(jù)集 177
8.2.3 數(shù)據(jù)分析與預處理 178
8.2.4 建立網(wǎng)絡 183
8.2.5 訓練模型 186
8.2.6 測試模型 191
8.3 總結(jié) 195
第9章 目標檢測CNN遷移學習 196
9.1 遷移學習 196
9.1.1 遷移學習背后的直覺 197
9.1.2 傳統(tǒng)機器學習與遷移學習之間的不同 198
9.2 CIFAR-10目標檢測回顧 199
9.2.1 解決方案大綱 199
9.2.2 加載和探索CIFAR-10數(shù)據(jù)集 200
9.2.3 inception模型遷移值 204
9.2.4 遷移值分析 207
9.2.5 模型構(gòu)建與訓練 211
9.3 總結(jié) 219
第 10章 循環(huán)神經(jīng)網(wǎng)絡語言模型 220
10.1 RNN的直觀解釋 220
10.1.1 RNN的架構(gòu) 221
10.1.2 RNN的示例 222
10.1.3 梯度消失問題 224
10.1.4 長期依賴問題 225
10.2 LSTM網(wǎng)絡 226
10.3 語言模型的實現(xiàn) 227
10.3.1 生成訓練的最小批 230
10.3.2 構(gòu)建模型 232
10.3.3 訓練模型 238
10.4 總結(jié) 243
第 11章 表示學習實現(xiàn)詞嵌入 244
11.1 表示學習簡介 244
11.2 Word2Vec 245
11.3 skip-gram架構(gòu)的一個實際例子 248
11.4 實現(xiàn)skip-gram Word2Vec 250
11.4.1 數(shù)據(jù)分析與預處理 251
11.4.2 構(gòu)建模型 257
11.4.3 訓練模型 259
11.5 總結(jié) 264
第 12章 神經(jīng)網(wǎng)絡在情感分析中的應用 265
12.1 常用的情感分析模型 265
12.1.1 RNN情感分析背景 267
12.1.2 梯度爆炸與梯度消失回顧 269
12.2 情感分析模型實現(xiàn) 270
12.2.1 Keras 270
12.2.2 數(shù)據(jù)分析與預處理 271
12.2.3 構(gòu)建模型 282
12.2.4 模型訓練和結(jié)果分析 284
12.3 總結(jié) 288
第 13章 自動編碼器特征提取和降噪 289
13.1 自動編碼器簡介 289
13.2 自動編碼器的示例 290
13.3 自動編碼器架構(gòu) 291
13.4 壓縮MNIST數(shù)據(jù)集 292
13.4.1 MNIST數(shù)據(jù)集 292
13.4.2 構(gòu)建模型 293
13.4.3 訓練模型 295
13.5 卷積自動編碼器 297
13.5.1 數(shù)據(jù)集 297
13.5.2 構(gòu)建模型 299
13.5.3 訓練模型 301
13.6 降噪自動編碼器 304
13.6.1 構(gòu)建模型 305
13.6.2 訓練模型 307
13.7 自動編碼器的應用 310
13.7.1 圖像著色 310
13.7.2 更多的應用 311
13.8 總結(jié) 311
第 14章 生成對抗網(wǎng)絡 312
14.1 直觀介紹 312
14.2 GAN的簡單實現(xiàn) 313
14.2.1 模型輸入 315
14.2.2 變量作用域 316
14.2.3 Leaky ReLU 316
14.2.4 生成器 317
14.2.5 判別器 318
14.2.6 構(gòu)建GAN網(wǎng)絡 319
14.2.7 訓練模型 322
14.2.8 從生成器中采樣 327
14.3 總結(jié) 328
第 15章 面部生成與標簽缺失處理 329
15.1 面部生成 329
15.1.1 獲取數(shù)據(jù) 330
15.1.2 探討數(shù)據(jù)集 331
15.1.3 構(gòu)建模型 332
15.2 用生成對抗網(wǎng)絡進行半監(jiān)督學習 340
15.2.1 直觀解釋 340
15.2.2 數(shù)據(jù)分析與預處理 341
15.2.3 構(gòu)建模型 345
15.3 總結(jié) 359
附錄A 實現(xiàn)魚類識別 360