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