通信界訊 文生圖在最近一年取得了顯著的進(jìn)步,DreamBooth 定制化生成工作,進(jìn)一步證明了文生圖的潛力,并且廣泛引起了社區(qū)關(guān)注,相比于單概念生成,在一張圖內(nèi)定制多個(gè)概念是更加有趣且具有廣泛應(yīng)用場(chǎng)景(AI 影樓,AI 漫畫(huà)生成....)。
相比于單概念定制生成取得的成功,阿里提出的 Cones 和 Adobe 提出的 Custom Diffusion 作為現(xiàn)有的多定制概念生成方法仍存在兩個(gè)挑戰(zhàn):
-
首先,他們需要為每一種多個(gè)概念的組合都學(xué)習(xí)單獨(dú)的模型,這可能會(huì)受到以下影響:1)無(wú)法利用已有的模型,比如一個(gè)新的需要定制的多概念組包含三種概念 {A,B,C},無(wú)法從已有的 {A,B} 的定制模型中獲得知識(shí),只能重新訓(xùn)練。2)當(dāng)需要定制的概念數(shù)量增加時(shí),計(jì)算資源的消耗指數(shù)上升。
基于此,阿里巴巴和螞蟻集團(tuán)的研究團(tuán)隊(duì)提出了組合式的多概念定制生成方法:Cones 2,能同時(shí)定制更多物體,且生成圖片質(zhì)量顯著提升。

論文主頁(yè):Cone 2
https://arxiv.org/abs/2305.19327
項(xiàng)目主頁(yè):Cones-page
https://cones-page.github.io
該團(tuán)隊(duì)的前作 Cones 獲得了 ICML 2023 的 oral,并且在推特獲得了廣泛關(guān)注。

Cones 2 優(yōu)勢(shì)主要體現(xiàn)在 3 個(gè)方面。(1)使用簡(jiǎn)單而有效的方法來(lái)表示概念,可以任意組合,復(fù)用各種訓(xùn)練好單概念,從而進(jìn)行多定制概念生成,而無(wú)需為多概念進(jìn)行任何重新訓(xùn)練。(2)使用空間布局作為指導(dǎo),這在實(shí)踐中非常容易獲得,用戶(hù)只需要提供一個(gè) bounding box,即可以控制每個(gè)概念的特定位置,并同時(shí)減輕概念之間的屬性混淆。(3)在一些具有挑戰(zhàn)性的場(chǎng)景下也能取得令人滿(mǎn)意的性能:進(jìn)行語(yǔ)義相似的多定制概念的生成,如定制兩只狗,并且可以交換眼鏡;在概念數(shù)量上,也可以合成六個(gè)概念。

方法

