国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion

這篇具有很好參考價(jià)值的文章主要介紹了一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


目前AIGC可以說是整個(gè)人工智能領(lǐng)域的當(dāng)紅炸子雞,而Diffusion Model(擴(kuò)散模型)正是目前各項(xiàng)圖像生成式應(yīng)用的主要架構(gòu)。本人并不主要研究圖像生成領(lǐng)域,不過由于項(xiàng)目需要也對(duì)其進(jìn)行過一些調(diào)研,故寫下這篇文章進(jìn)行分享與記錄。本文會(huì)從最簡(jiǎn)單的擴(kuò)散模型開始講起,然后根據(jù)原始模型存在的缺點(diǎn)介紹當(dāng)前的一些改進(jìn)方法,最后介紹一個(gè)經(jīng)典的可用于條件生成的擴(kuò)散模型Stable Diffusion。

1、擴(kuò)散模型簡(jiǎn)介 - Diffusion Model

如下圖所示,目前的圖像生成式模型主要可以分為四類:① 首先是生成對(duì)抗網(wǎng)絡(luò)GAN通過一種生成對(duì)抗式的方式進(jìn)行學(xué)習(xí),其生成器 G G G根據(jù)潛在空間的采樣 z z z生成圖像 x ′ x' x,判別器 D D D則判斷輸入圖像是真實(shí)圖像 x x x還是生成圖像 x ′ x' x;② 變分自編碼器VAE通過編碼器學(xué)習(xí)圖像分布 p ( x ) p(x) p(x)到先驗(yàn)分布 p ( z ) p(z) p(z)之間的轉(zhuǎn)換,解碼器學(xué)習(xí) p ( z ) p(z) p(z) p ( x ) p(x) p(x)的轉(zhuǎn)換關(guān)系,其在數(shù)學(xué)上可以被視為通過最大化ELBO進(jìn)行優(yōu)化;③ 標(biāo)準(zhǔn)化流模型則是通過構(gòu)造一個(gè)可逆的變換,建立圖像分布 p ( x ) p(x) p(x)與某個(gè)已知分布 p ( z ) p(z) p(z)的變換;④ 最后是擴(kuò)散模型Diffusion Model,其通過逐步增加高斯噪聲將其變?yōu)榧兏咚乖肼?span id="n5n3t3z" class="katex--inline"> z z z,再通過對(duì) z z z逐步去噪生成新的圖像。

一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion
簡(jiǎn)單地說,擴(kuò)散模型就分為兩個(gè)過程:“加噪”和“去噪”(也稱為前向過程和逆向過程)。

一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion

  • 加噪過程:不斷地往輸入數(shù)據(jù)中加入噪聲,直到其就變成純高斯噪聲,每個(gè)時(shí)刻都要給圖像疊加一部分高斯噪聲。其中后一時(shí)刻是前一時(shí)刻增加噪聲得到的。
    一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion
  • 去噪過程:由一個(gè)純高斯噪聲出發(fā),逐步地去除噪聲,得到一個(gè)滿足訓(xùn)練數(shù)據(jù)分布的圖片。

在數(shù)學(xué)上可以將擴(kuò)散模型的前向和逆向過程理解為馬爾科夫鏈,其特點(diǎn)是"無記憶性",即下一狀態(tài)的概率分布只能由當(dāng)前狀態(tài)決定,與之前的事件均與之無關(guān)。

在下一節(jié)本文將詳細(xì)介紹具體的加噪過程與去噪過程,以及整體的學(xué)習(xí)流程。

2、最簡(jiǎn)單的擴(kuò)散模型 - DDPM

我們從Denoising Diffusion Probabilistic Models(DDPM)這個(gè)工作出發(fā)來分析擴(kuò)散模型的前向與逆向過程

前向加噪過程

首先對(duì)于前向加噪過程涉及兩個(gè)公式:

  • α t = 1 ? β t \alpha_t = 1 - \beta_t αt?=1?βt?,其中 β \beta β會(huì)隨著時(shí)間步長(zhǎng) t t t線性增大(0.0001->0.02),從而 α \alpha α越來越??;
  • x t = α t x t ? 1 + 1 ? α t z t x_t= \sqrt{\alpha_t}x_{t-1}+\sqrt{1-\alpha_t}z_t xt?=αt? ?xt?1?+1?αt? ?zt? ,其中 x t ? 1 x_{t-1} xt?1?是前一階段的圖像,z是一個(gè)滿足標(biāo)準(zhǔn)高斯分布的噪音。

