Tomczak J. & Welling M. VAE with a VampPrior. In International Conference on Artificial Intelligence and Statistics (AISTATS), 2018.

这篇文章提出了一种新的"多模态"的先验.

主要内容

首先根据这里的推导可知,

\[\begin{array}{ll}
\mathcal{L}(\phi, \theta, \lambda)
=& \mathbb{E}_{q(x)} [\mathbb{E}_{q_{\phi}(z|x)}\log p_{\theta}(x|z)] \\
&+ \mathbb{E}_{x \sim q(x)}[\mathbb{H}[q_{\phi}(z|x)]] \\
&- \mathbb{E}_{z \sim q(z)}[-\log p_{\lambda}(z)].
\end{array}
\]

其中, \(q(z) = \frac{1}{N} \sum_{n=1}^{N} q_{\phi}(z|x_n).\)

因为只有最后一项(交叉熵)和先验分布有关系, 可见, 最优的先验分布\(p_{\lambda}\)就是

\[q(z) = \frac{1}{N} \sum_{n=1}^{N} q_{\phi}(z|x_n).
\]

但是这样的先验分布每一次计算量太大, 所以作者退而求其次, 假设

\[p_{\lambda}(z) = \frac{1}{K} \sum_{k=1}^K q_{\phi}(z|\mu_k),
\]

其中\(\mu_k\)是可训练的参数.

分级的VAE

一般的VAE的隐变量往往只有少部分是激活的有效的, 而且这一点越在deep的网络中越容易出现.

所以作者提出了如上图(b)的一种双层的改进方式.

具体的, variational part:

\[q_{\phi}(z_1|x, z_2)q_{\psi}(z_2|x),
\]

generative part:

\[p_{\theta}(x|z_1, z_2) p_{\lambda}(z_1|z_2)p(z_2).
\]

其中:

感觉有点残差的味道.

代码

原文代码

最新文章

  1. 使用struts的logic:iterate标签遍历列表时得到显示序号
  2. 判断密文加密类型hash-identifier
  3. Spring JDBC保存枚举对象含关键字报错原因之一
  4. C#当前应用程序路径及环境变量
  5. -_-#【Better Code】throttle / debounce
  6. mysql 数据sqoop到hive 步骤
  7. 理清fineuploader无刷新上传的一些事
  8. chrome 开发人员工具
  9. sql查询调优之where条件排序字段以及limit使用索引的奥秘
  10. swift -- 静态变量static
  11. Microsoft Azure IoTHub Serials 1 - 使用Android设备与Azure IoTHub进行交互
  12. 友盟崩溃日志分析工具 - dSYMTools
  13. 一统江湖的大前端(7)React.js-从开发者到工程师
  14. 69.js--点击事件等比例弹出层div
  15. Iar8.1安装包破解
  16. shell脚本删除log日志
  17. IdentityServer4-MVC+Hybrid实现Claims授权验证(四)
  18. JavaScript标准对象
  19. Git 创建两个“本地分支”协同工作
  20. BZOJ 2726: [SDOI2012]任务安排 [斜率优化DP 二分 提前计算代价]

热门文章

  1. Kafka入门教程(一)
  2. 100个Shell脚本——【脚本7】批量建立用户
  3. linux shell中的条件判断语句
  4. 节省内存的循环banner(一)
  5. Android 基础UI组件(一)
  6. 转Android Canvas和Paint基本使用
  7. ReactiveCocoa操作方法-线程\时间
  8. redis 之 集群
  9. JSP常见的状态码
  10. 如何用three.js实现数字孪生、3D工厂、3D工业园区、智慧制造、智慧工业、智慧工厂-第十课