您当前的位置: 首页 >  机器学习

静静的喝酒

暂无认证

  • 2浏览

    0关注

    99博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

静静的喝酒 发布时间:2022-09-19 19:51:25 ,浏览量:2

机器学习笔记之变分推断——重参数化技巧
  • 引言
    • 回顾:随机梯度变分推断
    • 随机梯度变分推断的问题
    • 重参数化技巧
    • 基于重参数化技巧的求解过程

引言

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

回顾:随机梯度变分推断

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

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

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(Z∣X)。只是 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(ϕ)≈N1​n=1∑N​{∇ϕ​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) z∼N(μ,σ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)]​=∫z​P(z)f(z)dz=∫z​(2π ​σ1​e−2σ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π ​σ1​e−2σ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π ​σ1​e−2σ2(μ+σ⋅ϵ−μ)2​)f[G(ϵ)]⋅σdϵ=∫ϵ​2π ​1​e−2ϵ2​f[G(ϵ)]dϵ(2π ​1​e−2ϵ2​→N(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)=∫δ[z−G(ϵ,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} ∫Z​Q(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)∇Z​P(X,Z)​−Q(Z∣ϕ)∇Z​Q(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重参数技巧一个细节理解

关注
打赏
1664446683
查看更多评论
立即登录/注册

微信扫码登录

0.0924s