3dwoo大學簡體電腦書店
深度學習:一起玩轉TensorLayer
( 簡體 字)
作者:董豪等類別:1. -> 程式設計 -> 深度學習
出版社:電子工業出版社深度學習:一起玩轉TensorLayer 3dWoo書號: 48263
詢問書籍請說出此書號!
有庫存
NT售價: 495
出版日:1/1/2018
頁數:340
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787121326226 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
1 深度學習簡介1
1.1 人工智能、機器學習和深度學習. . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 引言. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2 人工智能、機器學習和深度學習三者的關系. . . . . . . . . . . . 2
1.2 神經網絡. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 感知器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 激活函數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.3 損失函數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.4 梯度下降和隨機梯度下降. . . . . . . . . . . . . . . . . . . . . . 8
1.2.5 反向傳播算法簡述. . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.6 其他神經網絡. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3 學習方法建議. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.1 網絡資源. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.2 TensorFlow 官方深度學習教程. . . . . . . . . . . . . . . . . . . . 14
1.3.3 開源社區. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4 TensorLayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.1 深度學習框架概況. . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.2 TensorLayer 概括. . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4.3 實驗環境配置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2 多層感知器19
2.1 McCulloch-Pitts 神經元模型. . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.1 人工神經網絡到底能干什么?到底在干什么. . . . . . . . . . . . 21
2.1.2 什么是激活函數?什么是偏值. . . . . . . . . . . . . . . . . . . . 22
2.2 感知器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2.1 什么是線性分類器. . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2.2 線性分類器有什么優缺點. . . . . . . . . . . . . . . . . . . . . . 26
2.2.3 感知器實例和異或問題(XOR 問題) . . . . . . . . . . . . . . . 26
2.3 多層感知器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.4 實現手寫數字分類. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5 過擬合. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.5.1 什么是過擬合. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.5.2 Dropout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.5.3 批規范化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.5.4 L1、L2 和其他正則化方法. . . . . . . . . . . . . . . . . . . . . . 42
2.5.5 Lp 正則化的圖形化解釋. . . . . . . . . . . . . . . . . . . . . . . 44
2.6 再實現手寫數字分類. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.6.1 數據迭代器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.6.2 通過all_drop 啟動與關閉Dropout . . . . . . . . . . . . . . . . 47
2.6.3 通過參數共享實現訓練測試切換. . . . . . . . . . . . . . . . . . 50
3 自編碼器54
3.1 稀疏性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.2 稀疏自編碼器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.3 實現手寫數字特征提取. . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.4 降噪自編碼器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.5 再實現手寫數字特征提取. . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.6 堆棧式自編碼器及其實現. . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4 卷積神經網絡80
4.1 卷積原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.1.1 卷積操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.1.2 張量. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.1.3 卷積層. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.1.4 池化層. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.1.5 全連接層. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.2 經典任務. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.2.1 圖像分類. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.2.2 目標檢測. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.2.3 語義分割. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.2.4 實例分割. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.3 經典卷積網絡. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.3.1 LeNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.3.2 AlexNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.3.3 VGGNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.3.4 GoogLeNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
4.3.5 ResNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.4 實現手寫數字分類. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.5 數據增強與規范化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
4.5.1 數據增強. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
4.5.2 批規范化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.5.3 局部響應歸一化. . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.6 實現CIFAR10 分類. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
4.6.1 方法1:tl.prepro 做數據增強. . . . . . . . . . . . . . . . . . . . . 108
4.6.2 方法2:TFRecord 做數據增強. . . . . . . . . . . . . . . . . . . . 114
4.7 反卷積神經網絡. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
5 詞的向量表達121
5.1 目的與原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.2 Word2Vec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
5.2.1 簡介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
5.2.2 Continuous Bag-Of-Words(CBOW)模型. . . . . . . . . . . . . 124
5.2.3 Skip Gram(SG)模型. . . . . . . . . . . . . . . . . . . . . . . . 129
5.2.4 Hierarchical Softmax . . . . . . . . . . . . . . . . . . . . . . . . . . 132
5.2.5 Negative Sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
5.3 實現Word2Vec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
5.3.1 簡介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
5.3.2 實現. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
5.4 重載預訓練矩陣. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
6 遞歸神經網絡148
6.1 為什么需要它. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
6.2 不同的RNNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
6.2.1 簡單遞歸網絡. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
6.2.2 回音網絡. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
6.3 長短期記憶. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
6.3.1 LSTM 概括. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
6.3.2 LSTM 詳解. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
6.3.3 LSTM 變種. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
6.4 實現生成句子. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
6.4.1 模型簡介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
6.4.2 數據迭代. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
6.4.3 損失函數和更新公式. . . . . . . . . . . . . . . . . . . . . . . . . 164
6.4.4 生成句子及Top K 采樣. . . . . . . . . . . . . . . . . . . . . . . . 167
6.4.5 接下來還可以做什么. . . . . . . . . . . . . . . . . . . . . . . . . 169
7 深度增強學習171
7.1 增強學習. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
7.1.1 概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
7.1.2 基于價值的增強學習. . . . . . . . . . . . . . . . . . . . . . . . . 173
7.1.3 基于策略的增強學習. . . . . . . . . . . . . . . . . . . . . . . . . 176
7.1.4 基于模型的增強學習. . . . . . . . . . . . . . . . . . . . . . . . . 177
7.2 深度增強學習. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
7.2.1 深度Q 學習. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
7.2.2 深度策略網絡. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
7.3 更多參考資料. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
7.3.1 書籍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
7.3.2 在線課程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
8 生成對抗網絡188
8.1 何為生成對抗網絡. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
8.2 深度卷積對抗生成網絡. . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
8.3 實現人臉生成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
8.4 還能做什么. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
9 高級實現技巧202
9.1 與其他框架對接. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
9.1.1 無參數層. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
9.1.2 有參數層. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
9.2 自定義層. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
9.2.1 無參數層. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
9.2.2 有參數層. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
9.3 建立詞匯表. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
9.4 補零與序列長度. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
9.5 動態遞歸神經網絡. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
9.6 實用小技巧. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
9.6.1 屏蔽顯示. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
9.6.2 參數名字前綴. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
9.6.3 獲取特定參數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
9.6.4 獲取特定層輸出. . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
10 實例一:使用預訓練卷積網絡214
10.1 高維特征表達. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
10.2 VGG 網絡. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
10.3 連接TF-Slim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
11 實例二:圖像語義分割及其醫學圖像應用225
11.1 圖像語義分割概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
11.1.1 傳統圖像分割算法簡介. . . . . . . . . . . . . . . . . . . . . . . . 227
11.1.2 損失函數與評估指標. . . . . . . . . . . . . . . . . . . . . . . . . 229
11.2 醫學圖像分割概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
11.3 全卷積神經網絡和U-Net 網絡結構. . . . . . . . . . . . . . . . . . . . . 232
11.4 醫學圖像應用:實現腦部腫瘤分割. . . . . . . . . . . . . . . . . . . . . 234
11.4.1 數據與數據增強. . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
11.4.2 U-Net 網絡. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
11.4.3 損失函數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
11.4.4 開始訓練. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
12 實例三:由文本生成圖像244
12.1 條件生成對抗網絡之GAN-CLS . . . . . . . . . . . . . . . . . . . . . . . 245
12.2 實現句子生成花朵圖片. . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
13 實例四:超高分辨率復原260
13.1 什么是超高分辨率復原. . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
13.2 網絡結構. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
13.3 聯合損失函數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
13.4 訓練網絡. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
13.5 使用測試. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
14 實例五:文本反垃圾280
14.1 任務場景. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
14.2 網絡結構. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
14.3 詞的向量表示. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
14.4 Dynamic RNN 分類器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
14.5 訓練網絡. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
14.5.1 訓練詞向量. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
14.5.2 文本的表示. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
14.5.3 訓練分類器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
14.5.4 模型導出. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
14.6 TensorFlow Serving 部署. . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
14.7 客戶端調用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
14.8 其他常用方法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
中英對照表及其縮寫309
參考文獻316
本書由TensorLayer作者領銜寫作,TensorLayer社區眾包完成,作者全部來自一線人工智能研究員和工程師,內容不僅覆蓋了傳統書籍都有的多層網絡、卷積網絡、遞歸網絡及增強學習等,還著重講解了生成對抗網絡、學習方法和實踐經驗,配有若干產品級別的實例。者將會從零學會目前最新深度學習,以及使用TL實現各種應用。

