深度學習之模型優化:核心算法與案例實踐

言有三

  • 出版商: 電子工業
  • 出版日期: 2024-07-01
  • 售價: $534
  • 貴賓價: 9.5$507
  • 語言: 簡體中文
  • 頁數: 244
  • ISBN: 7121481529
  • ISBN-13: 9787121481529
  • 相關分類: DeepLearning
  • 立即出貨 (庫存 < 3)

商品描述

本書由淺入深、系統性地介紹了深度學習模型壓縮與優化的核心技術。本書共9 章,主要內容有:深度學習模型性能評估、模型可視化、輕量級模型設計、模型剪枝、模型量化、遷移學習與知識蒸餾、自動化模型設計、模型優化與部署工具。本書理論知識體系完備,同時提供了大量實例,供讀者實戰演練。

目錄大綱

第1章 引言 1
1.1 人工智能時代背景 1
1.2 數據處理 2
1.2.1 大數據時代背景 2
1.2.2 數據獲取 3
1.2.3 數據清洗與整理 5
1.3 算法基礎 7
1.3.1 捲積的概念 7
1.3.2 CNN基本概念 8
1.4 計算芯片 12
1.4.1 GPU 12
1.4.2 ARM 15
1.5 深度學習框架 16
1.5.1 Caffe 16
1.5.2 TensorFlow 17
1.5.3 PyTorch 17
第2章 模型性能評估 19
2.1 性能指標 19
2.1.1 基準模型 19
2.1.2 參數量 20
2.1.3 計算量與內存訪問代價 21
2.1.4 計算速度 22
2.1.5 並行化程度 23
2.1.6 能耗 24
2.2 學術與產業競賽 24
第3章 模型可視化 26
3.1 模型可視化基礎 26
3.1.1 為什麽要研究模型可視化 26
3.1.2 模型可視化的研究方向 27
3.2 模型結構可視化 27
3.2.1 Netscope可視化方法 27
3.2.2 TensorBoard模型結構可視化 33
3.2.3 Graphiz可視化工具 35
3.2.4 Netron可視化工具 38
3.3 模型參數與特徵可視化 44
3.3.1 參數可視化 44
3.3.2 激活值可視化 46
3.3.3 工具 46
3.4 輸入區域重要性可視化 48
3.4.1 基本原理 48
3.4.2 基於反向傳播的輸入可視化 49
3.4.3 類激活映射可視化 50
3.5 輸入激活模式可視化 52
3.5.1 概述 53
3.5.2 梯度計算法 53
3.5.3 反捲積法 56
3.5.4 網絡反轉法 58
3.5.5 小結 58
3.6 模型可視化分析實踐 59
3.6.1 基於梯度計算法的可視化 59
3.6.2 反捲積可視化 62
3.6.3 CAM可視化 68
3.6.4 小結 71
第4章 輕量級模型設計 72
4.1 捲積核的使用和設計 72
4.1.1 全連接層的壓縮 72
4.1.2 小捲積核的應用 73
4.2 捲積拆分與分組 77
4.2.1 捲積拆分操作 78
4.2.2 分組捲積Xception與MobileNet 79
4.2.3 ShuffleNet 80
4.2.4 級連通道分組網絡 81
4.2.5 多分辨率捲積核通道分組網絡 82
4.2.6 多尺度通道分組網絡 83
4.2.7 多精度分組網絡 84
4.3 特徵與參數重用設計 85
4.3.1 特徵重用 85
4.3.2 參數重用 86
4.4 動態自適應模型設計 87
4.4.1 什麽是動態模型 87
4.4.2 基於提前終止與模塊丟棄原理的動態模型 89
4.4.3 基於註意力感知的動態模型 93
4.5 捲積乘法操作優化和設計 94
4.5.1 移位網絡 94
4.5.2 加法網絡 98
4.5.3 移位網絡與加法網絡結合 99
4.6 重參數化技巧 99
4.6.1 網絡層合並 100
4.6.2 分支合並 101
4.7 新穎算子設計 102
4.8 低秩稀疏化設計 104
第5章 模型剪枝 105
5.1 模型剪枝基礎 105
5.1.1 什麽是模型剪枝 105
5.1.2 模型剪枝的粒度 106
5.2 模型稀疏學習 107
5.2.1 權重正則化約束 107
5.2.2 基於網絡結構的設計 109
5.3 非結構化剪枝技術 110
5.3.1 基於優化目標的方法 110
5.3.2 基於權重幅度的方法 112
5.3.3 向量剪枝技術 113
5.4 結構化剪枝技術 114
5.4.1 基於重要性因子的剪枝算法 114
5.4.2 基於輸出重建誤差的通道剪枝算法 116
5.4.3 基於優化目標敏感性的剪枝算法 117
5.4.4 捲積核剪枝和通道剪枝的差異 119
5.5 模型剪枝的一些問題 119
5.5.1 剪枝的必要性 119
5.5.2 訓練策略 119
5.5.3 整個網絡同時剪枝 120
5.5.4 運行時剪枝 121
5.6 圖像分類模型結構化剪枝實戰 122
5.6.1 模型定義與數據集 122
5.6.2 模型訓練 124
5.6.3 模型剪枝 127
5.6.4 殘差網絡 130
5.6.5 小結 134
第6章 模型量化 135
6.1 模型量化基礎 135
6.1.1 什麽是模型量化 135
6.1.2 量化的優勢 135
6.2 二值量化算法 137
6.2.1 基於閾值映射函數的方法 137
6.2.2 基於重建誤差的方法 138
6.2.3 從二值量化模型到三值量化模型 140
6.2.4 二值量化的主要問題 140
6.3 8bit量化 141
6.3.1 基於變換函數的非對稱量化 142
6.3.2 基於信息損失的對稱量化 143
6.4 混合精度量化算法 145
6.4.1 一般混合精度量化算法 145
6.4.2 自動位寬學習 146
6.5 半精度浮點數訓練算法 147
6.6 模型量化的一些其他問題 148
6.6.1 非均勻量化 148
6.6.2 更穩定地訓練量化模型 149
6.6.3 量化訓練與離線量化的比較 151
6.7 基於TensorRT框架的模型量化推理實踐 152
6.7.1 項目簡介 152
6.7.2 量化算法實現 153
6.7.3 TensorRT模型量化與推理 158
第7章 遷移學習與知識蒸餾 167
7.1 遷移學習與知識蒸餾基礎 167
7.1.1 遷移學習的基本概念 167
7.1.2 知識蒸餾的基本概念 168
7.2 基於優化目標驅動的知識蒸餾 168
7.2.1 預訓練大模型框架 169
7.2.2 大模型與小模型共同學習框架 171
7.2.3 小結 172
7.3 基於特徵匹配的知識蒸餾 172
7.3.1 基本框架 172
7.3.2 註意力機制的使用 173
7.4 自蒸餾框架 174
7.4.1 深度協同學習 174
7.4.2 自監督學習 174
7.4.3 自進化學習 175
7.5 知識蒸餾的一些問題 176
7.5.1 教師模型是否越強越好 176
7.5.2 學生模型與教師模型的相互學習 176
7.6 基於經典知識蒸餾的圖像分類實戰 177
7.6.1 基準模型定義 177
7.6.2 基準模型訓練 179
7.6.3 知識蒸餾學習 180
7.6.4 小結 183
第8章 自動化模型設計 184
8.1 自動化機器學習基礎 184
8.1.1 什麽是AutoML 184
8.1.2 AutoML在數據工程中的應用 185
8.1.3 AutoML在超參數優化中的典型應用 186
8.1.4 現有的AutoML系統 187
8.2 神經網絡結構搜索基礎 188
8.2.1 什麽是NAS 189
8.2.2 NAS的搜索空間 190
8.2.3 NAS的搜索策略 192
8.2.4 NAS的評估 192
8.3 基於柵格搜索的NAS 193
8.3.1 網絡基礎參數搜索 193
8.3.2 網絡拓撲結構搜索 194
8.4 基於強化學習的NAS 194
8.4.1 強化學習基礎 195
8.4.2 基本方法 197
8.4.3 NASNet 199
8.4.4 MNASNet 201
8.5 基於進化算法的NAS 203
8.5.1 進化算法簡介 203
8.5.2 Genetic CNN算法 204
8.5.3 與NASNet的結合 206
8.6 可微分NAS 207
8.7 NAS與其他模型壓縮方法結合 209
8.7.1 自動化模型剪枝 209
8.7.2 自動化模型量化 210
8.7.3 自動化模型蒸餾 211
8.8 當前NAS的一些問題 212
第9章 模型優化與部署工具 213
9.1 模型優化工具 213
9.1.1 TensorFlow和PocketFlow框架 213
9.1.2 PaddlePaddle框架 214
9.1.3 PyTorch和Distiller框架 215
9.1.4 NNI框架 216
9.1.5 小結 216
9.2 模型部署工具 216
9.2.1 模型部署基礎 217
9.2.2 ONNX標準 217
9.2.3 NVIDIA GPU推理框架TensorRT 218
9.2.4 特定框架專用模型推理框架 220
9.2.5 通用移動端模型推理框架 221
9.2.6 小結 221
9.3 基於NCNN的模型優化部署實戰 222
9.3.1 軟硬件平臺介紹 222
9.3.2 模型格式轉換 223
9.3.3 模型部署測試 224
9.3.4 小結 230