机器学习笔记之变分推断(五)重参数化技巧

引言

上一节介绍了随机梯度变分推断(Stochastic Gradient Variational Inference,SGVI)。本节将介绍SGVI求解过程中遇到的问题,并针对为题介绍一种处理方法——重参数化技巧

回顾:随机梯度变分推断

由于基于平均场假设的经典变分推断(Classical Variational Inference)的假设条件非常苛刻,基本无法在真实环境中使用

因此,介绍了随机梯度变分推断,从 P ( Z ∣ X ) P(\mathcal Z \mid \mathcal X) P(ZX)整体角度进行求解。

SGVI的核心是将分布 Q ( Z ) \mathcal Q(\mathcal Z) Q(Z)视为概率模型,既然是概率模型,自然存在描述概率模型的模型参数
这里定义 Q ( Z ) \mathcal Q(\mathcal Z) Q(Z)的模型参数为 ϕ \phi ϕ,将求解 Q ( Z ) \mathcal Q(\mathcal Z) Q(Z)的梯度转化为求解模型参数 ϕ \phi ϕ的梯度
实际上, Q ( Z ) \mathcal Q(\mathcal Z) Q(Z)本身并不是‘隐变量的边缘概率分布’,而是条件概率分布 Q ( Z ∣ X ) \mathcal Q(\mathcal Z \mid \mathcal X) Q(ZX)。只是 X \mathcal X X是观测数据,是已知量,因此省略。
Q ( Z ) → Q ( Z ∣ ϕ ) L [ Q ( Z ) ] = ∫ Z ∣ ϕ Q ( Z ∣ ϕ ) ⋅ log ⁡ [ P ( X , Z ) Q ( Z ∣ ϕ ) ] d Z = L ( ϕ ) \mathcal Q(\mathcal Z) \to \mathcal Q(\mathcal Z \mid \phi) \\ \begin{aligned} \mathcal L[\mathcal Q(\mathcal Z)] & = \int_{\mathcal Z \mid \phi} \mathcal Q(\mathcal Z \mid \phi) \cdot \log \left[\frac{P(\mathcal X ,\mathcal Z)}{\mathcal Q(\mathcal Z \mid \phi)}\right] d\mathcal Z\\ & = \mathcal L(\phi) \end{aligned} Q(Z)Q(Zϕ)L[Q(Z)]=ZϕQ(Zϕ)log[Q(Zϕ)P(X,Z)]dZ=L(ϕ)
随后 L ( ϕ ) \mathcal L(\phi) L(ϕ) ϕ \phi ϕ求解梯度,最终化简结果如下:
∇ ϕ L ( ϕ ) = E Q ( Z ∣ ϕ ) { ∇ ϕ log ⁡ Q ( Z ∣ ϕ ) ⋅ [ l o g P ( X , Z ) − log ⁡ Q ( Z ∣ ϕ ) ] } \nabla_{\phi} \mathcal L(\phi) = \mathbb E_{\mathcal Q(\mathcal Z \mid \phi)} \left\{ \nabla_{\phi} \log \mathcal Q(\mathcal Z \mid \phi) \cdot \left[log P(\mathcal X,\mathcal Z) - \log \mathcal Q(\mathcal Z \mid \phi)\right] \right\} ϕL(ϕ)=EQ(Zϕ){ϕlogQ(Zϕ)[logP(X,Z)logQ(Zϕ)]}
至此,将梯度结果 ∇ ϕ L ( ϕ ) \nabla_{\phi}\mathcal L(\phi) ϕL(ϕ)表示为期望形式,后续操作可以通过蒙特卡洛采样方法对期望结果进行估计
假设从 概率模型 P ( Z ∣ ϕ ) P(\mathcal Z \mid \phi) P(Zϕ)中采集了 N N N个样本。即:
z ( n ) ∼ Q ( Z ∣ ϕ ) ( n = 1 , 2 , ⋯   , N ) z^{(n)} \sim \mathcal Q(\mathcal Z \mid \phi) \quad (n=1,2,\cdots,N) z(n)Q(Zϕ)(n=1,2,,N)
上述期望使用蒙特卡洛采样方法近似表示为
∇ ϕ L ( ϕ ) ≈ 1 N ∑ n = 1 N { ∇ ϕ log ⁡ Q ( z ( n ) ∣ ϕ ) [ log ⁡ P ( X , z ( n ) ) − log ⁡ Q ( z ( n ) ∣ ϕ ) ] } \nabla_{\phi}\mathcal L(\phi) \approx \frac{1}{N} \sum_{n=1}^{N} \left\{\nabla_{\phi} \log \mathcal Q(z^{(n)} \mid \phi) \left[ \log P(\mathcal X,z^{(n)}) - \log \mathcal Q(z^{(n)} \mid \phi)\right]\right\} ϕL(ϕ)N1n=1N{ϕlogQ(z(n)ϕ)[logP(X,z(n))logQ(z(n)ϕ)]}