深度學習已經成為了當今人工智能發展的主要助力,國務院印發的《新一代人工智能發展規劃》中表示,2020年我國人工智能核心產業規模超過1500億元,帶動相關產業規模超過1萬億元;2030年人工智能核心產業規模超過1萬億元,帶動相關產業規模超過10萬億元。

為此產業界急需大量實用性人才,而深度學習是一門理論與工程相結合的科學,本書將以通俗易懂的方式講解深度學習技術,并輔以實踐教學。本書同時面向深度學習初學者、進階者及工程師,內容涵蓋了全連接網絡、自編碼器、卷積神經網絡、遞歸神經網絡、深度增強學習、生成對抗網絡等,并附有多個進階實例教程。與傳統深度學習書籍相比,本書有以下特點。

本書注重實踐,科研人員和工程師都希望有一個深度學習開發工具可以同時滿足學術界和產業界的需求,可讓最新的人工智能算法很快地從實驗室投入到產品中。為此我們開發了深度學習框架—— TensorLayer。讀者可以從零基礎開始學習掌握目前最新的深度學習技術。更多關于TensorLayer的設計思路請見第1章。帝國理工數據科學院(Data Science Institute)是TensorLayer的發起單位和主要開發單位,郭毅可教授是該項目領導。

本書對深度學習的最新方法進行了更多的闡述,特別是生成對抗網絡方面,該研究方向已在無監督學習方面取得重大突破,并已經開始在產業界產生非常大的影響。本書還介紹及使用了多種新的反卷積方法,如子像素卷積和縮放卷積。

