在变分自编码器中,编码器的层数是否必须与解码器的层数相同?我用编码器(密集)获得了更好的结果:54-10-5-3 和解码器(密集):3-5-10-25-35-45-54
最佳答案
你问了一个很好的问题,答案是否定的。
由于 Aldream 已经指出了一些使用非对称架构的作品,我想指出与您的问题相关的理论工作。
我认为最好的解释来自 ICLR 2017 session 论文:“Variational Lossy Autoencoder”,Xi Chen 等人。
第 2 部分是必读部分。作者将变分自动编码器与位回编码联系起来,并表明平均代码长度(相当于变分下界)总是有来自使用近似后验分布的额外代码长度。 当 VAE 的解码器(即对数数据似然 p(x|z))可以在不需要 q(z|x) 的情况下对数据进行建模时,VAE 将忽略潜在变量!
这意味着如果我们有一个非常强大的解码器(例如与编码器相同的层数),那么 VAE 可能会通过简单地设置 q(z|x) 来完全忽略学习 q(z|x) 的风险) 到先验 p(z),因此,将 KL 损失保持为 0。
有关详细信息,请阅读上面的论文。在我看来,VAE 与 bit-back 编码的联系很优雅。
关于keras - 变分自动编码器 : Does encoder must have the same number of layers as the decoder?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50131402/