变分推断(Variational Inference)解析

变分推断是解决贝叶斯模型中后验概率计算困难的问题,通过找到近似分布q(z)来代替复杂的后验概率p(z|x)。文章介绍了证据下界(ELBO)的概念及其在优化过程中的作用,以及如何通过平均场理论进行变分推断。此外,还探讨了基于随机梯度的变分推断方法,包括蒙特卡洛采样和重参数化技巧,用于解决高方差问题。
摘要由CSDN通过智能技术生成

一、什么是变分推断

假设在一个贝叶斯模型中, x x x为一组观测变量, z z z为一组隐变量(参数也看做随机变量,包含在 z z z中),则推断问题为计算后验概率密度 P = ( z ∣ x ) P=(z|x) P=(zx)。根据贝叶斯公式,有:
p ( z ∣ x ) = p ( x , z ) p ( x ) = p ( x , z ) ∫ p ( x , z ) d z p(z|x)=\frac{p(x,z)}{p(x)}=\frac{p(x,z)}{\int p(x,z)dz} p(zx)=p(x)p(x,z)=p(x,z)dzp(x,z)
但是在实际应用中,可能由于积分没有闭式解,或者是指数级的计算复杂度等原因,导致计算上面公式中的积分往往是不可行的。变分推断就是用来解决这个问题的。

变分推断是变分法在推断问题中的应用,既然无法直接求得后验概率密度 p ( z ∣ x ) p(z|x) p(zx),那我们可以寻找一个简单的分布 q ∗ ( z ) q^*(z) q(z)来近似后验概率密度 p ( z ∣ x ) p(z|x) p(zx),这就是变分推断的思想。借此,我们将推断问题转换为一个泛函优化问题:
q ∗ ( z ) = arg ⁡ min ⁡ q ( z ) ∈ Q K L ( q ( z ) ∣ ∣ p ( z ∣ x ) ) (1) q^*(z)=\arg\min_{q(z)\in Q}KL(q(z)||p(z|x))\tag{1} q(z)=argq(z)QminKL(q(z)p(zx))(1)
其中 Q Q Q为候选的概率分布族。但是又出现了一个新的问题:我们已经知道后验概率密度 p ( z ∣ x ) p(z|x) p(zx)难以计算,所以上式中的KL散度本身也是无法计算的!这时,需要借助于证据下界ELBO。

ELBO

ELBO,全称为 Evidence Lower Bound,即证据下界。这里的证据指数据或可观测变量的概率密度。

假设 x = x 1 : n x=x_{1:n} x=x1:n表示一系列可观测数据集, z = z 1 : m z=z_{1:m} z=z1:m为一系列隐变量(latent variables)。则可用 p ( z , x ) p(z,x) p(z,x)表示联合概率, p ( z ∣ x ) p(z∣x) p(zx)为条件概率, p ( x ) p(x) p(x)为证据。

那么,贝叶斯推理需要求解的就是条件概率,即: p ( z ∣ x ) = p ( x , z ) p ( x ) p(z|x)=\frac{p(x,z)}{p(x)} p(zx)=p(x)p(x,z)
(1)式中的KL散度可以表示为 K L ( q ( z ) ∣ ∣ p ( z ∣ x ) ) = ∫ q ( z ) log ⁡ q ( z ) p ( z ∣ x ) d z KL(q(z)||p(z|x))=\int q(z)\log\frac{q(z)}{p(z|x)}dz KL(q(z)p(zx))=q(z)logp(zx)q(z)dz其中, x x x为可观测数据集, z z z为未知变量,下面将公式继续变形:
∫ q ( z ) log ⁡ q ( z ) p ( z ∣ x ) d z = − ∫ q ( z ) log ⁡ p ( z ∣ x ) q ( z ) d z = − ∫ q ( z ) log ⁡ p ( x , z ) q ( z ) p ( x ) d z = − ∫ q ( z ) log ⁡ p ( x , z ) d z + ∫ q ( z ) log ⁡ q ( z ) d z + ∫ q ( z ) log ⁡ p ( x ) d z \begin{aligned}\int q(z)\log\frac{q(z)}{p(z|x)}dz&=-\int q(z)\log\frac{p(z|x)}{q(z)}dz\\&=-\int q(z)\log\frac{p(x,z)}{q(z)p(x)}dz\\&=-\int q(z)\log p(x,z)dz+\int q(z)\log q(z)dz+\int q(z)\log p(x)dz\end{aligned} q(z)logp(zx)q(z)dz=q(z)logq(z)p(zx)dz=q(z)logq(z)p(x)p(x,z)dz=q(z)logp(x,z)dz+q(z)logq(z)dz+q(z)logp(x)dz其中, ∫ q ( z ) d z = 1 \int q(z)dz=1 q(z)dz=1进而可以转化成: = − ∫ q ( z ) log ⁡ p ( x , z ) d z + ∫ q ( z ) log ⁡ q ( z ) d z + log ⁡ p ( x ) =-\int q(z)\log p(x,z)dz+\int q(z)\log q(z)dz+\log p(x) =q(z)logp(x,z)dz+q(z)logq(z)dz+logp(x) L ( q ( z ) ) = ∫ q ( z ) log ⁡ p ( x , z ) d z − ∫ q ( z ) log ⁡ q ( z ) d z L(q(z))=\int q(z)\log p(x,z)dz-\int q(z)\log q(z)dz L(q(z))=q(z)logp(x,z)dzq(z)logq(z)dz
则有 K L ( q ( z ) ∣ ∣ p ( z ∣ x ) ) = − L ( q ( z ) ) + log ⁡ p ( x ) KL(q(z)||p(z|x))=-L(q(z))+\log p(x) KL(q(z)p(zx))=L(q(z))+logp(x)从这个公式可以发现, log ⁡ p ( x ) \log p(x) logp(x)不涉及参数(数据似然),因此在最小化 K L ( q ( z ) ∣ ∣ p ( z ∣ x ) ) KL(q(z)||p(z|x)) KL(q(z)p(zx))时可以忽略。那么,最小化 K L ( q ( z ) ∣ ∣ p ( z ∣ x ) ) KL(q(z)||p(z|x)) KL(q(z)p(zx))便转化成了最大化 L ( q ( z ) ) L(q(z)) L(q(z))

