●譯者序
前言
第1章深度學習.1
1.1深度神經網絡的數學基礎.1
1.1.1感知機——門控線性回歸.2
1.1.2多層感知機.5
1.1.3卷積和池化.5
1.1.4激活函數.7
1.2深度神經網絡的訓練.11
1.2.1損失函數的重要性.12
1.2.2正則化.12
1.2.3反向傳播算法.13
1.2.4優化方法.13
1.3本章小結.14
第2章神經網絡架構.15
2.1卷積神經網絡.15
2.1.1AlexNet.16
2.1.2GoogLeNet.17
2.1.3ResNet.18
2.1.4SqueezeNet.19
2.2循環神經網絡.22
2.2.1LSTM.23
2.2.2GRU.24
2.3深度強化學習.25
2.4本章小結.28
第3章JavaScript深度學習框架.29
3.1TensorFlow.js.29
3.1.1TensorFlow.js介紹.30
3.1.2XOR問題.30
3.1.3解決XOR問題.32
3.1.4網絡架構.37
3.1.5張量.39
3.1.6張量操作.40
3.1.7模型訓練.43
3.1.8TensorFlow.js的生態.46
3.2WebDNN.48
3.3Keras.js.51
3.4本章小結.52
第4章深度學習的JavaScript基礎.53
4.1JavaScript中的TypedArray.53
4.1.1ArrayBu.er.55
4.1.2DataView.56
4.2JavaScript中的並發.58
4.2.1JavaScript的事件循環.58
4.2.2用Promise創建一個異步函數.59
4.2.3使用新的async/await語法.61
4.2.4多線程使用WebWorker.64
4.2.5深度學習應用程序的處理循環.66
4.3在CPU/GPU上加載資源.66
4.3.1FetchAPI.67
4.3.2標簽編碼.69
4.3.3one-hot編碼.69
4.4本章小結.70
第5章基於WebGL的GPU加速.73
5.1WebGL基礎.74
5.1.1WebGL工作流程.76
5.1.2片段著色器渲染.78
5.2WebGL實現常規計算.85
5.2.1調試WebGL.86
5.2.2渲染紋理.87
5.2.3精度重要性.92
5.2.4優化器.94
5.2.5GLSL開發.95
5.2.6浮點型的特殊性.95
5.2.7從CPU流向GPU,反之亦然.99
5.3使用紋理和著色器的矩陣計算.101
5.3.1標準的矩陣加法.101
5.3.2標準的矩陣乘法.102
5.3.3激活函數應用.103
5.3.4運用WGLMatrix庫.104
5.4手寫數字識別應用.105
5.4.1數據編碼.105
5.4.2內存優化.105
5.4.3前向傳播.107
5.4.4第一次嘗試.107
5.4.5優化性能.108
5.5本章小結.109
第6章從瀏覽器中提取數據.111
6.1加載圖像數據.112
6.1.1從圖像中提取像素.112
6.1.2加載遠程資源.114
6.1.3獲取二進制塊.116
6.2將像素數據渲染到屏幕上.117
6.2.1顯示圖片.118
6.2.2將像素數據渲染到畫布.119
6.2.3插值圖像數據.122
6.2.4在畫布上繪制形狀.124
6.3訪問相機、麥克風和揚聲器.126
6.3.1從網絡攝像頭捕獲圖像.126
6.3.2用麥克風錄音.128
6.3.3加載、解碼和播放聲音.130
6.4深度學習框架中的實用工具.131
6.4.1TensorFlow.js.131
6.4.2Keras.js.133
6.4.3WebDNN.133
6.5本章小結.135
第7章高級數據操作的方法.137
7.1反序列化Protobuf.138
7.1.1解析Caffe模型參數.139
7.1.2解析TensorFlow圖.141
7.1.3浮點精度的注意事項.142
7.2用Chart.js繪制圖表.143
7.2.1探索不同的圖表類型.144
7.2.2配置數據集.146
7.2.3更新值.147
7.2.4選項和配置概述.150
7.3用畫布畫草圖.153
7.3.1在畫布上繪圖.154
7.3.2提取筆畫.158
7.4從麥克風計算頻譜圖.159
7.5人臉檢測與跟蹤.162
7.5.1用JeelizFaceFilter跟蹤人臉.162
7.5.2使用tracking.js跟蹤人臉.163
7.5.3Chrome中人臉檢測的原生支持.165
7.6本章小結.167
第8章基於TensorFlow.js構建應用.169
8.1TensorFlow.js實現手勢識別.169
8.1.1算法解說.170
8.1.2TensorFlow.js項目準備.171
8.1.3實例化KNN圖像分類器.172
8.1.4TensorFlow.js迭代訓練.173
8.1.5小結.176
8.2TensorFlow.js實現文本生成.176
8.2.1算法解說.176
8.2.2Keras模型.177
8.2.3將Keras模型轉換為TensorFlow.js模型.178
8.2.4項目準備.178
8.2.5在TensorFlow.js中導入Keras模型.179
8.2.6TensorFlow.js迭代訓練.179
8.2.7構造模型輸入.181
8.2.8模型預測.183
8.2.9模型輸出抽樣.184
8.2.10小結.186
8.3TensorFlow.js實現圖像降噪.186
8.3.1算法解說.187
8.3.2將Keras模型轉換為TensorFlow.js模型.188
8.3.3項目準備.189
8.3.4初始化.190
8.3.5應用流程.190
8.3.6加載測試數字圖片.191
8.3.7更新噪聲.193
8.3.8生成變形圖片.194
8.3.9圖片降噪.195
8.3.10初始化函數.196
8.3.11小結.197
8.4本章小結.197
8.5最後結論.198