內容提要
《深度學習原理與TensorFlow實踐》主要介紹了深度學習的基礎原理和TensorFlow系統基本使用方法。TensorFlow是目前機器學習、深度學習領域最優秀的計算系統之一,《深度學習原理與TensorFlow實踐》結合實例介紹了使用TensorFlow開發機器學習套用的詳細方法和步驟。同時,《深度學習原理與TensorFlow實踐》著重講解了用於圖像識別的卷積神經網路和用於自然語言處理的循環神經網路的理論知識及其TensorFlow實現方法,並結合實際場景和例子描述了深度學習技術的套用範圍與效果。
《深度學習原理與TensorFlow實踐》非常適合對機器學習、深度學習感興趣的讀者,或是對深度學習理論有所了解,希望嘗試更多工程實踐的讀者,抑或是對工程產品有較多經驗,希望學習深度學習理論的讀者。
目錄
1深度學習簡介1
1.1深度學習介紹1
1.2深度學習的趨勢7
1.3參考資料10
2TensorFlow系統介紹12
2.1TensorFlow誕生的動機12
2.2TensorFlow系統簡介14
2.3TensorFlow基礎概念16
2.3.1 計算圖 16
2.3.2 Session會話 18
2.4系統架構19
2.5源碼結構21
2.5.1後端執行引擎22
2.5.2前端語言接口24
2.6小結24
2.7參考資料25
3Hello TensorFlow 26
3.1 環境準備26
3.1.1Mac OS安裝27
3.1.2Linux GPU伺服器安裝28
3.1.3常用Python庫32
3.2Titanic題目實戰34
3.2.1Kaggle平台介紹34
3.2.2Titanic題目介紹35
3.2.3數據讀入及預處理38
3.2.4構建計算圖40
3.2.5構建訓練疊代過程44
3.2.6執行訓練46
3.2.7存儲和載入模型參數47
3.2.8預測測試數據結果50
3.3數據挖掘的技巧51
3.3.1數據可視化52
3.3.2特徵工程54
3.3.3多種算法模型57
3.4TensorBoard可視化58
3.4.1記錄事件數據58
3.4.2啟動TensorBorad服務60
3.5數據讀取62
3.5.1 數據檔案格式63
3.5.2 TFRecord 63
3.6SkFlow、TFLearn與TF-Slim 67
3.7小結69
3.8參考資料69
4CNN“看懂”世界71
4.1圖像識別的難題72
4.2CNNs的基本原理74
4.2.1卷積的數學意義75
4.2.2卷積濾波77
4.2.3CNNs中的卷積層81
4.2.4池化(Pooling)83
4.2.5ReLU 84
4.2.6多層卷積86
4.2.7Dropout 86
4.3經典CNN模型87
4.3.1AlexNet 88
4.3.2VGGNets 95
4.3.3GoogLeNet & Inception 98
4.3.4ResNets 106
4.4圖像風格轉換109
4.4.1量化的風格109
4.4.2 風格的濾鏡116
4.5 小結120
4.6參考資料121
5RNN“能說會道”123
5.1文本理解和文本生成問題124
5.2標準RNN模型128
5.2.1RNN模型介紹128
5.2.2BPTT算法130
5.2.3靈活的RNN結構132
5.2.4TensorFlow實現正弦序列預測135
5.3LSTM模型138
5.3.1長期依賴的難題138
5.3.2LSTM基本原理139
5.3.3 TensorFlow構建LSTM模型142
5.4更多RNN的變體144
5.5語言模型146
5.5.1NGram語言模型146
5.5.2神經網路語言模型148
5.5.3循環神經網路語言模型150
5.5.4語言模型也能寫代碼152
5.5.5改進方向163
5.6對話機器人164
5.6.1對話機器人的發展165
5.6.2基於seq2seq的對話機器人169
5.7小結181
5.8參考資料182
6CNN+LSTM看圖說話183
6.1CNN+LSTM網路模型與圖像檢測問題184
6.1.1OverFeat和Faster R-CNN圖像檢測算法介紹185
6.1.2遮擋目標圖像檢測方法187
6.1.3ReInspect算法實現及模組說明188
6.1.4 ReInspect算法的實驗數據與結論204
6.2 CNN+LSTM網路模型與圖像摘要問題207
6.2.1 圖像摘要問題208
6.2.2 NIC圖像摘要生成算法209
6.2.3 NIC圖像摘要生成算法實現說明214
6.2.4 NIC算法的實驗數據與結論243
6.3 小結249
6.4 參考資料250
7損失函式與最佳化算法253
7.1目標函式最佳化策略254
7.1.1梯度下降算法254
7.1.2RMSProp最佳化算法256
7.1.3Adam最佳化算法257
7.1.4目標函式最佳化算法小結258
7.2類別採樣(CandidateSampling)損失函式259
7.2.1softmax類別採樣損失函式261
7.2.2噪聲對比估計類別採樣損失函式281
7.2.3負樣本估計類別採樣損失函式286
7.2.4類別採樣logistic損失函式286
7.3小結287
7.4 參考資料288
結語289