TransGAN更新!用純Transformer構(gòu)建高分辨率GAN | 附代碼
點(diǎn)擊上方“機(jī)器學(xué)習(xí)與生成對(duì)抗網(wǎng)絡(luò)”,關(guān)注星標(biāo)
文章來(lái)源 CVer公號(hào) 侵刪
CV 研究者對(duì) transformer 產(chǎn)生了極大的興趣并取得了不少突破。這表明,transformer 有可能成為計(jì)算機(jī)視覺(jué)任務(wù)(如分類(lèi)、檢測(cè)和分割)的強(qiáng)大通用模型。我們都很好奇:在計(jì)算機(jī)視覺(jué)領(lǐng)域,transformer 還能走多遠(yuǎn)?對(duì)于更加困難的視覺(jué)任務(wù),比如生成對(duì)抗網(wǎng)絡(luò) (GAN),transformer 表現(xiàn)又如何?
在今年年初的時(shí)候,德克薩斯奧斯汀分校的團(tuán)隊(duì)推出了使用純Transformer構(gòu)建 Generative Adversarial Network并且在Cifar-10, STL-10, CelebA (64 x 64) 等常見(jiàn)benchmark中取得了不錯(cuò)的成績(jī)。這幾個(gè)月以來(lái),不同的研究人員都是用Transformer各個(gè)方向取得了極大的進(jìn)展,Vision Transformer的研究獲得了計(jì)算機(jī)社區(qū)的廣泛關(guān)注。最近,TransGAN團(tuán)隊(duì)更新了他們的結(jié)果,最新的結(jié)果表明,TransGAN不僅在低分辨率圖像任務(wù)中超越了StyleGAN,在更高分辨率(如256x256)圖像生成任務(wù)中也取得了優(yōu)異的成績(jī)。

使用Vision Transformer搭建GAN網(wǎng)絡(luò)不僅來(lái)源于對(duì)探索Transformer在視覺(jué)任務(wù)中表現(xiàn)力的好奇,同時(shí)也期望解決卷積神經(jīng)網(wǎng)絡(luò)(CNN)長(zhǎng)久以來(lái)面臨的多種缺陷。例如,局部感受野不利于捕捉全局信息,以及空間不變性不利于獲取隨空間位置改變的特征。
首先讓我們簡(jiǎn)單了解一下適用于高分辨率圖像生成任務(wù)的TransGAN具體結(jié)構(gòu)

TransGAN包含了一個(gè)內(nèi)存友好的基于 transformer 的生成器和一個(gè)多尺度金字塔結(jié)構(gòu)的判別器。其中,生成器采用逐級(jí)放大分辨率的方式減小計(jì)算量,每一個(gè)層級(jí)之間采用了上采樣模塊來(lái)提高分辨率。在低分辨率層級(jí)中,研究人員采用了簡(jiǎn)單的Bicubic Upsample,保持模型的寬度而僅放大分辨率,在高分辨率層級(jí)中(分辨率大于32x32),則采用Pixelshuffle模塊,使得分辨率放大的同時(shí)模型寬度減小為原來(lái)的1/4。
對(duì)于判別器而言,文章采用了多尺度輸入的極聯(lián)判別器,而不是與原始ViT相同的結(jié)構(gòu)。這是因?yàn)楫?dāng)分辨率繼續(xù)上升時(shí),繼續(xù)將每一張圖片視為多個(gè)塊狀圖片的組合會(huì)面臨多種問(wèn)題。具體而言,當(dāng)切割的塊狀圖片大小較小時(shí),判別器能夠更有效地處理圖片的細(xì)節(jié)和紋理信息,然而,較小的塊狀圖片將導(dǎo)致總塊數(shù)長(zhǎng)度較大,這將造成極大的計(jì)算量消耗。另一方面,雖然使用較大的塊狀圖片可以捕捉到豐富的結(jié)構(gòu)信息并解決計(jì)算量的問(wèn)題,每一張塊狀圖片捕捉到細(xì)節(jié)信息將會(huì)損失,不利于生成細(xì)節(jié)更豐富的圖片。為了解決這個(gè)問(wèn)題,研究人員提出來(lái)多尺度判別器,通過(guò)將輸入圖片切割成不同大小的塊狀圖片來(lái)同時(shí)捕捉紋理信息和結(jié)構(gòu)信息。與此同時(shí),判別器采用了金字塔結(jié)構(gòu),不斷地降低特征的分辨率以獲取更高的計(jì)算效率。
為了將TransGAN應(yīng)用于更高的分辨率,文中提出了采用Grid Self-attention來(lái)替換standard self-attention。研究人員發(fā)現(xiàn)原始的self-attention雖然能捕捉全局信息,但是在更高的分辨率上這一優(yōu)點(diǎn)反而成了累贅。這是由于從低分辨率高分辨率圖像時(shí)只需要在局部區(qū)域捕捉并生成細(xì)節(jié)信息。文中提出的Grid Self-Attention通過(guò)不重疊的窗口將原始特征圖分割成同一大小的小圖,并只在小圖中使用self-attention,這種方法極大地降低了self-attention的計(jì)算消耗和顯存消耗。文中同時(shí)討論了Grid Self-attention可能帶來(lái)的潛在問(wèn)題,如分割的小圖之間因?yàn)樾畔⒔换ケ蛔璧K而導(dǎo)致的邊界損失。實(shí)際上,研究人員發(fā)現(xiàn)在足夠的訓(xùn)練時(shí)間下,這種邊界損失會(huì)逐漸消失,這是由于判別器的感受野覆蓋了整張圖片,從而驅(qū)動(dòng)生成器生成不包含邊界損失的圖片。


