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