MSRA:視覺生成六大技術(shù)問題
文生圖、文生視頻,視覺生成賽道火熱,但仍存在亟需解決的問題。
微軟亞洲研究院研究員古紓旸對此進(jìn)行了梳理,他認(rèn)為視覺信號拆分是最本質(zhì)的問題。
生成模型的目標(biāo)是擬合目標(biāo)數(shù)據(jù)分布,然而,目標(biāo)數(shù)據(jù)分布過于復(fù)雜,難以直接擬合。
因此,往往需要將復(fù)雜的信號做拆分,拆分成多個簡單的分布擬合問題,再分別求解。信號拆分方式的不同產(chǎn)生了不同的生成模型。
此外,針對一些熱點問題他也展開進(jìn)行了分析,一共六大問題,例如diffusion模型是否是最大似然模型?diffusion模型的scaling law是什么樣的?
以下是部分問題的具體討論。
視覺信號拆分問題
為什么大語言模型能這么成功?
作者認(rèn)為,最本質(zhì)的原因是文本信號拆分具有“等變性”。
具體來說,對于一個文本序列A=x0,x1,x2…語言模型會根據(jù)位置把P(x0,x1,x2…)的聯(lián)合數(shù)據(jù)分布拆分成多個條件概率分布擬合問題:
P(x0),P(x1|x0),P(x2|x0,x1)…對于一個文本,比如說“我喜歡打籃球”,用自回歸的方式進(jìn)行擬合,那么對于從“打”回歸“籃球”這個子任務(wù),和它是文本中的第幾個詞沒有關(guān)系。
也就是說,不論對于第一個任務(wù)P(x1|x0)還是第三個任務(wù)P(x3|x0,x1,x2),要擬合分布的其實是“一致”的,或者叫“等變”的。
因此,可以利用一個模型,同時去解決這些相關(guān)性很高的任務(wù)。
然而對于圖像信號,目前常見的拆分方式包括:圖像塊拆分,深度拆分,噪聲強(qiáng)度拆分,以及可學(xué)習(xí)拆分。這些拆分方式都不能保證是“等變的”(equivariant)。
圖像塊拆分將圖像根據(jù)空間位置分成圖像塊,后面的圖像塊根據(jù)前面的進(jìn)行生成,代表性的工作有iGPT、DALL-E等。
然而圖像不同位置有獨立的inductive bias,具體來說,雖然單行的塊內(nèi)具有連續(xù)性,但是一行的最后一個塊與下一行的第一個塊之間卻缺乏這種連續(xù)性。
再比如對于人臉數(shù)據(jù)集,人臉大多出現(xiàn)在圖像的中間位置,而不是圖像邊緣。這些都說明了,根據(jù)空間位置來進(jìn)行劃分,不同任務(wù)學(xué)習(xí)目標(biāo)有差異,不具備“等變性”。
深度拆分的代表性工作包括VQVAE2、RQVAE等。一般遵循coarse-to-fine的方式進(jìn)行生成,前期擬合低頻信號,后期擬合高頻信號。因此,這個學(xué)習(xí)目標(biāo)的不同也導(dǎo)致了缺乏“等變性”。
此外,這類方法還可能導(dǎo)致“無效編碼”問題,將在后文介紹。
擴(kuò)散模型根據(jù)噪聲強(qiáng)度對圖像信號進(jìn)行拆分。對于數(shù)據(jù)集中的圖像x0,將其加噪成一個序列x0,x1,x2,…xN,其中xN幾乎是純噪聲,生成過程其實是在解決N個去噪任務(wù):P(xt|xt+1)。
然而,之前的工作(MinSNR、eDiff-I)發(fā)現(xiàn)盡管都是去噪任務(wù),但是不同噪聲強(qiáng)度的去噪任務(wù)仍然有很大的差異,不具備“等變性”。
最后一類是可學(xué)習(xí)的拆分方式。代表性工作包括VDM、DSB等等。這類想法大多基于擴(kuò)散模型的噪聲強(qiáng)度拆分,不過加噪過程是學(xué)習(xí)得到的,而不是提前的定義好的。
其中VDM學(xué)習(xí)加噪過程中的參數(shù),DSB通過一個網(wǎng)絡(luò)來學(xué)習(xí)如何加噪。然而,這些工作目前只是有潛力保證“等變性”,在實踐中尚未成功。此外,他們目前仍然存在一些挑戰(zhàn)(參見SDSB)。
“不等變性”導(dǎo)致的問題是:既然各個任務(wù)有沖突,那我們用不用共享參數(shù)的模型來擬合這些分布呢?
?
如果用,那共享參數(shù)的模型很難同時擬合這些目標(biāo)有差異的任務(wù),如果不用,會導(dǎo)致模型的參數(shù)量爆炸,實際不可行。目前實踐中可能會同時使用多種信號拆分方式來簡化分布復(fù)雜度,然而該做法依舊是“非等變”的。
基于圖像信號拆解的“非等變性”,會引發(fā)一系列問題。文章的后續(xù)章節(jié)討論的問題和圖像拆解的“等變性”都息息相關(guān)。下面將簡單進(jìn)行介紹。
Tokenization問題
如果采用RQVAE進(jìn)行編碼,很容易出現(xiàn)當(dāng)編碼長度比較長的時候,后續(xù)的編碼不能幫助提升重建質(zhì)量,甚至對重建質(zhì)量有損害的問題。
作者通過一定的數(shù)學(xué)簡化,對該問題提供了一個直觀的解釋,分析了該問題出現(xiàn)的原因。
讓D代表解碼器,I代表原始輸入圖像。不同深度的編碼由x0,x1,x2,…xN表示,其中N是編碼的深度在本例中假設(shè)為4。
因此,RQVAE的重構(gòu)損失L可以被認(rèn)為是以下四個重構(gòu)損失的組合:
為了簡化分析,提出兩個假設(shè)。首先,假定解碼器執(zhí)行線性變換,以便更簡單地分析結(jié)果。其次,按照常規(guī)配置,對四種損失賦予相同的權(quán)重?;谶@些假設(shè),可以按以下方式簡化重構(gòu)損失的計算:
因此,最小化圖像級重構(gòu)損失的潛在空間表示將是:
這不能保證x0+x1+x2+x3比x0+x1+x2更接近arg min X。假設(shè)不同深度的編碼共享一個通用代碼本,并獨立同分布,那么后者肯定比前者更接近理論最小值。
因此,這導(dǎo)致了無效編碼問題。
擴(kuò)散模型是最大似然模型嗎?
盡管DDPM從最大似然的角度出發(fā),推導(dǎo)了擴(kuò)散模型的理論。然而,有很多發(fā)現(xiàn)似乎表明,擴(kuò)散模型并非最大似然模型。
VDM++證明了,當(dāng)不同噪聲強(qiáng)度處的損失函數(shù)權(quán)重滿足單調(diào)關(guān)系時,擴(kuò)散模型是最大似然模型。然而,實際訓(xùn)練中,往往并不采用這樣的損失函數(shù)權(quán)重。
在測試階段,Classifier-free guidance的采用也使得優(yōu)化目標(biāo)不再是最大似然。在評估階段,直接用NLL損失作為衡量指標(biāo),并不能準(zhǔn)確評估生成模型的好壞。
這都引出了一個問題:為什么最大似然的方法并不能獲得最優(yōu)的結(jié)果?
?
針對該問題,作者從“等變性”的角度,給出了一種理解方式。
得分匹配與非規(guī)范化最大似然密切相關(guān)。通常,得分匹配可以避免最大似然學(xué)習(xí)中學(xué)到的所有數(shù)據(jù)點的等概率的傾向。對于某些特殊分布,如多元高斯分布,得分匹配和最大似然是等價的。
VDM++的研究表明,使用單調(diào)損失權(quán)重ω(t)實際上等同于為所有中間狀態(tài)最大化ELBO。然而,單調(diào)權(quán)重并不能表征不同噪聲強(qiáng)度任務(wù)的訓(xùn)練難度差異。
如前所述,圖像數(shù)據(jù)通常不具備這種等變性。在實際訓(xùn)練中,學(xué)習(xí)似然函數(shù)的難度隨噪聲強(qiáng)度變化;直觀上,最大的困難出現(xiàn)在中等噪聲水平,在這里似然函數(shù)往往學(xué)習(xí)得不夠準(zhǔn)確。在生成過程中,使用無分類器引導(dǎo)可以看作對學(xué)習(xí)不佳的似然函數(shù)的矯正。
在模型評估過程中,鑒于不同噪聲水平的任務(wù)對最終結(jié)果的重要性不同,對這些NLL損失應(yīng)用相同權(quán)重?zé)o法有效衡量最終生成輸出的質(zhì)量。
怎么平衡擴(kuò)散模型中不同噪聲步間的沖突?
從VDM++的訓(xùn)練損失出發(fā):
要調(diào)節(jié)訓(xùn)練過程中不同噪聲強(qiáng)度的沖突,要不改變損失函數(shù)ω (λ),要不改變采樣頻率P(λ)。
理論上兩者是等價的,然而實際訓(xùn)練過程中,改ω (λ)變相當(dāng)于改變learning rate,改變P(λ)相當(dāng)于給更重要的任務(wù)提供了更大的采樣頻率,增多了這部分任務(wù)的計算量(Flops),這往往比改變損失函數(shù)更有效。
最近的工作“Improved Noise Schedule for Diffusion Training”,經(jīng)驗性地給出了一種解決方案。
擴(kuò)散模型存在scaling law嗎?
大語言模型的成功很大程度上歸功于scaling law。對于擴(kuò)散模型,存在scaling law嗎?
這個問題的關(guān)鍵在于采用什么指標(biāo)來評估模型質(zhì)量的好壞。在這里分析了三種做法:
1、用“Improved Noise Schedule for Diffusion Training”中的不同任務(wù)的難度系數(shù)當(dāng)重要性系數(shù),給不同任務(wù)的損失加權(quán),當(dāng)成衡量指標(biāo)。對模型參數(shù)量,訓(xùn)練迭代次數(shù)和最終性能的關(guān)系分別建模,可以得到下面的結(jié)果。然而,該指標(biāo)不能確保與人類的偏好完全一致。
2、利用已有的生成模型衡量指標(biāo),如FID等。這類方法有兩個問題,第一,F(xiàn)ID等指標(biāo)自身的bias,比如FID假設(shè)圖像抽取特征后的分布滿足高斯分布,這會帶來系統(tǒng)誤差。第二,該指標(biāo)一般用于衡量生成數(shù)據(jù)分布和目標(biāo)分布之間的差異,這在in-the-wild場景下和人類偏好可能會有差異。
3、直接采用人工標(biāo)注衡量模型質(zhì)量。收集好大量文本-圖像數(shù)據(jù),用生成模型從這些文本生成圖像,并讓用戶評估生成結(jié)果和ground truth的偏好度,該指標(biāo)可以作為模型scaling law的衡量指標(biāo)。這種做法的缺點是需要大量人力,但是可以對齊生成結(jié)果和人類偏好。此外,該指標(biāo)可以指導(dǎo)測試方法的選擇。
本文轉(zhuǎn)自 量子位 ,作者:量子位
