重磅突破:從36.8到52.52,引入自我注意力模塊的SAGAN

重磅突破:從36.8到52.52,引入自我注意力模塊的SAGAN

來自專欄論智

編寫:Bot

原文地址:arxiv.org/pdf/1805.08318.pdf(Ian Goodfellow:即將開源)

編者按:近年來GAN的發展如火如荼,相關成果也不斷湧現。但隨著它在圖像生成領域的深入實踐,研究人員也發現GAN在生成多類圖像上始終存在局限。其中的一個關鍵是它只能從低解析度特徵中提取信息,缺乏對高解析度特徵的理解和對各類特徵的長期記憶。近日,羅格斯大學和Google Brain的研究人員合作發表了一篇論文,大膽把NLP中的self-attention模型引入GAN,解決了特徵記憶問題,把圖像生成的基礎分從36.8一下提到了52.52。

註:本文一作是StackGAN的一作Zhang Han,他的博士生導師Dimitris Metaxas和GAN之父Ian Goodfellow、Google Brain的Augustus Odena也參與了研究。

摘要

這篇論文提出了一種自我注意力生成對抗網路(SAGAN),它能針對圖像生成任務建立一個由注意力驅動的、具備廣域依賴性(long-range dependency,類比NLP中的長期依賴)的模型。在過去,傳統卷積GAN生成高解析度圖像的方法是對低層級特徵圖上的局部點做函數計算,但SAGAN可以使用來自所有特徵位置的信息生成圖像細節,同時保證判別器能鑒別距離較遠的兩個特徵之間的一致性。

此外,近期的一些研究表明,生成器會影響GAN的整體性能。所以SAGAN在生成器中引入譜歸一化(Special Normalization)的思想,並以此提高了模型訓練的穩定性。SAGAN取得的成果是state-of-art的,它在ImageNet數據集上把Inception Score初始分數從原記錄的36.8提高到了52.52,並把FID(Fréchet Inception Distance)從27.62降到了18.65。通過可視化注意力層,我們發現生成器利用的是與對象形狀相對應的鄰域,而不是固定形狀的局部區域。

傳統GAN的問題

圖像生成是計算機視覺領域的一個重要問題。自GAN提出以來,研究人員已經做出了許多突破性成果,並證明了CNN在圖像生成上的成功應用。但這些GAN都有一個缺點,就是在包含多類圖像的大型數據集上訓練後,它們無法明確區分圖像類別,難以捕捉到這些圖像的結構、質地、細節等,因此我們不能用一個GAN生成大量類別不一的高質量圖像。

例如非常先進的ImageNet GAN模型cGAN,它只需一些簡單的結構特徵就能生成各類圖像,如下圖所示,它在生成毛髮質地上表現出色,但還是沒法描繪出動物腿部的清晰輪廓。

cGAN

對此,Zhang Han等人提出的一種可能的解釋是,以前的模型在很大程度上依賴卷積操作模擬圖像不同區域之間的依賴關係。每個卷積操作都有一個局部感受野(receptive field),而特徵之間的遠距離相關性往往要經過數個卷積層才會顯現出來,這就為學習長期依賴帶來了困難:

  • 如果模型過小,它可能無法學習相關性;
  • 優化演算法在調參時要仔細協調多層信息,實現難度大;
  • 即便調出最佳參數,如果輸入模型從沒見過的圖像,模型的輸出很可能會很糟糕。

另一方面,雖然增加卷積核大小(感受野大小)可以保留更多表示,但這是以犧牲效率和計算量為代價的。相比之下,自我注意力模型能兼顧模擬遠距離依賴、效率和計算量這三個方面,是一種更合適的選擇。

SAGAN的具體做法

SAGAN的相關研究(Related Work)很簡單明了,就是GAN和注意力模型。對於這兩個非常火的概念,作者在論文中沒有多加敘述,論智也相信各位讀者能從其他地方找到更專業的介紹。

如上圖所示,SAGAN不是通過固定形狀的局部區域來生成圖像,而是利用圖像較遠部分的互補特徵生成一致的對象/場景。每一行第一副圖上的彩色點表示查詢位置,之後幾幅圖是其相對應的注意力圖(attention map),圖中箭頭表示「最受關注」的區域。

那麼它背後的數學原理是什麼?

大多數基於GAN的圖像生成模型都依賴卷積操作,但它只適合處理鄰域信息,在計算遠距離特徵上效率很低。為了使發生器和鑒別器能更高效地建模更廣泛空間內的特徵關係,論文作者借鑒了王小龍等人提出的Non-local Neural Networks,後者關注的是如何建立起圖像上兩個有一定距離的像素之間的聯繫。

Non-local Neural Networks結構圖 來源:@知乎Gapeng

SAGAN中的自我注意力模塊:?表示矩陣乘法,每一行都用Softmax歸一化

