本書主要講述了深度學(xué)習(xí)中的重要概念和技術(shù),并展示了如何使用TensorFlow實現(xiàn)高級機器學(xué)習(xí)算法和神經(jīng)網(wǎng)絡(luò)。本書首先介紹了數(shù)據(jù)科學(xué)和機器學(xué)習(xí)中的基本概念,然后講述如何使用TensorFlow訓(xùn)練深度學(xué)習(xí)模型,以及如何通過訓(xùn)練深度前饋神經(jīng)網(wǎng)絡(luò)對數(shù)字進(jìn)行分類,如何通過深度學(xué)習(xí)架構(gòu)解決計算機視覺、語言處理、語義分析等方面的實際問題,*后討論了高級的深度學(xué)習(xí)模型,如生成對抗網(wǎng)絡(luò)及其應(yīng)用。
深度學(xué)習(xí)是機器學(xué)習(xí)中的一個流行子集,能夠幫助用戶更快速地構(gòu)建復(fù)雜模型,并提供更準(zhǔn)確的預(yù)測!渡疃葘W(xué)習(xí)案例精粹》將帶領(lǐng)讀者進(jìn)入深度學(xué)習(xí)的世界,通過實際操作示例來加深理解。 1.《深度學(xué)習(xí)案例精粹》語言簡練,通過問題簡述、方法概括及代碼,讓讀者可以盡快理解并上手深度學(xué)習(xí)的算法。 2.《深度學(xué)習(xí)案例精粹》給出的代碼非常詳細(xì),可以直接運行,可以為急于將深度學(xué)習(xí)應(yīng)用于實際項目的工程師提供有力幫助,讀者可至異步社區(qū)下載源代碼及彩圖文件。 3.《深度學(xué)習(xí)案例精粹》涵蓋了大多數(shù)的主流深度學(xué)習(xí)任務(wù),包括圖像領(lǐng)域的圖像識別、目標(biāo)檢測任務(wù),自然語言處理中的詞嵌入、情感分析任務(wù),以及無監(jiān)督學(xué)習(xí)任務(wù)等。還介紹了幾個深度學(xué)習(xí)的經(jīng)典模型,當(dāng)下深度學(xué)習(xí)的大多數(shù)模型都是在這些基礎(chǔ)模型上的改進(jìn)與組合,不同領(lǐng)域的從業(yè)人員或多或少都能從中獲得啟發(fā)。 4.《深度學(xué)習(xí)案例精粹》使用目前廣泛應(yīng)用的深度學(xué)習(xí)框架之一TensorFlow以及非常流行的Python語言進(jìn)行代碼示例,想要進(jìn)一步學(xué)習(xí)的讀者將會有極多的社區(qū)資源。
艾哈邁德·曼肖伊(Ahmed Menshawy)是愛爾蘭都柏林三一學(xué)院的研究工程師。他在機器學(xué)習(xí)和自然語言處理領(lǐng)域擁有超過5年的工作經(jīng)驗,并擁有計算機科學(xué)碩士學(xué)位。他曾在埃及開羅阿勒旺大學(xué)(Helwan University)計算機科學(xué)系做教學(xué)助理,負(fù)責(zé)機器學(xué)習(xí)和自然語言處理課程,如機器學(xué)習(xí)、圖像處理等,并參與設(shè)計了阿拉伯文字到語音的系統(tǒng)。此外,他還是埃及的IST Networks工業(yè)研發(fā)實驗室的機器學(xué)習(xí)專家。
第 1章 數(shù)據(jù)科學(xué)鳥瞰全景 1
1.1 通過示例了解數(shù)據(jù)科學(xué) 2
1.2 設(shè)計數(shù)據(jù)科學(xué)算法的流程 7
1.2.1 數(shù)據(jù)預(yù)處理 8
1.2.2 特征選擇 8
1.2.3 模型選擇 9
1.2.4 學(xué)習(xí)過程 9
1.2.5 評估模型 9
1.3 開始學(xué)習(xí) 10
1.4 實現(xiàn)魚類識別/檢測模型 12
1.4.1 知識庫/數(shù)據(jù)集 12
1.4.2 數(shù)據(jù)分析預(yù)處理 14
1.4.3 搭建模型 17
1.5 不同學(xué)習(xí)類型 22
1.5.1 監(jiān)督學(xué)習(xí) 22
1.5.2 無監(jiān)督學(xué)習(xí) 23
1.5.3 半監(jiān)督學(xué)習(xí) 24
1.5.4 強化學(xué)習(xí) 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 廣告 一個財務(wù)方面的例子 28
2.2 線性分類模型 36
2.3 泰坦尼克號示例建立和訓(xùn)練模型 38
2.3.1 數(shù)據(jù)處理和可視化 39
2.3.2 數(shù)據(jù)分析監(jiān)督機器學(xué)習(xí) 44
2.4 不同類型的誤差解析 47
2.5 表現(xiàn)(訓(xùn)練集)誤差 47
2.6 泛化/真實誤差 48
2.7 總結(jié) 48
第3章 特征工程與模型復(fù)雜性重溫泰坦尼克號示例 49
3.1 特征工程 49
3.1.1 特征工程的類型 50
3.1.2 重溫泰坦尼克號示例 51
3.2 維度災(zāi)難 62
3.3 重溫泰坦尼克號示例融會貫通 64
3.4 偏差-方差分解 78
3.5 學(xué)習(xí)可見性 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ù)學(xué)運算 92
4.5 獲取TensorFlow的輸出 94
4.6 TensorBoard可視化學(xué)習(xí)過程 95
4.7 總結(jié) 101
第5章 TensorFlow基礎(chǔ)示例實戰(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)絡(luò) 106
5.4 需要多層網(wǎng)絡(luò)的原因 107
5.4.1 訓(xùn)練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)建與訓(xùn)練線性回歸模型 118
5.7 構(gòu)建與訓(xùn)練邏輯回歸模型 123
5.8 總結(jié) 130
第6章 深度前饋神經(jīng)網(wǎng)絡(luò)實現(xiàn)數(shù)字分類 131
6.1 隱藏單元與架構(gòu)設(shè)計 131
6.2 MNIST數(shù)據(jù)集分析 133
6.3 數(shù)字分類構(gòu)建與訓(xùn)練模型 135
6.3.1 分析數(shù)據(jù) 137
6.3.2 構(gòu)建模型 140
6.3.3 訓(xùn)練模型 144
6.4 總結(jié) 148
第7章 卷積神經(jīng)網(wǎng)絡(luò) 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基礎(chǔ)示例MNIST手寫數(shù)字分類 159
7.4.1 構(gòu)建模型 162
7.4.2 訓(xùn)練模型 167
7.5 總結(jié) 174
第8章 目標(biāo)檢測CIFAR-10示例 175
8.1 目標(biāo)檢測 175
8.2 CIFAR-10目標(biāo)圖像檢測構(gòu)建與訓(xùn)練模型 176
8.2.1 使用軟件包 176
8.2.2 加載CIFAR-10數(shù)據(jù)集 177
8.2.3 數(shù)據(jù)分析與預(yù)處理 178
8.2.4 建立網(wǎng)絡(luò) 183
8.2.5 訓(xùn)練模型 186
8.2.6 測試模型 191
8.3 總結(jié) 195
第9章 目標(biāo)檢測CNN遷移學(xué)習(xí) 196
9.1 遷移學(xué)習(xí) 196
9.1.1 遷移學(xué)習(xí)背后的直覺 197
9.1.2 傳統(tǒng)機器學(xué)習(xí)與遷移學(xué)習(xí)之間的不同 198
9.2 CIFAR-10目標(biāo)檢測回顧 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)建與訓(xùn)練 211
9.3 總結(jié) 219
第 10章 循環(huán)神經(jīng)網(wǎng)絡(luò)語言模型 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)絡(luò) 226
10.3 語言模型的實現(xiàn) 227
10.3.1 生成訓(xùn)練的最小批 230
10.3.2 構(gòu)建模型 232
10.3.3 訓(xùn)練模型 238
10.4 總結(jié) 243
第 11章 表示學(xué)習(xí)實現(xiàn)詞嵌入 244
11.1 表示學(xué)習(xí)簡介 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ù)分析與預(yù)處理 251
11.4.2 構(gòu)建模型 257
11.4.3 訓(xùn)練模型 259
11.5 總結(jié) 264
第 12章 神經(jīng)網(wǎng)絡(luò)在情感分析中的應(yī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ù)分析與預(yù)處理 271
12.2.3 構(gòu)建模型 282
12.2.4 模型訓(xùn)練和結(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 訓(xùn)練模型 295
13.5 卷積自動編碼器 297
13.5.1 數(shù)據(jù)集 297
13.5.2 構(gòu)建模型 299
13.5.3 訓(xùn)練模型 301
13.6 降噪自動編碼器 304
13.6.1 構(gòu)建模型 305
13.6.2 訓(xùn)練模型 307
13.7 自動編碼器的應(yīng)用 310
13.7.1 圖像著色 310
13.7.2 更多的應(yīng)用 311
13.8 總結(jié) 311
第 14章 生成對抗網(wǎng)絡(luò) 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)絡(luò) 319
14.2.7 訓(xùn)練模型 322
14.2.8 從生成器中采樣 327
14.3 總結(jié) 328
第 15章 面部生成與標(biāo)簽缺失處理 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)絡(luò)進(jìn)行半監(jiān)督學(xué)習(xí) 340
15.2.1 直觀解釋 340
15.2.2 數(shù)據(jù)分析與預(yù)處理 341
15.2.3 構(gòu)建模型 345
15.3 總結(jié) 359
附錄A 實現(xiàn)魚類識別 360