随机梯度变分推断的问题

公式推导方式本身没有问题,问题在于采样过程中出现的高方差现象(High Variance)。该现象产生的具体原因如下:

  • 观察基于蒙特卡洛方法的近似公式,大括号内主要包含两项,两项均包含 z ( n ) z^{(n)} z(n)。观察第一项
    ∇ ϕ log ⁡ Q ( z ( n ) ∣ ϕ ) \nabla_{\phi} \log \mathcal Q(z^{(n)} \mid\phi) ϕlogQ(z(n)ϕ)

  • 注意,该项并不是求解 log ⁡ Q ( z ( n ) ∣ ϕ ) \log \mathcal Q(z^{(n)} \mid \phi) logQ(z(n)ϕ)的结果,而是该结果的梯度 Q ( z ( n ) ∣ ϕ ) \mathcal Q(z^{(n)} \mid \phi) Q(z(n)ϕ)是一个 描述概率的函数,因此它的值域是 ( 0 , 1 ) (0,1) (0,1)。观察 log ⁡ Q ( z ( n ) ∣ ϕ ) \log \mathcal Q(z^{(n)} \mid \phi) logQ(z(n)ϕ) ( 0 , 1 ) (0,1) (0,1)范围内的结果以及梯度分别表示如下:
    在这里插入图片描述
    其中橙色线表示梯度,蓝色线表示数值结果。由于 Q ( Z ∣ ϕ ) \mathcal Q(\mathcal Z \mid \phi) Q(Zϕ)中采样 z z z是纯随机采样,对应的结果 Q ( z ∣ ϕ ) \mathcal Q(z \mid \phi) Q(zϕ)也必然是 ( 0 , 1 ) (0,1) (0,1)范围内的随机结果。那么对于极小的 Q ( z ∣ ϕ ) \mathcal Q(z \mid \phi) Q(zϕ)结果对应的梯度反而是极高的数值。因此,采集出的样本中会存在少数数值极高的结果,从而对 ∇ ϕ L ( ϕ ) \nabla_{\phi} \mathcal L(\phi) ϕL(ϕ)的近似计算产生更大的误差

    本身通过蒙特卡洛方法求出的 ∇ ϕ L ( ϕ ) \nabla_{\phi} \mathcal L(\phi) ϕL(ϕ)梯度下降算法过程中就存在一定误差;如果 ∇ ϕ L ( ϕ ) \nabla_{\phi} \mathcal L(\phi) ϕL(ϕ)也存在较大误差,这种误差叠加的结果自然使 Q ( Z ∣ ϕ ) \mathcal Q(\mathcal Z \mid \phi) Q(Zϕ)模型参数 ϕ \phi ϕ更加 难以保证其准确性

至此,需要寻找方法,降低数据采样的高方差问题(Variance Reduction)。
本节将介绍通过重参数化技巧(Reparameterization Trick)来降低采样结果的高方差问题

重参数化技巧

在对某概率分布 Q ( Z ) \mathcal Q(\mathcal Z) Q(Z)进行采样的过程中,如果直接从 Q ( Z ) \mathcal Q(\mathcal Z) Q(Z)中进行采样,可能出现高方差问题

重参数化技巧的具体思想是:
已知条件:
随机变量 z z z服从概率分布 Q ( z ∣ ϕ ) \mathcal Q(z \mid \phi) Q(zϕ)

  • 随机变量 ϵ \epsilon ϵ服从某一分布 P ( ϵ ) \mathcal P(\epsilon) P(ϵ),并且 ϵ \epsilon ϵ z z z之间存在如下关系
    z = G ( ϵ , X ∣ ϕ ) z = \mathcal G (\epsilon,\mathcal X \mid \phi) z=G(ϵ,Xϕ)
  • 此时,可以通过对概率分布 P ( ϵ ) \mathcal P(\epsilon) P(ϵ)进行采样,通过与 ϵ \epsilon ϵ P ( ϵ ) \mathcal P(\epsilon) P(ϵ)中的期望间接求解 z z z在概率分布 Q ( z ∣ ϕ ) \mathcal Q(z \mid \phi) Q(zϕ)的期望结果