兩者結構基本一致。

  • x ∈ lRC×N,表示前一個隱藏層中的圖像特徵;
  • f(x) = Wfx,g(x) = Wgx,表示圖像特徵乘上不同權重矩陣後得到的兩個特徵空間;

  • βj,i,是f(x)?g(x)經softmax後的結果,表示模型合成j區域圖像內容時i區域的參與程度,即相關性;

  • 把全局空間信息和局部信息整合到一起,其中o = (o1, o2, …, oj , …, oN ) ∈ lRC×N。

  • 注意力層的最終輸出。為了兼顧鄰域信息和遠距離特徵相關性,這裡他們引入了一個參數γ,它從0開始初始化,為的是讓網路首先關注鄰域信息——比較簡單——之後在慢慢把權重分配到其他遠距離特徵上。

簡而言之,卷積操作的感受野是有限的,雖然我們可以通過filter疊加擴大感受野,但那樣做得不償失。為了讓生成器和判定器能提取高解析度特徵,我們可以在某些層能夠引入全局信息,讓它們能更充分地聯繫「上下文」。

在第一個算式中,βj,i計算的是每個點的特徵向量(通道個數的維度)的內積,保留了空間信息,而不是通道數×通道數大小的協方差矩陣,滿足了全局信息提供的要求。至於最後引入參數γ,則是希望SAGAN能從簡單任務學起,慢慢過渡到複雜任務。

論文作者在生成器和判別器中都加入了注意力模塊,而且以對抗損失最小的前提進行了訓練。

實驗及結果

在進行實驗前,作者使用了兩種方法來穩定模型訓練:首先,對生成器和判別器同時做譜歸一化;其次,在生成器和判別器中使用不同的學習率(TTUR)。他們發現這樣做可以解決判別器正則化過程中學習速度過慢的問題。

用譜歸一化(SN)和TTUR穩定訓練

他們比較了自我注意力模塊和殘差模塊在GAN中的表現。這些模塊被添加到網路的不同層,整個模型進行了上百萬次迭代的訓練。實驗結果證明,無論是FID還是IS,自我注意力模塊的表現都是最好的。

下表是SAGAN和其他兩個state-of-the-art GAN模型在生成ImageNet圖片上的對比。很顯然,SAGAN的戰鬥力和AC-GAN、SNGAN完全不在一個級別,僅Inception Score初始分數一項就提升了42.7%,FID也降低了32.5%,進步巨大。

最後我們再就動物腿部的細節看一看SAGAN的表現。如下圖所示(圖像壓縮可能影響清晰度),它在還原動物皮毛質地上的表現不比之前的cGAN差,不同的是它很清晰地呈現了動物的腿部情況,還生成了對應的紋理,效果提升明顯。

本文參考

  1. [深度學習論文筆記][arxiv 1711] Non-local Neural Networks By KFXW

Gapeng:Non-local neural networks

參考文獻

[1] M. Arjovsky, S. Chintala, and L. Bottou. Wasserstein GAN. arXiv:1701.07875, 2017.

[2] D. Bahdanau, K. Cho, and Y. Bengio. Neural machine translation by jointly learning to align and translate. arXiv:1409.0473, 2014.

[3] T. Che, Y. Li, A. P. Jacob, Y. Bengio, and W. Li. Mode regularized generative adversarial networks. In ICLR, 2017.

[4] J. Cheng, L. Dong, and M. Lapata. Long short-term memory-networks for machine reading. In EMNLP, 2016.

[5] I. J. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. C. Courville, and Y. Bengio. Generative adversarial nets. In NIPS, 2014.

[6] K. Gregor, I. Danihelka, A. Graves, D. J. Rezende, and D. Wierstra. DRAW: A recurrent neural network for image generation. In ICML, 2015.

[7] I. Gulrajani, F. Ahmed, M. Arjovsky, V. Dumoulin, and A. C. Courville. Improved training of wasserstein gans. In NIPS, 2017.

[8] M. Heusel, H. Ramsauer, T. Unterthiner, B. Nessler, and S. Hochreiter. Gans trained by a two time-scale update rule converge to a local nash equilibrium. In NIPS, pages 6629–6640, 2017.

[9] P. Isola, J.-Y. Zhu, T. Zhou, and A. A. Efros. Image-to-image translation with conditional adversarial networks. In CVPR, 2017.

[10] T. Karras, T. Aila, S. Laine, and J. Lehtinen. Progressive growing of gans for improved quality, stability, and variation. In ICLR, 2018.

[11] D. P. Kingma and J. Ba. Adam: A method for stochastic optimization. In ICLR, 2015.

[12] C. Ledig, L. Theis, F. Huszar, J. Caballero, A. Aitken, A. Tejani, J. Totz, Z. Wang, and W. Shi. Photo-realistic single image super-resolution using a generative adversarial network. In CVPR, 2017.

[13] J. H. Lim and J. C. Ye. Geometric gan. arXiv:1705.02894, 2017.

