3.2 难以精确处理的配分函数问题#

3.1 定义目标:让真实数据具有低能量 介绍了基于能量模型的最大似然目标,并指出负对数似然梯度包含模型分布下的期望项。该期望需要对所有可能构型求和,而这一求和正由 配分函数 ZθZ_\theta 编码。本节讨论为什么配分函数在计算上不可处理,这种不可处理性对学习和推断意味着什么,以及为什么它构成了玻尔兹曼机和更广义基于能量模型的核心算法挑战。

配分函数:定义及其含义#

回顾包含二值单元 x{0,1}N\mathbf{x} \in \{0,1\}^N 的玻尔兹曼机配分函数定义:

Zθ=x~{0,1}Nexp(Eθ(x~))Z_\theta = \sum_{\tilde{\mathbf{x}} \in \{0,1\}^N} \exp\left(-E_\theta(\tilde{\mathbf{x}})\right)

该求和遍历长度为 NN所有 2N2^N 个可能二值向量。对于一个仅有 N=100N=100 个可见单元的小型网络(按现代标准只是 10×1010 \times 10 像素的小图像),求和项数为:

21001.27×10302^{100} \approx 1.27 \times 10^{30}

为了理解这个数量级:

  • 可观测宇宙中恒星数量估计约为 102210^{22}102410^{24}

  • 宇宙年龄约为 4.35×10174.35 \times 10^{17} 秒。

  • 即使每秒能评估一万亿(101210^{12})个构型,枚举 21002^{100} 个构型所需时间也会超过宇宙年龄的 101010^{10} 倍。

N=100N = 100 仍然非常小。现实中的玻尔兹曼机和受限玻尔兹曼机通常包含数百个可见单元,以及数百或数千个隐藏单元,状态空间规模为 2Nvis+Nhid2^{N_{\text{vis}} + N_{\text{hid}}}。配分函数随单元数量 指数增长

为什么配分函数重要#

配分函数在三个关键场景中出现:

  1. 概率评估

Pθ(x)=exp(Eθ(x))ZθP_\theta(\mathbf{x}) = \frac{\exp(-E_\theta(\mathbf{x}))}{Z_\theta}

若要计算特定构型的概率 Pθ(x)P_\theta(\mathbf{x}),必须用 ZθZ_\theta 归一化玻尔兹曼因子:

  1. 没有 ZθZ_\theta,我们只有未归一化分数。这意味着无法直接计算测试数据似然,模型比较和超参数调优都会变得困难。

f(θ)=Edata[Eθθ]+Emodel[Eθθ]\nabla f(\theta) = -\mathbb{E}_{\text{data}} \left[ \frac{\partial E_\theta}{\partial \theta} \right] + \mathbb{E}_{\text{model}} \left[ \frac{\partial E_\theta}{\partial \theta} \right]

通过梯度下降学习

3.1 定义目标:让真实数据具有低能量 所述,负对数似然梯度可分解为数据项和模型项:

模型期望 Emodel[]\mathbb{E}_{\text{model}}[\cdot] 是模型分布 PθP_\theta 下的平均:

Emodel[Eθθ]=x~Pθ(x~)Eθ(x~)θ=1Zθx~exp(Eθ(x~))Eθ(x~)θ\mathbb{E}_{\text{model}} \left[ \frac{\partial E_\theta}{\partial \theta} \right] = \sum_{\tilde{\mathbf{x}}} P_\theta(\tilde{\mathbf{x}}) \frac{\partial E_\theta(\tilde{\mathbf{x}})}{\partial \theta} = \frac{1}{Z_\theta} \sum_{\tilde{\mathbf{x}}} \exp(-E_\theta(\tilde{\mathbf{x}})) \frac{\partial E_\theta(\tilde{\mathbf{x}})}{\partial \theta}

分子和分母都涉及对所有 2N2^N 个构型求和,因此精确梯度计算不可行。

  1. 采样与推断

配分函数作为自由能屏障#

在统计物理中,配分函数与 Helmholtz 自由能 F=logZF = -\log Z 密切相关。

(为简化记号,令 kBT=1 k_B T = 1。)自由能概括了能量与熵之间的平衡。对于带隐藏单元 h\mathbf{h} 的玻尔兹曼机中给定可见构型 v\mathbf{v}自由能 类似地定义为:

于是可见向量的概率为:

Pθ(v)=exp(Fθ(v))v~exp(Fθ(v~))P_\theta(\mathbf{v}) = \frac{\exp(-F_\theta(\mathbf{v}))}{\sum_{\tilde{\mathbf{v}}} \exp(-F_\theta(\tilde{\mathbf{v}}))}.

即便隐藏单元已经被边缘化,分母仍然需要对所有 2Nvis2^{N_{\text{vis}}} 个可见构型求和。不可处理性仍然存在。

后果:精确最大似然不可能#

其中 S\mathbf{S} 是充分统计量向量,例如 XiX_iXiXjX_i X_j。这意味着 Hessian 是负定的,优化问题是 的:当所有单元均可见时,不存在非全局局部极小值。

然而,引入隐藏单元后,Hessian 变为:

驯服不可处理性的近似策略#

面对这一屏障,研究者发展出多类近似策略。理解这些策略对于把握基于能量学习的技术版图至关重要。

2f(θ)=Covθ(S)\nabla^2 f(\theta) = -\text{Cov}_\theta(\mathbf{S})

