深度學習原理與 PyTorch 實戰, 2/e

深度學習原理與 PyTorch 實戰, 2/e

作者: 集智俱樂部
出版社: 人民郵電
出版在: 2022-04-01
ISBN-13: 9787115588296
ISBN-10: 7115588295
總頁數: 380 頁





內容描述


本書是一本系統介紹深度學習技術及開源框架PyTorch的入門書。書中通過大量案例介紹了PyTorch的使用方法、神經網絡的搭建、常用神經網絡(如捲積神經網絡、循環神經網絡)的實現,以及實用的深度學習技術,包括遷移學習、對抗生成學習、深度強化學習、圖神經網絡等。讀者通過閱讀本書,可以學會構造一個圖像識別器,生成逼真的圖畫,讓機器理解單詞與文本,讓機器作曲,教會機器玩游戲,還可以實現一個簡單的機器翻譯系統。
第2版基於PyTorch 1.6.0,對全書代碼進行了更新,同時增加了Transformer、BERT、圖神經網絡等熱門深度學習技術的講解,更具實用性和時效性。


目錄大綱


推薦序
前言
作者簡介
第 1章 深度學習簡介 1
1.1 深度學習與人工智能 1
1.2 深度學習的歷史淵源 2
1.2.1 從感知機到人工神經網絡 3
1.2.2 深度學習時代 4
1.2.3 巨頭之間的角逐 5
1.3 深度學習的影響因素 6
1.3.1 大數據 6
1.3.2 深度網絡架構 7
1.3.3 GPU 11
1.4 深度學習為什麽如此成功 11
1.4.1 特徵學習 11
1.4.2 遷移學習 12
1.5 小結 13
1.6 參考文獻 14
第 2章 PyTorch簡介 15
2.1 PyTorch安裝 15
2.2 初識PyTorch 15
2.2.1 與Python完美融合 16
2.2.2 張量計算 16
2.2.3 動態計算圖 20
2.3 PyTorch實例:預測房價 27
2.3.1 準備數據 27
2.3.2 設計模型 28
2.3.3 訓練 29
2.3.4 預測 31
2.3.5 術語匯總 32
2.4 小結 33
第3章 單車預測器——你的第 一個神經網絡 35
3.1 共享單車的煩惱 35
3.2 單車預測器1.0 37
3.2.1 人工神經網絡簡介 37
3.2.2 人工神經元 38
3.2.3 兩個隱含神經元 40
3.2.4 訓練與運行 42
3.2.5 失敗的神經預測器 42
3.2.6 過擬合 48
3.3 單車預測器2.0 49
3.3.1 數據的預處理過程 49
3.3.2 構建神經網絡 52
3.3.3 測試神經網絡 55
3.4 剖析神經網絡Neu 57
3.5 小結 61
3.6 Q&A 61
第4章 機器也懂感情——中文情緒分類器 63
4.1 神經網絡分類器 64
4.1.1 如何用神經網絡做分類 64
4.1.2 分類問題的損失函數 66
4.2 詞袋模型分類器 67
4.2.1 詞袋模型簡介 68
4.2.2 搭建簡單文本分類器 69
4.3 程序實現 70
4.3.1 數據處理 71
4.3.2 文本數據向量化 73
4.3.3 劃分數據集 74
4.3.4 建立神經網絡 75
4.4 運行結果 78
4.5 剖析神經網絡 79
4.6 小結 83
4.7 Q&A 83
第5章 手寫數字識別器——認識捲積神經網絡 84
5.1 什麽是捲積神經網絡 85
5.1.1 手寫數字識別任務的捲積神經網絡及運算過程 86
5.1.2 捲積運算 87
5.1.3 池化運算 93
5.1.4 立體捲積核 94
5.1.5 超參數與參數 95
5.1.6 其他說明 96
5.2 手寫數字識別器 97
5.2.1 數據準備 97
5.2.2 構建網絡 100
5.2.3 運行模型 102
5.2.4 測試模型 104
5.3 剖析捲積神經網絡 105
5.3.1 第 一層捲積核與特徵圖 105
5.3.2 第二層捲積核與特徵圖 106
5.3.3 捲積神經網絡的健壯性實驗 107
5.4 小結 109
5.5 Q&A 109
5.6 擴展閱讀 109
第6章 手寫數字加法機——遷移學習 110
6.1 什麽是遷移學習 111
6.1.1 遷移學習的由來 111
6.1.2 遷移學習的分類 112
6.1.3 遷移學習的意義 112
6.1.4 如何用神經網絡實現遷移學習 113
6.2 應用案例:遷移學習如何抗擊貧困 115
6.2.1 背景介紹 115
6.2.2 方法探尋 116
6.2.3 遷移學習方法 116
6.3 螞蟻還是蜜蜂:遷移大型捲積神經網絡 117
6.3.1 任務描述與初步嘗試 118
6.3.2 ResNet與模型遷移 119
6.3.3 代碼實現 120
6.3.4 結果分析 123
6.3.5 更多的模型與數據 125
6.4 手寫數字加法機 125
6.4.1 網絡架構 125
6.4.2 代碼實現 126
6.4.3 訓練與測試 133
6.4.4 結果 135
6.4.5 大規模實驗 135
6.5 小結 140
6.6 實踐項目:遷移與效率 140
第7章 你自己的Prisma——圖像風格遷移 142
7.1 什麽是風格遷移 142
7.1.1 什麽是風格 142
7.1.2 風格遷移的含義 143
7.2 風格遷移技術發展簡史 144
7.3 神經網絡風格遷移 146
7.3.1 神經網絡風格遷移的優勢 146
7.3.2 神經網絡風格遷移的基本思想 147
7.3.3 捲積神經網絡的選取 148
7.3.4 內容損失 149
7.3.5 風格損失 149
7.3.6 風格損失原理分析 150
7.3.7 損失函數與優化 153
7.4 神經網絡風格遷移實戰 153
7.4.1 準備工作 153
7.4.2 建立風格遷移網絡 155
7.4.3 風格遷移訓練 158
7.5 小結 161
7.6 擴展閱讀 161
第8章 人工智能造假術——圖像生成與對抗學習 162
8.1 反捲積與圖像生成 165
8.1.1 捲積神經網絡回顧 165
8.1.2 反捲積運算 167
8.1.3 反池化過程 169
8.1.4 反捲積與分數步伐 170
8.1.5 輸出圖像尺寸公式 171
8.1.6 批正則化技術 172
8.2 圖像生成實驗1——最小均方誤差模型 173
8.2.1 模型思路 173
8.2.2 代碼實現 174
8.2.3 運行結果 178
8.3 圖像生成實驗2——生成器—識別器模型 180
8.3.1 生成器—識別器模型的實現 180
8.3.2 對抗樣本 183
8.4 圖像生成實驗3——GAN 186
8.4.1 GAN的總體架構 187
8.4.2 程序實現 188
8.4.3 結果展示 191
8.5 小結 193
8.6 Q&A 193
8.7 擴展閱讀 194
第9章 詞匯的星空——神經語言模型與Word2Vec 195
9.1 詞向量技術介紹 195
9.1.1 初識詞向量 195
9.1.2 傳統編碼方式 196
9.2 NPLM:神經概率語言模型 197
9.2.1 NPLM的基本思想 198
9.2.2 NPLM的運作過程詳解 198
9.2.3 讀取NPLM中的詞向量 201
9.2.4 NPLM的編碼實現 202
9.2.5 運行結果 205
9.2.6 NPLM的總結與局限 207
9.3 Word2Vec 207
9.3.1 CBOW模型和Skip-gram模型的結構 207
9.3.2 層次歸一化指數函數 208
9.3.3 負採樣 209
9.3.4 總結及分析 210
9.4 Word2Vec的應用 210
9.4.1 在自己的語料庫上訓練Word2Vec詞向量 210
9.4.2 調用現成的詞向量 212
9.4.3 女人 男人=皇後 國王 214
9.4.4 使用向量的空間位置進行詞對詞翻譯 216
9.4.5 Word2Vec小結 217
9.5 小結 217
9.6 Q&A 218
第 10章 深度網絡 LSTM作曲機——序列生成模型 220
10.1 序列生成問題 220
10.2 RNN與LSTM 221
10.2.1 RNN 221
10.2.2 LSTM 227
10.3 簡單01序列的學習問題 231
10.3.1 RNN的序列學習 232
10.3.2 LSTM的序列學習 241
10.4 LSTM作曲機 244
10.4.1 MIDI文件 244
10.4.2 數據準備 245
10.4.3 模型結構 245
10.4.4 代碼實現 246
10.5 小結 254
10.6 Q&A 255
10.7 擴展閱讀 255
第 11章 神經機器翻譯機——端到端機器翻譯 256
11.1 機器翻譯簡介 257
11.1.1 基於規則的機器翻譯技術 257
11.1.2 統計機器翻譯 258
11.1.3 神經機器翻譯 258
11.1.4 關於Zero-shot翻譯 259
11.2 編碼—解碼模型 259
11.2.1 編碼—解碼模型總體架構 260
11.2.2 編碼器 260
11.2.3 解碼器 263
11.2.4 損失函數 267
11.2.5 編碼—解碼模型歸納 269
11.2.6 編碼—解碼模型的效果 269
11.3 註意力機制 270
11.3.1 神經機器翻譯中的註意力 271
11.3.2 註意力網絡 271
11.4 更多改進 275
11.4.1 GRU的結構 275
11.4.2 雙向GRU的應用 275
11.5 神經機器翻譯機的編碼實現 276
11.5.1 神經網絡的構建 280
11.5.2 神經網絡的訓練 283
11.5.3 測試神經機器翻譯機 286
11.5.4 結果展示 287
11.6 更多改進 291
11.6.1 集束搜索算法 291
11.6.2 BLEU:對翻譯結果的評估方法 293
11.6.3 對編碼—解碼模型的改進 294
11.7 廣義的翻譯 295
11.7.1 廣義翻譯機 295
11.7.2 廣義翻譯的應用場景 295
11.8 Q&A 297
第 12章 更強的機器翻譯模型——Transformer 299
12.1 Transformer概述 299
12.1.1 編碼—解碼模型回顧 300
12.1.2 Transformer全景概覽 300
12.1.3 神奇的自註意力 301
12.2 Atoken旅行記 304
12.2.1 奇怪的序號牌 304
12.2.2 分身之門 305
12.2.3 新朋友 306
12.3 Transformer部件詳解 306
12.3.1 詞嵌入與位置嵌入 306
12.3.2 自註意力模塊計算詳解 307
12.3.3 自註意力層的矩陣計算 309
12.3.4 殘差連接與層歸一化 310
12.3.5 逐點計算的前向網絡層 311
12.3.6 解碼器中的自註意力 311
12.3.7 解碼器的輸出層 312
12.4 動手訓練一個Transformer翻譯模型 313
12.4.1 翻譯模型中輸入單位的粒度 313
12.4.2 模型定義 313
12.4.3 模型訓練 318
12.4.4 Transformer相關開源庫 319
12.5 小結 319
第 13章 學習跨任務的語言知識——預訓練語言模型 320
13.1 語言模型簡要回顧 320
13.2 預訓練Transformer詳解 322
13.2.1 深入瞭解GPT 323
13.2.2 深入瞭解BERT 324
13.2.3 模型微調 326
13.2.4 模型表現 327
13.3 單句分類:BERT句子分類實戰 328
13.4 後BERT時代 334
13.5 小結 334
第 14章 人體姿態識別——圖網絡模型 335
14.1 圖網絡及圖論基礎 335
14.1.1 圖的基本概念 335
14.1.2 什麽是圖網絡 337
14.1.3 圖網絡的基本任務和應用場景 338
14.2 圖捲積網絡 338
14.2.1 GCN的工作原理 338
14.2.2 打開GCN的黑箱 340
14.2.3 從社團劃分任務來理解GCN 341
14.3 實戰:使用GCN識別人體姿態 344
14.3.1 數據來源與預處理 345
14.3.2 代碼實現 346
14.4 小結 350
第 15章 AI游戲高手——深度強化學習 351
15.1 強化學習簡介 352
15.1.1 強化學習的要素 352
15.1.2 強化學習的應用場景 353
15.1.3 強化學習的分類 354
15.2 深度Q學習算法 355
15.2.1 Q學習算法 356
15.2.2 DQN算法 357
15.2.3 DQN在雅達利游戲上的表現 359
15.3 DQN玩Flappy Bird的PyTorch實現 361
15.3.1 Flappy Bird的PyGame實現 361
15.3.2 DQN的PyTorch實現 368
15.4 小結 377
15.5 通用人工智能還有多遠 378
15.6 Q&A 379
15.7 擴展閱讀 380


作者介紹


集智俱乐部(Swarma Club)
成立于2003年,是一个从事学术研究、享受科学乐趣的探索者团体,也是国内致力于研究人工智能、复杂系统的科学社区之一,倡导以平等开放的态度、科学实证的精神,进行跨学科的研究与交流,力图搭建一个中国的“没有围墙的研究所”。目前已出版书籍有《科学的极致:漫谈人工智能》《走近2050:注意力、互联网与人工智能》《NetLogo多主体建模入门》,译作有《深度思考:人工智能的终点与人类创造力的起点》。




相關書籍

人人伽利略套書:AI人工智慧全面了解基本+工作篇(共二冊)

作者 日本Newton Press 賴貞秀 譯

2022-04-01

Machine Learning: A Quantitative Approach (dhl)

作者 Henry H Liu

2022-04-01

Ontologies with Python: Programming Owl 2.0 Ontologies with Python and Owlready 2

作者 Jean-Baptiste Lamy

2022-04-01