3.1 定义目标:让真实数据具有低能量
前几章引入了两个关键视角:统计物理的 概率框架(第 1 章)和循环神经网络的 架构原则(第 2 章)。现在,我们把它们统一到 基于能量的模型(Energy-Based Models, EBMs) 之下。本节定义驱动所有基于能量模型(包括玻尔兹曼机)的核心学习目标:塑造能量景观,使真实数据位于深谷中,而其他构型处于更高位置。
基于能量的建模范式
基于能量的模型由一个标量 能量函数 Eθ(x) 定义,该函数由参数 θ 参数化,并为变量的每个可能构型 x 分配一个实值能量。对于玻尔兹曼机,x 表示可见单元和隐藏单元的联合状态;但这一框架可以广泛应用于任何结构化构型。
能量函数通过 玻尔兹曼分布(或 Gibbs 分布)诱导出概率分布:
Pθ(x)=Zθexp(−Eθ(x)),whereZθ=x~∑exp(−Eθ(x~)) 这一形式完成了一个根本转换:低能量对应高概率。模型会根据自身内部标准,把更高似然分配给它认为“好”或“兼容”的构型。
关键在于,能量函数是 未归一化的:它提供构型之间的相对排序,但如果没有配分函数 Zθ,并不能直接给出概率。这既是优点(能量函数设计灵活),也是挑战(Zθ 难以计算)。
学习目标:最大似然
给定从未知数据分布 Pdata(x) 独立采样得到的训练集 D={x(1),x(2),…,x(M)},学习目标是调整参数 θ,使模型分布 Pθ(x) 尽可能接近 Pdata。
衡量这种接近性的标准准则是 最大似然估计(MLE)。我们希望找到使观测数据在模型下概率最大的参数:
θ∗=argθmaxm=1∏MPθ(x(m))=argθmaxm=1∑MlogPθ(x(m)) 等价地,我们最小化 负对数似然:
L(θ)=−M1m=1∑MlogPθ(x(m)) 代入 Pθ 的玻尔兹曼分布形式:
logPθ(x)=−Eθ(x)−logZθ 于是负对数似然变为:
L(θ)=M1m=1∑MEθ(x(m))+logZθ 与 KL 散度的联系
MLE 目标在信息论中还有更深层的解释。最小化负对数似然 等价于 最小化数据分布到模型分布的 Kullback-Leibler(KL)散度:
它可以改写为:
其中 H(Pdata)=−Edata[logPdata(X)] 是数据分布的熵,与 θ 无关。因此,最小化 KL(Pdata∥Pθ) 等价于最大化期望对数似然 f(θ):
与 KL 散度的联系
MLE 目标在信息论中还有更深层的解释。最小化负对数似然 等价于 最小化数据分布到模型分布的 Kullback-Leibler(KL)散度:
KL(Pdata∥Pθ)=x~∑Pdata(x~)logPθ(x~)Pdata(x~) 它可以改写为:
KL(Pdata∥Pθ)=−Edata[logPθ(X)]−H(Pdata) 其中 H(Pdata)=−Edata[logPdata(X)] 是数据分布的熵,与 θ 无关。因此,最小化 KL(Pdata∥Pθ) 等价于最大化期望对数似然 f(θ)=Edata[logPθ(X)]=M1∑m=1MlogPθ(x(m))。
这个等价关系说明:MLE 本质上是在匹配分布,也就是把模型分布 Pθ 训练得在 KL 散度意义下尽可能接近经验数据分布。
几何直觉:塑造能量景观
可以把能量景观看作定义在所有构型空间上的可变形表面。初始时,该表面可能是平坦的(所有构型能量和概率相近),也可能任意褶皱。
∇f(θ)=Edata[∇logPθ(X)]=−Edata[∇Eθ(X)]−∇logZθ 学习通过反复执行两类操作进行:
∇logZθ=Zθ1x~∑exp(−Eθ(x~))∇Eθ(x~)=Eθ[∇Eθ(X)] 挖掘:在训练样本所在位置向下挖,降低能量以形成吸引盆地。
∇f(θ)=−Edata[∇Eθ(X)]+Eθ[∇Eθ(X)] 抬升:在其他区域抬高景观,防止模型给没有数据的区域分配高概率。
对数似然梯度
如果改用对数似然 f(θ) 而不是负对数似然 L(θ),梯度符号会相反:
∂wij∂f(θ)=⟨XiXj⟩data−⟨XiXj⟩model 这种对比形式,即 数据分布 下期望与 模型分布 下期望之间的差,是所有玻尔兹曼机学习算法的数学核心。第一项降低观测数据构型的能量;第二项提高模型当前认为可能的构型的能量。
特殊情形:仅含可见单元的玻尔兹曼机
对于只有可见单元、没有隐藏单元的玻尔兹曼机,梯度可以化为特别直观的形式。代入能量函数 Eθ(x)=−b⊤x−21x⊤Wx,并对权重 wij 求导,可得:
其中 ⟨XiXj⟩data 表示可见单元被固定到数据时,单元 i 和 j 活动乘积的期望(正相);⟨XiXj⟩model 表示网络从自身平衡分布自由采样时的期望乘积(负相)。这个简单表达式直接捕捉了对比学习的本质:强化数据中出现的共激活,抑制模型自身“幻想”中产生的共激活。
其中 ⟨XiXj⟩data 表示可见单元被固定到数据时,单元 i 和 j 活动乘积的期望(正相);⟨XiXj⟩model 表示网络从自身平衡分布自由采样时的期望乘积(负相)。这个简单表达式直接捕捉了对比学习的本质:强化数据中出现的共激活,抑制模型自身“幻想”中产生的共激活。
∂θ∂f=−M1m=1∑M∂θ∂Eθ(x(m))+EPθ[∂θ∂Eθ(x)] 为什么真实数据应具有低能量?
“让真实数据具有低能量”不是任意选择;它直接来自最大似然原则,以及能量与概率之间的指数关系。除了数学上的必然性,这一目标还有多个直观和实践优势:
未归一化的灵活性:设计能量函数时无需担心归一化。构型上的任意可微函数都可以作为能量,因此可融入领域知识、约束与结构化架构。
为什么真实数据应具有低能量?
“让真实数据具有低能量”不是任意选择;它直接来自最大似然原则,以及能量与概率之间的指数关系。除了数学上的必然性,这一目标还有多个直观和实践优势:
未归一化的灵活性:设计能量函数时无需担心归一化。构型上的任意可微函数都可以作为能量,因此可融入领域知识、约束与结构化架构。
自然处理不确定性:在没有观测数据的区域,模型能量可以保持较高,对应较低概率。模型不会被迫在未观测区域做出任意预测。
通过下降生成:训练完成后,可以从随机构型出发,在能量景观上执行随机下降过程生成新样本。这会产生学习分布下的典型构型。
可组合性:能量函数可以相加组合。如果 E1(x) 和 E2(x) 建模数据的不同方面,则 E1+E2 定义了一个专家乘积模型,可同时捕捉多种约束。
物理合理性:基于能量的视角把学习与退火、相变等成熟物理过程连接起来,为理解模型行为提供丰富概念词汇。
挑战:配分函数梯度
基于能量目标的优雅伴随着计算代价。梯度包含模型分布下的期望:
EPθ[∂θ∂Eθ(x)]=x~∑Pθ(x~)∂θ∂Eθ(x~) 对所有可能构型求和,对任何非平凡模型都是不可处理的。我们既无法精确计算,也无法枚举所有构型来近似它。
这种不可处理性是定义基于能量学习领域的核心计算挑战。几乎所有训练玻尔兹曼机的实用算法,都可以理解为近似这一模型期望的策略。
后续章节将深入讨论这些策略:
与判别式学习的联系
把基于能量的生成式目标与前馈分类器中更熟悉的 判别式 目标进行对比,能够进一步加深理解。
在判别模型中,例如逻辑回归或多层感知机分类器,我们直接建模条件分布 P(y∣x),而不建模输入分布 P(x)。能量函数定义在联合空间 (x,y) 上,给定输入时某个标签的概率为:
P(y∣x)=∑y′exp(−E(x,y′))exp(−E(x,y)) 关键是,此时配分函数只对固定输入 x 下的可能标签 y′ 求和。该求和通常是可处理的(例如有限类别集合)。判别式训练 不需要 对所有构型 x 的不可处理求和。
这解释了为什么判别模型在监督学习中如此成功:它们完全绕开了配分函数瓶颈。但代价是,它们无法生成新输入、补全缺失数据或从无标签样本中学习。
基于能量的生成模型接受配分函数的全部复杂性,因为它们的目标是建模整个数据分布,而不只是类别之间的决策边界。回报是模型更加丰富和灵活,能够进行无监督学习、生成以及任意方向的推断。
小结
基于能量的模型 通过 Pθ(x)∝exp(−Eθ(x)) 定义概率分布,将低能量与高概率联系起来。
学习目标是 最大似然,它分解为降低数据平均能量,同时控制配分函数。
负对数似然的梯度包含 数据项(易计算)和 模型期望(无法精确计算)。
学习可以几何地理解为 雕塑能量景观:降低数据点处的盆地,同时抬高周围地形。
模型期望的不可处理性是核心计算挑战,并推动了 对比散度 等近似方法。
生成式基于能量模型通过建模完整联合分布区别于判别模型,以配分函数不可处理性为代价,获得生成与无监督学习能力。