深度學習模式與實踐 Deep Learning Patterns and Practices

[美] 安德魯·費利奇(Andrew Ferlitsch)著 李軒涯 盧苗苗 劉安安 譯

  • 深度學習模式與實踐-preview-1
  • 深度學習模式與實踐-preview-2
  • 深度學習模式與實踐-preview-3
深度學習模式與實踐-preview-1

買這商品的人也買了...

商品描述

《深度學習模式與實踐》通過介紹**實踐、設計模式和可復制的架構,指導讀者的深度學習項目從實驗室走向應用。本書收集並闡明瞭近十年來真實世界中深度學習最緊密的洞察。讀者將通過每個有趣的例子學習相關技能,並建立信心。 《深度學習模式與實踐》深入研究瞭如何構建成功的深度學習應用程序。通過將經過驗證的模式和實踐應用到自身項目中,讀者將節省數小時的試錯時間。本書通過測試的代碼示例、真實世界示例和出色的敘事風格,使復雜的概念變得簡單和有趣。在此過程中,讀者將學會相關技巧來部署、測試和維護項目。 本書的內容包括: 現代捲積神經網絡 CNN架構的設計模式 移動和物聯網設備模型 大規模模型部署 電腦視覺示例

目錄大綱

目    錄

 

 

第Ⅰ部分  深度學習基礎知識

第1章  現代機器學習的設計 3

1.1  關註適應性 4

1.1.1  電腦視覺引領潮流 4

1.1.2  超越電腦視覺:NLP、NLU和結構化數據 5

1.2  機器學習方法的演變 6

1.2.1  經典人工智能與狹義人工智能 6

1.2.2  電腦學習的未來 8

1.3  設計模式的好處 13

1.4  本章小結 14

第2章  深度神經網絡 15

2.1  神經網絡基礎 15

2.1.1  輸入層 15

2.1.2  深度神經網絡簡介 17

2.1.3  前饋網絡 18

2.1.4  序貫式API方法 18

2.1.5  函數式API方法 19

2.1.6  輸入形狀與輸入層 19

2.1.7  緻密層 20

2.1.8  激活函數 21

2.1.9  速記語法 24

2.1.10  使用優化器提高準確度 25

2.2  DNN二元分類器 26

2.3  DNN多類分類器 28

2.4  DNN多標簽多類分類器 29

2.5  簡單圖像分類器 31

2.5.1  展平 32

2.5.2  過擬合和丟棄 33

2.6  本章小結 35

第3章  捲積神經網絡和殘差神經網絡 37

3.1  捲積神經網絡 37

3.1.1  為什麽在DNN的基礎上對圖像模型使用CNN 38

3.1.2  下採樣(調整大小) 38

3.1.3  特徵檢測 39

3.1.4  池化 41

3.1.5  展平 42

3.2  CNN的ConvNet設計 43

3.3  VGG網絡 46

3.4  ResNet網絡 49

3.4.1  架構 49

3.4.2  批標準化 54

3.4.3  ResNet50 55

3.5  本章小結 59

第4章  訓練基礎知識 61

4.1  前饋和反向傳播 61

4.1.1  饋送 62

4.1.2  反向傳播 62

4.2  拆分數據集 64

4.2.1  訓練集和測試集 64

4.2.2  獨熱編碼 65

4.3  數據歸一化 67

4.3.1  歸一化 67

4.3.2  標準化 69

4.4  驗證和過擬合 69

4.4.1  驗證 69

4.4.2  損失監控 73

4.4.3  深入層中 73

4.5  收斂 74

4.6  設置檢查點和早停法 77

4.6.1  設置檢查點 77

4.6.2  早停法 78

4.7  超參數 79

4.7.1  時期數 80

4.7.2  步數 80

4.7.3  批大小 81

4.7.4  學習率 82

4.8  不變性 84

4.8.1  平移不變性 85

4.8.2  尺度不變性 91

4.8.3  TF.Keras的ImageDataGenerator類 93

