基于深度學(xué)習(xí)的圖像生成模型GAN的發(fā)展歷史梳理狸演。
重要文獻(xiàn):
1.《Generative Adversarial Nets》
2.《Conditional Generative Adversarial Nets》
3.《Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks》
4.《Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks》
5.《Generating Images with Recurrent Adversarial Networks》
6.《Autoencoding beyond pixels using a learned similarity metric》
GAN[1]->CGAN[2]->LAPGAN[3]->DCGAN[4]->GRAN[5]->VAEGAN[6]
圖像生成最重要的是生成模型的構(gòu)建言蛇,當(dāng)今的圖像生成模型主要可分為兩類:一類是基于Variational AutoEncoder(VAE),其優(yōu)點是改變了AutoEncoder中很容易過擬合的reconstruction error based learning的方法宵距,將學(xué)習(xí)目標(biāo)定為盡可能滿足某個預(yù)設(shè)的先驗分布的性質(zhì)腊尚。然而這種需要“假設(shè)先驗分布”的方式仍然有局限。第二類生成模型Generative Adversial Networks(GAN)則較好地避開了這個問題满哪,GAN啟發(fā)自博弈論中的納什均衡婿斥,其包含一對模型——一個生成模型G和一個判別模型D。用一個很經(jīng)典的比喻就是哨鸭,生成模型G就像小偷民宿,要盡可能地提高自己的偷竊手段去欺騙身為警察的判別模型D,而D也要盡可能地訓(xùn)練總計的火眼金睛去防止被欺騙像鸡。所以勘高,真正的學(xué)習(xí)過程就變成了一種生成模型G和判別模型D之間的競爭過程——隨機(jī)從真實樣本和由生成模型G生成出的“假樣本”中取一個,讓判別模型D去判斷是否為真坟桅。
從上面的描述可以看出华望,GAN這種競爭的方式不再要求一個假設(shè)的數(shù)據(jù)分布,也就是說不需要構(gòu)想p(x)再作修正仅乓,而是直接進(jìn)行取樣赖舟,從而真正達(dá)到了理論上可以完全逼近真實數(shù)據(jù),這也是GAN最大的優(yōu)勢夸楣。但這種不需要于先建模的方式的缺點就在于太過自由宾抓,對于較大的圖片子漩,較多像素點的情形,基于簡單的GAN的方式就太不可控了石洗,在GAN[1]中幢泼,每次學(xué)習(xí)參數(shù)的更新過程,被設(shè)定為D更新k回讲衫,G才更新1回缕棵,也是出于類似的考慮。
為了解決GAN太過自由的這個問題涉兽,比較直接的想法就是給GAN加上一些約束招驴,于是便有了Conditional Generative Adversarial Nets(CGAN)[2]。這篇文章的工作就是在D和G的建模當(dāng)中分別加入條件變量y枷畏,后來這一方式也被證明非常有效别厘。
為了改進(jìn)GAN太過自由導(dǎo)致對較大圖片,較多像素點處理的劣勢拥诡,另外一個想法是不要讓GAN一次完成全部任務(wù)触趴,而是一次生成一部分,分多次生成一張完整的圖片渴肉。這跟2015年DeepMind大火的一個工作DRAW的思路一致雕蔽。DRAW提出一種sequential VAE的模型,讓機(jī)器一點點“寫”出一個數(shù)字宾娜。于是LAPGAN[3]采用了這個思想批狐,在GAN基礎(chǔ)上做出了改進(jìn)。在實現(xiàn)sequential version的方式上前塔,LAPGAN采用的是Laplacian Pyramid的方式,因此起名為LAPGAN华弓。這個方式主要的操作是downsample與upsample食零,優(yōu)勢在于每次只考慮樣本和生成圖像之間的殘差的學(xué)習(xí)效果,某種程度上與Residual Network的思想一致贰谣。針對殘差的逼近和學(xué)習(xí)昌粤,相對更加容易凄贩。LAPGAN的學(xué)習(xí)過程如下:
如上圖誓军,當(dāng)圖像像素點較多時,便需要進(jìn)行Laplacian Pyramid過程疲扎,并且在每個process step時(每一個Pyramid level)昵时,傳給D的只是針對殘差的compare。另一方面评肆,當(dāng)pixel足夠小的時候,也就是最后邊的step非区,則不再需要進(jìn)行upsample和downsample的過程瓜挽,這時給D的傳送則是未經(jīng)處理的樣本和生成的圖像了。Facebook指出征绸,這樣的sequential方式減少了每一次GAN需要學(xué)習(xí)的內(nèi)容久橙,也就從而增大了GAN的學(xué)習(xí)能力。值得注意的是管怠,LAPGAN其實也是LAPCGAN淆衷,都是conditional的。另外渤弛,每一步的GAN都是independent trained祝拯。與此同時,這篇論文還總結(jié)出了許多工程上的經(jīng)驗她肯,都在他們的project page中佳头。
DCGAN【4】這篇論文的提出看似并沒有很大創(chuàng)新,但其實它的開源代碼現(xiàn)在被使用和借鑒的頻率最高晴氨。這一切必須歸功于這篇工作中比LAPGAN更robust的工程經(jīng)驗分享康嘉。也就是說,DCGAN籽前,Deep Convolutional Generative Adversarial Networks亭珍,這個工作【4】,只出了許多對于GAN這種不穩(wěn)定學(xué)習(xí)方式重要的架構(gòu)設(shè)計和針對CNN這種網(wǎng)絡(luò)的特定經(jīng)驗枝哄,重點來看:
比如他們提出既然之前已經(jīng)被提出的stride convolutional networks作為一個可以fully differentiable的generator G肄梨,在GAN中會變現(xiàn)得更加可控和穩(wěn)定。又比如挠锥,本來Facebook的LAPGAN中指出Batch Normalization(BN)被用在GAN中的D上會導(dǎo)致整個學(xué)習(xí)的collapse峭范,但是DCGAN中則成功將BN用在了G和D上。這些工程性的突破無疑是更多人選擇DCGAN這一工作作為base的重要原因瘪贱。
另一方面纱控,他們在visualize generative models也有許多貢獻(xiàn)辆毡。比如他們學(xué)習(xí)了ICLR 2016論文《Generating Sentences From a Continuous Space》中的interpolate space的方式,將生成圖片中的hidden states都展示出來甜害,可以看出圖像逐漸演變的過程舶掖。
與此同時,他們也將Vector Arithmatic運用在了圖像上尔店,得到了如下的一些結(jié)果:
論文【5】與DRAW也有許多相似點眨攘。上文提到,在改進(jìn)GAN時嚣州,可以考慮sequential version鲫售。Sequential models的好處便是可以讓下一步的model利用上一步得到的結(jié)果,在之前的結(jié)果上作出修改该肴,類似于一種conditional的方式情竹。為了讓GAN也擁有這種sequential的能力,論文【5】將GAN與LSTM結(jié)合匀哄,稱為GRAN秦效,使其分割成了step by step的過程。每一個step中涎嚼,就像LSTM中的hidden state一樣阱州,這里也有h_{c,t}。與簡單的LSTM不同的是法梯,這里決定每個cell內(nèi)容的不僅僅是hidden states苔货,還有一個“hidden of prior”,是專屬于GAN中的生成模型G的一個先驗h_z立哑。h_z和h_{c,t}拼接之后共同決定當(dāng)前step的update——what to draw蒲赂。
并且,因為完美利用了gradient of convolutional的性質(zhì)刁憋,這個改造后的GRAN可以將每次的求導(dǎo)看作一次decoding過程滥嘴,而每次的convolution等操作變成encoding過程,也就可以因此對應(yīng)到DRAW中的decoder和encoder部分至耻。而GAN和DRAW最大的不同之處在于若皱。GAN中在計算loss時是在hidden space中,而DRAW是在原始input space中尘颓。
在實驗中走触,這篇論文也確實證明了sequential models(multi-step)生成的圖像比single step的要好。只不過疤苹,generative models的評估標(biāo)準(zhǔn)還比較模糊互广,所以實驗結(jié)果上并不能很好地和以前的GAN或者相關(guān)方法做比較。這篇論文的另一個創(chuàng)世便是提出了一種GAN這種特殊generative models的評價方法。過去用于評價generated image的Parzen windows或者manual evaluation等方法都各有各的缺點惫皱。這篇論文提出像樊,既然本來就是競爭模型,可以讓兩組GAN互相“競爭”評價旅敷∩鳎互為評委,互為選手媳谁。
最后說一下缺點涂滴,現(xiàn)階段來看這個模型的可擴(kuò)展性還不是很好,盡管說是step by step的晴音,在最后的實驗中也只用了幾個discrete step做實驗柔纵。
上文說的都是通過編程sequential versions來減弱GAN的自由性。但是還有一篇工作【6】是反其道而行之的锤躁,將GAN中學(xué)出來的feature重新運用在VAE的reconstruction objective中搁料,從而結(jié)合了GAN和VAE的優(yōu)點,于是這個工作被稱為VAEGAN进苍。
具體的加缘,因為在以前的reconstruction objective中鸭叙,都用到的是element-wise distance metrics觉啊。這種metrics其實對于很多hidden feature/space的學(xué)習(xí)并不好。這篇論文的根本idea就是利用GAN中Discriminator D沈贝,使其當(dāng)作learned similarity measure杠人,來替代/彌補reconstruction objective中的這種similarity measure component。D學(xué)習(xí)到的similarity measure便可以被認(rèn)為是一種high-level representation中的measurement宋下。這個思想還是很有擴(kuò)展性的嗡善。
http://www.wtoutiao.com/p/172tUtn.html