MSRA:視覺生成六大技術問題

文生圖、文生視頻,視覺生成賽道火熱,但仍存在亟需解決的問題。

微軟亞洲研究院研究員古紓暘對此進行了梳理,他認爲視覺信號拆分是最本質的問題。

此外,針對一些熱點問題他也展開進行了分析,一共六大問題,例如diffusion模型是否是最大似然模型?diffusion模型的scaling law是什麼樣的?

以下是部分問題的具體討論。

視覺信號拆分問題

爲什麼大語言模型能這麼成功?

作者認爲,最本質的原因是文本信號拆分具有“等變性”。

具體來說,對於一個文本序列A=x0,x1,x2…語言模型會根據位置把P(x0,x1,x2…)的聯合數據分佈拆分成多個條件概率分佈擬合問題:

P(x0),P(x1|x0),P(x2|x0,x1)…對於一個文本,比如說“我喜歡打籃球”,用自迴歸的方式進行擬合,那麼對於從“打”迴歸“籃球”這個子任務,和它是文本中的第幾個詞沒有關係。

也就是說,不論對於第一個任務P(x1|x0)還是第三個任務P(x3|x0,x1,x2),要擬合分佈的其實是“一致”的,或者叫“等變”的。

因此,可以利用一個模型,同時去解決這些相關性很高的任務。

然而對於圖像信號,目前常見的拆分方式包括:圖像塊拆分,深度拆分,噪聲強度拆分,以及可學習拆分。這些拆分方式都不能保證是“等變的”(equivariant)。

圖像塊拆分將圖像根據空間位置分成圖像塊,後面的圖像塊根據前面的進行生成,代表性的工作有iGPT、DALL-E等。

然而圖像不同位置有獨立的inductive bias,具體來說,雖然單行的塊內具有連續性,但是一行的最後一個塊與下一行的第一個塊之間卻缺乏這種連續性。

再比如對於人臉數據集,人臉大多出現在圖像的中間位置,而不是圖像邊緣。這些都說明了,根據空間位置來進行劃分,不同任務學習目標有差異,不具備“等變性”。

深度拆分的代表性工作包括VQVAE2、RQVAE等。一般遵循coarse-to-fine的方式進行生成,前期擬合低頻信號,後期擬合高頻信號。因此,這個學習目標的不同也導致了缺乏“等變性”。

此外,這類方法還可能導致“無效編碼”問題,將在後文介紹。

擴散模型根據噪聲強度對圖像信號進行拆分。對於數據集中的圖像x0,將其加噪成一個序列x0,x1,x2,…xN,其中xN幾乎是純噪聲,生成過程其實是在解決N個去噪任務:P(xt|xt+1)。

然而,之前的工作(MinSNR、eDiff-I)發現儘管都是去噪任務,但是不同噪聲強度的去噪任務仍然有很大的差異,不具備“等變性”。

最後一類是可學習的拆分方式。代表性工作包括VDM、DSB等等。這類想法大多基於擴散模型的噪聲強度拆分,不過加噪過程是學習得到的,而不是提前的定義好的。

其中VDM學習加噪過程中的參數,DSB通過一個網絡來學習如何加噪。然而,這些工作目前只是有潛力保證“等變性”,在實踐中尚未成功。此外,他們目前仍然存在一些挑戰(參見SDSB)。

“不等變性”導致的問題是:既然各個任務有衝突,那我們用不用共享參數的模型來擬合這些分佈呢?

如果用,那共享參數的模型很難同時擬合這些目標有差異的任務,如果不用,會導致模型的參數量爆炸,實際不可行。目前實踐中可能會同時使用多種信號拆分方式來簡化分佈複雜度,然而該做法依舊是“非等變”的。

基於圖像信號拆解的“非等變性”,會引發一系列問題。文章的後續章節討論的問題和圖像拆解的“等變性”都息息相關。下面將簡單進行介紹。

Tokenization問題

如果採用RQVAE進行編碼,很容易出現當編碼長度比較長的時候,後續的編碼不能幫助提升重建質量,甚至對重建質量有損害的問題。

作者通過一定的數學簡化,對該問題提供了一個直觀的解釋,分析了該問題出現的原因。

讓D代表解碼器,I代表原始輸入圖像。不同深度的編碼由x0,x1,x2,…xN表示,其中N是編碼的深度在本例中假設爲4。

