AnchorVAE(Auto-Encoding Total Correlation Explanation)

论文:arXiv:1802.05822v1

摘要:我们提出以信息论方法来描述表示学中的 disentanglement 和 dependence。CorEx 规则在非监督学习中应用很成功,但是在一些限定的假设情况下。本文通过介绍灵活的下届估计( variational lower bound)放宽了这些限定,这个下届估计和 VAE 中的下届估计是相等的。信息论视角的 VAE 加深了我们的层级化VAE的理解,并提出新的 VAE 算法 AnchorVAE 可以更好的通过最大化信息解释隐变量和生成更丰富和真实的样本。

介绍:论文没有在一开始使用生成模型的假设,更多关注初始数据 x. 论文考虑尽可能的从统计独立性上的 disentangle 来表示 z 与 x 之间的关系。论文主要贡献有四点:① 使用 variational lower bound 和在神经网络中优化该 lower bound(该 lower bound 和 VAE 的 ELBO 是一样的)② 为多层的更 disentangle 提供更深刻的视角,将目标方程分解为两个互信息项 ③  修改目标方程公式权重,更好的解释隐变量 ④ 直接在分布AnchorVAE(Auto-Encoding Total Correlation Explanation)AnchorVAE(Auto-Encoding Total Correlation Explanation)中采样,而不是想 VAE 那样使用高斯先验分布

互信息基础:

熵的定义:AnchorVAE(Auto-Encoding Total Correlation Explanation)

互信息的定义:AnchorVAE(Auto-Encoding Total Correlation Explanation)

论文直接抛出了 total correlation 的定义:

AnchorVAE(Auto-Encoding Total Correlation Explanation)

TC(X)捕捉 x 之间相互依赖,且当 x 是独立的时候为0

AnchorVAE(Auto-Encoding Total Correlation Explanation)

AnchorVAE(Auto-Encoding Total Correlation Explanation)

通过计算 total correlation 定义隐变量 z 关于 x 的依赖

在传统 VAE 的视角,我们假设模型的生成模型( z 关于 x ),然后最大化 likelihood. 在信息论视角,我们认为 z 是一个随机关于 x的方程,然后寻找联合分布,下面的公式展示了 informative 和 disentangle 在公式中的关系。

AnchorVAE(Auto-Encoding Total Correlation Explanation)

公式的目的是寻找一个最小损失函数的隐变量表示,AnchorVAE(Auto-Encoding Total Correlation Explanation)计算隐变量z之间的依赖,当AnchorVAE(Auto-Encoding Total Correlation Explanation)时, z 可以被解释为生成模型, AnchorVAE(Auto-Encoding Total Correlation Explanation)取最大值,x  相互之间非常依赖。

以下是AnchorVAE(Auto-Encoding Total Correlation Explanation)公式推导:

AnchorVAE(Auto-Encoding Total Correlation Explanation)

优化:

AnchorVAE(Auto-Encoding Total Correlation Explanation)

推导:

AnchorVAE(Auto-Encoding Total Correlation Explanation)

公式中AnchorVAE(Auto-Encoding Total Correlation Explanation)表示 x 与 z 之间的互信息,就是两者的相关度,相关度越大,互信息越大,相关度越小,互信息越小。AnchorVAE(Auto-Encoding Total Correlation Explanation)可看做每个隐变量因素的压缩(此处原文翻译有问题,需改进)

变量下届:折括号里面表示期望

AnchorVAE(Auto-Encoding Total Correlation Explanation)

变量上届:

AnchorVAE(Auto-Encoding Total Correlation Explanation)

AnchorVAE(Auto-Encoding Total Correlation Explanation)表示一个新的随机分布

将上届和下届融合以后:

AnchorVAE(Auto-Encoding Total Correlation Explanation)

论文与 VAE 的比较:

AnchorVAE(Auto-Encoding Total Correlation Explanation)

AnchorVAE(Auto-Encoding Total Correlation Explanation)

其中,第一项是常量,第二项是 decoder ,表示重建误差,第三项是 encoder 表示 VAE 中的 p 与 a 的散度。

CorEx 与 VAE 相互比较:

CorEx 开始先定义 encoder AnchorVAE(Auto-Encoding Total Correlation Explanation),然后通过变量逼近真正的后验分布寻找 decoder AnchorVAE(Auto-Encoding Total Correlation Explanation),VAE 是先通过寻找 AnchorVAE(Auto-Encoding Total Correlation Explanation)然后逼近 AnchorVAE(Auto-Encoding Total Correlation Explanation)

如果采用更加复杂的分布,如 RNN、CNN等,模型将倾向于忽视隐变量,CorEx 可以避免这样的情况,在目标方程中,CorEx明确需要 z 作为 x 的信息来源。这个信息量的项使得CorEx满足上述网络。

当目标方程没有达到全局的最大化时,我们可以再次使用CorEx的规则,学习另外一个层并以z为顶层,方程如下:

AnchorVAE(Auto-Encoding Total Correlation Explanation)

推广到L层:

AnchorVAE(Auto-Encoding Total Correlation Explanation)

 

最终得到:

AnchorVAE(Auto-Encoding Total Correlation Explanation)

 

虽然最终的形式是一样的,从信息论角度来看,论文在指定隐变量分布的时候,可以使用 encode 直接从分布中采样,从信息论的角度,可以对方程进行跟多的修正,已达到更好的解释。

由于最终的代码并不是有最终的方程所决定,其实现形式与不同的实现方式如信息论角度或者VAE的角度,所以实验所达到的效果也是不同的。