因为 K L ( q ( z ) ∣ ∣ p ( z ∣ x ) ) ≥ 0 KL(q(z)||p(z|x))\geq 0 KL(q(z)p(zx))0,即: − L ( q ( z ) ) + log ⁡ p ( x ) ≥ 0 -L(q(z))+\log p(x)\geq 0 L(q(z))+logp(x)0进而可以得到: log ⁡ p ( x ) ≥ L ( q ( z ) ) \log p(x)\geq L(q(z)) logp(x)L(q(z))因此,可以将 L ( q ( z ) ) L(q(z)) L(q(z))堪称 log ⁡ p ( x ) \log p(x) logp(x)的下界,这个下界也称之为ELBO(evidence lower bound),那么最小化 K L ( q ( z ) ∣ ∣ p ( z ∣ x ) ) KL(q(z)||p(z|x)) KL(q(z)p(zx)),可以看成最大化下界的问题。

另外,从公式中可以看到,KL散度是 L ( q ( z ) ) L(q(z)) L(q(z)) log ⁡ p ( x ) \log p(x) logp(x)的误差,当然误差越小越好。

根据以上结果,最新的目标函数转化成了 q ∗ ( z ) = arg ⁡ max ⁡ q ( z ) ∈ Q L ( q ( z ) ) = arg ⁡ max ⁡ q ( z ) ∈ Q ∫ z q ( z ) log ⁡ p ( x , z ) d z ⏟ ( a ) − ∫ z q ( z ) log ⁡ q ( z ) d z ⏟ ( b ) (2) \begin{aligned}q^*(z)&=\arg\max_{q(z)\in Q}L(q(z))\\&=\arg\max_{q(z)\in Q}\underbrace{\int_z q(z)\log p(x,z)dz}_{(a)}-\underbrace{\int_z q(z)\log q(z)dz}_{(b)}\tag{2}\end{aligned} q(z)=argq(z)QmaxL(q(z))=argq(z)Qmax(a) zq(z)logp(x,z)dz(b) zq(z)logq(z)dz(2)至此,我们已经解决了KL散度无法求解的问题,将泛函优化问题转换为寻找一个简单分布 q ∗ ( z ) q^*(z) q(z)来最大化证据下界 L ( q ( z ) ) L(q(z)) L(q(z))

二、基于平均场理论的变分推断

在变分推断中,候选分布族 Q Q Q的复杂性决定了优化问题的复杂性。一个通常的选择是平均场分布族,即 z z z可以拆分成多组相互独立的变量,有: q ( z ) = ∏ i = 1 M q i ( z i ) (3) q(z)=\prod_{i=1}^Mq_i(z_i)\tag{3} q(z)=i=1Mqi(zi)(3)其中 z i z_i zi是隐变量的子集,可以是单变量,也可以是一组多元变量。

下面我们分布(3)把将代入(2)中的(a)和(b),看看 L ( q ( z ) ) L(q(z)) L(q(z))最后的模样,其中假设我们想先求 q j ( z j ) q_j(z_j) qj(zj),将其它组的 q ∖ j ( z ∖ j ) q_{\setminus j}(z_{\setminus j}) qj(zj)当作常量:

2.1、求解(a)

