try ai
科普
编辑
分享
反馈
  • 基于分数的学习:从噪声到结构

基于分数的学习:从噪声到结构

SciencePedia玻尔百科
核心要点
  • 分数函数定义为对数概率密度的梯度,即 ∇xlog⁡p(x)\nabla_{x} \log p(x)∇x​logp(x)。它提供了一个矢量场,将生成过程引向高数据似然区域。
  • 模型使用去噪分数匹配(Denoising Score Matching, DSM)从数据样本中学习这个未知的分数函数,该方法将抽象的学习问题重构为一个直观的去噪任务。
  • 生成过程从随机噪声开始,通过遵循学习到的分数场进行迭代优化。这一过程被形式化为朗之万动力学或基于扩散的随机微分方程的逆过程。
  • 基于分数的模型为解决逆问题提供了一个有原则的框架,它将学习到的数据先验(即分数)与从含噪声或不完整测量中导出的似然项相结合。
  • 这些模型通过在真实数据所在的低维流形上学习动力学,有效规避了维度灾难,避免了在环境空间中广阔的空白区域进行操作。

引言

我们如何教机器进行创造?不是简单地复制,而是从非结构化的随机噪声的混沌中生成全新的、逼真的图像、声音,乃至科学数据?这一挑战是现代人工智能的核心。基于分数的学习提供了一个极其优雅而强大的答案,它将创造过程构建为一个导航过程。它提供了一个“神奇罗盘”——分数函数——引导我们从一片静电噪声的海洋走向我们数据景观中结构化、高概率的山峰。本文旨在探讨这一变革性方法的原理和力量。

本文将引导您了解基于分数的生成模型的核心概念。在“原理与机制”部分,我们将定义分数函数,探索模型如何使用分数匹配等技术从数据中学习该函数,并理解它如何通过类似时间倒流的过程来生成新样本。随后,“应用与跨学科联系”部分将展示这些模型的深远影响,从可控的图像合成、解决科学中的复杂逆问题,到它们与物理学和流形假设的深刻联系。读完本文,您将不仅理解这些模型的工作原理,更能明白为何它们代表了我们模拟世界能力的一次根本性转变。

原理与机制

想象一下,你是一名探险家,被投放到一片广袤未知、浓雾笼罩的山脉中。你的目标是找到最高的山峰,但你只能看到脚下的地面。如果你有一个神奇的罗盘会怎样?这个罗盘不是指向北方,而是始终指向最陡峭的上升方向。有了这个罗盘,你只需跟着它的指针走,它就会一步步引导你到达最近的山顶。

在生成模型的世界里,“山脉”就是概率分布,这是一个景观,其中任何一点的海拔高度代表了在该处找到一个数据点的可能性。而“山峰”则是高概率区域——数据聚集的地方。这个神奇的罗盘就是我们所说的​​分数函数​​。本章旨在理解这个罗盘:它是什么,我们如何构建它,以及我们如何用它来导航数据景观,生成与真实数据别无二致的、前所未见的新样本。

分数:一个用于创造的矢量场

分数函数的核心是一个简单而深刻的数学对象。对于给定的概率密度函数 p(x)p(x)p(x),分数定义为其对数的梯度:

s(x)=∇xlog⁡p(x)s(x) = \nabla_{x} \log p(x)s(x)=∇x​logp(x)

这个矢量 s(x)s(x)s(x) 指向数据对数概率增长最快的方向,也就是概率景观上最陡峭的上升方向。如果你处于点 xxx 并沿 s(x)s(x)s(x) 的方向迈出一小步,你就会移动到一个数据更可能出现的区域。这为寻找可能的数据点提供了一个强大而局部的方案。

我们可以通过将其想象成一个速度场,很像流体的流动,来建立对分数的强大直觉。想象一下,将粒子随机撒在一个二维平面上,让每个粒子根据其所在位置的分数场方向移动。处于低概率“平原”的粒子会沿着流线被卷向高概率的“山峰”。分布的众数——概率最高的位置——充当了这场流动的汇点,那里的速度为零。这些是场的​​驻点​​,是流线汇聚的目的地。

