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. Oracle—表、约束、索引、表空间、分区、序列、统计信息

    表.约束.索引.表空间.分区.序列.统计信息 一.表及其操作 1.创建表 create table 表名 ( 字段名1 字段类型 默认值 是否为空 , 字段名2 字段类型 默认值 是否为空, 字段名3 ...

  2. gitlab之数据备份恢复

    备份#备份的时候,先通知相关人员服务要听 ,停止两个服务,并影响访问 root@ubuntu:/opt/web1# gitlab-ctl stop unicorn ok: down: unicorn: ...

  3. NSMutableArray-->NSString

    1.如何把NSMutableArray 转化为NSString//用字符将NSArray中的元素拼接起来 NSArray *array = [NSArray arrayWithObjects:@&qu ...

  4. Equinox OSGi服务器应用程序的配置步骤 (支持JSP页面)

    本文介绍在Eclipse里如何配置一个简单的基于Eclipse Equinox OSGi实现的Web应用程序,在它的基础上可以构造更加复杂的应用,本文使用的是Eclipse 3.3.1版本,如果你的E ...

  5. Vue.js 学习

    一,Vue.js 介绍 Vue 是一套用于构建用户界面的渐进式javascript框架,与其它大型框架不同的是:Vue被设计为可以自底向上逐层应用.Vue的核心库只关注视图层,不仅易于上手,还便于与第 ...

  6. 前端两大框架 vue 和 react 的区别

    1. 设计思想 vue: vue的官网介绍说vue是一种渐进式框架,采用自底向上增量开发的设计: react: 采用函数式编程,推崇纯组件,数据不可变,单向数据流: 2. 编写语法 vue: 采用单文 ...

  7. FastJson简介

    FastJson简介 首先,介绍一下fastjson.fastjson是由alibaba开源的一套json处理器.与其他json处理器(如Gson,Jackson等)和其他的Java对象序列化反序列化 ...

  8. linux环境centos

    qhost:查看集群 投送到集群qsub -l vf=2G,p=1 work.sh -cwd -V all_section_run.sh 杀死任务 qdel  id qstat -u \* |less ...

  9. 【科研工具】MathType7.2的安装破解与使用

    亲测可用,可以嵌入word. [我们为什么要用MathType] tex不香嘛,但是学校给的模板只有word,word输入公式点起来实在是太麻烦了. 有了这个就可以直接输入公式转换啦. [安装破解教程 ...

  10. IIS 发布 WebService 连接DB2数据库报错如下图

    环境描述: 系统环境: Windows Server 2012 R2      IIS版本:IIS 6.2      C#环境:.NET Framework 4  DB2版本:9.7.500.702 ...