Denoising Diffusion Probabilistic Models
原文:https://arxiv.org/abs/2006.11239
開(kāi)源:
https://hojonathanho.github.io/diffusion/
https://github.com/hojonathanho/diffusion? ? ? ? ? ? ? ? ?(official, tensorflow) 1.5k stars
https://github.com/lucidrains/denoising-diffusion-pytorch ???? 3.2k stars
https://huggingface.co/blog/annotated-diffusion ???????????? ★★★★★
一些講解:
https://zhuanlan.zhihu.com/p/530602852
https://lilianweng.github.io/posts/2021-07-11-diffusion-models/???????????? ★★★★★
https://zhuanlan.zhihu.com/p/563543020
秋刀魚(yú)的煉丹工坊:https://www.bilibili.com/video/BV1yA41167Dg/?vd_source=6c013bf8c3402dcabbec8b4cab1f7919
蘇劍林老師:https://kexue.fm/archives/9119
https://www.bilibili.com/video/BV1tY4y1Z7eR/?spm_id_from=333.337.search-card.all.click&vd_source=6c013bf8c3402dcabbec8b4cab1f7919??????????? ★★★★★? ? (從diffusion到stable diffusion,也簡(jiǎn)要比較了GAN、VAE、流模型,將stable diffusion個(gè)dalle2做了一些對(duì)比)
https://web.cs.ucla.edu/~patricia.xiao/files/Win2023_Math_Reading_Group_Stable_Diffusion.pdf
https://huggingface.co/blog?tag=diffusion
https://huggingface.co/blog/stable_diffusion? ? (這里有stable_diffusion的講解,stable_diffusion的那頁(yè)更新不了了,就更新在這里吧)
https://huggingface.co/blog/diffusers-2nd-month? ? ? ★★★★★

摘要:我們使用擴(kuò)散概率模型(一類受非平衡熱力學(xué)考慮啟發(fā)的潛在變量模型)給出了高質(zhì)量的圖像合成結(jié)果。我們的最佳結(jié)果是通過(guò)根據(jù)擴(kuò)散概率模型和與Langevin動(dòng)力學(xué)匹配的去噪分?jǐn)?shù)之間的新聯(lián)系設(shè)計(jì)的加權(quán)變分邊界上的訓(xùn)練獲得的,并且我們的模型自然地允許漸進(jìn)有損解壓縮方案,該方案可以被解釋為自回歸解碼的推廣。在無(wú)條件CIFAR10數(shù)據(jù)集上,我們獲得了9.46的Inception分?jǐn)?shù)和3.17的最新FID分?jǐn)?shù)。在256x256 LSUN上,我們得到了與ProgressiveGAN類似的樣本質(zhì)量。我們的實(shí)施在https://github.com/hojonathanho/diffusion
(We present high quality image synthesis results using diffusion probabilistic models, a class of latent variable models inspired by considerations from nonequilibrium thermodynamics. Our best results are obtained by training on a weighted variational bound designed according to a novel connection between diffusion probabilistic models and denoising score matching with Langevin dynamics, and our models naturally admit a progressive lossy decompression scheme that can be interpreted as a generalization of autoregressive decoding. On the unconditional CIFAR10 dataset, we obtain an Inception score of 9.46 and a state-of-the-art FID score of 3.17. On 256x256 LSUN, we obtain sample quality similar to ProgressiveGAN.)

