關(guān)于我們
書單推薦
新書推薦
|
動手學(xué)深度學(xué)習(xí)(PyTorch版)(精裝版)
本書是《動手學(xué)深度學(xué)習(xí)》的重磅升級版本,選用PyTorch深度學(xué)習(xí)框架,旨在向讀者交付更為便捷的有關(guān)深度學(xué)習(xí)的交互式學(xué)習(xí)體驗。
本書重新修訂《動手學(xué)深度學(xué)習(xí)》的所有內(nèi)容,并針對技術(shù)的發(fā)展,新增注意力機制、預(yù)訓(xùn)練等內(nèi)容。本書包含15章,第一部分介紹深度學(xué)習(xí)的基礎(chǔ)知識和預(yù)備知識,并由線性模型引出基礎(chǔ)的神經(jīng)網(wǎng)絡(luò)——多層感知機;第二部分闡述深度學(xué)習(xí)計算的關(guān)鍵組件、卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)、注意力機制等大多數(shù)現(xiàn)代深度學(xué)習(xí)應(yīng)用背后的基本工具;第三部分討論深度學(xué)習(xí)中常用的優(yōu)化算法和影響深度學(xué)習(xí)計算性能的重要因素,并分別列舉深度學(xué)習(xí)在計算機視覺和自然語言處理中的重要應(yīng)用。
本書同時覆蓋深度學(xué)習(xí)的方法和實踐,主要面向在校大學(xué)生、技術(shù)人員和研究人員。閱讀本書需要讀者了解基本的Python編程知識及預(yù)備知識中描述的線性代數(shù)、微分和概率等基礎(chǔ)知識。
·深度學(xué)習(xí)領(lǐng)域重磅作品《動手學(xué)深度學(xué)習(xí)》推出PyTorch版本;
·李沐、阿斯頓·張名家作品;
·全球400多所大學(xué)采用的教科書,提供視頻課程、教學(xué)PPT、習(xí)題,方便教師授課與學(xué)生自學(xué);
·能運行、可討論的深度學(xué)習(xí)入門書,可在線運行源碼并與作譯者實時討論。 本書面向希望了解深度學(xué)習(xí),特別是對實際使用深度學(xué)習(xí)感興趣的大學(xué)生、工程師和研究人員。本書不要求讀者有任何深度學(xué)習(xí)或者機器學(xué)習(xí)的背景知識,讀者只需具備基本的數(shù)學(xué)和編程知識,如基礎(chǔ)的線性代數(shù)、微分、概率及Python編程知識。本書第2章提供了書中涉及的主要數(shù)學(xué)知識,供讀者參考。
本書的英文版Dive into Deep Learning是美國加利福尼亞大學(xué)伯克利分校2019年春季學(xué)期“Introduction to Deep Learning”(深度學(xué)習(xí)導(dǎo)論)課程的教材。截至2022年秋季學(xué)期,本書中的內(nèi)容已被全球400多所大學(xué)用于教學(xué)。本書的學(xué)習(xí)社區(qū)、免費教學(xué)資源(課件、教學(xué)視頻、更多習(xí)題等)的申請方法,在本書配套網(wǎng)站zh.D2L.ai上發(fā)布。讀者在閱讀本書的過程中,如果對書中某節(jié)內(nèi)容有疑惑,也可以在書中掃碼尋求幫助。
作者簡介:
阿斯頓·張(Aston Zhang),Amazon資歷深厚的研究員,美國伊利諾伊大學(xué)香檳分校計算機科學(xué)博士,統(tǒng)計學(xué)和計算機科學(xué)雙碩士。他專注于機器學(xué)習(xí)和自然語言處理的研究,榮獲深度學(xué)習(xí)國際高水平學(xué)術(shù)會議ICLR杰出論文獎、ACM UbiComp杰出論文獎以及ACM SenSys高水平論文獎提名。他擔(dān)任過EMNLP領(lǐng)域主席和AAAI程序委員。
[美]扎卡里·C. 立頓(Zachary C. Lipton),美國卡內(nèi)基梅隆大學(xué)機器學(xué)習(xí)和運籌學(xué)助理教授,并在海因茨公共政策學(xué)院以及軟件和社會系統(tǒng)系擔(dān)任禮節(jié)性任命。他領(lǐng)導(dǎo)著近似正確機器智能(ACMI)實驗室,研究涉及核心機器學(xué)習(xí)方法、其社會影響以及包括臨床醫(yī)學(xué)和自然語言處理在內(nèi)的各種應(yīng)用領(lǐng)域。他目前的研究重點包括處理各種因果結(jié)構(gòu)下分布變化的穩(wěn)健和自適應(yīng)算法、超越預(yù)測為決策提供信息(包括應(yīng)對已部署模型的戰(zhàn)略響應(yīng))、醫(yī)學(xué)診斷和預(yù)后預(yù)測、算法公平性和可解釋性的基礎(chǔ)。他是“Approximately Correct”博客的創(chuàng)立人,也是諷刺性漫畫“Superheroes of Deep Learning”的合著者。
李沐(Mu Li),Amazon資歷深厚的領(lǐng)銜研究員(Senior Principal Scientist),美國加利福尼亞大學(xué)伯克利分校、斯坦福大學(xué)客座助理教授,美國卡內(nèi)基梅隆大學(xué)計算機系博士。他曾任機器學(xué)習(xí)創(chuàng)業(yè)公司Marianas Labs的CTO和百度深度學(xué)習(xí)研究院的主任研發(fā)架構(gòu)師。他專注于機器學(xué)習(xí)系統(tǒng)和機器學(xué)習(xí)算法的研究。他在理論與應(yīng)用、機器學(xué)習(xí)與操作系統(tǒng)等多個領(lǐng)域的高水平學(xué)術(shù)會議上發(fā)表過論文,被引用上萬次。
[德]亞歷山大·J. 斯莫拉(Alexander J. Smola),Amazon副總裁/杰出研究員,德國柏林工業(yè)大學(xué)計算機科學(xué)博士。他曾在澳大利亞國立大學(xué)、美國加利福尼亞大學(xué)伯克利分校和卡內(nèi)基梅隆大學(xué)任教。他發(fā)表過超過300篇學(xué)術(shù)論文,并著有5本書,其論文及書被引用超過15萬次。他的研究興趣包括深度學(xué)習(xí)、貝葉斯非參數(shù)、核方法、統(tǒng)計建模和可擴展算法。
譯者簡介:
何孝霆(Xiaoting He),Amazon應(yīng)用研究員,中國科學(xué)院軟件工程碩士。他專注于對深度學(xué)習(xí)的研究,特別是自然語言處理的應(yīng)用(包括語言模型、AIOps、OCR),相關(guān)工作落地于眾多企業(yè)。他擔(dān)任過ACL、EMNLP、NAACL、EACL等學(xué)術(shù)會議的程序委員或?qū)徃迦恕?瑞潮兒·胡(Rachel Hu),Amazon應(yīng)用研究員,美國加利福尼亞大學(xué)伯克利分校統(tǒng)計學(xué)碩士,加拿大滑鐵盧大學(xué)數(shù)學(xué)學(xué)士。她致力于將機器學(xué)習(xí)應(yīng)用于現(xiàn)實世界的產(chǎn)品。她也是Amazon人工智能團隊的講師,教授自然語言處理、計算機視覺和機器學(xué)習(xí)商業(yè)應(yīng)用等課程。她已向累計1000余名Amazon工程師教授機器學(xué)習(xí),其公開課程視頻在YouTube和嗶哩嗶哩上屢獲盛贊。
對本書的贊譽
前言
譯者簡介
學(xué)習(xí)環(huán)境配置
資源與支持
主要符號表
第 1章 引言 1
1.1 日常生活中的機器學(xué)習(xí) 2
1.2 機器學(xué)習(xí)中的關(guān)鍵組件 3
1.2.1 數(shù)據(jù) 3
1.2.2 模型 4
1.2.3 目標(biāo)函數(shù) 4
1.2.4 優(yōu)化算法 5
1.3 各種機器學(xué)習(xí)問題 5
1.3.1 監(jiān)督學(xué)習(xí) 5
1.3.2 無監(jiān)督學(xué)習(xí) 11
1.3.3 與環(huán)境互動 11
1.3.4 強化學(xué)習(xí) 12
1.4 起源 13
1.5 深度學(xué)習(xí)的發(fā)展 15
1.6 深度學(xué)習(xí)的成功案例 16
1.7 特點 17
第 2章 預(yù)備知識 20
2.1 數(shù)據(jù)操作 20
2.1.1 入門 21
2.1.2 運算符 22
2.1.3 廣播機制 23
2.1.4 索引和切片 24
2.1.5 節(jié)省內(nèi)存 24
2.1.6 轉(zhuǎn)換為其他Python對象 25
2.2 數(shù)據(jù)預(yù)處理 26
2.2.1 讀取數(shù)據(jù)集 26
2.2.2 處理缺失值 26
2.2.3 轉(zhuǎn)換為張量格式 27
2.3 線性代數(shù) 27
2.3.1 標(biāo)量 28
2.3.2 向量 28
2.3.3 矩陣 29
2.3.4 張量 30
2.3.5 張量算法的基本性質(zhì) 31
2.3.6 降維 32
2.3.7 點積 33
2.3.8 矩陣-向量積 33
2.3.9 矩陣-矩陣乘法 34
2.3.10 范數(shù) 35
2.3.11 關(guān)于線性代數(shù)的更多信息 36
2.4 微積分 37
2.4.1 導(dǎo)數(shù)和微分 37
2.4.2 偏導(dǎo)數(shù) 40
2.4.3 梯度 41
2.4.4 鏈?zhǔn)椒▌t 41
2.5 自動微分 42
2.5.1 一個簡單的例子 42
2.5.2 非標(biāo)量變量的反向傳播 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 查找模塊中的所有函數(shù)和類 51
2.7.2 查找特定函數(shù)和類的用法 52
第3章 線性神經(jīng)網(wǎng)絡(luò) 54
3.1 線性回歸 54
3.1.1 線性回歸的基本元素 54
3.1.2 向量化加速 57
3.1.3 正態(tài)分布與平方損失 58
3.1.4 從線性回歸到深度網(wǎng)絡(luò) 60
3.2 線性回歸的從零開始實現(xiàn) 61
3.2.1 生成數(shù)據(jù)集 62
3.2.2 讀取數(shù)據(jù)集 63
3.2.3 初始化模型參數(shù) 63
3.2.4 定義模型 64
3.2.5 定義損失函數(shù) 64
3.2.6 定義優(yōu)化算法 64
3.2.7 訓(xùn)練 64
3.3 線性回歸的簡潔實現(xiàn) 66
3.3.1 生成數(shù)據(jù)集 66
3.3.2 讀取數(shù)據(jù)集 66
3.3.3 定義模型 67
3.3.4 初始化模型參數(shù) 67
3.3.5 定義損失函數(shù) 68
3.3.6 定義優(yōu)化算法 68
3.3.7 訓(xùn)練 68
3.4 softmax回歸 69
3.4.1 分類問題 69
3.4.2 網(wǎng)絡(luò)架構(gòu) 70
3.4.3 全連接層的參數(shù)開銷 70
3.4.4 softmax運算 71
3.4.5 小批量樣本的向量化 71
3.4.6 損失函數(shù) 72
3.4.7 信息論基礎(chǔ) 73
3.4.8 模型預(yù)測和評估 74
3.5 圖像分類數(shù)據(jù)集 74
3.5.1 讀取數(shù)據(jù)集 75
3.5.2 讀取小批量 76
3.5.3 整合所有組件 76
3.6 softmax回歸的從零開始實現(xiàn) 77
3.6.1 初始化模型參數(shù) 77
3.6.2 定義softmax操作 78
3.6.3 定義模型 78
3.6.4 定義損失函數(shù) 79
3.6.5 分類精度 79
3.6.6 訓(xùn)練 80
3.6.7 預(yù)測 82
3.7 softmax回歸的簡潔實現(xiàn) 83
3.7.1 初始化模型參數(shù) 83
3.7.2 重新審視softmax的實現(xiàn) 84
3.7.3 優(yōu)化算法 84
3.7.4 訓(xùn)練 84
第4章 多層感知機 86
4.1 多層感知機 86
4.1.1 隱藏層 86
4.1.2 激活函數(shù) 88
4.2 多層感知機的從零開始實現(xiàn) 92
4.2.1 初始化模型參數(shù) 92
4.2.2 激活函數(shù) 93
4.2.3 模型 93
4.2.4 損失函數(shù) 93
4.2.5 訓(xùn)練 93
4.3 多層感知機的簡潔實現(xiàn) 94
模型 94
4.4 模型選擇、欠擬合和過擬合 95
4.4.1 訓(xùn)練誤差和泛化誤差 96
4.4.2 模型選擇 97
4.4.3 欠擬合還是過擬合 98
4.4.4 多項式回歸 99
4.5 權(quán)重衰減 103
4.5.1 范數(shù)與權(quán)重衰減 103
4.5.2 高維線性回歸 104
4.5.3 從零開始實現(xiàn) 104
4.5.4 簡潔實現(xiàn) 106
4.6 暫退法 108
4.6.1 重新審視過擬合 108
4.6.2 擾動的穩(wěn)健性 108
4.6.3 實踐中的暫退法 109
4.6.4 從零開始實現(xiàn) 110
4.6.5 簡潔實現(xiàn) 111
4.7 前向傳播、反向傳播和計算圖 112
4.7.1 前向傳播 113
4.7.2 前向傳播計算圖 113
4.7.3 反向傳播 114
4.7.4 訓(xùn)練神經(jīng)網(wǎng)絡(luò) 115
4.8 數(shù)值穩(wěn)定性和模型初始化 115
4.8.1 梯度消失和梯度爆炸 116
4.8.2 參數(shù)初始化 117
4.9 環(huán)境和分布偏移 119
4.9.1 分布偏移的類型 120
4.9.2 分布偏移示例 121
4.9.3 分布偏移糾正 122
4.9.4 學(xué)習(xí)問題的分類法 125
4.9.5 機器學(xué)習(xí)中的公平、責(zé)任和透明度 126
4.10 實戰(zhàn)Kaggle比賽:預(yù)測房價 127
4.10.1 下載和緩存數(shù)據(jù)集 127
4.10.2 Kaggle 128
4.10.3 訪問和讀取數(shù)據(jù)集 129
4.10.4 數(shù)據(jù)預(yù)處理 130
4.10.5 訓(xùn)練 131
4.10.6 K折交叉驗證 132
4.10.7 模型選擇 133
4.10.8 提交Kaggle預(yù)測 133
第5章 深度學(xué)習(xí)計算 136
5.1 層和塊 136
5.1.1 自定義塊 138
5.1.2 順序塊 139
5.1.3 在前向傳播函數(shù)中執(zhí)行代碼 139
5.1.4 效率 140
5.2 參數(shù)管理 141
5.2.1 參數(shù)訪問 141
5.2.2 參數(shù)初始化 143
5.2.3 參數(shù)綁定 145
5.3 延后初始化 145
實例化網(wǎng)絡(luò) 146
5.4 自定義層 146
5.4.1 不帶參數(shù)的層 146
5.4.2 帶參數(shù)的層 147
5.5 讀寫文件 148
5.5.1 加載和保存張量 148
5.5.2 加載和保存模型參數(shù) 149
5.6 GPU 150
5.6.1 計算設(shè)備 151
5.6.2 張量與GPU 152
5.6.3 神經(jīng)網(wǎng)絡(luò)與GPU 153
第6章 卷積神經(jīng)網(wǎng)絡(luò) 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 互相關(guān)運算 159
6.2.2 卷積層 161
6.2.3 圖像中目標(biāo)的邊緣檢測 161
6.2.4 學(xué)習(xí)卷積核 162
6.2.5 互相關(guān)和卷積 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 卷積神經(jīng)網(wǎng)絡(luò)(LeNet) 173
6.6.1 LeNet 173
6.6.2 模型訓(xùn)練 175
第7章 現(xiàn)代卷積神經(jīng)網(wǎng)絡(luò) 178
7.1 深度卷積神經(jīng)網(wǎng)絡(luò)(AlexNet) 178
7.1.1 學(xué)習(xí)表征 179
7.1.2 AlexNet 181
7.1.3 讀取數(shù)據(jù)集 183
7.1.4 訓(xùn)練AlexNet 183
7.2 使用塊的網(wǎng)絡(luò)(VGG) 184
7.2.1 VGG塊 184
7.2.2 VGG網(wǎng)絡(luò) 185
7.2.3 訓(xùn)練模型 186
7.3 網(wǎng)絡(luò)中的網(wǎng)絡(luò)(NiN) 187
7.3.1 NiN塊 187
7.3.2 NiN模型 188
7.3.3 訓(xùn)練模型 189
7.4 含并行連接的網(wǎng)絡(luò)(GoogLeNet) 190
7.4.1 Inception塊 190
7.4.2 GoogLeNet模型 191
7.4.3 訓(xùn)練模型 193
7.5 批量規(guī)范化 194
7.5.1 訓(xùn)練深層網(wǎng)絡(luò) 194
7.5.2 批量規(guī)范化層 195
7.5.3 從零實現(xiàn) 196
7.5.4 使用批量規(guī)范化層的 LeNet 197
7.5.5 簡明實現(xiàn) 198
7.5.6 爭議 198
7.6 殘差網(wǎng)絡(luò)(ResNet) 200
7.6.1 函數(shù)類 200
7.6.2 殘差塊 201
7.6.3 ResNet模型 202
7.6.4 訓(xùn)練模型 204
7.7 稠密連接網(wǎng)絡(luò)(DenseNet) 205
7.7.1 從ResNet到DenseNet 205
7.7.2 稠密塊體 206
7.7.3 過渡層 206
7.7.4 DenseNet模型 207
7.7.5 訓(xùn)練模型 207
第8章 循環(huán)神經(jīng)網(wǎng)絡(luò) 209
8.1 序列模型 209
8.1.1 統(tǒng)計工具 210
8.1.2 訓(xùn)練 212
8.1.3 預(yù)測 213
8.2 文本預(yù)處理 216
8.2.1 讀取數(shù)據(jù)集 216
8.2.2 詞元化 217
8.2.3 詞表 217
8.2.4 整合所有功能 219
8.3 語言模型和數(shù)據(jù)集 219
8.3.1 學(xué)習(xí)語言模型 220
8.3.2 馬爾可夫模型與n元語法 221
8.3.3 自然語言統(tǒng)計 221
8.3.4 讀取長序列數(shù)據(jù) 223
8.4 循環(huán)神經(jīng)網(wǎng)絡(luò) 226
8.4.1 無隱狀態(tài)的神經(jīng)網(wǎng)絡(luò) 227
8.4.2 有隱狀態(tài)的循環(huán)神經(jīng)網(wǎng)絡(luò) 227
8.4.3 基于循環(huán)神經(jīng)網(wǎng)絡(luò)的字符級語言模型 228
8.4.4 困惑度 229
8.5 循環(huán)神經(jīng)網(wǎng)絡(luò)的從零開始實現(xiàn) 230
8.5.1 獨熱編碼 231
8.5.2 初始化模型參數(shù) 231
8.5.3 循環(huán)神經(jīng)網(wǎng)絡(luò)模型 232
8.5.4 預(yù)測 232
8.5.5 梯度截斷 233
8.5.6 訓(xùn)練 234
8.6 循環(huán)神經(jīng)網(wǎng)絡(luò)的簡潔實現(xiàn) 237
8.6.1 定義模型 237
8.6.2 訓(xùn)練與預(yù)測 238
8.7 通過時間反向傳播 239
8.7.1 循環(huán)神經(jīng)網(wǎng)絡(luò)的梯度分析 239
8.7.2 通過時間反向傳播的細節(jié) 241
第9章 現(xiàn)代循環(huán)神經(jīng)網(wǎng)絡(luò) 244
9.1 門控循環(huán)單元(GRU) 244
9.1.1 門控隱狀態(tài) 245
9.1.2 從零開始實現(xiàn) 247
9.1.3 簡潔實現(xiàn) 248
9.2 長短期記憶網(wǎng)絡(luò)(LSTM) 249
9.2.1 門控記憶元 249
9.2.2 從零開始實現(xiàn) 252
9.2.3 簡潔實現(xiàn) 253
9.3 深度循環(huán)神經(jīng)網(wǎng)絡(luò) 254
9.3.1 函數(shù)依賴關(guān)系 255
9.3.2 簡潔實現(xiàn) 255
9.3.3 訓(xùn)練與預(yù)測 255
9.4 雙向循環(huán)神經(jīng)網(wǎng)絡(luò) 256
9.4.1 隱馬爾可夫模型中的動態(tài)規(guī)劃 256
9.4.2 雙向模型 258
9.4.3 雙向循環(huán)神經(jīng)網(wǎng)絡(luò)的錯誤應(yīng)用 259
9.5 機器翻譯與數(shù)據(jù)集 260
9.5.1 下載和預(yù)處理數(shù)據(jù)集 261
9.5.2 詞元化 262
9.5.3 詞表 263
9.5.4 加載數(shù)據(jù)集 263
9.5.5 訓(xùn)練模型 264
9.6 編碼器-解碼器架構(gòu) 265
9.6.1 編碼器 265
9.6.2 解碼器 266
9.6.3 合并編碼器和解碼器 266
9.7 序列到序列學(xué)習(xí)(seq2seq) 267
9.7.1 編碼器 268
9.7.2 解碼器 269
9.7.3 損失函數(shù) 270
9.7.4 訓(xùn)練 271
9.7.5 預(yù)測 272
9.7.6 預(yù)測序列的評估 273
9.8 束搜索 275
9.8.1 貪心搜索 275
9.8.2 窮舉搜索 276
9.8.3 束搜索 276
第 10章 注意力機制 278
10.1 注意力提示 278
10.1.1 生物學(xué)中的注意力提示 279
10.1.2 查詢、鍵和值 280
10.1.3 注意力的可視化 280
10.2 注意力匯聚:Nadaraya-Watson 核回歸 281
10.2.1 生成數(shù)據(jù)集 282
10.2.2 平均匯聚 282
10.2.3 非參數(shù)注意力匯聚 283
10.2.4 帶參數(shù)注意力匯聚 284
10.3 注意力評分函數(shù) 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 訓(xùn)練 293
10.5 多頭注意力 295
10.5.1 模型 295
10.5.2 實現(xiàn) 296
10.6 自注意力和位置編碼 298
10.6.1 自注意力 298
10.6.2 比較卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)和自注意力 298
10.6.3 位置編碼 299
10.7 Transformer 302
10.7.1 模型 302
10.7.2 基于位置的前饋網(wǎng)絡(luò) 303
10.7.3 殘差連接和層規(guī)范化 304
10.7.4 編碼器 304
10.7.5 解碼器 305
10.7.6 訓(xùn)練 307
第 11章 優(yōu)化算法 311
11.1 優(yōu)化和深度學(xué)習(xí) 311
11.1.1 優(yōu)化的目標(biāo) 311
11.1.2 深度學(xué)習(xí)中的優(yōu)化挑戰(zhàn) 312
11.2 凸性 315
11.2.1 定義 315
11.2.2 性質(zhì) 317
11.2.3 約束 319
11.3 梯度下降 322
11.3.1 一維梯度下降 322
11.3.2 多元梯度下降 324
11.3.3 自適應(yīng)方法 326
11.4 隨機梯度下降 329
11.4.1 隨機梯度更新 329
11.4.2 動態(tài)學(xué)習(xí)率 331
11.4.3 凸目標(biāo)的收斂性分析 332
11.4.4 隨機梯度和有限樣本 333
11.5 小批量隨機梯度下降 334
11.5.1 向量化和緩存 335
11.5.2 小批量 336
11.5.3 讀取數(shù)據(jù)集 337
11.5.4 從零開始實現(xiàn) 337
11.5.5 簡潔實現(xiàn) 340
11.6 動量法 341
11.6.1 基礎(chǔ) 341
11.6.2 實際實驗 345
11.6.3 理論分析 346
11.7 AdaGrad算法 348
11.7.1 稀疏特征和學(xué)習(xí)率 348
11.7.2 預(yù)處理 349
11.7.3 算法 350
11.7.4 從零開始實現(xiàn) 351
11.7.5 簡潔實現(xiàn) 352
11.8 RMSProp算法 353
11.8.1 算法 353
11.8.2 從零開始實現(xiàn) 354
11.8.3 簡潔實現(xiàn) 355
11.9 Adadelta算法 356
11.9.1 算法 356
11.9.2 實現(xiàn) 356
11.10 Adam算法 358
11.10.1 算法 358
11.10.2 實現(xiàn) 359
11.10.3 Yogi 360
11.11 學(xué)習(xí)率調(diào)度器 361
11.11.1 一個簡單的問題 361
11.11.2 學(xué)習(xí)率調(diào)度器 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 內(nèi)存 379
12.4.3 存儲器 380
12.4.4 CPU 381
12.4.5 GPU和其他加速卡 383
12.4.6 網(wǎng)絡(luò)和總線 385
12.4.7 更多延遲 386
12.5 多GPU訓(xùn)練 388
12.5.1 問題拆分 388
12.5.2 數(shù)據(jù)并行性 390
12.5.3 簡單網(wǎng)絡(luò) 390
12.5.4 數(shù)據(jù)同步 391
12.5.5 數(shù)據(jù)分發(fā) 392
12.5.6 訓(xùn)練 392
12.6 多GPU的簡潔實現(xiàn) 394
12.6.1 簡單網(wǎng)絡(luò) 394
12.6.2 網(wǎng)絡(luò)初始化 395
12.6.3 訓(xùn)練 395
12.7 參數(shù)服務(wù)器 397
12.7.1 數(shù)據(jù)并行訓(xùn)練 397
12.7.2 環(huán)同步(ring
synchronization) 399 12.7.3 多機訓(xùn)練 400 12.7.4 鍵-值存儲 402 第 13章 計算機視覺 404 13.1 圖像增廣 404 13.1.1 常用的圖像增廣方法 404 13.1.2 使用圖像增廣進行訓(xùn)練 408 13.2 微調(diào) 410 13.2.1 步驟 410 13.2.2 熱狗識別 411 13.3 目標(biāo)檢測和邊界框 415 邊界框 415 13.4 錨框 417 13.4.1 生成多個錨框 417 13.4.2 交并比(IoU) 419 13.4.3 在訓(xùn)練數(shù)據(jù)中標(biāo)注錨框 420 13.4.4 使用非極大值抑制預(yù)測 邊界框 424 13.5 多尺度目標(biāo)檢測 427 13.5.1 多尺度錨框 427 13.5.2 多尺度檢測 429 13.6 目標(biāo)檢測數(shù)據(jù)集 430 13.6.1 下載數(shù)據(jù)集 430 13.6.2 讀取數(shù)據(jù)集 431 13.6.3 演示 432 13.7 單發(fā)多框檢測(SSD) 433 13.7.1 模型 433 13.7.2 訓(xùn)練模型 437 13.7.3 預(yù)測目標(biāo) 439 13.8 區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(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 語義分割和數(shù)據(jù)集 445 13.9.1 圖像分割和實例分割 445 13.9.2 Pascal VOC2012 語義分割數(shù)據(jù)集 446 13.10 轉(zhuǎn)置卷積 450 13.10.1 基本操作 450 13.10.2 填充、步幅和多通道 451 13.10.3 與矩陣變換的聯(lián)系 452 13.11 全卷積網(wǎng)絡(luò) 453 13.11.1 構(gòu)建模型 454 13.11.2 初始化轉(zhuǎn)置卷積層 455 13.11.3 讀取數(shù)據(jù)集 456 13.11.4 訓(xùn)練 456 13.11.5 預(yù)測 457 13.12 風(fēng)格遷移 458 13.12.1 方法 459 13.12.2 閱讀內(nèi)容和風(fēng)格圖像 460 13.12.3 預(yù)處理和后處理 460 13.12.4 提取圖像特征 461 13.12.5 定義損失函數(shù) 461 13.12.6 初始化合成圖像 463 13.12.7 訓(xùn)練模型 463 13.13 實戰(zhàn) Kaggle競賽:圖像分類(CIFAR-10) 464 13.13.1 獲取并組織數(shù)據(jù)集 465 13.13.2 圖像增廣 467 13.13.3 讀取數(shù)據(jù)集 468 13.13.4 定義模型 468 13.13.5 定義訓(xùn)練函數(shù) 468 13.13.6 訓(xùn)練和驗證模型 469 13.13.7 在Kaggle上對測試集進行分類并提交結(jié)果 469 13.14 實戰(zhàn)Kaggle競賽:狗的品種識別(ImageNet Dogs) 470 13.14.1 獲取和整理數(shù)據(jù)集 471 13.14.2 圖像增廣 472 13.14.3 讀取數(shù)據(jù)集 472 13.14.4 微調(diào)預(yù)訓(xùn)練模型 473 13.14.5 定義訓(xùn)練函數(shù) 473 13.14.6 訓(xùn)練和驗證模型 474 13.14.7 對測試集分類并在Kaggle提交結(jié)果 475 第 14章 自然語言處理:預(yù)訓(xùn)練 476 14.1 詞嵌入(word2vec) 477 14.1.1 為何獨熱向量是一個糟糕的選擇 477 14.1.2 自監(jiān)督的word2vec 477 14.1.3 跳元模型 477 14.1.4 連續(xù)詞袋模型 478 14.2 近似訓(xùn)練 480 14.2.1 負采樣 480 14.2.2 層序softmax 481 14.3 用于預(yù)訓(xùn)練詞嵌入的數(shù)據(jù)集 482 14.3.1 讀取數(shù)據(jù)集 482 14.3.2 下采樣 483 14.3.3 中心詞和上下文詞的提取 484 14.3.4 負采樣 485 14.3.5 小批量加載訓(xùn)練實例 486 14.3.6 整合代碼 487 14.4 預(yù)訓(xùn)練word2vec 488 14.4.1 跳元模型 488 14.4.2 訓(xùn)練 489 14.4.3 應(yīng)用詞嵌入 491 14.5 全局向量的詞嵌入(GloVe) 491 14.5.1 帶全局語料庫統(tǒng)計的跳元模型 492 14.5.2 GloVe模型 492 14.5.3 從共現(xiàn)概率比值理解GloVe模型 493 14.6 子詞嵌入 494 14.6.1 fastText模型 494 14.6.2 字節(jié)對編碼 495 14.7 詞的相似度和類比任務(wù) 497 14.7.1 加載預(yù)訓(xùn)練詞向量 497 14.7.2 應(yīng)用預(yù)訓(xùn)練詞向量 499 14.8 來自Transformer的雙向編碼器表示(BERT) 500 14.8.1 從上下文無關(guān)到上下文敏感 500 14.8.2 從特定于任務(wù)到不可知任務(wù) 501 14.8.3 BERT:將ELMo與GPT結(jié)合起來 501 14.8.4 輸入表示 502 14.8.5 預(yù)訓(xùn)練任務(wù) 504 14.8.6 整合代碼 506 14.9 用于預(yù)訓(xùn)練BERT的數(shù)據(jù)集 507 14.9.1 為預(yù)訓(xùn)練任務(wù)定義輔助函數(shù) 508 14.9.2 將文本轉(zhuǎn)換為預(yù)訓(xùn)練數(shù)據(jù)集 509 14.10 預(yù)訓(xùn)練BERT 512 14.10.1 預(yù)訓(xùn)練BERT 512 14.10.2 用BERT表示文本 514 第 15章 自然語言處理:應(yīng)用 515 15.1 情感分析及數(shù)據(jù)集 516 15.1.1 讀取數(shù)據(jù)集 516 15.1.2 預(yù)處理數(shù)據(jù)集 517 15.1.3 創(chuàng)建數(shù)據(jù)迭代器 517 15.1.4 整合代碼 518 15.2 情感分析:使用循環(huán)神經(jīng)網(wǎng)絡(luò) 518 15.2.1 使用循環(huán)神經(jīng)網(wǎng)絡(luò)表示單個文本 519 15.2.2 加載預(yù)訓(xùn)練的詞向量 520 15.2.3 訓(xùn)練和評估模型 520 15.3 情感分析:使用卷積神經(jīng)網(wǎng)絡(luò) 521 15.3.1 一維卷積 522 15.3.2 最大時間匯聚層 523 15.3.3 textCNN模型 523 15.4 自然語言推斷與數(shù)據(jù)集 526 15.4.1 自然語言推斷 526 15.4.2 斯坦福自然語言推斷(SNLI)數(shù)據(jù)集 527 15.5 自然語言推斷:使用注意力 530 15.5.1 模型 530 15.5.2 訓(xùn)練和評估模型 533 15.6 針對序列級和詞元級應(yīng)用微調(diào)BERT 535 15.6.1 單文本分類 535 15.6.2 文本對分類或回歸 536 15.6.3 文本標(biāo)注 537 15.6.4 問答 537 15.7 自然語言推斷:微調(diào)BERT 538 15.7.1 加載預(yù)訓(xùn)練的BERT 539 15.7.2 微調(diào)BERT的數(shù)據(jù)集 540 15.7.3 微調(diào)BERT 541 附錄A 深度學(xué)習(xí)工具 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 創(chuàng)建SageMaker實例 547 A.2.3 運行和停止實例 548 A.2.4 更新Notebook 548 A.3 使用Amazon EC2實例 549 A.3.1 創(chuàng)建和運行EC2實例 549 A.3.2 安裝CUDA 553 A.3.3 安裝庫以運行代碼 553 A.3.4 遠程運行Jupyter記事本 554 A.3.5 關(guān)閉未使用的實例 554 A.4 選擇服務(wù)器和GPU 555 A.4.1 選擇服務(wù)器 555 A.4.2 選擇GPU 556 A.5 為本書做貢獻 558 A.5.1 提交微小更改 558 A.5.2 大量文本或代碼修改 559 A.5.3 提交主要更改 559 參考文獻 562
你還可能感興趣
我要評論
|