这个“速度场”并非任意的矢量集合,它具有一个特殊性质:它是​​保守的​​。在物理学中,保守力场(如引力场)是指在两点之间移动所做的功与路径无关的场。如果一个矢量场可以写成一个标量势的梯度,那么它就是保守的。根据定义,我们的分数函数正是标量势 log⁡p(x)\log p(x)logp(x) 的梯度。

这个性质有一个美好的推论,根植于曲线积分的基本定理。如果我们从一个参考点(比如原点)“走”到一个点 xxx,并不断累加沿路径方向的分数矢量分量,总和将恰好是起点和终点之间“海拔高度”——即对数概率——的变化量。这意味着,原则上,我们仅通过知晓分数场就能重构整个概率景观(在相差一个全局常数的情况下)。斜率的地图包含了关于高度的所有信息。分数是梯度场这一内在属性,有时被称为​​可积性​​。它确保了分数场对应于一个定义良好的概率分布。这可以分解为两个相关条件:该场必须是无旋的,并且其散度必须与底层的密度一致。

学习地图:分数匹配的艺术

知道分数函数等同于知道数据分布的形状。但在实践中,我们面临的问题恰恰相反:我们拥有一组来自未知分布 p(x)p(x)p(x) 的样本,并希望学习其分数函数。当我们连目标函数 s(x)s(x)s(x) 本身都不知道时,如何训练一个模型,比如神经网络 sθ(x)s_{\theta}(x)sθ​(x),来逼近真实分数 s(x)=∇xlog⁡p(x)s(x) = \nabla_{x} \log p(x)s(x)=∇x​logp(x) 呢?

一个天真的方法是最小化平均平方差 Ex∼p(x)[∥sθ(x)−s(x)∥2]\mathbb{E}_{x \sim p(x)}[\|s_{\theta}(x) - s(x)\|^2]Ex∼p(x)​[∥sθ​(x)−s(x)∥2]。但这根本行不通,因为它需要计算真实分数 s(x)s(x)s(x)。

突破来自于一种名为​​分数匹配​​(Score Matching)的巧妙技术。通过一个涉及分部积分的数学技巧,可以证明最小化上述目标等同于最小化另一个目标,即 Hyvärinen 分数:

JH(θ)=Ex∼p[∥sθ(x)∥2+2 ∇⋅sθ(x)]J_{\mathrm{H}}(\theta)=\mathbb{E}_{x\sim p}\left[\|s_{\theta}(x)\|^{2}+2\,\nabla\cdot s_{\theta}(x)\right]JH​(θ)=Ex∼p​[∥sθ​(x)∥2+2∇⋅sθ​(x)]

突然之间,未知的真实分数 s(x)s(x)s(x) 消失了!这个新目标只依赖于我们的模型 sθ(x)s_{\theta}(x)sθ​(x) 及其散度 ∇⋅sθ(x)\nabla \cdot s_{\theta}(x)∇⋅sθ​(x),这些我们都可以计算。现在我们可以使用我们的数据样本来估计这个期望,并使用标准的梯度下降法来训练我们的网络。

虽然这是一个巨大的进步,但计算一个大型神经网络的散度在计算上可能非常昂贵。这催生了一个更实用、更优雅的公式:​​去噪分数匹配​​(Denoising Score Matching, DSM)。其见解既简单又绝妙:我们不直接学习干净数据的分数,而是首先向数据点添加少量高斯噪声。然后,我们训练网络来学习这个含噪数据分布的分数。事实证明,含噪数据的分数与将样本去噪恢复到其原始干净状态的最优方向直接相关。训练目标简化为最小化网络输出与真实“去噪方向”之间的平方误差。

令人惊讶的是,对于小噪声水平,这个去噪任务在数学上等同于最初更复杂的分数匹配目标。DSM 目标实际上相当于 Hyvärinen 分数加上一个有助于训练稳定性的微小正则化项。这一发现至关重要:它将学习对数概率梯度的抽象问题转变为一个具体、直观的去噪任务。大多数现代的基于分数的模型都是使用这个强大的思想进行训练的。为了高效地训练它们,它们还依赖于现代机器学习的基石之一——​​重参数化技巧​​,该技巧提供了一种低方差的方法来计算优化所需的梯度。

