深度學習:理論、方法與PyTorch實踐(簡體書)
商品資訊
ISBN13:9787302568483
出版社:清華大學出版社(大陸)
作者:翟中華; 孟翔宇
出版日:2021/08/01
裝訂/頁數:平裝/431頁
規格:24cm*17cm (高/寬)
版次:一版
商品簡介
本書深入淺出地講解深度學習,對複雜的概念深挖其本質,讓其簡單化;對簡單的概念深挖其聯繫,使其豐富化。從理論知識到實戰項目,內容翔實。
本書分為兩篇,基礎篇主要講解深度學習的理論知識,實戰篇是代碼實踐及應用。基礎篇(第1~13章)包括由傳統機器學習到深度學習的過渡、圖像分類的數據驅動方法、Softmax損失函數、優化方法與梯度、卷積神經網絡的各種概念、卷積過程、卷積神經網絡各種訓練技巧、梯度反傳、各種卷積網絡架構、遞歸神經網絡和序列模型、基於深度學習的語言模型、生成模型、生成對抗網絡等內容;實戰篇(第14~19章)包括應用卷積神經網絡進行圖像分類、各種網絡架構、網絡各層可視化、貓狗圖像識別、文本分類、GAN圖像生成等。
本書適合人工智能專業的本科生、研究生,想轉型人工智能的IT從業者,以及想從零開始了解並掌握深度學習的讀者閱讀。
作者簡介
翟中華
清華大學碩士畢業,北京洪策元創智能科技有限公司CEO,AI火箭營首席講師。在機器學習、深度學習、計算機視覺、自然語言處理等人工智能領域有扎實的理論基礎和豐富的應用實踐經驗。主講的課程“深度學習入門系列講解”“PyTorch深度學習實戰”等累計學員約50萬人次,講課風格抽絲剝繭、嘗入淺出、以簡馭繁,能夠把複雜的原理簡單化,把簡單的原理內涵化,深受廣大學員的認可。
孟翔宇
華中科技大學軟件工程碩士,現就職於阿裡巴巴集團(杭州),先後從事面向B類外貿電商的商家生命周期建模、計算廣告相關性匹配和推薦廣告召回等領域的研究和實踐工作。擁有工業海量數據場景下的建模理論和實戰經驗,對多種機器學習、深度學習和強化學習模型有著濃厚的興趣和較深的理解。
名人/編輯推薦
學習思路,理論先行:構建了非常系統化的理論知識體系,助力讀者透徹理解深度學習的基礎知識。
學習原理,思維先行:學習一種新的方法、新的算法時,先從本質上剖析其來源,分析提出這種新方法的思維是什麼。
抽絲剝繭、深挖本質:透過其煩雜的表面,深挖其本質。
縱向學習、橫向比較:詳細講解深度學習作為語言模型中很有用的一種技巧,如何在很多方法中被借鑒和使用。
實踐有章可循,拒絕舉輕若重:本書將實踐分為原理實踐和應用實踐。原理實踐注重案例與原理的呼應,增強對於原理的理解和認識;代碼實踐增加不同場景下的實踐技能,提高Python實踐水平。
序
前言
自從2012年AlexNet在ImageNet大賽中成功擊敗傳統方法,深度學習興起,掀起了人工智能的第三次高潮!僅僅在幾年之內,深度學習便令全世界大吃一驚。它非常有力地挑戰了很多領域的傳統方法,例如計算機視覺、自然語言處理、語音識別、強化學習和統計建模等,這些領域都因深度學習實現了跨越式發展。人臉識別、自動駕駛、工業機器人、智能推薦、智能客服,都是深度學習成功落地的現實應用。這些由深度學習帶來的人工智能新方法、新工具也正產生著廣泛的影響: 它們改變了電影製作和疾病診斷的方式,從天體物理學到生物學等各個基礎科學中扮演著越來越重要的角色。事實上,我們已經進入了人工智能時代,盡管人工智能才剛剛起步。
於是,各行各業學習並研究深度學習的熱情空前高漲,然而,深度學習涉及了很多數學知識,以及從其他學科(如生物學)借鑒的各種原理,並且隨著神經網絡深度的不斷加大,網絡架構越來越複雜,其學習曲線異常陡峭。
本書的寫成源於AI火箭營的初心,我們希望在人工智能時代來臨之際,能夠幫助更多的人進入人工智能技術的殿堂,使更多的人利用人工智能解決現實中的實際問題,讓更多的人在各行各業中用人工智能升級改造傳統產業或技術體系。配套本書,筆者精心設計了“深度學習入門系列講解”這一深度學習課程,學習人數累計超過20萬人次,內容通俗易懂、代入有方、深入淺出、抽絲剝繭。
以簡馭繁
網絡上講解深度學習的資料很多,我們曾經作過橫向對比,這些資料與我們的理念相距甚遠。
首先是原理講解方面。好多書或技術博客,或者就原理講原理,沒有深挖原理背後的思想; 或者泛泛而談,沒有深入淺出,只是知識的堆疊; 或者邏輯不緊密,沒有形成環環相扣的整體。
其次是實踐代碼方面。博客和GitHub上有大量的演示特定深度學習框架或實現特定模型(例如Resnet等)的代碼。這些代碼的目的是復現論文或者原理,讓我們真正理解算法,並且提供應用算法的工程方式。所以原理是根,代碼是葉。然而很多學習者拿來代碼,調試出結果後就以為完成了學習過程,將這些代碼束之高閣。這其實什麼也沒學到,實際上只充當了一個“調包俠”而已。本書的實戰案例重在與原理的呼應,重在算法設計的探究及實現細節的解釋。
盡管現在隨著互聯網的便捷,網上資料繁多,然而對於初學者,往往不得不參考來源不同的多種資料,所獲甚微,而且沒有感覺到學習深度學習真正的樂趣。如果你正親身經歷這一過程,那麼本書正是你所需要的。
本書理念
本書有以下幾大理念:
(1) 學習思路,理論先行。深度學習理論點比較多,知識體系龐大,學習深度學習一定要先把理論吃透,深度學習理論蘊含著豐富的思維、方法和技巧,如果沒把理論吃透就開始用代碼實踐,則不能系統化地學習,知識體系會比較亂,不利於創新思維體系的構建。本書構建了非常系統化的理論知識體系,助力讀者透徹理解深度學習的基礎知識。
(2) 學習原理,思維先行。學習一種新的方法、新的算法,一定要先從本質上剖析其來源,分析提出這種新方法的思維是什麼。不能僅僅從原理上、技術上搞懂,更重要的應該是明白這種方法的來龍去脈,即其思維根源。
(3) 抽絲剝繭、深挖本質。深度學習涉及非常多的網絡架構和技巧,如批歸一化、串接、丟棄、殘余連接等。學習一種新的網絡架構時,需要透過其繁雜的表面,深挖其本質。
(4) 縱向學習、橫向比較。深度學習技術發展非常迅速,同一種技術也會不斷改進、創新。例如注意力機製作為語言模型中很有用的一種技巧,在很多方法中被借鑒和使用,如Transformer、Bert等。Transformer中用到的自注意力,是對注意力的一個縱向借鑒和創新改進,Bert當然不能拋棄這種有效的方法。
(5) 實踐有章可循,拒絕舉輕若重。本書將實踐分為原理實踐和應用實踐。原理實踐注重案例與原理的呼應,增強對於原理的理解和認識; 代碼實踐增強不同場景下的實踐技能,提高Python實踐水平。除此之外,本書注重重點、次重點的合理分配,例如在DCGAN的代碼實踐中,首先要學會的是生成器的實現,其次是損失函數,再次是判別器的實現。
本書堅持培養讀者闡述剖析問題所需的批判性思維、解決問題所需的數學知識,以及實現解決方案所需的工程技能。本書對所有涉及的技術點進行了背景介紹,寫作風格嚴謹。書中所有的代碼執行結果都是自動生成的,任何改動都會觸發對書中每一段代碼的測試,以保證讀者在動手實踐時能復現結果。
感謝對本書的編寫提出寶貴修改意見的貢獻者,他們查閱資料、字斟句酌; 感謝孫玉龍、袁海濱、陸澍旸等學員對書中的一些內容提供了很有價值的反饋。
我們的初衷是讓更多人更輕鬆地使用深度學習!由於筆者水平有限,書中難免存在疏漏,敬請原諒,並懇請讀者批評指正。
附上蘇軾的一段詞,希望各位讀者像欣賞美景一樣開啟深度學習之旅:
“一葉舟輕,雙槳鴻驚。水天清、影湛波平。魚翻藻鑒,鷺點煙汀。過沙溪急,霜溪冷,月溪明。”
翟中華孟翔宇
2021年7月
目次
基礎篇
第1章什麼是深度學習
1.1通過應用示例直觀理解深度學習
1.23個視角解釋深度學習
1.2.1分層組合性
1.2.2端到端學習
1.2.3分布式表示
1.3深度學習面臨的挑戰
1.3.1深度學習的工作機制
1.3.2非凸的問題
1.3.3可解釋性的問題
第2章圖像識別及KNN算法
2.1圖像分類
2.2誤差分解和KNN算法
2.2.1誤差分解
2.2.2KNN算法運行過程
第3章線性分類器
3.1線性分類器用於圖像分類的3個觀點
3.1.1線性分類的代數觀點
3.1.2線性分類的視覺觀點
3.1.3線性分類的幾何觀點
3.2合頁損失函數原理推導及圖像分類舉例
3.2.1合頁損失函數的概念
3.2.2多分類合頁損失函數的推導
3.3Softmax損失函數與多分類SVM損失函數的比較
3.3.1Softmax分類與損失函數
3.3.2Softmax損失函數與合頁損失函數的比較
第4章優化與梯度
4.1梯度下降法工作原理及3種普通梯度下降法
4.1.1梯度下降的概念
4.1.2梯度下降法求解目標函數
4.1.3學習率的重要性
4.1.43種梯度下降法
4.2動量SGD和Nesterov加速梯度法
4.2.1SGD存在的問題
4.2.2動量法
4.2.3Nesterov加速梯度法
4.3自適應學習速率優化方法
4.3.1指數加權平均值處理數字序列
4.3.2自適應學習速率AdaGrad方法
4.3.3自適應學習速率RMSProp方法
4.3.4自適應學習速率Adadelta方法
4.4最強優化方法Adam
4.4.1為什麼Adam性能如此卓越
4.4.2偏差矯正
4.4.3如何矯正偏差
第5章卷積神經網絡
5.1卷積核
5.1.1卷積核簡介
5.1.2卷積核的作用
5.2卷積神經網絡中步長、填充和通道的概念
5.2.1步長
5.2.2填充
5.2.3通道
5.3快速推導卷積層特徵圖尺寸計算公式
5.3.1計算過程直觀展示
5.3.2計算過程總結
5.4極簡方法實現卷積層的誤差反傳
5.4.1誤差反傳舉例說明
5.4.2完全卷積過程簡介
5.4.3把卷積過程寫成神經網絡形式
5.4.4應用計算圖的反向模式微分
5.5極池化層的本質思想及其過程
5.5.1池化層的分類
5.5.2池化後圖像尺寸
第6章卷積神經網絡訓練技巧
6.1ReLU激活函數的優勢
6.1.1為什麼需要激活函數
6.1.2主流激活函數介紹
6.2內部協變量偏移
6.3批歸一化
6.3.1為什麼需要批歸一化
6.3.2批歸一化的工作原理
6.3.3批歸一化的優勢
6.4Dropout正則化及其集成方法思想
6.4.1特徵共適應性
6.4.2Dropout正則化思想
6.4.3Dropout集成思想
6.4.4預測時需要恢復Dropout的隨機性
第7章卷積神經網絡架構
7.1掀起深度學習風暴的AlexNet網絡架構
7.1.1卷積神經網絡的開端LeNet
7.1.2AlexNet架構
7.2神經網絡感受野及其計算
7.2.1生物學中的感受野
7.2.2CNN中的感受野
7.3VGGNet網絡結構相比較AlexNet的優勢
7.3.1VGGNet簡介
7.3.2VGGNet與AlexNet網絡結構對比
7.4GoogLeNet 1×1卷積核的深刻意義及其作用
7.4.1深度神經網絡的缺陷
7.4.2多通道卷積中特徵圖映射太多的問題
7.4.31×1卷積核卷積過程
7.5GoogLeNet初始模塊設計指導思想
7.5.1赫布學習規則
7.5.2人工神經網絡中的赫布學習規則
7.6透徹理解GoogLeNet全景架構
7.7ResNet關鍵結構恒等映射背後的思想及原理
7.8全面理解ResNet全景架構
第8章循環神經網絡
8.1為什麼要用遞歸神經網絡
8.1.1為什麼需要遞歸神經網絡
8.1.2RNN結構以及應用
8.2RNN計算圖
8.3RNN前向與反向傳播
8.3.1前饋深度
8.3.2循環深度
8.3.3通過時間反向傳播
8.3.4兩個和的反向傳播
8.3.5梯度消失和梯度爆炸
8.4長短期記憶(LSTM)及其變種的原理
8.4.1LSTM網絡架構
8.4.2LSTM變體一
8.4.3LSTM變體二
8.4.4LSTM變體三
第9章基於深度學習的語言模型
9.1詞的各種向量表示
9.2通過詞向量度量詞的相似性
9.3潛在語義分析LSA
9.3.1潛在語義分析的過程
9.3.2潛在語義分析的SVD分解
9.4Word2Vec詞嵌入原理
9.4.1Word2Vec的指導思想
9.4.2skipgram算法的框架
9.4.3skipgram算法的輸入訓練集
9.4.4skipgram算法的目標函數
9.4.5skipgram網絡中的兩個權重矩陣
9.5GloVe詞向量模型
9.5.1由單詞共同出現的次數到共同出現的概率
9.5.2GloVe模型目標函數的推導
9.6從onehot向量到seq2seq序列模型
9.7編碼器解碼器模型
9.8為什麼要用注意力機制
9.8.1大腦中的注意力
9.8.2為什麼要使用注意力機制
9.9注意力機制的數學原理
第10章深度學習NLP應用進階
10.1注意力機制的應用指針網絡
10.2遞歸神經網絡是否是必要的
10.2.1遞歸神經網絡存在的問題
10.2.2前饋網絡的優勢
10.2.3如何替代遞歸神經網絡
10.3Transformer的數學原理
10.3.1什麼是Transformer
10.3.2Transformer結構的形象展示
10.3.3什麼是自我注意力
10.3.4多頭自我注意力
10.4Transformer的3個矩陣K、V、Q
10.5Transformer的位置編碼原理
10.5.1位置編碼的向量計算
10.5.2位置編碼的表示
10.6Transformer的全景架構
10.7深度語境化詞語表示ELMo
10.7.1為什麼需要語境情景化的表示
10.7.2ELMo的算法構成
10.7.3ELMo整體框架
10.7.4ELMo的應用
10.7.5ELMo算法的效果
10.8NLP裡程碑模型BERT三大集成創新
10.8.1雙向上下文遮蔽語言模型
10.8.2使用Transformer
10.8.3遷移學習
10.8.4應用於特定任務
第11章深度生成模型
11.1監督學習與無監督學習的比較
11.1.1監督學習
11.1.2無監督學習
11.2為什麼要用生成模型
11.2.1超越分類
11.2.2生成模型應用實例
11.3自編碼
11.4從概率視角理解VAE建模過程
11.5KL散度
11.6VAE損失函數推導
11.7用深度神經網絡求解VAE目標函數
第12章生成對抗網絡
12.1GAN目標函數
12.2通過博弈論理解GAN原理
12.3由JS散度推導GAN判別器和生成器最優值
12.4深度卷積生成對抗網絡(DCGAN)
12.4.1DCGAN使用的方法
12.4.2DCGAN中的生成器
12.4.3DCGAN對抗訓練的細節
12.5條件生成對抗網絡
12.5.1CGAN的網絡結構
12.5.2CGAN的數學原理
12.5.3生成器和判別器的目標損失函數
第13章生成對抗網絡的創新及應用
13.1圖像到圖像的翻譯
13.1.1CNN可否預測圖像
13.1.2CGAN的具體應用: 以不同形態的圖像為條件
13.1.3CGAN結構上的兩大創新
13.1.4圖像到圖像翻譯的應用場景
13.2循環生成對抗網絡
13.3CycleGAN對抗性損失和循環一致性原理
13.4從條件熵的視角剖析CycleGAN
13.5CycleGAN實驗結果
13.6超分辨率生成對抗網絡(SRGAN)
13.7SRGAN的網絡架構
13.8疊加生成對抗網絡
13.9StackGAN中的條件增強
13.10漸進式增長生成對抗網絡
13.11StyleGAN中的自適應實例規範化
13.12StyleGAN中刪除傳統輸入與隨機變化
13.13為什麼GAN很難訓練
13.14GAN中梯度消失與梯度不穩定
13.15Wasserstein距離
13.16為什麼Wasserstein距離比KL、JS散度更有利於訓練GAN
實戰篇
第14章PyTorch入門
14.1PyTorch介紹及張量
14.1.1PyTorch及其特定優勢
14.1.2PyTorch安裝
14.1.3張量
14.2PyTorch動態圖、自動梯度、梯度反傳
14.3使用PyTorch的nn包構建卷積神經網絡
第15章手寫數字識別
15.1手寫數字識別的解決方案
15.1.1手寫數字識別的研究意義與背景
15.1.2手寫數字識別的項目挑戰
15.1.3手寫數字識別的項目原理與解決方案
15.2搭建多層全連接神經網絡實現MNIST手寫數字識別
15.2.1由淺入深搭建3層全連接網絡
15.2.2MNIST訓練集和測試集載入
15.2.3模型訓練與評估
15.3基於卷積神經網絡的MNIST手寫數字識別
15.3.1卷積神經網絡基本解讀
15.3.2搭建一個卷積神經網絡
第16章基於PyTorch的卷積神經網絡可視化理解
16.1問題背景
16.2卷積神經網絡
16.2.1比較多層感知機和卷積神經網絡
16.2.2神經元的感知野
16.3計算機如何查看輸入的圖像
16.4構建過濾器
16.5完整的卷積神經網絡結構
16.6可視化一個簡單的卷積神經網絡
16.7使用預訓練的AlexNet進行各層卷積可視化
16.7.1輸入圖片可視化
16.7.2可視化過濾器——多通道
16.7.3可視化過濾器——單通道
16.8圖像遮擋實驗
16.9總結
第17章基於Keras實現Kaggle貓狗大戰
17.1貓狗大戰背景介紹
17.2Keras介紹及安裝配置
17.2.1什麼是Keras
17.2.2安裝TensorFlow
17.2.3安裝Keras
17.3基於卷積神經網絡的貓狗大戰
17.3.1構建第1個網絡
17.3.2增加丟棄
17.3.3增加數據增強
17.4基於遷移學習的貓狗大戰
17.4.1VGG16簡介
17.4.2使用VGG16預測圖像包含什麼內容
17.4.3訓練貓狗大戰分類器
17.4.4轉移學習/微調模型
第18章基於PyTorch實現一個DCGAN案例
18.1介紹
18.2生成對抗網絡
18.2.1什麼是GAN
18.2.2什麼是DCGAN
18.2.3輸入
18.2.4數據
18.2.5實現
18.2.6結果
18.2.7未來
第19章從零出發實現基於RNN的3個應用
19.1RNN網絡結構及原理
19.2使用字符級RNN對姓名進行分類
19.2.1準備數據注意
19.2.2將姓名轉換為張量
19.2.3創建網絡
19.2.4訓練
19.3使用字符級RNN生成名稱
19.3.1準備數據
19.3.2構建網絡
19.3.3訓練
19.3.4繪製損失
19.3.5網絡采樣
19.4使用序列到序列的網絡和注意機制完成翻譯
19.4.1加載數據文件
19.4.2seq2seq模型
19.4.3訓練
19.4.4繪圖結果
19.4.5評估
19.4.6訓練與評估
19.4.7可視化注意機制
參考文獻
主題書展
更多書展今日66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。