变分自动编码器:编码器必须与解码器具有相同的层数吗?

时间:2018-05-02 09:36:29

标签: keras autoencoder

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

2 个答案:

答案 0 :(得分:0)

不,拥有不对称架构并不罕见,例如: [1,2,3等]。

  1. Tang,Shuai,et al。 “探索基于上下文的句子表示学习的非对称编码器 - 解码器结构。” arXiv preprint arXiv:1710.10380(2017)。 enter image description here

  2. LiNalisnick,Eric和Padhraic Smyth。 “坚持不懈的变分自动编码器。”国际学习代表大会(ICLR)。 2017. pdf

  3. Nash,Charlie和Chris KI Williams。 “形状变化自动编码器:部分分割的3D物体的深度生成模型。”计算机图形论坛。卷。 36. No. 5. 2017. pdf

答案 1 :(得分:0)

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

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

我认为最好的解释来自ICLR 2017年会议论文:“变分有损自动编码器”,Xi Chen等人。

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

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

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