当然,我们的模型 sθ(x)s_{\theta}(x)sθ​(x) 只是一个近似。它捕捉真实分数的能力受到其​​容量​​或表达能力 的限制。如果真实数据分布有非常尖锐的峰(高曲率区域),一个容量有限的网络可能不够“灵活”来复制这种尖锐性。它可能会学习到一个真实分数的平滑、“模糊”版本。这个限制意味着生成的模型可能会产生来自一个比真实数据分布更弥散、尾部更肥的分布的样本——这是模型无法学习概率景观精细细节的直接后果。

遵循地图:从噪声到结构

一旦我们训练好网络 sθ(x)s_{\theta}(x)sθ​(x),使其成为真实分数的良好近似,我们就拥有了那个神奇的罗盘。我们如何用它来生成新样本呢?这个过程是对创造的美妙模拟,将纯粹的混沌转化为结构化的形态。

我们从一个非常简单、高熵的分布中抽取一个样本开始——想象一个从均匀的静电噪声中随机选取的点,一个标准的高斯噪声矢量。这个点代表了纯粹的混沌。然后,我们开始一段由分数函数引导的旅程。这段旅程由一个称为​​朗之万动力学​​(Langevin dynamics)的过程描述。在每一步,我们通过在分数方向上迈出一小步,并加上一点随机抖动,来更新当前样本 XkX_kXk​:

Xk+1=Xk+η sθ(Xk)+2η ZkX_{k+1} = X_k + \eta \, s_{\theta}(X_k) + \sqrt{2\eta} \, Z_kXk+1​=Xk​+ηsθ​(Xk​)+2η​Zk​

在这里,η sθ(Xk)\eta \, s_{\theta}(X_k)ηsθ​(Xk​) 项是​​漂移​​项,它确定性地将我们的样本在学习到的概率景观上“推向山顶”。2η Zk\sqrt{2\eta} \, Z_k2η​Zk​ 项是一个小的随机​​扩散​​步,其中 ZkZ_kZk​ 是新的高斯噪声。这种随机抖动至关重要;它允许样本探索景观,防止其永久地陷在次要的、非最优的峰上。正是分数函数的确定性拉力和噪声的随机性推动之间的平衡,确保了最终样本能够根据学习到的分布正确地分布。

在一个更现代、更强大的视角中,这个迭代过程是连续时间​​随机微分方程​​(Stochastic Differential Equation, SDE)的离散化。生成过程被构建为一个扩散过程的时间反演。想象一个正向过程,它随着时间的推移逐渐向真实数据样本中添加噪声,最终将其变为纯粹的、非结构化的噪声。SDE 理论中一个卓越的结论指出,这个过程是可逆的。将噪声变回数据的逆过程由一个类似的 SDE 控制,但其漂移项恰好由每个时间点上含噪数据的分数函数确定。因此,学习分数等同于学习逆转时间之箭、消除扩散所需的物理定律。

当然,由于计算机在离散时间内运行,我们必须使用数值方法,如上面展示的简单​​Euler-Maruyama​​格式。这些离散化会引入误差。例如,离散时间采样器的平稳分布的方差可能与连续时间的理想情况略有不同。为了减少这些误差并生成更接近真实目标分布的更高质量样本,已经开发了更复杂的采样器,例如​​预测-校正方法​​。

一个统一的视角:分数、能量和时间

分数函数的概念在不同类型的生成模型之间,特别是​​基于能量的模型​​(Energy-Based Models, EBMs)之间,架起了一座优美而统一的桥梁。EBM 通过一个能量函数 E(x)E(x)E(x) 来定义概率分布,其中样本的概率与其能量成反比:p(x)∝exp⁡(−E(x))p(x) \propto \exp(-E(x))p(x)∝exp(−E(x))。低能量状态即高概率状态。

