CVPR'24:文生圖提示詞自動(dòng)優(yōu)化,還發(fā)現(xiàn)三個(gè)小竅門,人大度小滿等機(jī)構(gòu)出品
文生圖也有自己的prompt優(yōu)化工具了。
我們都知道,大模型輸出的質(zhì)量,很大程度上依賴于輸入的prompt。尤其在文生圖領(lǐng)域,對(duì)于prompt格外敏感。
來(lái)自中國(guó)人大、度小滿等團(tuán)隊(duì)提出了一種全新的自動(dòng)文本提示優(yōu)化方法——?jiǎng)討B(tài)提示自動(dòng)編輯(Prompt Auto-Editing,PAE)。
它考慮了文本提示中的每個(gè)詞在擴(kuò)散生成過(guò)程的權(quán)重和注入時(shí)間步。
最終在多個(gè)公開數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn)驗(yàn)證,包括Lexica.art、DiffusionDB和COCO。PAE方法不僅提高了圖像的美學(xué)質(zhì)量,還確保了圖像與文本描述的語(yǔ)義一致性。
與傳統(tǒng)方法相比,PAE在控制圖像生成過(guò)程中的精確性和靈活性方面表現(xiàn)更優(yōu)。
關(guān)鍵在動(dòng)態(tài)prompt
當(dāng)前,盡管用戶可以通過(guò)手動(dòng)修改提示來(lái)嘗試生成更優(yōu)質(zhì)的圖像,但這一過(guò)程不僅效率低下,而且難以精確控制。
為了提高效率并優(yōu)化生成結(jié)果,團(tuán)隊(duì)研發(fā)了PAE方法,這一方法的關(guān)鍵在于采用了動(dòng)態(tài)提示(Dynamic Prompts)。
首先是為用戶輸入的簡(jiǎn)短提示詞擴(kuò)充出更多修飾詞,其次是通過(guò)動(dòng)態(tài)調(diào)整新添加的修飾詞的權(quán)重和注入時(shí)間步,自動(dòng)細(xì)化優(yōu)化文本提示,從而更精準(zhǔn)地控制圖像生成過(guò)程。
1、Dynamic Prompt的定義
具體來(lái)說(shuō),團(tuán)隊(duì)定義了一種新的提示格式,用以豐富初始提示的信息,命名為動(dòng)態(tài)精細(xì)控制提示(DF-Prompt)
文本prompt中的每個(gè)token會(huì)被拓展成一個(gè)三元組,在原有基礎(chǔ)上新添加了用來(lái)添加權(quán)重的浮點(diǎn)數(shù),以及文本生效的時(shí)間步范圍。
DF-Prompt是原本的提示詞和修飾詞的結(jié)合。DF-Prompt 的本質(zhì)在于促進(jìn)更精確和控制的生成。為了便于演示和代碼實(shí)現(xiàn),我們還定義了一個(gè)純文本格式:[token:range:weight]
以portrait of a beautiful forest goddess, beauty, very aesthetic, masterpiece為例,其中beauty拓展成三元組可以表示為[beauty:0.5→0:0.75],其權(quán)重為0.75,生效的時(shí)間步范圍為后50%的降噪步驟。
2、訓(xùn)練數(shù)據(jù)收集
DiffusionDB數(shù)據(jù)集收集了用戶生成圖像時(shí)使用的prompt,其中包含大量的修飾詞、風(fēng)格描述等,可以幫助我們訓(xùn)練提示詞拓展與精細(xì)優(yōu)化的自動(dòng)化模型。
在DiffusionDB等數(shù)據(jù)集中,一般逗號(hào)之前的文本包含主要信息,描述圖像的主題,而逗號(hào)之后的文本被視為次要文本,提供補(bǔ)充后綴作為修飾語(yǔ)。
比如“a red horse on the yellow grass, anime style”,主要信息為“a red horse on the yellow grass”,次要文本為“anime style”。
我們把逗號(hào)之前的文本作為短提示,剩余的文本(次要文本)形成了修飾詞集合,以此來(lái)構(gòu)建訓(xùn)練數(shù)據(jù)中的輸入提示詞和目標(biāo)提示詞。
最后,我們定義一個(gè)置信分?jǐn)?shù),利用美學(xué)指標(biāo)和CLIP分?jǐn)?shù)來(lái)篩選訓(xùn)練數(shù)據(jù),確保用于訓(xùn)練的提示詞能夠引導(dǎo)生成高美學(xué)評(píng)分、高圖文對(duì)齊度的圖像。
3、訓(xùn)練階段
如圖所示,使用收集好的訓(xùn)練數(shù)據(jù)進(jìn)行兩階段訓(xùn)練。
階段一:監(jiān)督式微調(diào)階段。
在收集好的數(shù)據(jù)集上對(duì)語(yǔ)言模型進(jìn)行微調(diào),以生成優(yōu)化后的文本提示。每條訓(xùn)練數(shù)據(jù)都包含了短提示詞文本和修飾詞集合,這里的優(yōu)化目標(biāo)就是讓語(yǔ)言模型根據(jù)短提示詞擴(kuò)展出更多修飾詞。在這種方式中,訓(xùn)練好的模型能夠處理簡(jiǎn)短的提示,并預(yù)測(cè)適當(dāng)?shù)男揎椩~,從而提升生成圖像的美學(xué)質(zhì)量。
階段二:強(qiáng)化學(xué)習(xí)階段。
使用強(qiáng)化學(xué)習(xí)優(yōu)化文本提示,通過(guò)多維度獎(jiǎng)勵(lì)系統(tǒng)來(lái)指導(dǎo)這一過(guò)程,考慮到美學(xué)評(píng)分、語(yǔ)義一致性和用戶偏好。這一階段的主要目的是為每一個(gè)修飾詞添加權(quán)重和作用時(shí)間步,實(shí)現(xiàn)精細(xì)化的控制。我們使用 PPO 算法,在訓(xùn)練集上最大化期望累積獎(jiǎng)勵(lì)。獎(jiǎng)勵(lì)函數(shù)是在生成的圖像上計(jì)算的,考慮了包括CLIP分?jǐn)?shù)、PickScore、美學(xué)評(píng)分等指標(biāo)。
通過(guò)觀察自動(dòng)學(xué)習(xí)到的權(quán)重分布、時(shí)間步范圍統(tǒng)計(jì)信息,我們還有了一些有趣的發(fā)現(xiàn):
- 使用藝術(shù)家名稱和紋理修飾詞:通過(guò)引入藝術(shù)家的名字和紋理修飾詞,可以顯著提高生成圖像的藝術(shù)質(zhì)量,并保持語(yǔ)義的準(zhǔn)確性。
- 在擴(kuò)散過(guò)程的后半階段引入風(fēng)格元素:在圖像生成的擴(kuò)散過(guò)程后半段引入風(fēng)格化元素,可以更好地融合這些元素,從而提高整體的視覺和藝術(shù)效果。
- 降低復(fù)雜術(shù)語(yǔ)的權(quán)重:對(duì)于復(fù)雜的術(shù)語(yǔ),適當(dāng)降低其權(quán)重可以確保圖像生成既平衡又具吸引力,避免過(guò)分強(qiáng)調(diào)某些元素,從而影響圖像的整體美觀。
arxiv鏈接: https://arxiv.org/abs/2404.04095
代碼鏈接: https://github.com/Mowenyii/PAE