預售商品須知
預售商品請單獨下單,到貨後將盡快安排為您發出。
若您將預售商品與其他商品一並購買,則該訂單默認在預售商品到貨後發出,拍下即視為認可,謝謝您的支持。
作 者:阿斯頓·張(Aston Zhang) [美]扎卡裡·C. 立頓(Zachary C. Lipton) 李沐( Li) [德]亞歷山大·J. 斯莫拉(Alexander J. Smola) 著 何孝霆( aoting He) 瑞潮兒·胡(Rachel Hu) 譯
定 價:229.8
出 版 社:人民郵電出版社
出版日期:2023年02月01日
頁 數:572
裝 幀:精裝
ISBN:9787115600806
·深度學習領域重磅作品《動手學深度學習》推出PyTorch版本;·李沐、阿斯頓·張名家作品;·全球400多所大學采用的教科書,提供視頻課程、教學PPT、習題,方便教師授課與學生自學;·能運行、可討論的深度學習入門書,可在線運行源碼並與作譯者實時討論。 本書面向希望了解深度學習,特別是對實際使用深度學習感興趣的大學生、工程師和研究人員。本書不要求讀者有任何深度學習或者機器學習的背景知識,讀者隻需具備基本的數學和編程知識,如基礎的線性代數、微分、概率及Python編程知識。本書第2章提供了書中等
●對本書的贊譽前言譯者簡介學習環境配置資源與支持主要符號表第 1章 引言 11.1 日常生活中的機器學習 21.2 機器學習中的關鍵組件 31.2.1 數據 31.2.2 模型 41.2.3 目標函數 41.2.4 優化算法 51.3 各種機器學習問題 51.3.1 監督學習 51.3.2 無監督學習 111.3.3 與環境互動 111.3.4 強化學習 121.4 起源 131.5 深度學習的發展 151.6 深度學習的成功案例 161.7 特點 17第 2章 預備知識 202.1 數據操作 202.1.1 入門 212.1.2 運算符 222.1.3 廣播機制 232.1.4 索引和切片 242.1.5 內存 242.1.6 轉換為其他Python對像 252.2 數據預處理 262.2.1 讀取數據集 262.2.2 處理缺失值 262.2.3 轉換為張量格式 272.3 線性代數 272.3.1 標量 282.3.2 向量 282.3.3 矩陣 292.3.4 張量 302.3.5 張量算法的基本性質 312.3.6 降維 322.3.7 點積 332.3.8 矩陣-向量積 332.3.9 矩陣-矩陣乘法 342.3.10 範數 352.3.11 關於線性代數的更多信息 362.4 微積分 372.4.1 導數和微分 372.4.2 偏導數 402.4.3 梯度 412.4.4 鏈式法則 412.5 自動微分 422.5.1 一個簡單的例子 422.5.2 非標量變量的反向傳播 432.5.3 分離計算 432.5.4 Python控制流的梯度計算 442.6 概率 442.6.1 基本概率論 452.6.2 處理多個隨機變量 482.6.3 期望和方差 502.7 查閱文檔 512.7.1 查找模塊中的所有函數和類 512.7.2 查找特定函數和類的用法 52第3章 線性神經網絡 543.1 線性回歸 543.1.1 線性回歸素 543.1.2 向量化加速 573.1.3 正態分布與平方損失 583.1.4 從線性回歸到深度網絡 603.2 線性回歸的從零開始實現 613.2.1 生成數據集 623.2.2 讀取數據集 633.2.3 初始化模型參數 633.2.4 定義模型 643.2.5 定義損失函數 643.2.6 定義優化算法 643.2.7 訓練 643.3 線性回歸的簡潔實現 663.3.1 生成數據集 663.3.2 讀取數據集 663.3.3 定義模型 673.3.4 初始化模型參數 673.3.5 定義損失函數 683.3.6 定義優化算法 683.3.7 訓練 683.4 softmax回歸 693.4.1 分類問題 693.4.2 網絡架構 703.4.3 全連接層的參數開銷 703.4.4 softmax運算 713.4.5 小批量樣本的向量化 713.4.6 損失函數 723.4.7 信息論基礎 733.4.8 模型預測和評估 743.5 圖像分類數據集 743.5.1 讀取數據集 753.5.2 讀取小批量 763.5.3 整合所有組件 763.6 softmax回歸的從零開始實現 773.6.1 初始化模型參數 773.6.2 定義softmax操作 783.6.3 定義模型 783.6.4 定義損失函數 793.6.5 分類精度 793.6.6 訓練 803.6.7 預測 823.7 softmax回歸的簡潔實現 833.7.1 初始化模型參數 833.7.2 重新審視softmax的實現 843.7.3 優化算法 843.7.4 訓練 84第4章 多層感知機 864.1 多層感知機 864.1.1 隱藏層 864.1.2 激活函數 884.2 多層感知機的從零開始實現 924.2.1 初始化模型參數 924.2.2 激活函數 934.2.3 模型 934.2.4 損失函數 934.2.5 訓練 934.3 多層感知機的簡潔實現 94模型 944.4 模型選擇、欠擬合和過擬合 954.4.1 訓練誤差和泛化誤差 964.4.2 模型選擇 974.4.3 欠擬合還是過擬合 984.4.4 多項式回歸 994.5 權重衰減 1034.5.1 範數與權重衰減 1034.5.2 高維線性回歸 1044.5.3 從零開始實現 1044.5.4 簡潔實現 1064.6 暫退法 1084.6.1 重新審視過擬合 1084.6.2 擾動的穩健性 1084.6.3 實踐中的暫退法 1094.6.4 從零開始實現 1104.6.5 簡潔實現 1114.7 前向傳播、反向傳播和計算圖 1124.7.1 前向傳播 1134.7.2 前向傳播計算圖 1134.7.3 反向傳播 1144.7.4 訓練神經網絡 1154.8 數值穩定性和模型初始化 1154.8.1 梯度消失和梯度爆炸 1164.8.2 參數初始化 1174.9 環境和分布偏移 1194.9.1 分布偏移的類型 1204.9.2 分布偏移示例 1214.9.3 分布偏移糾正 1224.9.4 學習問題的分類法 1254.9.5 機器學習中的公平、責任和透明度 1264.10 實戰Kaggle比賽:預測房價 1274.10.1 下載和緩存數據集 1274.10.2 Kaggle 1284.10.3 訪問和讀取數據集 1294.10.4 數據預處理 1304.10.5 訓練 1314.10.6 K折交叉驗證 1324.10.7 模型選擇 1334.10.8 提交Kaggle預測 133第5章 深度學習計算 1365.1 層和塊 1365.1.1 自定義塊 1385.1.2 順序塊 1395.1.3 在前向傳播函數中執行代碼 1395.1.4 效率 1405.2 參數管理 1415.2.1 參數訪問 1415.2.2 參數初始化 1435.2.3 參數綁定 1455.3 延後初始化 145實例化網絡 1465.4 自定義層 1465.4.1 不帶參數的層 1465.4.2 帶參數的層 1475.5 讀寫文件 1485.5.1 加載和保存張量 1485.5.2 加載和保存模型參數 1495.6 GPU 1505.6.1 計算設備 1515.6.2 張量與GPU 1525.6.3 神經網絡與GPU 153第6章 卷積神經網絡 1556.1 從全連接層到卷積 1556.1.1 不變性 1566.1.2 多層感知機的 1576.1.3 卷積 1586.1.4 “沃爾多在哪裡”回顧 1586.2 圖像卷積 1596.2.1 互相關運算 1596.2.2 卷積層 1616.2.3 圖像中目標的邊緣檢測 1616.2.4 學習卷積核 1626.2.5 互相關和卷積 1626.2.6 特征映射和感受野 1636.3 填充和步幅 1646.3.1 填充 1646.3.2 步幅 1656.4 多輸入多輸出通道 1666.4.1 多輸入通道 1676.4.2 多輸出通道 1676.4.3 1×1卷積層 1686.5 彙聚層 1706.5.1 優選彙聚和平均彙聚 1706.5.2 填充和步幅 1716.5.3 多個通道 1726.6 卷積神經網絡(LeNet) 1736.6.1 LeNet 1736.6.2 模型訓練 175第7章 現代卷積神經網絡 1787.1 深度卷積神經網絡(AlexNet) 1787.1.1 學習表征 1797.1.2 AlexNet 1817.1.3 讀取數據集 1837.1.4 訓練AlexNet 1837.2 使用塊的網絡(VGG) 1847.2.1 VGG塊 1847.2.2 VGG網絡 1857.2.3 訓練模型 1867.3 網絡中的網絡(NiN) 1877.3.1 NiN塊 1877.3.2 NiN模型 1887.3.3 訓練模型 1897.4 含並行連接的網絡(GoogLeNet) 1907.4.1 Inception塊 1907.4.2 GoogLeNet模型 1917.4.3 訓練模型 1937.5 批量規範化 1947.5.1 訓練深層網絡 1947.5.2 批量規範化層 1957.5.3 從零實現 1967.5.4 使用批量規範化層的 LeNet 1977.5.5 簡明實現 1987.5.6 爭議 1987.6 殘差網絡(ResNet) 2007.6.1 函數類 2007.6.2 殘差塊 2017.6.3 ResNet模型 2027.6.4 訓練模型 2047.7 稠密連接網絡(DenseNet) 2057.7.1 從ResNet到DenseNet 2057.7.2 稠密塊體 2067.7.3 過渡層 2067.7.4 DenseNet模型 2077.7.5 訓練模型 207第8章 循環神經網絡 2098.1 序列模型 2098.1.1 統計工具 2108.1.2 訓練 2128.1.3 預測 2138.2 文本預處理 2168.2.1 讀取數據集 2168.2.2 &nbs化 2178.2.3 詞表 2178.2.4 整合所有功能 2198.3 語言模型和數據集 2198.3.1 學習語言模型 2208.3.2 馬爾可夫模語法 2218.3.3 自然語言統計 2218.3.4 讀取長序列數據 2238.4 循環神經網絡 2268.4.1 無隱狀態的神經網絡 2278.4.2 有隱狀態的循環神經網絡 2278.4.3 基於循環神經網絡的字符級語言模型 2288.4.4 困惑度 2298.5 循環神經網絡的從零開始實現 2308.5.1 獨熱編碼 2318.5.2 初始化模型參數 2318.5.3 循環神經網絡模型 2328.5.4 預測 2328.5.5 梯度截斷 2338.5.6 訓練 2348.6 循環神經網絡的簡潔實現 2378.6.1 定義模型 2378.6.2 訓練與預測 2388.7 通過時間反向傳播 2398.7.1 循環神經網絡的梯度分析 2398.7.2 通過時間反向傳播的細節 241第9章 現代循環神經網絡 2449.1 門控(GRU) 2449.1.1 門控隱狀態 2459.1.2 從零開始實現 2479.1.3 簡潔實現 2489.2 長短期記憶網絡(LSTM) 2499.2.1 門 2499.2.2 從零開始實現 2529.2.3 簡潔實現 2539.3 深度循環神經網絡 2549.3.1 函數依賴關繫 2559.3.2 簡潔實現 2559.3.3 訓練與預測 2559.4 雙向循環神經網絡 2569.4.1 隱馬爾可夫模型中的動態規劃 2569.4.2 雙向模型 2589.4.3 雙向循環神經網絡的錯誤應用 2599.5 機器翻譯與數據集 2609.5.1 下載和預處理數據集 2619.5.2 &nbs化 2629.5.3 詞表 2639.5.4 加載數據集 2639.5.5 訓練模型 2649.6 編碼器-解碼器架構 2659.6.1 編碼器 2659.6.2 解碼器 2669.6.3 合並編碼器和解碼器 2669.7 序列到序列學習(seq2seq) 2679.7.1 編碼器 2689.7.2 解碼器 2699.7.3 損失函數 2709.7.4 訓練 2719.7.5 預測 2729.7.6 預測序列的評估 2739.8 束搜索 2759.8.1 貪心搜索 2759.8.2 窮舉搜索 2769.8.3 束搜索 276第 10章 注意力機制 27810.1 注意力提示 27810.1.1 生物學中的注意力提示 27910.1.2 查詢、鍵和值 28010.1.3 注意力的可視化 28010.2 注意力彙聚:Nadaraya-Watson 核回歸 28110.2.1 生成數據集 28210.2.2 平均彙聚 28210.2.3 非參數注意力彙聚 28310.2.4 帶參數注意力彙聚 28410.3 注意力評分函數 28710.3.1 掩蔽softmax操作 28810.3.2 加性注意力 28910.3.3 縮放點積注意力 29010.4 Bahdanau 注意力 29110.4.1 模型 29110.4.2 定義注意力解碼器 29210.4.3 訓練 29310.5 多頭注意力 29510.5.1 模型 29510.5.2 實現 29610.6 自注意力和位置編碼 29810.6.1 自注意力 29810.6.2 比較卷積神經網絡、循環神經網絡和自注意力 29810.6.3 位置編碼 29910.7 Transformer 30210.7.1 模型 30210.7.2 基於位置的前饋網絡 30310.7.3 殘差連接和層規範化 30410.7.4 編碼器 30410.7.5 解碼器 30510.7.6 訓練 307第 11章 優化算法 31111.1 優化和深度學習 31111.1.1 優化的目標 31111.1.2 深度學習中的優化挑戰 31211.2 凸性 31511.2.1 定義 31511.2.2 性質 31711.2.3 約束 31911.3 梯度下降 32211.3.1 一維梯度下降 32211.3.2 &nbs梯度下降 32411.3.3 自適應方法 32611.4 隨機梯度下降 32911.4.1 隨機梯度更新 32911.4.2 動態學習率 33111.4.3 凸目標的收斂性分析 33211.4.4 隨機梯度和有限樣本 33311.5 小批量隨機梯度下降 33411.5.1 向量化和緩存 33511.5.2 小批量 33611.5.3 讀取數據集 33711.5.4 從零開始實現 33711.5.5 簡潔實現 34011.6 動量法 34111.6.1 基礎 34111.6.2 實際實驗 34511.6.3 理論分析 34611.7 AdaGrad算法 34811.7.1 稀疏特征和學習率 34811.7.2 預處理 34911.7.3 算法 35011.7.4 從零開始實現 35111.7.5 簡潔實現 35211.8 RMSProp算法 35311.8.1 算法 35311.8.2 從零開始實現 35411.8.3 簡潔實現 35511.9 Adadelta算法 35611.9.1 算法 35611.9.2 實現 35611.10 Adam算法 35811.10.1 算法 35811.10.2 實現 35911.10.3 Yogi 36011.11 學習率調度器 36111.11.1 一個簡單的問題 36111.11.2 學習率調度器 36311.11.3 策略 364第 12章 計算性能 36912.1 編譯器和解釋器 36912.1.1 符號式編程 37012.1.2 混合式編程 37112.1.3 Sequential的混合式編程 37112.2 異步計算 372通過後端異步處理 37312.3 自動並行 37512.3.1 基於GPU的並行計算 37512.3.2 並行計算與通信 37612.4 硬件 37812.4.1 計算機 37812.4.2 內存 37912.4.3 存儲器 38012.4.4 CPU 38112.4.5 GPU和其他加速卡 38312.4.6 網絡和總線 38512.4.7 更多延遲 38612.5 多GPU訓練 38812.5.1 問題拆分 38812.5.2 數據並行性 39012.5.3 簡單網絡 39012.5.4 數據同步 39112.5.5 數據分發 39212.5.6 訓練 39212.6 多GPU的簡潔實現 39412.6.1 簡單網絡 39412.6.2 網絡初始化 39512.6.3 訓練 39512.7 參數服務器 39712.7.1 數據並行訓練 39712.7.2 環同步(ring synchronization) 39912.7.3 多機訓練 40012.7.4 鍵-值存儲 402第 13章 計算機視覺 40413.1 圖像增廣 40413.1.1 常用的圖像增廣方法 40413.1.2 使用圖像增廣進行訓練 40813.2 微調 41013.2.1 步驟 41013.2.2 熱狗識別 41113.3 目標檢測和邊界框 415邊界框 41513.4 錨框 41713.4.1 生成多個錨框 41713.4.2 交並比(IoU) 41913.4.3 在訓練數據中標注錨框 42013.4.4 使用非極大值抑制預測 邊界框 42413.5 多尺度目標檢測 42713.5.1 多尺度錨框 42713.5.2 多尺度檢測 42913.6 目標檢測數據集 43013.6.1 下載數據集 43013.6.2 讀取數據集 43113.6.3 演示 43213.7 單發多框檢測(SSD) 43313.7.1 模型 43313.7.2 訓練模型 43713.7.3 預測目標 43913.8 區域卷積神經網絡(R-CNN)繫列 44113.8.1 R-CNN 44113.8.2 Fast R-CNN 44213.8.3 Faster R-CNN 44313.8.4 Mask R-CNN 44413.9 語義分割和數據集 44513.9.1 圖像分割和實例分割 44513.9.2 Pascal VOC2012 語義分割數據集 44613.10 轉置卷積 45013.10.1 基本操作 45013.10.2 填充、步幅和多通道 45113.10.3 與矩陣變換的聯繫 45213.11 全卷積網絡 45313.11.1 構建模型 45413.11.2 初始化轉置卷積層 45513.11.3 讀取數據集 45613.11.4 訓練 45613.11.5 預測 45713.12 風格遷移 45813.12.1 方法 45913.12.2 閱讀內容和風格圖像 46013.12.3 預處理和後處理 46013.12.4 提取圖像特征 46113.12.5 定義損失函數 46113.12.6 初始化合成圖像 46313.12.7 訓練模型 46313.13 實戰 Kaggle競賽:圖像分類(CIFAR-10) 46413.13.1 獲取並組織數據集 46513.13.2 圖像增廣 46713.13.3 讀取數據集 46813.13.4 定義模型 46813.13.5 定義訓練函數 46813.13.6 訓練和驗證模型 46913.13.7 在Kaggle上對測試集進行分類並提交結果 46913.14 實戰Kaggle競賽:狗的品種識別(ImageNet Dogs) 47013.14.1 獲取和整理數據集 47113.14.2 圖像增廣 47213.14.3 讀取數據集 47213.14.4 微調預訓練模型 47313.14.5 定義訓練函數 47313.14.6 訓練和驗證模型 47413.14.7 對測試集分類並在Kaggle提交結果 475第 14章 自然語言處理:預訓練 47614.1 詞嵌入(word2vec) 47714.1.1 為何獨熱向量是一個糟糕的選擇 47714.1.2 自監督的word2vec 47714.1.3 &nbs模型 47714.1.4 連續詞袋模型 47814.2 近似訓練 48014.2.1 負采樣 48014.2.2 層序softmax 48114.3 用於預訓練詞嵌入的數據集 48214.3.1 讀取數據集 48214.3.2 下采樣 48314.3.3 中心詞和上下文詞的提取 48414.3.4 負采樣 48514.3.5 小批量加載訓練實例 48614.3.6 整合代碼 48714.4 預訓練word2vec 48814.4.1 &nbs模型 48814.4.2 訓練 48914.4.3 應用詞嵌入 49114.5 全局向量的詞嵌入(GloVe) 49114.5.1 帶全局語料庫統模型 49214.5.2 GloVe模型 49214.5.3 從共現概率比值理解GloVe模型 49314.6 子詞嵌入 49414.6.1 fastText模型 49414.6.2 字節對編碼 49514.7 詞的相似度和類比任務 49714.7.1 加載預訓練詞向量 49714.7.2 應用預訓練詞向量 49914.8 來自Transformer的雙向編碼器表示(BERT) 50014.8.1 從上下文無關到上下文敏感 50014.8.2 從特定於任務到不可知任務 50114.8.3 BERT:將ELMo與GPT結合起來 50114.8.4 輸入表示 50214.8.5 預訓練任務 50414.8.6 整合代碼 50614.9 用於預訓練BERT的數據集 50714.9.1 為預訓練任務定義輔助函數 50814.9.2 將文本轉換為預訓練數據集 50914.10 預訓練BERT 51214.10.1 預訓練BERT 51214.10.2 用BERT表示文本 514第 15章 自然語言處理:應用 51515.1 情感分析及數據集 51615.1.1 讀取數據集 51615.1.2 預處理數據集 51715.1.3 創建數據迭代器 51715.1.4 整合代碼 51815.2 情感分析:使用循環神經網絡 51815.2.1 使用循環神經網絡表示單個文本 51915.2.2 加載預訓練的詞向量 52015.2.3 訓練和評估模型 52015.3 情感分析:使用卷積神經網絡 52115.3.1 一維卷積 52215.3.2 優選時間彙聚層 52315.3.3 textCNN模型 52315.4 自然語言推斷與數據集 52615.4.1 自然語言推斷 52615.4.2 斯坦福自然語言推斷(SNLI)數據集 52715.5 自然語言推斷:使用注意力 53015.5.1 模型 53015.5.2 訓練和評估模型 53315.6 針對序列級應用微調BERT 53515.6.1 單文本分類 53515.6.2 文本對分類或回歸 53615.6.3 文本標注 53715.6.4 問答 53715.7 自然語言推斷:微調BERT 53815.7.1 加載預訓練的BERT 53915.7.2 微調BERT的數據集 54015.7.3 微調BERT 541附錄A 深度學習工具 543A.1 使用Jupyter記事本 543A.1.1 在本地編輯和運行代碼 543A.1.2 高級選項 545A.2 使用 SageMaker 546A.2.1 注冊 547A.2.2 創建SageMaker實例 547A.2.3 運行和停止實例 548A.2.4 更新Notebook 548A.3 使用 EC2實例 549A.3.1 創建和運行EC2實例 549A.3.2 安裝CUDA 553A.3.3 安裝庫以運行代碼 553A.3.4 遠程運行Jupyter記事本 554A.3.5 關閉未使用的實例 554A.4 選擇服務器和GPU 555A.4.1 選擇服務器 555A.4.2 選擇GPU 556A.5 為本書做貢獻 558A.5.1 提交微小更改 558A.5.2 大量文本或代碼修改 559A.5.3 提交主要更改 559參考文獻 562
本書是《動手學深度學習》的重磅升級版本,選用PyTorch深度學習框架,旨在向讀者交付更為便捷的有關深度學習的交互式學習體驗。本書重新修訂《動手學深度學習》的所有內容,並針對技術的發展,新增注意力機制、預訓練等內容。本書包含15章,第一部分介紹深度學習的基礎知識和預備知識,並由線性模型引出基礎的神經網絡——多層感知機;第二部分闡述深度學習計算的關鍵組件、卷積神經網絡、循環神經網絡、注意力機制等大多數現代深度學習應用背後的基本工具;第三部分討論深度學習中常用的優化算法和影響深度學習計算性能的重要因素,並分別列舉深度學習在計算機視覺和自然語言處理中的重要應用。本書同時覆蓋深度學習的方法和實踐,主要面向在校大學生、技術人員和研究人員。閱讀本書需要讀者了解基本的Python編程知識及預備知識中描述的線性代數、微分和概率等基礎知識。
阿斯頓·張(Aston Zhang) [美]扎卡裡·C. 立頓(Zachary C. Lipton) 李沐( Li) [德]亞歷山大·J. 斯莫拉(Alexander J. Smola) 著 何孝霆( aoting He) 瑞潮兒·胡(Rachel Hu) 譯
作者簡介:阿斯頓·張(Aston Zhang), 資歷深厚的研究員,美國伊利諾伊大學香檳分校計算機科學博士,統計學和計算機科學雙碩士。他專注於機器學習和自然語言處理的研究,榮獲深度學習國際高水平學術會議ICLR傑出論文獎、ACM UbiComp傑出論文獎以及ACM SenSys高水平論文獎提名。他擔任過EMNLP領域主席和AAAI程序委員。[美]扎卡裡·C. 立頓(Zachary C. Lipton),美國卡內基梅隆大學機器學習和運籌學助理教授,並在海因茨公共政策學院以及軟件和社會繫統繫擔任禮節性任命。他領導著近似正確機器智能(ACMI)實驗室,研究涉及核心機器學習方法、其社會影響以及等