自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Midjourney和Other Diffusion模型如何從隨機噪聲生成圖像

譯文 精選
人工智能 機器學(xué)習(xí)
擴散模型(如Midjourney和DALL-E 2)可以生成令人驚嘆的圖像,但它們的訓(xùn)練始終從完全的噪聲開始。

譯者 | 朱鋼

審核 | 重樓

擴散模型(如Midjourney和DALL-E 2)可以生成令人驚嘆的圖像,但它們的訓(xùn)練始終從完全的噪聲開始。

每當(dāng)機器學(xué)習(xí)(ML)領(lǐng)域取得進展或發(fā)生微小變化時,就會引起巨大的炒作。當(dāng)涉及到人工智能時,炒作往往會失去控制,并伴隨著各種荒謬的信息。最近,你可能已經(jīng)注意到越來越多的人開始使用Midjourney、ChatGPT、Copilot等技術(shù)。

然而,這些系統(tǒng)的真相往往平淡無奇。機器學(xué)習(xí)是一門數(shù)學(xué)科學(xué),ML模型的真實影響并不像一些博主所聲稱的那樣深遠。它們可能對某些領(lǐng)域的工作流程產(chǎn)生益處,甚至在某些情況下能夠徹底改變其中的大部分,但前提是用戶(無論是組織還是個人)必須對其內(nèi)部運作、限制、能力和潛力有足夠的理解。只有在這種情況下,它們才能發(fā)揮作用。

本文希望對擴散模型的工作原理進行一些闡述,例如備受歡迎的Midjourney、DALL-E 2和Stable Diffusion,尤其是它們的訓(xùn)練過程。本文包含數(shù)學(xué)表達式,但也以易理解的方式描述了每個變量代表的含義。

前向擴散

所有的擴散模型,包括Midjourney(雖然我們還沒有一篇描述它的論文),都是由多個元素組成的神經(jīng)網(wǎng)絡(luò),通過隨機性生成圖像。最初,它們被訓(xùn)練成逐漸將圖像轉(zhuǎn)變?yōu)樵肼?。這種方法建立了一個由時間步組成的馬爾可夫鏈,在這個鏈中,圖像經(jīng)過一系列的轉(zhuǎn)換,在t=0時從一個初始純凈狀態(tài)逐漸演化為t=T時的完全噪聲,即最后一步。

*馬爾可夫鏈?zhǔn)且幌盗凶兞康男蛄?,其中一個變量的狀態(tài)僅取決于前一個變量的狀態(tài)。

在每個步驟中應(yīng)用的時間步數(shù)可以從幾百到一千甚至更多,并且必須事先確定每個步驟中要應(yīng)用的噪聲水平;這被稱為noising schedule。在數(shù)學(xué)上,這種噪聲或前向擴散過程表示為:

q(xt|xt-1) = N(xt; √(1-βt) xt-1, βtI)

q(x0)是我們的實分布,而q(xt∣xt?1)表示的是前向擴散過程,其中xt始終在xt-1的條件下進行。符號N代表高斯分布或正態(tài)分布,由均值μ和方差σ^2定義。在這種情況下,均值由√(1-βt)xt-1表示,其中βt是我們的方差。噪聲在每個步驟中從正態(tài)分布中采樣,即?~N(0,I),而方差計劃是預(yù)先確定的。

簡單來說,我們在當(dāng)前步驟上有一個正態(tài)分布,其中的均值由√(1-βt)乘以上一步驟的圖像xt-1表示。除了這種重新縮放之外,我們還在每次迭代中向圖像添加了一個小的噪聲βtI。將β視為一個很小的正標(biāo)量值,例如0.001,它被有意設(shè)置得很小。

在每個時間步驟中,我們會執(zhí)行上述的操作。但是,我們還可以為將在xt、x2、x3、...、xT序列中生成的所有樣本定義一個聯(lián)合分布。它的形式如下所示:

q(x1:T|x0) = ∏t=1:T q(xt|xt-1)

