簡單、快速、低成本、強大!高分辨率圖像生成擴散外推方法CutDiffusion發(fā)布! 精華
文章:https://arxiv.org/pdf/2404.15141
代碼:https://github.com/lmbxmu/CutDiffusion
將大預訓練的低分辨率擴散模型轉(zhuǎn)換以滿足更高分辨率需求,即擴散外推,顯著提高了擴散適應性。本文提出了無調(diào)優(yōu)的CutDiffusion,旨在簡化和加速擴散外推過程,使其更具成本效益并提高性能。CutDiffusion遵循現(xiàn)有的基于patch的外推方法,但將標準的patch擴散過程分為一個初步階段,專注于全面的結構去噪,以及一個后續(xù)階段,專注于特定細節(jié)的改進。
全面的實驗突顯了CutDiffusion的眾多優(yōu)點:
- 簡單的方法構建,使得在不需要第三方參與的情況下實現(xiàn)了簡潔的高分辨率擴散過程;
- 通過單步高分辨率擴散過程實現(xiàn)了快速推理速度,并且需要更少的推理patch;
- 通過patch推理和在全面結構去噪過程中需要更少的patch,從而降低了GPU成本;
- 強大的生成性能,源自于對特定細節(jié)改進的重視。
介紹
作為擴散架構模型的一員,也被稱為潛在擴散模型,Stable Diffusion主要用于根據(jù)文本描述生成詳細的圖像,被認為是生成式人工智能持續(xù)蓬勃發(fā)展的關鍵組成部分。與其逼真的圖像生成相結合,Stable Diffusion是開源的,并支持在大多數(shù)配備了適度的4GB VRAM GPU的消費級硬件上運行。因此,它標志著與僅通過云服務訪問的許多專有文本到圖像模型(如DALL-E系列和Midjourney)的不同之處。
其中一個主要的現(xiàn)實世界應用是生成高分辨率圖像。最初版本的Stable Diffusion是在512×512分辨率的數(shù)據(jù)集上進行訓練的,導致在用戶指定的分辨率偏離其“期望”時出現(xiàn)質(zhì)量問題。雖然隨后的2.0版本增強了生成768×768分辨率圖像的能力,而Stable DiffusionXL(SDXL)則發(fā)布了原生1024×1024分辨率,但由于其重復的、順序性質(zhì),Stable Diffusion模型的重新訓練速度較慢,并且由于潛在像素空間中的操作,對于高分辨率圖像而言,內(nèi)存消耗巨大。
據(jù)報道,初始版本的訓練使用了256個Nvidia A100 GPU在亞馬遜網(wǎng)絡服務上共計150,000 GPU小時,估計成本為60萬美元。在更高分辨率下,費用會大幅增加,這幾乎是不可接受的,即使對于大多數(shù)小型和中型企業(yè)而言,逐一為特定分辨率大小訓練大型擴散模型也是如此,尤其是考慮到超高分辨率,如4096×4096或8192×8192。
為了解決訓練初始模型的障礙,擴散外推,依賴于預訓練的低分辨率模型,并實現(xiàn)更高分辨率圖像擴散,引起了極大的興趣。最近的研究人員選擇進行微調(diào)參與,甚至是無調(diào)優(yōu)實現(xiàn),以實現(xiàn)更具用戶特定的生成輸出。
在下表1中,考慮了無調(diào)優(yōu)、快速推理速度、廉價GPU成本、相等參數(shù)、性能和方法簡單性等因素,評估了這些方法的主要優(yōu)缺點。根據(jù)微調(diào)參與的思路,大多數(shù)方法努力進行參數(shù)高效優(yōu)化,以實現(xiàn)對“意外”分辨率生成的快速適應。例如,DiffFit對特定層中的偏差項和新增的縮放因子進行微調(diào),Self-Cascade升級了時間感知特征上采樣模塊,以注入來自新獲得的更高分辨率數(shù)據(jù)的側面信息。
這些調(diào)優(yōu)方法在準確描繪局部結構細節(jié)方面表現(xiàn)出色。它們一步到位地擴展到目標分辨率的能力有助于實現(xiàn)快速推理速度。然而,直接在更高分辨率進行推理會導致可持續(xù)的頂峰GPU內(nèi)存開銷增加,因為像素更多,并且參數(shù)調(diào)優(yōu)增加了復雜性,有時還會增加額外的參數(shù)。
在無調(diào)優(yōu)實現(xiàn)中,所有方法都保持與原始模型相同的參數(shù)數(shù)量。一種直接的方法是直接進行更高分辨率的推理,這提供了快速的速度,但需要高的GPU消耗,類似于微調(diào)方法。[6]中使用SDXL(記為SDXL-DI)的結果顯示了較差的對象重復、扭曲的對象和不合理的結構等問題。Attn-SF通過將注意熵與token數(shù)量平衡來簡化其方法,然而仍然承受著對象重復質(zhì)量差的問題。ScaleCrafter確定了卷積核的有限感受野,并強調(diào)了擴張步幅、注入步驟等復雜調(diào)整。而更大的核影響了推理速度。另一種無調(diào)優(yōu)實現(xiàn)以patch方式進行擴散外推,從而降低了推理GPU的成本。
例如,MultiDiffusion將整個高分辨率噪聲分割成多個重疊的patch,并通過多個擴散生成過程將它們綁定在一起。盡管其簡單性有利,但缺乏全局信息導致了重復和扭曲的生成問題。最近的DemoFusion構建了殘差連接和擴張采樣,以整合全局語義信息。盡管其性能更好,但這些操作使得DemoFusion變得復雜。此外,DemoFusion采用了漸進式放大的方式,例如,4096×4096圖像的生成是在1024×1024、2048×2048和3072×3072的中間擴散基礎上構建的,這導致了更多的擴散步驟和更慢的推理延遲。
本文致力于通過patch式生成方法探索無調(diào)優(yōu)擴散外推的潛力。主要目標是簡化和加速擴散外推過程,最終使其更具成本效益并增強其整體性能??紤]到這一目標,在本文中提出了CutDiffusion,這是一個全能的方法,它將傳統(tǒng)的patch擴散過程分為兩個獨立的階段,每個階段都采用不同的子patch劃分方法。
在初步階段,從獨立的高斯分布中任意采樣非重疊的patch,并以空間像素交互的方式恢復它們,以確保每個patch都集中于去噪整個結構。本質(zhì)上,每個單獨的patch都努力遵守相同的文本指令,并產(chǎn)生類似的內(nèi)容。在隨后的階段中,重新組裝第一階段子patch的相同空間像素,創(chuàng)建一個更精細的高分辨率高斯噪聲。然后,遵循MultiDiffusion的方法來開發(fā)重疊的patch,其中每個單獨的patch都設計為專注于改進和增強整個圖像的部分細節(jié)。正如表1中所列,除了無調(diào)優(yōu)完成和不引入?yún)?shù)之外,所提出的CutDiffusion在以下方面還提供了實質(zhì)性的優(yōu)勢:
- 簡單的方法構建。CutDiffusion建立在標準的擴散過程之上,只改變了子patch采樣,從而消除了復雜的第三方參與,創(chuàng)建了更簡潔的高分辨率過程。
- 快速推理速度。CutDiffusion執(zhí)行單步放大到目標分辨率,這是漸進式放大的有效替代方案,并且在去噪全面結構過程中需要更少的推理patch。
- 廉價的GPU成本。CutDiffusion采用patch式方法進行外推,并減少了用于結構去噪的非重疊patch的數(shù)量,有效地減輕了對頂峰GPU內(nèi)存的需求。
- 強大的生成性能。盡管其采用了單步放大的方法和沒有第三方參與,但CutDiffusion優(yōu)雅地執(zhí)行了部分細節(jié)的改進,因此實現(xiàn)了更出色的生成性能。
相關工作
擴散模型
擴散模型,通常被稱為概率擴散模型,屬于潛在變量生成模型。一個經(jīng)典的擴散模型由正向過程、逆向過程和采樣方法組成。正向過程從給定的起始點開始,并持續(xù)向系統(tǒng)中引入噪聲。逆向過程通常涉及教授神經(jīng)網(wǎng)絡從模糊圖像中去除高斯噪聲。該模型旨在對抗圖像中的噪聲添加過程,并通過對隨機噪聲圖像進行細化和去噪來進行圖像生成。采樣機制通過導航參數(shù)并減小樣本的方差,從而產(chǎn)生更準確的期望分布近似。DDIM允許利用在 DDPM 損失 上訓練的任何模型進行采樣,并略過一些步驟,以換取可修改的質(zhì)量量。LDM首先壓縮圖像,然后應用擴散模型來表示編碼圖像的分布,最后將其解碼為圖像。其卓越的性能使其廣泛應用于生成文本驅(qū)動的圖像。
擴散外推
微調(diào)參與。對于預訓練的擴散模型進行微調(diào)以適應生成更高分辨率圖像是一個合理的想法。由于這些模型的訓練成本相當高,尋找參數(shù)高效優(yōu)化方法已成為微調(diào)領域的研究人員和從業(yè)者的重點關注。在他們的研究中,xie等人采用了一種創(chuàng)新的方法,即凍結潛在擴散模型中的大部分參數(shù)。他們專注于訓練特定參數(shù),如偏差項、歸一化和類條件模塊。此外,他們還將可學習的縮放因子納入模型中,以進一步增強其性能和適應性。guo等人開發(fā)了一個創(chuàng)新的級聯(lián)框架,該框架在其初始尺度上包含低分辨率模型,并在較高尺度上增加了額外的新模塊。
無調(diào)優(yōu)實現(xiàn)。另一條研究線路是尋找無調(diào)優(yōu)的擴散外推方法。在 Attn-SF中,較低分辨率的圖像顯示了不完整的對象,而較高分辨率的圖像則存在重復混亂。因此,添加了一個縮放因子來解決注意力熵的變化并修復缺陷。He等人發(fā)現(xiàn),擴散模型中的對象重復和結構問題的根本原因是有限的卷積核感知。他們建議動態(tài)感知場調(diào)整,并提出了分散卷積和噪聲抑制引導等方法,用于超高分辨率的生成。MultiDiffusion展示了將幾個重疊的去噪路徑組合起來創(chuàng)建全景圖像的能力。DemoFusion的研究通過使用中間的噪聲反轉(zhuǎn)表示作為跳過殘差,創(chuàng)新地增強了全局信息的注入。此外,在去噪路徑中使用擴張采樣也進一步促進了改進。
方法
背景
這些方法中大多數(shù)需要復雜的第三方參與,如微調(diào),低分辨率圖像生成,漸進式放大等等。通過采用基于patch的策略來發(fā)展我們的方法,這個策略專門設計用于簡化和有效管理涉及到這些復雜過程的操作,確保更高效和用戶友好的方法。
動機和框架
動機。在下圖1中,LDM通過迭代步驟逐漸去噪圖1(b)中的隨機噪聲,直到達到預定的計數(shù)(t = 50 → 1)。生成的圖1(a)捕捉了提示P的概念。通過檢查從圖1(b)到圖1(k),最終到圖1(a)的進展,可以推理擴散過程涉及到一個初步階段去噪整個結構,然后是一個后續(xù)階段去噪部分細節(jié)。
在早期的時間步驟中,各種輪廓逐漸變得更加可識別。在步驟 t = 40 時,類似狗的輪廓變得清晰。當我們移動到步驟 t = 35 時,樹木的輪廓開始形成。進一步到步驟 t = 30 時,椅子的輪廓開始顯現(xiàn),使其更加清晰,最后到達步驟 t = 25 時,海灘、天空和海洋的輪廓變得更清晰,從而使場景的整體結構更好地展現(xiàn)出來。在后續(xù)的時間步驟中,從 t = 20 到 t = 5,對生成的輪廓輪廓進行局部細節(jié)的改進,以增強對象的逼真性。
例如,沙子似乎在椅子腿周圍坍塌,天空和云彩無縫融合在一起,狗的毛發(fā)變成了更自然、柔軟的狀態(tài),以及許多其他改進。因此,我們認識到了一種新的視角,即擴散外推可以通過遵循漸進圖像生成的規(guī)律來發(fā)展。這包括最初優(yōu)先考慮全面的結構去噪,然后是對特定細節(jié)的精煉,以生成更連貫的高分辨率擴散圖像。
全面的結構去噪
像素交互。 雖然方程(2)從相同的文本描述P生成隱變量,但它僅確保與相同主題相關的圖像,并不包含相似的內(nèi)容。因此,在不同patch之間引入空間像素交互。如圖2頂部所示,在去噪之前,隨機交換具有相同空間坐標(x,y)的不同patch中的像素。
randperm()函數(shù)返回其輸入序列的隨機排列,使得像素可以為其他圖像的去噪做出貢獻,并促進跨patch的內(nèi)容生成相似性。
具體細節(jié)的優(yōu)化
像素重新定位。
實驗
實驗設置
使用預訓練的SDXL進行實驗,其中T = 50默認,以展示CutDiffusion的簡單性、效率、廉價和性能。在單個3090 GPU上評估推理時間和GPU內(nèi)存消耗。鑒于CutDiffusion的無需調(diào)整特性,我們將其與SDXL-DI、Attn-SF、ScaleCrafter、MultiDiffusion和DemoFusion進行比較。
采用三種指標進行定量評估:FID(Frechet Inception Distance)、IS(Inception Score)和CLIP Score。FIDr和ISr將高分辨率生成的圖像與真實圖像進行比較,但需要調(diào)整大小為2992。根據(jù)[3, 6],我們裁剪并調(diào)整大小為1×分辨率的10個局部patch來計算FIDc和ISc。CLIP分數(shù)評估圖像嵌入和文本提示之間的余弦相似度。我們使用10,000張Laion-5B [20]圖像作為真實圖像,以及1,000個文本提示供CutDiffusion生成高分辨率圖像。
方法比較
在本小節(jié)中,展示了我們的CutDiffusion方法相對于方法簡單性、推理時間、GPU成本和生成性能的全能能力。
方法簡單性。
值得注意的是,我們的CutDiffusion在T′ = T時使MultiDiffusion [1]成為一個特例,在這種情況下,沒有進行全面的結構去噪。只是修改了子patch方法為隨機高斯抽樣,并加入了額外的像素交互和重新定位操作。因此,CutDiffusion保留了MultiDiffusion的簡單性,同時減少了初始階段所需的patch數(shù)量。與更復雜的第三方參與方,如微調(diào)、低分辨率圖像生成和漸進式放大相比,CutDiffusion方法為生成高分辨率圖像提供了更簡潔和直接的流程。
推理時間。
表2中的結果與表1中的結論一致,即直接的高分辨率推理方法通常提供更快的速度。這種趨勢的一個例外是ScaleCrafter,其使用更大的卷積核影響推理速度,特別是在超高分辨率設置中。盡管采用了基于patch的推理方法,提出的CutDiffusion方法實現(xiàn)了快速的推理速度。這些速度不僅與直接推理方法相媲美,而且比基于patch的對手[1, 6]的速度要快得多。例如,CutDiffusion比DemoFusion [6]快三倍。CutDiffusion的速度優(yōu)勢源于在全面去噪過程中需要更少的推理patch,而不像MultiDiffusion需要許多子patch。DemoFusion的推理時間延長是由于其漸進式放大策略需要更多的擴散步驟。
GPU成本
表3顯示了圖像外推方法的最小GPU內(nèi)存需求。直接方法具有更快的推理速度,但GPU需求更高,特別是在增加分辨率時[8,11,13]。像CutDiffusion這樣的基于patch的方法始終具有更低的峰值內(nèi)存使用量,使其更易于使用[1,6]。此外,CutDiffusion在全面結構去噪的patch數(shù)量減少了GPU運行時間的長短[1,6]。
生成性能
我們進一步提供了定性比較的可視化結果以及定量比較的指標性能,展示了我們提出的CutDiffusion方法的強大生成能力。
定性比較。在不同的寬高比(1:1,1:2和2:1)和外推比率(2×、4×和9×)下進行了定性比較。在圖3中,SDXL-DI顯示出嚴重的重復和結構失真。盡管調(diào)整了注意力縮放因子,Attn-SF仍然面臨相同的問題。雖然ScaleCrafter生成了不重復的圖像,但人手和熊貓腳等局部細節(jié)缺乏準確性。MultiDiffusion由于全局結構信息不足而導致重復和不一致的內(nèi)容。DemoFusion偶爾會產(chǎn)生重復的小對象,例如樹干下面的小熊貓。由于協(xié)同的兩階段生成過程,CutDiffusion產(chǎn)生了高質(zhì)量、更高分辨率的圖像。
定量比較。下表4表明,CutDiffusion優(yōu)于其他圖像外推方法,在1024 ×2048和2048 ×1024的分辨率下取得了最佳的FIDr分數(shù)。盡管CutDiffusion的FIDc和CLIP分數(shù)略低于MultiDiffusion,但值得注意的是,F(xiàn)IDc指示了細節(jié)生成能力。MultiDiffusion在整個過程中生成局部細節(jié),而CutDiffusion僅在第二階段進行,結果略遜一籌。
然而,在下圖3中,MultiDiffusion展示了顯著的對象重復,盡管其CLIP和FIDc更高。鑒于定量和定性結果,CutDiffusion超越了MultiDiffusion。在分辨率為2048 ×2048和3072 ×3072時,CutDiffusion似乎達到了次佳效果。從圖4中可以看出,DemoFusion的跳躍連接生成了一個3072 ×3072的圖像,其內(nèi)容與預訓練的1024 ×1024圖像相同。這意味著DemoFusion的性能優(yōu)勢是由于低分辨率而不是其固有能力。為了確認這一點,將圖像插值從1024 ×1024插值到3096 ×3096分辨率,得到了最佳的FIDr(58.50)和ISr(17.38)。
因此得出結論,模仿低分辨率分布會導致來自預訓練的SDXL模型的更高FID分數(shù)。然而,如圖3和下圖4所示,這種方法會導致重復問題,甚至在插值時缺乏高分辨率的細節(jié)。排除與DemoFusion的不公平比較,我們的CutDiffusion達到了最佳效果。
消融研究
像素交互的消融。正如前面所述,像素交互確保圖像不僅與相同主題相關,而且具有相似的內(nèi)容。圖6(a)證實了這一說法。像素交互確保子patch描繪出相似的貓,最終產(chǎn)生了高質(zhì)量、高分辨率的圖像。相反,缺乏像素交互導致子patch呈現(xiàn)出不同的貓,從而損害了高分辨率圖像的生成。
限制和未來工作
CutDiffusion方法存在一些限制:
- 與其他方法類似,CutDiffusion生成的高分辨率圖像的質(zhì)量在某種程度上取決于預訓練的擴散模型。
- CutDiffusion的第二階段仍然需要與現(xiàn)有方法一樣多的patch,阻礙了進一步的加速。未來的工作可能會研究以非重疊patch的方式進行更高分辨率的生成,從而進一步提高推理速度。
結論
本文提出了一個強大的擴散外推方法CutDiffusion,它簡化了流程,加速了過程,同時增強了性能和可負擔性。CutDiffusion將標準的patch擴散過程分為初始的全面結構去噪和后續(xù)的特定細節(jié)細化。它只修改了子patch采樣方法,在各自的階段集成了像素交互和重定位。與在特定領域表現(xiàn)突出的現(xiàn)有方法不同,CutDiffusion在簡單方法構建、快速推理速度、低廉的GPU成本和強大的生成性能方面都有著突出的表現(xiàn)。
本文轉(zhuǎn)自 AI生成未來 ,作者:Mingbao Lin等
