本書詳盡地探討了變分自編碼器、生成對抗網(wǎng)絡(luò)、標(biāo)準(zhǔn)化流模型和擴散模型這四大主流生成式視覺模型。本書不僅深入解析了這些模型背后的復(fù)雜數(shù)學(xué)原理、訓(xùn)練及采樣算法,還提供了詳細的代碼實現(xiàn)指南。秉承"理論與實踐并重”的理念,本書進一步探索了生成式視覺模型在不同場景中的應(yīng)用實例,并精選了4個具有代表性的實戰(zhàn)案例進行深度剖析。這些案例緊密貼合實際業(yè)務(wù)需求與面臨的技術(shù)挑戰(zhàn),旨在引導(dǎo)讀者掌握利用生成式視覺模型解決現(xiàn)實問題的方法論,同時通過動手實踐增強其編程技能與技術(shù)優(yōu)化能力。 本書適合具有大學(xué)本科數(shù)學(xué)基礎(chǔ)(包括微積分、線性代數(shù)、概率統(tǒng)計)及機器學(xué)習(xí)、深度學(xué)習(xí)等知識,并熟悉Python及PyTorch編程的本科生、研究生,或者相關(guān)領(lǐng)域的研究人員閱讀與學(xué)習(xí)。
丁鑫,博士,副教授,國家海外引進人才計劃(青年項目)入選者,主要從事生成式人工智能的研究工作;主持國家自然科學(xué)基金青年項目1項;以第一作者身份先后在IEEE TPAMI、IEEE TSP、ESWA、ICLR、AAAI等高水平國際期刊或會議上發(fā)表論文10余篇;擔(dān)任AAAI、IJCAI、IEEE SPL等國際知名會議和期刊的審稿人與程序委員會成員。
目錄
第1章 生成式人工智能概述 1
1.1 生成式人工智能:引領(lǐng)生產(chǎn)力的飛躍 1
1.1.1 ChatGPT 1
1.1.2 Sora 2
1.1.3 應(yīng)用前景與意義 2
1.2 生成式人工智能的發(fā)展歷程 3
1.2.1 從統(tǒng)計學(xué)習(xí)到深度學(xué)習(xí)前夕 3
1.2.2 深度學(xué)習(xí)時代 4
1.2.3 大模型時代 5
1.3 生成式人工智能的發(fā)展方向 6
1.4 生成式人工智能的倫理問題 7
1.5 習(xí)題 9
1.6 參考文獻 9
第2章 生成式建模與評價指標(biāo) 10
2.1 根本任務(wù) 10
2.1.1 分布估計 11
2.1.2 樣本生成 12
2.1.3 針對數(shù)字圖像的生成式建模 12
2.2 典型生成模型 13
2.3 評價指標(biāo) 15
2.3.1 負對數(shù)似然 15
2.3.2 基于距離或散度的評價指標(biāo) 16
2.3.3 精確率和召回率 21
2.3.4 統(tǒng)計檢驗 22
2.3.5 用生成樣本訓(xùn)練分類器 22
2.3.6 過擬合檢測 23
2.4 重要意義 23
2.5 習(xí)題 24
2.6 參考文獻 24
第3章 VAE 25
3.1 預(yù)備知識 25
3.1.1 AE 25
3.1.2 KL散度 26
3.1.3 MLE 27
3.1.4 條件編碼 27
3.1.5 馬爾可夫鏈 29
3.1.6 重參數(shù)化技巧 30
3.2 數(shù)學(xué)符號 31
3.3 總體思路 31
3.4 理論分析 33
3.4.1 證據(jù)下界 33
3.4.2 目標(biāo)函數(shù) 34
3.5 模型結(jié)構(gòu) 36
3.5.1 推斷網(wǎng)絡(luò) 36
3.5.2 生成網(wǎng)絡(luò) 37
3.5.3 VAE與AE的對比 37
3.6 訓(xùn)練算法 38
3.7 采樣算法 39
3.7.1 后驗采樣 39
3.7.2 先驗采樣 40
3.8 變體模型 41
3.8.1 CVAE 41
3.8.2 Beta-VAE 42
3.8.3 MHVAE 42
3.8.4 VQ-VAE 43
3.9 代碼實踐:VAE 44
3.9.1 數(shù)據(jù)載入與實驗設(shè)置 45
3.9.2 推斷網(wǎng)絡(luò)和生成網(wǎng)絡(luò) 46
3.9.3 模型訓(xùn)練 49
3.9.4 采樣與可視化 50
3.10 習(xí)題 51
3.11 參考文獻 52
第4章 GAN 53
4.1 預(yù)備知識 53
4.1.1 JS散度 53
4.1.2 Wasserstein距離 54
4.1.3 Lipschitz連續(xù)函數(shù) 55
4.1.4 MMD 55
4.1.5 拒絕采樣 56
4.2 原始GAN 57
4.2.1 生成器與判別器 57
4.2.2 損失函數(shù)與訓(xùn)練算法 58
4.2.3 如何理解生成器的本質(zhì) 60
4.2.4 理論最優(yōu)判別器 60
4.2.5 為什么GAN是生成模型 61
4.2.6 梯度消失問題 62
4.2.7 模式坍縮問題 63
4.3 CGAN 64
4.3.1 重要的生成式建模范式 64
4.3.2 模型結(jié)構(gòu) 65
4.3.3 損失函數(shù)與訓(xùn)練算法 66
4.3.4 模型分析 67
4.4 變體模型 68
4.4.1 損失函數(shù) 68
4.4.2 網(wǎng)絡(luò)架構(gòu) 73
4.4.3 正則化 81
4.4.4 條件輸入方法 84
4.4.5 一維連續(xù)條件 87
4.4.6 隱變量解耦 89
4.4.7 數(shù)據(jù)增強 91
4.4.8 二次采樣 93
4.4.9 大模型技術(shù) 94
4.4.10 典型應(yīng)用 95
4.5 代碼實踐:DCGAN 99
4.5.1 實驗設(shè)置 99
4.5.2 生成器與判別器 100
4.5.3 模型訓(xùn)練 102
4.5.4 采樣與可視化 105
4.5.5 性能比較 106
4.6 習(xí)題 108
4.7 參考文獻 108
第5章 NF模型 111
5.1 NF模型基礎(chǔ) 111
5.1.1 變量替換定理 111
5.1.2 雅可比行列式的性質(zhì)與計算 112
5.1.3 多步變換后的概率分布 114
5.2 NF模型的訓(xùn)練和采樣 115
5.2.1 NF模型的訓(xùn)練 115
5.2.2 NF模型的采樣 116
5.2.3 NF模型的實現(xiàn) 116
5.3 如何構(gòu)造一個NF模型 118
5.3.1 仿射流 118
5.3.2 平面流和徑向流 120
5.3.3 耦合流 122
5.3.4 自回歸流 125
5.3.5 可逆殘差流 128
5.4 連續(xù)時間下的NF模型 132
5.5 代碼實踐:RealNVP 135
5.5.1 實驗設(shè)置 135
5.5.2 NF模型的構(gòu)建 135
5.5.3 訓(xùn)練過程 138
5.5.4 性能比較 139
5.6 習(xí)題 139
5.7 參考文獻 140
第6章 DM 142
6.1 預(yù)備知識 142
6.1.1 Stein’s分數(shù)函數(shù) 142
6.1.2 Tweedie’s公式 143
6.1.3 隨機微分方程 143
6.2 VDM 144
6.2.1 從VAE到VDM 144
6.2.2 變種損失函數(shù) 158
6.2.3 方差表 163
6.2.4 經(jīng)典模型:DDPM 166
6.2.5 跨步采樣:DDIM 168
6.2.6 隱擴散模型:LDM 171
6.3 SGM 172
6.3.1 SGLD 172
6.3.2 SBM與分數(shù)匹配 172
6.3.3 樸素SGM及其問題 173
6.3.4 帶有多尺度噪聲擾動的SGM 174
6.3.5 基于隨機微分方程的SGM 175
6.4 條件擴散模型 180
6.4.1 分類器指導(dǎo) 180
6.4.2 無分類器指導(dǎo) 181
6.5 代碼實踐:DDPM 182
6.5.1 實驗設(shè)置 182
6.5.2 網(wǎng)絡(luò)定義 183
6.5.3 擴散過程 188
6.5.4 訓(xùn)練過程 193
6.5.5 性能比較 194
6.6 習(xí)題 195
6.7 參考文獻 196
第7章 生成模型應(yīng)用實戰(zhàn) 198
7.1 典型應(yīng)用場景 198
7.1.1 可控圖像生成 198
7.1.2 圖像翻譯 199
7.1.3 圖像超分辨率 199
7.1.4 圖像修復(fù) 200
7.1.5 圖像分割 201
7.1.6 圖像編輯 201
7.2 實戰(zhàn)案例1:圖像風(fēng)格遷移 202
7.2.1 案例介紹 202
7.2.2 實驗效果 203
7.3 實戰(zhàn)案例2:醫(yī)療影像的模態(tài)變換 204
7.3.1 案例介紹 204
7.3.2 實驗效果 204
7.4 實戰(zhàn)案例3:遙感圖像的超分辨率重建 205
7.4.1 案例介紹 205
7.4.2 實驗效果 206
7.5 實戰(zhàn)案例4:Stable Diffusion文生圖 207
7.5.1 Stable Diffusion簡介 207
7.5.2 本地部署 207
7.6 參考文獻 209