4.9  初始(磁盤)數據集 94

4.9.1  目錄結構 95

4.9.2  CSV文件 97

4.9.3  JSON文件 98

4.9.4  讀取圖像 98

4.9.5  調整大小 101

4.10  模型保存/恢復 102

4.10.1  保存 103

4.10.2  恢復 103

4.11  本章小結 104

第Ⅱ部分 基本設計模式

第5章  過程設計模式 107

5.1  基本的神經網絡架構 108

5.2  stem組件 110

5.2.1  VGG 110

5.2.2  ResNet 111

5.2.3  ResNeXt 115

5.2.4  Xception 116

5.3  預stem 117

5.4  學習器組件 118

5.4.1  ResNet 119

5.4.2  DenseNet 121

5.5  任務組件 123

5.5.1  ResNet 124

5.5.2  多層輸出 125

5.5.3  SqueezeNet 127

5.6  超越電腦視覺:自然語言處理 128

5.6.1  自然語言理解 128

5.6.2  Transformer架構 129

5.7  本章小結 130

第6章  寬捲積神經網絡 131

6.1  Inception v1 132

6.1.1  原生inception模塊 132

6.1.2  Inception v1模塊 134

6.1.3  stem 136

6.1.4  學習器 137

6.1.5  輔助分類器 137

6.1.6  分類器 139

6.2  Inception v2:捲積分解 140

6.3  Inception v3:重新設計架構 142

6.3.1  Inception組和塊 143

6.3.2  普通捲積 146

6.3.3  空間可分離捲積 147

6.3.4  stem重設計和實現 148

6.3.5  輔助分類器 149

6.4  ResNeXt:寬殘差神經網絡 150

6.4.1  ResNeXt塊 150

6.4.2  ResNeXt架構 152

6.5  寬殘差網絡 153

6.5.1  WRN-50-2架構 154

6.5.2  寬殘差塊 154

6.6  超越電腦視覺:結構化數據 155

6.7  本章小結 157

第7章  可替代連接模式 159

7.1  DenseNet:緻密連接的捲積神經網絡 160

7.1.1  緻密組 160

7.1.2  緻密塊 162

7.1.3  DenseNet宏觀架構 164

7.1.4  緻密過渡塊 165

7.2  Xception 166

7.2.1  Xception架構 167

7.2.2  Xception的入口流 169

7.2.3  Xception的中間流 171

7.2.4  Xception的出口流 173

7.2.5  深度可分離捲積 175

7.2.6  逐深度捲積 175

7.2.7  逐點捲積 175

7.3  SE-Net 176

7.3.1  SE-Net架構 177

7.3.2  SE-Net的組和塊 177

7.3.3  SE鏈接 179

7.4  本章小結 180

第8章  移動捲積神經網絡 181

8.1  MobileNet v1 182

8.1.1  架構 182

8.1.2  寬度乘數 183

8.1.3  分辨率乘數 184

8.1.4  stem 185

8.1.5  學習器 186

8.1.6  分類器 188

8.2  MobileNet v2 189

8.2.1  架構 189

8.2.2  stem 190

8.2.3  學習器 191

8.2.4  分類器 194

8.3  SqueezeNet 195

8.3.1  架構 196

8.3.2  stem 197

8.3.3  學習器 197

8.3.4  分類器 200

8.3.5  旁路連接 202

8.4  ShuffleNet v1 205

8.4.1  架構 205

8.4.2  stem 206

8.4.3  學習器 206

8.5  部署 213

8.5.1  量化 213

8.5.2  TF Lite轉換和預測 214

8.6  本章小結 216

第9章  自動編碼器 217

9.1  深度神經網絡自動編碼器 217

9.1.1  自動編碼器架構 218

9.1.2  編碼器 219

9.1.3  解碼器 219

9.1.4  訓練 220

9.2  捲積自動編碼器 221

9.2.1  架構 222

9.2.2  編碼器 222