1? ? 引言
各種深度生成模型最近在各種各樣的數(shù)據(jù)模式中展示了高質(zhì)量的樣本。生成對(duì)抗網(wǎng)絡(luò)(GAN)、自回歸模型、流和變分自動(dòng)編碼器(VAE)已經(jīng)合成了引人注目的圖像和音頻樣本[14、27、3、58、38、25、10、32、44、57、26、33、45],并且在基于能量的建模和分?jǐn)?shù)匹配方面取得了顯著進(jìn)展,產(chǎn)生了與GAN類似的圖像[11、55]。
本文介紹了擴(kuò)散概率模型的進(jìn)展[53]。擴(kuò)散概率模型(為簡(jiǎn)潔起見(jiàn),我們將其稱為“擴(kuò)散模型”)是一個(gè)參數(shù)化的馬爾可夫鏈,使用變分推理進(jìn)行訓(xùn)練,以在有限時(shí)間后產(chǎn)生與數(shù)據(jù)匹配的樣本。該鏈的轉(zhuǎn)變被學(xué)習(xí)來(lái)逆轉(zhuǎn)擴(kuò)散過(guò)程,這是一個(gè)馬爾可夫鏈,它在采樣的相反方向上逐漸向數(shù)據(jù)添加噪聲,直到信號(hào)被破壞。當(dāng)擴(kuò)散包含少量高斯噪聲時(shí),也可以將采樣鏈轉(zhuǎn)換設(shè)置為條件高斯,從而實(shí)現(xiàn)特別簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)參數(shù)化。
(Transitions of this chain are learned to reverse a diffusion process, which is a Markov chain that gradually adds noise to the data in the opposite direction of sampling until signal is destroyed. When the diffusion consists of small amounts of Gaussian noise, it is sufficient to set the sampling chain transitions to conditional Gaussians too, allowing for a particularly simple neural network parameterization.)
擴(kuò)散模型易于定義,訓(xùn)練效率高,但據(jù)我們所知,還沒(méi)有證據(jù)表明它們能夠生成高質(zhì)量的樣本。我們表明,擴(kuò)散模型實(shí)際上能夠生成高質(zhì)量的樣本,有時(shí)比其他類型生成模型的已發(fā)布結(jié)果更好(第4節(jié))。此外,我們表明,擴(kuò)散模型的某些參數(shù)化揭示了訓(xùn)練期間多個(gè)噪聲水平上的去噪分?jǐn)?shù)匹配和采樣期間退火Langevin動(dòng)力學(xué)的等效性(第3.2節(jié))[55,61]。我們使用該參數(shù)化(第4.2節(jié))獲得了最佳樣本質(zhì)量結(jié)果,因此我們認(rèn)為該等效性是我們的主要貢獻(xiàn)之一。
(In addition, we show that a certain parameterization of diffusion models reveals an equivalence with denoising score matching over multiple noise levels during training and with annealed Langevin dynamics during sampling.)
盡管我們的模型具有樣本質(zhì)量,但與其他基于似然性的模型相比,我們的模型不具有競(jìng)爭(zhēng)性的對(duì)數(shù)似然性(然而,我們的模式的對(duì)數(shù)似然性,優(yōu)于已報(bào)告的基于能量的模型和分?jǐn)?shù)匹配的退火重要度抽樣的大估計(jì)[11,55])。我們發(fā)現(xiàn),我們的大多數(shù)模型的無(wú)損codelengths都用于描述難以察覺(jué)的圖像細(xì)節(jié)(第4.3節(jié))。我們用有損壓縮(lossy compression)的語(yǔ)言對(duì)這一現(xiàn)象進(jìn)行了更精細(xì)的分析,并表明擴(kuò)散模型的采樣過(guò)程是一種漸進(jìn)式解碼,類似于沿著比特排序的自回歸解碼,它極大地概括了自回歸模型通??赡艿那闆r。
(We find that the majority of our models' lossless codelengths are consumed to describe imperceptible image details. We present a more refined analysis of this phenomenon in the language of lossy compression, and we show that the sampling procedure of diffusion models is a type of progressive decoding that resembles autoregressive decoding along a bit ordering that vastly generalizes what is normally possible with autoregressive models.)


2????背景
擴(kuò)散模型[53]是形式為的潛在變量模型,其中
是與數(shù)據(jù)
相同維度的latent。聯(lián)合分布
被稱為反向過(guò)程(reverse process),它被定義為一個(gè)馬爾可夫鏈,具有從
開(kāi)始的學(xué)習(xí)高斯transitions:
? ??
? ? (1)
擴(kuò)散模型與其他類型的潛在變量模型的區(qū)別在于,被稱為前向過(guò)程或擴(kuò)散過(guò)程的近似后驗(yàn)固定在(is fixed to)馬爾可夫鏈上,該馬爾可夫鏈根據(jù)方差表(variance schedule)
將高斯噪聲逐漸添加到數(shù)據(jù)中:
? ? (2)
通過(guò)在對(duì)數(shù)似然上優(yōu)化通常變分界限來(lái)執(zhí)行訓(xùn)練(Training is performed by optimizing the usual variational bound on negative log likelihood):
? ? (3)
前向過(guò)程方差可以通過(guò)重新參數(shù)化[33]來(lái)學(xué)習(xí)或作為超參數(shù)保持恒定,逆向過(guò)程的表示能力通過(guò)高斯條件在
的選擇來(lái)部分地保證(expressiveness of the reverse process is ensured in part by the choice of Gaussian conditionals in p_θ(\mathbf{x}_{t?1}|\mathbf{x}_t)),因?yàn)楫?dāng)
較小時(shí),兩個(gè)過(guò)程具有相同的函數(shù)形式[53]。正向過(guò)程的一個(gè)顯著特性是,它允許以封閉形式(closed form)在任意時(shí)間步長(zhǎng)
處采樣
:使用符號(hào)
和
,我們有:
? ? (4)
因此,通過(guò)使用隨機(jī)梯度下降優(yōu)化的隨機(jī)項(xiàng)( random terms),可以進(jìn)行有效的訓(xùn)練。通過(guò)將
改寫(xiě)為:
? ? (5)
(詳見(jiàn)附錄A。項(xiàng)上標(biāo)簽在第3節(jié)中使用。)公式(5)使用KL散度直接比較和前向過(guò)程后驗(yàn),當(dāng)以
為條件時(shí)是易處理的(which are tractable when conditioned on x0):
? ? (6)
其中
? ? (7)
因此,公式(5)中的所有KL散度都是高斯之間的比較,因此可以使用封閉形式表達(dá)式的Rao-Blackwell方式計(jì)算,而不是高方差蒙特卡羅估計(jì)。
(Consequently, all KL divergences in (5) are comparisons between Gaussians, so they can be calculated in a Rao-Blackwellized fashion with closed form expressions instead of high variance Monte Carlo estimates.)
3????擴(kuò)散模型和去噪自動(dòng)編碼器
擴(kuò)散模型可能看起來(lái)是一類受限制的潛在變量模型,但它們?cè)试S實(shí)現(xiàn)大量的自由度。必須選擇正向過(guò)程的方差和反向過(guò)程的模型結(jié)構(gòu)和高斯分布參數(shù)化。為了指導(dǎo)我們的選擇,我們?cè)跀U(kuò)散模型和去噪分?jǐn)?shù)匹配之間建立了新的顯式聯(lián)系(第3.2節(jié)),這導(dǎo)致了擴(kuò)散模型的簡(jiǎn)化、加權(quán)變分界限目標(biāo)(第3.4節(jié))。最終,我們的模型設(shè)計(jì)通過(guò)簡(jiǎn)單性和實(shí)證結(jié)果得到了證明(第4節(jié))。我們的討論根據(jù)等式(5)進(jìn)行分類。
(Diffusion models might appear to be a restricted class of latent variable models, but they allow a large number of degrees of freedom in implementation. One must choose the variances?βt of the forward process and the model architecture and Gaussian distribution parameterization of the reverse process.?To guide our choices, we establish a new explicit connection between diffusion models and denoising score matching that leads to a simplified, weighted variational bound objective for diffusion models.?)
3.1? ? 前向過(guò)程和
我們忽略一個(gè)事實(shí),即正向過(guò)程方差可以通過(guò)重新參數(shù)化來(lái)學(xué)習(xí),反之,我們將其固定為常數(shù)(詳見(jiàn)第4節(jié))。因此,在我們的實(shí)現(xiàn)中,近似后驗(yàn)(approximate posterior)
沒(méi)有可學(xué)習(xí)的參數(shù),因此
在訓(xùn)練期間是一個(gè)常數(shù),可以忽略。
3.2????反向過(guò)程和
現(xiàn)在我們討論,對(duì)于,我們?cè)?img class="math-inline" src="https://math.jianshu.com/math?formula=p_%5Ctheta(%5Cmathbf%7Bx%7D_%7Bt-1%7D%7C%5Cmathbf%7Bx%7D_t)%20%3D%20%5Cmathcal%7BN%7D(%5Cmathbf%7Bx%7D_%7Bt-1%7D%3B%20%20%7B%5Cboldsymbol%7B%5Cmu%7D%7D_%5Ctheta(%5Cmathbf%7Bx%7D_t%2C%20t)%2C%20%5Cmathbf%7B%20%5CSigma%7D_%5Ctheta(%5Cmathbf%7Bx%7D_t%2C%20t))" alt="p_\theta(\mathbf{x}_{t-1}|\mathbf{x}_t) = \mathcal{N}(\mathbf{x}_{t-1}; {\boldsymbol{\mu}}_\theta(\mathbf{x}_t, t), \mathbf{ \Sigma}_\theta(\mathbf{x}_t, t))" mathimg="1">上的選擇。首先,我們?cè)O(shè)置
為未訓(xùn)練時(shí)間相關(guān)的常數(shù)(untrained time dependent constants) 。實(shí)驗(yàn)上,
和
兩者結(jié)果是相近的。第一個(gè)選擇對(duì)
是最優(yōu)的,第二個(gè)對(duì)于
確定為某個(gè)點(diǎn)是最優(yōu)的(the second is optimal for x0 deterministically set to one point) 。這是兩個(gè)極端選擇,對(duì)應(yīng)于具有坐標(biāo)單位方差的數(shù)據(jù)的逆過(guò)程熵的上界和下界[53]。
第二,為了表示平均值,我們提出一個(gè)specific重參數(shù)化,這是由接下來(lái)的對(duì)
的分析而啟發(fā)的。有了
,我們可以寫(xiě)出:
?(8)
其中是不依賴于
的常數(shù)。因此,我們看到
的最直接的參數(shù)化是預(yù)測(cè)
的模型,
是前向過(guò)程后驗(yàn)均值( forward process posterior mean)。然而,我們可以通過(guò)將公式(4)重參數(shù)化為
,for
,并應(yīng)用前向過(guò)程后驗(yàn)公式(7):