[14] M. Liu and O. Tuzel. Coupled generative adversarial networks. In NIPS, 2016.

[15] L. Metz, B. Poole, D. Pfau, and J. Sohl-Dickstein. Unrolled generative adversarial networks. In ICLR, 2017.

[16] T. Miyato, T. Kataoka, M. Koyama, and Y. Yoshida. Spectral normalization for generative adversarial networks. In ICLR, 2018.

[17] T. Miyato and M. Koyama. cgans with projection discriminator. In ICLR, 2018.

[18] A. Odena, J. Buckman, C. Olsson, T. B. Brown, C. Olah, C. Raffel, and I. Goodfellow. Is generator conditioning causally related to gan performance? In ICML, 2018.

[19] A. Odena, C. Olah, and J. Shlens. Conditional image synthesis with auxiliary classifier gans. In ICLR, 2017.

[20] A. P. Parikh, O. T?ckstr?m, D. Das, and J. Uszkoreit. A decomposable attention model for natural language inference. In EMNLP, 2016.

[21] N. Parmar, A. Vaswani, J. Uszkoreit, ?ukasz Kaiser, N. Shazeer, and A. Ku. Image transformer. arXiv:1802.05751, 2018.

[22] A. Radford, L. Metz, and S. Chintala. Unsupervised representation learning with deep convolutional generative adversarial networks. In ICLR, 2016.

[23] S. Reed, Z. Akata, S. Mohan, S. Tenka, B. Schiele, and H. Lee. Learning what and where to draw. In NIPS, 2016.

[24] S. Reed, Z. Akata, X. Yan, L. Logeswaran, B. Schiele, and H. Lee. Generative adversarial text-to-image synthesis. In ICML, 2016.

[25] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, A. C. Berg, and L. Fei-Fei. ImageNet Large Scale Visual Recognition Challenge. International Journal of Computer Vision (IJCV), 115(3):211–252, 2015.

[26] T. Salimans, I. J. Goodfellow, W. Zaremba, V. Cheung, A. Radford, and X. Chen. Improved techniques for training gans. In NIPS, 2016.

[27] T. Salimans, H. Zhang, A. Radford, and D. N. Metaxas. Improving gans using optimal transport. In ICLR, 2018.

[28] C. K. S?nderby, J. Caballero, L. Theis, W. Shi, and F. Huszár. Amortised map inference for image super-resolution. In ICLR, 2017.

[29] Y. Taigman, A. Polyak, and L. Wolf. Unsupervised cross-domain image generation. In ICLR, 2017.

[30] D. Tran, R. Ranganath, and D. M. Blei. Deep and hierarchical implicit models.

arXiv:1702.08896, 2017.

[31] A. van den Oord, N. Kalchbrenner, O. Vinyals, L. Espeholt, A. Graves, and K. Kavukcuoglu. Conditional image generation with pixelcnn decoders. In NIPS, 2016.

[32] A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, L. Kaiser, and I. Polosukhin. Attention is all you need. arXiv:1706.03762, 2017.

[33] X. Wang, R. Girshick, A. Gupta, and K. He. Non-local neural networks. In CVPR, 2018.

[34] K. Xu, J. Ba, R. Kiros, K. Cho, A. C. Courville, R. Salakhutdinov, R. S. Zemel, and Y. Bengio. Show, attend and tell: Neural image caption generation with visual attention. In ICML, 2015.

[35] T. Xu, P. Zhang, Q. Huang, H. Zhang, Z. Gan, X. Huang, and X. He. Attngan: Fine-grained text to image generation with attentional generative adversarial networks. In CVPR, 2018.

[36] Z. Yang, X. He, J. Gao, L. Deng, and A. J. Smola. Stacked attention networks for image question answering. In CVPR, 2016.

[37] H. Zhang, T. Xu, H. Li, S. Zhang, X. Wang, X. Huang, and D. Metaxas. Stackgan: Text to photo-realistic image synthesis with stacked generative adversarial networks. In ICCV, 2017.

[38] H. Zhang, T. Xu, H. Li, S. Zhang, X. Wang, X. Huang, and D. N. Metaxas. Stackgan++: Realistic image synthesis with stacked generative adversarial networks. arXiv: 1710.10916, 2017.

[39] J. Zhao, M. Mathieu, and Y. LeCun. Energy-based generative adversarial network. In ICLR, 2017.

[40] J.-Y. Zhu, T. Park, P. Isola, and A. A. Efros. Unpaired image-to-image translation using cycle-consistent adversarial networks. In ICCV, 2017.

推薦閱讀:

關於CV、ML、DL、RL的一些資料
相關濾波之基礎框架——MOSSE
一種基於視覺辭彙的文本分類方法
傳統演算法和深度學習的結合和實踐,解讀與優化 deepfake
2017年歷史文章匯總|深度學習

TAG:生成對抗網路GAN | 計算機視覺 | 圖像處理 |