動手學深度學習(PyTorch版)
阿斯頓·張(Aston Zhang)[美]扎卡裡·C. 立頓(Zachary C. Lipton) 李沐(Mu Li) [德]亞歷山大·J. 斯莫拉(Alexander J. Smola)
- 出版商: 人民郵電
- 出版日期: 2024-10-01
- 定價: $659
- 售價: 8.5 折 $560
- 語言: 簡體中文
- 頁數: 604
- 裝訂: 平裝
- ISBN: 7115600821
- ISBN-13: 9787115600820
-
相關分類:
DeepLearning
-
其他版本:
動手學深度學習 (PyTorch版)(精裝版)
立即出貨 (庫存 < 4)
買這商品的人也買了...
-
$520$411 -
$480$480 -
$890$587 -
$539$512 -
$539$512 -
$704$662 -
$780$616 -
$894$849 -
$600$468 -
$580$435 -
$607利用 Python 實現概率、統計及機器學習方法(原書第2版)
-
$654$621 -
$458BERT 基礎教程:Transformer 大模型實戰
-
$780$608 -
$650$507 -
$709深入理解電腦視覺:關鍵算法解析與深度神經網絡設計
-
$780$585 -
$600$468 -
$760PyTorch 電腦視覺實戰:目標偵測、影像處理與深度學習
-
$750$593 -
$980$774 -
$980$774 -
$790$616 -
$254PyTorch與深度學習實戰
-
$880$660
相關主題
商品描述
本書是《動手學深度學習》的重磅升級版本,選用經典的PyTorch深度學習框架,旨在向讀者交付更為便捷的有關深度學習的交互式學習體驗。
本書重新修訂《動手學深度學習》的所有內容,並針對技術的發展,新增註意力機制、預訓練等內容。本書包含15章,第一部分介紹深度學習的基礎知識和預備知識,並由線性模型引出最簡單的神經網絡——多層感知機;第二部分闡述深度學習計算的關鍵組件、捲積神經網絡、循環神經網絡、註意力機制等大多數現代深度學習應用背後的基本工具;第三部分討論深度學習中常用的優化算法和影響深度學習計算性能的重要因素,並分別列舉深度學習在電腦視覺和自然語言處理中的重要應用。
本書同時覆蓋深度學習的方法和實踐,主要面向在校大學生、技術人員和研究人員。閱讀本書需要讀者瞭解基本的Python編程知識及預備知識中描述的線性代數、微分和概率等基礎知識。
作者簡介
作者简介:
阿斯顿·张(Aston Zhang),亚马逊资深科学家,美国伊利诺伊大学香槟分校计算机科学博士,统计学和计算机科学双硕士。他专注于机器学习和自然语言处理的研究,荣获深度学习国际顶级学术会议ICLR杰出论文奖、ACM UbiComp杰出论文奖以及ACM SenSys最佳论文奖提名。他担任过EMNLP领域主席和AAAI资深程序委员。
扎卡里·C. 立顿(Zachary C. Lipton),美国卡内基梅隆大学机器学习和运筹学助理教授,并在海因茨公共政策学院以及软件和社会系统系担任礼节性任命。他领导着近似正确机器智能(ACMI)实验室,研究涉及核心机器学习方法、其社会影响以及包括临床医学和自然语言处理在内的各种应用领域。他目前的研究重点包括处理各种因果结构下分布变化的稳健和自适应算法、超越预测为决策提供信息(包括应对已部署模型的战略响应)、医学诊断和预后预测、算法公平性和可解释性的基础。他是“Approximately Correct”博客的创始人,也是讽刺性漫画“Superheroes of Deep Learning”的合著者。
李沐(Mu Li),亚马逊资深首席科学家(Senior Principal Scientist),美国加利福尼亚大学伯克利分校、斯坦福大学客座助理教授,美国卡内基梅隆大学计算机系博士。他曾任机器学习创业公司Marianas Labs的CTO和百度深度学习研究院的主任研发架构师。他专注于机器学习系统和机器学习算法的研究。他在理论与应用、机器学习与操作系统等多个领域的顶级学术会议上发表过论文,被引用上万次。
亚历山大·J. 斯莫拉(Alexander J. Smola),亚马逊副总裁/杰出科学家,德国柏林工业大学计算机科学博士。他曾在澳大利亚国立大学、美国加利福尼亚大学伯克利分校和卡内基梅隆大学任教。他发表过超过300篇学术论文,并著有5本书,其论文及书被引用超过15万次。他的研究兴趣包括深度学习、贝叶斯非参数、核方法、统计建模和可扩展算法。
译者简介:
何孝霆(Xiaoting He),亚马逊应用科学家,中国科学院软件工程硕士。他专注于对深度学习的研究,特别是自然语言处理的应用(包括语言模型、AIOps、OCR),相关工作落地于众多企业。他担任过ACL、EMNLP、NAACL、EACL等学术会议的程序委员或审稿人。
瑞潮儿·胡(Rachel Hu),亚马逊应用科学家,美国加利福尼亚大学伯克利分校统计学硕士,加拿大滑铁卢大学数学学士。她致力于将机器学习应用于现实世界的产品。她也是亚马逊人工智能团队的讲师,教授自然语言处理、计算机视觉和机器学习商业应用等课程。她已向累计1000余名亚马逊工程师教授机器学习,其公开课程视频在YouTube和哔哩哔哩上广受好评。
目錄大綱
對本書的贊譽
前言
譯者簡介
學習環境配置
資源與支持
主要符號表
第 1章 引言 1
1.1 日常生活中的機器學習 2
1.2 機器學習中的關鍵組件 3
1.2.1 數據 3
1.2.2 模型 4
1.2.3 目標函數 4
1.2.4 優化算法 5
1.3 各種機器學習問題 5
1.3.1 監督學習 5
1.3.2 無監督學習 11
1.3.3 與環境互動 11
1.3.4 強化學習 12
1.4 起源 13
1.5 深度學習的發展 15
1.6 深度學習的成功案例 16
1.7 特點 17
第 2章 預備知識 20
2.1 數據操作 20
2.1.1 入門 21
2.1.2 運算符 22
2.1.3 廣播機制 23
2.1.4 索引和切片 24
2.1.5 節省內存 24
2.1.6 轉換為其他Python對象 25
2.2 數據預處理 26
2.2.1 讀取數據集 26
2.2.2 處理缺失值 26
2.2.3 轉換為張量格式 27
2.3 線性代數 27
2.3.1 標量 28
2.3.2 向量 28
2.3.3 矩陣 29
2.3.4 張量 30
2.3.5 張量算法的基本性質 31
2.3.6 降維 32
2.3.7 點積 33
2.3.8 矩陣-向量積 33
2.3.9 矩陣-矩陣乘法 34
2.3.10 範數 35
2.3.11 關於線性代數的更多信息 36
2.4 微積分 37
2.4.1 導數和微分 37
2.4.2 偏導數 40
2.4.3 梯度 41
2.4.4 鏈式法則 41
2.5 自動微分 42
2.5.1 一個簡單的例子 42
2.5.2 非標量變量的反向傳播 43
2.5.3 分離計算 43
2.5.4 Python控制流的梯度計算 44
2.6 概率 44
2.6.1 基本概率論 45
2.6.2 處理多個隨機變量 48
2.6.3 期望和方差 50
2.7 查閱文檔 51
2.7.1 查找模塊中的所有函數和類 51
2.7.2 查找特定函數和類的用法 52
第3章 線性神經網絡 54
3.1 線性回歸 54
3.1.1 線性回歸的基本元素 54
3.1.2 向量化加速 57
3.1.3 正態分佈與平方損失 58
3.1.4 從線性回歸到深度網絡 60
3.2 線性回歸的從零開始實現 61
3.2.1 生成數據集 62
3.2.2 讀取數據集 63
3.2.3 初始化模型參數 63
3.2.4 定義模型 64
3.2.5 定義損失函數 64
3.2.6 定義優化算法 64
3.2.7 訓練 64
3.3 線性回歸的簡潔實現 66
3.3.1 生成數據集 66
3.3.2 讀取數據集 66
3.3.3 定義模型 67
3.3.4 初始化模型參數 67
3.3.5 定義損失函數 68
3.3.6 定義優化算法 68
3.3.7 訓練 68
3.4 softmax回歸 69
3.4.1 分類問題 69
3.4.2 網絡架構 70
3.4.3 全連接層的參數開銷 70
3.4.4 softmax運算 71
3.4.5 小批量樣本的向量化 71
3.4.6 損失函數 72
3.4.7 信息論基礎 73
3.4.8 模型預測和評估 74
3.5 圖像分類數據集 74
3.5.1 讀取數據集 75
3.5.2 讀取小批量 76
3.5.3 整合所有組件 76
3.6 softmax回歸的從零開始實現 77
3.6.1 初始化模型參數 77
3.6.2 定義softmax操作 78
3.6.3 定義模型 78
3.6.4 定義損失函數 79
3.6.5 分類精度 79
3.6.6 訓練 80
3.6.7 預測 82
3.7 softmax回歸的簡潔實現 83
3.7.1 初始化模型參數 83
3.7.2 重新審視softmax的實現 84
3.7.3 優化算法 84
3.7.4 訓練 84
第4章 多層感知機 86
4.1 多層感知機 86
4.1.1 隱藏層 86
4.1.2 激活函數 88
4.2 多層感知機的從零開始實現 92
4.2.1 初始化模型參數 92
4.2.2 激活函數 93
4.2.3 模型 93
4.2.4 損失函數 93
4.2.5 訓練 93
4.3 多層感知機的簡潔實現 94
模型 94
4.4 模型選擇、欠擬合和過擬合 95
4.4.1 訓練誤差和泛化誤差 96
4.4.2 模型選擇 97
4.4.3 欠擬合還是過擬合 98
4.4.4 多項式回歸 99
4.5 權重衰減 103
4.5.1 範數與權重衰減 103
4.5.2 高維線性回歸 104
4.5.3 從零開始實現 104
4.5.4 簡潔實現 106
4.6 暫退法 108
4.6.1 重新審視過擬合 108
4.6.2 擾動的穩健性 108
4.6.3 實踐中的暫退法 109
4.6.4 從零開始實現 110
4.6.5 簡潔實現 111
4.7 前向傳播、反向傳播和計算圖 112
4.7.1 前向傳播 113
4.7.2 前向傳播計算圖 113
4.7.3 反向傳播 114
4.7.4 訓練神經網絡 115
4.8 數值穩定性和模型初始化 115
4.8.1 梯度消失和梯度爆炸 116
4.8.2 參數初始化 117
4.9 環境和分佈偏移 119
4.9.1 分佈偏移的類型 120
4.9.2 分佈偏移示例 121
4.9.3 分佈偏移糾正 122
4.9.4 學習問題的分類法 125
4.9.5 機器學習中的公平、責任和透明度 126
4.10 實戰Kaggle比賽:預測房價 127
4.10.1 下載和緩存數據集 127
4.10.2 Kaggle 128
4.10.3 訪問和讀取數據集 129
4.10.4 數據預處理 130
4.10.5 訓練 131
4.10.6 K折交叉驗證 132
4.10.7 模型選擇 133
4.10.8 提交Kaggle預測 133
第5章 深度學習計算 136
5.1 層和塊 136
5.1.1 自定義塊 138
5.1.2 順序塊 139
5.1.3 在前向傳播函數中執行代碼 139
5.1.4 效率 140
5.2 參數管理 141
5.2.1 參數訪問 141
5.2.2 參數初始化 143
5.2.3 參數綁定 145
5.3 延後初始化 145
實例化網絡 146
5.4 自定義層 146
5.4.1 不帶參數的層 146
5.4.2 帶參數的層 147
5.5 讀寫文件 148
5.5.1 加載和保存張量 148
5.5.2 加載和保存模型參數 149
5.6 GPU 150
5.6.1 計算設備 151
5.6.2 張量與GPU 152
5.6.3 神經網絡與GPU 153
第6章 捲積神經網絡 155
6.1 從全連接層到捲積 155
6.1.1 不變性 156
6.1.2 多層感知機的限制 157
6.1.3 捲積 158
6.1.4 “沃爾多在哪裡”回顧 158
6.2 圖像捲積 159
6.2.1 互相關運算 159
6.2.2 捲積層 161
6.2.3 圖像中目標的邊緣檢測 161
6.2.4 學習捲積核 162
6.2.5 互相關和捲積 162
6.2.6 特徵映射和感受野 163
6.3 填充和步幅 164
6.3.1 填充 164
6.3.2 步幅 165
6.4 多輸入多輸出通道 166
6.4.1 多輸入通道 167
6.4.2 多輸出通道 167
6.4.3 1×1捲積層 168
6.5 匯聚層 170
6.5.1 最大匯聚和平均匯聚 170
6.5.2 填充和步幅 171
6.5.3 多個通道 172
6.6 捲積神經網絡(LeNet) 173
6.6.1 LeNet 173
6.6.2 模型訓練 175
第7章 現代捲積神經網絡 178
7.1 深度捲積神經網絡(AlexNet) 178
7.1.1 學習表徵 179
7.1.2 AlexNet 181
7.1.3 讀取數據集 183
7.1.4 訓練AlexNet 183
7.2 使用塊的網絡(VGG) 184
7.2.1 VGG塊 184
7.2.2 VGG網絡 185
7.2.3 訓練模型 186
7.3 網絡中的網絡(NiN) 187
7.3.1 NiN塊 187
7.3.2 NiN模型 188
7.3.3 訓練模型 189
7.4 含並行連接的網絡(GoogLeNet) 190
7.4.1 Inception塊 190
7.4.2 GoogLeNet模型 191
7.4.3 訓練模型 193
7.5 批量規範化 194
7.5.1 訓練深層網絡 194
7.5.2 批量規範化層 195
7.5.3 從零實現 196
7.5.4 使用批量規範化層的 LeNet 197
7.5.5 簡明實現 198
7.5.6 爭議 198
7.6 殘差網絡(ResNet) 200
7.6.1 函數類 200
7.6.2 殘差塊 201
7.6.3 ResNet模型 202
7.6.4 訓練模型 204
7.7 稠密連接網絡(DenseNet) 205
7.7.1 從ResNet到DenseNet 205
7.7.2 稠密塊體 206
7.7.3 過渡層 206
7.7.4 DenseNet模型 207
7.7.5 訓練模型 207
第8章 循環神經網絡 209
8.1 序列模型 209
8.1.1 統計工具 210
8.1.2 訓練 212
8.1.3 預測 213
8.2 文本預處理 216
8.2.1 讀取數據集 216
8.2.2 詞元化 217
8.2.3 詞表 217
8.2.4 整合所有功能 219
8.3 語言模型和數據集 219
8.3.1 學習語言模型 220
8.3.2 馬爾可夫模型與n元語法 221
8.3.3 自然語言統計 221
8.3.4 讀取長序列數據 223
8.4 循環神經網絡 226
8.4.1 無隱狀態的神經網絡 227
8.4.2 有隱狀態的循環神經網絡 227
8.4.3 基於循環神經網絡的字符級語言模型 228
8.4.4 困惑度 229
8.5 循環神經網絡的從零開始實現 230
8.5.1 獨熱編碼 231
8.5.2 初始化模型參數 231
8.5.3 循環神經網絡模型 232
8.5.4 預測 232
8.5.5 梯度截斷 233
8.5.6 訓練 234
8.6 循環神經網絡的簡潔實現 237
8.6.1 定義模型 237
8.6.2 訓練與預測 238
8.7 通過時間反向傳播 239
8.7.1 循環神經網絡的梯度分析 239
8.7.2 通過時間反向傳播的細節 241
第9章 現代循環神經網絡 244
9.1 門控循環單元(GRU) 244
9.1.1 門控隱狀態 245
9.1.2 從零開始實現 247
9.1.3 簡潔實現 248
9.2 長短期記憶網絡(LSTM) 249
9.2.1 門控記憶元 249
9.2.2 從零開始實現 252
9.2.3 簡潔實現 253
9.3 深度循環神經網絡 254
9.3.1 函數依賴關系 255
9.3.2 簡潔實現 255
9.3.3 訓練與預測 255
9.4 雙向循環神經網絡 256
9.4.1 隱馬爾可夫模型中的動態規劃 256
9.4.2 雙向模型 258
9.4.3 雙向循環神經網絡的錯誤應用 259
9.5 機器翻譯與數據集 260
9.5.1 下載和預處理數據集 261
9.5.2 詞元化 262
9.5.3 詞表 263
9.5.4 加載數據集 263
9.5.5 訓練模型 264
9.6 編碼器-解碼器架構 265
9.6.1 編碼器 265
9.6.2 解碼器 266
9.6.3 合並編碼器和解碼器 266
9.7 序列到序列學習(seq2seq) 267
9.7.1 編碼器 268
9.7.2 解碼器 269
9.7.3 損失函數 270
9.7.4 訓練 271
9.7.5 預測 272
9.7.6 預測序列的評估 273
9.8 束搜索 275
9.8.1 貪心搜索 275
9.8.2 窮舉搜索 276
9.8.3 束搜索 276
第 10章 註意力機制 278
10.1 註意力提示 278
10.1.1 生物學中的註意力提示 279
10.1.2 查詢、鍵和值 280
10.1.3 註意力的可視化 280
10.2 註意力匯聚:Nadaraya-Watson 核回歸 281
10.2.1 生成數據集 282
10.2.2 平均匯聚 282
10.2.3 非參數註意力匯聚 283
10.2.4 帶參數註意力匯聚 284
10.3 註意力評分函數 287
10.3.1 掩蔽softmax操作 288
10.3.2 加性註意力 289
10.3.3 縮放點積註意力 290
10.4 Bahdanau 註意力 291
10.4.1 模型 291
10.4.2 定義註意力解碼器 292
10.4.3 訓練 293
10.5 多頭註意力 295
10.5.1 模型 295
10.5.2 實現 296
10.6 自註意力和位置編碼 298
10.6.1 自註意力 298
10.6.2 比較捲積神經網絡、循環神經網絡和自註意力 298
10.6.3 位置編碼 299
10.7 Transformer 302
10.7.1 模型 302
10.7.2 基於位置的前饋網絡 303
10.7.3 殘差連接和層規範化 304
10.7.4 編碼器 304
10.7.5 解碼器 305
10.7.6 訓練 307
第 11章 優化算法 311
11.1 優化和深度學習 311
11.1.1 優化的目標 311
11.1.2 深度學習中的優化挑戰 312
11.2 凸性 315
11.2.1 定義 315
11.2.2 性質 317
11.2.3 約束 319
11.3 梯度下降 322
11.3.1 一維梯度下降 322
11.3.2 多元梯度下降 324
11.3.3 自適應方法 326
11.4 隨機梯度下降 329
11.4.1 隨機梯度更新 329
11.4.2 動態學習率 331
11.4.3 凸目標的收斂性分析 332
11.4.4 隨機梯度和有限樣本 333
11.5 小批量隨機梯度下降 334
11.5.1 向量化和緩存 335
11.5.2 小批量 336
11.5.3 讀取數據集 337
11.5.4 從零開始實現 337
11.5.5 簡潔實現 340
11.6 動量法 341
11.6.1 基礎 341
11.6.2 實際實驗 345
11.6.3 理論分析 346
11.7 AdaGrad算法 348
11.7.1 稀疏特徵和學習率 348
11.7.2 預處理 349
11.7.3 算法 350
11.7.4 從零開始實現 351
11.7.5 簡潔實現 352
11.8 RMSProp算法 353
11.8.1 算法 353
11.8.2 從零開始實現 354
11.8.3 簡潔實現 355
11.9 Adadelta算法 356
11.9.1 算法 356
11.9.2 實現 356
11.10 Adam算法 358
11.10.1 算法 358
11.10.2 實現 359
11.10.3 Yogi 360
11.11 學習率調度器 361
11.11.1 一個簡單的問題 361
11.11.2 學習率調度器 363
11.11.3 策略 364
第 12章 計算性能 369
12.1 編譯器和解釋器 369
12.1.1 符號式編程 370
12.1.2 混合式編程 371
12.1.3 Sequential的混合式編程 371
12.2 異步計算 372
通過後端異步處理 373
12.3 自動並行 375
12.3.1 基於GPU的並行計算 375
12.3.2 並行計算與通信 376
12.4 硬件 378
12.4.1 電腦 378
12.4.2 內存 379
12.4.3 存儲器 380
12.4.4 CPU 381
12.4.5 GPU和其他加速卡 383
12.4.6 網絡和總線 385
12.4.7 更多延遲 386
12.5 多GPU訓練 388
12.5.1 問題拆分 388
12.5.2 數據並行性 390
12.5.3 簡單網絡 390
12.5.4 數據同步 391
12.5.5 數據分發 392
12.5.6 訓練 392
12.6 多GPU的簡潔實現 394
12.6.1 簡單網絡 394
12.6.2 網絡初始化 395
12.6.3 訓練 395
12.7 參數服務器 397
12.7.1 數據並行訓練 397
12.7.2 環同步(ring
synchronization) 399
12.7.3 多機訓練 400
12.7.4 鍵-值存儲 402
第 13章 電腦視覺 404
13.1 圖像增廣 404
13.1.1 常用的圖像增廣方法 404
13.1.2 使用圖像增廣進行訓練 408
13.2 微調 410
13.2.1 步驟 410
13.2.2 熱狗識別 411
13.3 目標檢測和邊界框 415
邊界框 415
13.4 錨框 417
13.4.1 生成多個錨框 417
13.4.2 交並比(IoU) 419
13.4.3 在訓練數據中標註錨框 420
13.4.4 使用非極大值抑制預測
邊界框 424
13.5 多尺度目標檢測 427
13.5.1 多尺度錨框 427
13.5.2 多尺度檢測 429
13.6 目標檢測數據集 430
13.6.1 下載數據集 430
13.6.2 讀取數據集 431
13.6.3 演示 432
13.7 單發多框檢測(SSD) 433
13.7.1 模型 433
13.7.2 訓練模型 437
13.7.3 預測目標 439
13.8 區域捲積神經網絡(R-CNN)系列 441
13.8.1 R-CNN 441
13.8.2 Fast R-CNN 442
13.8.3 Faster R-CNN 443
13.8.4 Mask R-CNN 444
13.9 語義分割和數據集 445
13.9.1 圖像分割和實例分割 445
13.9.2 Pascal VOC2012 語義分割數據集 446
13.10 轉置捲積 450
13.10.1 基本操作 450
13.10.2 填充、步幅和多通道 451
13.10.3 與矩陣變換的聯系 452
13.11 全捲積網絡 453
13.11.1 構建模型 454
13.11.2 初始化轉置捲積層 455
13.11.3 讀取數據集 456
13.11.4 訓練 456
13.11.5 預測 457
13.12 風格遷移 458
13.12.1 方法 459
13.12.2 閱讀內容和風格圖像 460
13.12.3 預處理和後處理 460
13.12.4 提取圖像特徵 461
13.12.5 定義損失函數 461
13.12.6 初始化合成圖像 463
13.12.7 訓練模型 463
13.13 實戰 Kaggle競賽:圖像分類(CIFAR-10) 464
13.13.1 獲取並組織數據集 465
13.13.2 圖像增廣 467
13.13.3 讀取數據集 468
13.13.4 定義模型 468
13.13.5 定義訓練函數 468
13.13.6 訓練和驗證模型 469
13.13.7 在Kaggle上對測試集進行分類並提交結果 469
13.14 實戰Kaggle競賽:狗的品種識別(ImageNet Dogs) 470
13.14.1 獲取和整理數據集 471
13.14.2 圖像增廣 472
13.14.3 讀取數據集 472
13.14.4 微調預訓練模型 473
13.14.5 定義訓練函數 473
13.14.6 訓練和驗證模型 474
13.14.7 對測試集分類並在Kaggle提交結果 475
第 14章 自然語言處理:預訓練 476
14.1 詞嵌入(word2vec) 477
14.1.1 為何獨熱向量是一個糟糕的選擇 477
14.1.2 自監督的word2vec 477
14.1.3 跳元模型 477
14.1.4 連續詞袋模型 478
14.2 近似訓練 480
14.2.1 負採樣 480
14.2.2 層序softmax 481
14.3 用於預訓練詞嵌入的數據集 482
14.3.1 讀取數據集 482
14.3.2 下採樣 483
14.3.3 中心詞和上下文詞的提取 484
14.3.4 負採樣 485
14.3.5 小批量加載訓練實例 486
14.3.6 整合代碼 487
14.4 預訓練word2vec 488
14.4.1 跳元模型 488
14.4.2 訓練 489
14.4.3 應用詞嵌入 491
14.5 全局向量的詞嵌入(GloVe) 491
14.5.1 帶全局語料庫統計的跳元模型 492
14.5.2 GloVe模型 492
14.5.3 從共現概率比值理解GloVe模型 493
14.6 子詞嵌入 494
14.6.1 fastText模型 494
14.6.2 字節對編碼 495
14.7 詞的相似度和類比任務 497
14.7.1 加載預訓練詞向量 497
14.7.2 應用預訓練詞向量 499
14.8 來自Transformer的雙向編碼器表示(BERT) 500
14.8.1 從上下文無關到上下文敏感 500
14.8.2 從特定於任務到不可知任務 501
14.8.3 BERT:將ELMo與GPT結合起來 501
14.8.4 輸入表示 502
14.8.5 預訓練任務 504
14.8.6 整合代碼 506
14.9 用於預訓練BERT的數據集 507
14.9.1 為預訓練任務定義輔助函數 508
14.9.2 將文本轉換為預訓練數據集 509
14.10 預訓練BERT 512
14.10.1 預訓練BERT 512
14.10.2 用BERT表示文本 514
第 15章 自然語言處理:應用 515
15.1 情感分析及數據集 516
15.1.1 讀取數據集 516
15.1.2 預處理數據集 517
15.1.3 創建數據迭代器 517
15.1.4 整合代碼 518
15.2 情感分析:使用循環神經網絡 518
15.2.1 使用循環神經網絡表示單個文本 519
15.2.2 加載預訓練的詞向量 520
15.2.3 訓練和評估模型 520
15.3 情感分析:使用捲積神經網絡 521
15.3.1 一維捲積 522
15.3.2 最大時間匯聚層 523
15.3.3 textCNN模型 523
15.4 自然語言推斷與數據集 526
15.4.1 自然語言推斷 526
15.4.2 斯坦福自然語言推斷(SNLI)數據集 527
15.5 自然語言推斷:使用註意力 530
15.5.1 模型 530
15.5.2 訓練和評估模型 533
15.6 針對序列級和詞元級應用微調BERT 535
15.6.1 單文本分類 535
15.6.2 文本對分類或回歸 536
15.6.3 文本標註 537
15.6.4 問答 537
15.7 自然語言推斷:微調BERT 538
15.7.1 加載預訓練的BERT 539
15.7.2 微調BERT的數據集 540
15.7.3 微調BERT 541
附錄A 深度學習工具 543
A.1 使用Jupyter記事本 543
A.1.1 在本地編輯和運行代碼 543
A.1.2 高級選項 545
A.2 使用Amazon SageMaker 546
A.2.1 註冊 547
A.2.2 創建SageMaker實例 547
A.2.3 運行和停止實例 548
A.2.4 更新Notebook 548
A.3 使用Amazon EC2實例 549
A.3.1 創建和運行EC2實例 549
A.3.2 安裝CUDA 553
A.3.3 安裝庫以運行代碼 553
A.3.4 遠程運行Jupyter記事本 554
A.3.5 關閉未使用的實例 554
A.4 選擇服務器和GPU 555
A.4.1 選擇服務器 555
A.4.2 選擇GPU 556
A.5 為本書做貢獻 558
A.5.1 提交微小更改 558
A.5.2 大量文本或代碼修改 559
A.5.3 提交主要更改 559
參考文獻 562