浅谈AAE


前言

文章:Adversarial Autoencoders
AAE,对抗性自动编码器,从名字就可以看出来,就是将AE与GAN相结合。
原文中AAE介绍了挺多的东西,无监督的,有监督的,半监督的,聚类,降维等等。本文中,只简单的介绍一下AAE在disentanglement方面的东西,形成一个系列。


一、AAE结构

在这里插入图片描述
AAE的结构如图所示,分为两部分。上面是标准的AE,下面是一个判别器。判别器的作用是判断输入是标准正太分布p(z)还是AE产生的q(z|x)。

二、损失函数

1.公式

在这里插入图片描述

2.推导过程

推导过程是非常重要的,也是这篇文章最想讲的。
在这里插入图片描述
如上图公式所示,最后损失函数分解为三部分:第一项是reconstruction term 重构项,第二项marginal KL 正则化项,第二项是解耦的关键,第三项mutual info 互信息项。
第三项互信息项反映的是潜在变量与输入数据间的相关性。若惩罚该项, 将有可能导致潜在变量无法对输入数据进行有效表征。而式中第二项有关累积后验分布与先验分布的 KL 项则是真正有助于提升解耦效能的关键项。基于此,他们
采用
对抗约束的方式
仅惩罚式 (7) 中第一项重构项与第二项 KL 项。所以AAE的损失函数只有前两项,将第三项舍去。
该分解相较于β -VAE中后两项看作一个整体进行惩罚,更好地达到数据解耦性能与表征性能间的平衡。 我认为AAE将损失函数如此分解,才真正意义上解释了β -VAE为什么需要去权衡解耦和重构。

3.KL(q(z|x)||p(z))分解

AAE将损失函数分解为三部分,其中将KL(q(z|x)||p(z))分解为marginal KL 正则化项和mutual info 互信息项。
这个推导十分重要
推理过程如下:
在这里插入图片描述
如果不理解上图两个红框中是如何转换的,可以接下来的详细推导。
公式写起来实在是比较麻烦还浪费时间,直接在纸上写的然后拍照,大家将就看吧,推导肯定是对的。
详细推导:
在这里插入图片描述

三、AAE的不足

AAE 在运用对抗思想的同时会面临对抗训练所存在的鞍点等问题。
在这里插入图片描述
为了避免鞍点问题,又有DIP-VAE。DIP-VAE模型将潜在变量后验累积分布q(z)与先验分布p(z)均假设为高斯分布,利用矩估计思想设计了两种矩匹配项来对后验分布的协方差矩阵进行约束来促使二者分布达到一致 。

总结

本文比较重要的就是AAE将第二项KL分解为两项,一项正则,一项互信息。正则项是解耦的关键,互信息反映的是潜在变量与输入数据间的相关性。可以通过如此分解来解释β-VAE为什么将KL项作为整体来优化,会导致解耦效果好但是重构效果就差。
再一个比较重要的就是关于KL项的分解过程的推导,这个公式推导后面还有其他文章会用到。

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值