CVPR 2025 | 擴散模型煉出新絕技!注意力蒸餾技術:圖像生成效果全面碾壓傳統方法
論文鏈接:https://arxiv.org/pdf/2502.20235
項目鏈接:https://xugao97.github.io/AttentionDistillation/
亮點直擊
- 分析了之前即插即用注意力特征方法的局限性,并提出了一種新穎的注意力蒸餾損失,用于重現參考圖像的視覺特征,取得了顯著優越的結果。
- 開發了attention distillation引導采樣,這是一種改進的分類器引導方法,將注意力蒸餾損失整合到去噪過程中,大大加快了合成速度,并支持廣泛的視覺特征轉移和合成應用。
生成效果一覽
給定參考圖,文生圖
藝術風格遷移
紋理合成
總結速覽
解決的問題
- 現有生成擴散模型在圖像風格和語義理解方面雖然有進展,但在將參考圖像的視覺特征轉移到生成圖像中時,使用即插即用注意力特征的方法存在局限性。
提出的方案
- 提出了一種新穎的注意力蒸餾損失,用于在理想和當前風格化結果之間計算損失,并在隱空間中通過反向傳播優化合成圖像。
- 開發了一種改進的分類器引導方法,即注意力蒸餾引導采樣,將注意力蒸餾損失整合到去噪采樣過程中。
應用的技術
- 利用預訓練擴散網絡的自注意力特征。
- 通過注意力蒸餾損失優化生成圖像。
- 將注意力蒸餾損失整合到去噪采樣過程中,以改進分類器引導方法。
達到的效果
- 大大加快了合成速度。
- 支持廣泛的視覺特征轉移和合成應用。
- 在將示例的風格、外觀和紋理轉移到新圖像的合成中表現出色。
方法
預備知識
其中y表示條件, t表示時間步長。去噪 UNet 通常由一系列卷積塊和自注意力/交叉注意力模塊組成,所有這些都集成在殘差架構的預測分支中。
KV注入在圖像編輯 [2, 7, 58]、風格遷移 [10, 25, 29] 和紋理合成 [70] 中被廣泛使用。它建立在自注意力機制之上,并將擴散模型中的自注意力特征用作即插即用的屬性。自注意力機制的公式為:
在注意力機制的核心,是基于查詢(Q)和鍵(K)之間的相似性計算權重矩陣,該矩陣用于對值(V)進行加權聚合。KV注入通過在不同的合成分支之間復制或共享KV特征來擴展這一機制。其關鍵假設是KV特征代表圖像的視覺外觀。在采樣過程中,將合成分支中的KV特征替換為示例的相應時間步長的KV特征,可以實現從源圖像到合成目標的外觀轉移。
注意力蒸餾損失
盡管KV注入取得了顯著的效果,但由于殘差機制的影響,它在保留參考的風格或紋理細節方面表現不足;例如,參見下圖3(a)。KV注入僅作用于殘差,這意味著信息流(紅色箭頭)隨后受到恒等連接的影響,導致信息傳遞不完整。因此,采樣輸出無法完全再現所需的視覺細節。
將此注意力輸出視為理想的風格化。然后,我們計算目標分支的注意力輸出,并計算相對于理想注意力輸出的L1損失,這定義了AD損失:
可以使用提出的AD損失通過梯度下降來優化隨機隱空間噪聲,從而在輸出中實現生動的紋理或風格再現;例如,參見上圖3(b)。這歸因于優化中的反向傳播,它不僅允許信息在(殘差)自注意力模塊中流動,還通過恒等連接流動。通過持續優化,Q和Ks之間的差距逐漸縮小,使得注意力越來越準確,最終特征被正確聚合以產生所需的視覺細節。
根據最近的實驗分析 [7, 29, 58],經驗性地選擇UNet的最后6個自注意力層來計算AD損失。此外,在優化過程中,通過線性減少輸入到UNet的時間步長t從T到0來模擬擴散模型的采樣過程。從不同的隨機隱空間噪聲開始,并在100步內優化它們。請注意,在整個優化過程中,UNet預測的噪聲完全被丟棄,不斷更新相同的隱空間變量。
為了更好地理解我們的AD損失,展示了多次運行的優化結果,如下圖4所示。這些結果表明:i)AD損失有效地蒸餾出高質量的風格和紋理視覺特征;ii)AD損失自適應于不同的空間結構,展示了多次運行中的多樣性。
內容保留優化
通過AD損失蒸餾的紋理和風格,可以進一步使用內容損失將合成內容與另一個參考圖像對齊。這種優化允許圖像合成在保留目標內容的同時轉換一個圖像的視覺元素,實現風格遷移、外觀遷移等任務。
如上圖2(b)所示,定義內容損失與AD損失類似,也基于自注意力機制,充分利用擴散模型中對圖像的深刻理解。特別是,計算目標查詢Q和Qc參考查詢之間的L1損失,構成了內容損失:
在實現中,同樣選擇最后6個自注意力層來計算內容損失,這與AD損失保持一致。內容保留優化的目標是:
優化后,經過預訓練的VAE將優化后的隱空間code解碼為圖像空間。
注意力蒸餾引導采樣
上述合成是使用反向傳播優化的。在本節中,介紹如何將注意力蒸餾損失以改進的分類器引導方式納入擴散模型的采樣過程中。
其中,。將方程 (6) 中的替換為:
通過AD損失的引導,可以在時間步條件下計算隱空間的損失,而不是將隱空間轉換為圖像空間并計算圖像級損失,如最近的工作所做的那樣 [4, 41, 49]。使用Adam優化器能夠建立一個通用的學習率,從而減輕設定引導強度的挑戰。請注意,方程 (4) 中提出的內容損失也可以與AD損失一起添加到采樣過程中,以進一步保留內容參考圖像的結構。
改進的VAE解碼
實驗
應用和對比
接下來,將注意力蒸餾損失應用于各種視覺特征轉移任務,并將結果與每個應用中的最新方法進行比較。
風格和外觀轉移。 遵循Gatys等人 [22] 的著名工作精神,通過前文中描述的優化方法實現風格和外觀轉移。方法與CSGO 、StyleShot、StyleID、StyTR2和NST進行風格轉移的比較,以及與Cross-Image Attention和SpliceViT進行外觀轉移的比較。下圖6展示了定性比較結果。在風格轉移中,本文方法有效地捕捉到高質量、一致的風格特征,同時保留了內容圖像的語義結構。這在第3和第4行的素描風格中尤為明顯。相比之下,盡管基線方法保留了原始結構,但在風格上存在顯著差異。在外觀轉移中,本文的方法也表現出優越性,避免了Cross-image Attention中顏色過飽和的問題。
特定風格的文本到圖像生成。 如前文所述,可以在擴散采樣中應用我們的AD損失,從而實現特定風格的文本到圖像生成。將參考圖像設置為所需的風格圖像。下圖7展示了一些生成結果,并與其他方法進行比較,包括Visual Style Prompting、InstantStyle和RB-Modulation。下圖7中的結果表明,本文的方法在文本語義上與現有方法相當,同時在風格一致性上與參考圖像相比具有顯著優勢。除了上述方法之外,進一步結合ControlNet,以在各種模態(例如深度和Canny邊緣)上進行額外條件的特定風格文本到圖像生成。下圖8展示了一些生成的例子。
為了進一步確保與目標mask的對齊,用從源圖像對應標記區域隨機抽取的像素填充目標mask作為初始化。然后,將此初始化視為內容參考,并基于查詢特征添加內容損失,如前文所述。上圖1和下圖9展示了我們的受控紋理合成結果。
與基于補丁的神經紋理優化方法GCD相比,本文結果在保持可比紋理細節的同時展現了更平滑的物體邊緣。相比之下,GCD存在顏色混疊的偽影問題;參見圖9的第二行。最近,Self-Rectification引入了一種“懶編輯”控制,用于生成非平穩紋理。為了實現相同的目標,利用SDEdit來保留用戶編輯的布局圖像的結構。然后,將提出的AD損失和內容損失整合到采樣過程中。如圖9所示,Self-Rectification輸出的紋理過渡更為平滑,而我們的結果更好地遵循了原始紋理示例。
紋理擴展。 由于補丁來源有限,使用傳統方法合成超高分辨率紋理非常困難。在此,將注意力蒸餾引導的采樣應用于MultiDiffusion模型,使紋理擴展到任意分辨率。盡管SD-1.5是在尺寸為512×512的圖像上訓練的,但令人驚訝的是,當結合注意力蒸餾時,它在大尺寸紋理合成中表現出了強大的能力。下圖10展示了將紋理擴展到512×1536的尺寸與GCD和GPDM的比較。本文方法在如此具有挑戰性的任務中顯示出顯著的優勢。
消融研究
在本節中,展示了關于我們方法的兩個方面的消融研究結果:i) 內容保持優化中內容損失權重的影響,以及ii) 在注意力蒸餾引導采樣中管理引導強度的優化器。
優化器。 下圖12展示了優化器在管理引導強度中的重要性。實驗測試了一種手動設置引導強度的簡單策略,以控制對隱空間變量的梯度更新規模。然而,手動變化這個強度通常無法產生合理的結果:示例中的紋理或外觀特征通常會丟失,如下圖12的最后三列所示。相比之下,引入Adam優化器來管理隱空間優化產生的結果與輸入示例的視覺特征非常匹配(下圖12的第2到4列)。此外,在每個采樣時間步中增加優化迭代次數通常可以提高生成結果的質量,盡管這也帶來了額外的計算時間。在實踐中,將迭代次數設置為2,以實現高效平衡,提供高質量的結果。
用戶偏好研究
為了驗證定性分析,在三個轉移任務上進行了包含30個問題的用戶研究(每個任務針對6個選定的競爭對手各設置5個問題)。在每個問題中,展示兩個結果:一個來自我們的方法,一個來自競爭對手。用戶被要求根據提供的說明和標準選擇更好的一個。從50名參與者那里收集了1500個回應,整體偏好得分總結在下圖13中。我們的方法在很大程度上持續優于其他選項。
結論
本文提出了一種統一的方法來處理各種視覺特征轉移任務,包括風格/外觀轉移、特定風格的圖像生成和紋理合成。該方法的關鍵是一種新穎的注意力蒸餾損失,它計算理想風格化與當前風格化之間的差異,并逐步修改合成。本文方法克服了以往工作的局限性,實驗驗證了其優越性。
本文轉自AI生成未來 ,作者:AI生成未來