与基于分数的模型的联系是直接而优雅的。分数就是能量的负梯度:

s(x)=∇xlog⁡p(x)=∇x(−E(x)+const.)=−∇xE(x)s(x) = \nabla_{x} \log p(x) = \nabla_{x} (-E(x) + \text{const.}) = -\nabla_{x} E(x)s(x)=∇x​logp(x)=∇x​(−E(x)+const.)=−∇x​E(x)

学习分数与学习能量景观的梯度场是同一回事。这个视角提供了一个强大的架构优势。如果我们将分数模型明确地参数化为神经网络能量函数的负梯度,即 sθ(x,t)=−∇xEθ(x,t)s_{\theta}(x,t) = -\nabla_x E_{\theta}(x,t)sθ​(x,t)=−∇x​Eθ​(x,t),我们就能自动强制学习到的分数必须是保守场的关键属性。这将一个基本的物理约束直接构建到模型中,引导它学习有效、可积的分数场。

这个统一的镜头让我们以全新的视角看待整个生成过程。从数据到噪声的正向扩散过程,可以看作是一个将能量景观拉平的过程,将概率质量散布开来,直到能量处处恒定。而逆向的生成过程则是由学习到的能量梯度(即分数)引导的旅程。它从纯噪声的平坦、高能量景观开始,雕刻出原始数据分布的山谷和山峰,引导样本在对应于真实数据的低能量盆地中安顿下来。这是一个从混沌中创造秩序的过程,由一个时变能量景观的学习定律所引导。

从概率景观上的一个简单梯度,到流体的速度场,再到逆转热力学扩散的关键,分数函数是一个具有非凡深度和实用性的概念。它揭示了生成原理中隐藏的统一性,再次证明了科学中一些最强大的思想就位于概率、动力学和物理学的交叉点。

应用与跨学科联系

在上一章中,我们揭示了一种现代炼金术:一种将随机噪声的混沌转化为图像、声音等复杂结构的原则性方法。我们了解到,秘诀在于“分数函数”——一个矢量场 ∇xlog⁡p(x)\nabla_x \log p(x)∇x​logp(x),它能引导偏离的数据点回归现实世界的高密度区域。但是,一个配方的价值在于它能创造出的菜肴。那么,这个强大的思想究竟有什么用呢?

在本章中,我们将踏上一段旅程,看看基于分数的模型如何不仅仅是机器学习领域的一个奇特现象,而是成为一个审视和解决整个科学界问题的新视角。我们将从数字艺术的创作领域,行至生物学和基础物理学的前沿,发现分数函数是一种用于描述、操纵和理解复杂数据的、具有惊人普适性的语言。

控制的艺术:驯服生成过程

生成模型最引人注目的应用之一是从文本描述创建图像——将“一个骑着马的逼真宇航员”这样的词语变成一幅令人惊叹的图画。这不仅仅需要生成一张随机图像,更需要控制。我们希望引导生成过程朝向一个特定的结果。基于分数的模型为此提供了一种尤为优雅的方式。

假设我们已经训练了一个用于“猫”的图像的分数模型,和另一个用于“狗”的图像的分数模型。我们如何创建一个能涵盖这两者的“宠物”模型呢?一个天真的猜测可能是简单地将两个分数场平均。如果你处在所有可能图像的广阔空间中的某一点,你可以朝“猫”的方向迈一小步,再朝“狗”的方向迈一小步。但事实证明这是错误的。

由简单的概率法则揭示的正确方法,更为精妙,也远为优美。合并后的“宠物”分布的真实分数是各个分数的加权平均。那么权重是什么呢?在任意点 xxx,“猫”分数的权重是在已知 xxx 是宠物的情况下,xxx 是猫的概率,即 p(cat∣x)p(\text{cat} \mid x)p(cat∣x)。对狗也是同理。在数学上,边缘分数是条件分数的后验加权期望:smarg(x)=Ep(y∣x)[s(x,y)]s_{\text{marg}}(x) = \mathbb{E}_{p(y \mid x)}[s(x,y)]smarg​(x)=Ep(y∣x)​[s(x,y)]。