示例:假设随机变量 z z z服从均值为 μ \mu μ,方差为 σ 2 \sigma^2 σ2高斯分布
z ∼ N ( μ , σ 2 ) z \sim \mathcal N(\mu,\sigma^2) zN(μ,σ2)
此时,想要求解上述概率分布下,关于 z z z的函数 f ( z ) f(z) f(z)期望结果
E P ( z ) [ f ( z ) ] \mathbb E_{\mathcal P(z)} [f(z)] EP(z)[f(z)]
此时,存在一个随机变量 ϵ \epsilon ϵ,该变量服从于均值为0,方差为1的高斯分布
ϵ ∼ N ( 0 , 1 ) \epsilon \sim \mathcal N(0,1) ϵN(0,1)
如何通过对 ϵ \epsilon ϵ进行采样从而对 E P ( z ) [ f ( z ) ] \mathbb E_{\mathcal P(z)}[f(z)] EP(z)[f(z)]进行求解?根据重参数化技巧,这里需要一个 z z z ϵ \epsilon ϵ之间的关联关系
z = G ( ϵ ) = μ + σ × ϵ z = \mathcal G(\epsilon) = \mu + \sigma \times \epsilon z=G(ϵ)=μ+σ×ϵ

E P ( z ) [ f ( z ) ] \mathbb E_{\mathcal P(z)}[f(z)] EP(z)[f(z)]的求解过程如下:

  • E P ( z ) [ f ( z ) ] \mathbb E_{\mathcal P(z)}[f(z)] EP(z)[f(z)]展开为积分形式,并将 P ( z ) \mathcal P(z) P(z)概率密度函数带入公式中
    E P ( z ) [ f ( z ) ] = ∫ z P ( z ) f ( z ) d z = ∫ z ( 1 2 π σ e − ( z − μ ) 2 2 σ 2 ) ⋅ f ( z ) d z \begin{aligned} \mathbb E_{\mathcal P(z)}[f(z)] & = \int_{z} \mathcal P(z) f(z) dz \\ & = \int_z \left(\frac{1}{\sqrt{2\pi} \sigma} e^{-\frac{(z - \mu)^2}{2\sigma^2}}\right) \cdot f(z) dz \end{aligned} EP(z)[f(z)]=zP(z)f(z)dz=z(2π σ1e2σ2(zμ)2)f(z)dz
  • z = G ( ϵ ) z = \mathcal G(\epsilon) z=G(ϵ)带入上式:
    ∫ ϵ ( 1 2 π σ e − ( μ + σ ⋅ ϵ − μ ) 2 2 σ 2 ) f [ G ( ϵ ) ] d [ G ( ϵ ) ] \int_{\epsilon} \left(\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(\mu + \sigma \cdot \epsilon - \mu)^2}{2\sigma^2}}\right) f \left[\mathcal G(\epsilon)\right] d[\mathcal G(\epsilon)] ϵ(2π σ1e2σ2(μ+σϵμ)2)f[G(ϵ)]d[G(ϵ)]
  • 继续展开,得到如下结果:
    E P ( z ) [ f ( z ) ] = ∫ ϵ ( 1 2 π σ e − ( μ + σ ⋅ ϵ − μ ) 2 2 σ 2 ) f [ G ( ϵ ) ] ⋅ σ d ϵ = ∫ ϵ 1 2 π e − ϵ 2 2 f [ G ( ϵ ) ] d ϵ ( 1 2 π e − ϵ 2 2 → N ( 0 , 1 ) → P ( ϵ ) ) = ∫ ϵ P ( ϵ ) f [ G ( ϵ ) ] d ϵ = E P ( ϵ ) [ f [ G ( ϵ ) ] ] \begin{aligned} \mathbb E_{\mathcal P(z)}[f(z)] & = \int_{\epsilon} \left(\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(\mu + \sigma \cdot \epsilon - \mu)^2}{2\sigma^2}}\right) f \left[\mathcal G(\epsilon)\right] \cdot \sigma d\epsilon \\ & = \int_{\epsilon} \frac{1}{\sqrt{2\pi}} e^{-\frac{\epsilon^2}{2}} f[\mathcal G(\epsilon)] d\epsilon \quad \left(\frac{1}{\sqrt{2\pi}} e^{-\frac{\epsilon^2}{2}} \to \mathcal N(0,1) \to \mathcal P(\epsilon)\right) \\ & = \int_{\epsilon} \mathcal P(\epsilon) f[\mathcal G(\epsilon)]d\epsilon \\ & = \mathbb E_{\mathcal P(\epsilon)} [f[\mathcal G(\epsilon)]] \end{aligned} EP(z)[f(z)]=ϵ(2π σ1e2σ2(μ+σϵμ)2)f[G(ϵ)]σdϵ=ϵ2π 1e2ϵ2f[G(ϵ)]dϵ(2π 1e2ϵ2N(0,1)P(ϵ))=ϵP(ϵ)f[G(ϵ)]dϵ=EP(ϵ)[f[G(ϵ)]]
    至此,我们将 随机变量为 z z z的期望转化为随机变量为 ϵ \epsilon ϵ的期望形式

