本書介紹了深度學習原理與TensorFlow實踐。著重講述了當前學術(shù)界和工業(yè)界的深度學習核心知識:機器學習概論、神經(jīng)網(wǎng)絡(luò)、深度學習。著重講述了深度學習的實現(xiàn)以及深度學習框架TensorFlow:Python 編程基礎(chǔ)、TensorFlow編程基礎(chǔ)、TensorFlow模型、 TensorFlow編程實踐、TensorFlowLite 和 TensorFlow.js、TensorFlow案例--醫(yī)學應(yīng)用和Seq2Seq attention 模型及其應(yīng)用案例。 本書*特色是既有由淺入深的理論知識,又有從入門到高深的應(yīng)用編程的技術(shù)知識。本書涵蓋了深度學習的理論、Python 編程語言以及TensorFlow編程知識和代碼解讀,為深度學習初學者以及進階人員提供了詳盡的必要知識。 本書可用于大學本科生高年級以及研究生人工智能教材,也可作為應(yīng)用領(lǐng)域技術(shù)人員、工程技術(shù)人員和科學研究工作者的參考資料。
1.谷歌產(chǎn)學合作項目成果; 2.有由淺入深的理論知識,更有從入門到高深的技術(shù)應(yīng)用案例; 3.每章配有習題,強化學習效果; 4.強大的配套資源,在線考試平臺、題庫、PPT課件、源代碼一應(yīng)俱全,免費提供。
黃理燦,浙江理工大學網(wǎng)絡(luò)與分布式計算研究所所長, 曾任浙江省信息化促進會理事長,International Conference on Networking and Distributed Computing(ICNDC)網(wǎng)絡(luò)與分布式計算國際會議主席。一直從事網(wǎng)絡(luò)與分布式計算研究。IEEE高級會員,域搜云平臺創(chuàng)始人。
第 1 章
緒論.............................................. 1
1.1 引言........................................................
2
1.2 深度學習的發(fā)展歷程............................ 3
1.3 TensorFlow 應(yīng)用現(xiàn)狀...................... 5
習題 ..................................................................
6
第 2 章 機器學習概論..........................
7
2.1 機器學習相關(guān)的數(shù)學知識.................... 8
2.1.1 微積分..............................................
8
2.1.2 線性代數(shù)........................................11
2.1.3 概率論............................................14
2.2 機器學習方法......................................15
2.2.1 監(jiān)督學習........................................16
2.2.2 無監(jiān)督學習....................................24
2.2.3 半監(jiān)督學習 ....................................26
2.2.4 強化學習........................................28
2.3 數(shù)據(jù)的預(yù)處理方法..............................31
習題
................................................................34
第 3 章 神經(jīng)網(wǎng)絡(luò)..................................35
3.1 神經(jīng)網(wǎng)絡(luò)基礎(chǔ)知識..............................36
3.1.1 MP 模型.........................................36
3.1.2 感知機............................................38
3.1.3 三層感知機
....................................41
3.2 神經(jīng)網(wǎng)絡(luò)模型......................................53
3.2.1 徑向基函數(shù)網(wǎng)絡(luò) ............................54
3.2.2 Hopfield 神經(jīng)網(wǎng)絡(luò)........................56
3.2.3 Elman 神經(jīng)網(wǎng)絡(luò)............................56
3.2.4 玻爾茲曼機....................................57
3.2.5 自動編碼器
....................................60
3.2.6 生成對抗網(wǎng)絡(luò)................................ 62
習題................................................................
64
第 4 章 深度學習..................................
65
4.1 多層感知機神經(jīng)網(wǎng)絡(luò).......................... 66
4.2 激活函數(shù)、損失函數(shù)和過擬合.......... 71
4.2.1 激活函數(shù)........................................
71
4.2.2 損失函數(shù)(代價函數(shù))................ 74
4.2.3 防止過擬合....................................
78
4.3 卷積神經(jīng)網(wǎng)絡(luò)......................................80
4.3.1 卷積神經(jīng)網(wǎng)絡(luò)原理........................ 81
4.3.2 *卷積神經(jīng)網(wǎng)絡(luò) BP 算法的數(shù)學推導(dǎo)
............................................... 86
4.4 循環(huán)神經(jīng)網(wǎng)絡(luò) ..................................... 89
4.4.1 循環(huán)神經(jīng)網(wǎng)絡(luò)模型原理................90
4.4.2 *BPTT 算法 .................................
91
4.4.3 雙向循環(huán)神經(jīng)網(wǎng)絡(luò)........................ 95
4.4.4 深度循環(huán)神經(jīng)網(wǎng)絡(luò)........................ 96
4.4.5 長短時記憶網(wǎng)絡(luò)............................ 96
4.4.6 門控循環(huán)單元網(wǎng)絡(luò)........................ 98
4.5 深度置信網(wǎng)絡(luò) ..................................... 99
4.5.1 RBM 原理......................................
99
4.5.2 RBM 求解算法............................100
4.5.3 對比散度算法..............................101
4.5.4 *公式推導(dǎo)....................................101
4.5.5 深度置信網(wǎng)絡(luò)訓練......................105
4.6 深度學習框架 ...................................106
4.6.1 TensorFlow................................107
4.6.2 Caffe............................................107
4.6.3 Theano........................................108
4.6.4 Keras ...........................................109
習題
..............................................................110
第 5 章 Python 編程基礎(chǔ)............111
5.1 Python 環(huán)境搭建............................112
5.1.1 Python 安裝
................................112
5.1.2 Jupyter Notebook 編程器安裝使用..............................................112
5.2 Python 編程基礎(chǔ)知識....................117
5.2.1 Python 標識符 ............................117
5.2.2 Python 標準數(shù)據(jù)類型 ................118
5.2.3 Python 語句
................................118
5.2.4 Python 運算符 ............................119
5.2.5 代碼組..........................................121
5.2.6 Python 流程控制 ........................122
5.2.7 Python 函數(shù) ................................123
5.2.8 Python 模塊
................................126
5.2.9 Python 類....................................127
5.2.10 命名空間和作用域....................131
5.3 Python 標準庫................................132
5.4 Python 機器學習庫........................132
5.4.1 NumPy ........................................132
5.4.2 Scipy............................................140
5.4.3 Pandas .........................................143
5.4.4 Scikit-learn................................148
習題
..............................................................153
第 6 章 TensorFlow 編程基礎(chǔ)...........................................155
6.1 TensorFlow 的發(fā)展歷程與演進..156
6.2 TensorFlow 的搭建配置..............158
6.2.1 在 Windows 系統(tǒng)環(huán)境下安裝TensorFlow................................158
6.2.2 在 Mac OS 系統(tǒng)環(huán)境下安裝TensorFlow................................158
6.2.3 在 Linux 系統(tǒng)環(huán)境下安裝TensorFlow................................
159
6.3 TensorFlow 編程基礎(chǔ)知識.......... 159
6.3.1 張量..............................................
159
6.3.2 符號式編程..................................160
6.3.3 變量和常量.................................. 161
6.3.4 會話(Session)
........................ 161
6.3.5 占位符(placeholder)、獲取(Fetch)和饋送(Feed) ........ 162
6.3.6 Variable 類..................................
163
6.3.7 常量、序列以及隨機值.............. 164
6.3.8 執(zhí)行圖(Running Graphs).....
166
6.3.9 操作運算......................................
167
6.3.10 基本數(shù)學函數(shù)............................170
6.3.11 矩陣數(shù)學函數(shù)............................ 171
6.3.12 張量數(shù)學函數(shù)............................ 176
6.3.13 張量 Reduction 操作................
176
6.3.14 累加和累積................................ 179
6.3.15 張量拆分操作............................ 179
6.3.16 序列比較與索引........................ 182
6.3.17 張量數(shù)據(jù)類型轉(zhuǎn)換.................... 183
6.3.18 TensorFlow 張量形狀的確定與改變
....................................... 184
6.4 TensorFlow 系統(tǒng)架構(gòu)及源碼結(jié)構(gòu)..................................................
185
6.5 Eager Execution......................... 188
6.6 TensorFlow 示例代碼.................. 189
6.6.1 簡單回歸擬合.............................. 189
6.6.2 波士頓房價預(yù)測.......................... 191
習題..............................................................
193
第 7 章 TensorFlow 模型.......... 194
7.1 TensorFlow 模型編程模式.......... 195
7.1.1 tf.nn 模塊 .................................... 195
7.1.2 tf.layers 模塊..............................207
7.1.3 tf.estimator 模塊........................210
7.1.4 tf.keras 模塊...............................211
7.2 讀取數(shù)據(jù)............................................212
7.2.1 載入數(shù)據(jù) ......................................212
7.2.2 創(chuàng)建迭代器 ..................................214
7.2.3 使用 dataset 數(shù)據(jù).......................216
7.3 TensorFlow 模型搭建..................218
7.4 TensorFlow 模型訓練..................220
7.4.1 損失函數(shù)tf.losses 模塊.......220
7.4.2 優(yōu)化器tf.train 模塊.............220
7.4.3 訓練示例......................................222
7.5 TensorFlow 評估..........................222
7.5.1 評價指標
......................................222
7.5.2 評估函數(shù)tf.metrics 模塊....225
7.6 TensorFlow 模型載入、保存及調(diào)用
..................................................227
7.7 可視化分析和評估模型....................229
7.7.1 tf.summary 模塊 ........................229
7.7.2 TensorBoard 可視化評估工具..............................................229
7.7.3 TensorBoard 使用案例 .............230
7.8 示例鳶尾花分類........................239
習題
..............................................................242
第 8 章 TensorFlow 編程實踐...........................................243
8.1 MNIST 手寫數(shù)字識別 ....................244
8.1.1 使用 tf.nn 模塊實現(xiàn) MNIST手寫數(shù)字識別..............................245
8.1.2 使用 tf.estimator 模塊實現(xiàn)MNIST
手寫數(shù)字識別 ...............248
8.2 Fashion MNIST...........................253
8.2.1 Keras 序列模型 ..........................253
8.2.2 Fashion MNIST 代碼 ................ 259
8.3 RNN 簡筆畫識別 ............................ 265
習題..............................................................
275
第 9 章 TensorFlow Lite 和TensorFlow.js.............. 276
9.1 TensorFlow Lite.......................... 277
9.1.1 轉(zhuǎn)化訓練好的模型為.tflite文件
............................................. 278
9.1.2 編寫自定義操作代碼.................. 279
9.1.3 在 TensorFlow Lite 的移動端進行安卓開發(fā)..............................280
9.1.4 在 TensorFlow Lite 的移動端進行
iOS 開發(fā) ............................. 283
9.2 TensorFlow.js ............................. 284
9.2.1 TensorFlow.js JavaScript 庫引入 .............................................
284
9.2.2 TensorFlow.js 基礎(chǔ)知識........... 285
9.2.3 TensorFlow.js 示例................... 289
習題..............................................................302
第 10 章 TensorFlow 案例醫(yī)學應(yīng)用...........................303
10.1 開源醫(yī)學圖像分析平臺 DLTK的安裝運行
......................................304
10.2 開源醫(yī)學圖像分析平臺 DLTK的使用..............................................305
10.3 開源醫(yī)學圖像分析平臺 DLTK案例..................................................310
10.4 開源醫(yī)學圖像分析平臺 DLTK模型..................................................
312
習題..............................................................
323
第 11 章 Seq2Seq attention模型及其應(yīng)用案例.........324
11.1 Seq2Seq 和 attention 模型.....325
11.2 TensorFlow 自動文本摘要生成
.................................................327
11.2.1 TextSum 安裝運行 ..................328
11.2.2 TextSum 整體結(jié)構(gòu).................. 329
11.3 聊天機器人 .....................................350
11.3.1 DeepQA.....................................350
11.3.2 Stanford TensorFlow Chatbot.....................................
356
習題..............................................................
356