生成對抗網路系列(3)——cGAN及變種
前兩個小節主要介紹了GAN的理論基礎,存在的難訓練D強G弱的challenge和理論上的解決方案。這個小節先介紹GAN與CNN結合的一個變種DCGAN,接著介紹目前最重要的變種之一conditional GAN(cGAN),以及基於cGAN的一些其他變種如pix2pix、cycleGAN、BicycleGAN等一些impressive and potential 的GAN
3.1 DCGAN[1]
前邊兩節介紹的GAN中,generator和discriminator都用的是簡單的線型神經元。我們知道,近年來,深度學習之所以能大放光彩,主要還是得益於CNN的應用。同樣的,GAN中的generator和discriminator也可以換成CNN,最先提出這個思想的就是DCGAN。G和D的結構如下:
D和G換成CNN之後,重新跑一下自己的服裝數據集,得到以下結果:
可以看出,CNN還是蠻強大的,這次的效果明顯比之前的好的多。不過,因為DCGAN只能生產64×64的圖像,我試著改了一下網路結構,把輸入增加到256×256,效果很一般。最新的用在Generator和Discriminator上的網路是Unet(挖坑下次再補充!)
3.2 cGAN
conditional GAN[2]是最早的GAN的變種之一,把原生GAN中的概率全改成條件概率,
這個條件可以是圖片,標註等等,結構如下圖:
真正在訓練的時候,把條件直接拼接到原始數據中就好。受到cGAN的啟發,總結出下邊的表格:
圖中任意pair都可以選一個做條件,一個做輸出去訓練GAN,從而做一些有意思的應用。
3.2 pix2pix[3]
用上邊的cGAN可知,既然cGAN的條件可以是圖片:
我們就用跟原圖尺寸大小相同的圖片做條件,這樣藉助cGAN可以完成一些paird data才能完成的任務,如把輪廓圖轉化成真實圖片,把mask轉化成真實圖,把黑白圖轉化成真實圖等,如下:
我也跑了自己的服裝數據,效果還是非常挺不錯的,但基於研究保密的需要,暫時不放實驗結果,paper發了之後再放!
3.3 BicycleGAN[6]
Pix2pix最大的缺點就是需要輸入一張ground truth與input image的圖像對,G才能從input image中還原出ground truth. 此外,生成的結果也十分單一,為了增加多樣性,人們又提出BicycleGAN. 這個GAN主要是結合了cVAE-GAN和cLR-GAN兩個變種,同時訓練這兩個網路,如下圖:
我們也可以看一下他的結果:
與pix2pix相同,不過這篇文章給了給多不同模式的輸出結果,使得結果更加diverse. 我們同樣在自己的服裝數據集上跑了結果,現在暫時不放。
3.4 Cycle GAN
和 Disco GAN 上邊說的cGAN需要有paired data,也許,我們沒辦法得到這樣的數據,比如把彩鉛畫轉化成真實圖,不可能去找畫家去畫各種彩鉛畫。Cycle GAN[4]和Disco GAN[5]告訴我們不用paird data一樣可以做到風格轉移:
Cycle GAN可以把真實圖片轉化成梵高風格,反之亦然!
除了用image做條件外,還可以用text做條件,這樣就可以完成基於文本描述的圖像生成,不同方法的區別在於如何處理文字,可以轉化成向量、矩陣,或者用一個RNN處理。這方面典型的代表工作是:GAN-INIT-CLS[7], GAWWN[8], StackGAN[9]. 這個不是我目前研究的重點,以後再補充相關的細節,這裡只給出三個方法的部分實驗結果,先是根據文字描述生成鳥
接著是根據文字描述生成花,或者各種場景
2.7 參考文獻
[1] Radford A, Metz L, Chintala S. Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks[J]. Computer Science, 2015.
[2] Mirza, Mehdi, and Simon Osindero. "Conditional generative adversarial nets." arXiv preprint arXiv:1411.1784 (2014).
[3] Isola, Phillip, et al. "Image-to-image translation with conditional adversarial networks." arXiv preprint (2017).
[4]Zhu, Jun-Yan, et al. "Unpaired image-to-image translation using cycle-consistent adversarial networks." arXiv preprint arXiv:1703.10593 (2017).
[5]Kim T, Cha M, Kim H, et al. Learning to Discover Cross-Domain Relations with Generative Adversarial Networks[J]. 2017.
[6] Zhu J Y, Zhang R, Pathak D, et al. Toward Multimodal Image-to-Image Translation[J]. 2017.
[7] Reed S, Akata Z, Yan X, et al. Generative Adversarial Text to Image Synthesis[J]. 2016:1060-1069.
[8] Reed S, Akata Z, Mohan S, et al. Learning What and Where to Draw[J]. New Republic, 2016.
[9] Zhang H, Xu T, Li H. StackGAN: Text to Photo-Realistic Image Synthesis with Stacked Generative Adversarial Networks[J]. 2016:5908-5916.
推薦閱讀:
TAG:生成對抗網路GAN |