基于Diffusion Model的圖像生成
Part 01
● 發(fā)展歷史 ●
1.1 起源
2015年在Deep Unsupervised Learning using Nonequilibrium Thermodynamics 這篇文章中提出,當時的生成模型比如VAE,有一個很大的難點,就是這類模型是先定義了條件分布,然后再定義變分后驗去適配,最后會導(dǎo)致需要同時優(yōu)化條件分布和變分后驗,然而這是很困難的。如果我們可以定義一個簡單的過程,把數(shù)據(jù)分布映射到標準高斯,“生成器”的任務(wù)就變成了簡單的擬合這個過程的逆過程的每一小步,這,就是diffusion model的核心思想。然而這篇文章當時并沒有掀起什么波瀾。
1.2 發(fā)展
時間來到2020年,基于前人的思想,提出了DDPM模型(Denoising Diffusion Probabilistic Models),相對于基礎(chǔ)的擴散模型,作者結(jié)合了擴散模型和去噪分數(shù),來引導(dǎo)訓(xùn)練以及采樣的過程,帶來了生成圖像樣本適量的提升,使其在訓(xùn)練更簡單穩(wěn)定的條件下,最后的結(jié)果可以和GAN模型相當。

圖2-DDPM的生成結(jié)果
然而DDPM模型也并非完美無缺,由于擴散過程是一個馬爾科夫鏈,其缺點就是需要比較大的擴散步數(shù)才可以獲得比較良好的效果,這導(dǎo)致了樣本生成很慢。
于是繼DDPM之后,時間來到2021年,Song等人提出了DDIM(Denoising Diffusioin Implicit Model),其改造了DDPM的擴散過程的采樣方法,將傳統(tǒng)的馬爾可夫擴散過程推廣到了非馬爾可夫過程,可以用更小的采樣步數(shù)來加速樣本生成,大大的提高了效率。
后續(xù)也有一些改進的工作,將擴散模型和傳統(tǒng)的生成網(wǎng)絡(luò)進行融合,比如將VAE和DM模型結(jié)合,GAN+DM的結(jié)合等等,筆者再此就不一一贅述了。
1.3 爆發(fā)
2022年,谷歌基于擴散模型推出了一款新的AI系統(tǒng),可以將文字描述轉(zhuǎn)為逼真圖像。

圖3

圖4
由谷歌給出的原理圖可以看出,輸入的文本首先經(jīng)過編碼,然后由一個文字轉(zhuǎn)圖像的擴散模型轉(zhuǎn)化為64*64的小圖,進一步的,利用超分辨率擴散模型對小圖進行處理,在進一步的迭代過程中提升圖像的分辨率,得到最后的生成結(jié)果——一張1024*1024的最終圖像。這個神奇的過程就像是大家使用中所感受到的一樣,輸入了一段文字——一只穿著紅色點點高領(lǐng)衫,戴著藍色方格帽子的金毛狗狗,然后程序就自動生成了上面你所看到的狗狗圖片。
另一款熱度頗高的現(xiàn)象級應(yīng)用——novalAI,這本來是一個致力于AI寫作的網(wǎng)站,基于當前火熱的圖像生成,它結(jié)合網(wǎng)絡(luò)上的圖片資源,訓(xùn)練了一個專注于二次元的圖像生成模型,從效果上看已經(jīng)初具人類畫手的水平。

圖5
除了傳統(tǒng)的輸入文字從而產(chǎn)出圖片之外,它還支持輸入圖片作為參考,可以讓AI基于已知的圖片基礎(chǔ)上生成新的圖片,一定程度上解決了AI生成結(jié)果不可控的問題。
Part 02
● 原理闡述 ●
那么,如此強大的AI技術(shù),其工作過程到底是怎樣的呢?這里我們以比較經(jīng)典的DDPM模型作為例子給出簡要的過程:
2.1 前向過程
前向過程是一個往圖片上加噪聲的過程,目的是為了構(gòu)建訓(xùn)練樣本GT。
對于給定的初始數(shù)據(jù)分布x0~q(x),我們逐步向數(shù)據(jù)分布中添加高斯噪聲,這個過程有T次,每一步的結(jié)果是x1,x2,...,xt,噪聲的標準差表示為?,則加噪過程可以表述為:

正如前文所述,這是一個馬爾科夫鏈過程。最終會使得數(shù)據(jù)趨向于各向同性的高斯分布。
2.2 逆擴散過程
逆向過程是一個去噪的過程,如果得知
,就可以從完全的標準高斯分布中還原出x0, 經(jīng)過證明如果
滿足高斯分布且
足夠小,那么
仍然是一個高斯分布,然后
無法簡單推斷得到,所以我們利用一個參數(shù)為
的深度學(xué)習(xí)模型去預(yù)測它,于是有:

如果得知x0,則通過貝葉斯公式有:

2.3 訓(xùn)練過程
如果對于機器學(xué)習(xí)有所了解的讀者應(yīng)該知道,所有模型的訓(xùn)練都是為了能夠最優(yōu)化模型的參數(shù),從而得到靠譜的均值和方差,我們最大化模型預(yù)測分布的對數(shù)似然,即:

經(jīng)過一系列的推導(dǎo),DDPM模型得到了最后的loss函數(shù)表達:

總結(jié)一下訓(xùn)練的過程:
- 1.獲取輸入的x0, 從1...T中隨機采樣一個t
- 2.從標準高斯分布采樣一個噪聲

- 3.計算出損失并迭代最小化損失函數(shù)

圖6
Part 03
● 總結(jié) ●
擴散模型已經(jīng)展示出了巨大的潛力,其相對于VAE模型不需要對準后驗分布,也不需要像GAN那樣訓(xùn)練額外的判別器,在包括計算機視覺,生物信息學(xué),語音處理等方面都有應(yīng)用,其在圖像生成方面的應(yīng)用,將助力于提升圖像創(chuàng)作的效率,可能讓AI生成根據(jù)條件生成若干圖片,人類對其結(jié)果進行篩選和修改會是將來2D繪畫領(lǐng)域的新的工作模式,這可能會很大程度上提升2D數(shù)字資產(chǎn)的生產(chǎn)效率。
然而伴隨著AI技術(shù)的發(fā)展,總是會有一些爭議,圖像生成領(lǐng)域也不例外,除了AI技術(shù)本身的問題,如生成的圖片結(jié)構(gòu)錯誤,不合理之外,還伴隨著一些法律方面的糾紛,比如AI作品本身的版權(quán)問題。技術(shù)的問題可以通過技術(shù)本身的發(fā)展來解決,我們有理由相信隨著AI技術(shù)的發(fā)展,圖像生成最后會達到一個很高的水平,這會消滅大部分低端的繪畫相關(guān)的工作,極大的解放人類的生產(chǎn)力。版權(quán)問題可能還是需要政府部門對于相關(guān)產(chǎn)業(yè)的發(fā)展投入足夠多的關(guān)注,完善相關(guān)的政策和制度,需要我們對于新興的領(lǐng)域有更多的思考,從而讓AI技術(shù)更好的服務(wù)于我們。
參考文獻
??https://github.com/Yutong-Zhou-cv/Awesome-Text-to-Image??
??https://lilianweng.github.io/posts/2021-07-11-diffusion-models/#forward-diffusion-process??
??https://link.zhihu.com/?target=https%3A//gweb-research-imagen.appspot.com/paper.pdf???





































