Hoffman M. & Johnson M. ELBO surgery: yet another way to carve up the variational evidence lower bound. NIPS, 2016.

这篇文章主要介绍了一种ELBO一种新的改写, 以及可以从中获得的一些启发.

主要内容

\[\log p_{\theta}(\bm{x}) = \log \int p_{\theta}(\bm{z}, \bm{x}) \mathrm{d}\bm{z}
=\log \int q_{\phi}(\bm{z}|\bm{x}) \frac{p_{\theta}(\bm{z}, \bm{x})}{q_{\phi}(\bm{z}|\bm{x})} \mathrm{d}\bm{z}
\ge \mathbb{E}_{q_{\phi}(\bm{z}|\bm{x})}\log \frac{p_{\theta}(\bm{z}, \bm{x})}{q_{\phi}(\bm{z}|\bm{x})} \mathrm{d}\bm{z} := \mathcal{L}(\theta, \phi).
\]

上式是一般的ELBO的推导, 我们的目的就是通过最大化\(\mathcal{L}\)以期望相应的似然函数足够大.

ELBO有下列的表示:

Evidence minus posterior KL

\[\mathcal{L}(\theta, \phi) = \log p_{\theta}(\bm{x}) - \mathrm{KL} (q_{\phi}(\bm{z|x})\| p_{\theta}(\bm{z}|\bm{x})).
\]

最大化\(\mathcal{L}\), 且后验分布拟合的足够好的话, 我们可以期望相应的(对数)似然也足够大.

Average negative energy plus entropy

\[\mathcal{L}(\theta, \phi) = \mathbb{E}_{q_{\phi}(\bm{z}|\bm{x})}[\log p_{\theta}(\bm{z}, \bm{x})] + \mathbb{H}[q_{\phi}(\bm{z|x})].
\]

这里\(\mathbb{H}\)代表熵.

就是一个好的(拟合的)后验分布应该集中于分布的最大值, 但尽量让自己本身的熵也足够大(如果没有第二项, 那拟合的后验分布就会退化成一个点).

Average term-by-term reconstruction minus KL to prior

\[\mathcal{L}(\theta, \phi)
=\frac{1}{N}\sum_{n=1}^N \mathbb{E}_{q_{\phi}(z_n|x_n)}[\log p_{\theta}(x_n|z_n)] - \mathrm{KL}(q_{\phi}(z_n|x_n) \| p(z_n)).
\]

这个就是我们比较常见的ELBO的一种表达方式, 也就是一个重构误差减去后验分布和先验分布的一个KL散度.

本文的思路

假设\(q(x_n) = \frac{1}{N}, n=1,\cdots, N\).

\[\mathcal{L}(\theta, \phi)
=\mathbb{E}_{q(x)} \mathbb{E}_{q_{\phi}(z|x)}\log \frac{p_{\theta}(x, z)}{q_{\phi}(z|x)}
=\mathbb{E}_{q(x)} \mathbb{E}_{q_{\phi}(z|x)}\log p_{\theta}(x|z)
+ \mathbb{E}_{q_{\phi}(z)}\log p(z) + \mathbb{E}_{q(x)}[\mathbb{H}(q_{\phi}(z|x))].
\]

其可以进一步表示为:

\[\mathcal{L}(\theta, \phi)
=\mathbb{E}_{q(x)} \mathbb{E}_{q_{\phi}(z|x)}\log p_{\theta}(x|z)
-(\log N - \mathbb{E}_{q_{\phi}(z)}[\mathbb{H}[q(x|z)]])
-\mathrm{KL}(q_{\phi}(z)\| p(z)).
\]

注: 这里\(q_{\phi}(z) = \frac{1}{n} \sum_{n=1}^N q_{\phi}(z|x_n)\).

注意到上面只有最后一项与先验分布有关, 所以为了提高ELBO, 这要求我们选择一个合适的先验分布\(p(z)\).

当然, 最好就是\(q_{\phi}(z)\), 但是这个计算量太大.