1. 基于擴(kuò)散模型的文本引導(dǎo)圖像生成
擴(kuò)散模型學(xué)習(xí)從正態(tài)分布噪聲中逐步去噪來(lái)恢復(fù)真實(shí)的視覺(jué)內(nèi)容,該過(guò)程實(shí)際上是在模擬可逆的長(zhǎng)度為 T=1000 的馬爾可夫鏈。在文本到圖像任務(wù)中,條件擴(kuò)散模型 的訓(xùn)練目標(biāo)可以簡(jiǎn)化為重建損失:
文本嵌入 通過(guò)交叉注意力機(jī)制注入到模型 中。在推理時(shí),網(wǎng)絡(luò)通過(guò)迭代去噪 進(jìn)行采樣。
2. 殘差文本嵌入表示概念
為了可以定制化生成用戶(hù)需要的特定概念,模型首先需要“記住”這些概念的特征。由于改變預(yù)訓(xùn)練模型參數(shù)往往會(huì)導(dǎo)致模型的泛化性下降,Cones 2 選擇針對(duì)每個(gè)特定概念學(xué)習(xí)一個(gè)合適的編輯方向。將這個(gè)方向作用于概念對(duì)應(yīng)的基類(lèi)的特征編碼上,就可以得到定制化的結(jié)果,這個(gè)方向稱(chēng)為 residual token embedding。
舉個(gè)例子,在使用 Stable Diffusion 生成圖像“一只狗坐在海灘上”時(shí),整個(gè)生成過(guò)程由文本經(jīng)過(guò)文本編碼模型得到的文本編碼控制,那么只需要將“狗”對(duì)應(yīng)的文本編碼做合適的偏移,就可以讓模型生成出定制化的“狗”。為了得到 residual token embedding,首先需要用給定的數(shù)據(jù)微調(diào)文本編碼模型,在訓(xùn)練過(guò)程中 Cones 2 通過(guò)引入文本編碼保持損失,限制微調(diào)后的文本編碼器的輸出和原始預(yù)訓(xùn)練的文本編碼器的輸出盡可能接近。
同樣參考上面的例子,給定“一只狗坐在海灘上”作為輸入,這兩個(gè)文本編碼器輸出的文本編碼,只在定制化概念對(duì)應(yīng)的類(lèi)別詞(狗)這里差別較大,在其他詞(海灘等。。。)的部分盡可能保持輸出一致。結(jié)合原本的生成模型,微調(diào)后的文本編碼器具有定制特定概念的能力,由于微調(diào)過(guò)程采用了文本編碼保持損失的約束,這種能力可以通過(guò)計(jì)算微調(diào)過(guò)的文本編碼器和原始文本編碼器在類(lèi)別詞部分的平均差異,來(lái)得到需要的 residual token embedding:
基于上述方法得到殘差表示,是可以重復(fù)使用并且即插即用的。在做多概念定制化生成的時(shí)候,只需要將每個(gè)定制概念所對(duì)應(yīng)類(lèi)別詞的文本編碼加上對(duì)應(yīng)的殘差項(xiàng)即可。
3. 通過(guò)空間布局引導(dǎo)多概念組合生成
交叉注意力層之間的注意力圖如下 ,交叉注意力圖直接影響最終生成的空間布局,多概念定制生成的圖片中的一個(gè)問(wèn)題是某些概念可能無(wú)法顯示。為了避免這種情況,Cones 2 在希望其出現(xiàn)即用戶(hù)通過(guò) bounding box 指定的區(qū)域中增強(qiáng)目標(biāo)概念的激活值。另一個(gè)問(wèn)題是概念間的屬性存在混淆,即生成圖像中的概念可能包含其他概念的特征。
為了避免這種情況,則希望削弱每個(gè)對(duì)象出現(xiàn)在用戶(hù)指定區(qū)域外的激活值。結(jié)合上述兩種想法,Cones 2 提出了一種根據(jù)預(yù)定義布局 指導(dǎo)生成過(guò)程的方法。在實(shí)踐中,將布局 定義為一組概念邊界框,由每個(gè)概念的的指導(dǎo)布局 組成。在希望概念 出現(xiàn)的區(qū)域中將 的值設(shè)置為正值,并在與該概念無(wú)關(guān)區(qū)域中將 的值設(shè)置為負(fù)。對(duì)注意力圖進(jìn)行編輯。
實(shí)驗(yàn)
將生成結(jié)果與現(xiàn)有方法進(jìn)行對(duì)比,從訓(xùn)練的計(jì)算復(fù)雜度,以及生成效果,均有顯著提升。



并且在處理更多概念的生成,以及處理語(yǔ)義相似物體的場(chǎng)景下,都有著優(yōu)越表現(xiàn)。


應(yīng)用前景
多定制概念生成除了能夠生成更加高質(zhì)量,內(nèi)容豐富的圖片外,同時(shí)具有廣泛的應(yīng)用前景,現(xiàn)在大火的 ControlNet 更多是控制生成圖片中的結(jié)構(gòu),多概念定制生成可以對(duì)生成的內(nèi)容進(jìn)行控制,使文本到圖像的生成更加可控,進(jìn)一步提高了文生圖模型的應(yīng)用價(jià)值。比如,創(chuàng)作者通過(guò)輸入文本,通過(guò)幾個(gè)定制好的角色概念,進(jìn)行多格漫畫(huà)生成;通過(guò)組合用戶(hù)定制的自身角色概念和商家提供的多個(gè)試戴試穿的定制概念(衣服,首飾,鞋帽等等),實(shí)現(xiàn)多款服裝的試穿體驗(yàn)。