構(gòu)建通用人工智能的關(guān)鍵就是無監(jiān)督學(xué)習(xí),而不需要標(biāo)簽來訓(xùn)練模型,最簡(jiǎn)單的方法就是使用深度生成模型。本書主要講述如何將概率建模和深度學(xué)習(xí)結(jié)合起來去構(gòu)建可以量化周邊環(huán)境不確定性的強(qiáng)大的 AI 系統(tǒng)。這種AI系統(tǒng)可以從生成的角度來理解周邊世界。本書涵蓋了深度生成模型的多種類型,包括自回歸模型、流模型、隱變量模型、基于能量的模型等。這些模型構(gòu)成了以 ChatGPT 為代表的大語言模型,以及以 Stable Diffusion 為代表的擴(kuò)散模型等深度生成模型背后的技術(shù)基石。 本書適合具備微積分、線性代數(shù)、概率論等大學(xué)本科水平,并且了解機(jī)器學(xué)習(xí)、Python 及PyTorch 等深度學(xué)習(xí)框架的學(xué)生、工程師和研究人員閱讀。無論讀者的背景如何,只要對(duì)深度生成模型有興趣,都能從本書中獲益。
Jakub M. Tomczak:阿姆斯特丹自由大學(xué)計(jì)算智能小組的人工智能助理教授、弗羅茨瓦夫理工大學(xué)機(jī)器學(xué)習(xí)博士,曾在阿姆斯特丹高通人工智能研究公司擔(dān)任深度學(xué)習(xí)研究員(員工工程師),以及瑪麗·斯克洛多夫斯卡-居里教授的個(gè)人研究員。研究興趣包括概率建模、深度學(xué)習(xí)、近似貝葉斯建模和深度生成建模(特別關(guān)注變分自動(dòng)編碼器和基于流的模型)。
王冠,北京大學(xué)物理及計(jì)算機(jī)學(xué)士,香港科技大學(xué)物理研究型碩士,谷歌機(jī)器學(xué)習(xí)開發(fā)者專家,先后在多個(gè)學(xué)術(shù)和工業(yè)研究實(shí)驗(yàn)室從事機(jī)器學(xué)習(xí)、計(jì)算機(jī)視覺和自然語言處理的研發(fā),并在保險(xiǎn)行業(yè)應(yīng)用人工智能方面有多年的經(jīng)驗(yàn),《Rasa實(shí)戰(zhàn):構(gòu)建開源對(duì)話機(jī)器人》作者,發(fā)表了數(shù)篇相關(guān)領(lǐng)域的學(xué)術(shù)論文,擁有多項(xiàng)工業(yè)專利。他還是一位活躍的技術(shù)博主和開源社區(qū)貢獻(xiàn)者,在GitHub上的開源項(xiàng)目獲得了超過12,000個(gè)星標(biāo)。
第 1 章 為什么要用深度生成模型1
1.1 AI 不只是做決策 1
1.2 在哪里使用(深度)生成模型 3
1.3 如何定義(深度)生成模型 4
1.3.1 自回歸模型 5
1.3.2 流模型 5
1.3.3 隱變量模型 6
1.3.4 能量模型 7
1.3.5 概論 7
1.4 本書的目的和內(nèi)容 8
1.5 參考文獻(xiàn) 9
第 2 章 自回歸模型 13
2.1簡(jiǎn)介 13
2.2 由神經(jīng)網(wǎng)絡(luò)參數(shù)化的自回歸模型 14
2.2.1 有限記憶 14
2.2.2 基于循環(huán)神經(jīng)網(wǎng)絡(luò)的長距記憶 15
2.2.3 基于卷積神經(jīng)網(wǎng)絡(luò)的長距記憶 16
2.3 深度生成自回歸模型實(shí)踐 19
2.4 還未結(jié)束 22
2.5 參考文獻(xiàn) 24
第 3 章 流模型27
3.1 連續(xù)隨機(jī)變量的流模型 27
3.1.1 簡(jiǎn)介 27
3.1.2 深度生成網(wǎng)絡(luò)中的變量替換 30
3.1.3 構(gòu)建 RealNVP 的組件 32
3.1.4 流模型實(shí)踐 33
3.1.5 代碼 34
3.1.6 還未結(jié)束 38
3.1.7 ResNet 流模型和 DenseNet 流模型39
3.2 離散隨機(jī)變量的流模型 41
3.2.1 簡(jiǎn)介 41
3.2.2 R 中還是 Z 中的流模型 44
3.2.3 整形離散流模型 45
3.2.4 代碼 49
3.2.5 接下來的工作 53
3.3 參考文獻(xiàn) 54
第 4 章 隱變量模型 57
4.1 簡(jiǎn)介 57
4.2 概率主成分分析 58
4.3 變分自動(dòng)編碼器:非線性隱變量模型的變分推理60
4.3.1 模型和目標(biāo) 60
4.3.2 ELBO 的不同解讀 61
4.3.3 VAE 的組件 62
4.3.4 VAE 實(shí)踐 65
4.3.5 代碼 66
4.3.6 VAE 的常見問題 71
4.3.7 還有更多 72
4.4 改進(jìn)變分自動(dòng)編碼器 75
4.4.1先驗(yàn) 75
4.4.2 變分后驗(yàn) 92
4.5 分層隱變量模型 99
4.5.1簡(jiǎn)介 99
4.5.2 分層 VAE 103
4.5.3 基于擴(kuò)散的深度生成模型 112
4.6 參考文獻(xiàn) 121
第 5 章 混合建模128
5.1簡(jiǎn)介 128
5.1.1 方法一:從最簡(jiǎn)單的情況開始128
5.1.2 方法二:共享參數(shù)化 130
5.2 混合建模 130
5.3 代碼實(shí)現(xiàn) 132
5.4代碼 134
5.5后續(xù) 138
5.6 參考文獻(xiàn) 139
第 6 章 基于能量的模型 141
6.1簡(jiǎn)介 141
6.2 模型構(gòu)建 143
6.3訓(xùn)練 145
6.4代碼 147
6.5 受限玻爾茲曼機(jī)150
6.6結(jié)語 153
6.7 參考文獻(xiàn) 154
第 7 章 生成對(duì)抗網(wǎng)絡(luò) 157
7.1簡(jiǎn)介 157
7.2 使用生成對(duì)抗網(wǎng)絡(luò)做隱含建模159
7.3 代碼實(shí)現(xiàn) 162
7.4 不同種類的生成對(duì)抗網(wǎng)絡(luò)167
7.5 參考文獻(xiàn) 169
第 8 章 用于神經(jīng)壓縮的深度生成模型 171
8.1簡(jiǎn)介 171
8.2 通用壓縮方案 172
8.3 簡(jiǎn)短介紹:JPEG 174
8.4 神經(jīng)壓縮:組件175
8.5后續(xù) 185
8.6 參考文獻(xiàn) 185
附錄 A 一些有用的代數(shù)與運(yùn)算知識(shí) 187
A.1 范數(shù)與內(nèi)積 187
A.2 矩陣運(yùn)算188
附錄 B 一些有用的概率論和統(tǒng)計(jì)學(xué)知識(shí)190
B.1 常用概率分布190
B.2 統(tǒng)計(jì)學(xué) 192
索引 194