公式(10)表明,給定,
必須預(yù)測(cè)
。由于
是模型的輸入,是可得的,我們可以選擇參數(shù)化:
? ? (11)
其中是用于從
預(yù)測(cè)
的函數(shù)逼近器。采樣
就是計(jì)算
,其中
完整的采樣過(guò)程(算法2)類似于是數(shù)據(jù)密度的可學(xué)習(xí)梯度的Langevin動(dòng)力學(xué)。此外,通過(guò)參數(shù)化(11),公式(10)簡(jiǎn)化為:
? ? (12)
這類似于在由索引的多個(gè)噪聲尺度上的去噪分?jǐn)?shù)匹配[55]。由于等式(12)等于類Langevin逆過(guò)程(11)的變分界(的一項(xiàng)),我們看到優(yōu)化類似于去噪分?jǐn)?shù)匹配的目標(biāo)等同于使用變分推理來(lái)擬合類似于Langevin動(dòng)力學(xué)的采樣鏈的有限時(shí)間邊緣。
( which resembles denoising score matching over multiple noise scales indexed by t[55]. As Eq. (12) is equal to (one term of) the variational bound for the Langevin-like reverse process (11), we see that optimizing an objective resembling denoising score matching is equivalent to using variational inference to fit the finite-time marginal of a sampling chain resembling Langevin dynamics.)
總之,我們可以訓(xùn)練逆過(guò)程均值函數(shù)逼近器來(lái)預(yù)測(cè)
,或者通過(guò)修改其參數(shù)化,我們可以將其訓(xùn)練為預(yù)測(cè)
。(也有可能預(yù)測(cè)
,但我們?cè)趯?shí)驗(yàn)早期發(fā)現(xiàn)這會(huì)導(dǎo)致樣品質(zhì)量變差。)我們已經(jīng)表明,
-預(yù)測(cè)參數(shù)化既類似于Langevin動(dòng)力學(xué),又將擴(kuò)散模型的變分界限簡(jiǎn)化為類似于去噪分?jǐn)?shù)匹配的目標(biāo)。盡管如此,這只是
的另一個(gè)參數(shù)化,因此我們?cè)诘?節(jié)消融中驗(yàn)證了其有效性,其中我們將預(yù)測(cè)
與預(yù)測(cè)
進(jìn)行了比較。
3.3????數(shù)據(jù)縮放、逆過(guò)程解碼器和
我們假設(shè)圖像數(shù)據(jù)由{0,1,…,255}中的整數(shù)組成,線性縮放到[?1, 1] 。這確保了神經(jīng)網(wǎng)絡(luò)反向過(guò)程是在從標(biāo)準(zhǔn)正常先驗(yàn)開(kāi)始的一致縮放輸入上執(zhí)行的。 (This ensures that the neural network reverse process operates on consistently scaled inputs starting from the standard normal prior p(xT).)為了獲得離散對(duì)數(shù)似然,我們將逆過(guò)程的最后一項(xiàng)設(shè)置為從高斯
導(dǎo)出的獨(dú)立離散解碼器:

其中是數(shù)據(jù)維度,
上標(biāo)表示提取一個(gè)坐標(biāo)。(將更強(qiáng)大的解碼器(如條件自回歸模型)合并起來(lái)很簡(jiǎn)單,但我們將其留給未來(lái)的工作。)類似于VAE解碼器和自回歸模型中使用的離散化連續(xù)分布[34,52],我們?cè)谶@里的選擇確保了變分界限(variational bound)是離散數(shù)據(jù)的無(wú)損codelengths,而不需要向數(shù)據(jù)添加噪聲或?qū)⒖s放操作的雅可比(Jacobian)放到對(duì)數(shù)似然中。在采樣結(jié)束時(shí),我們無(wú)噪聲地顯示
。
3.4????簡(jiǎn)化訓(xùn)練目標(biāo)
使用上面定義的逆向過(guò)程和解碼器,變分界限,由從公式(12)和(13)推導(dǎo)的項(xiàng)組成,很明顯是關(guān)于可微的,并且可以用于訓(xùn)練。然而,我們發(fā)現(xiàn)對(duì)以下變分界限變體進(jìn)行訓(xùn)練有利于樣本質(zhì)量(并且更容易實(shí)現(xiàn)):
? ? (14)
其中是在1到
之間均勻取值。
對(duì)應(yīng)于
,離散解碼器定義(13)的積分近似為高斯概率密度函數(shù)乘以bin寬,忽略
和邊界的影響。
的情況對(duì)應(yīng)于等式(12)的未加權(quán)版本,類似于NCSN去噪分?jǐn)?shù)匹配模型使用的損失加權(quán)[55]。(
不會(huì)出現(xiàn),因?yàn)檎蜻^(guò)程方差
是固定的。)算法1顯示了此簡(jiǎn)化目標(biāo)的完整訓(xùn)練過(guò)程。
where is uniform between 1 and
. The
case corresponds to
with the integral in the discrete decoder definition (13) approximated by the Gaussian probability density function times the bin width, ignoring
and edge effects. The
cases correspond to an unweighted version of Eq. (12), analogous to the loss weighting used by the NCSN denoising score matching model [55]. (
does not appear because the forward process variances
are fixed.) Algorithm 1 displays the complete training procedure with this simplified objective.
由于我們的簡(jiǎn)化目標(biāo)(14)放棄了等式(12)中的權(quán)重,因此它是一個(gè)加權(quán)變分界限,與標(biāo)準(zhǔn)變分界限18,22]相比,它強(qiáng)調(diào)了重建的不同方面[。特別是,我們?cè)诘?節(jié)中的擴(kuò)散過(guò)程設(shè)置使簡(jiǎn)化的目標(biāo)降低了與小相對(duì)應(yīng)的損失項(xiàng)的權(quán)重。這些項(xiàng)訓(xùn)練網(wǎng)絡(luò)對(duì)噪聲很少的數(shù)據(jù)做去噪,因此降低它們的權(quán)重是有益的,從而使網(wǎng)絡(luò)可以專注于更大
項(xiàng)下更困難的去噪任務(wù)。我們將在實(shí)驗(yàn)中看到,這種重新加權(quán)會(huì)導(dǎo)致更好的樣本質(zhì)量。
4????實(shí)驗(yàn)
我們?yōu)樗袑?shí)驗(yàn)設(shè)置=1000,以便采樣期間所需的神經(jīng)網(wǎng)絡(luò)評(píng)估數(shù)量與之前的工作[53,55]相匹配。我們將正向過(guò)程方差設(shè)置為從
線性增加到
的常數(shù)。相比縮放至[?1,1]的數(shù)據(jù),這些常數(shù)選得比較小,確保反向和正向過(guò)程具有近似相同的函數(shù)形式,同時(shí)保持
處的信噪比盡可能?。ㄔ谖覀兊膶?shí)驗(yàn)中,
bits per dimension)。
為了表示逆過(guò)程,我們使用了U-Net主干,類似于未屏蔽PixelCNN++[52,48],并在整個(gè)過(guò)程中進(jìn)行了group normalization[66]。參數(shù)在時(shí)間維度上共享,使用Transformer正弦位置嵌入指定給網(wǎng)絡(luò)[60]。我們使用16×16特征圖分辨率的自注意[63,60]。詳情見(jiàn)附錄B。
4.1? ? 樣本質(zhì)量
表1顯示了CIFAR10上的Inception分?jǐn)?shù)、FID分?jǐn)?shù)和負(fù)對(duì)數(shù)似然(無(wú)損codelengths)。隨著FID分?jǐn)?shù)為3.17,我們的無(wú)條件模型比文獻(xiàn)中的大多數(shù)模型(包括類條件模型)實(shí)現(xiàn)了更好的樣本質(zhì)量。我們的FID分?jǐn)?shù)是根據(jù)訓(xùn)練集計(jì)算的,這是標(biāo)準(zhǔn)做法;當(dāng)我們根據(jù)測(cè)試集計(jì)算時(shí),分?jǐn)?shù)為5.24,這仍然優(yōu)于文獻(xiàn)中的許多訓(xùn)練集FID分?jǐn)?shù)。
我們發(fā)現(xiàn),如預(yù)期的那樣,在真實(shí)變分邊界上訓(xùn)練我們的模型比在簡(jiǎn)化目標(biāo)上訓(xùn)練產(chǎn)生更好的codelengths,但后者產(chǎn)生最佳樣本質(zhì)量。CIFAR10和CelebA HQ 256×256樣品見(jiàn)圖1,LSUN 256×256樣本見(jiàn)圖3和圖4[71],更多信息見(jiàn)附錄D。


4.2????逆過(guò)程參數(shù)化和訓(xùn)練目標(biāo)消融
在表2中,我們展示了逆過(guò)程參數(shù)化和訓(xùn)練目標(biāo)的樣本質(zhì)量效應(yīng)(第3.2節(jié))。我們發(fā)現(xiàn),只有在真正的變分界而不是未加權(quán)的均方誤差上進(jìn)行訓(xùn)練時(shí),預(yù)測(cè)的基線選項(xiàng)才能很好地工作,這是一個(gè)類似于等式(14)的簡(jiǎn)化目標(biāo)。我們還發(fā)現(xiàn),與固定方差相比,學(xué)習(xí)逆過(guò)程方差(通過(guò)將參數(shù)化對(duì)角
納入變分界)導(dǎo)致不穩(wěn)定的訓(xùn)練和較差的樣本質(zhì)量。預(yù)測(cè)
,正如我們所提出的,當(dāng)在具有固定方差的變分界上進(jìn)行訓(xùn)練時(shí)與預(yù)測(cè)
大致相同,但當(dāng)使用我們的簡(jiǎn)化目標(biāo)進(jìn)行訓(xùn)練時(shí)效果更好。

