zoukankan      html  css  js  c++  java
  • ELBO surgery: yet another way to carve up the variational evidence lower bound

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

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

    主要内容

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

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

    ELBO有下列的表示:

    Evidence minus posterior KL

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

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

    Average negative energy plus entropy

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

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

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

    Average term-by-term reconstruction minus KL to prior

    [mathcal{L}( heta, phi) =frac{1}{N}sum_{n=1}^N mathbb{E}_{q_{phi}(z_n|x_n)}[log p_{ heta}(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}( heta, phi) =mathbb{E}_{q(x)} mathbb{E}_{q_{phi}(z|x)}log frac{p_{ heta}(x, z)}{q_{phi}(z|x)} =mathbb{E}_{q(x)} mathbb{E}_{q_{phi}(z|x)}log p_{ heta}(x|z) + mathbb{E}_{q_{phi}(z)}log p(z) + mathbb{E}_{q(x)}[mathbb{H}(q_{phi}(z|x))]. ]

    其可以进一步表示为:

    [mathcal{L}( heta, phi) =mathbb{E}_{q(x)} mathbb{E}_{q_{phi}(z|x)}log p_{ heta}(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)), 但是这个计算量太大.

  • 相关阅读:
    uml 类图
    Java IO流
    Spring 创建Bean的 三种方式
    linux+jmeter+python基础+抓包拦截
    接口测试
    HDU 1159 Common Subsequence(POJ 1458)
    HDU 1160 FatMouse's Speed
    HDU 4540 威威猫系列故事——打地鼠
    HDU 1087 Super Jumping! Jumping! Jumping!
    HDU 1176 免费馅饼
  • 原文地址:https://www.cnblogs.com/MTandHJ/p/14558758.html
Copyright © 2011-2022 走看看