ELBO surgery: yet another way to carve up the variational evidence lower bound的更多相关文章

  1. ELBO 与 KL散度

    浅谈KL散度 一.第一种理解 相对熵(relative entropy)又称为KL散度(Kullback–Leibler divergence,简称KLD),信息散度(information dive ...

  2. 文本主题模型之LDA(三) LDA求解之变分推断EM算法

    文本主题模型之LDA(一) LDA基础 文本主题模型之LDA(二) LDA求解之Gibbs采样算法 文本主题模型之LDA(三) LDA求解之变分推断EM算法 本文是LDA主题模型的第三篇,读这一篇之前 ...

  3. [Bayesian] “我是bayesian我怕谁”系列 - Variational Inference

    涉及的领域可能有些生僻,骗不了大家点赞.但毕竟是人工智能的主流技术,在园子却成了非主流. 不可否认的是:乃值钱的技术,提高身价的技术,改变世界观的技术. 关于变分,通常的课本思路是: GMM --&g ...

  4. 生成器的认识及其思考:VAE, GAN, Flow-based Invertible Model

    生成器对应于认知器的逆过程. 这一切的起源都是当初一个极具启发性的思想:Sleep-wake algorithm——人睡眠时整理记忆做梦,是一个生成的过程,即通过最终的识别结果企图恢复接收到的刺激,当 ...

  5. AIOps探索:基于VAE模型的周期性KPI异常检测方法——VAE异常检测

    AIOps探索:基于VAE模型的周期性KPI异常检测方法 from:jinjinlin.com   作者:林锦进 前言 在智能运维领域中,由于缺少异常样本,有监督方法的使用场景受限.因此,如何利用无监 ...

  6. 论文解读(LA-GNN)《Local Augmentation for Graph Neural Networks》

    论文信息 论文标题:Local Augmentation for Graph Neural Networks论文作者:Songtao Liu, Hanze Dong, Lanqing Li, Ting ...

  7. (转) Summary of NIPS 2016

    转自:http://blog.evjang.com/2017/01/nips2016.html           Eric Jang Technology, A.I., Careers       ...

  8. 变分贝叶斯学习(variational bayesian learning)及重参数技巧(reparameterization trick)

    摘要:常规的神经网络权重是一个确定的值,贝叶斯神经网络(BNN)中,将权重视为一个概率分布.BNN的优化常常依赖于重参数技巧(reparameterization trick),本文对该优化方法进行概 ...

  9. 代码的坏味道(11)——霰弹式修改(Shotgun Surgery)

    坏味道--霰弹式修改(Shotgun Surgery) 霰弹式修改(Shotgun Surgery) 类似于 发散式变化(Divergent Change) ,但实际上完全不同.发散式变化(Diver ...

随机推荐

  1. 移动开发之h5学习大纲

    移动开发学习形式:授课.自学 1.html5 css3 htm5shiv.js response.js 2.流式布局 自适应布局 盒模型 弹性盒模型 响应式布局3.iscroll swiper boo ...

  2. C++ 数字分类

           1012 数字分类 (20分) 输入格式: 每个输入包含 1 个测试用例.每个测试用例先给出一个不超过 1000 的正整数 N,随后给出 N 个不超过 1000 的待分类的正整数.数字间 ...

  3. c学习 - 第五章:选择结构程序设计

    5.2 关系运算符与逻辑运算符 !(非) ^ 高 算术运算符 | 关系运算符 | &&和 || | 赋值运算符 | 低

  4. SpringAOP简单例子

    这个只是个简单AOP例子,包括前置通知,后置通知,环绕通知,和目标对象.写这个例子的主要目标只是想让想学AOP的能更快地入门,了解一下如何去配置AOP里面的东东.目标对象的接口:IStudent.ja ...

  5. Layui:select下拉框回显

    一..需求场景分析 基于Thymeleaf模板下的layui下选框回显. 二.获得一个Layui标配的下拉框,我们需要在html中填写的内容如下 <div class="layui-f ...

  6. 我的第一篇博客blog,笑哭

    我的第一篇博客blog Markdown学习 一级标题:#加一个空格 加 文字, 二级标题:加2个##以此类推 字体 粗体:hello world!字体前有二个星号,字体后有二个星号 斜体:hello ...

  7. 赋能开发:捷码携手达内教育打造IT职业教育新生态

    近日,达内教育与远眺科技签约联合培养的第一批低代码开发方向的高职学生,在杭州未来科技城捷码总部顺利毕业,首期合格学员总数超过30名.随着这些接受了"捷码"低代码平台全程" ...

  8. DevOps到底是什么意思?

    目录 一.方法论 二.DevOps的起源 三.DevOps到底是什么 四.DevOps的发展现状 五.DevOps与虚拟化.容器.微服务 一.方法论 提到DevOps这个词,我相信很多人一定不会陌生. ...

  9. 攻击科普:DDos

    目录 一.DDoS 攻击究竟是什么? 二.DDoS 攻击多少G是什么意思? 二.DDoS攻击种类 ICMP Flood UDP Flood NTP Flood SYN Flood CC攻击 DNS Q ...

  10. pycharm的破解和基本使用

    pycharm的破解 pycharm的账号注册 在完成安装后打开pycharm软件,需要选择购买或是使用.点击试用,选择进入官网注册账号. 进入官网后选择邮箱登录,输入自己的邮箱,点击sign up ...