据我了解,我基本上是在最小化 Prior 和 Encoder 潜在分布之间的 KL Divergence 以及解码器分布的对数概率。我有一个模型,它使用这个损失函数为分类生成了一些有用的潜在分布,但是,它有奇怪的学习动态。我的解码器分布是 300 维高斯分布,而我的潜在分布是 40 维高斯分布,所以在所有情况下,我的 ELBO 的两个项都应该在数量级上有很大的不同。从互联网上环顾四周,VAE 的大多数用例看起来都很相似——高维解码器和低维编码器,所以我想有些人会看到类似的问题,但我在任何文献中都没有提到这一点或教程。有什么办法可以纠正这个吗?
了解 VAE 的 ELBO 学习动态?
数据挖掘
深度学习
自动编码器
2022-02-15 11:10:34
1个回答
有一篇很好的论文讨论了这个在 VAE 中被命名为“建模偏差”的问题。ELBO 目标是:
第一项迫使 VAE 将的模式,而第二项迫使它尽可能分散。但通常对于图像,X 的维度通常比 Z 的维度大几个数量级。
因为相同的每维建模误差在 X 空间中导致比 Z 空间更大的损失,所以当两个目标发生冲突时(例如,由于有限的建模能力),模型将倾向于牺牲 Z 上的散度并专注于最小化 Z 上的散度X. 因此它可能导致过度拟合而不是泛化。
其它你可能感兴趣的问题