更泛化地说,只要 Q ( z ) \mathcal Q(z) Q(z) P ( ϵ ) \mathcal P(\epsilon) P(ϵ)之间满足如下关系:
Q ( z ) = ∫ δ [ z − G ( ϵ , X ∣ ϕ ) ] P ( ϵ ) d ϵ \mathcal Q(z) = \int \delta[z - \mathcal G(\epsilon,\mathcal X \mid \phi)] \mathcal P(\epsilon) d\epsilon Q(z)=δ[zG(ϵ,Xϕ)]P(ϵ)dϵ
都可以实现:
E Q ( z ) [ f ( z ) ] = E P ( ϵ ) [ f [ G ( ϵ , X ∣ ϕ ) ] ] \mathbb E_{\mathcal Q(z)}[f(z)] = \mathbb E_{\mathcal P(\epsilon)}[f[\mathcal G(\epsilon,\mathcal X \mid \phi)]] EQ(z)[f(z)]=EP(ϵ)[f[G(ϵ,Xϕ)]]

基于重参数化技巧的求解过程

继续观察 ∇ ϕ L ( ϕ ) \nabla_{\phi} \mathcal L(\phi) ϕL(ϕ)
∇ ϕ L ( ϕ ) = E Q ( Z ∣ ϕ ) { ∇ ϕ log ⁡ Q ( Z ∣ ϕ ) ⋅ [ l o g P ( X , Z ) − log ⁡ Q ( Z ∣ ϕ ) ] } \nabla_{\phi} \mathcal L(\phi) = \mathbb E_{\mathcal Q(\mathcal Z \mid \phi)} \left\{ \nabla_{\phi} \log \mathcal Q(\mathcal Z \mid \phi) \cdot \left[log P(\mathcal X,\mathcal Z) - \log \mathcal Q(\mathcal Z \mid \phi)\right] \right\} ϕL(ϕ)=EQ(Zϕ){ϕlogQ(Zϕ)[logP(X,Z)logQ(Zϕ)]}

  • 假设存在 ϵ ∼ P ( ϵ ) \epsilon \sim \mathcal P(\epsilon) ϵP(ϵ),并且 Z \mathcal Z Z ϵ \epsilon ϵ满足:
    Z = G ( ϵ , X ∣ ϕ ) \mathcal Z = \mathcal G(\epsilon,\mathcal X \mid \phi) Z=G(ϵ,Xϕ)
    必然有:
    概率密度积分~
    ∫ Z Q ( Z ∣ ϕ ) d Z = ∫ ϵ P ( ϵ ) d ϵ = 1 \begin{aligned} \int_{\mathcal Z} \mathcal Q(\mathcal Z \mid \phi) d\mathcal Z = \int_{\epsilon} \mathcal P(\epsilon) d\epsilon = 1 \end{aligned} ZQ(Zϕ)dZ=ϵP(ϵ)dϵ=1
    从而有:
    ∣ Q ( Z ∣ ϕ ) d Z ∣ = ∣ P ( ϵ ) d ϵ ∣ |\mathcal Q(\mathcal Z \mid \phi) d\mathcal Z| = |\mathcal P(\epsilon) d\epsilon| Q(Zϕ)dZ=P(ϵ)dϵ
  • 将上述变换直接带入 ∇ ϕ L ( ϕ ) \nabla_{\phi} \mathcal L(\phi) ϕL(ϕ)
    ∇ ϕ L ( ϕ ) = ∇ ϕ ∫ Z [ log ⁡ P ( X , Z ) − log ⁡ Q ( Z ∣ ϕ ) ] ⋅ Q ( Z ∣ ϕ ) d Z = ∇ ϕ ∫ Z [ log ⁡ P ( X , Z ) − log ⁡ Q ( Z ∣ ϕ ) ] ⋅ P ( ϵ ) d ϵ \begin{aligned} \nabla_{\phi} \mathcal L(\phi) & = \nabla_{\phi} \int_{\mathcal Z} \left[ \log P(\mathcal X,\mathcal Z) - \log \mathcal Q(\mathcal Z \mid \phi)\right] \cdot \mathcal Q(\mathcal Z \mid \phi) d\mathcal Z \\ & = \nabla_{\phi} \int_{\mathcal Z} \left[ \log P(\mathcal X,\mathcal Z) - \log \mathcal Q(\mathcal Z \mid \phi)\right] \cdot \mathcal P(\epsilon) d\epsilon \end{aligned} ϕL(ϕ)=ϕZ[logP(X,Z)logQ(Zϕ)]Q(Zϕ)dZ=ϕZ[logP(X,Z)logQ(Zϕ)]P(ϵ)dϵ
    使用牛顿-莱布尼兹公式 ∇ ϕ \nabla_{\phi} ϕ写入积分号中:
    ∫ Z ∇ ϕ [ log ⁡ P ( X , Z ) − log ⁡ Q ( Z ∣ ϕ ) ] ⋅ P ( ϵ ) d ϵ \int_{\mathcal Z} \nabla_{\phi}\left[ \log P(\mathcal X,\mathcal Z) - \log \mathcal Q(\mathcal Z \mid \phi)\right] \cdot \mathcal P(\epsilon) d\epsilon Zϕ[logP(X,Z)logQ(Zϕ)]P(ϵ)dϵ
    因为 ∇ ϕ \nabla_{\phi} ϕ是对 ϕ \phi ϕ求解积分,因此和 P ( ϵ ) \mathcal P(\epsilon) P(ϵ)无关。进而化简得:
    E P ( ϵ ) [ ∇ ϕ ( log ⁡ P ( X , Z ) − log ⁡ Q ( Z ∣ ϕ ) ) ] \mathbb E_{\mathcal P(\epsilon)} [\nabla_{\phi} (\log P(\mathcal X,\mathcal Z) - \log \mathcal Q(\mathcal Z \mid \phi))] EP(ϵ)[ϕ(logP(X,Z)logQ(Zϕ))]
    为了将 Z = G ( ϵ , X ∣ ϕ ) \mathcal Z = \mathcal G(\epsilon,\mathcal X \mid \phi) Z=G(ϵ,Xϕ)代入公式,通过链式求导法则,引入 Z \mathcal Z Z,对 ∇ ϕ \nabla_{\phi} ϕ进行重新表示
    E P ( ϵ ) [ ∇ Z ( log ⁡ P ( X , Z ) − log ⁡ Q ( Z ∣ ϕ ) ) ⋅ ∇ ϕ Z ] \mathbb E_{\mathcal P(\epsilon)} [\nabla_{\mathcal Z} (\log P(\mathcal X,\mathcal Z) - \log \mathcal Q(\mathcal Z \mid \phi)) \cdot \nabla_{\phi}\mathcal Z] EP(ϵ)[Z(logP(X,Z)logQ(Zϕ))ϕZ]
    最终将 Z = G ( ϵ , X ∣ ϕ ) \mathcal Z = \mathcal G(\epsilon,\mathcal X \mid \phi) Z=G(ϵ,Xϕ)代入上式,则有:
    E P ( ϵ ) [ ∇ Z ( log ⁡ P ( X , Z ) − log ⁡ Q ( Z ∣ ϕ ) ) ⋅ ∇ ϕ G ( ϵ , X ∣ ϕ ) ] \begin{aligned} \mathbb E_{\mathcal P(\epsilon)} [\nabla_{\mathcal Z} (\log P(\mathcal X,\mathcal Z) - \log \mathcal Q(\mathcal Z \mid \phi)) \cdot \nabla_{\phi}\mathcal G(\epsilon,\mathcal X \mid \phi) ] \end{aligned} EP(ϵ)[Z(logP(X,Z)logQ(Zϕ))ϕG(ϵ,Xϕ)]
    至此,将最初始的基于 Q ( Z ) \mathcal Q(\mathcal Z) Q(Z)的期望转化为基于 P ( ϵ ) \mathcal P(\epsilon) P(ϵ)的期望。
    具体的执行流程如下:
  • 概率分布 P ( ϵ ) \mathcal P(\epsilon) P(ϵ)中获取 L L L个样本:
    ϵ ( l ) ∼ P ( ϵ ) l = 1 , 2 , ⋯   , L \epsilon^{(l)} \sim \mathcal P(\epsilon) \quad l = 1,2,\cdots,L ϵ(l)P(ϵ)l=1,2,,L
  • 期望结果进行处理
    E P ( ϵ ) [ ∇ Z ( log ⁡ P ( X , Z ) − log ⁡ Q ( Z ∣ ϕ ) ) ⋅ ∇ ϕ G ( ϵ , X ∣ ϕ ) ] = E P ( ϵ ) [ ( ∇ Z P ( X , Z ) P ( X , Z ) − ∇ Z Q ( Z ∣ ϕ ) Q ( Z ∣ ϕ ) ) ⋅ ∇ ϕ G ( ϵ , X ∣ ϕ ) ] \begin{aligned} & \mathbb E_{\mathcal P(\epsilon)} [\nabla_{\mathcal Z} (\log P(\mathcal X,\mathcal Z) - \log \mathcal Q(\mathcal Z \mid \phi)) \cdot \nabla_{\phi}\mathcal G(\epsilon,\mathcal X \mid \phi)] \\ & = \mathbb E_{\mathcal P(\epsilon)} \left[\left(\frac{\nabla_{\mathcal Z}P(\mathcal X,\mathcal Z)}{P(\mathcal X,\mathcal Z)} - \frac{\nabla_{\mathcal Z}\mathcal Q(\mathcal Z \mid \phi)}{Q(\mathcal Z \mid \phi)}\right) \cdot \nabla_{\phi}\mathcal G(\epsilon,\mathcal X \mid \phi)\right] \end{aligned} EP(ϵ)[Z(logP(X,Z)logQ(Zϕ))ϕG(ϵ,Xϕ)]=EP(ϵ)[(P(X,Z)ZP(X,Z)Q(Zϕ)ZQ(Zϕ))ϕG(ϵ,Xϕ)]
  • Z = G ( ϵ , X ∣ ϕ ) \mathcal Z = \mathcal G(\epsilon,\mathcal X \mid \phi) Z=G(ϵ,Xϕ)代入,此时整个期望中,就仅剩余 ϵ \epsilon ϵ一个变量。最后将 ϵ ( l ) ( l = 1 , 2 , ⋯   , L ) \epsilon^{(l)}(l=1,2,\cdots,L) ϵ(l)(l=1,2,,L)代入, 使用蒙特卡洛方法求解均值近似期望结果 即可,最终近似求解 ∇ ϕ L ( ϕ ) \nabla_{\phi} \mathcal L(\phi) ϕL(ϕ)
    从而继续使用随机梯度变分推断,使用梯度上升法求解概率分布 Q ( Z ∣ ϕ ) \mathcal Q(\mathcal Z \mid \phi) Q(Zϕ)的最优参数 ϕ ^ \hat \phi ϕ^
    ϕ ( t + 1 ) ← ϕ ( t ) + λ ( t ) ⋅ ∇ ϕ L ( ϕ ) \phi^{(t+1)} \gets \phi^{(t)} + \lambda^{(t)} \cdot \nabla_{\phi} \mathcal L(\phi) ϕ(t+1)ϕ(t)+λ(t)ϕL(ϕ)

