深度學習算法與實踐
郝曉莉,王昌利,侯亞麗,景輝
- 出版商: 清華大學
- 出版日期: 2023-11-01
- 定價: $354
- 售價: 8.5 折 $301
- 語言: 簡體中文
- 頁數: 314
- ISBN: 7302642680
- ISBN-13: 9787302642688
-
相關分類:
DeepLearning
下單後立即進貨 (約4週~6週)
相關主題
商品描述
本書是一本深度學習從入門、算法到應用實踐的書籍。全書共9章,第1章介紹深度學習基礎,主要介紹基本概念和基本算法;第2章介紹深度學習的計算平臺,主要介紹深度神經網絡計算芯片TPU的架構原理;第3章介紹深度學習編程環境和操作基礎,引導零基礎讀者快速入門Linux操作系統、Python編程語言、TensorFlow和PyTorch深度學習框架,為實現深度學習算法開發及應用部署奠定基礎;第4~8章基於捲積神經網絡,分別聚焦電腦視覺領域的幾大經典任務,包括圖像的分類、目標檢測、語義分割、實例分割、人臉檢測與識別等;第9章介紹循環神經網絡,關註時序序列處理任務。本書每章講解一系列經典神經網絡的創新性思路,給出了詳細的模型結構解析,並提供了具體的實踐項目。從代碼解析、網絡訓練、網絡推理到模型部署,帶領讀者從理論一步步走向實踐。 本書既可作為高等學校深度學習相關課程的教材,也可作為從事人工智能應用系統開發的科研和技術人員參考用書。
目錄大綱
目錄
第1章深度學習基礎/1
1.1人工智能概述1
1.1.1人工智能在各領域中的應用1
1.1.2人工智能、機器學習和深度學習3
1.2深度學習的基本原理5
1.2.1神經元5
1.2.2人工神經網絡8
1.2.3反向傳播算法11
1.2.4神經網絡的數據結構——張量18
1.3捲積神經網絡18
1.3.1捲積層19
1.3.2池化層21
1.3.3歸一化層21
1.3.4全連接層22
1.3.5Softmax函數22
1.3.6損失函數23
1.3.7捲積神經網絡的特點24
1.3.8捲積神經網絡的發展25
1.4遷移學習26
1.5模型訓練超參數27
1.6深度學習在電腦視覺中的典型應用28
1.7數據集29
1.7.1數據集的劃分30
1.7.2數據集的預處理30
1.7.3數據集的標註33
1.7.4常用數據集35
1.8深度學習框架47
1.9深度學習的計算特點47
第2章深度學習的計算平臺/49
2.1神經網絡計算加速芯片512.1.1神經網絡的計算特點51
2.1.2神經網絡的計算芯片52
2.2TPU架構與原理54
2.2.1谷歌TPU架構與原理56
2.2.2算能TPU架構與原理61
2.3算能TPU硬件架構及產品形態63
2.3.1算能TPU的芯片硬件架構63
2.3.2算能TPU的產品形態65
2.4算能TPU軟件架構65
2.4.1實時視頻流處理方案66
2.4.2深度學習軟件開發工具包67
2.4.3離線模型轉換68
2.4.4在線模型推理69
2.4.5自定義算子69
2.4.6模型量化加速70
2.4.7高級接口編程庫70
〖1〗深度學習算法與實踐目錄〖3〗〖3〗第3章深度學習編程環境操作基礎/72
3.1Linux入門72
3.1.1Linux系統的安裝簡介72
3.1.2Linux系統的常用命令73
3.1.3Linux的文本編輯器75
3.2Python入門75
3.2.1Python環境的安裝和使用75
3.2.2PyCharm集成開發環境的安裝和使用76
3.2.3常用Python庫79
3.2.4Python虛擬環境79
3.3TensorFlow入門81
3.3.1TensorFlow的安裝81
3.3.2TensorFlow的基本操作82
3.3.3使用TensorFlow實現手寫數字識別85
3.4PyTorch入門87
3.4.1PyTorch的安裝87
3.4.2PyTorch的基本操作88
3.4.3使用PyTorch實現手寫數字識別89
3.5SE5平臺開發環境92
3.5.1SE5應用系統開發的硬件環境92
3.5.2SE5應用系統開發的軟件環境93
第4章圖像分類/96
4.1圖像分類任務介紹96
4.2典型分類網絡解析97
4.2.1LeNet5手寫數字識別神經網絡97
4.2.2AlexNet圖像分類網絡99
4.2.3VGGNet圖像分類網絡102
4.2.4GoogLeNet圖像分類網絡106
4.2.5ResNet殘差圖像分類網絡110
4.2.6DenseNet密集連接捲積網絡115
4.2.7SENet壓縮激勵圖像分類網絡119
4.3實踐項目一: 基於LeNet5神經網絡的手寫數字識別120
4.3.1實踐項目內容120
4.3.2微調的LeNet5網絡結構121
4.3.3TensorFlow 2.x框架下程序實現122
4.3.4LeNet5模型訓練和測試過程125
4.3.5LeNet5網絡模型在SE5上的部署125
4.4實踐項目二: 基於ResNet神經網絡的貓狗分類130
4.4.1實踐項目內容130
4.4.2Dogs vs. Cats數據集簡介130
4.4.3ResNet18網絡結構130
4.4.4PyTorch框架下程序實現132
4.4.5ResNet18模型訓練和測試過程136
4.4.6ResNet18網絡模型在SE5上的部署137
第5章目標檢測/142
5.1目標檢測任務介紹142
5.1.1目標檢測任務142
5.1.2預備知識143
5.1.3評估準則147
5.2兩階段目標檢測算法150
5.2.1RCNN150
5.2.2Fast RCNN151
5.2.3Faster RCNN152
5.3單階段目標檢測算法160
5.3.1YOLOv1160
5.3.2YOLOv2165
5.3.3YOLOv3172
5.3.4YOLOv4175
5.3.5YOLOv5180
5.3.6FCOS185
5.3.7DETR188
5.4實踐項目: 基於YOLOv5s的目標檢測190
5.4.1實踐項目內容190
5.4.2YOLOv5s網絡結構190
5.4.3PyTorch框架下程序實現190
5.4.4YOLOv5s網絡模型訓練和測試過程196
5.4.5YOLOv5s網絡模型在SE5上的部署197
第6章語義分割/200
6.1語義分割任務介紹200
6.1.1語義分割任務200
6.1.2預備知識200
6.1.3評估準則201
6.2典型語義分割網絡203
6.2.1FCN203
6.2.2UNet205
6.2.3SegNet206
6.2.4PSPNet208
6.2.5ICNet210
6.2.6DeepLab系列214
6.3實踐項目: 基於ICNet的語義分割217
6.3.1實踐項目內容217
6.3.2數據集217
6.3.3ICNet網絡結構218
6.3.4TensorFlow框架下程序實現218
6.3.5ICNet網絡模型訓練和測試過程226
6.3.6ICNet網絡模型在SE5上的部署227
第7章實例分割/230
7.1實例分割任務介紹230
7.1.1實例分割任務230
7.1.2評估準則230
7.2典型實例分割網絡231
7.2.1Mask RCNN231
7.2.2YOLACT與YOLACT++237
7.2.3SOLO和SOLOv2243
7.3實踐項目: 基於Mask RCNN的實例分割251
7.3.1實踐項目內容251
7.3.2Mask RCNN網絡結構251
7.3.3TensorFlow框架下程序實現251
7.3.4Mask RCNN網絡測試過程256
7.3.5Mask RCNN網絡模型在SE5上的部署256
第8章人臉檢測與識別/258
8.1人臉檢測與識別任務介紹258
8.1.1人臉檢測與識別及其應用258
8.1.2人臉識別系統構成258
8.1.3常用數據集介紹259
8.1.4評估準則260
8.2人臉檢測網絡262
8.2.1MTCNN人臉檢測網絡262
8.2.2RetinaFace人臉檢測網絡264
8.3人臉對齊268
8.4人臉特徵提取網絡269
8.4.1人臉特徵提取網絡原理269
8.4.2FaceNet272
8.4.3ArcFace/InsightFace275
8.5實踐項目一: 基於PC的MTCNN+ArcFace實時人臉檢測和識別281
8.5.1實踐項目內容281
8.5.2PyTorch框架下程序實現281
8.5.3人臉識別系統測試290
8.6實踐項目二: 基於SE5的RetinaFace+FaceNet實時人臉檢測和識別291
8.6.1實踐項目內容291
8.6.2系統方案291
8.6.3PyTorch框架下程序實現292
8.6.4人臉識別系統測試297
第9章循環神經網絡/299
9.1循環神經網絡原理299
9.1.1循環神經網絡299
9.1.2長短期記憶網絡301
9.1.3門控循環單元網絡302
9.1.4雙向循環神經網絡303
9.2實踐項目: 基於LSTM的股票預測304
9.2.1實踐項目內容304
9.2.2數據集304
9.2.3股票預測方法304
9.2.4TensorFlow框架下程序實現306
9.2.5LSTM網絡模型訓練和測試過程311
9.2.6LSTM網絡模型在SE5上的部署312
參考文獻/3151.1人工智能概述1
1.1.1人工智能在各領域中的應用1
1.1.2人工智能、機器學習和深度學習3
1.2深度學習的基本原理5
1.2.1神經元5
1.2.2人工神經網絡8
1.2.3反向傳播算法11
1.2.4神經網絡的數據結構——張量18
1.3捲積神經網絡18
1.3.1捲積層19
1.3.2池化層21
1.3.3歸一化層21
1.3.4全連接層22
1.3.5Softmax函數22
1.3.6損失函數23
1.3.7捲積神經網絡的特點24
1.3.8捲積神經網絡的發展25
1.4遷移學習26
1.5模型訓練超參數27
1.6深度學習在電腦視覺中的典型應用28
1.7數據集29
1.7.1數據集的劃分30
1.7.2數據集的預處理30
1.7.3數據集的標註33
1.7.4常用數據集35
1.8深度學習框架47
1.9深度學習的計算特點47
第2章深度學習的計算平臺/49
2.1神經網絡計算加速芯片512.1.1神經網絡的計算特點51
2.1.2神經網絡的計算芯片52
2.2TPU架構與原理54
2.2.1谷歌TPU架構與原理56
2.2.2算能TPU架構與原理61
2.3算能TPU硬件架構及產品形態63
2.3.1算能TPU的芯片硬件架構63
2.3.2算能TPU的產品形態65
2.4算能TPU軟件架構65
2.4.1實時視頻流處理方案66
2.4.2深度學習軟件開發工具包67
2.4.3離線模型轉換68
2.4.4在線模型推理69
2.4.5自定義算子69
2.4.6模型量化加速70
2.4.7高級接口編程庫70
〖1〗深度學習算法與實踐目錄〖3〗〖3〗第3章深度學習編程環境操作基礎/72
3.1Linux入門72
3.1.1Linux系統的安裝簡介72
3.1.2Linux系統的常用命令73
3.1.3Linux的文本編輯器75
3.2Python入門75
3.2.1Python環境的安裝和使用75
3.2.2PyCharm集成開發環境的安裝和使用76
3.2.3常用Python庫79
3.2.4Python虛擬環境79
3.3TensorFlow入門81
3.3.1TensorFlow的安裝81
3.3.2TensorFlow的基本操作82
3.3.3使用TensorFlow實現手寫數字識別85
3.4PyTorch入門87
3.4.1PyTorch的安裝87
3.4.2PyTorch的基本操作88
3.4.3使用PyTorch實現手寫數字識別89
3.5SE5平臺開發環境92
3.5.1SE5應用系統開發的硬件環境92
3.5.2SE5應用系統開發的軟件環境93
第4章圖像分類/96
4.1圖像分類任務介紹96
4.2典型分類網絡解析97
4.2.1LeNet5手寫數字識別神經網絡97
4.2.2AlexNet圖像分類網絡99
4.2.3VGGNet圖像分類網絡102
4.2.4GoogLeNet圖像分類網絡106
4.2.5ResNet殘差圖像分類網絡110
4.2.6DenseNet密集連接捲積網絡115
4.2.7SENet壓縮激勵圖像分類網絡118
4.3實踐項目一: 基於LeNet5神經網絡的手寫數字識別120
4.3.1實踐項目內容120
4.3.2微調的LeNet5網絡結構121
4.3.3TensorFlow 2.x框架下程序實現121
4.3.4LeNet5模型訓練和測試過程124
4.3.5LeNet5網絡模型在SE5上的部署125
4.4實踐項目二: 基於ResNet神經網絡的貓狗分類129
4.4.1實踐項目內容129
4.4.2Dogs vs. Cats數據集簡介129
4.4.3ResNet18網絡結構130
4.4.4PyTorch框架下程序實現131
4.4.5ResNet18模型訓練和測試過程135
4.4.6ResNet18網絡模型在SE5上的部署136
第5章目標檢測/141
5.1目標檢測任務介紹141
5.1.1目標檢測任務141
5.1.2預備知識142
5.1.3評估準則146
5.2兩階段目標檢測算法149
5.2.1RCNN149
5.2.2Fast RCNN150
5.2.3Faster RCNN151
5.3單階段目標檢測算法159
5.3.1YOLOv1159
5.3.2YOLOv2164
5.3.3YOLOv3171
5.3.4YOLOv4174
5.3.5YOLOv5179
5.3.6FCOS184
5.3.7DETR188
5.4實踐項目: 基於YOLOv5s的目標檢測189
5.4.1實踐項目內容189
5.4.2YOLOv5s網絡結構190
5.4.3PyTorch框架下程序實現191
5.4.4YOLOv5s網絡模型訓練和測試過程195
5.4.5YOLOv5s網絡模型在SE5上的部署197
第6章語義分割/200
6.1語義分割任務介紹200
6.1.1語義分割任務200
6.1.2預備知識200
6.1.3評估準則201
6.2典型語義分割網絡203
6.2.1FCN203
6.2.2UNet205
6.2.3SegNet206
6.2.4PSPNet207
6.2.5ICNet210
6.2.6DeepLab系列214
6.3實踐項目: 基於ICNet的語義分割217
6.3.1實踐項目內容217
6.3.2數據集217
6.3.3ICNet網絡結構218
6.3.4TensorFlow框架下程序實現218
6.3.5ICNet網絡模型訓練和測試過程226
6.3.6ICNet網絡模型在SE5上的部署227
第7章實例分割/230
7.1實例分割任務介紹230
7.1.1實例分割任務230
7.1.2評估準則230
7.2典型實例分割網絡231
7.2.1Mask RCNN231
7.2.2YOLACT與YOLACT++237
7.2.3SOLO和SOLOv2243
7.3實踐項目: 基於Mask RCNN的實例分割251
7.3.1實踐項目內容251
7.3.2Mask RCNN網絡結構251
7.3.3TensorFlow框架下程序實現251
7.3.4Mask RCNN網絡測試過程256
7.3.5Mask RCNN網絡模型在SE5上的部署256
第8章人臉檢測與識別/258
8.1人臉檢測與識別任務介紹258
8.1.1人臉檢測與識別及其應用258
8.1.2人臉識別系統構成258
8.1.3常用數據集介紹259
8.1.4評估準則260
8.2人臉檢測網絡262
8.2.1MTCNN人臉檢測網絡262
8.2.2RetinaFace人臉檢測網絡264
8.3人臉對齊268
8.4人臉特徵提取網絡269
8.4.1人臉特徵提取網絡原理269
8.4.2FaceNet272
8.4.3ArcFace/InsightFace275
8.5實踐項目一: 基於PC的MTCNN+ArcFace實時人臉檢測和識別281
8.5.1實踐項目內容281
8.5.2PyTorch框架下程序實現281
8.5.3人臉識別系統測試290
8.6實踐項目二: 基於SE5的RetinaFace+FaceNet實時人臉檢測和識別291
8.6.1實踐項目內容291
8.6.2系統方案291
8.6.3PyTorch框架下程序實現292
8.6.4人臉識別系統測試297
第9章循環神經網絡/299
9.1循環神經網絡原理299
9.1.1循環神經網絡299
9.1.2長短期記憶網絡301
9.1.3門控循環單元網絡302
9.1.4雙向循環神經網絡303
9.2實踐項目: 基於LSTM的股票預測304
9.2.1實踐項目內容304
9.2.2數據集304
9.2.3股票預測方法304
9.2.4TensorFlow框架下程序實現306
9.2.5LSTM網絡模型訓練和測試過程311
9.2.6LSTM網絡模型在SE5上的部署312
參考文獻/315