4.3????漸進(jìn)式編碼?Progressive coding
表1還顯示了CIFAR10模型的codelengths。訓(xùn)練和測(cè)試之間的差距最多為0.03位/維(bits per dimension),這與其他基于似然的模型報(bào)告的差距相當(dāng),表明我們的擴(kuò)散模型沒(méi)有過(guò)擬合(最近鄰可視化見(jiàn)附錄D)。盡管如此,盡管我們的無(wú)損codelengths優(yōu)于基于能量的模型和使用退火重要性采樣的分?jǐn)?shù)匹配所報(bào)告的大估計(jì)[11],但它們與其他類型的基于似然性的生成模型沒(méi)有競(jìng)爭(zhēng)力[7]。
盡管如此,由于我們的樣品仍然具有高質(zhì)量,我們得出結(jié)論,擴(kuò)散模型具有歸納偏置,這使得它們成為優(yōu)秀的有損壓縮器。將變分界項(xiàng)視為率(rate),
視為失真(distortion),我們的CIFAR10模型具有最高質(zhì)量樣本,其率為1.78 bits/dim,失真為1.97 bits/dim,在0到255的范圍內(nèi),其均方根誤差為0.95。超過(guò)一半的無(wú)損碼長(zhǎng)(lossless codelength)描述了不可察覺(jué)的失真。
漸進(jìn)式有損壓縮? ? 我們可以進(jìn)一步探討我們模型的率-失真行為(rate-distortion behavior),通過(guò)引入一個(gè)反映公式(5)的漸進(jìn)有損碼(progressive lossy code),見(jiàn)Algorithms 3 and 4,其假設(shè)訪問(wèn)一個(gè)過(guò)程,例如最小隨機(jī)編碼[19,20],對(duì)于任何的分布和
該過(guò)程可以使用近似
bits on average 傳輸(transmit)樣本
,其中事先只有
可用于接收器。當(dāng)應(yīng)用于
,Algorithms 3 and 4使用等于等式(5)的總期望碼長(zhǎng)(total expected codelength)依次發(fā)送
。接收器在任何時(shí)間
都具有完全可用的部分信息
,并且可以逐步估計(jì)
? ? (15)
(We can probe further into the rate-distortion behavior of our model by introducing a progressive lossy code that mirrors the form of \cref{eq:vb}: see \cref{alg:sending,alg:receiving}, which assume access to a procedure, such as minimal random coding~\citep{harsha2007communication,havasi2018minimal}, that can transmit a sample \bx \sim q(\bx) using approximately \kl{q(\bx)}{p(\bx)} bits on average for any distributions p and q, for which only p is available to the receiver beforehand.)

由于等式(4),(隨機(jī)重建也是有效的,但我們這里不考慮它,因?yàn)樗故д娓y評(píng)估。)圖5顯示了CIFAR10測(cè)試集上產(chǎn)生的率-失真曲線。在每個(gè)時(shí)間
,失真計(jì)算為均方根誤差
,率計(jì)算為,在時(shí)間
,到目前為止接收的累積比特?cái)?shù)。在率-失真曲線的低率區(qū)間(low-rate region),失真急劇下降,表明大多數(shù)比特bits確實(shí)分配給了難以察覺(jué)的失真。

漸進(jìn)式生成????我們還運(yùn)行了一個(gè)漸進(jìn)式無(wú)條件生成過(guò)程,該過(guò)程由隨機(jī)bits的漸進(jìn)式解壓縮給出。換言之,我們預(yù)測(cè)逆過(guò)程的結(jié)果,使用Algorithm 2從逆過(guò)程采樣。圖6和圖10顯示了逆過(guò)程中產(chǎn)生的樣本質(zhì)量。大的圖像特征(Large scale image features)首先出現(xiàn),細(xì)節(jié)最后出現(xiàn)。圖7顯示了隨機(jī)預(yù)測(cè)
,對(duì)于不同的
,
被凍結(jié)。當(dāng)
很小時(shí),除了精細(xì)細(xì)節(jié)其它的都被保留,而當(dāng)
很大時(shí),只有大特征被保留。也許這些是概念壓縮的暗示[18]。

與自回歸解碼的連接????注意,變分界(5)可以改寫(xiě)為:
(關(guān)于推導(dǎo),請(qǐng)參見(jiàn)附錄A。)現(xiàn)在考慮將擴(kuò)散過(guò)程長(zhǎng)度設(shè)置為數(shù)據(jù)的維度,定義正向過(guò)程,使得
將所有probability mass放在x0上,前
個(gè)被屏蔽的坐標(biāo)(即
)屏蔽
坐標(biāo),設(shè)置
以將所有mass放置在空白圖像上,為了便于論證,取
是完全表達(dá)的條件分布。有了這些選擇,
,最小化
訓(xùn)練
以不變地復(fù)制坐標(biāo)
,并給定
預(yù)測(cè)
坐標(biāo)。因此,用這種特定擴(kuò)散訓(xùn)練
就是訓(xùn)練自回歸模型。
因此,我們可以將高斯擴(kuò)散模型(2)解釋為一種具有不能通過(guò)重新排序數(shù)據(jù)坐標(biāo)來(lái)表達(dá)的廣義比特排序的自回歸模型。先前的工作表明,這種重新排序引入了對(duì)樣本質(zhì)量有影響的歸納偏置[38],因此我們推測(cè)高斯擴(kuò)散具有類似的目的,可能會(huì)產(chǎn)生更大的影響,因?yàn)榕c掩蔽噪聲相比,高斯噪聲可能更自然地添加到圖像中。此外,高斯擴(kuò)散長(zhǎng)度不限于等于數(shù)據(jù)維度;例如,我們使用T=1000,這小于我們實(shí)驗(yàn)中32×32×3或256×256×3圖像的尺寸。高斯擴(kuò)散可以更短,用來(lái)快速采樣;也可以更長(zhǎng),用來(lái)更好的模型表現(xiàn)力。
We can therefore interpret the Gaussian diffusion model (2) as a kind of autoregressive model with a generalized bit ordering that cannot be expressed by reordering data coordinates. Prior work has shown that such reorderings introduce inductive biases that have an impact on sample quality [38]
4.4? ? 內(nèi)插
我們可以使用作為隨機(jī)編碼器在潛在空間中內(nèi)插源圖像
為
,然后通過(guò)逆過(guò)程解碼線性內(nèi)插的潛變量
到圖像空間,
。實(shí)際上,我們使用逆過(guò)程從源圖像的線性內(nèi)插損壞版本中去除偽影,如圖8(左)所示。我們修正了不同
值的噪聲,因此
和
保持不變。圖8(右)顯示了原始CelebA HQ 256×256圖像(
=500)的插值和重建。逆過(guò)程產(chǎn)生高質(zhì)量的重建,以及平滑變化屬性(如姿勢(shì)、膚色、發(fā)型、表情和背景)的合理插值,但不包括眼鏡。
越大,插值越粗(coarser),變化越大,
=1000時(shí),得到新樣本(附錄圖9)。

