谷歌MaskGIT|雙向Transformer,圖像生成新范式!

極市導(dǎo)讀
?本文提出了一種使用雙向transformer解碼器新的圖像合成模式—MaskGIT。在推理時(shí),該模型首先同時(shí)生成圖像的所有標(biāo)記,然后在前一代的基礎(chǔ)上迭代地細(xì)化圖像。實(shí)驗(yàn)表明,MaskGIT在ImageNet數(shù)據(jù)集上的性能明顯優(yōu)于最先進(jìn)的transformer模型,并將自回歸解碼速度提高了64倍。?>>加入極市CV技術(shù)交流群,走在計(jì)算機(jī)視覺的最前沿
圖像生成長期以來一直被GAN所統(tǒng)治,雖然GAN的生成結(jié)果非常逼真,但在多樣性方面卻不如基于最大似然的方法(VAE、自回歸模型等)。在去年,我們也看到了DALL-E、VQGAN等生成模型,模仿NLP的成功,利用Transformer來做圖像生成,但這類方法有個(gè)很大的缺點(diǎn),就是生成速度太慢了。

Transformer-based的圖像生成基本完全參考NLP處理序列數(shù)據(jù)的做法,需要兩個(gè)步驟:
Tokenization:自然語言都是離散值,而圖像是連續(xù)值,想像NLP一樣處理必須先離散化,iGPT里直接把圖像變成一個(gè)個(gè)馬賽克色塊,ViT則是切成多塊后分別進(jìn)行線性映射,還有的方法專門學(xué)了一個(gè)自編碼器,用encoder把圖像映射成token,再用decoder還原 Autoregressive Prediction:用單向Transformer一個(gè)個(gè)token地預(yù)測,最終生成圖像
雖然這類方法的生成結(jié)果還可以,但是從直覺上卻不那么順溜。仔細(xì)想人是怎么畫畫的,大多數(shù)人肯定是先畫個(gè)草稿,然后再逐步細(xì)化、填色,由整體到局部,而不是從上到下從左到右一個(gè)個(gè)像素去填充。MaskGIT的核心思想,就是參考人的作畫邏輯,先生成一部分token,再逐漸去完善。

MaskGIT:?Masked?Generative?Image?Transformerhttps://arxiv.org/abs/2202.04200
MaskGIT
MaskGIT的模型結(jié)構(gòu)如下:

對于Tokenization步驟,直接參考VQGAN的思路,學(xué)習(xí)一個(gè)encoder-decoder。主要的改進(jìn)點(diǎn)在第二步上,在生成階段,重復(fù)以下步驟:
并行預(yù)測所有被mask的部分,這時(shí)會給出一個(gè)概率最高的token和概率值 計(jì)算本輪要保留的token數(shù)目 根據(jù)數(shù)目倒推概率值,不滿足條件的繼續(xù)mask掉,回到步驟1重新生成
在訓(xùn)練階段,不像BERT只mask掉15%,MaskGIT會隨機(jī)選取各種值,來模擬生成階段的情況。生成階段的核心,就在于如何計(jì)算這一輪要mask多少token,這個(gè)schedule函數(shù)有兩個(gè)特性:
定義域在0到1之間、值域在0到1之間的連續(xù)函數(shù)
在對Linear、Concave、Convex三類函數(shù)實(shí)驗(yàn)后,發(fā)現(xiàn)Cosine是表現(xiàn)最好的:

從最終的效果可以看到,MaskGIT在圖像質(zhì)量上(FID、IS分?jǐn)?shù))接近當(dāng)前最好的BigGAN,在速度上遠(yuǎn)勝VAGAN,在多樣性(CAS分?jǐn)?shù))上超越了BigGAN:

同時(shí)作者發(fā)現(xiàn),MaskGIT在編輯圖像上有很大的潛力,尤其是class-conditioned image editing任務(wù),自回歸模型基本做不了,GAN來做也很難,對MaskGIT卻十分容易,推動了一波鬼畜P圖的發(fā)展(下面的例子讓我深度懷疑作者是貓控):

總結(jié)
MaskGIT作者在文中說到,雙向Transformer的啟發(fā)源自于機(jī)器翻譯的一些工作,不過這卻是圖像領(lǐng)域的第一篇工作。MaskGIT的出發(fā)點(diǎn)相比單向自回歸,在圖像生成上更加make sense,相信之后也看到一些相關(guān)改進(jìn)。其中我想到一點(diǎn),也是從直覺上出發(fā)的,我們?nèi)嗽诋嫯嫊r(shí),免不了對草圖的涂改,而MaskGIT是沒有涂改機(jī)會的,有沒有更好的soft mask方式,或者迭代策略,可以對已經(jīng)生成完的token進(jìn)行迭代,這樣說不定就能超過GAN的生成質(zhì)量了。
公眾號后臺回復(fù)“數(shù)據(jù)集”獲取30+深度學(xué)習(xí)數(shù)據(jù)集下載~

#?CV技術(shù)社群邀請函?#

備注:姓名-學(xué)校/公司-研究方向-城市(如:小極-北大-目標(biāo)檢測-深圳)
即可申請加入極市目標(biāo)檢測/圖像分割/工業(yè)檢測/人臉/醫(yī)學(xué)影像/3D/SLAM/自動駕駛/超分辨率/姿態(tài)估計(jì)/ReID/GAN/圖像增強(qiáng)/OCR/視頻理解等技術(shù)交流群
每月大咖直播分享、真實(shí)項(xiàng)目需求對接、求職內(nèi)推、算法競賽、干貨資訊匯總、與?10000+來自港科大、北大、清華、中科院、CMU、騰訊、百度等名校名企視覺開發(fā)者互動交流~

