Facebook渐变神经网络: 通过任意指定属性,操纵生成图像,NIPS2017论文选读1

我们对信息过滤的本质知之甚少 — David 9

还记得我们在GAN大盘点中聊到的infoGAN吗?通过控制隐信息c可以生成特定条件的图像(倾斜更高,宽度更大):

来自: https://arxiv.org/pdf/1606.03657.pdf

今年Facebook在NIPS2017上发表的Fader Networks(渐变网络)更近一步,对于更抽象的特征也可以进行条件生成

来自:https://arxiv.org/pdf/1706.00409.pdf

如上图,“年轻”,“苍老”,“男性”,“女性”,“是否戴墨镜”,都是可以在生成器生成阶段任意指定。

但是有没有注意到上图demo中,头发的样子始终是不变的,看来Facebook还没有很好地解决头发生成的问题?男性和女性的头发样式明显应该不同,年轻和年老时的头发样式和色泽肯定也是不同的。

但是值得点赞的是Fader Networks的网络架构,开阔了David 9 把GAN集成到encoder-decoder架构的思路。所以我们马上来解析Fader Networks的整体网络架构:

如果仅仅是普通的Encoder-Decoder的方式(上图蓝色粗线标出的网络),我们一次只能对输入图片做一种特殊处理(去噪,美化,去痘痘。。。)

为了对生成的图片做更灵活细致的控制, Fader Networks对Encoder的输出 E(x)(也就是压缩过的最后隐层信息)做了手脚。

为控制属性y,增加了一个判别器(Discriminator)使得Encoder输出的E(x)不包含熟悉y的信息,即Encoder和Discriminator首先组成了一个GAN生成器判别器组合,下图红色粗线标出的网络:

来自:https://arxiv.org/pdf/1706.00409.pdf

这时,Encoder作为GAN的生成器,要不断生成E(x),使得E(x)包含了输入图片x的除了属性y的所有信息,即,压缩后E(x)的信息要和y无关;而判别器Discriminator要尽其所能判别E(x)是否与属性y有关系(判别此图片压缩后的信息是“年轻”还是“衰老”)。随着生成器Encoder不断欺骗判别器,Encoder压缩图片x后的E(x)不会包括属性y的线索。这样,有关属性y的信息和与y无关的信息被分离了

所以思考一下可以推测, 这时如果用Decoder直接去还原E(x)的图片,一定是一个“中性”图片,如果y的属性是“男”和“女”,那么抽离了的信息E(x)还原后就是“不男不女”的图片。 嘿嘿。

最后在Decoder生成新的图片时,把y的信息人为加入即可,这样就达到了灵活控制图片属性的目标。

因此,可以说最有意思的是Fader Networks剔除了Encoder输出 E(x)中的信息纠缠, 把有关属性y的相关信息剔除了.

要知道人类剔除信息的能力是那么自然, 我们很容易想象一个人老了时候的样子. (虽然大多数时候我们只是在脑中想想而已)

所以总结上面两部分网络的损失函数, 对于这部分红色网络:

我们的目的是让判别器有能力判别E(x)生成后是不是与y有关系:

θdis和θenc分别表示判别器网络和encoder网络的参数, 判别器的能力是最大程度地区分y是不是和E(x)有关系.

而对于蓝色部分网络:

出了保证让判别器最大程度地分错(欺骗判别器), 还有一个很重要的目的就是, 让最后的生成图片(最右边的x)看起来像原始的输入图片x(如果最后生成图片和原图片不像也没有意义,不是吗?):

最后再上一张添加眼镜的demo图, 如果对论文有兴趣也别忘了看看github上的开源代码.

来自: https://arxiv.org/pdf/1706.00409.pdf

 

参考文献:

  1. https://github.com/facebookresearch/FaderNetworks
  2. https://arxiv.org/pdf/1706.00409.pdf

本文采用署名 – 非商业性使用 – 禁止演绎 3.0 中国大陆许可协议进行许可。著作权属于“David 9的博客”原创,如需转载,请联系微信: david9ml,或邮箱:yanchao727@gmail.com

或直接扫二维码:

发布者

David 9

David 9

邮箱:yanchao727@gmail.com 微信: david9ml

发表评论

电子邮件地址不会被公开。 必填项已用*标注