本書全面系統(tǒng)地講解了深度學習相關的知識。全書共8章,內容包括深度學習簡介及TensorFlow安裝,神經網絡基礎、神經網絡的TensorFlow實現、卷積神經網絡基礎、經典卷積神經網絡(上)、經典卷積神經網絡(下)、深度學習用于文本序列和深度學習實驗項目等內容。
本書以知識體系為基礎,以課堂案例為載體,采取理論與實踐相結合的教學模式,通過知識講解和上機實驗,使學生不僅掌握深度學習的理論基礎,而且能夠實現基本的代碼。
1.內容安排合理。本書本著循序漸進的習作思路,從神經網絡的基礎講起,逐漸擴展到卷積神經網、循環(huán)神經網絡等主流深度學習模型,讓讀者從零基礎學起,了解并掌握深度學習的核心技術。
2.案例豐富。本書配備了大量豐富原創(chuàng)的深度學習案例,對于每個經典深度學習模型都做了詳細講解、案例實現以及代碼編程,極大地解決了以往只能學不能練的困境。
3.資源豐富。本書提供PPT、參考答案、代碼資源、案例數據等,便于教師教學。
北京大學光華管理學院商務統(tǒng)計與經濟計量系,嘉茂榮聘教授,博導,系主任。在理論研究方面,關注高維數據分析。在業(yè)界實踐方面,王漢生教授是國內最早從統(tǒng)計數據分析角度關注并研究搜索引擎營銷,社交網絡數據,以及位置軌跡數據分析的學者。曾與百度合作完成百度分析師高級培訓,并擔任百度認證專家委員會委員。在推進統(tǒng)計應用在電子商務以及移動互聯(lián)網應用方面建樹頗多。
目錄
第 1章 深度學習簡介及TensorFlow安裝 1
【學習目標】 1
【導言】 1
1.1 機器學習、深度學習與人工智能 2
1.1.1 機器學習 2
1.1.2 深度學習 3
1.1.3 機器學習與深度學習同人工智能的關系 4
1.2 深度學習與回歸分析 5
1.2.1 回歸分析理論框架 5
1.2.2 深度學習與回歸分析的聯(lián)系 6
1.3 深度學習的發(fā)展歷程 7
1.4 深度學習擅長的領域 9
1.4.1 圖像處理 9
1.4.2語音識別 12
1.4.3自然語言處理 12
1.4.4棋牌競技 13
1.4.5視頻處理 14
1.5 安裝TensorFlow 14
1.5.1 TensorFlow和Keras介紹 15
1.5.2 硬件環(huán)境準備 15
1.5.3 軟件環(huán)境準備 16
1.5.4 安裝Anaconda 17
1.5.5 安裝TensorFlow及Keras軟件包 17
1.5.6 Jupyter Notebook運行深度學習 19
課后習題 20
第 2章 神經網絡基礎 21
【學習目標】 21
【導言】 21
2.1 神經網絡模型介紹 21
2.1.1 M-P神經元模型 22
2.1.2 感知機模型 23
2.1.3 多層感知機模型 24
2.2 激活函數 25
2.2.1 sigmoid激活函數 26
2.2.2 tanh激活函數 27
2.2.3 Relu激活函數 28
2.3 神經網絡的訓練 29
2.3.1 神經網絡的訓練流程 29
2.3.2 前向傳播算法 31
2.3.3 損失函數 32
2.3.4 基于梯度下降算法的預備知識 33
2.3.5批量梯度下降算法(Mini-batch) 35
2.3.6批量梯度下降算法的改進 36
2.3.7 反向傳播算法 38
2.4 神經網絡的過擬合及處理方法 40
2.4.1 過擬合 41
2.4.2 正則化方法 42
2.4.3 Dropout方法 44
課后習題 46
第3章 神經網絡的TensorFlow實現 47
【學習目標】 47
【導言】 47
3.1 神經網絡的數據結構 47
3.1.1 張量及其分類 47
3.1.2 張量數據示例 49
3.2 圖像數據的存儲與運算 51
3.2.1圖像數據的讀入與展示 52
3.2.2 圖像數據的代數運算 54
3.3線性回歸模型的TensorFlow實現 55
3.3.1 線性回歸模型 55
3.3.2 案例:美食評分 56
3.4 邏輯回歸模型的TensorFlow實現 63
3.4.1 邏輯回歸模型 63
3.4.2 Softmax回歸模型 64
3.4.3 案例:手寫數字識別 65
課后習題 70
第4章 卷積神經網絡基礎 71
【學習目標】 71
【導言】 71
4.1 卷積神經網絡的基本結構 71
4.2 “卷積”與“池化”的通俗理解 72
4.2.1 對卷積的理解 72
4.2.2 對池化的理解 73
4.3 卷積 74
4.3.1 二維離散卷積 75
4.3.2 卷積結果的輸出尺寸 80
4.3.3 多深度的離散卷積 81
4.3.4 卷積運算的三個特性 90
4.4 池化操作 92
4.4.1 same池化 92
4.4.2 valid池化 99
課后習題 105
第5章 經典卷積神經網絡(上) 106
【學習目標】 106
【導言】 106
5.1 LeNet-5介紹 107
5.1.1 LeNet-5網絡結構 107
5.1.2 案例:LeNet-5手寫數字識別 108
5.2 AlexNet介紹 113
5.2.1 AlexNet網絡結構 113
5.2.2 AlexNet創(chuàng)新點 114
5.2.3 案例:中文字體識別——隸書和行楷 115
5.3 VGG介紹 119
5.3.1 VGG網絡結構 119
5.3.2 案例:加利福尼亞理工學院鳥類數據庫分類 121
5.4 Batch Normalization技巧 127
5.4.1 Batch Normalization核心思想 127
5.4.2 帶有BN的邏輯回歸 128
5.4.3 帶有BN的寬度模型 131
5.4.4 帶有BN的深度模型 133
5.5 Data Augmentation技巧 135
5.5.1 Data Augmentation核心思想 135
5.5.2 數據增強實例:貓狗分類 136
課后習題 140
第6章 經典卷積神經網絡(下) 141
【學習目標】 141
【導言】 141
6.1 Inception模型介紹 141
6.1.1 Inception網絡結構 142
6.1.2 案例:Flower分類 147
6.2 ResNet模型介紹 150
6.2.1 ResNet網絡結構 150
6.2.2 案例:花的三分類問題 154
6.3 DenseNet模型介紹 158
6.3.1 DenseNet網絡結構 158
6.3.2案例:性別區(qū)分 163
6.4 MobileNet模型介紹 167
6.4.1 MobileNet網絡結構 167
6.4.2 案例:狗的分類 172
6.5 遷移學習 176
6.5.1 深度學習的現實困難 176
6.5.2 遷移學習原理 177
6.5.3 Keras中的遷移學習模型 178
課后習題 182
第7章 深度學習用于文本序列 183
【學習目標】 183
【導言】 183
7.1詞嵌入 184
7.1.1 詞嵌入前期知識 184
7.1.2 詞嵌入的理論原理 187
7.1.3詞嵌入的程序實現 189
7.2機器“作詩”初級:邏輯回歸 192
7.2.1 機器“作詩”原理 192
7.2.2原理實現:數據處理 195
7.2.3原理實現:邏輯回歸 200
7.3機器“作詩”進階(1):RNN 205
7.3.1 RNN前期知識 206
7.3.2 RNN模型介紹 208
7.3.3原理實現:數據處理 209
7.3.4原理實現:RNN作詩 213
7.4 機器“作詩”進階(2):LSTM 216
7.4.1 LSTM前期知識 216
7.4.2 LSTM模型介紹 219
7.4.3 原理實現:數據準備 224
7.4.4原理實現:LSTM代碼實現 225
7.5 文本序列應用實例:機器翻譯 228
7.5.1機器翻譯原理 228
7.5.2 案例:中英文翻譯 234
課后習題 242
第8章 深度學習實驗項目 243
【學習目標】 243
【導言】 243
8.1實驗一:LeNet模型 244
8.2實驗二:AlexNet模型 244
8.3 實驗三:VGG 16模型 244
8.4 實驗四:Inception V3模型 245
8.5 實驗五:ResNet模型 245
8.6 實驗六:DenseNet模型 246
8.7 實驗七:MobileNet模型 246
8.8 實驗八:邏輯回歸作詩 247
8.9 實驗九:RNN模型作詩 247
8.10 實驗十:LSTM模型作詩 248