其中 S\mathbf{S} 是充分统计量向量(例如 XiX_iXiXjX_i X_j)。这意味着 Hessian 是负定的,优化问题是 的;当所有单元都可见时,不存在非全局的局部极小值。

然而,当引入隐藏单元后,Hessian 变为:

2f(θ)=Etarget[Covθ(SX)]Covθ(S)\nabla^2 f(\theta) = \mathbb{E}_{\text{target}}[\text{Cov}_\theta(\mathbf{S}|\mathbf{X})] - \text{Cov}_\theta(\mathbf{S})

第一项是在给定可见单元时的条件协方差,第二项是模型分布下的无条件协方差。这个表达式 不一定 是负半定的,这意味着存在隐藏单元时 对数似然不是凹函数。因此,基于梯度的方法可能收敛到局部最优,学习到的模型质量强烈依赖初始化与优化算法。

驯服不可处理性的近似策略#

面对这一障碍,研究者发展出几类近似策略。理解这些策略,对于把握基于能量学习的技术图景非常重要。

  1. 基于采样的近似 不对所有构型求和,而是使用 MCMC 从模型分布中 采样 构型。模型期望随后用样本经验平均来近似:

Emodel[Eθθ]1Kk=1KEθ(x~(k))θ,x~(k)Pθ\mathbb{E}_{\text{model}} \left[ \frac{\partial E_\theta}{\partial \theta} \right] \approx \frac{1}{K} \sum_{k=1}^K \frac{\partial E_\theta(\tilde{\mathbf{x}}^{(k)})}{\partial \theta}, \quad \tilde{\mathbf{x}}^{(k)} \sim P_\theta

难点在于,无偏样本要求每个梯度步骤都把 Markov 链运行到平衡,这非常慢。对比散度(见 3.3对比散度)和 持久对比散度 通过从数据或先前模型状态初始化短MCMC 链来缓解这一问题。

  1. 变分近似 变分方法用来自受限族的、更简单且可处理的 变分分布 QϕQ_\phi 替代不可处理的模型分布 PθP_\theta。通过优化参数 ϕ \phi,使 QϕQ_\phi 在 Kullback-Leibler 散度意义下尽可能接近 PθP_\theta。这把学习问题转化为同时关于 θ \thetaϕ\phi 的优化。

虽然变分方法为对数似然提供严格下界,但通常需要强独立性假设(例如均值场近似),这可能限制模型表达能力。

  1. 架构约束 通过限制玻尔兹曼机的连接模式,可以让某些计算变得可处理。受限玻尔兹曼机(RBM) 是最著名的例子。它去除了可见-可见和隐藏-隐藏连接,使条件分布 P(hv)P(\mathbf{h} \mid \mathbf{v})P(vh)P(\mathbf{v} \mid \mathbf{h}) 分解为独立 Bernoulli 分布的乘积。这允许高效 Gibbs 采样,并支持对比散度算法。

  2. Score Matching 与噪声对比估计 这些是完全绕开配分函数的替代训练准则。Score matching 通过匹配模型和数据对数密度梯度来最小化 Fisher 散度,不需要 ZθZ_\theta噪声对比估计(NCE) 把无监督学习问题转化为区分数据样本与噪声样本的监督逻辑回归任务,其中配分函数成为可学习参数。

  3. 退火重要性采样 对于模型评估(而非训练),退火重要性采样(AIS) 提供了 ZθZ_\theta 的无偏估计。它通过一系列中间分布,把简单基准分布(如均匀分布)逐步转化为模型分布,并使用重要性权重校正采样偏差。AIS 计算代价较高,但在需要精确似然评估的生成模型中是黄金标准。

深度学习时代的配分函数#

值得注意的是,配分函数的不可处理性并非玻尔兹曼机独有。许多现代深度生成模型也面临类似挑战:

  • 生成对抗网络(GANs) 使用不需要似然评估的对抗训练准则,从而完全避开配分函数。

  • 变分自编码器(VAEs) 使用变分下界来绕开配分函数。

  • 归一化流(Normalizing Flows) 通过架构设计让 Jacobian 行列式(类似于 ZθZ_\theta 的项)可处理。

  • 扩散模型(Diffusion Models) 学习反转逐步加噪过程,其训练目标只涉及可处理的条件分布。

因此,玻尔兹曼机与配分函数的斗争,预示了深度生成建模中的核心主题:表达能力与可处理归一化之间的张力。

小结#

  • 配分函数 Zθ=xexp(Eθ(x))Z_\theta = \sum_{\mathbf{x}} \exp(-E_\theta(\mathbf{x})) 是对指数数量构型的求和,因此非平凡模型无法精确计算。

  • ZθZ_\theta 的不可处理性阻碍了精确 概率评估、精确 梯度计算 和高效精确 采样

  • 这一计算屏障意味着一般玻尔兹曼机无法进行 精确最大似然学习

  • 近似策略包括:基于采样(MCMC、对比散度)、变分方法(均值场)、架构约束(RBM)以及 替代目标(score matching、NCE)。

  • 这一计算屏障意味着一般玻尔兹曼机无法进行 精确最大似然学习

  • 近似策略包括:基于采样(MCMC、对比散度)、变分方法(均值场)、架构约束(RBM)以及 替代目标(score matching、NCE)。