VAE 中后验坍塌问题

目录

后验坍塌

ELBO?

!别怪ELBO,另有起因?



后验坍塌

在贝叶斯模型世界(如VAE,pPCA),所担心的不是神经网络的“梯度消失”或“梯度爆炸”,而是“后验失效”(posterior collapse)现象。本质上,任何模型(传统或非传统)都要从每个新样本“汲取信息”,更新自身。当信息无法汲取并用来更新模型,就会出现上述问题。相对比较晦涩,简单来说就是 z的生成已经摆脱了前边encoder的影响,然后z直接输出一个或多个从大部分样本总结出来的几种模式。该模型最终只依赖于解码器的自回归特性,而忽略了潜在变量,这变得无信息。

一般认为是因为解码器q(x|z)太强了,训练时重参数操作会引入噪声,噪声一大,z的利用会变得很困难,所以可能模型干脆不用z了,独立于z去进行重建,这种情况下的VAE模型并没有什么价值:KL散度为0说明编码器输出的是常数向量。而我们使用VAE通常来说是看中了它无监督构建编码向量的能力,所以要应用VAE的话还是得解决KL散度消失问题。

“后验失效”(posterior collapse)现象   (With the help of better explanations provided in Z-Forcing: Training Stochastic Recurrent Networks:

当后验不坍塌时:   z_{d}(潜在变量的第d维)是从采样得到的,其中是用神经网络从输入x的拟合的函数。

换句话说encoder部分,从x中提取有效的信息到中。

当后验发生坍塌:   当输入x的后验参数的信号太弱或者噪声太大,decoder就开始忽略从近似后验中采样的z。

  • 噪声过大意味着μd和σd是不稳定的,因此采样的z值也是不稳定的,利用z太难,这迫使解码器忽略它们,抛弃z,直接自行重构。我所说的“忽略”是指:解码器x^的输出几乎与z无关,实际上可以认为产生一些通用的输出x^,即所有所见x的粗略代表。
  • 信号太弱:   ,也就是说,后验的μ和σ变得几乎和输入x没有什么联系,换句话说,μ和σ崩溃为常数值a,b。从而导致了是将一个与x不同的输入的(常数)信号输送给解码器。最终这个z就没有价值,解码器试图通过忽略从N(a,b)采样的无用的z来重构x。

Z-Forcing: Training Stochastic Recurrent Networks:中描述,由于随机梯度近似让方差下降(variance induced by the stochastic gradient approximation),会导致后验提供的信号太弱或噪声太强。因此,解码器可能学会忽略z,而仅仅依赖x的自回归特性,使x和z相互独立,即式2中的KL项消失。在不同的领域,如文本和图像,经验观察到,当与强自回归解码器结合时,很难利用潜在变量。

Don’t Blame the ELBO!A Linear VAE Perspective on Posterior Collapse:中描述, VAE优化的一个主要问题是后塌陷,其中学习的变分分布接近于先验。这降低了生成模型(encoder  ->  q(z|x))的容量,使得解码器网络无法利用所有潜在维度的信息内容。

 


ELBO?

 

VAE的变分推断中,直接计算数据x的相似度边际分布log p(x) 非常困难,但是可以用变分分布q(z|x)去估计后验(实际上变分分布就是VAE的编码器encoder),这就引出了VAE的目标函数ELBO

log p(x)一定是大于ELBO的,那么让ELBO最大就是VAE的最终解了:

通常认为ELBO的使用是使得后验坍塌的原因

一般认为这个问题的根源看似就是ELBO目标函数。

分析ELBO的两个部分似乎有些道理: 

这两个部分在拟合后验和保持自身分布之间寻找平衡。于是,如果产生“后验失效”问题,许多人会把原因归结为DKL这部分上(模型太注重保持原有z分布,而对新来数据也不予理睬,阻止模型的参数更新)。也就是说,如果p_{\Theta }(x|z)这个生成网络太强了,抛弃利用encoder的近似后验的q(z|x)而直接用模型的z,在表达式上,就是直接使后面的KL term就会被压成0,也就是先验和近似后验相等了,这会使得VAE模型得到一个没有意义的近似后验分布,从而得到一个poor latent representation z,这导致了所谓的后验坍塌现象。

本来理论上优化ELBO是可行的,但是在实际训练中,会发现陷入ELBO目标的局部最优的情况,也就是会得到一个退化的solution:。这个后验不再取决于数据x得到,不再通过encoder的近似后验q(z|x)采样得到。坍塌时,z和x本质上independent,因此对潜在变量的后验估计不能代表对其数据的忠实总结faithful summaries——VAE没有学习到良好的representations。当似然p(x|z)容量非常高的时候,也就是自回归生成器非常强的时候,这个问题尤其突出。

 

ELBO表达式中,KL散度迫使变分分布趋向于模型先验p(z),因此,这是许多文章试图缓解后塌陷的合理焦点。下面的这篇2019的文章假设对数边际可能性本身经常会导致后塌陷。

 


 

!别怪ELBO,另有起因?

 

而google今年NeurIPS 2019上的一篇文章批评了上述误解,认为“后验失效”不是任何ELBO项造成的,而是一开始用相似度边际分布log p(x)就造成了“后验失效”:

所以,如果一开始找错目标,再寻求最好的平衡也无济于事。一厢情愿地假设单个隐变量z,再用z求边际分布来拟合真实分布,这种做法可能是导致“后验失效”的真正原因。

因此,一个明显的解决方法就是增加z分布的复杂度,而不是用单一高斯分布(可以是多态先验等等~论文讨论中提到)。

 

 

 

  • 8
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值