一部權(quán)威、通俗、前沿的深度學(xué)習(xí)指南。
從機器學(xué)習(xí)基礎(chǔ)知識到前沿模型,《理解深度學(xué)習(xí)》精選關(guān)鍵理論與尖端主題,以直觀形式呈現(xiàn)高密度的核心知識。
涵蓋熱門主題:如Transformer模型與擴散模型(Diffusion Model)。
化繁為簡:先以通俗語言闡釋復(fù)雜概念,再輔以數(shù)學(xué)公式與視覺圖解深入解析。
實踐導(dǎo)向:引導(dǎo)讀者動手實現(xiàn)模型的初級版本。
配套資源豐富:提供教師課件、習(xí)題及Python Notebook編程練習(xí)。
適用讀者:適合已掌握應(yīng)用數(shù)學(xué)基礎(chǔ)知識的本科生、研究生及從業(yè)者。
在當(dāng)今這個信息爆炸的時代,獲取學(xué)習(xí)資料的渠道并不匱乏,各類書籍和視頻資源可謂琳瑯滿目。但我始終沒有找到一本合適的人工智能入門指南。一部分書籍羅列了許多新穎的算法,但缺乏深入剖析,浮于表面;它們更適合作為科普讀物,對于希望深入學(xué)習(xí)的讀者來說,內(nèi)容深度是遠遠不夠的。一部分書籍從最基礎(chǔ)的數(shù)學(xué)原理入手,詳細列出相關(guān)公式,但學(xué)習(xí)門檻較高;而且即便完全掌握了這些原理,若想將算法落地,仍需要補充對應(yīng)的編程技能。還有一部分書籍側(cè)重實踐應(yīng)用,提供了大量示例代碼和詳細講解,卻容易讓讀者陷入知其然而不知其所以然的困境。
直到閱讀了亞東老師推薦的Understanding Deep Learning后,我意識到終于找到理想的指南書了。本書從最基礎(chǔ)的淺層神經(jīng)網(wǎng)絡(luò)入手,逐步深入,直至擴散模型,內(nèi)容包羅萬象。在基礎(chǔ)模型章節(jié)中,Simon教授對每個問題的建模和公式推導(dǎo)都進行了細致入微的講解;在高級模型章節(jié)中,闡述原理,還深入探討模型的應(yīng)用場景及前沿研究趨勢。如果你潛心研讀每一章節(jié)、每一個公式,會發(fā)現(xiàn)Simon教授傾注了大量心血,力求將復(fù)雜的概念以最清晰的方式呈現(xiàn)給讀者。深度學(xué)習(xí)的難點之一在于如何理解高維空間中的問題,Simon教授通過降維和可視化手段,將梯度下降、迭代求解等抽象過程直觀展現(xiàn)出來,極大地降低了理解門檻。本書講解算法原理,還附有每個模型的Python Notebook源代碼。無論你是具備一定數(shù)學(xué)基礎(chǔ)的本科生,還是希望深入了解人工智能技術(shù)的軟件工程師,本書都是你的上佳選擇。
譯者序
尊敬的讀者:
首先,由衷地感謝你拿起我翻譯的這本《理解深度學(xué)習(xí)》(Understanding Deep Learning)。作為本書的譯者,能將這本杰作呈現(xiàn)在中文讀者面前,我備感榮幸,內(nèi)心充滿感激之情。
我要向本書的作者西蒙·J. D.普林斯教授致以最誠摯的謝意。感謝他創(chuàng)作了這樣一本深入淺出、系統(tǒng)全面、充滿洞見的深度學(xué)習(xí)著作。本書不僅揭開了深度學(xué)習(xí)的神秘面紗,更以清晰的邏輯和豐富的實例,引導(dǎo)讀者逐步理解和掌握這一前沿技術(shù)的核心概念和應(yīng)用方法。 在翻譯過程中,我一次次地被作者的深刻思考所折服,也愈發(fā)體會到這本書對于想要入門或深入理解深度學(xué)習(xí)、大模型學(xué)習(xí)的讀者來說,是多么寶貴和不可或缺。
感謝編輯王軍老師,一次偶遇讓我有了圓夢的機會!深度學(xué)習(xí)(尤其是大語言模型)作為人工智能領(lǐng)域的核心驅(qū)動力,正深刻改變著世界。將這樣一本優(yōu)秀的著作譯成中文,使其能夠惠及廣大的中文讀者,幫助朋友們理解并掌握這方面的相關(guān)原理與技術(shù),是我的榮幸。
翻譯過程既是一次充滿挑戰(zhàn)的智力探險,也是一段收獲滿滿的學(xué)習(xí)之旅。我力求在忠實原文的基礎(chǔ)上,盡可能地使譯文流暢自然,易于理解。確保術(shù)語的準確性和表達的規(guī)范性,盡量保證精準翻譯每個細節(jié)。如果有任何不確切或者謬誤之處,請原諒譯者的才具不足。
在此,衷心感謝在本書翻譯和出版過程中給予我?guī)椭椭С值乃信笥褌。感謝付裕從頭到尾給予的指點與支持。感謝合作譯者馬壯的支持,他完成了另一半的翻譯工作。感謝朋友王志晨校對了每一句中文,讓工科背景人的譯作也向信、達、雅靠近了!感謝所有為本書的出版辛勤付出的其他人士,使得本書的中文版能以高質(zhì)量的面貌呈現(xiàn)在大家面前。
衷心希望本書能幫助更多讀者踏入深度學(xué)習(xí)、大語言模型的大門,理解其精髓,掌握其應(yīng)用,并在未來的學(xué)習(xí)和工作中取得更大成就。如果我能為中國的深度學(xué)習(xí)技術(shù)發(fā)展貢獻綿薄之力,那將是我最大的榮幸。
愿你在AI技術(shù)這一激動人心的探索之旅中,收獲滿滿!
譯者 張亞東
無論是在求學(xué)階段,還是在步入職場后,很多人都會向我提出這樣一個問題:我準備進入人工智能領(lǐng)域進行學(xué)習(xí)或研究,你能推薦一些合適的學(xué)習(xí)資料嗎?
在當(dāng)今這個信息爆炸的時代,獲取學(xué)習(xí)資料的渠道并不匱乏,各類書籍和視頻資源可謂琳瑯滿目。但我始終沒有找到一本合適的人工智能入門指南。一部分書籍羅列了許多新穎的算法,但缺乏深入剖析,浮于表面;它們更適合作為科普讀物,對于希望深入學(xué)習(xí)的讀者來說,內(nèi)容深度是遠遠不夠的。一部分書籍從最基礎(chǔ)的數(shù)學(xué)原理入手,詳細列出相關(guān)公式,但學(xué)習(xí)門檻較高;而且即便完全掌握了這些原理,若想將算法落地,仍需要補充對應(yīng)的編程技能。還有一部分書籍側(cè)重實踐應(yīng)用,提供了大量示例代碼和詳細講解,卻容易讓讀者陷入知其然而不知其所以然的困境。
直到閱讀了亞東老師推薦的Understanding Deep Learning后,我意識到終于找到理想的指南書了。本書從最基礎(chǔ)的淺層神經(jīng)網(wǎng)絡(luò)入手,逐步深入,直至擴散模型,內(nèi)容包羅萬象。在基礎(chǔ)模型章節(jié)中,Simon教授對每個問題的建模和公式推導(dǎo)都進行了細致入微的講解;在高級模型章節(jié)中,闡述原理,還深入探討模型的應(yīng)用場景及前沿研究趨勢。如果你潛心研讀每一章節(jié)、每一個公式,會發(fā)現(xiàn)Simon教授傾注了大量心血,力求將復(fù)雜的概念以最清晰的方式呈現(xiàn)給讀者。深度學(xué)習(xí)的難點之一在于如何理解高維空間中的問題,Simon教授通過降維和可視化手段,將梯度下降、迭代求解等抽象過程直觀展現(xiàn)出來,極大地降低了理解門檻。本書講解算法原理,還附有每個模型的Python Notebook源代碼。無論你是具備一定數(shù)學(xué)基礎(chǔ)的本科生,還是希望深入了解人工智能技術(shù)的軟件工程師,本書都是你的最佳選擇。
非常感謝亞東老師讓我參與本書的翻譯工作。翻譯不僅是將文字從一種語言轉(zhuǎn)換為另一種語言的過程,更是一次重構(gòu)和深化知識體系的寶貴機會。在翻譯過程中,原本零散的知識碎片被重新串聯(lián)起來,形成更完整的知識框架,這對我來說是一次極為珍貴的經(jīng)歷。
由于時間倉促且本人學(xué)識有限,譯文中難免存在疏漏與不足之處,懇請各位讀者批評指正。同時,建議有能力的讀者直接閱讀Simon教授的原文,相信你一定會從中獲得更多啟發(fā)與收獲。
譯者 馬壯
序言
這是一本最新的權(quán)威深度學(xué)習(xí)入門書籍,內(nèi)容通俗易懂。本書涵蓋從機器學(xué)習(xí)基礎(chǔ)知識到高級模型的全部內(nèi)容,精選了機器學(xué)習(xí)領(lǐng)域的核心要點和前沿課題,并直觀地凝練了知識要點。
?涵蓋前沿課題,如 Transformer 和擴散模型。
?用通俗易懂的語言闡述復(fù)雜的概念,并輔以數(shù)學(xué)公式和可視化圖表。
?使讀者能夠?qū)崿F(xiàn)簡單的模型。
?提供了全面的在線資料,含 Python Notebook 中的編程練習(xí)。
?適合任何具有應(yīng)用數(shù)學(xué)基礎(chǔ)的人學(xué)習(xí)。
Simon J. D. Prince 是巴斯大學(xué)計算機科學(xué)系榮譽教授,是《計算機視覺:模型、學(xué)習(xí)和推斷》一書的作者。他是一位專注于人工智能和深度學(xué)習(xí)研究的科學(xué)家,曾在Borealis AI 等公司擔(dān)任研究員。
這是一部學(xué)術(shù)與視覺雙重精妙的杰作。它以簡潔而清晰的方式傳遞核心思想,并通過精心設(shè)計的插圖加以詮釋,堪稱當(dāng)今最出色的深度學(xué)習(xí)入門著作。
Kevin Murphy
Google DeepMind研究科學(xué)家
Probabilistic Machine learning: Advanced Topics作者
前言
在學(xué)術(shù)界,深度學(xué)習(xí)的發(fā)展史極不尋常。一小群科學(xué)家堅持不懈地在一個看似沒有前途的領(lǐng)域工作了25年,最終使一個領(lǐng)域發(fā)生了技術(shù)革命并極大地影響了人類社會。研究者持續(xù)探究學(xué)術(shù)界或工程界中深奧且難以解決的問題,通常情況下這些問題無法得到根本性解決。但深度學(xué)習(xí)領(lǐng)域是個例外,盡管廣泛的懷疑仍然存在,但Yoshua Bengio、Geoff Hinton 和Yann LeCun 等人的系統(tǒng)性努力最終取得了成效。
本書的書名是理解深度學(xué)習(xí),這意味著它更關(guān)注深度學(xué)習(xí)背后的原理,而不側(cè)重于編程實現(xiàn)或?qū)嶋H應(yīng)用。本書的前半部分介紹深度學(xué)習(xí)模型并討論了如何訓(xùn)練它們,評估它們的表現(xiàn)并做出改進。后半部分討論專用于圖像、文本、圖數(shù)據(jù)的模型架構(gòu)。只要學(xué)習(xí)過線性代數(shù)、微積分和概率論的二年級本科生都能掌握這些章節(jié)的知識。對于后續(xù)涉及生成模型和強化學(xué)習(xí)的章節(jié),則需要更多的概率論和微積分知識,它們面向更高年級的學(xué)生。
這個書名在一定程度上也是一個玩笑在撰寫本書時,沒有人能夠真正理解深度學(xué)習(xí)。目前深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的分段線性函數(shù)的數(shù)量比宇宙中的原子數(shù)還多,可用遠少于模型參數(shù)數(shù)量的樣本進行訓(xùn)練,F(xiàn)在我們既無法找到可靠地擬合這些函數(shù)的方法,又不能保證能很好地描述新數(shù)據(jù)。第20章討論了上述問題和其他尚未完全理解的問題。無論如何,深度學(xué)習(xí)都將或好或壞地改變這個世界。最后一章討論了人工智能倫理,并呼吁從業(yè)者更多地考慮所從事的工作帶來的倫理問題。
本書配套資源豐富,提供教師課件、習(xí)題及Python Notebook編程練習(xí)。
你的時間是寶貴的,為了保證你能高效理解深度學(xué)習(xí)相關(guān)知識,本書的內(nèi)容都經(jīng)過我的精心整理。每一章都對最基本思路進行簡明描述,并附有插圖。附錄回顧了所有數(shù)學(xué)原理。對于希望深入研究的讀者,可認真研究每章列出的問題、Python Notebook資源和背景說明。
致謝
本書的出版離不開以下人士的無私幫助和建議:Kathryn Hume、Kevin Murphy、Christopher Bishop、Peng Xu、Yann Dubois、Justin Domke、Chris Fletcher、Yanshuai Cao、Wendy Tay、Corey Toler-Franklin、Dmytro Mishkin、Guy McCusker、Daniel Worrall、Paul McIlroy、Roy Amoyal、Austin Anderson、Romero Barata de Morais、Gabriel Harrison、Peter Ball、Alf Muir、David Bryson、Vedika Parulkar、Patryk Lietzau、Jessica Nicholson、Alexa Huxley、Oisin Mac Aodha、Giuseppe Castiglione、Josh Akylbekov、Alex Gougoulaki、Joshua Omilabu、Alister Guenther、Joe Goodier、Logan Wade、Joshua Guenther、Kylan Tobin、Benedict Ellett、Jad Araj、Andrew Glennerster、Giorgos Sfikas、Diya Vibhakar、Sam Mansat-Bhattacharyya、Ben Ross、Ivor Simpson、Gaurang Aggarwal、Shakeel Sheikh、Jacob Horton、Felix Rammell、Sasha Luccioni、Akshil Patel、Mark Hudson、Alessandro Gentilini、Kevin Mercier、Krzysztof Lichocki、Chuck Krapf、Brian Ha、Chris Kang、Leonardo Viotti、Kai Li、Himan Abdollahpouri、Ari Pakman、Giuseppe Antonio Di Luna、Dan Oneat?、Conrad Whiteley、Joseph Santarcangelo、Brad Shook、Gabriel Brostow、Lei He、Ali Satvaty、Romain Sabathé、Qiang Zhou、Prasanna Vigneswaran、Siqi Zheng、Stephan Grein、Jonas Klesen、Giovanni Stilo、Huang Bokai、Bernhard Pfahringer、Joseph Santarcangelo、Kevin McGuinness、Qiang Sun、Zakaria Lotfi、Yifei Lin、Sylvain Bouix、Alex Pitt、Stephane Chretien、Robin Liu、Bian Li、Adam Jones、Marcin ?wierkot、Tommy Lfstedt、Eugen Hotaj、Fernando Flores Mangas、Tony Polichroniadis、Pietro Monticone、Rohan Deepak Ajwani、Menashe Yarden Einy、Robert Gevorgyan、Thilo Stadelmann、Gui JieMiao、Botao Zhu、Mohamed Elabbas、Satya Krishna Gorti、James Elder、Helio Perroni Filho、Xiaochao Qu、Jaekang Shin、Joshua Evans、Robert Dobson、Shibo Wang、Edoardo Zorzi、Joseph Santarcangelo、Stanis?aw Jastrz?bski、Pieris Kalligeros、Matt Hewitt和Zvika Haramaty.
感謝 Daniyar Turmukhambetov、Amedeo Buonanno、Tyler Mills、Andrea Panizza和Bernhard Pfahringer 對多個章節(jié)給出的詳細修改建議。尤其感謝Andrew Fitzgibbon和Konstantinos Derpanis 通讀全書,你們的熱情使我有動力完成本書的撰寫工作。同時,感謝Neill Campbell和zgr ?im?ek邀請我到巴斯大學(xué)講課,在那里我基于這些材料第一次開設(shè)了一門課程。最后,尤其感謝編輯 Elizabeth Swayze 提出的中肯建議。
第12章(變換器)和第17章(變分自編碼器)最初發(fā)布在Borealis AI的博客中,改編后的版本在獲得許可的情況下在此轉(zhuǎn)載。非常感謝他們對我工作的支持。第16章(標準化流)大致基于Kobyzev等人在2002年發(fā)表的文章,我是該文章的合著者。我很幸運能夠和來自達爾豪斯大學(xué)的Travis LaCroix合作撰寫第21章。他既有趣又平易近人,他承擔(dān)了大部分工作。
Simon J.D.Prince 現(xiàn)任英國巴斯大學(xué)計算機科學(xué)名譽教授,著有Computer Vision: Models, Learning, and Inference .他專注于人工智能與深度學(xué)習(xí)領(lǐng)域研究,曾在Anthropics Technologies Ltd、Borealis AI等機構(gòu)領(lǐng)導(dǎo)學(xué)術(shù)界與工業(yè)界科研團隊。
第1章 引言 1
1.1 監(jiān)督學(xué)習(xí) 1
1.1.1 回歸和分類問題 2
1.1.2 輸入 3
1.1.3 機器學(xué)習(xí)模型 4
1.1.4 深度神經(jīng)網(wǎng)絡(luò) 5
1.1.5 結(jié)構(gòu)化輸出 5
1.2 無監(jiān)督學(xué)習(xí) 7
1.2.1 生成模型 7
1.2.2 潛變量 9
1.2.3 聯(lián)系監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí) 10
1.3 強化學(xué)習(xí) 11
1.4 倫理學(xué) 12
1.5 本書編排方式 13
1.6 其他書籍 14
1.7 如何閱讀本書 15
第2章 監(jiān)督學(xué)習(xí) 16
2.1 監(jiān)督學(xué)習(xí)概述 16
2.2 線性回歸示例 17
2.2.1 一維(1D)線性回歸模型 17
2.2.2 損失 18
2.2.3 訓(xùn)練 20
2.2.4 測試 21
2.3 本章小結(jié) 21
2.4 注釋 22
2.5 問題 22
第3章 淺層神經(jīng)網(wǎng)絡(luò) 24
3.1 神經(jīng)網(wǎng)絡(luò)示例 24
3.1.1 神經(jīng)網(wǎng)絡(luò)的直觀理解 25
3.1.2 描繪神經(jīng)網(wǎng)絡(luò) 27
3.2 通用逼近定理 28
3.3 多變量輸入和輸出 29
3.3.1 可視化多變量輸出 29
3.3.2 可視化多變量輸入 30
3.4 淺層神經(jīng)網(wǎng)絡(luò):一般情形 33
3.5 術(shù)語 33
3.6 本章小結(jié) 34
3.7 注釋 34
3.8 問題 37
第4章 深度神經(jīng)網(wǎng)絡(luò) 40
4.1 組合神經(jīng)網(wǎng)絡(luò) 40
4.2 從組合網(wǎng)絡(luò)到深度網(wǎng)絡(luò) 43
4.3 深度神經(jīng)網(wǎng)絡(luò) 43
4.4 矩陣表示法 46
4.5 淺層與深度神經(jīng)網(wǎng)絡(luò) 48
4.5.1 逼近不同函數(shù)的能力 48
4.5.2 每參數(shù)線性區(qū)域數(shù)量 48
4.5.3 深度效率 49
4.5.4 大型結(jié)構(gòu)化輸入 49
4.5.5 訓(xùn)練和泛化 49
4.6 本章小結(jié) 50
4.7 注釋 50
4.8 問題 51
第5章 損失函數(shù) 54
5.1 最大似然 54
5.1.1 計算輸出分布 56
5.1.2 最大似然準則 56
5.1.3 最大化對數(shù)似然 56
5.1.4 最小化負對數(shù)似然 57
5.1.5 模型推理 58
5.2 構(gòu)建損失函數(shù) 58
5.3 示例1:單變量回歸問題 58
5.3.1 最小二乘損失函數(shù) 59
5.3.2 模型推理 61
5.3.3 方差估計 61
5.3.4 異方差回歸 62
5.4 示例2:二分類問題 63
5.5 示例3:多分類問題 65
5.6 多輸出問題 67
5.7 交叉熵損失 68
5.8 本章小結(jié) 69
5.9 注釋 70
5.10 問題 71
第6章 模型訓(xùn)練 74
6.1 梯度下降法 74
6.1.1 線性回歸示例 75
6.1.2 Garbor模型示例 77
6.1.3 局部最小值和鞍點 77
6.2 隨機梯度下降 79
6.2.1 批次和epoch 80
6.2.2 隨機梯度下降的特性 82
6.3 動量 82
6.4 Adam 優(yōu)化器 84
6.5 訓(xùn)練算法超參數(shù) 86
6.6 本章小結(jié) 87
6.7 注釋 87
6.8 問題 90
第7章 梯度與參數(shù)初始化 93
7.1 問題定義 93
7.2 計算導(dǎo)數(shù) 95
7.3 簡單示例 96
7.4 反向傳播算法 99
7.4.1 反向傳播算法總結(jié) 102
7.4.2 自動微分 103
7.4.3 擴展到任意計算圖 103
7.5 參數(shù)初始化 103
7.5.1 正向傳播的初始化 104
7.5.2 反向傳播的初始化 106
7.5.3 正向和反向傳播的初始化 106
7.6 訓(xùn)練代碼示例 107
7.7 本章小結(jié) 108
7.8 注釋 108
7.9 問題 110
第8章 性能評估 114
8.1 訓(xùn)練簡單模型 114
8.2 誤差來源 116
8.2.1 噪聲、偏差和方差 117
8.2.2 測試誤差的數(shù)學(xué)表達 118
8.3 降低誤差 120
8.3.1 降低方差 120
8.3.2 降低偏差 122
8.3.3 偏差-方差權(quán)衡 122
8.4 選擇超參數(shù) 127
8.5 本章小結(jié) 128
8.6 注釋 128
8.7 問題 131
第9章 正則化 133
9.1 顯式正則化 133
9.1.1 概率解釋 134
9.1.2 L2正則化 134
9.2 隱式正則化 136
9.2.1 梯度下降法中的隱式正則化 136
9.2.2 隨機梯度下降法中的隱式正則化 137
9.3 提高性能的啟發(fā)式算法 139
9.3.1 提前停止 139
9.3.2 集成學(xué)習(xí) 140
9.3.3 隨機丟棄 141
9.3.4 添加噪聲 143
9.3.5 貝葉斯推理 144
9.3.6 遷移學(xué)習(xí)和多任務(wù)學(xué)習(xí) 145
9.3.7 自監(jiān)督學(xué)習(xí) 146
9.3.8 數(shù)據(jù)增廣 146
9.4 本章小結(jié) 147
9.5 注釋 148
9.6 問題 154
第10章 卷積網(wǎng)絡(luò) 155
10.1 不變性和等變性 156
10.2 用于一維輸入的卷積網(wǎng)絡(luò) 157
10.2.1 一維卷積操作 157
10.2.2 填充 157
10.2.3 步長、核大小和膨脹率 158
10.2.4 卷積層 159
10.2.5 通道 160
10.2.6 卷積網(wǎng)絡(luò)和感受野 160
10.2.7 示例:MNIST-1D 161
10.3 二維輸入的卷積網(wǎng)絡(luò) 163
10.4 下采樣和上采樣 165
10.4.1 下采樣 165
10.4.2 上采樣 165
10.4.3 更改通道數(shù)量 166
10.5 應(yīng)用 167
10.5.1 圖像分類 167
10.5.2 目標檢測 169
10.5.3 語義分割 170
10.6 本章小結(jié) 172
10.7 注釋 172
10.8 問題 176
第11章 殘差網(wǎng)絡(luò) 178
11.1 順序處理 178
11.2 殘差連接和殘差塊 180
11.2.1 殘差塊中的操作順序 182
11.2.2 帶有殘差連接的更深層網(wǎng)絡(luò) 182
11.3 殘差網(wǎng)絡(luò)中的梯度爆炸 183
11.4 批量歸一化 184
11.5 常見的殘差架構(gòu) 185
11.5.1 ResNet 185
11.5.2 DenseNet 187
11.5.3 U-Net和沙漏網(wǎng)絡(luò) 188
11.6 為什么具有殘差連接的網(wǎng)絡(luò)表現(xiàn)如此出色? 190
11.7 本章小結(jié) 190
11.8 注釋 191
11.9 問題 195
第12章 變換器 197
12.1 處理文本數(shù)據(jù) 197
12.2 點積自注意力 198
12.2.1 計算和加權(quán)值 199
12.2.2 計算注意力權(quán)重 200
12.2.3 自注意力總結(jié) 201
12.2.4 矩陣形式 202
12.3 點積自注意力的擴展 203
12.3.1 位置編碼 203
12.3.2 縮放點積自注意力 204
12.3.3 多頭 204
12.4 變換器 205
12.5 自然語言處理中的變換器 206
12.5.1 分詞 206
12.5.2 嵌入 207
12.5.3 變換器模型 208
12.6 編碼器模型示例:BERT 208
12.6.1 預(yù)訓(xùn)練 209
12.6.2 微調(diào) 209
12.7 解碼器模型示例:GPT-3 211
12.7.1 語言建模 211
12.7.2 掩碼自注意力 211
12.7.3 從解碼器生成文本 212
12.7.4 GPT-3與少樣本學(xué)習(xí) 213
12.8 編碼器-解碼器模型示例:機器翻譯 214
12.9 用于長序列的變換器 216
12.10 圖像的變換器 217
12.10.1 ImageGPT 218
12.10.2 視覺變換器(ViT) 219
12.10.3 多尺度視覺變換器 219
12.11 本章小結(jié) 220
12.12 注釋 221
12.13 問題 228
第13章 圖神經(jīng)網(wǎng)絡(luò) 230
13.1 什么是圖 230
13.2 圖的表示 233
13.2.1 鄰接矩陣的屬性 233
13.2.2 節(jié)點索引的排列 234
13.3 圖神經(jīng)網(wǎng)絡(luò)、任務(wù)和損失函數(shù) 235
13.4 圖卷積網(wǎng)絡(luò) 237
13.4.1 等變性和不變性 238
13.4.2 參數(shù)共享 238
13.4.3 GCN層示例 239
13.5 示例:圖分類 240
13.6 歸納模型與演繹模型 241
13.7 示例:節(jié)點分類 242
13.8 圖卷積網(wǎng)絡(luò)的層 245
13.8.1 結(jié)合當(dāng)前節(jié)點和聚合鄰居 245
13.8.2 殘差連接 245
13.8.3 平均聚合 246
13.8.4 Kipf歸一化 246
13.8.5 最大池化聚合 246
13.8.6 注意力聚合 246
13.9 邊圖 248
13.10 本章小結(jié) 249
13.11 注釋 249
13.12 問題 254
第14章 無監(jiān)督學(xué)習(xí) 257
14.1 無監(jiān)督學(xué)習(xí)模型分類 257
14.2 什么是好的生成模型? 259
14.3 量化評估指標 260
14.4 本章小結(jié) 263
14.5 注釋 263
第15章 生成式對抗網(wǎng)絡(luò) 264
15.1 判別作為信號 264
15.1.1 GAN 損失函數(shù) 265
15.1.2 訓(xùn)練 GAN 266
15.1.3 DCGAN 267
15.1.4 GAN訓(xùn)練的難點 268
15.2 提高穩(wěn)定性 269
15.2.1 GAN 損失函數(shù)分析 269
15.2.2 梯度消失 270
15.2.3 Wasserstein距離 271
15.2.4 離散分布的Wasserstein距離 271
15.2.5 連續(xù)分布的Wasserstein距離 273
15.2.6 Wasserstein GAN損失函數(shù) 273
15.3 提升生成圖像質(zhì)量的方法 274
15.4 條件生成 276
15.4.1 cGAN 276
15.4.2 ACGAN 277
15.4.3 InfoGAN 278
15.5 圖像翻譯 279
15.5.1 Pix2Pix 279
15.5.2 對抗性損失 279
15.5.3 CycleGAN 281
15.6 StyleGAN 282
15.7 本章小結(jié) 284
15.8 注釋 285
15.9 問題 288
第16章 標準化流 290
16.1 一維示例 290
16.1.1 計算概率 291
16.1.2 正向和反向映射 292
16.1.3 學(xué)習(xí) 292
16.2 一般情況 293
16.2.1 基于深度神經(jīng)網(wǎng)絡(luò)的正向映射 293
16.2.2 對網(wǎng)絡(luò)層的要求 294
16.3 可逆網(wǎng)絡(luò)層 295
16.3.1 線性流 295
16.3.2 逐元素流 296
16.3.3 耦合流 297
16.3.4 自回歸流 298
16.3.5 反向自回歸流 299
16.3.6 殘差流:iRevNet 300
16.3.7 殘差流和收縮映射:iResNet 301
16.4 多尺度流 302
16.5 應(yīng)用 303
16.5.1 密度建模 303
16.5.2 圖像合成 304
16.5.3 近似其他密度模型 305
16.6 本章小結(jié) 306
16.7 注釋 307
16.8 問題 310
第17章 變分自編碼器 312
17.1 隱變量模型 312
17.2 非線性隱變量模型 314
17.3 訓(xùn)練 315
17.3.1 證據(jù)下界 (ELBO) 315
17.3.2 Jensen 不等式 316
17.3.3 推導(dǎo)下界 317
17.4 ELBO 的性質(zhì) 318
17.4.1 下界的緊密性 318
17.4.2 ELBO的第三種表示方式 319
17.5 變分近似 320
17.6 變分自編碼器 320
17.7 重參數(shù)化技巧 323
17.8 應(yīng)用 323
17.8.1 估計樣本概率 323
17.8.2 生成 324
17.8.3 重合成 325
17.8.4 解耦 326
17.9 本章小結(jié) 327
17.10 注釋 328
17.11 問題 331
第18章 擴散模型 333
18.1 概述 333
18.2 編碼器(前向過程) 334
18.2.1 擴散核 335
18.2.2 邊緣分布 337
18.2.3 條件分布 338
18.2.4 條件擴散分布 338
18.3 解碼器模型(反向過程) 340
18.4 訓(xùn)練 340
18.4.1 證據(jù)下界 (ELBO) 341
18.4.2 簡化 ELBO 341
18.4.3 分析ELBO 342
18.4.4 擴散損失函數(shù) 343
18.4.5 訓(xùn)練過程 343
18.5 損失函數(shù)的重參數(shù)化 344
18.5.1 目標值的參數(shù)化 345
18.5.2 網(wǎng)絡(luò)的重參數(shù)化 346
18.6 實現(xiàn) 347
18.6.1 應(yīng)用于圖像 347
18.6.2 提高生成速度 348
18.6.3 條件生成 349
18.6.4 提高生成質(zhì)量 350
18.7 本章小結(jié) 352
18.8 注釋 352
18.9 問題 355
第19章 強化學(xué)習(xí) 357
19.1 馬爾可夫決策過程、回報和策略 357
19.1.1 馬爾可夫過程 358
19.1.2 馬爾可夫獎勵過程 358
19.1.3 馬爾可夫決策過程 359
19.1.4 部分可觀測馬爾可夫決策過程 359
19.1.5 策略 360
19.2 預(yù)期回報 361
19.2.1 狀態(tài)和動作價值 362
19.2.2 最優(yōu)策略 363
19.2.3 貝爾曼式 363
19.3 表格型強化學(xué)習(xí) 365
19.3.1 動態(tài)規(guī)劃 365
19.3.2 蒙特卡羅方法 366
19.3.3 時間差分方法 367
19.4 擬合Q學(xué)習(xí) 368
19.4.1 用于玩ATARI游戲的深度Q網(wǎng)絡(luò) 369
19.4.2 雙Q學(xué)習(xí)和雙深度Q網(wǎng)絡(luò) 370
19.5 策略梯度方法 371
19.5.1 梯度更新的推導(dǎo) 372
19.5.2 REINFORCE算法 374
19.5.3 基線 374
19.5.4 狀態(tài)依賴的基線 375
19.6 演員-評論家方法 376
19.7 離線強化學(xué)習(xí) 377
19.8 本章小結(jié) 378
19.9 注釋 378
19.10 問題 382
第20章 為什么深度網(wǎng)絡(luò)有效 385
20.1 質(zhì)疑深度學(xué)習(xí)的案例 385
20.1.1 訓(xùn)練 385
20.1.2 泛化 386
20.1.3 看似不合理的有效性 386
20.2 影響擬合性能的因素 387
20.2.1 數(shù)據(jù)集 387
20.2.2 正則化 387
20.2.3 隨機訓(xùn)練算法 388
20.2.4 過度參數(shù)化 388
20.2.5 激活函數(shù) 389
20.2.6 初始化 390
20.2.7 網(wǎng)絡(luò)深度 390
20.3 損失函數(shù)的性質(zhì) 391
20.3.1 多個全局最小值 391
20.3.2 到達最小值的路徑 391
20.3.3 最小值之間的聯(lián)系 392
20.3.4 損失面的曲率 393
20.4 決定泛化的因素 394
20.4.1 訓(xùn)練算法 394
20.4.2 最小值的平坦度 395
20.4.3 架構(gòu) 396
20.4.4 權(quán)重的范數(shù) 396
20.4.5 過度參數(shù)化 397
20.4.6 離開數(shù)據(jù)流形 397
20.5 我們需要這么多參數(shù)嗎 398
20.5.1 剪枝 399
20.5.2 知識蒸餾 400
20.5.3 討論 400
20.6 網(wǎng)絡(luò)必須很深嗎? 401
20.6.1 建模函數(shù)的復(fù)雜性 401
20.6.2 訓(xùn)練的可行性 402
20.6.3 歸納偏差 402
20.7 本章小結(jié) 402
20.8 問題 403
第21章 深度學(xué)習(xí)和倫理 404
21.1 價值一致性 405
21.1.1 偏見與公平性 406
21.1.2 人工道德代理 408
21.1.3 透明度與不透明度 409
21.1.4 可解釋性 409
21.2 故意濫用 410
21.2.1 面部識別和分析 410
21.2.2 軍事化和政治干預(yù) 410
21.2.3 欺詐 411
21.2.4 數(shù)據(jù)隱私 411
21.3 其他社會、倫理和專業(yè)問題 412
21.3.1 知識產(chǎn)權(quán) 412
21.3.2 自動化偏見和道德技能退化 412
21.3.3 環(huán)境影響 413
21.3.4 就業(yè)和社會 413
21.3.5 權(quán)力集中 413
21.4 案例研究 414
21.5 科學(xué)的價值中立理想 414
21.6 負責(zé)任的人工智能研究作為集體行動問題 415
21.6.1 科學(xué)溝通 416
21.6.2 多樣性和異質(zhì)性 416
21.7 未來的方向 416
21.8 本章小結(jié) 417
21.9 問題 418
附錄A 符號表示 420
附錄B 數(shù)學(xué) 423
附錄C 概率 432