我们首先求解(a):
( a ) = ∫ z q ( z )

  • 15
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 变分推断variational inference)是一种用于在概率模型中近似推断潜在变量的方法。在概率模型中,我们通常有观测数据和潜在变量两个部分。我们希望通过观测数据集来估计潜在变量的后验分布。然而,由于计算复杂度的限制,我们无法直接计算后验分布。 变分推断通过近似后验分布为一个简化的分布来解决这个问题。它会选择一个与真实后验分布相似的分布族,然后通过最小化这个分布与真实后验分布之间的差异来得到一个最佳的近似分布。这个问题可以转化为一个最优化问题,通常使用变分推断的一个常用方法是最大化证据下界(evidence lower bound,ELBO)来近似后验分布。 变分推断的一个重要特点是可以处理大规模和复杂的概率模型。由于近似分布是通过简化的分布族来表示的,而不是直接计算后验分布,所以它可以减少计算复杂度。此外,变分推断还可以通过引入额外的约束或假设来进一步简化近似分布,提高计算效率。 然而,变分推断也有一些缺点。因为近似分布是通过简化的分布族来表示的,所以它会引入一定的偏差。此外,变分推断的结果依赖于所选择的分布族,如果分布族选择不合适,可能会导致较差的近似结果。 总之,变分推断是一种用于近似计算概率模型中后验分布的方法,通过选择一个与真实后验分布相似的分布族,并最小化与真实后验分布之间的差异来得到一个最佳的近似分布。它具有处理大规模和复杂模型的能力,但也有一些局限性。 ### 回答2: 转变分推断variational inference)是一种用于近似求解复杂概率模型的方法。它的核心思想是将复杂的后验分布近似为一个简单的分布,通过最小化这两个分布之间的差异来求解模型的参数。 变分推断通过引入一个简单分布(称为变分分布)来近似复杂的后验分布。这个简单分布通常属于某个已知分布族,例如高斯分布或指数分布。变分推断通过最小化变分分布和真实后验分布之间的差异,来找到最优的参数。 为了实现这一点,变分推断使用了KL散度(Kullback-Leibler divergence)这一概念。KL散度是用来衡量两个概率分布之间的差异的指标。通过最小化变分分布与真实后验分布之间的KL散度,我们可以找到一个最优的变分分布来近似真实后验分布。 变分推断的步骤通常包括以下几个步骤: 1. 定义变分分布:选择一个简单的分布族作为变分分布,例如高斯分布。 2. 定义目标函数:根据KL散度的定义,定义一个目标函数,通常包括模型的似然函数和变分分布的熵。 3. 最优化:使用数值方法(例如梯度下降法)最小化目标函数,找到最优的变分参数。 4. 近似求解:通过最优的变分参数,得到近似的后验分布,并用于模型的推断或预测。 变分推断的优点是可以通过选择合适的变分分布,来控制近似精度和计算复杂度之间的平衡。它可以应用于各种概率模型和机器学习任务,例如潜在变量模型、深度学习和无监督学习等。 总而言之,转变分推断是一种用于近似求解复杂概率模型的方法,通过近似后验分布来求解模型的参数。它通过最小化变分分布与真实后验分布之间的差异来实现近似求解。这个方法可以应用于各种概率模型和机器学习任务,具有广泛的应用价值。 ### 回答3: 变分推断Variational Inference)是一种用于概率模型中的近似推断方法。它的目标是通过近似的方式来近似估计概率分布中的某些未知参数或隐变量。 在概率模型中,我们通常希望得到后验概率分布,即给定观测数据的情况下,未知参数或隐变量的概率分布。然而,由于计算复杂性的原因,我们往往无法直接计算后验分布。 变分推断通过引入一个称为变分分布的简化分布,将原问题转化为一个优化问题。具体来说,我们假设变分分布属于某个分布族,并通过优化一个目标函数,使得变分分布尽可能接近真实的后验分布。 目标函数通常使用卡尔贝克-勒勒散度(Kullback-Leibler divergence)来度量变分分布与真实后验分布之间的差异。通过最小化这个目标函数,我们可以找到最优的近似分布。在这个优化问题中,我们通常将问题转化为一个变分推断问题,其中我们需要优化关于变分分布的参数。 变分推断的一个优点是可以应用于各种类型的概率模型,无论是具有连续随机变量还是离散变量。此外,变分推断还可以解决复杂的后验推断问题,如变分贝叶斯方法和逐步变分推断等。 然而,变分推断也存在一些限制。例如,它通常要求选择一个合适的变分分布族,并且该族必须在计算上可以处理。此外,变分推断还可能导致近似误差,因为我们将问题简化为一个优化问题,可能会导致对真实后验分布的一些信息丢失。 总而言之,变分推断是一种强大的近似推断方法,可以用于概率模型中的参数和隐变量的估计。它通过引入变分分布来近似计算复杂的后验概率分布,从而转化为一个优化问题。然而,需要注意选择合适的变分分布族和可能的近似误差。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值