VAE with a VampPrior
文章目录
- 概
- 主要内容
- 分级的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=1Nqϕ(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)=N1n=1∑Nqϕ(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)=K1k=1∑Kqϕ(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相关推荐
- 变分推断(Variational Inference)最新进展简述
动机 变分推断(Variational Inference, VI)是贝叶斯近似推断方法中的一大类方法,将后验推断问题巧妙地转化为优化问题进行求解,相比另一大类方法马尔可夫链蒙特卡洛方法(Markov ...
- HTML,JS与CSS
HTML和CSS,JavaScript(简称js)是万维网的核心技术,三种技术一起构成前端开发.HTML为网页结构,CSS为网页表现,JS为网页行为.如果说网页是一个人的话,那么HTML就是他的骨骼经 ...
- VAE变分自编码器实现
变分自编码器(VAE)组合了神经网络和贝叶斯推理这两种最好的方法,是最酷的神经网络,已经成为无监督学习的流行方法之一. 变分自编码器是一个扭曲的自编码器.同自编码器的传统编码器和解码器网络一起,具有附 ...
- 变分自编码器VAE代码
VAE更倾向于数据生成.当我们训练好了decoder,就可以从标准正态分布生成数据作为解码器的输入,来生成类似但不同于训练数据的新样本,作用类似GAN,用来降维.生成数据. 1.训练代码 import ...
- Pytorch入门之VAE
这里谈谈对于变分自编码器(Variational auto-encoder)即VAE的实现. 1. 稀疏编码 首先介绍一下"稀疏编码"这一概念. 早期学者在黑白风景照片中可以提取到 ...
- 三大深度学习生成模型:VAE、GAN及其变种
本章将为读者介绍基于深度学习的生成模型.前面几章主要介绍了机器学习中的判别式模型,这种模型的形式主要是根据原始图像推测图像具备的一些性质,例如根据数字图像推测数字的名称,根据自然场景图像推测物体的边界 ...
- 如何使用TensorFlow和VAE模型生成手写数字
全部 VAE 代码:https://github.com/FelixMohr/Deep-learning-with-Python/blob/master/VAE.ipynb 自编码器是一种能够用来学习 ...
- VAE(Variational Autoencoder)的原理
Kingma, Diederik P., and Max Welling. "Auto-encoding variational bayes." arXiv preprint ar ...
- 只知道GAN你就OUT了——VAE背后的哲学思想及数学原理
短短三年时间,变分编码器VAE(Variational Auto-encoder)同GAN一样,成为无监督复杂概率分布学习的最流行的方法.VAE之所以流行,是因为它建立在标准函数逼近单元,即神经网络, ...
最新文章
- Windows Server 2008 without Hyper-V 版本
- Real World Kanban作者访谈
- 【敏捷开发】从需求文档出发聊敏捷
- 【Python学习系列一】Windows下Python及其IDE(eclipse+pydev)安装
- Redis Desktop Manager 利用ssh连接 Redis
- MySQL5.7创建数据库与添加用户、删除用户及授权、保证数据库账号安全
- springboot集成微信APP支付V3最新版
- c语言输出最大的数ns流程图_怎么将100至200中全部的素数用NS流程 – 手机爱问...
- Python爬虫实战(6)-爬取QQ空间好友说说并生成词云(超详细)
- 西安交通大学计算机专业,西安交通大学计算机科学与技术专业录取分数线?
- 四川大学计算机系统 赵树龙,王俊峰
- 分销商城是怎么运营?
- ITILv4 MP认证以及证书展示
- java项目-第61期基于ssm项目在线心理测评系统
- jsp+ssm计算机毕业设计宠物狗领养网站【附源码】
- python发邮件代码要下载qq邮箱吗_python登录QQ邮箱发送QQ邮件代码
- 微服务之spring Boot+MyBatis-Plus +mysql框架
- The softwares are used in Flex developing
- Excel数字乱码怎么办?这样处理1秒解决,完美!
- 2023第八届中国数字供应链创新峰会