5????相關(guān)工作
雖然擴(kuò)散模型可能類似于流[9,46,10,32,5,16,23]和VAE[33,47,37],但擴(kuò)散模型的設(shè)計(jì)使得沒(méi)有參數(shù),并且top-level latent?
與數(shù)據(jù)
幾乎沒(méi)有互信息。我們的
-預(yù)測(cè)的逆過(guò)程參數(shù)化在擴(kuò)散模型和多個(gè)噪聲水平上的去噪分?jǐn)?shù)匹配之間建立了聯(lián)系,并使用退火Langevin動(dòng)力學(xué)進(jìn)行采樣[55,56]。然而,擴(kuò)散模型允許直接的對(duì)數(shù)似然評(píng)估,并且訓(xùn)練程序使用變分推斷明確訓(xùn)練Langevin動(dòng)力學(xué)采樣器(詳見(jiàn)附錄C)。這種聯(lián)系還具有相反的含義,即某種加權(quán)形式的去噪分?jǐn)?shù)匹配與變分推理相同,以訓(xùn)練類Langevin采樣器。用于學(xué)習(xí)馬爾可夫鏈的轉(zhuǎn)移算子的其他方法包括灌輸訓(xùn)練[2]、變分回溯[15]、生成隨機(jī)網(wǎng)絡(luò)[1]等[50、54、36、42、35、65]。
While diffusion models might resemble flows [9, 46, 10, 32, 5, 16, 23] and VAEs [33, 47, 37], diffusion models are designed so that q has no parameters and the top-level latent xT has nearly zero mutual information with the data x0. Our c-prediction reverse process parameterization establishes a connection between diffusion models and denoising score matching over multiple noise levels with annealed Langevin dynamics for sampling [55, 56]. Diffusion models, however, admit straightforward log likelihood evaluation, and the training procedure explicitly trains the Langevin dynamics sampler using variational inference (see Appendix C for details). The connection also has the reverse implication that a certain weighted form of denoising score matching is the same as variational inference to train a Langevin-like sampler. Other methods for learning transition operators of Markov chains include infusion training [2], variational walkback [15], generative stochastic networks [1], and others [50, 54, 36, 42, 35, 65].
通過(guò)分?jǐn)?shù)匹配和基于能量的建模之間的已知聯(lián)系,我們的工作可能會(huì)對(duì)基于能量的模型的其他最近工作產(chǎn)生影響[67–69,12,70,13,11,41,17,8]。我們的率-失真曲線是在一次變分邊界評(píng)估中隨時(shí)間計(jì)算的,這讓人想起在一次退火重要度采樣中如何計(jì)算率失真曲線和失真懲罰[24]。我們的漸進(jìn)解碼論證可以在卷積DRAW和相關(guān)模型[18,40]中看到,并且還可能導(dǎo)致自回歸模型的subscale排序或采樣策略的更通用設(shè)計(jì)[38,64]。
6????結(jié)論
我們已經(jīng)使用擴(kuò)散模型提供了高質(zhì)量的圖像樣本,并且我們發(fā)現(xiàn)了擴(kuò)散模型和用于訓(xùn)練馬爾可夫鏈的變分推理、去噪分?jǐn)?shù)匹配和退火Langevin動(dòng)力學(xué)(以及擴(kuò)展的基于能量的模型)、自回歸模型和漸進(jìn)有損壓縮之間的聯(lián)系。由于擴(kuò)散模型似乎對(duì)圖像數(shù)據(jù)具有極好的歸納偏置,我們期待著研究它們?cè)谄渌麛?shù)據(jù)模式中的效用,以及作為其他類型的生成模型和機(jī)器學(xué)習(xí)系統(tǒng)的組件。
更廣泛的影響
我們?cè)跀U(kuò)散模型方面的工作范圍與其他類型的深度生成模型的現(xiàn)有工作類似,例如努力提高GAN、流、自回歸模型等的樣本質(zhì)量。我們的論文代表了在使擴(kuò)散模型成為這一系列技術(shù)中普遍有用的工具方面取得的進(jìn)展,因此它可能有助于放大生成模型對(duì)更廣泛世界的任何影響。
不幸的是,有許多眾所周知的惡意使用生成模型。樣本生成技術(shù)可用于制作政治目的的高知名人物的假圖像和視頻。雖然假圖像早在軟件工具出現(xiàn)之前就已經(jīng)被人工創(chuàng)建了,但像我們這樣的生成模型使這一過(guò)程更加容易。幸運(yùn)的是,CNN生成的圖像目前存在允許檢測(cè)的細(xì)微缺陷[62],但生成模型的改進(jìn)可能會(huì)使檢測(cè)變得更加困難。生成模型還反映了它們所基于的數(shù)據(jù)集中的偏見(jiàn)。由于許多大型數(shù)據(jù)集是通過(guò)自動(dòng)化系統(tǒng)從互聯(lián)網(wǎng)收集的,因此很難消除這些偏見(jiàn),尤其是當(dāng)圖像未標(biāo)記時(shí)。如果在這些數(shù)據(jù)集上訓(xùn)練的生成模型的樣本在互聯(lián)網(wǎng)上激增,那么這些偏見(jiàn)只會(huì)進(jìn)一步加劇。
另一方面,擴(kuò)散模型可能對(duì)數(shù)據(jù)壓縮有用,隨著數(shù)據(jù)分辨率的提高和全球互聯(lián)網(wǎng)流的增加,數(shù)據(jù)壓縮可能對(duì)確保廣大受眾能夠訪問(wèn)互聯(lián)網(wǎng)至關(guān)重要。我們的工作可能有助于從圖像分類到強(qiáng)化學(xué)習(xí)等一系列下游任務(wù)的未標(biāo)記原始數(shù)據(jù)的表示學(xué)習(xí),擴(kuò)散模型也可能在藝術(shù)、攝影和音樂(lè)中的創(chuàng)造性應(yīng)用中變得可行。
額外信息
LSUN
LSUN數(shù)據(jù)集的FID分?jǐn)?shù)包括在表3中。標(biāo)有? 的分?jǐn)?shù)是作為基線被StyleGAN2報(bào)告,其他得分由其各自的作者報(bào)告。

