变分自动编码器:MSE 与 BCE

Posted

技术标签:

【中文标题】变分自动编码器:MSE 与 BCE【英文标题】:Variational Autoencoders: MSE vs BCE 【发布时间】:2021-03-21 05:46:34 【问题描述】:

我正在使用变分自动编码器,我看到有些人使用 MSE 损失,有些人使用 BCE 损失,有谁知道其中一个是否比另一个更正确以及为什么?

据我了解,如果假设 VAE 的潜在空间向量遵循高斯分布,则应使用 MSE Loss。如果假设它遵循多项分布,则应使用 BCE。此外,BCE 偏向于 0.5。

有人可以澄清一下这个概念吗?我知道这与信息期望的变分下界项有关......

非常感谢!

【问题讨论】:

【参考方案1】:

简而言之:最大化预测为正态分布(多项分布)的模型的似然性相当于最小化 MSE(BCE)

数学细节:

The real reason you use MSE and cross-entropy loss functions

DeepMind 有一个很棒的lecture on Modern Latent Variable Models(主要是关于变分自动编码器),你可以在那里了解你需要的一切

【讨论】:

以上是关于变分自动编码器:MSE 与 BCE的主要内容,如果未能解决你的问题,请参考以下文章

用于可变长度序列的 LSTM 变分自动编码器

Pytorch Note44 变分自动编码器(VAE)

变分自动编码器

变分自动编码器损失函数(keras)

Keras - 变分自动编码器 NaN 损失

python 一个简单的变分自动编码器实现