內容提要
《Keras快速上手:基於Python的深度學習實戰》系統地講解了深度學習的基本知識、建模過程和套用,並以深度學習在推薦系統、圖像識別、自然語言處理、文字生成和時間序列中的具體套用為案例,詳細介紹了從工具準備、數據獲取和處理到針對問題進行建模的整個過程和實踐經驗,是一本非常好的深度學習入門書。
不同於許多講解深度學習的書籍,《Keras快速上手:基於Python的深度學習實戰》以實用為導向,選擇了 Keras 作為編程框架,強調簡單、快速地設計模型,而不去糾纏底層代碼,使得內容相當易於理解,讀者可以在 CNTK、 TensorFlow 和 Theano 的後台之間隨意切換,非常靈活。並且本書能幫助讀者從高度抽象的角度去審視業務問題,達到事半功倍的效果。
目錄
1 準備深度學習的環境 1
1.1 硬體環境的搭建和配置選擇 1
1.1.1 通用圖形處理單元 3
1.1.2 你需要什麼樣的 GPU 加速卡 6
1.1.3 你的 GPU 需要多少記憶體 6
1.1.4 是否應該用多個 GPU 10
1.2 安裝軟體環境 12
1.2.1 所需軟體列表 12
1.2.2 CUDA 的安裝 13
1.2.3 Python 計算環境的安裝 13
1.2.4 深度學習建模環境介紹 15
1.2.5 安裝 CNTK 及對應的 Keras 17
1.2.6 安裝 Theano 計算環境 23
1.2.7 安裝 TensorFlow 計算環境 25
1.2.8 安裝 cuDNN 和 CNMeM 27
2 數據收集與處理 28
2.1 網路爬蟲 28
2.1.1 網路爬蟲技術 29
2.1.2 構造自己的 Scrapy 爬蟲 30
2.1.3 構造可接受參數的 Scrapy 爬蟲 35
2.1.4 運行 Scrapy 爬蟲 36
2.1.5 運行 Scrapy 爬蟲的一些要點 38
2.2 大規模非結構化數據的存儲和分析 40
2.2.1 ElasticSearch 介紹 42
2.2.2 ElasticSearch 套用實例 44
3 深度學習簡介 57
3.1 概述 57
3.2 深度學習的統計學入門 58
3.3 一些基本概念的解釋 61
3.3.1 深度學習中的函式類型 62
3.3.2 深度學習中的其他常見概念 65
3.4 梯度遞減算法 67
3.5 後向傳播算法 70
4 Keras 入門 72
4.1 Keras 簡介 72
4.2 Keras 中的數據處理 73
4.2.1 文字預處理 74
4.2.2 序列數據預處理 82
4.2.3 圖片數據輸入 83
4.3 Keras 中的模型 83
4.4 Keras 中的重要對象 86
4.5 Keras 中的網路層構造 90
4.6 使用 Keras 進行奇異值矩陣分解 102
5 推薦系統 105
5.1 推薦系統簡介 105
5.2 矩陣分解模型 108
5.3 深度神經網路模型 114
5.4 其他常用算法 117
5.5 評判模型指標 119
6 圖像識別 121
6.1 圖像識別入門 121
6.2 卷積神經網路的介紹 122
6.3 端到端的 MNIST 訓練數字識別 127
6.4 利用 VGG16 網路進行字型識別 131
6.5 總結 135
7 自然語言情感分析 136
7.1 自然語言情感分析簡介 136
7.2 文字情感分析建模 139
7.2.1 詞嵌入技術 139
7.2.2 多層全連線神經網路訓練情感分析 140
7.2.3 卷積神經網路訓練情感分析 143
7.2.4 循環神經網路訓練情感分析 144
7.3 總結 146
8 文字生成 147
8.1 文字生成和聊天機器人 147
8.2 基於檢索的對話系統 148
8.3 基於深度學習的檢索式對話系統 159
8.3.1 對話數據的構造 159
8.3.2 構造深度學習索引模型 162
8.4 基於文字生成的對話系統 166
8.5 總結 172
9 時間序列 173
9.1 時間序列簡介 173
9.2 基本概念 174
9.3 時間序列模型預測準確度的衡量 178
9.4 時間序列數據示例 179
9.5 簡要回顧 ARIMA 時間序列模型 181
9.6 循環神經網路與時間序列模型 186
9.7 套用案例 188
9.7.1 長江漢口月度流量時間序列模型 190
9.7.2 國際航空月度乘客數時間序列模型 203
9.8 總結 209
10 智慧型物聯網 210
10.1 Azure 和 IoT 210
10.2 Azure IoT Hub 服務 213
10.3 使用 IoT Hub 管理設備概述 215
10.4 使用.NET 將模擬設備連線到 IoT 中心 218
10.5 機器學習套用實例 237