可以看到,模型的加噪其實(shí)就是將上一階段輸入的圖像與一個(gè)高斯分布采樣進(jìn)行加權(quán)融合,權(quán)重隨著時(shí)間步長(zhǎng)而繁盛變化,可以看到一開始所加噪聲幅度比較少,越往后噪聲幅度逐漸增加。并且根據(jù)上面兩個(gè)式子,我們可以推算得到任意時(shí)刻下 x t x_t xt? x 0 x_0 x0?的關(guān)系(根據(jù) t t t x 0 x0 x0直接得到 x t x_t xt?):
一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion

其中的 a t ^ \hat{a_t} at?^? t t t個(gè)時(shí)間內(nèi)的 a t a_t at?的連乘項(xiàng)

根據(jù)上式可以得到,當(dāng)時(shí)間步長(zhǎng) t t t足夠大時(shí),最終輸出 x t x_t xt?就會(huì)變成一個(gè)標(biāo)準(zhǔn)高斯分布(因?yàn)棣列∮?,并且其隨著時(shí)間一直衰減)。

逆向去噪過程

去噪過程仍然是逐步進(jìn)行的,其需要根據(jù) x t x_t xt?得到 x t ? 1 x_{t-1} xt?1?,我們利用貝葉斯公式進(jìn)行推導(dǎo)。如果我們已知 x t x_t xt? x 0 x_0 x0?去求 x t x_t xt?,其貝葉斯公式如下所示:
一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion
其中等式右邊都可以通過前向加噪過程中的推理公式求得每一項(xiàng)的分布,如下所示:
一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion
將這些正態(tài)分布代入到貝葉斯公式中(利用正態(tài)分布的乘除規(guī)則),得到下式:
一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion
然后進(jìn)行化簡(jiǎn)+合并同類項(xiàng)+配方, 如下所示。其中 σ \sigma σ方差已知的 → 常數(shù)(綠色框)。然后可以進(jìn)一步計(jì)算得到 μ \mu μ的表達(dá)式。
一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion

