《TensorFlow2實戰(zhàn)》首先講解深度學習和TensorFlow2的基礎知識,然后通過圖像處理和自然語言處理兩方面的實例,幫助讀者進一步掌握深度學習的應用,最后通過對生成對抗網絡和強化學習知識的講解,帶領讀者精通深度學習。
《TensorFlow2實戰(zhàn)》適合想要學習和了解人工智能、深度學習技術的程序員閱讀,也可作為大專院校計算機專業(yè)師生的學習用書和培訓學校的教材。
用簡潔易懂的例子,循序漸進幫助讀者學懂 TensorFlow 2
通過圖像處理和自然語言處理兩類實例,幫助讀者掌握深度學習的應用
闡述對抗神經網絡和強化學習的知識,使讀者進階深度學習
艾力,曾就職于暴風大腦研究院,擔任 NLP 架構師一職。負責暴風大腦 NLP 引擎的設計和開發(fā)。Github 上開源了其極簡 NLP 框架 Kashgari,幫助大家把最新的 NLP 論文落地到生產環(huán)境。
目錄
第1章 環(huán)境配置 1
1.1 云Notebook環(huán)境簡介 1
1.2 本地Notebook環(huán)境準備 1
1.2.1 搭建Python環(huán)境 2
1.2.2 創(chuàng)建虛擬環(huán)境 2
1.2.3 安裝JupyterLab 3
1.3 安裝TensorFlow 6
1.4 本書的代碼規(guī)范 7
本章小結 8
第2章 常見工具介紹 9
2.1 NumPy 9
2.1.1 創(chuàng)建數組 10
2.1.2 數組索引 11
2.1.3 數組切片 11
2.1.4 數學計算 12
2.1.5 神經網絡的數據表示 13
2.2 Pandas 14
2.2.1 讀取數據 14
2.2.2 探索數據 15
2.2.3 過濾數據 16
2.2.4 應用方法 17
2.2.5 重構數據 17
2.2.6 保存數據 18
2.3 Matplotlib 18
2.3.1 簡單的圖形 19
2.3.2 子圖 20
2.3.3 直方圖 21
2.3.4 標題、標簽和圖例 21
2.3.5 三維圖形 22
2.3.6 結合Pandas使用 23
本章小結 24
第3章 從零開始搭建神經網絡 25
3.1 構建神經元 26
3.2 搭建神經網絡 28
3.3 前向傳播例子 28
3.4 訓練神經網絡 30
3.4.1 損失 31
3.4.2 損失計算實例 31
3.5 優(yōu)化神經網絡 32
3.6 隨機梯度下降 35
3.7 完整的代碼實現(xiàn) 36
本章小結 41
第4章 深度學習基礎 42
4.1 基礎概念 42
4.1.1 神經元 42
4.1.2 神經網絡 44
4.1.3 損失函數 45
4.1.4 神經網絡訓練 45
4.1.5 深度學習的主要術語 46
4.1.6 深度學習的4個分支 48
4.2 評估深度學習模型 49
4.2.1 簡單的留出驗證 49
4.2.2 K折交叉驗證 50
4.2.3 隨機重復K折交叉驗證 50
4.2.4 模型評估的注意事項 50
4.3 過擬合和欠擬合 51
4.3.1 減小神經網絡模型的大小 51
4.3.2 添加權重正則化 52
4.3.3 添加Dropout正則化 52
本章小結 52
第5章 泰坦尼克號幸存者預測 53
5.1 處理數據集 53
5.2 定義模型 57
5.3 編譯模型 57
5.4 訓練模型 59
5.5 評估模型 60
5.6 預測 63
5.7 代碼匯總 64
本章小結 66
第6章 TensorFlow 2介紹 67
6.1 TensorFlow 2基礎知識和學習路線圖 67
6.1.1 基礎知識 67
6.1.2 學習路線圖 69
6.2 模型的保存和恢復 70
6.2.1 全模型保存 70
6.2.2 保存為SavedModel格式 71
6.2.3 僅保存模型結構 71
6.2.4 僅保存模型權重 72
6.3 模型增量更新 72
6.4 訓練回調 72
6.4.1 模型檢查點和提前終止 73
6.4.2 動態(tài)調整學習率 73
6.4.3 自定義回調函數 74
6.5 TensorBoard可視化 76
本章小結 78
第7章 圖像識別入門 79
7.1 Fashion-MNIST數據集 79
7.1.1 數據集簡介 79
7.1.2 數據集預處理 80
7.2 全連接神經網絡 82
7.2.1 構建模型 83
7.2.2 編譯模型 83
7.2.3 訓練模型 84
7.2.4 評估模型 84
7.2.5 預測 84
7.2.6 代碼小結 87
7.3 卷積神經網絡 88
7.3.1 卷積神經網絡的原理 88
7.3.2 卷積層和池化層 89
7.3.3 實現(xiàn)卷積神經網絡 91
本章小結 92
第8章 圖像識別進階 93
8.1 數據集處理 93
8.1.1 準備數據集 93
8.1.2 數據集預處理 96
8.1.3 簡單的卷積神經網絡 97
8.1.4 數據增強 99
8.2 遷移學習 102
8.2.1 VGG16預訓練模型 103
8.2.2 特征提取 105
8.2.3 微調模型 108
8.2.4 保存模型 110
8.3 TensorFlow Hub 111
本章小結 113
第9章 圖像風格遷移 114
9.1 神經風格遷移的原理 114
9.1.1 內容損失 116
9.1.2 風格損失 117
9.2 實現(xiàn)神經風格遷移算法 117
本章小結 127
第10章 自然語言處理入門 128
10.1 分詞 128
10.1.1 英文分詞 128
10.1.2 中文分詞 129
10.2 語言模型 131
10.2.1 獨熱編碼 131
10.2.2 詞嵌入 133
10.2.3 從文本到詞嵌入 134
10.2.4 自然語言處理領域的遷移學習 137
10.3 循環(huán)神經網絡 139
10.3.1 循環(huán)神經網絡的 原理 139
10.3.2 使用NumPy實現(xiàn)RNN層前向傳播 140
10.3.3 循環(huán)神經網絡存在的問題 142
10.3.4 長短期記憶網絡 143
本章小結 143
第11章 語音助手意圖分類 144
11.1 數據集 144
11.1.1 加載數據集 145
11.1.2 數據預處理 146
11.2 雙向長短期記憶網絡 151
11.3 預訓練詞嵌入網絡 152
11.4 保存和加載模型 155
本章小結 157
第12章 自然語言生成實戰(zhàn) 158
12.1 利用語言模型寫詩 158
12.1.1 語言模型的應用 158
12.1.2 采樣策略 159
12.1.3 利用LSTM語言模型 寫詩 159
12.2 Seq2Seq語言模型 167
12.2.1 編碼器 167
12.2.2 解碼器 168
12.3 利用Seq2Seq語言模型實現(xiàn)中英文翻譯 168
12.3.1 tf.keras中的函數式模型 168
12.3.2 數據預處理 169
12.3.3 Seq2Seq翻譯模型的訓練 171
12.3.4 Seq2Seq翻譯模型的預測 173
本章小結 176
第13章 中文實體識別實戰(zhàn) 177
13.1 報紙實體識別 177
13.1.1 數據集 177
13.1.2 訓練模型 181
13.1.3 評估序列標注 182
13.2 使用BERT進行遷移學習實體識別 183
13.2.1 在tf.keras中加載BERT模型 184
13.2.2 構建遷移模型 186
本章小結 188
第14章 生成對抗網絡 189
14.1 生成對抗網絡的原理 189
14.2 搭建生成對抗網絡 190
14.2.1 生成器 190
14.2.2 判別器 191
14.2.3 完成生成對抗網絡的 搭建 191
14.3 訓練生成對抗網絡 192
14.4 輔助類別生成對抗網絡 196
14.5 GAN的評估 201
14.5.1 Inception Score 202
14.5.2 Fréchet Inception 距離 203
本章小結 205
第15章 強化學習 206
15.1 強化學習概述 206
15.1.1 基礎內容 206
15.1.2 Gym框架簡介 208
15.1.3 隨機動作策略 210
15.2 Q-Learning 212
15.2.1 Q-Learning簡介 212
15.2.2 Q-Learning的實現(xiàn) 213
15.3 Deep Q-Learning 216
15.3.1 Lunar Lander v2 216
15.3.2 隨機動作Agent 217
15.3.3 DQN的訓練 219
本章小結 225
第16章 部署模型 226
16.1 使用Flask部署 226
16.1.1 Flask入門 226
16.1.2 利用Flask部署圖像分類模型 227
16.2 TensorFlow Serving 229
16.2.1 使用命令行工具部署 230
16.2.2 使用Docker部署 231
16.2.3 調用REST接口 232
16.2.4 版本控制 233
本章小結 234