擴散模型憑藉其在影像生成方面的出色表現,開啟了生成式模型的新紀元。諸如 Stable Diffusion,DALLE,Imagen,SORA 等大模型如雨後春筍般湧現,進一步豐富了生成式 AI 的應用前景。然而,當前的擴散模型在理論上並非完美,鮮有研究關注到取樣時間端點處未定義的奇點問題。此外,奇點問題在應用中導致的平均灰度等影響生成影像質量的問題也一直未得到解決。為了解決這一難題,微信視覺團隊與中山大學合作,聯手探究了擴散模型中的奇點問題,並提出了一個即插即用的方法,有效解決了初始時刻的取樣問題。該方法成功解決了平均灰度問題,顯著提升了現有擴散模型的生成能力。這一研究成果已在 CVPR 2024 會議上發表。擴散模型在多模態內容生成任務中取得了顯著的成功,包括影像、音訊、文字和影片等生成。這些模型的成功建模大多依賴於一個假設,即擴散過程的逆過程也符合高斯特性。然而,這一假設並沒有得到充分證明。特別是在端點處,即 t=0 或 t=1,會出現奇點問題,限制了現有方法對奇點處取樣的研究。此外,奇點問題也會影響擴散模型的生成能力,導致模型出現平均灰度問題,即難以生成亮度強或者弱的影像,如圖下所示。這在一定程度上也限制了當前擴散模型的應用範圍。為了解決擴散模型在時間端點處的奇點問題,微信視覺團隊與中山大學合作,從理論和實踐兩個方面展開了深入探究。首先,該團隊提出了一個包含奇點時刻逆過程近似高斯分佈的誤差上界,為後續研究提供了理論基礎。基於這一理論保障,團隊對奇點處的取樣進行了研究,並得出了兩個重要的結論:1)t=1 處的奇點可以透過求取極限轉化為可去奇點,2)t=0 處的奇點是擴散模型的固有特性,不需要規避。基於這些結論,該團隊提出了一個即插即用的方法:SingDiffusion,用於解決擴散模型在初始時刻取樣的問題。透過大量的實驗驗證表明,僅需訓練一次,SingDiffusion 模組即可無縫應用到現有的擴散模型中,顯著地解決了平均灰度值的問題。在不使用無分類器指引技術的情況下,SingDiffusion 能夠顯著提升當前方法的生成質量,特別是在應用於 Stable Diffusion1.5(SD-1.5)後,其生成的影像質量更是提升了 33%論文地址:https://arxiv.org/pdf/2403.08381.pdf專案地址:https://pangzecheung.github.io/SingDiffusion/論文題目:Tackling the Singularities at the Endpoints of Time Intervals in Diffusion Models為了研究擴散模型的奇點問題,需要驗證全過程包含奇點處的逆過程滿足高斯特性。首先定義為擴散模型的訓練樣本,訓練樣本的分佈可以表示為:其中 δ 表示狄拉克函式。根據 [1] 中連續時間擴散模型的定義,對於任意兩個時刻 0≤s,t≤1,正向過程可以表示為:其中,,,隨著時間單調的從 1 變化到 0。考慮到剛剛定義的訓練樣本分佈,的單時刻邊際機率密度可以表示為:由此,可以透過貝葉斯公式計算逆過程的條件分佈:
然而,得到的分佈是混合高斯分佈,難以用網路進行擬合。因此,主流的擴散模型通常假設這一分佈可以由單個高斯分佈擬合:
其中,為了驗證這一假設,該研究在 Proposition 1 中估計了這一擬合的誤差。然而,該研究發現當 t=1 時,隨著 s 趨近 1,也將趨近於 1,誤差無法忽略。因此,Proposition 1 並不能證明 t=1 時的逆向高斯特性。為了解決這一問題,該研究給出了新的命題:根據 Proposition 2,當 t=1 時,隨著 s 趨近 1,將趨近於 0。由此,該研究證明了包含奇點時刻的逆過程全過程都符合高斯特性。有了逆過程高斯特性的保證,該研究基於逆向取樣公式對奇點時刻的取樣展開了研究。首先考慮 t=1 時刻的奇點問題。當 t=1 時,=0,下面的取樣公式將出現分母除 0 的情況:研究團隊發現,透過計算極限,該奇點可以轉化為可去奇點:然而,這一極限無法在測試過程中進行計算。為此,該研究提出可以在 t=1 時刻擬合,使用 「x - 預測」,來解決的初始奇點處的取樣問題。接著考慮 t=0 時刻,高斯分佈擬合的逆過程將變成方差為 0 的高斯分佈,即狄拉克函式: 其中。這樣的奇異性會使得采樣過程收斂到正確的資料上。因此,t=0 處的奇點是擴散模型良好的性質,並不需要規避。此外,該研究還在附錄中探討了 DDIM,SDE,ODE 中的奇點問題。奇點處的取樣會影響擴散模型生成影像的質量。例如,在輸入高或低亮度的提示時,現有方法往往只能生成平均灰度的影像,這被稱為平均灰度問題。這個問題源於現有方法忽略了 t=0 時奇點處的取樣,而是在 1-ϵ 時刻使用標準高斯分佈作為初始分佈進行取樣。然而,正如上圖所示,標準高斯分佈與實際的 1-ϵ 時刻的資料分佈存在較大的差距。在這樣的差距下,根據 Proposition 3,現有方法等同於在 t=1 時朝著一個均值為 0 的影像進行生成,即平均灰度影像。因此,現有方法難以生成亮度極強或極弱的影像。為了解決這個問題,該研究提出了一個即插即用的 SingDiffusion 方法,通過擬合標準高斯分佈與實際資料分佈之間的轉換來彌補這一差距。SingDiffuion 的演算法如下圖所示:
根據上一節的結論,該研究在在 t=1 時刻使用了 「x - 預測」方法來解決奇點處的取樣問題。對於圖-文資料對,該方法訓練了一個 Unet來擬合。損失函式表示為:模型收斂後,就可以按照下面的 DDIM 取樣公式並使用新得到的模組取樣。DDIM 的取樣公式確保了生成的符合 1-ε 時刻的資料分佈,從而解決了平均灰度問題。在這一步驟之後,就可以使用預訓練的模型執行後續的取樣步驟,直到生成。值得注意的是,由於該方法僅參與第一步的取樣,與後續的取樣過程無關,因此 SingDiffusion 可以應用在絕大多數已有的擴散模型中。另外,為了避免無分類器指導操作導致的資料溢位問題,該方法還使用了以下的歸一化操作:其中 guidance 表示無分類器指導操作後的結果,neg 表示負面提示下的輸出,pos 表示正面提示下的輸出,ω 表示指導強度。首先,該研究在 SD-1.5、SD-2.0-base 和 SD-2.0 三個模型上驗證了 SingDiffusion 解決平均灰度問題的能力。該研究選擇了四個極端的提示,包括 「純白 / 黑背景」 和 「單色線條藝術標誌在白 / 黑背景上」,作為條件進行生成,並計算生成影像的平均灰度值,如下表所示: 從表格中可以看出,該研究能夠顯著地解決平均灰度值問題,生成符合輸入文字描述亮度的影像。此外,該研究還視覺化了在這四個提示語句下的生成結果,如下圖所示:從圖中可以看出,加入該方法後,現有的擴散模型能夠生成偏黑或者偏白的影像。為了進一步研究該方法對於影像質量的提升,該研究在 COCO 資料集上選擇了 30,000 個描述進行了測試。首先,該研究展示了在不使用無分類器引導下,模型本身的生成能力,如下表所示:從表格中可以看出,所提出的方法能夠顯著降低生成影像的 FID,並提升 CLIP 指標。值得注意的是,在 SD-1.5 模型中,該論文中的方法相比於原模型在 FID 指標上降低了 33%。進一步地,為了驗證所提出方法在無分類器引導下的生成能力,該研究還在下圖中展示了在不同引導大小 ω∈[1.5,2,3,4,5,6,7,8] 下 CLIP v.s. FID 的帕累託曲線:從圖中可以看出,在相同的 CLIP 水平下,所提出的方法能夠獲得更低的 FID 數值,生成更逼真的影像。此外,該研究還展示了所提出方法在不同 CIVITAI 預訓練模型下的泛化能力,如下圖所示:可以看出,該研究所提出的方法僅需進行一次訓練,即可輕鬆地應用到已有的擴散模型中,解決平均灰度問題。
最後,該研究所提出的方法還能夠無縫地應用到預訓練的 ControlNet 模型上,如下圖所示:從結果中可以看出,該方法能有效解決 ControlNet 的平均灰度問題。
[1] Tero Karras, Miika Aittala, Timo Aila, and Samuli Laine. Elucidating the design space of diffusion-based generative models. Advances in Neural Information Processing Systems (NeurIPS), pages 26565–26577, 2022. 3