需要注意這個(gè)過程要對(duì)X0進(jìn)行換算,使得最后的結(jié)果只與Xt相關(guān)(此外還有一個(gè)待求參數(shù) z t z_t zt?

經(jīng)過上式的推導(dǎo)我們就能得到分布 p ( x t ? 1 ∣ x t ) p(x_{t-1}|x_t) p(xt?1?xt?),其滿足某個(gè)高斯分布。在這個(gè)分布中,方差是已知的(由α和β組成),而均值與 x t x_t xt?還有一個(gè)高斯噪聲 z t z_t zt?相關(guān),其中 x t x_t xt?是已知的。因此,我們只要求得這個(gè) z t z_t zt?,就可以得到從 x t x_t xt?得到 x t ? 1 x_{t-1} xt?1?的分布(知道了高斯分布的均值和方差)。而Diffusion Model采用一個(gè)深度模型 m o d e l ( X t , t ) model(X_t,t) model(Xt?,t)去預(yù)測(cè)輪次 t t t的噪聲 z t z_t zt?,根據(jù) x t x_t xt? z t z_t zt?,我們就可以得到去噪后的 x t ? 1 x_{t-1} xt?1?。這個(gè)模型采用U-Net結(jié)構(gòu)(共享權(quán)重-所有時(shí)間輪次都只用這一個(gè)模型)。

訓(xùn)練與推理流程

一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion
左邊是訓(xùn)練過程:隨機(jī)選擇一張圖片,均勻采樣得到時(shí)間輪次t,并從標(biāo)準(zhǔn)正態(tài)分布采樣得到噪聲ε【這也會(huì)當(dāng)做U-Net訓(xùn)練時(shí)的label】,通過公式得到第 t t t輪加噪后的圖像。將噪聲圖像和時(shí)間步長(zhǎng)一起輸入網(wǎng)絡(luò)預(yù)測(cè)噪聲值 z t z_t zt?,計(jì)算其與采樣噪聲ε之間的loss來更新模型參數(shù)(即U-Net網(wǎng)絡(luò));

訓(xùn)練主要關(guān)注的是逆向去噪過程,訓(xùn)練的目標(biāo)也是讓U-Net能夠根據(jù) x t x_t xt? t t t得到噪聲 z t z_t zt?.

右邊是生成過程:先從標(biāo)準(zhǔn)高斯分布中隨機(jī)采樣得到 X T X_T XT?,然后利用噪聲預(yù)測(cè)模型預(yù)測(cè)每一輪次的噪聲 z t z_t zt?,并根據(jù)上面推導(dǎo)的從 x t x_t xt? x t ? 1 x_{t-1} xt?1?的公式進(jìn)行逐步去噪。

模型優(yōu)缺點(diǎn)

對(duì)于一個(gè)圖像生成模型,存在三個(gè)方面的考慮:1. 高質(zhì)量樣本;2. 生成多樣性;3. 高效快速的采樣。但這三者之間往往難以權(quán)衡:
一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion

  • GAN可以生成高質(zhì)量的結(jié)果,同時(shí)可以快速采樣,但是生成結(jié)果缺乏多樣性,而且GAN網(wǎng)絡(luò)訓(xùn)練過程中會(huì)出現(xiàn)不穩(wěn)定和模式坍塌的問題;
  • VAE和Normalizing Flows可以快速采樣,而且生成的結(jié)果也有良好的多樣性, 但是生成的質(zhì)量卻比較差;
  • Diffusion生成的結(jié)果質(zhì)量比較高,甚至可以超過GAN, 而且結(jié)果也有良好的多樣性,但是Diffusion需要幾百甚至幾千步的采樣,這導(dǎo)致訓(xùn)練與推理十分緩慢。此外,Diffusion Model的訓(xùn)練也比較容易(相比于GAN)。

在下一節(jié)中,本文將會(huì)介紹一個(gè)用于減少Diffusion Model采用次數(shù)的工作。

3、減少擴(kuò)散模型的采樣步驟 - DiffusionGAN

Tackling the Generative Learning Trilemma with Denoising Diffusion GANs

目前已有很多工作提出用于減少擴(kuò)散模型的采樣次數(shù),這里介紹其中一項(xiàng)工作 - DiffusionGAN,其核心在于通過使用生成對(duì)抗模型來進(jìn)行l(wèi)arge step的快速采樣。

不過目前主要流行的方法主要是DDIM()

首先回顧Diffusion Model,其有兩個(gè)重要假設(shè):1. 去噪過程的分布 p θ ( x t ? 1 ∣ x t ) p_\theta(x_{t-1}|x_t) pθ?(xt?1?xt?)是高斯分布;2. 去噪過程的步數(shù)需要數(shù)百/數(shù)千的數(shù)量級(jí)。這里也引申出兩個(gè)問題:

  • 去噪過程真實(shí)分布是高斯分布嗎?或者在什么條件下是高斯分布?
  • 去噪過程的步數(shù)多少與高斯分布的假設(shè)是否相關(guān)?

分析高斯分布、采樣步長(zhǎng)

我們先回顧上一節(jié)用到的貝葉斯公式: q ( x t ? 1 ∣ x t ) ∝ q ( x t ∣ x t ? 1 ) q ( x t ? 1 ) q(x_{t-1}|x_t)\propto q(x_{t}|x_{t-1})q(x_{t-1}) q(xt?1?xt?)q(xt?xt?1?)q(xt?1?),其中前向加噪過程的分布 q ( x t ∣ x t ? 1 ) q(x_{t}|x_{t-1}) q(xt?xt?1?)服從高斯分布。那么在如下兩種情況下,去噪過程滿足高斯分布:

  • 當(dāng)步長(zhǎng) β t \beta_t βt?無限小的時(shí)候,這時(shí)候貝葉斯項(xiàng)中的 q ( x t ∣ x t ? 1 ) q(x_{t}|x_{t-1}) q(xt?xt?1?)占主導(dǎo),無論 q ( x t ) q(x_{t}) q(xt?)是什么形式,真實(shí)的去噪過程的分布與前向過程相同,都是高斯分布,這也是Diffusion Models需要大量采樣步驟的原因;

因?yàn)?span id="n5n3t3z" class="katex--inline"> q ( x t ) q(x_{t}) q(xt?) q ( x t ? 1 ) q(x_{t-1}) q(xt?1?)的分布基本一致

  • 當(dāng)數(shù)據(jù)邊緣分布 q ( x t ) q(x_{t}) q(xt?)是高斯分布時(shí),那么真實(shí)的去噪分布也是高斯分布的形式,因此有一種做法就是通過VAE將其編碼到高斯分布,再利用Diffusion模型(但這個(gè)VAE很難學(xué))。

