擴(kuò)散模型就是自動(dòng)編碼器!DeepMind研究學(xué)者提出新觀點(diǎn)并論證
本文經(jīng)AI新媒體量子位(公眾號(hào)ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。
由于在圖像生成效果上可以與GAN媲美,擴(kuò)散模型最近成為了AI界關(guān)注的焦點(diǎn)。
谷歌、OpenAI過去一年都提出了自家的擴(kuò)散模型,效果也都非常驚艷。

另一邊,劍橋大學(xué)的學(xué)者David Krueger提出,自動(dòng)編碼器會(huì)不會(huì)卷土重來成為研究熱潮。

就在最近,DeepMind的一位研究科學(xué)家Sander Dieleman基于以上兩股熱潮,提出了自己的觀點(diǎn):
擴(kuò)散模型就是自動(dòng)編碼器?。?/span>

這一觀點(diǎn)立刻引起了不少網(wǎng)友的注意,大家看了Sander的闡述,都覺得說得很有道理,并且給了自己不少啟發(fā)。

那么,他到底是如何論證自己這一觀點(diǎn)的呢?
我們一起來看。
去噪自動(dòng)編碼器=擴(kuò)散模型
想要看透這二者之間的聯(lián)系,首先要看看它們自身的特點(diǎn)。
擴(kuò)散模型是一種新的圖像生成方法,其名字中的“擴(kuò)散”本質(zhì)上是一個(gè)迭代過程。
它最早于2015提出,是定義了一個(gè)馬爾可夫鏈,用于在擴(kuò)散步驟中緩慢地向數(shù)據(jù)添加隨機(jī)噪聲,然后通過學(xué)習(xí)逆轉(zhuǎn)擴(kuò)散過程從噪聲中構(gòu)建所需的數(shù)據(jù)樣本。
相比GAN、VAE和基于流的生成模型,擴(kuò)散模型在性能上有不錯(cuò)的權(quán)衡,最近已被證明在圖像生成方面有很大的潛力,尤其是與引導(dǎo)結(jié)合來兼得保真度和多樣性。

比如去年谷歌提出的級(jí)聯(lián)(Cacade)擴(kuò)散模型SR3,就是以低分辨率圖像為輸入,從純?cè)肼曋袠?gòu)建出對(duì)應(yīng)的高分辨率圖像。

OpenAI的GLIDE、ADM-G也是用上了擴(kuò)散模型,以此能生成更加更真實(shí)、多樣、復(fù)雜的圖像。

△GLIDE模型效果
接下來,再來看自動(dòng)編碼器的原理。
自動(dòng)編碼器可以理解為一個(gè)試圖去還原原始輸入的系統(tǒng),模型如下所示:

它的主要目的是將輸入轉(zhuǎn)換為中間變量,然后再將中間變量轉(zhuǎn)化為輸出,最后對(duì)比輸入和輸出,使它們二者之間無限接近。
當(dāng)模型框架中存在瓶頸層或者輸入被損壞時(shí),自動(dòng)編碼器能夠?qū)W習(xí)輸入本質(zhì)特征的特性,就可以大顯身手了。
在這里,作者主要拿來和擴(kuò)散模型對(duì)比的,便是去噪自動(dòng)編碼器。
它可以將損壞數(shù)據(jù)作為輸入,通過訓(xùn)練來預(yù)測(cè)未損壞的原始數(shù)據(jù)作為輸出。
看到這里是不是有點(diǎn)眼熟了?
向輸入中加入噪聲,不就是一種破壞輸入的方法嗎?
那么,去噪自動(dòng)編碼器和擴(kuò)散模型,原理上不就是有著異曲同工之妙嗎?

二者是如何等價(jià)的?
為了驗(yàn)證自己的這一想法,作者從原理方面對(duì)擴(kuò)散模型進(jìn)行了拆解。
擴(kuò)散模型的關(guān)鍵,在于一個(gè)分?jǐn)?shù)函數(shù) (?score function)

。
需要注意的是,這和

不同。(求梯度的參數(shù)不同)
通過后者,我們可以知道如何改變模型參數(shù)來增加向下輸入的可能性,而前者能夠讓我們知道如何改變輸入本身來增加可能性。
在訓(xùn)練過程中,希望在去噪中的每一點(diǎn)都使用相同的網(wǎng)絡(luò)。
為了實(shí)現(xiàn)這個(gè),需要引入一個(gè)額外的輸入

,由此可以看到在去噪中進(jìn)行到了哪一部分

。
當(dāng)t=0時(shí),對(duì)應(yīng)無噪聲數(shù)據(jù);t=1時(shí),對(duì)應(yīng)純?cè)肼晹?shù)據(jù)。
訓(xùn)練這個(gè)網(wǎng)絡(luò)的方法,就是用添加噪聲

來破壞輸入x。然后從

中預(yù)測(cè)

。
需要注意的是,在這里方差大小取決于t,因?yàn)?/span>它可以對(duì)應(yīng)特定點(diǎn)的噪聲水平。損失函數(shù)通常使用均方誤差(MSE),有時(shí)會(huì)用 λ(t)進(jìn)行加權(quán),因此某些噪聲水平會(huì)優(yōu)先于其他噪聲水平:

假設(shè)λ(t)=1時(shí),一個(gè)關(guān)鍵的觀測(cè)值為

或 x(它們二者是等價(jià)的),在這里可以用公式:

為了確保它們是等價(jià)的,可以考慮使用訓(xùn)練模型

來預(yù)測(cè)

,并加上一個(gè)新的殘差連接。從輸入到輸出的比例系數(shù)均為-1,這個(gè)調(diào)整后的模型則實(shí)現(xiàn)了:

由此,一個(gè)擴(kuò)散模型便逐漸變成一個(gè)去噪自動(dòng)編碼器了!
One More Thing
不過博客的作者也強(qiáng)調(diào),雖然擴(kuò)散模型和去噪自動(dòng)編碼器的效果等價(jià),但是二者之間不可完全互換。
并且以上得到的這個(gè)去噪自動(dòng)編碼器,和傳統(tǒng)類型也有不同:
- 第一,附加輸入t可以使單個(gè)模型用一組共用參數(shù)來處理噪聲級(jí)別不同的情況;
- 第二,因?yàn)楦雨P(guān)注模型的輸出,所以內(nèi)部沒有瓶頸層,這可能會(huì)導(dǎo)致“弊大于利”的結(jié)果。
而作者更想強(qiáng)調(diào)的是這二者之間存在的聯(lián)系。
此外他還表示,模型效果好的關(guān)鍵應(yīng)該在于共用參數(shù),這種方法已經(jīng)被廣泛應(yīng)用在表示學(xué)習(xí)上。
從這些成果中也能發(fā)現(xiàn)一個(gè)規(guī)律:
- 噪聲含量越高的模型,往往更容易學(xué)習(xí)到圖像的特征;?
- 噪聲含量越低的模型,則會(huì)更專注于細(xì)節(jié)。

作者認(rèn)為以上規(guī)律值得進(jìn)一步研究:
這意味著隨著噪聲水平逐步降低,擴(kuò)散模型能夠補(bǔ)充圖像細(xì)節(jié)也就越來越多。
最后,我們?cè)賮斫榻B一下這一發(fā)現(xiàn)的提出者——Sander Dieleman。
他現(xiàn)在是DeepMind的一位研究科學(xué)家,主要研究領(lǐng)域?yàn)樯赡P秃鸵魳泛铣伞?/span>
參與的主要研究工作有Spotify音樂平臺(tái)的內(nèi)容推薦模型。


































