keras - 变分自动编码器:编码器是否必须具有与解码器相同的层数?
问题描述
在变分自动编码器中,编码器是否必须具有与解码器相同的层数?编码器(密集):54-10-5-3 和解码器(密集):3-5-10-25-35-45-54 我得到了更好的结果
解决方案
你问了一个很好的问题,答案是否定的。
由于 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 编码的联系是优雅的。
推荐阅读
- ipv6 - ipv6 tcp 连接失败,而 ipv4 连接成功
- python - 向索引数据框熊猫添加一行
- java - CORS 过滤器在我的 Java 应用程序中不起作用
- vba - Excel VBA - 获取字符串中特定单词的行号
- python - Python 烧瓶、apache 和 mod_wsgi 应用程序不工作
- node.js - Garmin API 中的 oAuth 标头错误
- angular - 如何键入规范化状态树的分支?
- hibernate - 创建名称为“entityManagerFactory”HibernateJpaAutoConfigure 的 bean 时出错
- python - PyAutoGui 可以在我的电脑后台运行吗
- office365 - 如何使用onenote api重命名onenote中的部分