漸進(jìn)式壓縮????我們?cè)诘?.3節(jié)中的有損壓縮論證只是一個(gè)概念證明,因?yàn)樗惴?和4依賴于最小隨機(jī)編碼等程序[20],這對(duì)于高維數(shù)據(jù)是不可處理的。這些算法作為Sohl Dickstein等人[53]的變分界(5)的壓縮解釋,尚未作為實(shí)際的壓縮系統(tǒng)。

A????額外的推導(dǎo)
下面是方程(5)的推導(dǎo),即擴(kuò)散模型的降方差變分界(reduced variance variational bound)。該材料來(lái)自Sohl Dickstein等人[53];我們?cè)谶@里包括它只是為了完整。


以下是的替代版本。它不易于估計(jì),但對(duì)我們?cè)诘?.3節(jié)中的討論有用。

B????實(shí)驗(yàn)細(xì)節(jié)
我們的神經(jīng)網(wǎng)絡(luò)架構(gòu)遵循PixelCNN++[52]的主干,它是基于Wide ResNet[72]的U-Net[48]。我們將weight normalization[49]替換為組歸一化[66],以使實(shí)現(xiàn)更簡(jiǎn)單。我們的32×32模型使用四種特征圖分辨率(32×32到4×4),我們的256×256模型使用六種。所有模型在每個(gè)分辨率級(jí)別上都有兩個(gè)卷積殘差塊,卷積塊之間具有16×16分辨率的自注意塊[6]。擴(kuò)散時(shí)間通過(guò)將Transformer正弦位置嵌入[60]添加到每個(gè)殘差塊中來(lái)指定。我們的CIFAR10模型有35.7 million個(gè)參數(shù),我們的LSUN和CelebA HQ型號(hào)有114 million參數(shù)。我們還通過(guò)增加濾波器數(shù)量(filter count),訓(xùn)練了LSUN臥室模型的更大變體,其參數(shù)約為256 million。
我們使用TPU v3-8(類似于8個(gè)V100 GPU)進(jìn)行所有實(shí)驗(yàn)。我們的CIFAR模型以每秒21步的速度進(jìn)行訓(xùn)練,批量大小為128(訓(xùn)練完成需要10.6小時(shí),800k步)對(duì)一批256幅圖像進(jìn)行采樣需要17秒。
我們的CelebA HQ/LSUN(256^2)模型以每秒2.2步的速度訓(xùn)練,批量大小為64,對(duì)一批量128幅圖像進(jìn)行采樣需要300秒。我們?cè)贑elebA HQ訓(xùn)練了0.5M步,LSUN Bedroom訓(xùn)練了2.4M步,LSUN Cat訓(xùn)練了1.8M步,而LSUN Church訓(xùn)練了1.2M步。較大的LSUN臥室模型訓(xùn)練了1.15M步。
除了最初選擇超參數(shù)以使網(wǎng)絡(luò)大小符合內(nèi)存限制之外,我們執(zhí)行了大部分超參數(shù)搜索以優(yōu)化CIFAR10樣本質(zhì)量,然后將結(jié)果設(shè)置遷移到其他數(shù)據(jù)集:
?????我們從一組恒定、線性和二次計(jì)劃中選擇了計(jì)劃,所有這些計(jì)劃都受到約束,使
。我們?cè)O(shè)置T=1000而不進(jìn)行掃描,并選擇從
到
的線性計(jì)劃。
?????我們通過(guò)掃描值{0.1、0.2、0.3、0.4}將CIFAR10的dropout率設(shè)置為0.1。在CIFAR10上沒(méi)有dropout的情況下,我們獲得了更差的樣本,這讓人想起了未正則化PixelCNN++[52]中的過(guò)擬合偽影。我們將其他數(shù)據(jù)集的dropout率設(shè)置為零,而不進(jìn)行掃描。
?????我們?cè)贑IFAR10訓(xùn)練期間使用了隨機(jī)水平翻轉(zhuǎn);我們嘗試了有和沒(méi)有翻轉(zhuǎn)的訓(xùn)練,發(fā)現(xiàn)翻轉(zhuǎn)可以稍微提高樣本質(zhì)量。我們還對(duì)除LSUN Bedroom外的所有其他數(shù)據(jù)集使用了隨機(jī)水平翻轉(zhuǎn)。
?????我們?cè)趯?shí)驗(yàn)過(guò)程的早期嘗試了Adam[31]和RMSProp,并選擇了前者。我們將超參數(shù)保留為其標(biāo)準(zhǔn)值。我們將學(xué)習(xí)率設(shè)置為,沒(méi)有任何掃描;對(duì)于256×256的圖像,我們將其降低到
,這對(duì)于以更大的學(xué)習(xí)率訓(xùn)練似乎是不穩(wěn)定的。
?????對(duì)于CIFAR10,我們將批量大小設(shè)置為128,對(duì)于較大的圖像,則設(shè)置為64。我們沒(méi)有掃過(guò)這些值。
?????我們?cè)谒p系數(shù)為0.9999的模型參數(shù)上使用EMA。我們沒(méi)有掃過(guò)該值。
最終實(shí)驗(yàn)進(jìn)行一次訓(xùn)練,并在整個(gè)訓(xùn)練過(guò)程中對(duì)樣本質(zhì)量進(jìn)行評(píng)估。在訓(xùn)練過(guò)程中,樣本質(zhì)量分?jǐn)?shù)和對(duì)數(shù)似然性報(bào)告在最小FID值上。在CIFAR10上,我們分別使用OpenAI[51]和TTUR[21]存儲(chǔ)庫(kù)中的原始代碼計(jì)算了50000個(gè)樣本的Inception和FID分?jǐn)?shù)。在LSUN上,我們使用StyleGAN2[30]存儲(chǔ)庫(kù)中的代碼計(jì)算了50000個(gè)樣本的FID分?jǐn)?shù)。CIFAR10和CelebA HQ按照TensorFlow數(shù)據(jù)集提供的加載(https://www.tensorflow.org/datasets),LSUN是使用StyleGAN的代碼編寫(xiě)的。數(shù)據(jù)集拆分(或缺少數(shù)據(jù)集拆分)是介紹其在生成建模環(huán)境中使用的論文中的標(biāo)準(zhǔn)。所有詳細(xì)信息都可以在源代碼版本中找到。
C????相關(guān)工作討論
我們的模型架構(gòu)、前向過(guò)程定義和先驗(yàn)與NCSN[55,56]有細(xì)微但重要的區(qū)別,這改善l樣本質(zhì)量,并且值得注意的是,我們直接將采樣器訓(xùn)練為潛在變量模型,而不是在訓(xùn)練后添加。更詳細(xì)地說(shuō):
1.????我們使用具有自注意的U-Net;NCSN使用具有擴(kuò)張卷積的RefineNet。我們用條件所有層(We condition all layers on t),通過(guò)添加Transformer正弦位置嵌入,而不是僅在歸一化層(NCSNv1)或僅在輸出(v2)處。
2.????擴(kuò)散模型按在每個(gè)正向過(guò)程步驟scale down數(shù)據(jù)(以的因子),所以在加噪聲時(shí)方差不會(huì)增長(zhǎng),從而為神經(jīng)網(wǎng)絡(luò)反向過(guò)程提供一致的縮放輸入(thus providing consistently scaled inputs to the neural net reverse process)。NCSN省略了該比例因子。
3.????與NCSN不同,我們的前向過(guò)程破壞信號(hào),確保
的先驗(yàn)和聚合后驗(yàn)之間的緊密匹配。與NCSN不同,我們的
非常小,這確保了前向過(guò)程可由具有條件高斯的馬爾可夫鏈可逆(that the forward process is reversible by a Markov chain with conditional Gaussians)。這兩個(gè)因素都防止了采樣時(shí)的分布偏移。
4.????我們的Langevin-like 采樣器具有嚴(yán)格從正向過(guò)程中的導(dǎo)出的 coefficients(學(xué)習(xí)率、噪聲尺度等)。因此,我們的訓(xùn)練程序直接訓(xùn)練我們的采樣器以匹配
步后的數(shù)據(jù)分布:它使用變分推理將采樣器訓(xùn)練為潛在變量模型。相比之下,NCSN的采樣器系數(shù)是通過(guò)手工事后設(shè)置的,其訓(xùn)練過(guò)程不能保證直接優(yōu)化采樣器的質(zhì)量度量。
D????樣品
其他樣本
圖11、13、16、17、18和19顯示了在CelebA HQ、CIFAR10和LSUN數(shù)據(jù)集上訓(xùn)練的擴(kuò)散模型的未固化樣本。
潛在結(jié)構(gòu)和逆過(guò)程隨機(jī)性????采樣期間,先驗(yàn)和Langevin動(dòng)力學(xué)是隨機(jī)的。為了理解第二個(gè)噪聲源的重要性,我們對(duì)CelebA 256×256數(shù)據(jù)集的多幅圖像進(jìn)行了采樣,這些圖像是在相同的中間潛變量上處理的。
圖7顯示了來(lái)自逆過(guò)程的多個(gè)抽樣(multiple draws),它們共享潛在
,對(duì)于
。為了實(shí)現(xiàn)這一點(diǎn),我們運(yùn)行單個(gè)反向鏈from an initial draw from the prior。在中間時(shí)間步,鏈被切分以對(duì)多個(gè)圖像進(jìn)行采樣。When the chain is split after the prior draw at?
,樣本差異顯著。然而,當(dāng)在更多步驟后切分鏈時(shí),樣本共享高級(jí)屬性,如性別、頭發(fā)顏色、眼鏡、飽和度、姿勢(shì)和面部表情。這表明像
這樣的中間latents編碼了這些屬性,盡管它們是不可察覺(jué)的。
從粗到細(xì)的插值? ? Figure 9 shows interpolations between a pair of source CelebA 256 × 256 images as we vary the number of diffusion steps to latent space interpolation. 增加擴(kuò)散步驟的數(shù)量會(huì)破壞源圖像中的更多結(jié)構(gòu),這是模型在反向過(guò)程中完成的。這允許我們?cè)诩?xì)粒度和粗粒度上進(jìn)行插值。在0擴(kuò)散步長(zhǎng)的限制情況下,插值在像素空間中混合源圖像。另一方面,在1000個(gè)擴(kuò)散步驟之后,源信息dropout,插值是新的樣本。










