首页 > 解决方案 > 变分自动编码器:编码器是否必须具有与解码器相同的层数?

问题描述

在变分自动编码器中,编码器是否必须具有与解码器相同的层数?编码器(密集):54-10-5-3 和解码器(密集):3-5-10-25-35-45-54 我得到了更好的结果

标签: kerasautoencoder

解决方案


你问了一个很好的问题,答案是否定的。

由于 Aldream 已经指出了一些使用非对称架构的作品,我想指出与您的问题相关的理论工作。

我相信最好的解释来自 ICLR 2017 会议论文:“Variational Lossy Autoencoder”,Xi Chen 等人。

第 2 部分是必读部分。作者将变分自动编码器与 bit-back 编码联系起来,并表明平均码长(相当于变分下界)总是具有使用近似后验分布的额外码长。当 VAE 的解码器(即 log-datalikelihood p(x|z))可以在不需要 q(z|x) 的情况下对数据进行建模时,VAE 将忽略潜在变量!

这意味着如果我们有一个非常强大的解码器(例如,与编码器的层数相同),那么 VAE 可能会完全忽略学习 q(z|x),只需将 q(z|x) 设置为因此,先验 p(z) 将 KL 损失保持为 0。

有关详细信息,请阅读上面的论文。在我看来,VAE 与 bit-back 编码的联系是优雅的。


推荐阅读