前 言
第1章 深度學習的發展介紹
1.1 如何閱讀本書
1.2 深度學習沉浮史
1.2.1 模擬生物大腦的瘋狂遠古時代
1.2.2 聯結主義近代
1.2.3 百花齊放,層次結構主導,模型巨大的當代
1.3 Python簡易教程
1.3.1 Anaconda搭建
1.3.2 IPython Notebook使用
1.3.3 Python基本用法
1.3.3.1 基本數據類型
1.3.3.2 列表(Lists)
1.3.3.3 字典(Dictionaries)
1.3.3.4 集合(Sets)
1.3.3.5 元組(Tuples)
1.3.3.6 函數(Functions)
1.3.3.7 類(Classes)
1.3.4 NumPy
1.3.4.1 陣列(Arrays)
1.3.4.2 陣列運算
1.3.4.3 廣播(Broadcasting)
1.3.5 Matplotlib
1.4 參考文獻
第2章 機器學習快速入門
2.1 學習算法
2.1.1 學習任務
2.1.2 性能度量
2.1.3 學習經驗
2.2 代價函數
2.2.1 均方誤差函數
2.2.2 極大似然估計
2.3 梯度下降法
2.3.1 批量梯度下降法
2.3.2 隨機梯度下降法
2.4 過擬合與欠擬合
2.4.1 沒免費午餐理論
2.4.2 正則化
2.5 超引數最佳化與驗證集
2.6 Softmax編碼實戰
2.6.1 編碼說明
2.6.2 熟練使用CIFAR-10 數據集
2.6.3 顯式循環計算損失函數及其梯度
2.6.4 向量化表達式計算損失函數及其梯度
2.6.5 最小批量梯度下降算法訓練Softmax分類器
2.6.6 使用驗證數據選擇超引數最佳化
2.7 參考代碼
2.8 參考文獻
第3章 前饋神經網路
3.1 神經元
3.1.1 Sigmoid神經元
3.1.2 Tanh神經元
3.1.3 ReLU神經元
3.2 前饋神經網路
3.2.1 輸出單元
3.2.2 隱藏單元
3.2.3 網路結構設計
3.3 BP算法
3.4 深度學習編碼實戰上
3.4.1 實現仿射傳播
3.4.2 實現ReLU傳播
3.4.3 組合單層神經元
3.4.4 實現淺層神經網路
3.4.5 實現深層全連接網路
3.5 參考代碼
3.6 參考文獻
第4章 深度學習正則化
4.1 參數範數懲罰
4.1.1 L2參數正則化
4.1.2 L1正則化
4.2 參數綁定與參數共享
4.3 噪聲注入與數據擴充
4.4 稀疏表徵
4.5 早停
4.6 Dropout
4.6.1 個體與集成
4.6.2 Dropout
4.7 深度學習編碼實戰中
4.7.1 Dropout傳播
4.7.2 組合Dropout傳播層
4.7.3 Dropout神經網路
4.7.4 解耦訓練器trainer
4.7.5 解耦更新器updater
4.7.6 正則化實驗
4.8 參考代碼
4.9 參考文獻
第5章 深度學習最佳化
5.1 神經網路最佳化困難
5.1.1 局部最適
5.1.2 鞍點
5.1.3 梯度懸崖
5.1.4 梯度消失或梯度爆炸
5.1.5 梯度不精確
5.1.6 最佳化理論的侷限性
5.2 隨機梯度下降
5.3 動量學習法
5.4 AdaGrad和RMSProp
5.5 Adam
5.6 參數初始化策略
5.7 批量歸一化
5.7.1 BN算法詳解
5.7.2 BN傳播詳解
5.8 深度學習編碼實戰下
5.8.1 Momentum
5.8.2 RMSProp
5.8.3 Adam
5.8.4 更新規則比較
5.8.5 BN前向傳播
5.8.6 BN反向傳播
5.8.7 使用BN的全連接網路
5.8.8 BN算法與權重標準差比較
5.9 參考代碼
5.10 參考文獻
第6章 卷積神經網路
6.1 卷積操作
6.2 卷積的意義
6.2.1 稀疏連接
6.2.2 參數共享
6.3 池化操作
6.4 設計卷積神經網路
6.4.1 跨步卷積
6.4.2 零填充
6.4.3 非共享卷積
6.4.4 平鋪卷積
6.5 卷積網路編碼練習
6.5.1 卷積前向傳播
6.5.2 卷積反向傳播
6.5.3 最大池化前向傳播
6.5.4 最大池化反向傳播
6.5.5 向量化執行
6.5.6 組合完整卷積層
6.5.7 淺層卷積網路
6.5.8 空間批量歸一化
6.6 參考代碼
6.7 參考文獻
第7章 循環神經網路
7.1 循環神經網路
7.1.1 循環神經元展開
7.1.2 循環網路訓練
7.2 循環神經網路設計
7.2.1 雙向循環網路結構
7.2.2 編碼-解碼網路結構
7.2.3 深度循環網路結構
7.3 門控循環神經網路
7.3.1 LSTM
7.3.2 門控循環單元
7.4 RNN編程練習
7.4.1 RNN單步傳播
7.4.2 RNN時序傳播
7.4.3 詞嵌入
7.4.4 RNN輸出層
7.4.5 時序Softmax損失
7.4.6 RNN圖片說明任務
7.5 LSTM編程練習
7.5.1 LSTM單步傳播
7.5.2 LSTM時序傳播
7.5.3 LSTM實現圖片說明任務
7.6 參考代碼
7.6.1 RNN參考代碼
7.6.2 LSTM參考代碼
7.7 參考文獻
第8章 TensorFlow快速入門
8.1 TensorFlow介紹
8.2 TensorFlow 1.0安裝指南
8.2.1 雙版本切換Anaconda
8.2.2 安裝CUDA 8.0
8.2.3 安裝cuDNN
8.2.4 安裝TensorFlow
8.2.5 驗證安裝
8.3 TensorFlow基礎
8.3.1 Tensor
8.3.2 TensorFlow核心API教程
8.3.3 tf.train API
8.3.4 tf.contrib.learn
8.4 TensorFlow構造CNN
8.4.1 構建Softmax模型
8.4.2 使用TensorFlow訓練模型
8.4.3 使用TensorFlow評估模型
8.4.4 使用TensorFlow構建卷積神經網路
8.5 TensorBoard快速入門
8.5.1 TensorBoard可視化學習
8.5.2 計算圖可視化