*系統地講解深度學習的基本知識、建模過程和應用,是非常好的深度學習入門書。
*以推薦系統、圖形識別、自然語言處理、文字產生和時間序列的具體應用作為案例。
*從工具準備、資料擷取和處理,到針對問題進行建模的整個過程和實踐均詳細解說。
*不僅能夠使讀者快速掌握深度學習,還可以進一步有效應用到商業和工程領域中。
基於各行各業對深度學習技術的需求,許多公司和學校都開源了深度學習工具套件,其中比較知名的有CNTK、TensorFlow、Theano、Caffe、MXNet和Torch等。這些工具都提供非常靈活與強大的建模能力,大幅降低使用深度學習技術的門檻,進一步加速深度學習技術的研究和應用。但是,這些工具各有所長、介面不同,而且對於很多初學者來說,由於工具套件過於靈活,有時反而難以掌握。
基於這些原因,Keras乃應運而生。可將其視為一個更容易使用、在更高層級抽象化、兼具相容性和靈活性的深度學習框架,它的底層可以在CNTK、TensorFlow和Theano之間自由切換。Keras的出現,使得很多初學者能夠很快地體驗深度學習的基本技術和模型,並且應用到實際問題中。
作者簡介:
謝梁
現任微軟雲端運算核心儲存部門首席數據科學家,主導團隊運用機器學習和人工智慧改善大規模、高可用性並行儲存系統的執行效率,和改進其維運方式。具有十餘年機器學習應用經驗,熟悉各種業務場景下機器學習和資料探勘產品的需求分析、架構設計、演算法開發和整合部署,涉及金融、能源和高科技等領域。曾經擔任旅行家保險公司的分析部門總監,負責運用現代統計學習方法改善精算定價業務和保險營運管理,推動精準個性化定價解決方案。在Journal of Statistical Software等專業期刊上曾發表多篇論文,也曾擔任Journal of Statistical Computation and Simulation期刊以及Data Mining Applications with R一書的審稿人。大學畢業於西南財經大學主修經濟學,博士畢業於紐約州立大學主修計量經濟學。
魯穎
現任Google矽谷總部數據科學家,為Google應用商店提供核心數據決策分析,利用機器學習和深度學習技術建立用戶行為預測模型,為改善產品提供核心數據支援。曾在亞馬遜、微軟和迪士尼美國總部擔任機器學習研究科學家,以機器學習和深度學習演算法研發為業務提供解決方案,有著多年的經驗。熱衷幫助相關社群在人工智慧方面的研究和落實,活躍於各個大型會議並發表主題演講。大學畢業於復旦大學主修數學,博士畢業於明尼蘇達大學主修統計。
勞虹嵐
現任微軟研究院研究工程師,是早期智慧硬體專案中視覺和語音研發的核心團隊成員,對企業用戶和消費者需求體驗與AI技術的結合有深刻的理解和豐富的經驗。曾在Azure和Office 365負責處理大流量並行處理的後台雲端研究和開發,精通一系列系統架構設計和性能改善方面的解決方案。擁有從前端到後端的豐富經驗:包括客戶需求判斷、產品開發以及最終在雲端架構設計和部署。大學畢業於浙江大學電子系,碩士畢業於美國南加州大學(USC)電子和計算機系。
目錄
Chapter 01 深度學習簡介
1.1 概述
1.2 深度學習的統計學入門
1.3 基本概念的解釋
1.3.1 深度學習的函數類型
1.3.2 深度學習的其他常見概念
1.4 梯度下降演算法
1.5 反向傳播演算法
Chapter 02 準備深度學習的環境
2.1 硬體環境的建置和組態的選擇
2.1.1 圖形處理器通用計算
2.1.2 需要什麼樣的 GPU 加速卡
2.1.3 GPU 需要多少記憶體
2.1.4 是否應該使用多個 GPU
2.2 安裝軟體環境
2.2.1 所需的軟體清單
2.2.2 CUDA 的安裝
2.2.3 Python 計算環境的安裝
2.2.4 深度學習建模環境介紹
2.2.5 安裝 CNTK 及對應的 Keras
2.2.6 安裝 Theano 計算環境
2.2.7 安裝 TensorFlow 計算環境
2.2.8 安裝 cuDNN 和 CNMeM
Chapter 03 Keras 入門
3.1 Keras 簡介
3.2 Keras 的資料處理
3.2.1 文字預處理
3.2.2 序列資料預處理
3.2.3 圖片資料登錄
3.3 Keras 的模型
3.4 Keras 的重要物件
3.5 Keras 的網路層構造
3.6 使用 Keras 進行奇異值矩陣分解
Chapter 04 資料收集與處理
4.1 網路爬蟲
4.1.1 網路爬蟲技術
4.1.2 建構自己的 Scrapy 爬蟲
4.1.3 建構可接受參數的 Scrapy 爬蟲
4.1.4 執行 Scrapy 爬蟲
4.1.5 執行 Scrapy 爬蟲的要點
4.2 大規模非結構化資料的儲存和分析
4.2.1 ElasticSearch 介紹
4.2.2 ElasticSearch 應用實例
Chapter 05 推薦系統
5.1 推薦系統簡介
5.2 矩陣分解模型
5.3 深度神經網路模型
5.4 其他常用演算法
5.5 評判模型指標
Chapter 06 圖形識別
6.1 圖形識別入門
6.2 卷積神經網路的介紹
6.3 端到端的 MNIST 訓練數字識別
6.4 利用 VGG16 網路進行字體識別
6.5 總結
Chapter 07 自然語言情感分析
7.1 自然語言情感分析簡介
7.2 文字情感分析建模
7.2.1 詞嵌入技術
7.2.2 多層全連接神經網路訓練情感分析
7.2.3 卷積神經網路訓練情感分析
7.2.4 遞歸神經網路訓練情感分析
7.3 總結
Chapter 08 文字產生
8.1 文字產生和聊天機器人
8.2 基於檢索的對話系統
8.3 基於深度學習的檢索式對話系統
8.3.1 對話資料的建構
8.3.2 建構深度學習索引模型
8.4 基於文字產生的對話系統
8.5 總結
Chapter 09 時間序列
9.1 時間序列簡介
9.2 基本概念
9.3 衡量時間序列模型預測的準確度
9.4 時間序列資料範例
9.5 簡要回顧 ARIMA 時間序列模型
9.6 遞歸神經網路與時間序列模型
9.7 應用案例
9.7.1 長江漢口月度流量時間序列模型
9.7.2 國際航空月度乘客數時間序列模型
9.8 總結
Chapter 10雲端機器學習與智慧物聯網
10.1 Azure 和 IoT
10.2 Azure IoT Hub 服務
10.3 使用IoT Hub 管理設備概述
10.4 以.NET 將模擬設備連接到 IoT 中心
10.5 機器學習應用實例
Chapter 01 深度學習簡介
1.1 概述
1.2 深度學習的統計學入門
1.3 基本概念的解釋
1.3.1 深度學習的函數類型
1.3.2 深度學習的其他常見概念
1.4 梯度下降演算法
1.5 反向傳播演算法
Chapter 02 準備深度學習的環境
2.1 硬體環境的建置和組態的選擇
2.1.1 圖形處理器通用計算
2.1.2 需要什麼樣的 GPU 加速卡
2.1.3 GPU 需要多少記憶體
2.1.4 是否應該使用多個 GPU
2.2 安裝軟體環境
2.2.1 所需的軟體清單
2.2.2 CUDA 的安裝
2.2.3 Python 計算環境的安裝
2.2.4 深度學習建模環境介紹
2.2.5 安裝 CNTK 及對應的 Keras
...