至此,变分推断部分的介绍结束。下一节将介绍马尔可夫链蒙特卡洛采样方法(Markov Chain Monte Carlo,MCMC)。

相关参考:
机器学习-变分推断5(随机梯度变分推断-SGVI-2)
机器学习:VAE重参数技巧一个细节理解

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
### 回答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)来度量变分分布与真实后验分布之间的差异。通过最小化这个目标函数,我们可以找到最优的近似分布。在这个优化问题中,我们通常将问题转化为一个变分推断问题,其中我们需要优化关于变分分布的参数。 变分推断的一个优点是可以应用于各种类型的概率模型,无论是具有连续随机变量还是离散变量。此外,变分推断还可以解决复杂的后验推断问题,如变分贝叶斯方法和逐步变分推断等。 然而,变分推断也存在一些限制。例如,它通常要求选择一个合适的变分分布族,并且该族必须在计算上可以处理。此外,变分推断还可能导致近似误差,因为我们将问题简化为一个优化问题,可能会导致对真实后验分布的一些信息丢失。 总而言之,变分推断是一种强大的近似推断方法,可以用于概率模型中的参数和隐变量的估计。它通过引入变分分布来近似计算复杂的后验概率分布,从而转化为一个优化问题。然而,需要注意选择合适的变分分布族和可能的近似误差。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静静的喝酒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值