盡管上文描述的生成器和判別器在設(shè)計(jì)上擁有多種優(yōu)勢(shì),訓(xùn)練由純Transformer構(gòu)建的GAN依舊不是一件輕而易舉的事,這主要是因?yàn)镚AN和Transformer都面臨著訓(xùn)練及其不穩(wěn)定的問(wèn)題。對(duì)此,研究人員提出了一系列訓(xùn)練技巧,包括數(shù)據(jù)增強(qiáng),相對(duì)位置編碼,以及改進(jìn)的歸一化結(jié)構(gòu)。最終,在同樣使用數(shù)據(jù)增強(qiáng)的設(shè)定下,TransGAN在Cifar-10,STL-10,以及Celeba (128 x 128)等常用benchmark中取得了最好的成績(jī),并超過(guò)StyleGAN-v2等結(jié)構(gòu)。

同時(shí),實(shí)驗(yàn)結(jié)果表明提出的各種模塊的優(yōu)越性


在將應(yīng)用TransGAN于更高分辨率時(shí),TransGAN繼續(xù)保持了優(yōu)越的性能并且生成了細(xì)節(jié)豐富的高清圖像

通過(guò)觀(guān)察比較基于Transformer和卷積神經(jīng)網(wǎng)絡(luò)的GAN,研究人員發(fā)現(xiàn),Transformer在訓(xùn)練早起并不能有效生成有意義的圖片,例如人臉的五官,這可能是由于缺失了卷積神經(jīng)網(wǎng)絡(luò)具備的歸納偏置。但是,在足夠的數(shù)據(jù)和訓(xùn)練下,Transformer逐漸學(xué)習(xí)到有意義的位置信息和歸納偏置,最終生成細(xì)節(jié)豐富的高清圖片。

在總結(jié)中,研究人員表示將繼續(xù)將純Transformer應(yīng)用于更多數(shù)據(jù)集和更高的分辨率當(dāng)中。
論文地址:https://arxiv.org/abs/2102.07074
代碼地址:https://github.com/VITA-Group/TransGAN
猜您喜歡:
等你著陸!【GAN生成對(duì)抗網(wǎng)絡(luò)】知識(shí)星球!
CVPR 2021 | GAN的說(shuō)話(huà)人驅(qū)動(dòng)、3D人臉論文匯總
CVPR 2021 | 圖像轉(zhuǎn)換 今如何?幾篇GAN論文
【CVPR 2021】通過(guò)GAN提升人臉識(shí)別的遺留難題
CVPR 2021生成對(duì)抗網(wǎng)絡(luò)GAN部分論文匯總
最新最全20篇!基于 StyleGAN 改進(jìn)或應(yīng)用相關(guān)論文
附下載 | 經(jīng)典《Think Python》中文版
附下載 | 《Pytorch模型訓(xùn)練實(shí)用教程》
附下載 | 最新2020李沐《動(dòng)手學(xué)深度學(xué)習(xí)》
附下載 | 《可解釋的機(jī)器學(xué)習(xí)》中文版
附下載 |《TensorFlow 2.0 深度學(xué)習(xí)算法實(shí)戰(zhàn)》
