PyTorch教程:21個項目玩轉(zhuǎn)PyTorch實(shí)戰(zhàn)
定 價:89 元
- 作者:王飛 等,何健偉、林宏彬、史周安
- 出版時間:2022/12/1
- ISBN:9787301334461
- 出 版 社:北京大學(xué)出版社
- 中圖法分類:TP181
- 頁碼:292
- 紙張:
- 版次:1
- 開本:16開
PyTorch 是基于 Torch 庫的開源機(jī)器學(xué)習(xí)庫,它主要由 Meta(原 Facebook)的人工智能研究實(shí)驗(yàn)室開發(fā),在自然語言處理和計算機(jī)視覺領(lǐng)域都具有廣泛的應(yīng)用。本書介紹了簡單且經(jīng)典的入門項目,方便快速上手,如 MNIST數(shù)字識別,讀者在完成項目的過程中可以了解數(shù)據(jù)集、模型和訓(xùn)練等基礎(chǔ)概念。本書還介紹了一些實(shí)用且經(jīng)典的模型,如 R-CNN 模型,通過這個模型的學(xué)習(xí),讀者可以對目標(biāo)檢測任務(wù)有一個基本的認(rèn)識,對于基本的網(wǎng)絡(luò)結(jié)構(gòu)原理有一定的了解。另外,本書對于當(dāng)前比較熱門的生成對抗網(wǎng)絡(luò)和強(qiáng)化學(xué)習(xí)也有一定的介紹,方便讀者拓寬視野,掌握前沿方向。
本書適合人工智能、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)方面的人員閱讀,也適合其他 IT 方面從業(yè)者,另外,還可以作為相關(guān)專業(yè)的教材。
王飛,2019年翻譯了PyTorch官方文檔,讀研期間研究方向?yàn)樽匀徽Z言處理,主要是中文分詞、文本分類和數(shù)據(jù)挖掘。目前在教育行業(yè)工作,探索人工智能技術(shù)在教育中的應(yīng)用。
何健偉,曾任香港大學(xué)研究員,研究方向?yàn)樽匀徽Z言處理,目前從事大規(guī)模推薦算法架構(gòu)研究工作。
林宏彬,碩士期間研究方向?yàn)樽匀徽Z言處理,現(xiàn)任阿里巴巴算法工程師,目前從事廣告推薦領(lǐng)域的算法研究工作。
史周安,軟件工程碩士,人工智能技術(shù)愛好者、實(shí)踐者與探索者。目前從事弱監(jiān)督學(xué)習(xí)、遷移學(xué)習(xí)與醫(yī)學(xué)圖像相關(guān)工作。
第1章 ?數(shù)字識別
1.1 MNIST數(shù)據(jù)集2
1.1.1 MNIST 數(shù)據(jù)集簡介2
1.1.2 導(dǎo)入數(shù)據(jù)集3
1.2 構(gòu)建模型4
1.2.1 定義神經(jīng)網(wǎng)絡(luò)4
1.2.2 前向傳播6
1.2.3 計算損失7
1.2.4 反向傳播與更新參數(shù)8
1.3 開始訓(xùn)練8
1.4 觀察模型預(yù)測結(jié)果9
1.5 總結(jié)11
第2章 ?ImageNet圖像識別模型與CIFAR-10
2.1 圖像分類器13
2.1.1 CIFAR-10數(shù)據(jù)集簡介13
2.1.2 加載數(shù)據(jù)集14
2.1.3 定義卷積神經(jīng)網(wǎng)絡(luò)15
2.1.4 定義損失函數(shù)和優(yōu)化器16
2.1.5 訓(xùn)練網(wǎng)絡(luò)16
2.1.6 使用測試集評估17
2.1.7 使用GPU加速19
2.2 ImageNet和圖像識別模型20
2.2.1 ImageNet20
2.2.2 基于 ImageNet 的圖像識別模型20
2.3 總結(jié)22
第3章 ?從零構(gòu)建圖像分類模型
3.1 預(yù)訓(xùn)練模型原理24
3.1.1 狀態(tài)字典24
3.1.2 通過設(shè)備保存25
3.2 加載ImageNet預(yù)訓(xùn)練模型25
3.3 準(zhǔn)備數(shù)據(jù)27
3.3.1 加載數(shù)據(jù)集28
3.3.2 使用matplotlib可視化數(shù)據(jù)29
3.4 開始訓(xùn)練29
3.5 使用torchvision微調(diào)模型31
3.6 觀察模型預(yù)測結(jié)果31
3.7 固定模型的參數(shù)33
3.8 使用tensorbord可視化訓(xùn)練情況34
3.9 總結(jié)35
第4章 ?文本生成
4.1 RNN原理及其結(jié)構(gòu)37
4.1.1 經(jīng)典RNN結(jié)構(gòu)37
4.1.2 N VS 1 式RNN結(jié)構(gòu)38
4.1.3 1 VS N RNN結(jié)構(gòu)39
4.1.4 N VS M RNN結(jié)構(gòu)39
4.2 明確任務(wù)39
4.3 準(zhǔn)備數(shù)據(jù)40
4.4 構(gòu)建模型44
4.5 開始訓(xùn)練45
4.6 觀察交互結(jié)果47
4.7 總結(jié)49
第5章 ?目標(biāo)檢測和實(shí)例分割
5.1 快速了解目標(biāo)檢測51
5.1.1 評估方法51
5.1.2 直觀方法 51
5.2 R-CNN系列模型的原理53
5.2.1 R-CNN原理53
5.2.2 Fast R-CNN原理54
5.2.3 Faster R-CNN原理56
5.2.4 Mask R-CNN原理58
5.3 使用torchvison微調(diào)模型58
5.3.1 使用Penn-Fudan數(shù)據(jù)集58
5.3.2 搭建目標(biāo)檢測模型61
5.3.3 下載必要的工具文件62
5.3.4 改造模型以適應(yīng)新的數(shù)據(jù)集62
5.3.5 調(diào)用工具文件訓(xùn)練模型64
5.3.6 評估和測試模型66
5.4 總結(jié)68
第6章 ?人臉檢測與識別
6.1 模型介紹70
6.2 facenet-pytorch庫70
6.3 預(yù)訓(xùn)練模型71
6.4 總結(jié)74
第7章 ?利用DCGAN生成假臉
7.1 GAN及其原理76
7.2 DCGAN簡介77
7.3 實(shí)現(xiàn)一個假臉生成模型78
7.3.1 模型設(shè)定78
7.3.2 人臉數(shù)據(jù)集79
7.3.3 實(shí)現(xiàn)生成器81
7.3.4 實(shí)現(xiàn)判別器83
7.3.5 損失函數(shù)和優(yōu)化器85
7.4 訓(xùn)練假臉生成模型85
7.4.1 訓(xùn)練的整體流程86
7.4.2 更新判別器87
7.4.3 更新生成器88
7.5 可視化結(jié)果89
7.6 總結(jié)91
第8章 ?pix2pix為黑白圖片上色
8.1 帶約束的生成對抗網(wǎng)絡(luò)93
8.2 pix2pix的原理94
8.3 實(shí)現(xiàn)圖到圖翻譯模型95
8.3.1 Facade數(shù)據(jù)集97
8.3.2 U-Net作為生成器100
8.3.3 PatchGAN作為判別器103
8.4 訓(xùn)練判別器和生成器105
8.4.1 更新判別器107
8.4.2 更新生成器108
8.5 根據(jù)立面結(jié)構(gòu)生成房屋圖片109
8.6 黑白圖片自動上色110
8.7 總結(jié)111
第9章 ?Neural-Style與圖像風(fēng)格遷移
9.1 理解圖像風(fēng)格遷移算法113
9.1.1 傳統(tǒng)風(fēng)格遷移113
9.1.2 Neural-Style算法原理114
9.2 加載圖像116
9.3 定義損失模塊118
9.3.1 內(nèi)容損失模塊118
9.3.2 風(fēng)格損失模塊119
9.4 導(dǎo)入預(yù)訓(xùn)練模型120
9.5 使用L-BFGS進(jìn)行梯度下降123
9.6 訓(xùn)練自己的風(fēng)格124
9.7 總結(jié)126
第10章 ?對抗機(jī)器學(xué)習(xí)和欺騙模型
10.1 模型的潛在威脅128
10.2 快速梯度符號法128
10.3 攻擊一個圖像識別模型129
10.3.1 被攻擊的模型129
10.3.2 FGSM算法131
10.4 開始攻擊131
10.4.1 攻擊流程132
10.4.2 攻擊結(jié)果133
10.5 總結(jié)136
第11章 ?word2vec與詞向量
11.1 詞嵌入作用138
11.2 詞嵌入原理139
11.2.1 CBOW實(shí)現(xiàn)139
11.2.2 Skip-Gram實(shí)現(xiàn)140
11.3 在PyTorch中實(shí)現(xiàn)詞嵌入141
11.3.1 數(shù)據(jù)準(zhǔn)備141
11.3.2 構(gòu)造模型143
11.3.3 訓(xùn)練模型143
11.3.4 可視化144
11.4 工具包word2vec結(jié)合中文詞嵌入146
11.4.1 word2vec使用146
11.4.2 中文詞嵌入147
11.5 總結(jié)147
第12章 ?命名實(shí)體識別
12.1 NER背景介紹149
12.2 LSTM149
12.2.1 LSTM原理150
12.2.2 在PyTorch中使用LSTM152
12.3 CRF155
12.3.1 發(fā)射分?jǐn)?shù)和轉(zhuǎn)移分?jǐn)?shù)156
12.3.2 損失函數(shù)157
12.3.3 預(yù)測158
12.4 構(gòu)建模型158
12.4.1 模型結(jié)構(gòu)158
12.4.2 模型代碼159
12.5 開始訓(xùn)練162
12.6 總結(jié)164
第13章 ?基于AG_NEWS的文本分類
13.1 數(shù)據(jù)預(yù)處理166
13.1.1 原始數(shù)據(jù)迭代器166
13.1.2 數(shù)據(jù)處理166
13.2 準(zhǔn)備模型168
13.2.1 初始化一個實(shí)例169
13.2.2 定義函數(shù)訓(xùn)練和評估模型169
13.3 訓(xùn)練模型170
13.4 評估和測試模型173
13.4.1 評估模型173
13.4.2 隨機(jī)新聞測試173
13.5 總結(jié)174
第14章 ?基于 BERT 的文本分類
14.1 transformers數(shù)據(jù)處理 176
14.1.1 加載預(yù)訓(xùn)練的序列化工具176
14.1.2 基本用法177
14.2 微調(diào)預(yù)訓(xùn)練模型178
14.2.1 數(shù)據(jù)集介紹和處理178
14.2.2 導(dǎo)入模型179
14.2.3 定義訓(xùn)練器180
14.3 總結(jié)181
第15章 ?文本翻譯
15.1 Seq2Seq網(wǎng)絡(luò)183
15.2 注意力機(jī)制Attention184
15.3 準(zhǔn)備數(shù)據(jù)185
15.4 構(gòu)建模型189
15.4.1 編碼器190
15.4.2 解碼器191
15.4.3 注意力機(jī)制解碼器192
15.5 開始訓(xùn)練193
15.5.1 準(zhǔn)備訓(xùn)練數(shù)據(jù)194
15.5.2 訓(xùn)練技巧Teacher Forcing194
15.5.3 訓(xùn)練模型194
15.6 觀察模型效果198
15.6.1 評估模型198
15.6.2 可視化注意力201
15.7 總結(jié)203
第16章 ?文本閱讀理解
16.1 閱讀理解任務(wù)介紹205
16.2 模型實(shí)現(xiàn)205
16.3 總結(jié)208
第17章 ?為圖像添加文本描述
17.1 編碼器-解碼器架構(gòu)210
17.2 Image Caption模型210
17.2.1 神經(jīng)圖像字幕生成器210
17.2.2 加入注意力機(jī)制211
17.3 中文圖像字幕數(shù)據(jù)集212
17.3.1 數(shù)據(jù)結(jié)構(gòu)212
17.3.2 構(gòu)建詞典213
17.3.3 構(gòu)建數(shù)據(jù)集215
17.4 構(gòu)建Image Caption模型218
17.4.1 編碼器218
17.4.2 解碼器219
17.4.3 注意力層222
17.5 模型訓(xùn)練和評估223
17.5.1 訓(xùn)練編碼器和解碼器223
17.5.2 計算BLEU指標(biāo)225
17.5.3 可視化結(jié)果225
17.6 總結(jié)226
第18章 ?聊天機(jī)器人
18.1 準(zhǔn)備數(shù)據(jù)228
18.1.1 數(shù)據(jù)預(yù)處理228
18.1.2 為模型準(zhǔn)備數(shù)據(jù)230
18.2 構(gòu)建模型235
18.2.1 Encoder236
18.2.2 Decoder237
18.3 訓(xùn)練準(zhǔn)備239
18.4 評估模型243
18.5 訓(xùn)練模型245
18.6 總結(jié)247
第19章 ?CycleGAN 模型
19.1 CycleGAN模型架構(gòu)249
19.2 CycleGAN 模型的應(yīng)用249
19.2.1 安裝依賴包249
19.2.2 準(zhǔn)備數(shù)據(jù)集250
19.2.3 預(yù)訓(xùn)練模型251
19.2.4 訓(xùn)練模型252
19.2.5 測試模型253
19.2.6 結(jié)果可視化253
19.3 總結(jié)254
第20章 ?圖像超分辨率與ESPCN
20.1 理解圖像超分辨率和ESPCN算法256
20.1.1 圖像超分辨率背景介紹256
20.1.2 ESPCN算法原理257
20.2 制作數(shù)據(jù)集260
20.3 構(gòu)建ESPCN模型263
20.4 訓(xùn)練ESPCN模型264
20.5 測試ESPCN模型268
20.6 總結(jié)270
第21章 ?強(qiáng)化學(xué)習(xí)
21.1 任務(wù)準(zhǔn)備272
21.1.1 任務(wù)說明272
21.1.2 需要的包272
21.2 記憶重放273
21.3 DQN算法274
21.3.1 Q-Learning算法274
21.3.2 Q-Net模型275
21.3.3 抓取輸入圖像
(獲得狀態(tài)表示)276
21.3.4 超參數(shù)設(shè)置和工具函數(shù)277
21.3.5 訓(xùn)練模型279
21.4 總結(jié)282