Python深度學(xué)習(xí)實戰(zhàn)——基于Pytorch
定 價:49.8 元
叢書名:Python開發(fā)系列叢書
- 作者:呂云翔 劉卓然
- 出版時間:2021/8/1
- ISBN:9787115560155
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.561
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:128開
本書以深度學(xué)習(xí)框架PyTorch為基礎(chǔ),介紹機器學(xué)習(xí)的基礎(chǔ)知識與常用方法,全面細(xì)致地提供了基本機器學(xué)習(xí)操作的原理和在深度學(xué)習(xí)框架下的實踐步驟。全書共16章,主要分別介紹了深度學(xué)習(xí)基礎(chǔ)知識、深度學(xué)習(xí)框架及其對比,機器學(xué)習(xí)基礎(chǔ)知識,深度學(xué)習(xí)框架基礎(chǔ),Logistic回歸,多層感知器,計算機視覺,自然語言處理以及8個實戰(zhàn)案例。本書將理論與實踐緊密結(jié)合,相信能為讀者提供有益的學(xué)習(xí)指導(dǎo)。
?? 本書適合Python深度學(xué)習(xí)初學(xué)者、機器學(xué)習(xí)算法分析從業(yè)人員以及高等院校計算機科學(xué)、軟件工程等相關(guān)專業(yè)的師生閱讀。
1. 使用PyTorch框架,快速入門深度學(xué)習(xí)。
2. 8個實戰(zhàn)案例,分別展示了針對不同的問題使用深度學(xué)習(xí)技術(shù)如何進行解決。
3. 提供源程序、數(shù)據(jù)集、教學(xué)課件、教學(xué)大綱等學(xué)習(xí)資源。
呂云翔,北京航空航天大學(xué)教師。 比利時布魯塞爾大學(xué)應(yīng)用科學(xué)學(xué)院應(yīng)用信息技術(shù)專業(yè)碩士、經(jīng)濟學(xué)院工商管理專業(yè)碩士。具有多年的軟件開發(fā)、項目管理、計算機教學(xué)經(jīng)驗。對IT行業(yè)具有較全面的認(rèn)識。2003至今任北航軟件學(xué)院副教授。研究領(lǐng)域包括:軟件工程 IT項目管理。
第 1 章 深度學(xué)習(xí)簡介 1
1.1 計算機視覺 1
1.1.1 定義 1
1.1.2 基本任務(wù) 1
1.1.3 傳統(tǒng)方法 2
1.1.4 仿生學(xué)與深度學(xué)習(xí) 3
1.1.5 現(xiàn)代深度學(xué)習(xí) 4
1.2 自然語言處理 7
1.2.1 自然語言處理的基本問題 7
1.2.2 傳統(tǒng)方法與神經(jīng)網(wǎng)絡(luò)方法的比較 8
1.2.3 發(fā)展趨勢 9
1.3 強化學(xué)習(xí) 10
1.3.1 什么是強化學(xué)習(xí) 10
1.3.2 強化學(xué)習(xí)算法簡介 12
1.3.3 強化學(xué)習(xí)的應(yīng)用 12
1.4 本章小結(jié) 13
第 2 章 深度學(xué)習(xí)框架 14
2.1 Caffe 14
2.1.1 什么是 Caffe 14
2.1.2 Caffe 的特點 14
2.1.3 Caffe 概述 15
2.2 TensorFlow 16
2.2.1 什么是 TensorFlow 16
2.2.2 數(shù)據(jù)流圖 16
2.2.3 TensorFlow 的特點 17
2.2.4 TensorFlow 概述 17
2.3 PyTorch 20
2.3.1 什么是 PyTorch 20
2.3.2 PyTorch 的特點 20
2.3.3 PyTorch 概述 20
2.4 三者的比較 22
2.5 本章小結(jié) 24
第 3 章 機器學(xué)習(xí)基礎(chǔ)知識 25
3.1 模型評估與模型參數(shù)選擇 25
3.1.1 驗證 26
3.1.2 正則化 26
3.2 監(jiān)督學(xué)習(xí)與非監(jiān)督學(xué)習(xí) 26
3.2.1 監(jiān)督學(xué)習(xí) 27
3.2.2 非監(jiān)督學(xué)習(xí) 28
3.3 本章小結(jié) 29
第 4 章 PyTorch 深度學(xué)習(xí)基礎(chǔ) 30
4.1 Tensor 對象及其運算 30
4.2 Tensor 的索引和切片 32
4.3 Tensor 的變換、拼接和拆分 33
4.4 PyTorch 的 Reduction 操作 35
4.5 PyTorch 的自動微分 36
4.6 本章小結(jié) 38
第 5 章 Logistic 回歸 39
5.1 線性回歸簡介 39
5.2 Logistic 回歸簡介 41
5.3 用 PyTorch 實現(xiàn) Logistic 回歸 43
5.3.1 數(shù)據(jù)準(zhǔn)備 43
5.3.2 線性方程 44
5.3.3 激活函數(shù) 45
5.3.4 損失函數(shù) 45
5.3.5 優(yōu)化算法 47
5.3.6 模型可視化 47
5.4 本章小結(jié) 48
第 6 章 神經(jīng)網(wǎng)絡(luò)基礎(chǔ) 49
6.1 基礎(chǔ)概念 49
6.2 感知器 52
6.2.1 單層感知器 52
6.2.2 多層感知器 53
6.3 BP 神經(jīng)網(wǎng)絡(luò) 53
6.3.1 梯度下降 53
6.3.2 反向傳播 54
6.4 Dropout 正則化 55
6.5 Batch Normalization 56
6.5.1 Batch Normalization 的實現(xiàn)方式 57
6.5.2 Batch Normalization 的使用方法 58
6.6 本章小結(jié) 59
第 7 章 卷積神經(jīng)網(wǎng)絡(luò)與計算機視覺 60
7.1 卷積神經(jīng)網(wǎng)絡(luò)的基本思想 60
7.2 卷積操作 61
7.3 池化層 63
7.4 卷積神經(jīng)網(wǎng)絡(luò) 64
7.5 經(jīng)典網(wǎng)絡(luò)結(jié)構(gòu) 64
7.5.1 VGG 網(wǎng)絡(luò) 64
7.5.2 InceptionNet 65
7.5.3 ResNet 66
7.6 用 PyTorch 進行手寫數(shù)字識別 67
7.7 本章小結(jié) 72
第 8 章 神經(jīng)網(wǎng)絡(luò)與自然語言處理 73
8.1 語言建模 73
8.2 基于多層感知器的架構(gòu) 75
8.3 基于循環(huán)神經(jīng)網(wǎng)絡(luò)的架構(gòu) 76
8.3.1 循環(huán)單元 77
8.3.2 通過時間反向傳播 77
8.3.3 帶有門限的循環(huán)單元 78
8.3.4 循環(huán)神經(jīng)網(wǎng)絡(luò)語言模型 79
8.3.5 神經(jīng)機器翻譯 80
8.4 基于卷積神經(jīng)網(wǎng)絡(luò)的架構(gòu) 83
8.5 基于 Transformer 的架構(gòu) 85
8.5.1 多頭注意力 86
8.5.2 非參位置編碼 88
8.5.3 編碼器單元與解碼器單元 88
8.6 表示學(xué)習(xí)與預(yù)訓(xùn)練技術(shù) 89
8.6.1 詞向量 90
8.6.2 加入上下文信息的特征表示 91
8.6.3 網(wǎng)絡(luò)預(yù)訓(xùn)練 92
8.7 本章小結(jié) 95
第 9 章 實戰(zhàn):使用 PyTorch 實現(xiàn)
基于卷積神經(jīng)網(wǎng)絡(luò)模型的圖像分類與數(shù)據(jù)可視化 96
9.1 卷積神經(jīng)網(wǎng)絡(luò)模型 96
9.1.1 卷積神經(jīng)網(wǎng)絡(luò)模型的發(fā)展 96
9.1.2 Tensorboard 97
9.2 卷積神經(jīng)網(wǎng)絡(luò)模型與 Tensorboard實戰(zhàn) 97
9.2.1 FashionMNIST 數(shù)據(jù)集 97
9.2.2 數(shù)據(jù)準(zhǔn)備與模型搭建 98
9.2.3 Tensorboard 的使用 100
9.3 本章小結(jié) 108
第 10 章 實戰(zhàn):使用 PyTorch 實現(xiàn)基于textCNN的文本分類 109
10.1 文本分類常用的 Python 工具庫 109
10.2 數(shù)據(jù)集 110
10.3 算法模型 111
10.3.1 模型介紹 111
10.3.2 模型實現(xiàn) 114
10.3.3 模型結(jié)果 115
10.4 本章小結(jié) 115
第 11 章 實戰(zhàn):使用 PyTorch 搭建卷積神經(jīng)網(wǎng)絡(luò)進行音頻
轉(zhuǎn)化 116
11.1 數(shù)據(jù)集準(zhǔn)備 116
11.2 數(shù)據(jù)預(yù)處理 116
11.2.1 數(shù)據(jù)集讀取 116
11.2.2 音頻文件分段 117
11.2.3 CQT 118
11.3 模型構(gòu)建 119
11.3.1 激活函數(shù) 119
11.3.2 模型分析 120
11.3.3 ReLU 激活函數(shù)的定義和
實現(xiàn).120
11.3.4 flatten 函數(shù)平整層處理 121
11.3.5 sigmoid 激活函數(shù) 122
11.4 模型訓(xùn)練與結(jié)果評估 122
11.4.1 adam 優(yōu)化器 122
11.4.2 學(xué)習(xí)率策略定義 122
11.4.3 準(zhǔn)確度驗證 123
11.4.4 訓(xùn)練 124
11.5 本章小結(jié) 124
第 12 章 實戰(zhàn):使用 PyTorch 實現(xiàn)YOLOv3 的驗證碼識別 125
12.1 YOLOv3 125
12.1.1 YOLOv3 概述 125
12.1.2 YOLOv3 與 PyTorch 125
12.1.3 YOLOv3 案例的意義 126
12.2 目標(biāo)檢測案例:驗證碼中的簡單文字識別 126
12.2.1 YOLOv3 的安裝和文檔 126
12.2.2 訓(xùn)練集的獲取和數(shù)據(jù)標(biāo)注 126
12.2.3 模型訓(xùn)練 128
12.2.4 模型的測試與預(yù)覽 128
12.3 YOLO 的其他拓展 129
12.4 本章小結(jié) 129
第 13 章 實戰(zhàn):使用 PyTorch 實現(xiàn)基于預(yù)訓(xùn)練模型的文本情感分析 130
13.1 模型介紹 130
13.1.1 預(yù)訓(xùn)練模型 130
13.1.2 BERT 130
13.2 情感分類介紹 131
13.2.1 文本情感分析 131
13.2.2 BERT 情感分析原理簡析 131
13.3 環(huán)境搭建 131
13.3.1 環(huán)境選擇 132
13.3.2 Conda 簡介 133
13.3.3 Huggingface-Transformer 簡介 133
13.3.4 Huggingface-Transformer 下載 133
13.4 數(shù)據(jù)集獲取 133
13.5 模型微調(diào) 134
13.6 效果測評 136
13.7 本章小結(jié) 137
第 14 章 實戰(zhàn):用 PyTorch 進行
視頻處理 138
14.1 數(shù)據(jù)準(zhǔn)備 138
14.2 數(shù)據(jù)預(yù)處理 139
14.2.1 數(shù)據(jù)集的讀取 139
14.2.2 視頻關(guān)鍵幀的提取 139
14.3 模型構(gòu)建 140
14.3.1 ResNet-18 提取關(guān)鍵幀的特征 141
14.3.2 L2 正則化關(guān)鍵幀特征 142
14.3.3 視頻相似度匹配 142
14.3.4 幀級相似度匹配 143
14.4 模型訓(xùn)練與結(jié)果評估 145
14.4.1 訓(xùn)練函數(shù)的實現(xiàn) 145
14.4.2 訓(xùn)練結(jié)果提交 146
14.5 本章小結(jié) 146
第 15 章 實戰(zhàn):使用 PyTorch 在跨域數(shù)據(jù)集上進行圖像分類 147
15.1 遷移學(xué)習(xí) 147
15.2 跨域數(shù)據(jù)集 148
15.3 ResNet-50 149
15.4 案例分析 149
15.4.1 數(shù)據(jù)預(yù)處理 149
15.4.2 讀取數(shù)據(jù) 151
15.4.3 訓(xùn)練 153
15.5 本章小結(jié) 154
第 16 章 實戰(zhàn):使用 PyTorch 實現(xiàn)基于BERT的自動新聞文本分類 155
16.1 文本分類概述 155
16.2 BERT 簡介 156
16.3 數(shù)據(jù)預(yù)處理 158
16.4 模型實現(xiàn) 159
16.5 本章小結(jié) 160
附錄 A PyTorch 環(huán)境搭建 161
A.1 Linux 平臺下 PyTorch 環(huán)境搭建 161
A.2 Windows 平臺下 PyTorch 環(huán)境
搭建.163
附錄 B 深度學(xué)習(xí)的數(shù)學(xué)基礎(chǔ) 165
B.1 線性代數(shù) 165
B.2 概率論 172