我们对信息过滤的本质知之甚少 — David 9
还记得我们在GAN大盘点中聊到的infoGAN吗?通过控制隐信息c可以生成特定条件的图像(倾斜更高,宽度更大):
今年Facebook在NIPS2017上发表的Fader Networks(渐变网络)更近一步,对于更抽象的特征也可以进行条件生成:
如上图,“年轻”,“苍老”,“男性”,“女性”,“是否戴墨镜”,都是可以在生成器生成阶段任意指定。
但是有没有注意到上图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生成器判别器组合,下图红色粗线标出的网络:
这时,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上的开源代码.
参考文献:
本文采用署名 – 非商业性使用 – 禁止演绎 3.0 中国大陆许可协议进行许可。著作权属于“David 9的博客”原创,如需转载,请联系微信: david9ml,或邮箱:yanchao727@gmail.com
或直接扫二维码:
David 9
Latest posts by David 9 (see all)
- 修订特征已经变得切实可行, “特征矫正工程”是否会成为潮流? - 27 3 月, 2024
- 量子计算系列#2 : 量子机器学习与量子深度学习补充资料,QML,QeML,QaML - 29 2 月, 2024
- “现象意识”#2:用白盒的视角研究意识和大脑,会是什么景象?微意识,主体感,超心智,意识中层理论 - 16 2 月, 2024