可以这样理解:想象你迷失在一片连绵起伏的山丘景观中,你知道有两个深谷,一个对应于“像猫的”图像,另一个对应于“像狗的”图像。你所在位置的地形坡度(即分数)并不仅仅是同等地指向两个山谷。它会更强烈地指向从你站立之处看起来更 plausible(合理)的那个山谷。如果你当前的图像看起来有点像猫,坡度就会更坚决地引导你走向“猫”之谷。这个原理让我们能够以一种有原则的方式组合和控制生成过程,构成了现代条件生成的概念支柱。

洞见未见:从数据碎片中重构现实

科学和医学领域许多最重要的问题都是“逆问题”。我们无法直接观察我们关心的事物,而是测量其经过某种变换、损坏或不完整的版本,然后必须反向推断出原始状态。一张模糊的照片、一个带噪的无线电信号,或来自MRI机器的稀疏测量数据,都是这方面的例子。我们如何才能重建出清晰、真实的信号呢?

在这里,基于分数的模型提供了一个非常直观的解决方案。关键的见解是,解决逆问题需要平衡两个信息来源:

  1. ​​先验(Prior)​​:我们对世界面貌的普遍认知。例如,我们知道医学图像不是随机的静电噪声,它们具有连贯的解剖结构。一个在数千张清晰医学图像上训练的基于分数的模型,在其学习到的分数场中完美地捕捉了这种先验知识。
  2. ​​似然(Likelihood)​​:包含在我们特定的、有噪声的测量中的信息。它告诉我们未知的真实图像 xxx 与观测数据 yyy 是如何相关的。

贝叶斯法则告诉我们如何结合这两部分信息。在分数的语言中,这种结合呈现出一种惊人简洁的形式:我们最佳猜测(后验概率 p(x∣y)p(x \mid y)p(x∣y))的分数,仅仅是来自先验模型的分数与一个源自测量过程的项之和。

∇xlog⁡p(x∣y)=∇xlog⁡p(x)+∇xlog⁡p(y∣x)\nabla_x \log p(x \mid y) = \nabla_x \log p(x) + \nabla_x \log p(y \mid x)∇x​logp(x∣y)=∇x​logp(x)+∇x​logp(y∣x)

第一项,先验分数,推动我们的解看起来像一张合理的图像。第二项,似然分数,则推动我们的解与我们实际测量到的数据保持一致。想象一位雕塑家,他精通人体解剖学(先验),同时也在看一张被摄对象的模糊照片(数据)。为了创作出逼真的肖像,他两者并用:他的通用知识指导整体形态,而照片则提供具体细节。基于分数的逆问题求解正是这样做的,一步步地优化一个带噪的估计,直到它既合理又与证据相符。

这个想法也揭示了它与一类看似不同的经典优化方法之间的深刻统一。几十年来,工程师们一直使用像交替方向乘子法(ADMM)这样的算法来解决逆问题。人们发现,这些算法中的一个关键步骤通常对应于一个简单的去噪操作。而一个分数模型的核心是什么呢?正如我们所学,它是一个去噪专家!通过一个被称为 Tweedie 公式的优美结果,分数与最优去噪器直接相关。这意味着我们可以采用这些强大且经过时间考验的优化框架,并简单地将一个现代的、基于神经网络的去噪器作为先验“即插即用”。其结果是一种混合方法,它结合了经典优化的严谨性与深度学习的表达能力。

科学发现的新工具:基于分数的模型在科学中的应用

基于分数的模型捕捉复杂分布的能力,远远超出了像素和声波的范畴。在那些数据极其复杂的领域,它们正成为一种用于科学发现的新型仪器。

逆向工程生命的机器

