序言
在机器学习和统计学领域,对数似然梯度是一种至关重要的优化方法,特别是在处理复杂概率模型时。对数似然梯度方法的核心在于通过最大化对数似然函数来求解模型参数,这一方法广泛应用于各种参数估计问题中。对数似然梯度方法之所以受到青睐,是因为对数似然函数通常具有较为简单的形式,且其梯度易于计算,从而便于使用梯度上升算法进行求解。
对数似然梯度
通过最大似然学习无向模型特别困难的原因在于配分函数依赖于参数。对数似然相对于参数的梯度具有一项对应于配分函数的梯度:
∇ θ log p ( x ; θ ) = ∇ θ log p ~ ( x ; θ ) − ∇ θ log Z ( θ ) \nabla_{\boldsymbol{\theta}} \log p(\text{x};\boldsymbol{\theta})=\nabla_{\theta} \log \tilde{p}(\text{x};\boldsymbol{\theta})-\nabla_{\boldsymbol{\theta}} \log Z(\boldsymbol{\theta}) ∇θlogp(x;θ)=∇θlogp~(x;θ)−∇θlogZ(θ) — 公式1 \quad\textbf{---\footnotesize{公式1}} —公式1这是学习过程中非常著名的正相 ( positive phase \text{positive phase} positive phase) 和负相 ( negative phase \text{negative phase} negative phase) 的分解。
对于大多数感兴趣的无向模型而言,负相是困难的。
- 没有潜变量或潜变量之间很少相互作用的模型通常会有一个易于求解的正相。
- RBM \text{RBM} RBM是一个具有简单正相和困难负相的典型模型,具有在给定可见单位的情况下彼此条件独立的隐藏单元。
- 潜变量之间具有复杂相互作用的困难正相将主要在后续篇章:近似推断中讨论。
- 本章主要探讨负相困难的情况。
让我们进一步分析 log Z \log Z logZ 的梯度:
{ ∇ θ log Z — 公式2 = ∇ θ Z — 公式3 = ∇ θ ∑ x p ~ ( x ) Z — 公式4 = ∑ x ∇ θ p ~ ( x ) Z — 公式5 \begin{cases}\begin{aligned} &\nabla_{\boldsymbol{\theta}} \log Z &\quad\textbf{---\footnotesize{公式2}}\\\\ &=\frac{\nabla_{\boldsymbol{\theta}}}{Z} &\quad\textbf{---\footnotesize{公式3}}\\\\ &=\frac{\nabla_{\boldsymbol{\theta}}\sum_{\text{x}}\tilde{p}(\textbf{x})}{Z} &\quad\textbf{---\footnotesize{公式4}}\\\\ &=\frac{\sum_{\text{x}}\nabla_{\boldsymbol{\theta}}\tilde{p}(\textbf{x})}{Z} &\quad\textbf{---\footnotesize{公式5}} \end{aligned}\end{cases} ⎩ ⎨ ⎧∇θlogZ=Z∇θ=Z∇θ∑xp~(x)=Z∑x∇θp~(x)—公式2—公式3—公式4—公式5对于保证所有的 x \textbf{x} x 都有 p ( x ) > 0 p(\textbf{x}) \gt 0 p(x)>0 的模型,我们用 e ( log p ~ ( x ) ) \displaystyle e^{(\log\tilde{p}(\textbf{x}))} e(logp~(x)) 代替 p ~ ( x ) \tilde{p}(\textbf{x}) p~(x):
{ ∑ x ∇ θ e ( log p ~ ( x ) ) Z — 公式6 = ∑ x e ( log p ~ ( x ) ) ∇ θ log p ~ ( x ) Z — 公式7 = ∑ x p ~ ( x ) ∇ θ log p ~ ( x ) Z — 公式8 = ∑ x p ( x ) ∇ θ log p ~ ( x ) — 公式9 = E x ∼ p ( x ) ∇ θ log p ~ ( x ) — 公式10 \begin{cases}\begin{aligned} &\frac{\sum_{\text{x}}\nabla_{\boldsymbol{\theta}}e^{(\log\tilde{p}(\textbf{x}))}}{Z} &\quad\textbf{---\footnotesize{公式6}} \\\\ &= \frac{\sum_{\text{x}}e^{(\log\tilde{p}(\textbf{x}))}\nabla_{\boldsymbol{\theta}}\log\tilde{p}(\textbf{x})}{Z} &\quad\textbf{---\footnotesize{公式7}} \\\\ &=\frac{\sum_{\text{x}}\tilde{p}(\textbf{x}) \nabla_{\boldsymbol{\theta}} \log\tilde{p}(\textbf{x}) }{Z} &\quad\textbf{---\footnotesize{公式8}} \\\\ &=\sum\limits_{\text{x}}p(\text{x})\nabla_{\boldsymbol{\theta}} \log\tilde{p}(\textbf{x}) &\quad\textbf{---\footnotesize{公式9}} \\\\ &=\mathbb{E}_{\text{x}\sim p(\text{x})} \nabla_{\boldsymbol{\theta}} \log\tilde{p}(\textbf{x}) &\quad\textbf{---\footnotesize{公式10}} \\ \end{aligned}\end{cases} ⎩ ⎨ ⎧Z∑x∇θe(logp~(x))=Z∑xe(logp~(x))∇θlogp~(x)=Z∑xp~(x)∇θlogp~(x)=x∑p(x)∇θlogp~(x)=Ex∼p(x)∇θlogp~(x)—公式6—公式7—公式8—公式9—公式10这个推导对离散 x \boldsymbol{x} x 进行求和,对连续 x \boldsymbol{x} x 进行积分也会出现类似结果。
面对连续版本的推导过程中,我们使用在积分符号下微分莱布尼兹法则,得到等式:
∇ θ ∫ p ~ ( x ) d ( x ) = ∫ ∇ θ p ~ ( x ) d ( x ) \nabla_{\boldsymbol{\theta}} \displaystyle\int \tilde{p}(\textbf{x})\text{d}(\boldsymbol{x})=\int \nabla_{\boldsymbol{\theta}}\tilde{p}(\textbf{x})\text{d}(\boldsymbol{x}) ∇θ∫p~(x)d(x)=∫∇θp~(x)d(x) — 公式11 \quad\textbf{---\footnotesize{公式11}} —公式11该等式只适用于 p ~ \tilde{p} p~ 和 ∇ θ p ~ ( x ) \nabla_{\boldsymbol{\theta}}\tilde{p}(\textbf{x}) ∇θp~(x) 上的一些特定正则条件。在测度理论术语中,这些条件是:
- (1)对每一个 θ \boldsymbol{\theta} θ 而言,未归一化分布 p ~ \tilde{p} p~ 必须是 x \boldsymbol{x} x 的勒贝格可积函数。
- (2)对于所有的 θ \boldsymbol{\theta} θ 和几乎所有 x \boldsymbol{x} x,梯度 ∇ θ p ~ ( x ) \nabla_{\boldsymbol{\theta}}\tilde{p}(\textbf{x}) ∇θp~(x) 必须存在。
- (3)对于所有的 θ \boldsymbol{\theta} θ 和几乎所有的 x \boldsymbol{x} x,在 max i ∣ ∂ ∂ θ i p ~ ( x ) ∣ ≤ R ( x ) \max_i|\frac{\partial}{\partial \theta_i} \tilde{p}(\textbf{x})|\le R(\boldsymbol{x}) maxi∣∂θi∂p~(x)∣≤R(x) 的情况下,必须存在能够限制住 ∇ θ p ~ ( x ) \nabla_{\boldsymbol{\theta}}\tilde{p}(\textbf{x}) ∇θp~(x) 的可积函数 R ( x ) R(\boldsymbol{x}) R(x)。幸运的是,大多数感兴趣的机器学习模型都具有这些性质。
这个等式:
∇ θ log Z = E x ∼ p ( x ) ∇ θ log p ~ ( x ) \nabla_{\boldsymbol{\theta}} \log Z=\mathbb{E}_{\textbf{x}\sim p(\textbf{x})}\nabla_{\boldsymbol{\theta}} \log\tilde{p}(\textbf{x}) ∇θlogZ=Ex∼p(x)∇θlogp~(x) — 公式12 \quad\textbf{---\footnotesize{公式12}} —公式12
是使用各种蒙特卡罗方法近似最大化(具有难求解配分函数模型的)似然的基础。蒙特卡罗方法为学习无向模型提供了直观的框架,我们能够在其中考虑正相和负相。
- 在正相中,我们对于数据中抽取的 x \boldsymbol{x} x 增加 log p ~ ( x ) \log\tilde{p}(\textbf{x}) logp~(x)。
- 在负相中,我们通过减少从模型分布中采样的 log p ~ ( x ) \log\tilde{p}(\textbf{x}) logp~(x) 来降低配分函数。
在深度学习文献中,经常会看到用能量函数(公式7)来参数化 log p ~ \log\tilde{p} logp~ 。在这种情况下,正相可以解释为压低训练样本的能量, 负相可以解释为提高模型抽出的样本的能量。
总结
对数似然梯度方法是一种高效且实用的优化方法,在机器学习和统计学领域具有广泛的应用前景。它通过将问题转化为对数似然函数的最大化问题,利用梯度上升算法进行求解,从而实现了模型参数的优化。对数似然梯度方法的优势在于其简单性、可计算性和有效性,这使得它成为处理复杂概率模型时的首选方法。然而,我们也需要注意到,对数似然梯度方法在实际应用中可能受到多种因素的影响,如数据的噪声、模型的复杂性等。因此,在使用该方法时,我们需要结合具体问题进行考虑,选择适当的正则化技术和优化算法来提高模型的稳定性和泛化能力。
相关内容回顾
深度学习中的结构化概率模型 - 结构化概率模型的深度学习方法篇 - RBM
蒙特卡罗方法 -引言篇
深度学习中的结构化概率模型 - 使用图来描述模型结构篇 - 基于能量的模型