基于Diffusion Model的圖像生成
Part 01
● 發(fā)展歷史 ●
1.1 起源
2015年在Deep Unsupervised Learning using Nonequilibrium Thermodynamics 這篇文章中提出,當時的生成模型比如VAE,有一個很大的難點,就是這類模型是先定義了條件分布,然后再定義變分后驗去適配,最后會導致需要同時優(yōu)化條件分布和變分后驗,然而這是很困難的。如果我們可以定義一個簡單的過程,把數(shù)據(jù)分布映射到標準高斯,“生成器”的任務就變成了簡單的擬合這個過程的逆過程的每一小步,這,就是diffusion model的核心思想。然而這篇文章當時并沒有掀起什么波瀾。
1.2 發(fā)展
時間來到2020年,基于前人的思想,提出了DDPM模型(Denoising Diffusion Probabilistic Models),相對于基礎的擴散模型,作者結合了擴散模型和去噪分數(shù),來引導訓練以及采樣的過程,帶來了生成圖像樣本適量的提升,使其在訓練更簡單穩(wěn)定的條件下,最后的結果可以和GAN模型相當。
圖2-DDPM的生成結果
然而DDPM模型也并非完美無缺,由于擴散過程是一個馬爾科夫鏈,其缺點就是需要比較大的擴散步數(shù)才可以獲得比較良好的效果,這導致了樣本生成很慢。
于是繼DDPM之后,時間來到2021年,Song等人提出了DDIM(Denoising Diffusioin Implicit Model),其改造了DDPM的擴散過程的采樣方法,將傳統(tǒng)的馬爾可夫擴散過程推廣到了非馬爾可夫過程,可以用更小的采樣步數(shù)來加速樣本生成,大大的提高了效率。
后續(xù)也有一些改進的工作,將擴散模型和傳統(tǒng)的生成網(wǎng)絡進行融合,比如將VAE和DM模型結合,GAN+DM的結合等等,筆者再此就不一一贅述了。
1.3 爆發(fā)
2022年,谷歌基于擴散模型推出了一款新的AI系統(tǒng),可以將文字描述轉為逼真圖像。
圖3
圖4
由谷歌給出的原理圖可以看出,輸入的文本首先經(jīng)過編碼,然后由一個文字轉圖像的擴散模型轉化為64*64的小圖,進一步的,利用超分辨率擴散模型對小圖進行處理,在進一步的迭代過程中提升圖像的分辨率,得到最后的生成結果——一張1024*1024的最終圖像。這個神奇的過程就像是大家使用中所感受到的一樣,輸入了一段文字——一只穿著紅色點點高領衫,戴著藍色方格帽子的金毛狗狗,然后程序就自動生成了上面你所看到的狗狗圖片。
另一款熱度頗高的現(xiàn)象級應用——novalAI,這本來是一個致力于AI寫作的網(wǎng)站,基于當前火熱的圖像生成,它結合網(wǎng)絡上的圖片資源,訓練了一個專注于二次元的圖像生成模型,從效果上看已經(jīng)初具人類畫手的水平。
圖5
除了傳統(tǒng)的輸入文字從而產(chǎn)出圖片之外,它還支持輸入圖片作為參考,可以讓AI基于已知的圖片基礎上生成新的圖片,一定程度上解決了AI生成結果不可控的問題。
Part 02
● 原理闡述 ●
那么,如此強大的AI技術,其工作過程到底是怎樣的呢?這里我們以比較經(jīng)典的DDPM模型作為例子給出簡要的過程:
2.1 前向過程
前向過程是一個往圖片上加噪聲的過程,目的是為了構建訓練樣本GT。
對于給定的初始數(shù)據(jù)分布x0~q(x),我們逐步向數(shù)據(jù)分布中添加高斯噪聲,這個過程有T次,每一步的結果是x1,x2,...,xt,噪聲的標準差表示為?,則加噪過程可以表述為:
正如前文所述,這是一個馬爾科夫鏈過程。最終會使得數(shù)據(jù)趨向于各向同性的高斯分布。
2.2 逆擴散過程
逆向過程是一個去噪的過程,如果得知,就可以從完全的標準高斯分布中還原出x0, 經(jīng)過證明如果
滿足高斯分布且
足夠小,那么
仍然是一個高斯分布,然后
無法簡單推斷得到,所以我們利用一個參數(shù)為
的深度學習模型去預測它,于是有:
如果得知x0,則通過貝葉斯公式有:
2.3 訓練過程
如果對于機器學習有所了解的讀者應該知道,所有模型的訓練都是為了能夠最優(yōu)化模型的參數(shù),從而得到靠譜的均值和方差,我們最大化模型預測分布的對數(shù)似然,即:
經(jīng)過一系列的推導,DDPM模型得到了最后的loss函數(shù)表達:
總結一下訓練的過程:
- 1.獲取輸入的x0, 從1...T中隨機采樣一個t
- 2.從標準高斯分布采樣一個噪聲
- 3.計算出損失并迭代最小化損失函數(shù)
圖6
Part 03
● 總結 ●
擴散模型已經(jīng)展示出了巨大的潛力,其相對于VAE模型不需要對準后驗分布,也不需要像GAN那樣訓練額外的判別器,在包括計算機視覺,生物信息學,語音處理等方面都有應用,其在圖像生成方面的應用,將助力于提升圖像創(chuàng)作的效率,可能讓AI生成根據(jù)條件生成若干圖片,人類對其結果進行篩選和修改會是將來2D繪畫領域的新的工作模式,這可能會很大程度上提升2D數(shù)字資產(chǎn)的生產(chǎn)效率。
然而伴隨著AI技術的發(fā)展,總是會有一些爭議,圖像生成領域也不例外,除了AI技術本身的問題,如生成的圖片結構錯誤,不合理之外,還伴隨著一些法律方面的糾紛,比如AI作品本身的版權問題。技術的問題可以通過技術本身的發(fā)展來解決,我們有理由相信隨著AI技術的發(fā)展,圖像生成最后會達到一個很高的水平,這會消滅大部分低端的繪畫相關的工作,極大的解放人類的生產(chǎn)力。版權問題可能還是需要政府部門對于相關產(chǎn)業(yè)的發(fā)展投入足夠多的關注,完善相關的政策和制度,需要我們對于新興的領域有更多的思考,從而讓AI技術更好的服務于我們。
參考文獻
??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???