因此,RQVAE的重構損失L可以被認爲是以下四個重構損失的組合:

爲了簡化分析,提出兩個假設。首先,假定解碼器執行線性變換,以便更簡單地分析結果。其次,按照常規配置,對四種損失賦予相同的權重。基於這些假設,可以按以下方式簡化重構損失的計算:

因此,最小化圖像級重構損失的潛在空間表示將是:

這不能保證x0+x1+x2+x3比x0+x1+x2更接近arg min X。假設不同深度的編碼共享一個通用代碼本,並獨立同分布,那麼後者肯定比前者更接近理論最小值。

因此,這導致了無效編碼問題。

擴散模型是最大似然模型嗎?

儘管DDPM從最大似然的角度出發,推導了擴散模型的理論。然而,有很多發現似乎表明,擴散模型並非最大似然模型。

VDM++證明了,當不同噪聲強度處的損失函數權重滿足單調關係時,擴散模型是最大似然模型。然而,實際訓練中,往往並不採用這樣的損失函數權重。

在測試階段,Classifier-free guidance的採用也使得優化目標不再是最大似然。在評估階段,直接用NLL損失作爲衡量指標,並不能準確評估生成模型的好壞。

這都引出了一個問題:爲什麼最大似然的方法並不能獲得最優的結果?

針對該問題,作者從“等變性”的角度,給出了一種理解方式。

得分匹配與非規範化最大似然密切相關。通常,得分匹配可以避免最大似然學習中學到的所有數據點的等概率的傾向。對於某些特殊分佈,如多元高斯分佈,得分匹配和最大似然是等價的。

VDM++的研究表明,使用單調損失權重ω(t)實際上等同於爲所有中間狀態最大化ELBO。然而,單調權重並不能表徵不同噪聲強度任務的訓練難度差異。

如前所述,圖像數據通常不具備這種等變性。在實際訓練中,學習似然函數的難度隨噪聲強度變化;直觀上,最大的困難出現在中等噪聲水平,在這裡似然函數往往學習得不夠準確。在生成過程中,使用無分類器引導可以看作對學習不佳的似然函數的矯正。

在模型評估過程中,鑑於不同噪聲水平的任務對最終結果的重要性不同,對這些NLL損失應用相同權重無法有效衡量最終生成輸出的質量。

怎麼平衡擴散模型中不同噪聲步間的衝突?

從VDM++的訓練損失出發:

要調節訓練過程中不同噪聲強度的衝突,要不改變損失函數ω (λ),要不改變採樣頻率P(λ)。

理論上兩者是等價的,然而實際訓練過程中,改ω (λ)變相當於改變learning rate,改變P(λ)相當於給更重要的任務提供了更大的採樣頻率,增多了這部分任務的計算量(Flops),這往往比改變損失函數更有效。

最近的工作“Improved Noise Schedule for Diffusion Training”,經驗性地給出了一種解決方案。

擴散模型存在scaling law嗎?

大語言模型的成功很大程度上歸功於scaling law。對於擴散模型,存在scaling law嗎?

這個問題的關鍵在於採用什麼指標來評估模型質量的好壞。在這裡分析了三種做法:

1、用“Improved Noise Schedule for Diffusion Training”中的不同任務的難度係數當重要性係數,給不同任務的損失加權,當成衡量指標。對模型參數量,訓練迭代次數和最終性能的關係分別建模,可以得到下面的結果。然而,該指標不能確保與人類的偏好完全一致。

2、利用已有的生成模型衡量指標,如FID等。這類方法有兩個問題,第一,FID等指標自身的bias,比如FID假設圖像抽取特徵後的分佈滿足高斯分佈,這會帶來系統誤差。第二,該指標一般用於衡量生成數據分佈和目標分佈之間的差異,這在in-the-wild場景下和人類偏好可能會有差異。

3、直接採用人工標註衡量模型質量。收集好大量文本-圖像數據,用生成模型從這些文本生成圖像,並讓用戶評估生成結果和ground truth的偏好度,該指標可以作爲模型scaling law的衡量指標。這種做法的缺點是需要大量人力,但是可以對齊生成結果和人類偏好。此外,該指標可以指導測試方法的選擇。

原文鏈接:https://cientgu.github.io/files/VisualSignalDecomposition.pdf