正如你所看到的,這個聯(lián)合分布由在時間步驟1到T中創(chuàng)建的條件分布q(xt|xt-1)的乘積∏表示,并給定初始圖像x0。

好的,但是我們可以跳過鏈中的鏈接來生成任何 xt 而不完成前面的所有步驟嗎?

是的,我們可以這樣做。

這是因為我們使用一個簡單的高斯核來擴散數(shù)據(jù)。為了做到這一點,我們計算標(biāo)量值αt,它等于1 - βt,并且我們將變量α?t定義為從t1到t的αs的乘積。前向擴散方差βt對于整個過程是至關(guān)重要的。它們可以通過重新參數(shù)化學(xué)習(xí),也可以作為超參數(shù)保持不變,但它們總是被設(shè)計成使得α?t在最后一步T上趨近于0。這確保了擴散后的數(shù)據(jù)具有正態(tài)分布,這對于逆向生成過程至關(guān)重要。

在我們擁有了核函數(shù)之后,我們可以隨機采樣任何xt,因為:xt = √?t x0 + √(1 - ?t),其中ε(噪聲)是從均值為0,協(xié)方差矩陣為單位矩陣I的正態(tài)分布中得到的。

簡單來說,如果我們需要生成表示馬爾可夫鏈中的一個隨機步驟的xt,只要我們有x0、α?t和噪聲項ε,我們就可以毫無問題地生成它。

生成過程

讓我們現(xiàn)在深入探討逆向過程,即模型生成新樣本的過程。首先要理解的是,我們無法直接計算去噪分布q(xt-1|xt),因為這將需要知道數(shù)據(jù)集中所有圖像的分布。然而,我們可以使用貝葉斯定理來顯示該分布與邊緣數(shù)據(jù)分布q(xt-1)和在步驟t上的擴散核q(xt|xt-1)的乘積成正比:

q(xt-1|xt) ∝ q(xt-1) q(xt|xt-1)

然而,乘積和分布仍然是難以處理的。因此,我們需要對條件概率分布進行近似。幸運的是,由于在前向過程中噪聲注入βt很小,我們可以使用正態(tài)分布來進行近似。

我們可以將對條件概率分布的近似表示為pθ(xt?1∣xt),其中θ是模型的參數(shù),通過梯度下降進行迭代優(yōu)化。

當(dāng)我們記住馬爾可夫鏈的終點是一個正態(tài)分布時,我們可以假設(shè)逆向過程也是高斯分布。因此,它必須由均值μθ和方差Σθ參數(shù)化,這是我們的神經(jīng)網(wǎng)絡(luò)需要計算的。

這是過程的參數(shù)化表示:pθ(xt?1∣xt)=N(xt?1;μθ(xt,t),Σθ(xt,t))

在原始論文《Denoising Diffusion Probabilistic Models》中,研究人員發(fā)現(xiàn)將方差固定為Σθ(xt, t) = σ^2tI是在樣本質(zhì)量方面的最佳選擇。特別是,他們發(fā)現(xiàn)將方差固定為β與將方差固定為βt的結(jié)果幾乎相同,因為當(dāng)我們在過程中添加擴散步驟時,β和βt保持接近,因此實際上是均值而不是方差決定了分布。

注:在稍后發(fā)布的論文《Improved Denoising Diffusion Probabilistic Models》中,研究人員確實對方差進行了參數(shù)化。這有助于提高對數(shù)似然,但并沒有提高樣本效率。

那么,我們?nèi)绾未_定目標(biāo)函數(shù)來推導(dǎo)均值呢?

由于q和pθ可以被視為變分自動編碼器(Variational Autoencoder),它是一種通過將數(shù)據(jù)編碼成潛在空間然后再解碼回輸入空間來近似數(shù)據(jù)分布的模型,因此我們可以使用變分上界(ELBO)目標(biāo)函數(shù)來訓(xùn)練它。它最小化了相對于x0的負對數(shù)似然。在這里,變分下界是每個時間步驟上損失的總和,而每個損失項是兩個高斯分布之間的KL散度(KL divergence)。

