深度學習精粹與 PyTorch 實踐 Inside Deep Learning: Math, Algorithms, Models
[美] 愛德華·拉夫(Edward Raff)著 郭濤 譯
- 出版商: 清華大學
- 出版日期: 2024-08-01
- 售價: $1,368
- 貴賓價: 9.5 折 $1,300
- 語言: 簡體中文
- ISBN: 7302669112
- ISBN-13: 9787302669111
-
相關分類:
DeepLearning
- 此書翻譯自: Inside Deep Learning: Math, Algorithms, Models (Paperback)
立即出貨 (庫存 < 4)
買這商品的人也買了...
-
$203大數據分析 : 數據挖掘必備算法示例詳解
-
$352Python 與機器學習實戰:決策樹、集成學習、支持向量機與神經網絡算法詳解及編程實現
-
$699$552 -
$420$328 -
$454區塊鏈財稅管理與 Corda 開發指南
-
$454IPFS 原理與實踐
-
$500基於區塊鏈的供應鏈信息共享機制與管理模式研究
-
$254超級帳本 HyperLedger Fabric 區塊鏈開發實戰
-
$550$429 -
$474$450 -
$474$450 -
$305機器學習 — 原理、算法與 Python 實戰 (微課視頻版)
-
$894$849 -
$720$475 -
$880$695 -
$500裝備體系貢獻率評估 — 理論、方法與應用
-
$980$774 -
$680$646 -
$300$270 -
$505元宇宙通論
-
$594$564 -
$690$545 -
$654$621 -
$479$455 -
$880$695
相關主題
商品描述
"深度學習絕非不可窺探的黑箱!深入理解其模型和算法的實際運作機制,是駕馭並優化結果的關鍵。你無需成為數學專家或資深數據科學家,同樣能夠掌握深度學習系統內部的工作原理。本書旨在通過深入淺出的方式,為你揭示這些原理,讓你在理解和解釋自己的工作時更加自信與從容。 《深度學習精粹與PyTorch實踐》以淺顯易懂的方式揭示了深度學習算法的內部運作機制,即使是機器學習初學者也能輕松理解。本書通過平實的語言解析、詳盡的代碼註釋,以及數十個基於PyTorch框架的實戰示例,逐步引導你探索深度學習的核心概念與實用工具。本書避免了復雜的數學公式堆砌,而是採用直觀易懂的方式闡述每種神經網絡類型的運作邏輯。更令人興奮的是,書中提供的所有解決方案均可在現有的GPU硬件上順暢運行! 主要內容 ● 選擇正確的深度學習組件 ● 訓練和評估深度學習模型 ● 微調深度學習模型以實現性能**化瞭解深度學習術語"
目錄大綱
目 錄
第1章 學習的機制 3
1.1 Colab入門 7
1.2 張量 7
1.3 自動微分 15
1.3.1 使用導數將損失降至最低 17
1.3.2 使用自動微分計算導數 18
1.3.3 知識整合:使用導數最小化函數 19
1.4 優化參數 21
1.5 加載數據集對象 23
1.6 練習 26
1.7 小結 27
第2章 全連接網絡 29
2.1 優化神經網絡 30
2.1.1 訓練神經網絡的符號 30
2.1.2 建立線性回歸模型 32
2.1.3 訓練循環 32
2.1.4 定義數據集 34
2.1.5 定義模型 36
2.1.6 定義損失函數 37
2.1.7 知識整合:在數據上訓練線性回歸模型 38
2.2 構建第一個神經網絡 40
2.2.1 全連接網絡的符號 40
2.2.2 PyTorch中的全連接網絡 41
2.2.3 增加非線性 43
2.3 分類問題 46
2.3.1 分類簡單問題 46
2.3.2 分類損失函數 48
2.3.3 訓練分類網絡 51
2.4 更好地訓練代碼 53
2.4.1 自定義指標 53
2.4.2 訓練和測試階段 54
2.4.3 保存檢查點 55
2.4.4 知識整合:更好的模型訓練函數 56
2.5 批量訓練 61
2.6 練習 64
2.7 小結 65
第3章 捲積神經網絡 67
3.1 空間結構先驗信念 68
3.2 什麽是捲積 74
3.2.1 一維捲積 75
3.2.2 二維捲積 76
3.2.3 填充 77
3.2.4 權重共享 78
3.3 捲積如何有益於圖像處理 79
3.4 付諸實踐:我們的第一個CNN 82
3.4.1 使用多個過濾器生成捲積層 83
3.4.2 每層使用多個過濾器 84
3.4.3 通過展平將捲積層與線性層混合 84
3.4.4 第一個CNN的PyTorch代碼 86
3.5 添加池化以減少對象移動 88
3.6 數據增強 93
3.7 練習 97
3.8 小結 97
第4章 循環神經網絡 99
4.1 作為權重共享的循環神經網絡 100
4.1.1 全連接網絡的權重共享 101
4.1.2 隨時間共享權重 105
4.2 在PyTorch中實現RNN 107
4.2.1 一個簡單的序列分類問題 108
4.2.2 嵌入層 112
4.2.3 使用最後一個時間步長進行預測 114
4.3 通過打包減短訓練時間 119
4.3.1 填充和打包 120
4.3.2 可打包嵌入層 122
4.3.3 訓練批量RNN 122
4.3.4 同時打包和解包輸入 124
4.4 更為復雜的RNN 125
4.4.1 多層 126
4.4.2 雙向RNN 127
4.5 練習 129
4.6 小結 130
第5章 現代訓練技術 131
5.1 梯度下降分兩部分進行 132
5.1.1 添加學習率調度器 133
5.1.2 添加優化器 134
5.1.3 實現優化器和調度器 135
5.2 學習率調度器 139
5.2.1 指數衰減:平滑不穩定訓練 140
5.2.2 步長下降調整:更平滑 143
5.2.3 餘弦退火:準確率更高但穩定性較差 144
5.2.4 驗證平臺:基於數據的調整 147
5.2.5 比較調度器 151
5.3 更好地利用梯度 152
5.3.1 SGD與動量:適應梯度一致性 153
5.3.2 Adam:增加動量變化 159
5.3.3 梯度修剪:避免梯度爆炸 162
5.4 使用Optuna進行超參數優化 164
5.4.1 Optuna 164
5.4.2 使用PyTorch的Optuna 167
5.4.3 使用Optuna修剪試驗 171
5.5 練習 173
5.6 小結 174
第6章 通用設計構建塊 175
6.1 更好的激活函數 179
6.1.1 梯度消失 179
6.1.2 校正線性單位(ReLU):避免梯度消失 181
6.1.3 使用LeakyReLU激活訓練 184
6.2 歸一化層:神奇地促進收斂 186
6.2.1 歸一化層用於何處 187
6.2.2 批量歸一化 188
6.2.3 使用批量歸一化進行訓練 190
6.2.4 層歸一化 192
6.2.5 使用層歸一化進行訓練 192
6.2.6 使用哪個歸一化層 195
6.2.7 層歸一化的特點 195
6.3 跳躍連接:網絡設計模式 198
6.3.1 實施全連接的跳躍 200
6.3.2 實現捲積跳躍 203
6.4 1×1捲積:在通道中共享和重塑信息 206
6.5 殘差連接 208
6.5.1 殘差塊 208
6.5.2 實現殘差塊 210
6.5.3 殘差瓶頸 210
6.5.4 實現殘差瓶頸 212
6.6 長短期記憶網絡RNN 214
6.6.1 RNN:快速回顧 214
6.6.2 LSTM和門控機制 215
6.6.3 LSTM訓練 217
6.7 練習 220
6.8 小結 220
第Ⅱ部分 構建高級網絡
第7章 自動編碼和自監督 225
7.1 自動編碼的工作原理 227
7.1.1 主成分分析是自動編碼器的瓶頸 228
7.1.2 實現PCA 229
7.1.3 使用PyTorch實現PCA 232
7.1.4 可視化PCA結果 233
7.1.5 簡單的非線性PCA 235
7.2 設計自動編碼神經網絡 238
7.2.1 實現自動編碼器 239
7.2.2 可視化自動編碼器結果 240
7.3 更大的自動編碼器 242
7.4 自動編碼器去噪 247
7.5 時間序列和序列的自回歸模型 252
7.5.1 實現char-RNN自回歸文本模型 254
7.5.2 自回歸模型是生成模型 261
7.5.3 隨著溫度調整採樣 263
7.5.4 更快地採樣 266
7.6 練習 268
7.7 小結 269
第8章 目標檢測 271
8.1 圖像分割 272
8.1.1 核檢測:加載數據 273
8.1.2 在PyTorch中表示圖像分割問題 275
8.1.3 建立第一個圖像分割網絡 277
8.2 用於擴展圖像大小的轉置捲積 279
8.3 U-Net:查看精細和粗糙的細節 284
8.4 帶邊界框的目標檢測 289
8.4.1 Faster R-CNN 290
8.4.2 在PyTorch中實現Faster R-CNN 295
8.4.3 抑制重疊框 303
8.5 使用預訓練的Faster R-CNN 305
8.6 練習 307
8.7 小結 308
第9章 生成對抗網絡 309
9.1 理解生成對抗網絡 310
9.1.1 損失計算 312
9.1.2 GAN博弈 314
9.1.3 實現第一個GAN 316
9.2 模式崩潰 324
9.3 Wasserstein GAN:緩解模式崩潰 327
9.3.1 WGAN判別器損失 327
9.3.2 WGAN生成器損失 328
9.3.3 實現WGAN 329
9.4 捲積GAN 334
9.4.1 設計捲積生成器 334
9.4.2 設計捲積判別器 336
9.5 條件GAN 339
9.5.1 實現條件GAN 340
9.5.2 訓練條件GAN 341
9.5.3 使用條件GAN控制生成 342
9.6 GAN潛在空間概覽 343
9.6.1 從Hub獲取模型 343
9.6.2 對GAN輸出進行插值 344
9.6.3 標記潛在維度 346
9.7 深度學習中的倫理問題 349
9.8 練習 350
9.9 小結 351
第10章 註意力機制 353
10.1 註意力機制學習相對輸入重要性 354
10.1.1 訓練基線模型 355
10.1.2 註意力機制 357
10.1.3 實現簡單的註意力機制 359
10.2 添加上下文 363
10.2.1 點分數 365
10.2.2 總分數 366
10.2.3 附加註意力 367
10.2.4 計算註意力權重 369
10.3 知識整合:一種有上下文的完整註意力機制 371
10.4 練習 375
10.5 小結 376
第11章 序列到序列 377
11.1 序列到序列作為一種去噪自動編碼器 378
11.2 機器翻譯和數據加載器 380
11.3 序列到序列的輸入 385
11.3.1 自回歸法 386
11.3.2 教師強製法 386
11.3.3 教師強製法與自回歸法的比較 387
11.4 序列到序列註意力 387
11.4.1 實現序列到序列 389
11.4.2 訓練和評估 394
11.5 練習 400
11.6 小結 400
第12章 RNN的網絡設計替代方案 401
12.1 TorchText:處理文本問題的工具 402
12.1.1 安裝TorchText 402
12.1.2 在TorchText中加載數據集 402
12.1.3 定義基線模型 405
12.2 隨時間平均嵌入 406
12.3 隨時間池化和一維CNN 413
12.4 位置嵌入為任何模型添加序列信息 417
12.4.1 實現位置編碼模塊 421
12.4.2 定義位置編碼模型 422
12.5 Transformer:大數據的大模型 425
12.5.1 多頭註意力 425
12.5.2 transformer模塊 430
12.6 練習 433
12.7 小結 434
第13章 遷移學習 435
13.1 遷移模型參數 436
13.2 遷移學習和使用CNN進行訓練 440
13.2.1 調整預訓練網絡 442
13.2.2 預處理預訓練的ResNet 446
13.2.3 熱啟動訓練 447
13.2.4 使用凍結權重進行訓練 449
13.3 用較少的標簽學習 451
13.4 文本預訓練 454
13.4.1 帶有Hugging Face庫的transformer 455
13.4.2 無梯度的凍結權重 457
13.5 練習 459
13.6 小結 460
第14章 高級構件 461
14.1 池化問題 462
14.1.1 鋸齒損害了平移不變性 464
14.1.2 通過模糊實現抗鋸齒 469
14.1.3 應用抗鋸齒池化 473
14.2 改進後的殘差塊 476
14.2.1 有效深度 477
14.2.2 實現ReZero 478
14.3 混合訓練減少過擬合 481
14.3.1 選擇混合率 483
14.3.2 實現MixUp 484
14.4 練習 489
14.5 小結 489
附錄A 設置Colab 491