文章目录

  • 主要内容
    • 分级的VAE
  • 代码

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

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

主要内容

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

L ( ϕ , θ , λ ) = E q ( x ) [ E q ϕ ( z ∣ x ) log ⁡ p θ ( x ∣ z ) ] + E x ∼ q ( x ) [ H [ q ϕ ( z ∣ x ) ] ] − E z ∼ q ( z ) [ − log ⁡ p λ ( z ) ] . \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} L(ϕ,θ,λ)=​Eq(x)​[Eqϕ​(z∣x)​logpθ​(x∣z)]+Ex∼q(x)​[H[qϕ​(z∣x)]]−Ez∼q(z)​[−logpλ​(z)].​
其中, q ( z ) = 1 N ∑ n = 1 N q ϕ ( z ∣ x n ) . q(z) = \frac{1}{N} \sum_{n=1}^{N} q_{\phi}(z|x_n). q(z)=N1​∑n=1N​qϕ​(z∣xn​).
因为只有最后一项(交叉熵)和先验分布有关系, 可见, 最优的先验分布 p λ p_{\lambda} pλ​就是
q ( z ) = 1 N ∑ n = 1 N q ϕ ( z ∣ x n ) . q(z) = \frac{1}{N} \sum_{n=1}^{N} q_{\phi}(z|x_n). q(z)=N1​n=1∑N​qϕ​(z∣xn​).
但是这样的先验分布每一次计算量太大, 所以作者退而求其次, 假设
p λ ( z ) = 1 K ∑ k = 1 K q ϕ ( z ∣ μ k ) , p_{\lambda}(z) = \frac{1}{K} \sum_{k=1}^K q_{\phi}(z|\mu_k), pλ​(z)=K1​k=1∑K​qϕ​(z∣μk​),
其中 μ k \mu_k μk​是可训练的参数.

分级的VAE

一般的VAE的隐变量往往只有少部分是激活的有效的, 而且这一点越在deep的网络中越容易出现.
所以作者提出了如上图(b)的一种双层的改进方式.

具体的, variational part:
q ϕ ( z 1 ∣ x , z 2 ) q ψ ( z 2 ∣ x ) , q_{\phi}(z_1|x, z_2)q_{\psi}(z_2|x), qϕ​(z1​∣x,z2​)qψ​(z2​∣x),
generative part:
p θ ( x ∣ z 1 , z 2 ) p λ ( z 1 ∣ z 2 ) p ( z 2 ) . p_{\theta}(x|z_1, z_2) p_{\lambda}(z_1|z_2)p(z_2). pθ​(x∣z1​,z2​)pλ​(z1​∣z2​)p(z2​).

其中:

感觉有点残差的味道.

代码

原文代码

VAE with a VampPrior相关推荐

  1. 变分推断(Variational Inference)最新进展简述

    动机 变分推断(Variational Inference, VI)是贝叶斯近似推断方法中的一大类方法,将后验推断问题巧妙地转化为优化问题进行求解,相比另一大类方法马尔可夫链蒙特卡洛方法(Markov ...

  2. HTML,JS与CSS

    HTML和CSS,JavaScript(简称js)是万维网的核心技术,三种技术一起构成前端开发.HTML为网页结构,CSS为网页表现,JS为网页行为.如果说网页是一个人的话,那么HTML就是他的骨骼经 ...

  3. VAE变分自编码器实现

    变分自编码器(VAE)组合了神经网络和贝叶斯推理这两种最好的方法,是最酷的神经网络,已经成为无监督学习的流行方法之一. 变分自编码器是一个扭曲的自编码器.同自编码器的传统编码器和解码器网络一起,具有附 ...

  4. 变分自编码器VAE代码

    VAE更倾向于数据生成.当我们训练好了decoder,就可以从标准正态分布生成数据作为解码器的输入,来生成类似但不同于训练数据的新样本,作用类似GAN,用来降维.生成数据. 1.训练代码 import ...

  5. Pytorch入门之VAE

    这里谈谈对于变分自编码器(Variational auto-encoder)即VAE的实现. 1. 稀疏编码 首先介绍一下"稀疏编码"这一概念. 早期学者在黑白风景照片中可以提取到 ...

  6. 三大深度学习生成模型:VAE、GAN及其变种

    本章将为读者介绍基于深度学习的生成模型.前面几章主要介绍了机器学习中的判别式模型,这种模型的形式主要是根据原始图像推测图像具备的一些性质,例如根据数字图像推测数字的名称,根据自然场景图像推测物体的边界 ...

  7. 如何使用TensorFlow和VAE模型生成手写数字

    全部 VAE 代码:https://github.com/FelixMohr/Deep-learning-with-Python/blob/master/VAE.ipynb 自编码器是一种能够用来学习 ...

  8. VAE(Variational Autoencoder)的原理

    Kingma, Diederik P., and Max Welling. "Auto-encoding variational bayes." arXiv preprint ar ...

  9. 只知道GAN你就OUT了——VAE背后的哲学思想及数学原理

    短短三年时间,变分编码器VAE(Variational Auto-encoder)同GAN一样,成为无监督复杂概率分布学习的最流行的方法.VAE之所以流行,是因为它建立在标准函数逼近单元,即神经网络, ...

最新文章

  1. Windows Server 2008 without Hyper-V 版本
  2. Real World Kanban作者访谈
  3. 【敏捷开发】从需求文档出发聊敏捷
  4. 【Python学习系列一】Windows下Python及其IDE(eclipse+pydev)安装
  5. Redis Desktop Manager 利用ssh连接 Redis
  6. MySQL5.7创建数据库与添加用户、删除用户及授权、保证数据库账号安全
  7. springboot集成微信APP支付V3最新版
  8. c语言输出最大的数ns流程图_怎么将100至200中全部的素数用NS流程 – 手机爱问...
  9. Python爬虫实战(6)-爬取QQ空间好友说说并生成词云(超详细)
  10. 西安交通大学计算机专业,西安交通大学计算机科学与技术专业录取分数线?
  11. 四川大学计算机系统 赵树龙,王俊峰
  12. 分销商城是怎么运营?
  13. ITILv4 MP认证以及证书展示
  14. java项目-第61期基于ssm项目在线心理测评系统
  15. jsp+ssm计算机毕业设计宠物狗领养网站【附源码】
  16. python发邮件代码要下载qq邮箱吗_python登录QQ邮箱发送QQ邮件代码
  17. 微服务之spring Boot+MyBatis-Plus +mysql框架
  18. The softwares are used in Flex developing
  19. Excel数字乱码怎么办?这样处理1秒解决,完美!
  20. 2023第八届中国数字供应链创新峰会

热门文章

  1. java实现购买_一个简单的实现购买商品功能的Java小程序
  2. String的基本方法
  3. 关系型数据库和MySQL作业及答案
  4. SQL 中的 COALESCE 函数初学者指南
  5. 互联网汽车信息娱乐系统基础框架
  6. python人工智能是什么意思_python人工智能是什么意思
  7. 8B / 10B Encode/Decode详解
  8. Android ROM中加入第三方APP
  9. 线性模型(二)-- 线性回归公式推导
  10. 适合新手 练手的Java 实战项目