本期话题
Adversarial Autoencoders
Alireza Makhzani, Jonathon Shlens, Navdeep Jaitly, Ian Goodfellow, Brendan Frey
https://arxiv.org/abs/1511.05644
讨论精选
1. AAE 的网络是怎样的?
对抗自编码器分成两大部分网络結构:自编码部分(图上半部分)、GAN 判别网络(图下半部分),其中变量含义如下:x 是样本输入,z 是编码向量,p(z) 是隐含变量的先验分布, q(z|x) 是編码分布函数,p(x|z) 是解码分布函数,pd(x) 表示真实的数据分布,p(x) 表示模型数椐分布。
2. AAE 的 loss 是怎么样的?
从网络可以看出分成三个部分:encoder, decoder 和 D。三者的 loss 如下:
a) decoder 就是一般的重构误差:mse,详见 Kingma D P, Welling M. Auto-encoding variational bayes[J]. arXiv preprint arXiv:1312.6114, 2013.以及大佬的证明:
b) D 的 loss 就是 GAN 的 loss,就是是判别真假,只是它是在隐空间上判别;
c) encoder 的 loss=重构 loss + 判别器的 loss。
参考自:
http://blog.csdn.net/hjimce/article/details/54411244
3. AAE 和 AE 有什么相同之处?
VAE 跟 AAE 是有相似之处的,两者都有一个过程(encoder)把正确的数据变成傻白甜。
4. AAE 和 GAN 又有什么不同?
AE 跟 GAN 其实是相反的一个过程,AAE 的 encoder 是从 x -> z,再重构 x,而 GAN 是 z -> x ;“可以理解为 GAN 是从傻白甜的高斯分布变成有用的正确数据,而 AAE 是从正确数据把自己转换成傻白甜”。
两者都有后验概率逼近先验概率的想法,实现的手段不一样,都是生成模型;不同的是,p(z|x) 在 VAE 里面是个分布,在 AAE 里面建模成确定性函数了; AAE 更大的作用是在编码上。
5. AAE在编码空间进行对抗,有什么好处?要解决什么问题?
编码空间的优势:
a) 在编码空间进行对抗就可以把解码器当作一个比较好的生成器来用了,而一般的生成器通常比较弱;
b) 自带特征提取,降低噪声干扰。
6. AAE 相比 GAN 来说,不太适合图像,但是更加适合文本,对吗?
图像是连续且具有有局部平滑性的数据,因此 AAE 在图像上其实应该没有太大好处,因为 AE 的 mse loss 会使得图像模糊,但是 AAE 这个架构在文本上就有很大优势了,巧妙绕开了文本离散不可微的问题。
mse 不好的原因是,没有考虑同一偏差值在不同 context 下对于人类的“显眼程度”,比如在色彩突变交界处的像素偏差就会造成总体感觉上的模糊,但是同样的偏差值在别的地方可能就很不“显眼”。详见论文 Zhao H, Gallo O, Frosio I, et al. Loss Functions for Neural Networks for Image Processing[J]. arXiv preprint arXiv:1511.08861, 2015.
另:毛豆大佬写过一篇专栏,把它跟 PM,GAN,InfoGAN 做过对比,讨论结束以后大家可以去看看:
https://zhuanlan.zhihu.com/p/27159510
参与讨论
请长按识别以下二维码添加群主微信,备注「GAN」申请入群。
关于PaperWeekly
PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。