现代生物学的一大挑战是理解基因之间错综复杂的相互作用网络——基因调控网络(Gene Regulatory Network, GRN)。这个网络是细胞的“软件”,决定了它如何响应环境。从基因表达数据中推断这个“布线图”是一个巨大的逆问题。基于分数的方法(在更广泛的意义上,即寻找一个能最大化某个分数函数的模型)为这项任务提供了一个强大的框架。该方法将不同的可能网络结构视为候选者,并为每个结构赋予一个“分数”,例如贝叶斯信息准则(BIC),该准则量化了该结构在惩罚不必要复杂性的同时,对观测数据的解释程度。通过寻找得分最高的网络,生物学家可以生成关于哪些基因调控哪些其他基因的具体的、可检验的假设,从而在破译生命语言的道路上迈出关键一步。

模拟宇宙的基石

在另一个极端尺度上,高能物理学家们在大型强子对撞机(LHC)上以接近光速的速度将粒子对撞,以研究物质的基本组成部分。这项研究的一个关键部分是模拟。为了找到新粒子的证据,科学家必须将来自探测器的真实数据与对已知物理过程的极其精确——且计算成本高昂——的模拟进行比较。最近,基于分数的生成模型已成为一种有前景的方法,能将这一过程加速几个数量级。它们可以直接从数据中学习生成逼真的粒子碰撞事件。

更令人兴奋的是,这些模型可以被做得“物理信息 informed”(physics-informed)。我们不必将模拟器视为一个完全的黑匣子。如果我们知道某些物理定律必须被遵守——例如,一个约束动量分布的守恒定律——我们可以将该约束直接构建到分数模型的训练过程中。通过添加一个惩罚项来衡量模型的输出在多大程度上违反了已知的物理规律,我们可以引导模型学习一个不仅与训练数据一致,而且还尊重自然基本法则的分布。这代表了一种新的协同作用,一种数据驱动学习与第一性原理理论之间的对话。

驯服无穷:驾驭维度灾难

也许最深刻的联系来自于我们提出一个简单问题的时候:为什么这些模型在像图像这样的高维数据上表现得如此出色?一张拥有一百万像素的图像,是在一个一百万维空间中的一个点。这个空间浩瀚得难以想象,我们的三维直觉在这里完全失效。这就是臭名昭著的“维度灾难”。任何有限的数据集,无论多大,都好比无限宇宙中的几粒沙子。一个模型如何可能学到这样一个稀疏、空旷空间的结构呢?

答案在于一个优美的思想:数据并没有填满整个百万维空间。例如,所有“看似合理的面部图像”的集合,只占据了所有可能像素组合空间中一个微小而复杂的薄片。这个薄片是一个低维结构,即所谓的“流形”,嵌入在高维环境空间中。想象一根长而缠绕的线(一个一维流形)穿过一个大房间(一个三维空间)。

我们所研究的生成过程可以用一个名为 Fokker-Planck 方程的物理方程来描述,该方程支配着一个概率分布在漂移和扩散作用下的演化。试图在一个百万维度的网格上求解这个方程在计算上是不可能的——这就是维度灾难。但基于分数的模型施展了一个神奇的戏法。通过从数据中学习分数函数,它们实际上是在学习仅限于数据实际存在的低维流形上的动力学。学习到的分数场与流形相切,引导生成过程沿着其表面行进,而不是让它迷失在无意义图像的广阔、空旷的荒野中。

这通过将一个棘手的 DDD 维问题简化为一个可控的 ddd 维问题,从而规避了维度灾难,其中 ddd 是数据隐藏的“内在维度”。科学家甚至可以使用像局部谱分析这样的工具来探测学习到的分数场和数据本身,估计这个内在维度,并验证模型是否确实发现了隐藏的低维结构。

一个统一的视角

我们的旅程告一段落。我们看到了分数函数这个简单的思想如何绽放成一幅丰富的应用图景。它为我们提供了用于创造性生成的精细控制,为解决科学和医学中的逆问题提供了有原则的方法,并为科学模拟和发现提供了一种新的范式。最深刻的是,它通过发现并利用隐藏在高维空间中的低维结构,为我们提供了一个实用的工具来应对看似无法逾越的高维挑战。基于分数的模型的内在美正在于这种统一性——一个源自统计物理学的、单一而优雅的概念,它将概率论、优化和几何学联系起来,以解决我们这个时代一些最具挑战性的数据问题。