序一
序二
前言
第一篇 深度學習基礎
第1章 嚮未來問好 2
1.1 機器學習即正義 2
1.1.1 照本宣科 3
1.1.2 關鍵概念概述 4
1.1.3 數學之美 5
1.2 機器學習的場景和任務 6
1.3 機器學習算法 8
1.3.1 分類算法 8
1.3.2 迴歸算法 8
1.3.3 聚類算法 8
1.3.4 關聯分析算法 9
1.3.5 集成算法 9
1.3.6 強化算法 10
1.4 如何掌握機器學習 10
1.4.1 學習麯綫 10
1.4.2 技術棧 11
1.5 深度學習 12
1.5.1 深度學習的貢獻 12
1.5.2 深度學習框架簡介 13
1.5.3 安裝使用深度學習框架 16
1.5.4 深度學習進展 22
1.6 走進移動世界的深度學習 25
1.6.1 移動平颱機器學習概述 25
1.6.2 難度和挑戰 26
1.7 本書框架 26
1.8 本章小結 27
第2章 機器學習基礎 28
2.1 機器學習的主要任務 28
2.2 貝葉斯模型 29
2.3 Logistic迴歸 33
2.3.1 綫性迴歸 33
2.3.2 幾率與Logit 35
2.3.3 Logistic迴歸 38
2.3.4 背景溯源 39
2.3.5 實現Logistic迴歸 42
2.4 本章小結 44
第3章 人工神經網絡 45
3.1 人工神經網絡簡介 45
3.2 基本結構與前嚮傳播 46
3.2.1 神經元 46
3.2.2 連接與網絡 47
3.2.3 神經網絡嚮量化 48
3.2.4 前嚮傳播 50
3.3 反嚮傳播算法 50
3.4 實現前嚮神經網絡 53
3.4.1 神經網絡與前嚮傳播實現 53
3.4.2 Softmax迴歸 60
3.5 稀疏自編碼器 61
3.5.1 引子 61
3.5.2 自編碼器簡介 61
3.5.3 稀疏自編碼算法 63
3.6 神經網絡數據預處理 64
3.6.1 去均值 64
3.6.2 歸一化 65
3.7 本章小結 65
第4章 深度網絡與捲積神經網絡 66
4.1 深度網絡 66
4.1.1 自我學習 66
4.1.2 特徵學習 67
4.1.3 深度神經網絡 68
4.1.4 逐層貪婪訓練方法 69
4.2 捲積神經網絡 70
4.2.1 全連接與部分連接網絡 70
4.2.2 捲積 70
4.2.3 池化 72
4.2.4 捲積神經網絡 73
4.3 捲積神經網絡實現 73
4.3.1 Layer實現 74
4.3.2 Net實現 79
4.3.3 InnerProduct實現 92
4.3.4 Convolution實現 95
4.3.5 Pooling實現 101
4.3.6 定義注冊頭文件 109
4.4 本章小結 110
第二篇 移動平颱深度學習基礎
第5章 移動平颱深度學習框架設計與實現 112
5.1 移動平颱深度學習係統開發簡介 112
5.2 ARM Linux基礎開發環境 113
5.2.1 通用ARM工具鏈安裝 114
5.2.2 Android NDK安裝 114
5.2.3 樹莓派工具鏈安裝 115
5.3 TensorFlow Lite介紹 115
5.3.1 TensorFlow Lite特性 115
5.3.2 TensorFlow Lite架構 116
5.3.3 TensorFlow Lite代碼結構 117
5.4 移動平颱性能優化基礎 118
5.4.1 ARM v8體係結構 119
5.4.2 ARM v8數據類型與寄存器 120
5.4.3 Neon指令集介紹 122
5.4.4 ARM v8內存模型 124
5.4.5 Neon指令集加速實例 127
5.5 本章小結 140
第6章 移動平颱輕量級網絡實戰 141
6.1 適用於移動平颱的輕量級網絡 141
6.2 SqueezeNet 142
6.2.1 微觀結構 142
6.2.2 宏觀結構 142
6.2.3 核心思路 143
6.2.4 實戰:用PyTorch實現SqueezeNet 144
6.3 MobileNet 153
6.4 ShuffleNet 154
6.5 MobileNet V2 155
6.5.1 MobileNet的缺陷 155
6.5.2 MobileNet V2的改進 155
6.5.3 網絡結構 156
6.5.4 實戰:用PyTorch實現MobileNet V2 157
6.6 本章小結 161
第三篇 深入理解深度學習
第7章 高性能數據預處理實戰 164
7.1 數據預處理任務 164
7.1.1 數據清理 165
7.1.2 數據集成 165
7.1.3 數據歸約 165
7.1.4 數據變換 166
7.2 數據標準化 166
7.3 PCA 167
7.3.1 PCA的現實問題 167
7.3.2 PCA的計算方法 167
7.3.3 PCA的數學理論基礎 169
7.4 在Hurricane之上實現PCA 170
7.4.1 Hurricane實時處理係統 171
7.4.2 實現Hurricane Topology 172
7.4.3 實現PCA 178
7.5 本章小結 192
第8章 基於深度神經網絡的物體檢測與識彆 193
8.1 模式識彆與物體識彆 193
8.1.1 模式識彆 193
8.1.2 模式識彆係統 194
8.1.3 傳統模式識彆方法 194
8.1.4 深度學習模式識彆方法 197
8.2 圖像分類 197
8.2.1 LeNet 197
8.2.2 AlexNet 200
8.2.3 數據抓取整理 203
8.2.4 數據預處理 204
8.2.5 數據訓練 206
8.3 目標識彆與物體檢測 207
8.3.1 目標識彆簡介 207
8.3.2 R-CNN 208
8.3.3 SPP-Net 209
8.3.4 Fast R-CNN 211
8.3.5 Faster R-CNN 211
8.3.6 RetinaNet 213
8.4 檢測識彆實戰 213
8.4.1 Faster R-CNN 214
8.4.2 RetinaNet 230
8.5 移動平颱檢測識彆實戰 237
8.5.1 移動平颱係統開發思路 237
8.5.2 基於RetinaNet的檢測定位實現 237
8.5.3 基於AlexNet的識彆分類實現 244
8.5.4 接口設計封裝 247
8.6 本章小結 258
第四篇 深入理解移動平颱深度學習
第9章 深入移動平颱性能優化 260
9.1 模型壓縮 260
9.2 權重稀疏化 262
9.2.1 Structured Sparsity Learning 262
9.2.2 Dynamic Network Surgery 262
9.2.3 Dynamic Network Surgery實現 264
9.3 模型加速 275
9.3.1 半精度與權重量化 275
9.3.2 深度壓縮 276
9.3.3 二值化網絡 278
9.3.4 三值化網絡 280
9.3.5 DoReFa-Net 282
9.3.6 編程實戰 283
9.4 嵌入式優化 287
9.4.1 算法局限與改進 287
9.4.2 理論改進 287
9.4.3 編程實戰 288
9.5 嵌入式優化代碼實現 290
9.5.1 量化分析實現 290
9.5.2 層實現 302
9.5.3 量化矩陣計算 309
9.6 本章小結 313
第10章 數據采集與模型訓練實戰 314
10.1 收集海量數據 314
10.1.1 搜索引擎工作原理 315
10.1.2 HTTP會話 316
10.1.3 解決JavaScript渲染問題 316
10.2 圖片數據爬蟲實現 317
10.2.1 獲取任務 318
10.2.2 解析圖片 320
10.2.3 圖片存儲 326
10.2.4 圖片去重 327
10.2.5 完成Topology 328
10.3 訓練與測試 330
10.3.1 模型定義 330
10.3.2 訓練 334
10.3.3 測試 342
10.3.4 封裝 344
10.4 本章小結 345
第11章 移動和嵌入式平颱引擎與工具實戰 346
11.1 TensorFlow Lite構建 346
11.2 集成TensorFlow Lite 357
11.3 核心實現分析 358
11.3.1 解釋器代碼分析 358
11.3.2 圖代碼分析 373
11.3.3 操作符注冊 381
11.3.4 操作符擴展實現 384
11.3.5 計算與優化模塊 399
11.4 模型處理工具 407
11.5 本章小結 425
第12章 移動平颱框架與接口實戰 426
12.1 Core ML 426
12.1.1 準備數據和生成模型 427
12.1.2 App實戰:引入Core ML實現 430
12.2 Android Neural Networks API 437
12.2.1 等等,Google還有一個ML Kit 437
12.2.2 NNAPI編程模型 437
12.2.3 創建網絡與計算 439
12.2.4 JNI封裝與調用 451
12.2.5 App實戰:集成NNAPI 454
12.3 實戰:實現Android圖像分類器App 459
12.3.1 JNI封裝 459
12.3.2 Java調用 474
12.4 未來之路 479
12.5 本章小結 480
· · · · · · (
收起)