9.2.3  解碼器 223

9.3  稀疏自動編碼器 225

9.4  去噪自動編碼器 226

9.5  超分辨率 226

9.5.1  預上採樣SR 227

9.5.2  後上採樣SR 229

9.6  前置任務 232

9.7  超越電腦視覺:Seq2Seq模型 234

9.8  本章小結 235

第Ⅲ部分 使用管線

第10章  超參數調優 239

10.1  權重初始化 240

10.1.1  權重分佈 241

10.1.2  彩票假設 241

10.1.3  預熱(數值穩定性) 243

10.2  超參數搜索基礎知識 246

10.2.1  超參數搜索的手動方法 246

10.2.2  網格搜索 248

10.2.3  隨機搜索 248

10.2.4  KerasTuner 250

10.3  學習率調度器 252

10.3.1  Keras衰減參數 253

10.3.2  Keras學習率調度器 253

10.3.3  Ramp 254

10.3.4  恆定步長 255

10.3.5  餘弦退火 256

10.4  正則化 258

10.4.1  權重正則化 258

10.4.2  標簽平滑 259

10.5  超越電腦視覺 260

10.6  本章小結 261

第11章  遷移學習 263

11.1  TF.Keras預構建模型 264

11.1.1  基礎模型 265

11.1.2  用於預測的預訓練ImageNet模型 266

11.1.3  新分類器 267

11.2  TF Hub預構建模型 271

11.2.1  使用TF Hub預訓練模型 271

11.2.2  新分類器 273

11.3  域間的遷移學習 274

11.3.1  類似的任務 274

11.3.2  不同的任務 275

11.3.3  特定域權重 278

11.3.4  域遷移權重初始化 279

11.3.5  負遷移 281

11.4  超越電腦視覺 281

11.5  本章小結 281

第12章  數據分佈 283

12.1  分佈類型 284

12.1.1  總體分佈 284

12.1.2  抽樣分佈 285

12.1.3  子總體分佈 286

12.2  分佈外樣本 286

12.2.1  MNIST精選數據集 287

12.2.2  建立環境 287

12.2.3  挑戰分佈外數據 288

12.2.4  作為DNN進行訓練 289

12.2.5  作為CNN進行訓練 294

12.2.6  圖像增強 297

12.2.7  最終測試 299

12.3  本章小結 299

第13章  數據管線 301

13.1  數據格式和存儲 303

13.1.1  壓縮圖像格式和原始圖像格式 303

13.1.2  HDF5格式 306

13.1.3  DICOM格式 310

13.1.4  TFRecord格式 311

13.2  數據饋送 316

13.2.1  NumPy 316

13.2.2  TFRecord 318

13.3  數據預處理 320

13.3.1  使用預stem進行預處理 320

13.3.2  使用TF Extended進行預處理 327

13.4  數據增強 332

13.4.1  不變性 332

13.4.2  使用tf.data進行增強 334

13.4.3  預stem 335

13.5  本章小結 335

第14章  訓練和部署管線 337

14.1  模型饋送 338

14.1.1  使用tf.data.Dataset進行模型饋送 342

14.1.2  使用tf.Strategy進行分佈式饋送 345

14.1.3  使用TFX進行模型饋送 346

14.2  訓練調度器 352

14.2.1  管線版本控制 354

14.2.2  元數據 355

14.2.3  歷史記錄 357

14.3  模型評估 358

14.3.1  候選模型與幸運模型 358

14.3.2  TFX評估 361

14.4  預測服務 364

14.4.1  按需(實時)服務 364

14.4.2  批預測服務 367

14.4.3  用於部署的TFX管線組件 368

14.4.4  A/B測試 369

14.4.5  負載平衡 370

14.4.6  持續評估 372

14.5  生產管線設計的演變 373

14.5.1  機器學習作為管線 373

14.5.2  機器學習作為CI/CD生產流程 374

14.5.3  生產中的模型合並 375

14.6  本章小結 376