*潛在空間是一個壓縮空間,在其中輸入特征由不同的維度表示;它有助于模型輕松地發(fā)現(xiàn)數(shù)據(jù)對象之間的模式和相似性。

**KL散度是衡量兩個分布之間距離的度量。它基本上告訴你,如果用模型分布來近似目標(biāo)分布,你將會失去多少信息。

正如您所記得的,我們可以在任何以x0為條件的噪聲水平上對xt進行采樣。由于q(xt|x0) = N(xt;√(α?t)x0, (1-α?t)I),我們可以通過向x0添加和縮放噪聲來得到任何xt。此外,由于α?t是βt(預(yù)設(shè)的方差)的函數(shù),我們可以在訓(xùn)練過程中輕松優(yōu)化損失函數(shù)L中的隨機項。

這一屬性的另一個重要優(yōu)點是,我們可以將網(wǎng)絡(luò)轉(zhuǎn)變?yōu)樵肼曨A(yù)測器而不是均值預(yù)測器。具體來說,可以對均值進行重新參數(shù)化,使模型使用εθ(xt, t)在KL散度項中近似添加的噪聲。例如:

μθ(xt, t) = (1/√αt) (xt - (βt/√(1-αˉt)) εθ(xt, t))

最后,我們得到了損失函數(shù)Lt的目標(biāo)方程(在隨機的時間步驟上,假設(shè)噪聲是從隨機分布N(0, I)中采樣得到的):

||ε - εθ(xt, t)||^2 = ||ε - εθ(√αˉt x0 + √(1-αˉt)ε, t)||^2

其中,x0是未經(jīng)破壞的圖像,?是在時間步驟t上采樣得到的純噪聲,εθ(xt, t)是通過將近似值xt通過由θ參數(shù)化的神經(jīng)網(wǎng)絡(luò)傳遞而得到的預(yù)測噪聲。

該網(wǎng)絡(luò)通過預(yù)測噪聲與真實噪聲之間的均方誤差進行優(yōu)化。通過最小化真實誤差和預(yù)測誤差之間的距離,我們教導(dǎo)模型逐漸做出更準(zhǔn)確的近似。總而言之,這里有一系列的訓(xùn)練步驟,為我們提供了模型,如Midhjourney和穩(wěn)定擴散,可以從純噪聲中生成圖像。

圖片來自原始論文圖片來自原始論文

譯者介紹

朱鋼,51CTO社區(qū)編輯,11年一線開發(fā)經(jīng)驗。目前在北京圖伽健康從事醫(yī)療軟件研發(fā)工作。

原文標(biāo)題:How Midjourney and Other Diffusion Models Create Images from Random Noise,作者:Rostyslav Demush

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2022-12-18 19:49:45

AI

2023-05-26 15:53:48

MidjourneyAI圖像

2025-02-28 09:15:00

2023-11-17 08:46:26

2021-04-29 14:40:11

數(shù)據(jù)安全隱私

2024-12-06 10:21:04

2022-10-24 10:18:04

自然語言計算機視覺

2023-05-16 08:00:00

開源項目MONAI醫(yī)學(xué)圖像

2025-02-03 12:33:08

2023-01-16 13:47:59

谷歌模型

2022-09-13 15:40:56

模型分析

2023-03-19 17:21:31

CLIP架構(gòu)人工智能

2023-01-05 13:11:20

模型

2023-11-29 11:30:17

PDF語言模型

2023-07-12 14:28:45

谷歌模型

2020-10-27 09:37:43

PyTorchTensorFlow機器學(xué)習(xí)

2023-11-20 15:26:18

人工智能GenAI模型

2023-07-02 14:14:37

ChatGPTMidjourney

2024-08-26 07:40:00

AI訓(xùn)練

2023-01-10 16:08:04

人工智能擴散模型
點贊
收藏

51CTO技術(shù)棧公眾號