Generative Adversarial Networks - Related work

基于深度学习的图像生成模型GAN的发展历史梳理。

重要文献:

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]

图像生成最重要的是生成模型的构建,当今的图像生成模型主要可分为两类:一类是基于Variational AutoEncoder(VAE),其优点是改变了AutoEncoder中很容易过拟合的reconstruction error based learning的方法,将学习目标定为尽可能满足某个预设的先验分布的性质。然而这种需要“假设先验分布”的方式仍然有局限。第二类生成模型Generative Adversial Networks(GAN)则较好地避开了这个问题,GAN启发自博弈论中的纳什均衡,其包含一对模型——一个生成模型G和一个判别模型D。用一个很经典的比喻就是,生成模型G就像小偷,要尽可能地提高自己的偷窃手段去欺骗身为警察的判别模型D,而D也要尽可能地训练总计的火眼金睛去防止被欺骗。所以,真正的学习过程就变成了一种生成模型G和判别模型D之间的竞争过程——随机从真实样本和由生成模型G生成出的“假样本”中取一个,让判别模型D去判断是否为真。

从上面的描述可以看出,GAN这种竞争的方式不再要求一个假设的数据分布,也就是说不需要构想p(x)再作修正,而是直接进行取样,从而真正达到了理论上可以完全逼近真实数据,这也是GAN最大的优势。但这种不需要于先建模的方式的缺点就在于太过自由,对于较大的图片,较多像素点的情形,基于简单的GAN的方式就太不可控了,在GAN[1]中,每次学习参数的更新过程,被设定为D更新k回,G才更新1回,也是出于类似的考虑。

为了解决GAN太过自由的这个问题,比较直接的想法就是给GAN加上一些约束,于是便有了Conditional Generative Adversarial Nets(CGAN)[2]。这篇文章的工作就是在D和G的建模当中分别加入条件变量y,后来这一方式也被证明非常有效。

为了改进GAN太过自由导致对较大图片,较多像素点处理的劣势,另外一个想法是不要让GAN一次完成全部任务,而是一次生成一部分,分多次生成一张完整的图片。这跟2015年DeepMind大火的一个工作DRAW的思路一致。DRAW提出一种sequential VAE的模型,让机器一点点“写”出一个数字。于是LAPGAN[3]采用了这个思想,在GAN基础上做出了改进。在实现sequential version的方式上,LAPGAN采用的是Laplacian Pyramid的方式,因此起名为LAPGAN。这个方式主要的操作是downsample与upsample,优势在于每次只考虑样本和生成图像之间的残差的学习效果,某种程度上与Residual Network的思想一致。针对残差的逼近和学习,相对更加容易。LAPGAN的学习过程如下:

如上图,当图像像素点较多时,便需要进行Laplacian Pyramid过程,并且在每个process step时(每一个Pyramid level),传给D的只是针对残差的compare。另一方面,当pixel足够小的时候,也就是最后边的step,则不再需要进行upsample和downsample的过程,这时给D的传送则是未经处理的样本和生成的图像了。Facebook指出,这样的sequential方式减少了每一次GAN需要学习的内容,也就从而增大了GAN的学习能力。值得注意的是,LAPGAN其实也是LAPCGAN,都是conditional的。另外,每一步的GAN都是independent trained。与此同时,这篇论文还总结出了许多工程上的经验,都在他们的project page中。

DCGAN【4】这篇论文的提出看似并没有很大创新,但其实它的开源代码现在被使用和借鉴的频率最高。这一切必须归功于这篇工作中比LAPGAN更robust的工程经验分享。也就是说,DCGAN,Deep Convolutional Generative Adversarial Networks,这个工作【4】,只出了许多对于GAN这种不稳定学习方式重要的架构设计和针对CNN这种网络的特定经验,重点来看:

比如他们提出既然之前已经被提出的stride convolutional networks作为一个可以fully differentiable的generator G,在GAN中会变现得更加可控和稳定。又比如,本来Facebook的LAPGAN中指出Batch Normalization(BN)被用在GAN中的D上会导致整个学习的collapse,但是DCGAN中则成功将BN用在了G和D上。这些工程性的突破无疑是更多人选择DCGAN这一工作作为base的重要原因。

另一方面,他们在visualize generative models也有许多贡献。比如他们学习了ICLR 2016论文《Generating Sentences From a Continuous Space》中的interpolate space的方式,将生成图片中的hidden states都展示出来,可以看出图像逐渐演变的过程。

与此同时,他们也将Vector Arithmatic运用在了图像上,得到了如下的一些结果:

论文【5】与DRAW也有许多相似点。上文提到,在改进GAN时,可以考虑sequential version。Sequential models的好处便是可以让下一步的model利用上一步得到的结果,在之前的结果上作出修改,类似于一种conditional的方式。为了让GAN也拥有这种sequential的能力,论文【5】将GAN与LSTM结合,称为GRAN,使其分割成了step by step的过程。每一个step中,就像LSTM中的hidden state一样,这里也有h_{c,t}。与简单的LSTM不同的是,这里决定每个cell内容的不仅仅是hidden states,还有一个“hidden of prior”,是专属于GAN中的生成模型G的一个先验h_z。h_z和h_{c,t}拼接之后共同决定当前step的update——what to draw。

并且,因为完美利用了gradient of convolutional的性质,这个改造后的GRAN可以将每次的求导看作一次decoding过程,而每次的convolution等操作变成encoding过程,也就可以因此对应到DRAW中的decoder和encoder部分。而GAN和DRAW最大的不同之处在于。GAN中在计算loss时是在hidden space中,而DRAW是在原始input space中。

在实验中,这篇论文也确实证明了sequential models(multi-step)生成的图像比single step的要好。只不过,generative models的评估标准还比较模糊,所以实验结果上并不能很好地和以前的GAN或者相关方法做比较。这篇论文的另一个创世便是提出了一种GAN这种特殊generative models的评价方法。过去用于评价generated image的Parzen windows或者manual evaluation等方法都各有各的缺点。这篇论文提出,既然本来就是竞争模型,可以让两组GAN互相“竞争”评价。互为评委,互为选手。

最后说一下缺点,现阶段来看这个模型的可扩展性还不是很好,尽管说是step by step的,在最后的实验中也只用了几个discrete step做实验。

上文说的都是通过编程sequential versions来减弱GAN的自由性。但是还有一篇工作【6】是反其道而行之的,将GAN中学出来的feature重新运用在VAE的reconstruction objective中,从而结合了GAN和VAE的优点,于是这个工作被称为VAEGAN。

具体的,因为在以前的reconstruction objective中,都用到的是element-wise distance metrics。这种metrics其实对于很多hidden feature/space的学习并不好。这篇论文的根本idea就是利用GAN中Discriminator D,使其当作learned similarity measure,来替代/弥补reconstruction objective中的这种similarity measure component。D学习到的similarity measure便可以被认为是一种high-level representation中的measurement。这个思想还是很有扩展性的。

http://www.wtoutiao.com/p/172tUtn.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容