構建通用人工智能的關鍵就是無監(jiān)督學習,而不需要標簽來訓練模型,最簡單的方法就是使用深度生成模型。本書主要講述如何將概率建模和深度學習結合起來去構建可以量化周邊環(huán)境不確定性的強大的 AI 系統(tǒng)。這種AI系統(tǒng)可以從生成的角度來理解周邊世界。本書涵蓋了深度生成模型的多種類型,包括自回歸模型、流模型、隱變量模型、基于能量的模型等。這些模型構成了以 ChatGPT 為代表的大語言模型,以及以 Stable Diffusion 為代表的擴散模型等深度生成模型背后的技術基石。 本書適合具備微積分、線性代數(shù)、概率論等大學本科水平,并且了解機器學習、Python 及PyTorch 等深度學習框架的學生、工程師和研究人員閱讀。無論讀者的背景如何,只要對深度生成模型有興趣,都能從本書中獲益。
Jakub M. Tomczak:阿姆斯特丹自由大學計算智能小組的人工智能助理教授、弗羅茨瓦夫理工大學機器學習博士,曾在阿姆斯特丹高通人工智能研究公司擔任深度學習研究員(員工工程師),以及瑪麗·斯克洛多夫斯卡-居里教授的個人研究員。研究興趣包括概率建模、深度學習、近似貝葉斯建模和深度生成建模(特別關注變分自動編碼器和基于流的模型)。
王冠,北京大學物理及計算機學士,香港科技大學物理研究型碩士,谷歌機器學習開發(fā)者專家,先后在多個學術和工業(yè)研究實驗室從事機器學習、計算機視覺和自然語言處理的研發(fā),并在保險行業(yè)應用人工智能方面有多年的經驗,《Rasa實戰(zhàn):構建開源對話機器人》作者,發(fā)表了數(shù)篇相關領域的學術論文,擁有多項工業(yè)專利。他還是一位活躍的技術博主和開源社區(qū)貢獻者,在GitHub上的開源項目獲得了超過12,000個星標。
第 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 本書的目的和內容 8
1.5 參考文獻 9
第 2 章 自回歸模型 13
2.1簡介 13
2.2 由神經網絡參數(shù)化的自回歸模型 14
2.2.1 有限記憶 14
2.2.2 基于循環(huán)神經網絡的長距記憶 15
2.2.3 基于卷積神經網絡的長距記憶 16
2.3 深度生成自回歸模型實踐 19
2.4 還未結束 22
2.5 參考文獻 24
第 3 章 流模型27
3.1 連續(xù)隨機變量的流模型 27
3.1.1 簡介 27
3.1.2 深度生成網絡中的變量替換 30
3.1.3 構建 RealNVP 的組件 32
3.1.4 流模型實踐 33
3.1.5 代碼 34
3.1.6 還未結束 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 模型和目標 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 模型構建 143
6.3訓練 145
6.4代碼 147
6.5 受限玻爾茲曼機150
6.6結語 153
6.7 參考文獻 154
第 7 章 生成對抗網絡 157
7.1簡介 157
7.2 使用生成對抗網絡做隱含建模159
7.3 代碼實現(xiàn) 162
7.4 不同種類的生成對抗網絡167
7.5 參考文獻 169
第 8 章 用于神經壓縮的深度生成模型 171
8.1簡介 171
8.2 通用壓縮方案 172
8.3 簡短介紹:JPEG 174
8.4 神經壓縮:組件175
8.5后續(xù) 185
8.6 參考文獻 185
附錄 A 一些有用的代數(shù)與運算知識 187
A.1 范數(shù)與內積 187
A.2 矩陣運算188
附錄 B 一些有用的概率論和統(tǒng)計學知識190
B.1 常用概率分布190
B.2 統(tǒng)計學 192
索引 194