高斯分布相乘仍然還是高斯分布

所以當(dāng)兩個(gè)條件都不滿足時(shí),真實(shí)的去噪過程分布會(huì)變得很復(fù)雜:
一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion
上圖是在一維數(shù)據(jù)集上模擬前向加噪過程的各數(shù)據(jù)分布,可以看到:采用較小的采樣步長(zhǎng)時(shí),真實(shí)去噪過程分布滿足高斯分布,如果步長(zhǎng)過大,真實(shí)去噪分布將變得非常復(fù)雜(幾種高斯混合在一起)。這說明在DDPM中,需要具有較多的采樣step的必要性,但這也影響著模型在推理時(shí)的采樣速率。

Diffusion GAN

DiffusionGAN的目標(biāo)是當(dāng)數(shù)據(jù)分布不為高斯分布時(shí)減少采樣的步數(shù)。在這種情況下,真實(shí)去噪分布也不再服從高斯分布形式,那么建模的反向過程的分布 p θ ( x t ? 1 ∣ x t ) p_\theta(x_{t-1}|x_t) pθ?(xt?1?xt?)也不再是高斯分布。因此diffusionGAN直接采用Conditional GAN去直接學(xué)習(xí)去噪分布(即 q ( x t ∣ x t ? 1 q(x_t|x_{t-1} q(xt?xt?1?),而不是顯式地去學(xué)習(xí)高斯分布的均值和方差。它訓(xùn)練目標(biāo)是擬合真實(shí)的去噪過程分布,如下所示:
一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion
其中GAN的判別器優(yōu)化目標(biāo)是去區(qū)分真實(shí)去噪過程分布與模式輸出的去噪分布:
一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion
但是我們也無法知道真實(shí)的去噪過程分布 q ( x t ? 1 ∣ x t ) q(x_{t-1}|x_{t}) q(xt?1?xt?)到底是什么,因此使用如下定義去重寫第一項(xiàng):
一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion
最終使得第一項(xiàng)變?yōu)橄率剑?br>一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion

利用條件概率的特性,將真實(shí)去噪分布 q ( x t ) q ( x t ? 1 ∣ x t ) q(x_{t})q(x_{t-1}|x_{t}) q(xt?)q(xt?1?xt?)一起進(jìn)行轉(zhuǎn)換成 q ( x 0 ) q ( x t ? 1 ∣ x 0 ) q ( x t ∣ x t ? 1 ) q(x_{0})q(x_{t-1}|x_{0})q(x_t|x_{t-1}) q(x0?)q(xt?1?x0?)q(xt?xt?1?),而這三項(xiàng)我們是比較公式直接可定義的

而GAN的生成器優(yōu)化目標(biāo)就是反著來,即讓判別器無法分辨模型輸出分布和真實(shí)分布:
一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion
Diffusion GAN模型的整體架構(gòu)如下所示:判別器需要輸入 x t ? 1 , x t , t x_{t-1},x_t,t xt?1?,xt?,t三項(xiàng),判斷輸入的 x t ? 1 x_{t-1} xt?1?是真實(shí)的還是模型模擬得到的。根據(jù)輸入的 x 0 x_0 x0?就可以在前向過程中直接得到真實(shí)的 x t ? 1 x_{t-1} xt?1? x t x_t xt?,這樣就解決了真實(shí)分布下的數(shù)據(jù)。而生成器則是根據(jù)輸入的 x t x_t xt?直接得到完全去噪后的 x 0 ′ x'_0 x0?,然后再對(duì) x 0 ′ x'_0 x0?進(jìn)行一次posterior sampling去得到 x t ? 1 ′ x'_{t-1} xt?1?,得到模型預(yù)測(cè)的結(jié)果:
一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion

這個(gè)過程就類似于DDPM的采樣過程,只不過我們直接得到了 x 0 x_0 x0? x t x_t xt?,直接算出 x t ? 1 x_{t-1} xt?1?就可以了(在DDPM預(yù)測(cè)噪聲 z t z_t zt?也是為了得到 x 0 x_0 x0?

一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion

總結(jié):生成器的目標(biāo)是根據(jù) x t x_t xt?得到 x 0 ′ x'_0 x0?,然后通過后驗(yàn)采樣得到 x t ? 1 ′ x'_{t-1} xt?1?;而判別器的目標(biāo)是根據(jù)輸入的 x t ? 1 , x t , t x_{t-1},x_t,t xt?1?,xt?,t來判斷 x t ? 1 x_{t-1} xt?1?是從真實(shí)加噪過程中得到的還是模型模擬出來的結(jié)果。

可以看到,生成器需要輸入 x t , z , t x_t,z,t xt?,z,t,相比于DDPM多引入了一個(gè)隨機(jī)latent code變量z,并且直接輸出 x 0 ′ x_0^{'} x0?。作者認(rèn)為引入 z z z可以使得建模出來的去噪分布能夠更復(fù)雜以及multimodal。

  • 為什么不直接輸出 x t ? 1 ′ x_{t-1}^{'} xt?1?? 因?yàn)?span id="n5n3t3z" class="katex--inline"> x t x_t xt?在不同時(shí)刻擾動(dòng)程度不同,直接用單個(gè)網(wǎng)絡(luò)預(yù)測(cè) x t ? 1 ′ x_{t-1}^{'} xt?1?很難,不如直接預(yù)測(cè)無噪聲的 x 0 x_0 x0?;
  • 什么不直接訓(xùn)練一個(gè)直接去生成樣本的GAN,而是采用這種逐步去噪的模式?主要是因?yàn)镚AN存在"訓(xùn)練不穩(wěn)定"+“模型崩塌”+ “判別器容易過擬合” + 一些其他原因。相比之下,DiffusionGAN將生成的過程拆分多步,每一步都比較簡(jiǎn)單。此外diffusion過程能夠平滑數(shù)據(jù)分布,判別器也不容易過擬合. 【多樣性更好 + 更穩(wěn)定】

總結(jié):DDPM之所以要這么多的采樣步長(zhǎng),是為了使得去噪過程 q ( x t ? 1 ∣ x t ) q(x_{t-1}|x_t) q(xt?1?xt?)為高斯分布。如果采樣步長(zhǎng)較大,那么 q ( x t ? 1 ∣ x t ) q(x_{t-1}|x_t) q(xt?1?xt?)的分布就復(fù)雜了,而DiffusionGAN就用一個(gè)GAN去直接學(xué)習(xí)這個(gè)分布,從而減少采樣步長(zhǎng),提升推理速度。

此外還有從其他角度分析的工作,比如DDIM不限制擴(kuò)散過程是一個(gè)馬爾科夫鏈,使得其在采樣時(shí)可以采用更小的采樣步數(shù)來加速生成過程(采樣一個(gè)子序列),詳情請(qǐng)見擴(kuò)散模型之DDIM。

4、潛在擴(kuò)散模型與條件生成模型 - Stable Diffusion

High-Resolution Image Synthesis with Latent Diffusion Models

雖然目前已經(jīng)存在一些方法來減少擴(kuò)散模型的采樣步驟數(shù),比如上文提到的DiffusionGAN和DDIM,但要訓(xùn)練一個(gè)不錯(cuò)的擴(kuò)散模型還是需要大量的GPU資源,這主要是因?yàn)槟P偷挠?xùn)練與推理過程都基于像素空間進(jìn)行。除此之外,作為一類生成式模型,擴(kuò)散模型應(yīng)該擁有條件建模能力(即根據(jù)輸入的條件信息生成對(duì)應(yīng)的圖像,例如文本、語(yǔ)義掩碼等)。

為了解決這兩個(gè)問題,Stable Diffusion分別提出了兩種解決措施:首先將模型從像素空間遷移到特征空間中,去除掉不必要的高頻和細(xì)節(jié)信息,在主要的語(yǔ)義層面進(jìn)行擴(kuò)散過程;其次引入條件建模,采用Cross-Attention操作將條件信息嵌入到生成去噪過程中。
一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion

感知圖像壓縮

為了使擴(kuò)散模型不在高分辨率的圖像空間中進(jìn)行訓(xùn)練與推理,Stable Diffusion額外引入一個(gè)感知圖像壓縮模型,其實(shí)也就是自編碼器。自編碼器包括一個(gè)編碼器和一個(gè)解碼器,其中編碼器負(fù)責(zé)將圖像x壓縮到一個(gè)潛在表征 z z z(latent representation),解碼器則是將這個(gè)潛在表征重構(gòu)到圖像空間(上圖中的 ε \varepsilon ε D D D)。

自編碼器在訓(xùn)練時(shí)引入了KL約束和VQ約束,并保留圖像的空間維度

在引入自編碼器后,擴(kuò)散模型就只需要在表征空間 z z z中進(jìn)行訓(xùn)練和推理,其空間維度是將原像素空間下采樣了 f = 2 m f=2^m f=2m倍。

這類將擴(kuò)散模型在特征空間中訓(xùn)練與推理的方法也稱為L(zhǎng)DM(Latent Diffusion Model)

一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion
上面的實(shí)驗(yàn)展示了不同采樣倍率的LDM在訓(xùn)練時(shí)的收斂情況,可以看到當(dāng)下采樣倍率過大和過小時(shí)效果都不太好,在4-16之間的效果較好。這意味著,下采樣倍率過大時(shí),圖像會(huì)損失較多信息,倍率過小時(shí)包含了太多無效信息,導(dǎo)致收斂時(shí)間較長(zhǎng)。
一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion
上面實(shí)驗(yàn)展示了不同采樣倍率的LDM的推理速度(其中不同的點(diǎn)代表不同的采樣步驟數(shù) - 這里參考DDIM,使用了{(lán)10,20,50,100,200}),可以看到在潛在空間中推理會(huì)顯著提升模型效率。

條件信息建模

為了引入條件信息,Stable Diffusion在擴(kuò)散模型中(即U-Net)引入了cross-attention機(jī)制,如上面的模型結(jié)構(gòu)圖所示,先通過一個(gè)條件編碼器將條件信息進(jìn)行編碼(比如文本信息就可以采用BERT這類transformer模型進(jìn)行編碼)。在得到條件編碼信息后,每一層采用下式計(jì)算注意力:
一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion
其中Q來自特征編碼 z t z_t zt?,而K,V來自條件信息 y y y。通過這種方式,模型就能夠在訓(xùn)練過程中學(xué)習(xí)到條件信息,從而在推理時(shí)根據(jù)不同的條件生成出不同的圖像。
一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion
上圖就是展示了Stable Diffusion對(duì)于不同的條件建模任務(wù)生成的圖像(上兩行是布局式圖像生成, layout-to-image,下兩行是文本-圖像生成)。

關(guān)于Stable Diffusion更多的量化實(shí)驗(yàn)結(jié)果就不放在文中了,其不僅可以進(jìn)行條件圖像生成,還可以進(jìn)行圖像超分、圖像重建等任務(wù),并且表現(xiàn)都非常好,詳情參照原文。

參考資料

[1] 強(qiáng)推!不愧是公認(rèn)的講的最好的【Diffusion模型全套教程】
[2] 擴(kuò)散模型之DDIM。
[3] 十分鐘讀懂stable diffusion model
[4] Stable Diffusion原理解讀文章來源地址http://www.zghlxwxcb.cn/news/detail-493277.html

到了這里,關(guān)于一文速覽擴(kuò)散模型優(yōu)化過程:從DDPM到條件生成模型Stable Diffusion的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【擴(kuò)散模型】DDPM,DDIM

    ddpm是一類生成模型,其工作原理是逐漸向數(shù)據(jù)中添加噪聲,然后學(xué)習(xí)如何逆轉(zhuǎn)這一過程。這個(gè)想法是通過一個(gè)稱為擴(kuò)散的過程將一個(gè)簡(jiǎn)單的分布(通常是高斯噪聲)轉(zhuǎn)換成一個(gè)復(fù)雜的數(shù)據(jù)分布(如圖像或音頻),然后反向生成新的樣本。 簡(jiǎn)單的過程可以描述如下: 從數(shù)據(jù)分布中的

    2024年01月17日
    瀏覽(46)
  • 擴(kuò)散模型之DDPM

    擴(kuò)散模型之DDPM

    最原文鏈接(英文):What are Diffusion Models? 原文鏈接:Diffusion擴(kuò)散模型大白話講解,看完還不懂?不可能 原文鏈接:DDPM解讀(一)| 數(shù)學(xué)基礎(chǔ),擴(kuò)散與逆擴(kuò)散過程和訓(xùn)練推理方法 hugging face diffusers(擴(kuò)散模型包):huggingface diffusers code 本文并非全部是個(gè)人理解,是覺得其他作者

    2024年02月10日
    瀏覽(21)
  • 論文閱讀_擴(kuò)散模型_DDPM

    論文閱讀_擴(kuò)散模型_DDPM

    英文名稱: Denoising Diffusion Probabilistic Models 中文名稱: 去噪擴(kuò)散概率模型 論文地址: http://arxiv.org/abs/2006.11239 代碼地址1: https://github.com/hojonathanho/diffusion (論文對(duì)應(yīng)代碼 tensorflow) 代碼地址2: https://github.com/AUTOMATIC1111/stable-diffusion-webui stable-diffusion-webui/modules/models/diffusion/ddpm_edi

    2024年02月09日
    瀏覽(28)
  • 擴(kuò)散模型原理+DDPM案例代碼解析

    擴(kuò)散模型原理+DDPM案例代碼解析

    擴(kuò)散模型和一般的機(jī)器學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)不太一樣!一般的神經(jīng)網(wǎng)絡(luò)旨在構(gòu)造一個(gè)網(wǎng)絡(luò)模型來擬合輸入數(shù)據(jù)與希望得到的輸出結(jié)果,可以把一般的神經(jīng)網(wǎng)絡(luò)當(dāng)作一個(gè)黑盒,這個(gè)黑盒通過訓(xùn)練使其輸入數(shù)據(jù)后就可以得到我們想要的結(jié)果。而擴(kuò)散模型包含了大量的統(tǒng)計(jì)學(xué)和數(shù)學(xué)相關(guān)

    2024年02月16日
    瀏覽(16)
  • 【擴(kuò)散模型】【AIGC】DDPM Note

    【擴(kuò)散模型】【AIGC】DDPM Note

    Abstract 我們使用擴(kuò)散概率模型給出了高質(zhì)量的圖像合成結(jié)果,擴(kuò)散概率模型是一類受非平衡熱力學(xué)啟發(fā)的潛變量模型。我們的最佳結(jié)果是根據(jù)擴(kuò)散概率模型和去噪分?jǐn)?shù)匹配與朗之萬動(dòng)力學(xué)之間的新聯(lián)系而設(shè)計(jì)的加權(quán)變分界上的訓(xùn)練,并且我們的模型自然地允許漸進(jìn)有損解壓縮

    2024年02月10日
    瀏覽(21)
  • 理解擴(kuò)散模型:Diffusion Models & DDPM

    理解擴(kuò)散模型:Diffusion Models & DDPM

    在前面的博客中,我們討論了生成模型VAE和GAN,近年來,新的生成模型——擴(kuò)散模型受到越來越多的關(guān)注,因此值得好好去研究一番。擴(kuò)散模型(Diffusion Models)最早由 [2] 于2015年提出,但直到2020年論文 [3] 發(fā)表之后才得到關(guān)注,本文詳細(xì)梳理了 [3] 中的公式推導(dǎo)部分,幫助大

    2023年04月08日
    瀏覽(32)
  • AI繪畫Stable Diffusion原理之?dāng)U散模型DDPM

    AI繪畫Stable Diffusion原理之?dāng)U散模型DDPM

    傳送門: stable diffusion:Git|論文 stable-diffusion-webui:Git Google Colab Notebook部署stable-diffusion-webui:Git kaggle Notebook部署stable-diffusion-webui:Git AI繪畫,輸入一段文本就能生成相關(guān)的圖像,stable diffusion便是其中一個(gè)重要分支。自己對(duì)其中的原理比較感興趣,因此開啟這個(gè)系列的文章

    2024年02月03日
    瀏覽(27)
  • 擴(kuò)散模型DDPM開源代碼的剖析【對(duì)應(yīng)公式與作者給的開源項(xiàng)目,diffusion model】

    論文地址:https://proceedings.neurips.cc/paper/2020/hash/4c5bcfec8584af0d967f1ab10179ca4b-Abstract.html 項(xiàng)目地址:

    2023年04月08日
    瀏覽(23)
  • AI繪畫能力的起源:從VAE、擴(kuò)散模型DDPM、DETR到ViT、Swin transformer

    AI繪畫能力的起源:從VAE、擴(kuò)散模型DDPM、DETR到ViT、Swin transformer

    2018年我寫過一篇博客,叫:《一文讀懂目標(biāo)檢測(cè):R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD》,該文相當(dāng)于梳理了2019年之前CV領(lǐng)域的典型視覺模型,比如 2014 R-CNN 2015 Fast R-CNN、Faster R-CNN 2016 YOLO、SSD 2017 Mask R-CNN、YOLOv2 2018 YOLOv3 隨著2019 CenterNet的發(fā)布,特別是2020發(fā)布的DETR(End-to-End

    2024年02月20日
    瀏覽(47)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包