分佈式機器學習:算法、理論與實踐
內容描述
本書的目的是向讀者全面展示分佈式機器學習的現狀,深入分析其中的核心技術問題,並且討論該領域未來發展的方向。本書既可以作為研究生從事分佈式機器學習方向研究的參考文獻,也可以作為人工智能從業者進行算法選擇和系統設計的工具書。
目錄大綱
序言一
序言二
前言
作者介紹
第1章緒論/ 1
1.1人工智能及其飛速發展/ 2
1.2大規模、分佈式機器學習/ 4
1.3本書的安排/ 6
參考文獻/ 7
第2章機器學習基礎/ 9
2.1機器學習的基本概念/ 10
2.2機器學習的基本流程/ 13
2.3常用的損失函數/ 16
2.3.1 Hinge損失函數/ 16
2.3.2指數損失函數/ 16
2.3.3交叉熵損失函數/ 17
2.4常用的機器學習模型/ 18
2.4.1線性模型/ 18
2.4.2核方法與支持向量機/ 18
2.4.3決策樹與Boosting/ 21
2.4.4神經網絡/ 23
2.5常用的優化方法/ 32
2.6機器學習理論/ 33
2.6.1機器學習算法的泛化誤差/ 34
2.6.2泛化誤差的分解/ 34
2.6.3基於容度的估計誤差的上界/ 35
2.7總結/ 36
參考文獻/ 36
第3章分佈式機器學習框架/ 41
3.1大數據與大模型的挑戰/ 42
3.2分佈式機器學習的基本流程/ 44
3.3數據與模型劃分模塊/ 46
3.4單機優化模塊/ 48
3.5通信模塊/ 48
3.5.1通信的內容/ 48
3.5.2通信的拓撲結構/ 49
3.5.3通信的步調/ 51
3.5.4通信的頻率/ 52
3.6數據與模型聚合模塊/ 53
3.7分佈式機器學習理論/ 54
3.8分佈式機器學習系統/ 55
3.9總結/ 56
參考文獻/ 57
第4章單機優化之確定性算法/ 61
4.1基本概述/ 62
4.1.1機器學習的優化框架/ 62
4.1.2優化算法的分類和發展歷史/ 65
4.2一階確定性算法/ 67
4.2.1梯度下降法/ 67
4.2.2投影次梯度下降法/ 69
4.2.3近端梯度下降法/ 70
4.2.4 Frank-Wolfe算法/ 71
4.2.5 Nesterov加速法/ 72
4.2.6坐標下降法/ 75
4.3二階確定性算法/ 75
4.3.1牛頓法/ 76
4.3.2擬牛頓法/ 77
4.4對偶方法/ 78
4.5總結/ 81
參考文獻/ 8
第5章單機優化之隨機算法/ 85
5.1基本隨機優化算法/ 86
5.1.1隨機梯度下降法/ 86
5.1.2隨機坐標下降法/ 88
5.1. 3隨機擬牛頓法/ 91
5.1.4隨機對偶坐標上升法/ 93
5.1.5小結/ 95
5.2隨機優化算法的改進/ 96
5.2.1方差縮減方法/ 96
5.2.2算法組合方法/ 100
5.3非凸隨機優化算法/ 101
5.3.1 Ada系列算法/ 102
5.3.2非凸理論分析/ 104
5.3.3逃離鞍點問題/ 106
5.3.4等級優化算法/ 107
5.4總結/ 109
參考文獻/ 109
第6章數據與模型並行/ 113
6.1基本概述/ 114
6.2計算並行模式/ 117
6.3數據並行模式/ 119
6.3.1數據樣本劃分/ 120
6.3.2數據維度劃分/ 123
6.4模型並行模式/ 123
6.4.1線性模型/ 123
6.4.2神經網絡/ 127
6.5總結/ 133
參考文獻/ 133
第7章通信機制/ 135
7.1基本概述/ 136
7.2通信的內容/ 137
7.2.1參數或參數的更新/ 137
7.2.2計算的中間結果/ 137
7.2.3討論/ 138
7.3通信的拓撲結構/ 139
7.3.1基於迭代式MapReduce/AllReduce的通信拓撲/ 140
7.3.2基於參數服務器的通信拓撲/ 142
7.3.3基於數據流的通信拓撲/ 143
7.3.4討論/ 145
7.4通信的步調/ 145
7.4.1同步通信/ 146
7.4.2異步通信/ 147
7.4.3同步和異步的平衡/ 148
7.4.4討論/ 150
7.5通信的頻率/ 150
7.5.1時域濾波/ 150
7.5.2空域濾波/ 153
7.5.3討論/ 155
7.6總結/ 156
參考文獻/ 156
第8章數據與模型聚合/ 159
8.1基本概述/ 160
8.2基於模型加和的聚合方法/ 160
8.2.1基於全部模型加和的聚合/ 160
8.2.2基於部分模型加和的聚合/ 162
8.3基於模型集成的聚合方法/ 167
8.3.1基於輸出加和的聚合/ 168
8.3.2基於投票的聚合/ 171
8.4總結/ 174
參考文獻/ 174
第9章分佈式機器學習算法/ 177
9.1基本概述/ 178
9.2同步算法/ 179
9.2.1同步SGD方法/ 179
9.2.2模型平均方法及其改進/ 182
9.2.3 ADMM算法/ 183
9.2.4彈性平均SGD算法/ 185
9.2.5討論/ 186
9.3異步算法/ 187
9.3.1異步SGD/ 187
9.3.2 Hogwild!算法/ 189
9.3.3 Cyclades算法/ 190
9.3.4帶延遲處理的異步算法/ 192
9.3. 5異步方法的進一步加速/ 199
9.3.6討論/ 199
9.4同步和異步的對比與融合/ 199
9.4.1同步和異步算法的實驗對比/ 199
9.4.2同步和異步的融合/ 201
9.5模型並行算法/ 203
9.5.1 DistBelief/ 203
9.5.2 AlexNet/ 204
9.6總結/ 205
參考文獻/ 205
第10章分佈式機器學習理論/ 209
10.1基本概述/ 210
10.2收斂性分析/ 210
10.2.1優化目標和算法/ 211
10.2.2數據和模型並行/ 213
10.2.3同步和異步/ 215
10.3加速比分析/ 217
10.3.1從收斂速率到加速比/ 218
10.3.2通信量的下界/ 219
10.4泛化分析/ 221
10.4.1優化的局限性/ 222
10.4.2具有更好泛化能力的非凸優化算法/ 224
10.5總結/ 226
參考文獻/ 226
第11章分佈式機器學習系統/ 229
11.1基本概述/ 230
11.2基於IMR的分佈式機器學習系統/ 231
11.2.1 IMR和Spark/ 231
11.2.2 Spark MLlib/ 234
11.3基於參數服務器的分佈式機器學習系統/ 236
11.3.1參數服務器/ 236
11.3.2 Multiverso參數服務器/ 237
11.4基於數據流的分佈式機器學習系統/ 241
11.4.1數據流/ 241
11.4.2 TensorFlow數據流系統/ 243
11.5實戰比較/ 248
11.6總結/ 252
參考文獻/ 252
第12章結語/ 255
12.1全書總結/ 256
12.2未來展望/ 257
索引/ 260
作者介紹
微軟亞洲研究院副院長劉鐵岩博士領銜,機器學習團隊傾力編寫。