面对配分函数 - 得分匹配与比率匹配篇

序言

配分函数在统计物理学和机器学习中都扮演着至关重要的角色。在统计物理学中,配分函数描述了系统在热平衡状态下的概率分布,包含了系统的许多重要信息。而在机器学习中,尤其是深度学习领域,配分函数的概念同样重要,尽管其应用方式和物理领域有所不同。得分匹配( Score Matching, SM \text{Score Matching, SM} Score Matching, SM)和比率匹配( Ratio Matching, RM \text{Ratio Matching, RM} Ratio Matching, RM)是两种绕开直接估计配分函数或其导数的方法,它们在模型训练中具有独特的优势。

得分匹配与比率匹配

  • 得分匹配( Hyv a ¨ rinen, 2005b \text{Hyvärinen, 2005b} Hyva¨rinen, 2005b) 提供了另一种训练模型而不需要估计 Z 或其导数的一致性方法。

    • 对数密度关于参数的导数 ∇ x log ⁡ p ( x ) \nabla_x\log p(\boldsymbol{x}) xlogp(x),被称为其得分 ( score \text{score} score),得分匹配这个名称正是来自这样的术语。
    • 得分匹配采用的策略是,最小化模型对数密度和数据对数密度关于输入的导数之间的平方差期望:
      { L ( x , θ ) = 1 2 ∥ ∇ x log ⁡ p model ( x ; θ ) − ∇ x log ⁡ p data ( x ) ∥ 2 2 — 公式1 J ( θ ) = 1 2 E p data ( x ) L ( x , θ ) — 公式2 θ ∗ = min ⁡ θ J ( θ ) — 公式3 \begin{cases}\begin{aligned}L(\boldsymbol{x},\boldsymbol{\theta})&=\frac{1}{2}\Vert\nabla_x\log p_{\text{model}}(\boldsymbol{x};\boldsymbol{\boldsymbol{\theta}})-\nabla_x\log p_{\text{data}}(x)\Vert_2^2 &\quad\textbf{---\footnotesize{公式1}}\\ J(\boldsymbol{\theta})&=\frac{1}{2}\mathbb{E}_{p_{\text{data}}(\boldsymbol{x})}L(\boldsymbol{x},\boldsymbol{\theta}) &\quad\textbf{---\footnotesize{公式2}}\\ \boldsymbol{\theta}^\ast&=\min\limits_{\boldsymbol{\theta}} J(\boldsymbol{\theta}) &\quad\textbf{---\footnotesize{公式3}} \end{aligned}\end{cases} L(x,θ)J(θ)θ=21xlogpmodel(x;θ)xlogpdata(x)22=21Epdata(x)L(x,θ)=θminJ(θ)公式1公式2公式3
  • 该目标函数避免了微分配分函数 Z Z Z 带来的难题,因为 Z Z Z 不是 x x x 的函数,所以 ∇ x Z = 0 ∇xZ = 0 xZ=0。最初, 得分匹配似乎有一个新的困难:计算数据分布的得分需要知道生成训练数据的真实分布 p data p_{\text{data}} pdata。幸运的是,最小化 L ( x ; θ ) L(\boldsymbol{x}; \boldsymbol{\theta}) L(x;θ) 的期望等效于最小化下式的期望:
    L ~ ( x , θ ) = ∑ j = 1 n ( ∂ 2 ∂ x j 2 log ⁡ p model ( x ; θ ) + 1 2 ( ∂ ∂ x j ) log ⁡ p model ( x ; θ ) 2 ) \tilde{L}(\boldsymbol{x},\boldsymbol{\theta})=\sum\limits_{j=1}^n(\frac{\partial^2}{\partial x_j^2}\log p_{\text{model}}(\boldsymbol{x};\boldsymbol{\theta})+\frac{1}{2}(\frac{\partial}{\partial x_j})\log p_{\text{model}}(\boldsymbol{x};\boldsymbol{\theta})^2) L~(x,θ)=j=1n(xj22logpmodel(x;θ)+21(xj)logpmodel(x;θ)2) — 公式4 \quad\textbf{---\footnotesize{公式4}} 公式4

  • 其中 n n n x \boldsymbol{x} x 的维度。

  • 因为得分匹配需要关于 x \textbf{x} x 的导数,所以它不适用于具有离散数据的模型,但是模型中的潜变量可以是离散的。

  • 类似于伪似然,得分匹配只有在我们能够直接估计 log ⁡ p ~ ( x ) \log \tilde{p}(\textbf{x}) logp~(x) 及其导数的时候才有效。它不兼容与对 log ⁡ p ~ ( x ) \log \tilde{p}(\textbf{x}) logp~(x) 仅提供下界的方法,因为得分匹配需要 log p~(x) 的导数和二阶导数,而下限不能传达关于导数的任何信息。这意味着得分匹配不能应用于隐藏单元之间具有复杂相互作用的模型估计,例如稀疏编码模型或深度玻尔兹曼机。虽然得分匹配可以用于预训练较大模型的第一个隐藏层,但是它没有被用于预训练较大模型的较深层网络。这可能是因为这些模型的隐藏层通常包含一些离散变量。

总结

得分匹配和比率匹配为机器学习模型训练提供了新的视角和工具。得分匹配通过最小化模型对数密度和数据对数密度关于输入的导数之间的平方差期望,来实现对模型参数的优化。这种方法避免了直接估计配分函数的复杂性,使得模型训练更加高效。而比率匹配虽然具体实现细节可能有所不同,但同样旨在通过比较模型分布和数据分布之间的某种比率关系,来优化模型参数。

这两种方法的应用不仅限于深度学习领域,还可以扩展到其他机器学习算法中。它们为处理复杂的数据分布和模型训练提供了新的思路,有助于提升模型的准确性和泛化能力。

总的来说,得分匹配和比率匹配是机器学习中处理配分函数相关问题的有效方法。它们通过绕开直接估计配分函数的难题,为模型训练提供了新的解决方案,推动了机器学习领域的发展。随着研究的深入,这些方法有望在更多领域得到应用和推广。

往期内容回顾

猜你喜欢

转载自blog.csdn.net/benny_zhou2004/article/details/142904671