研究深度學習需要做大量的實驗,本書在講解技術的同時傳授了很多實驗經驗。除神經網絡外,本書還講解了數據預處理、數據后加工、訓練、服務架設等任務,這些都是搭建整個學習系統和產品的基本工作流。

本書編著方式與其他同類書籍不同,是由TensorLayer中文社區眾包完成的,由董豪統稿。本書代碼除第3章和第14章實例五外都由董豪提供,本書第1章由莫元漢、董豪和郭毅可執筆;第2章教學部分由楊光執筆,實現講解部分由董豪執筆;第3章由幺忠瑋執筆;第4章由林一鳴執筆;第5章由王劍虹執筆;第6章由袁航執筆;第7章由于思淼執筆;第8章與第12章實例三由張敬卿執筆;第9章、第10章實例一和第13章實例四由董豪執筆;第11章實例二講解部分由楊光執筆,實現部分由董豪執筆;第14章實例五由陳竑執筆。本書圖片整理由出版社、吳超、趙婧楠和種道涵完成,封面設計由出版社和王盼完成。

雖然本書的作者都是一線科研人員和技術人員,但是不妥和錯誤之處在所難免,真誠地希望有關專家和讀者給予批評指正,以便再版時修改。最后,在計算機技術發展非常快的今天,書籍里的知識更新速度有限,建議讀者多參與社區討論交流。本書代碼例子使用TensorFlow1.2和TensorLayer1.5.3,Python3在Ubuntu下測試。由于TensorFlow和TensorLayer在不斷地更新,若出現兼容性問題,請到各章節給定的網址鏈接中獲取最新的代碼。
本書作者

2018年1月
pagetop