本書基于當(dāng)前流行的深度學(xué)習(xí)框架之一——Keras,從新手的角度出發(fā),詳細講解Keras的原理,力求幫助讀者實現(xiàn)Keras從入門到精通。全書共9章,主要內(nèi)容包括初識深度學(xué)習(xí)、深度學(xué)習(xí)的數(shù)據(jù)預(yù)處理技術(shù)、使用Keras開發(fā)深度學(xué)習(xí)模型、卷積神經(jīng)網(wǎng)絡(luò)及圖像分類、循環(huán)神經(jīng)網(wǎng)絡(luò)在文本序列中的應(yīng)用、自編碼器、生成式對抗網(wǎng)絡(luò)、模型評估及模型優(yōu)化,以及深度學(xué)習(xí)實驗項目。本書內(nèi)容由淺入深、語言通俗易懂,從基本原理到案例應(yīng)用、從基礎(chǔ)算法到對復(fù)雜模型的剖析,讓讀者在循序漸進的學(xué)習(xí)中理解Keras。
本書可作為高等院校計算機、通信、大數(shù)據(jù)等專業(yè)相關(guān)課程的教材,也可作為人工智能、圖像處理、計算機等方向的科研人員和深度學(xué)習(xí)技術(shù)愛好者的參考書。
1.基于當(dāng)前流行的深度學(xué)習(xí)框架之一——Keras,改善教材領(lǐng)域Keras框架知識匱乏的現(xiàn)狀
2.熱銷書專業(yè)人士傾力打造
3.提供豐富的配套資源及衍生服務(wù)
4.微課視頻詳細講解重點難點
5.理論聯(lián)系實際,提供大量實踐案例與應(yīng)用
謝佳標(biāo) 曾就職于平安人壽擔(dān)任資深數(shù)據(jù)挖掘?qū)<,目前供職于世界百強企業(yè),負責(zé)數(shù)據(jù)中臺、數(shù)據(jù)化運營、金融科技、創(chuàng)新規(guī)劃等項目及前沿研究。有13年的數(shù)據(jù)挖掘與分享相關(guān)工作的經(jīng)驗;曾經(jīng)從事過電商、電購、電力、游戲、金融和物流等行業(yè),熟悉不同行業(yè)的數(shù)據(jù)特點。R語言資深玩家,熟悉Python及深度學(xué)習(xí)Keras框架,有豐富的大數(shù)據(jù)挖掘和可視化實戰(zhàn)經(jīng)驗。2017-2021年被評為微軟數(shù)據(jù)科學(xué)和AI方向最具價值專家(微軟MVP)。 書籍著作:《R語言與數(shù)據(jù)挖掘》、《數(shù)據(jù)實踐之美:31位大數(shù)據(jù)專家的方法、技術(shù)與思想》《R語言游戲數(shù)據(jù)分析與挖掘》、《Keras深度學(xué)習(xí):入門、實戰(zhàn)與進階》、《R語言數(shù)據(jù)分析與挖掘(微課)》
第 1章 初識深度學(xué)習(xí) 1
1.1 深度學(xué)習(xí)基礎(chǔ)理論 1
1.1.1 機器學(xué)習(xí)與深度學(xué)習(xí) 1
1.1.2 神經(jīng)網(wǎng)絡(luò)基礎(chǔ) 2
1.1.3 常用深度學(xué)習(xí)模型 5
1.2 主流深度學(xué)習(xí)框架介紹 6
1.2.1 TensorFlow 6
1.2.2 PyTorch 7
1.3 深度學(xué)習(xí)開發(fā)環(huán)境搭建 7
1.3.1 硬件環(huán)境準(zhǔn)備 7
1.3.2 軟件環(huán)境準(zhǔn)備 7
1.3.3 安裝Anaconda 9
1.3.4 安裝TensorFlow 2 13
1.4 構(gòu)建深度學(xué)習(xí)模型 14
1.4.1 MNIST數(shù)據(jù)集概述 14
1.4.2 數(shù)據(jù)預(yù)處理 15
1.4.3 構(gòu)建及編譯模型 16
1.4.4 模型訓(xùn)練 17
1.4.5 模型評估及預(yù)測 19
【本章知識結(jié)構(gòu)圖】 21
【課后習(xí)題】 22
第 2章 深度學(xué)習(xí)的數(shù)據(jù)預(yù)處理技術(shù) 23
2.1 數(shù)據(jù)預(yù)處理技術(shù) 23
2.1.1 結(jié)構(gòu)化數(shù)據(jù)預(yù)處理 23
2.1.2 非結(jié)構(gòu)化數(shù)據(jù)預(yù)處理 25
2.2 利用OpenCV進行圖像預(yù)處理 26
2.2.1 讀取、顯示和保存圖像 26
2.2.2 圖像像素的獲取和編輯 28
2.2.3 圖像幾何變換 29
2.2.4 色彩通道分離和融合 31
2.2.5 顏色空間轉(zhuǎn)換 31
2.3 利用TensorFlow進行圖像預(yù)處理 32
2.3.1 圖像縮放 32
2.3.2 圖像裁剪 33
2.3.3 圖像色彩調(diào)整 34
2.3.4 圖像翻轉(zhuǎn) 35
2.4 利用jieba進行文本預(yù)處理 36
2.4.1 jieba分詞 36
2.4.2 添加自定義詞典 37
2.4.3 關(guān)鍵詞提取 39
2.4.4 詞性標(biāo)注 40
2.5 利用Keras進行文本預(yù)處理 40
2.5.1 Unicode編碼 40
2.5.2 分詞器 41
2.5.3 獨熱編碼 41
2.5.4 填充序列 42
2.6 案例實訓(xùn):對業(yè)務(wù)員工作日報進行文本處理 43
【本章知識結(jié)構(gòu)圖】 45
【課后習(xí)題】 46
第3章 使用Keras開發(fā)深度學(xué)習(xí)模型 48
3.1 Keras模型生命周期 48
3.1.1 定義網(wǎng)絡(luò) 48
3.1.2 編譯網(wǎng)絡(luò) 51
3.1.3 訓(xùn)練網(wǎng)絡(luò) 51
3.1.4 評估網(wǎng)絡(luò) 52
3.1.5 做出預(yù)測 52
3.2 Keras模型類型 52
3.2.1 順序型API模型 52
3.2.2 函數(shù)式API模型 53
3.3 模型可視化 55
3.3.1 網(wǎng)絡(luò)拓撲可視化 55
3.3.2 TensorBoard可視化 55
3.4 回調(diào)函數(shù) 58
3.4.1 回調(diào)函數(shù)簡介 59
3.4.2 使用回調(diào)函數(shù)尋找最優(yōu)模型 59
3.5 模型保存及加載 61
3.5.1 使用SavedModel格式保存及加載模型 61
3.5.2 使用JSON格式保存及加載模型 63
3.6 案例實訓(xùn):使用Keras預(yù)測泰坦尼克號上的旅客是否生存 64
【本章知識結(jié)構(gòu)圖】 68
【課后習(xí)題】 68
第4章 卷積神經(jīng)網(wǎng)絡(luò)及圖像分類 70
4.1 卷積神經(jīng)網(wǎng)絡(luò)原理及實現(xiàn) 70
4.1.1 卷積神經(jīng)網(wǎng)絡(luò)原理 71
4.1.2 卷積層原理 72
4.1.3 卷積層TensorFlow實現(xiàn) 74
4.1.4 池化層原理 76
4.1.5 池化層TensorFlow實現(xiàn) 78
4.1.6 全連接層 79
4.2 遷移學(xué)習(xí) 79
4.2.1 遷移學(xué)習(xí)概述 79
4.2.2 使用Keras Applications實現(xiàn)遷移學(xué)習(xí) 81
4.2.3 使用TensorFlow Hub實現(xiàn)遷移學(xué)習(xí) 84
4.2.4 使用遷移學(xué)習(xí)實現(xiàn)花卉圖像分類器 85
4.3 深度強化學(xué)習(xí) 90
4.3.1 強化學(xué)習(xí)基本概念 91
4.3.2 深度強化學(xué)習(xí)思路 91
4.3.3 Gym平臺 92
4.3.4 使用Keras-RL2的DQN算法實現(xiàn) CartPole游戲 93
4.4 案例實訓(xùn):對CIFAR-10數(shù)據(jù)集進行圖像識別 95
【本章知識結(jié)構(gòu)圖】 99
【課后習(xí)題】 99
第5章 循環(huán)神經(jīng)網(wǎng)絡(luò)在文本序列中的應(yīng)用 101
5.1 循環(huán)神經(jīng)網(wǎng)絡(luò) 101
5.1.1 詞嵌入 102
5.1.2 簡單循環(huán)網(wǎng)絡(luò)原理及其Keras實現(xiàn) 106
5.1.3 長短期記憶網(wǎng)絡(luò)原理及其Keras實現(xiàn) 109
5.1.4 門控循環(huán)單元原理及其Keras實現(xiàn) 110
5.2 Seq2Seq模型 111
5.2.1 Seq2Seq原理 111
5.2.2 注意力機制 112
5.2.3 利用Keras實現(xiàn)Seq2Seq 113
5.2.4 利用TensorFlow Addons實現(xiàn)
Seq2Seq 116
5.3 Transformer模型 119
5.3.1 Transformer模型原理 120
5.3.2 利用KerasNLP實現(xiàn)Transformer 122
5.4 案例實訓(xùn):中文文本分類 122
【本章知識結(jié)構(gòu)圖】 125
【課后習(xí)題】 126
第6章 自編碼器 127
6.1 簡單自編碼器 127
6.1.1 自編碼器基本結(jié)構(gòu) 127
6.1.2 簡單自編碼器的Keras實現(xiàn) 129
6.2 稀疏自編碼器 132
6.2.1 稀疏自編碼器基本原理 132
6.2.2 稀疏自編碼器的Keras實現(xiàn) 132
6.3 堆棧自編碼器 134
6.3.1 堆棧自編碼器基本原理 134
6.3.2 堆棧自編碼器的Keras實現(xiàn) 136
6.4 卷積自編碼器 137
6.4.1 卷積自編碼器基本原理 137
6.4.2 卷積自編碼器的Keras實現(xiàn) 137
6.5 降噪自編碼器 139
6.5.1 降噪自編碼器基本原理 139
6.5.2 降噪自編碼器的Keras實現(xiàn) 139
6.6 循環(huán)自編碼器 142
6.6.1 循環(huán)自編碼器基本原理 142
6.6.2 循環(huán)自編碼器的Keras實現(xiàn) 143
6.7 案例實訓(xùn):使用自編碼器建立推薦系統(tǒng) 144
【本章知識結(jié)構(gòu)圖】 148
【課后習(xí)題】 148
第7章 生成式對抗網(wǎng)絡(luò) 150
7.1 生成式對抗網(wǎng)絡(luò)概述 150
7.1.1 生成式對抗網(wǎng)絡(luò)基本結(jié)構(gòu) 150
7.1.2 生成式對抗網(wǎng)絡(luò)常見類型 151
7.2 生成式對抗網(wǎng)絡(luò)Keras實現(xiàn) 152
7.2.1 GAN的Keras實現(xiàn) 152
7.2.2 DCGAN的Keras實現(xiàn) 157
7.3 案例實訓(xùn):使用GAN和DCGAN
生成數(shù)字5圖像 160
【本章知識結(jié)構(gòu)圖】 164
【課后習(xí)題】 164
第8章 模型評估及模型優(yōu)化 167
8.1 模型評估 167
8.1.1 數(shù)值預(yù)測評估方法 167
8.1.2 概率預(yù)測評估方法 169
8.2 模型優(yōu)化 172
8.2.1 基于梯度下降的優(yōu)化 172
8.2.2 自適應(yīng)學(xué)習(xí)率算法 174
8.2.3 網(wǎng)格搜索 177
8.2.4 防止模型過擬合 178
8.3 在tf.keras中進行模型優(yōu)化 181
8.3.1 在tf.keras中使用Scikit-learn優(yōu)化模型 181
8.3.2 使用KerasTuner進行超參數(shù)調(diào)節(jié) 181
8.4 案例實訓(xùn)1:使用Scikit-learn
優(yōu)化CIFAR-10分類模型 181
8.5 案例實訓(xùn)2:使用KerasTuner
優(yōu)化CIFAR-10分類模型 184
【本章知識結(jié)構(gòu)圖】 189
【課后習(xí)題】 189
第9章 深度學(xué)習(xí)實驗項目 191
9.1 TensorFlow Datasets實驗 191
9.2 tf.data定義高效的輸入流水線 192
9.3 在tf.keras中使用Scikit-learn優(yōu)化模型 193
9.4 ImageDataGenerator類圖像增強 193
9.5 CNN模型識別手寫數(shù)字 194
9.6 CNN模型檢測駕駛員睡意 195