OpenAI又出一文字生成影象模型,引數比DALL·E少85億,質量更真

OpenAI剛剛推出了一個新的文字生成影象模型,名叫

GLIDE

OpenAI又出一文字生成影象模型,引數比DALL·E少85億,質量更真

相比今年年初誕生的大哥DALL·E,它

只有35億引數

(DALL·E有120億)

規模雖然小了,質量卻不賴。

大家仔細看這效果,“使用計算器的刺蝟”、“星空下的狐狸”、“彩色玻璃窗風格的熊貓吃竹子”、“太空升降艙蠟筆畫”:

OpenAI又出一文字生成影象模型,引數比DALL·E少85億,質量更真

是不是很像樣兒?

一位碼農兼藝術家的網友則形容它

“和真的難以區分”

OpenAI又出一文字生成影象模型,引數比DALL·E少85億,質量更真

GLIDE在人類評估員的打分中,確實PK掉了使用CLIP給圖片排序的DALL·E。

OpenAI又出一文字生成影象模型,引數比DALL·E少85億,質量更真

最有趣的是,這個GLIDE似乎具有“智力”——會否決你畫出八條腿的貓的主意,也不認為老鼠可以捕食獅子。

OpenAI又出一文字生成影象模型,引數比DALL·E少85億,質量更真

OpenAI歲末新作GLIDE

GLIDE全稱

G

uided

L

anguage to

I

mage

D

iffusion for

G

eneration and

E

diting,是一種

擴散模型

(diffusion model)

擴散模型最早於2015提出,它定義了一個馬爾可夫鏈,用於在擴散步驟中緩慢地向資料新增隨機噪聲,然後透過學習逆轉擴散過程從噪聲中構建所需的資料樣本。

相比GAN、VAE和基於流的生成模型,擴散模型在效能上有不錯的權衡,最近已被證明在影象生成方面有很大的潛力,尤其是與引導結合來兼得保真度和多樣性。

OpenAI又出一文字生成影象模型,引數比DALL·E少85億,質量更真

△擴散模型與其他三種生成模型的對比

研究人員訓練了一個64×64解析度的文字條件擴散模型,引數35億;以及一個256×256解析度的文字條件上取樣擴散模型,引數15億。

模型有兩種引導形式來獲得更好的生成效果:無分類器引導

(classifier-free guidance)

和CLIP引導。

對於CLIP引導,他們還訓練了一個噪聲感知的64×64 ViT-L CLIP模型 (vit)。

模型採用了SOTA論文《Improved Denoising Diffusion Probabilistic Models》

(改進的去噪擴散機率模型)

的架構,使用文字條件資訊對其進行增強。

對於每個帶噪影象xt和相應的提示文字caption,該模型預測出p(xt-1|xt,caption)。

為了對文字進行條件處理,模型還將文字編碼為K個token的序列,並將這些token饋送到Transformer中,此Transformer的輸出有兩個用處:

1、在ADM模型中使用最終token embedding來代替class embedding;

2、token embedding的最後一層在整個ADM模型中分別對映每個注意層的維度,然後連線到每個層的注意上下文。

研究人員在

與DALL·E相同的資料集

上訓練GLIDE,batch size為2048,共經過250萬次迭代;對於上取樣模型,則進行了batch size為512的160萬次迭代。

這些模型訓練穩定,總訓練計算量大致等於DALL·E。

在初始訓練完成之後,研究人員還微調了基礎模型以支援無條件影象生成。

訓練過程與預訓練完全一樣,只是將20%的文字token序列替換為空序列。這樣模型就能既保留文字條件生成的能力,也可以無條件生成。

為了讓GLIDE在

影象編輯

任務中產生不必要的偽影,研究人員在微調時將GLIDE訓練樣本的隨機區域擦除,其餘部分與掩碼通道一起作為附加條件資訊輸入模型。

OpenAI又出一文字生成影象模型,引數比DALL·E少85億,質量更真

相比DALL·E,GLIDE的效果更逼真

定性實驗

研究人員首先比較了GLIDE兩種不同的引導策略:CLIP引導和無分類器引導。

分別用XMC-GAN、DALL·E

(使用CLIP重排256個樣本,從中選擇最佳結果)

和CLIDE模型

(CLIP引導/無分類器引導)

在相同的文字條件下生成了一些結果。

CLIDE模型的結果未經挑選。

OpenAI又出一文字生成影象模型,引數比DALL·E少85億,質量更真

可以發現,無分類器引導的樣本通常比CLIP引導的看起來更逼真,當然,兩者都勝過了DALL·E。

對於複雜的場景,CLIDE可以使用修復功能進行迭代生成:比如下圖就是先生成一個普通客廳,再加畫、加茶几、加花瓶……

OpenAI又出一文字生成影象模型,引數比DALL·E少85億,質量更真

此外,CLIDE還可以在SDedit模型上利用草圖與文字相結合的方式,對影象進行更多受控修改。

OpenAI又出一文字生成影象模型,引數比DALL·E少85億,質量更真

定量實驗

研究人員首先透過衡量質量和保真度的帕累託邊界

(Pareto frontier)

來評估無分類引導和CLIP引導之間的差異。

OpenAI又出一文字生成影象模型,引數比DALL·E少85億,質量更真

在前兩組曲線中,可以發現無分類器引導幾乎都是最優的——不管是在準確率/召回率上,還是在IS/FID距離上。

而在繪製CLIP分數與FID的關係時,出現了完全相反的趨勢。

研究人員假設這是CLIP引導正在為評估CLIP模型尋找對抗性示例,而並非真正優於無分類器引導。為了驗證這一假設,他們聘請了人工評估員來判斷生成影象的質量。

在這個過程中,人類評估者會看到兩個256×256的影象,選擇哪個樣本更好地匹配給定文字或看起來更逼真。如果實在分辨不出,每個模型各得一半分數。

結果如下:

OpenAI又出一文字生成影象模型,引數比DALL·E少85億,質量更真

無分類器引導產生了更符合相應提示的高質量樣本。

同時,研究人員也將CLIDE與其他生成模型的質量進行了評估:CLIDE獲得了最有競爭力的FID分數。

OpenAI又出一文字生成影象模型,引數比DALL·E少85億,質量更真

再將GLIDE與DALL-E進行人工評估。

包含三種比法:兩種模型都不使用CLIP重排序;僅對DALL·E使用CLIP重排序;對DALL-E使用CLIP重排序,並透過DALL-E使用的離散VAE對映GLIDE樣本。

結果是不管哪種配置,人類評估員都更傾向於GLIDE的結果

(每項第一行代表GLIDE)

OpenAI又出一文字生成影象模型,引數比DALL·E少85億,質量更真

當然,說這麼多,GLIDE也有它的不足,就如開頭的例子,它沒法畫出不合常理的“八條腿的貓”,也就是有智力但

缺乏想象力

此外,未最佳化的GLIDE需要15秒才能在單張A100 GPU上生成一張影象,這比GAN慢多了。

最後,po一張我們在官方釋出的Colab連結上親手試的一張效果,還湊合

(an illustration of a rabbit,demo上的模型比較小)

OpenAI又出一文字生成影象模型,引數比DALL·E少85億,質量更真

論文地址:

https://arxiv。org/abs/2112。10741

GitHub地址(是一個在過濾後的資料集上訓練的小模型):

https://github。com/openai/glide-text2im

Colab試玩:

https://colab。research。google。com/github/openai/glide-text2im/blob/main/notebooks/text2im。ipynb#scrollTo=iuqVCDzbP1F0

— 完 —

量子位 QbitAI · 頭條號簽約

頂部