第 18 章:直面配分函数(Confronting the Partition Function)
无向图模型通常以未归一化概率分布 \(\tilde{p}(x; \theta)\) 的形式给出。要得到合法概率分布,必须除以配分函数 \(Z(\theta)\),即对所有状态做归一化——对连续变量是积分,对离散变量是求和。许多有趣的模型中这一归一化操作都难以处理。后续章节会看到一些深度学习模型刻意设计为配分函数 tractable,或在使用方式上回避直接计算 \(p(x)\),但仍有不少模型必须直面这一挑战。本章专门讨论这类模型的训练与评估技术。
18.1 对数似然梯度(The Log-Likelihood Gradient)
用最大似然学习无向模型的难点在于配分函数依赖于参数。对数似然关于参数的梯度可分解为两项
这就是著名的"正相"(positive phase)与"负相"(negative phase)分解。对于多数感兴趣的无向模型,负相是困难的。正相容易的典型代表是 RBM——其隐藏单元在给定可见单元时条件独立。RBM 之外的复杂情形,尤其是隐变量之间交互复杂的场景,留到第 19 章讨论;本章聚焦负相。
仔细展开 \(\nabla_{\theta} \log Z\):从定义出发将 \(Z\) 写成求和形式,交换求和与梯度即得
其中推导在连续变量情形下需使用莱布尼茨积分号下求导法则,并要求未归一化分布满足若干正则性条件(Lebesgue 可积、梯度几乎处处存在、存在可积上界函数),绝大多数实际机器学习模型均满足这些条件。
式 (18.15) 给出的是模型分布下的期望,因此提供了用蒙特卡洛方法近似求解梯度的理论基础,也为正、负相提供了直观解读:正相增大数据样本处的 \(\log \tilde{p}\),负相则通过减小模型样本处的 \(\log \tilde{p}\) 来抑制配分函数。在用能量函数 (16.7) 表达的 \(\log \tilde{p}\) 下,正相可视为压低训练样本的能量,负相则是抬高模型样本的能量。
18.2 随机最大似然与对比散度(Stochastic Maximum Likelihood and Contrastive Divergence)
最直接实现式 (18.15) 的做法是每次需要梯度时都重新初始化一组马尔可夫链并 burn in——若使用随机梯度下降,则每个梯度步都要做一次 burn in。这就是算法 18.1 的训练流程。由于内层 burn in 代价过高,这种 naive MCMC 流程在计算上不可行,但它是其他更实用算法试图逼近的起点。
直观上,算法 18.1 可视为数据分布处的上推力与模型分布处的下推力之间的平衡,分别对应最大化 \(\log \tilde{p}\) 与最小化 \(\log Z\)。模型在负相中采出的样本代表模型"强烈相信的点",常被称为"幻觉"(hallucinations)或"幻想粒子"(fantasy particles)。文献中曾用"正相-负相"的语言类比人脑做梦(Crick and Mitchison, 1983),即醒时沿 \(\log \tilde{p}\) 梯度学习真实事件,睡眠时沿负梯度最小化 \(\log Z\);这一解释虽未被神经科学实验严格证实,但机器学习中正、负相通常需要同时进行,而非分成醒时与 REM 睡眠两阶段。算法 18.1 的主要开销在于每步重新 burn in 链,自然的简化思路是让链从一个与模型分布接近的分布初始化,以减少 burn in 步数。
对比散度(CD, 或 CD-k)(Hinton, 2000, 2010)让链在每步从数据分布初始化(算法 18.2)。从数据采样代价为零。最初数据分布与模型分布相距较远,负相不太准,但正相仍能有效增大数据概率;经过若干步正相作用后,模型分布接近数据分布,负相也开始变准。CD 的主要定性缺陷是它无法压制远离训练样本的高概率区域——这些"伪模态"(spurious modes)会浪费模型的概率质量,CD 的链因只走少量 Gibbs 步而难以到达这些远端模式(参见图 18.2)。Carreira-Perpiñán 与 Hinton (2005) 实证显示 CD 估计在 RBM 与全可见玻尔兹曼机上是有偏的;Bengio 与 Delalleau (2009) 进一步指出 CD 相当于丢弃了正确 MCMC 梯度中的最小量项,从而解释了偏差。CD 适合训练 RBM 这类浅模型,并可用于堆叠初始化 DBN/DBM,但难以直接训练深度模型——因为隐单元没有在数据中,无法用训练点初始化解决。Sutskever 与 Tieleman (2010) 证明 CD 的更新方向不是任何函数的梯度,理论上可能循环,实际问题不大。CD 还可被理解为对"模型在数据点处的输入做大幅变动"的惩罚,因此训练行为与自编码器有相似之处,可被利用来预训练浅模型以便后续堆叠。
随机最大似然 / 持续对比散度(SML / PCD-k)(Younes, 1998;Tieleman, 2008)改用每步从上一步的状态继续(算法 18.3),其依据是只要随机梯度步长足够小,前一步模型与当前模型接近,链也几乎是从当前模型分布采出的公平样本,只需少量步即可混合。由于每条链在学习全程持续更新而非每步重启,SML/PCD 链可以充分游走以访问所有模态,因此对伪模态的鲁棒性显著优于 CD。Marlin 等 (2010) 比较了多种准则,发现 SML 在 RBM 测试集对数似然与隐单元 SVM 特征上均最优。SML 的弱点在于若随机梯度让模型移动快于链的混合速度(k 太小或学习率太大),负相就会失真;但目前没有形式化检测方法,只能通过观察"负相样本在不同步之间的方差远大于不同链之间的方差"等经验信号判断。Berglund 与 Raiko (2013) 实证了 CD 估计方差低(因正负相共享训练点),SML 方差高。所有 MCMC 类方法都可与第 17 章的增强采样技术(如并行回火 Desjardins et al., 2010;Cho et al., 2010)配合。
快速 PCD(FPCD, Tieleman and Hinton, 2009) 是一种不改变 MCMC 采样技术、而通过改换参数化与代价函数加速混合的方法:把传统参数 \(\theta\) 拆成"快"与"慢"两部分 \(\theta = \theta^{(\text{slow})} + \theta^{(\text{fast})}\),快部分使用大学习率以快速响应负相、推动链探索新模态;同时对快部分施加显著权重衰减,使其在经历短暂大值以鼓励跨模态之后收敛到小值。这种"快-慢"权重机制让学习期间链能快速混合,学习结束后快部分趋零、模型又退化为原始参数化。MCMC 类方法一个关键优势是它只估计 \(\log Z\) 的梯度,故可与 \(\log \tilde{p}(x)\) 上的其他方法叠加——但与基于下界的正相方法不兼容。
18.3 伪似然(Pseudolikelihood)
蒙特卡洛方法直接对配分函数及其梯度做近似。另一类方法则完全绕开配分函数,通过观察"在无向模型中概率之比易于计算"而构造——配分函数在分子分母中同时出现而消去:
条件概率恰是这种比值形式。将 \(x\) 拆为 \(a, b, c\)(分别是要预测、条件变量与查询外变量),条件概率可写为
只要 \(a\) 与 \(c\) 不太大,对 \(a\) 求和就是高效操作。极端情形下 \(a\) 是单变量、\(c\) 为空,只需对单变量所有取值做若干次 \(\tilde{p}\) 评估。问题在于计算完整对数似然需要 marginalize 出大量变量:由链式法则
每项需 marginalize 规模为 \(n-1\) 的变量集合。伪似然(Besag, 1975)将 \(c\) 并入 \(b\),构造目标函数
若每个变量取 \(k\) 个值,则只需 \(k \times n\) 次 \(\tilde{p}\) 评估,相比配分函数所需的 \(k^n\) 次评估大幅缩减。最大化伪似然是渐近一致的(Mase, 1995),但有限样本下行为可能与最大似然不同。
广义伪似然(Huang and Ogata, 2002)在计算复杂度与偏离最大似然行为之间做折中:用 \(m\) 组不同的指标集 \(S^{(i)}\) 一起出现在条件杠的左侧;\(m=1\), \(S^{(1)} = \{1, \ldots, n\}\) 时退化为对数似然,\(m=n\), \(S^{(i)} = \{i\}\) 时退化为伪似然。目标函数为
广义伪似然的性能高度依赖任务:对需要全联合 \(p(x)\) 的密度估计、采样等任务表现较差,但对训练时只用到条件分布的填补少量缺失值等任务,可能优于最大似然。若数据有规则结构使得可设计 \(S\) 集捕获主要相关性而略去可忽略相关性的变量群,广义伪似然尤其有效——例如自然图像中空间远距离像素相关性弱,可用空间局部窗口作为 \(S\) 集。
伪似然的一个弱点是不能与仅提供 \(\tilde{p}\) 下界的方法(如变分推断,第 19 章)联用——分母上的下界只能给出整体表达式的上界,最大化上界没有意义。这限制了其对深玻尔兹曼机等隐层交互复杂模型的应用,但仍可训练单层模型或使用非下界型近似推断的深度模型。每步计算所有条件分布的代价也高于 SML,但若每例只随机选一个条件来计算(Goodfellow et al., 2013b),成本可与 SML 相当。
虽然伪似然估计不显式最小化 \(\log Z\),仍可视为带有"准负相"——每个条件分布的分母项会让算法抑制所有与训练样本只差一个变量的状态。详见 Marlin 与 de Freitas (2011) 对伪似然渐近效率的理论分析。
18.4 分数匹配与比值匹配(Score Matching and Ratio Matching)
分数匹配(Hyvärinen, 2005)提供了另一种无须估计 \(Z\) 及其导数的训练一致方法。"分数"指对数密度关于其自变量的导数 \(\nabla_x \log p(x)\),目标是最小化模型分数与数据分数的均方误差
该目标绕开了对 \(Z\) 求导的难题,因为 \(Z\) 不是 \(x\) 的函数(\(\nabla_x Z = 0\))。表面上看需要数据分布的"真分数",但通过分部积分可证,最小化 \(L\) 的期望等价于最小化
从而只需对模型自身求导。分数匹配要求对 \(x\) 求导,故不适用于离散数据(但模型中的隐变量可以是离散的)。与伪似然类似,分数匹配要求能直接评估 \(\log \tilde{p}\) 及其导数,不能与仅提供下界的方法联用——下界不传递导数信息——因此不能用于稀疏编码、深玻尔兹曼机等隐单元交互复杂的模型。分数匹配可用于较大模型第一层隐层的预训练,但未作为更深层的预训练策略使用,可能是因为这些隐层常含离散变量。
分数匹配虽无显式负相,但可视为一种使用特殊马尔可夫链的对比散度(Hyvärinen, 2007a)——该链用梯度做局部移动而非 Gibbs 采样,局部步长趋于零时退化为分数匹配。Lyu (2009) 将分数匹配推广到离散情形(推导有错,Marlin et al. 2010 修正),但广义分数匹配(GSM)在高维离散空间(许多事件观测概率为 0)失效。
更成功的离散推广是比值匹配(Hyvärinen, 2007b),专为二值数据设计,最小化如下目标:
其中 \(f(x, j)\) 返回把第 \(j\) 位翻转后的 \(x\)。比值匹配消去配分函数的技巧与伪似然相同——两个概率之比中 \(Z\) 抵消。Marlin 等 (2010) 发现比值匹配在测试集去噪能力上优于 SML、伪似然与 GSM。比值匹配每数据点需要 \(n\) 次 \(\tilde{p}\) 评估,单步代价约为 SML 的 \(n\) 倍。与伪似然类似,比值匹配也可视为抑制与训练样本仅一位不同的"幻想状态"——即对所有 Hamming 距离为 1 的状态施加下推力。比值匹配对高维稀疏数据(如词频向量)尤为有用——MCMC 方法在密集表示下采样代价极高,且需先学会稀疏性才能产生稀疏样本;Dauphin 与 Bengio (2013) 设计了无偏随机近似,仅评估目标项的随机子集,无须完整幻想样本。详见 Marlin 与 de Freitas (2011) 对渐近效率的理论分析。
18.5 去噪分数匹配(Denoising Score Matching)
实践中往往希望用一个平滑分布
来正则化分数匹配,其中 \(q(x \mid y)\) 是腐蚀过程,通常对 \(y\) 加少量噪声得到 \(x\)。我们通常拿不到真实 \(p_{\text{data}}\),而只有由样本定义的经验分布;任何一致估计器在容量充足时都会把 \(p_{\text{model}}\) 拟合为以训练点为中心的 Dirac 分布族。\(q\) 的平滑作用有助于缓解这一问题,但代价是丧失第 5.4.5 节所述的渐近一致性。Kingma 与 LeCun (2010) 提出的正则化分数匹配程序使用高斯噪声作为 \(q\)。回顾第 14.5.1 节,多种自编码器训练算法等价于分数匹配或去噪分数匹配——这些自编码器训练算法因此也可视为克服配分函数问题的方法。
18.6 噪声对比估计(Noise-Contrastive Estimation)
多数估计配分函数不可处理模型的技术都不估计配分函数本身——SML 与 CD 只估计对数配分函数的梯度;分数匹配、伪似然则完全回避与配分函数相关的量。噪声对比估计(NCE, Gutmann and Hyvarinen, 2010) 走另一条路:将模型估计的概率分布显式表示为
其中 \(c\) 是显式引入的 \(-\log Z(\theta)\) 的近似;NCE 把 \(c\) 视为普通参数,与 \(\theta\) 同时估计。所得 \(\log p_{\text{model}}(x)\) 起初未必严格对应一个合法概率分布,但随 \(c\) 的估计改善而趋近合法。最大似然作为准则时会倾向于把 \(c\) 任意调大而非构造合法分布,因此 NCE 不可用最大似然做准则。
NCE 的核心思想是将无监督的 \(p(x)\) 估计问题转化为有监督的二分类问题:引入一个易求、易采样的噪声分布 \(p_{\text{noise}}(x)\),并构造在 \(x\) 与新二值类别变量 \(y\) 之上的联合模型。指定
\(y\) 是一个开关变量,决定 \(x\) 来自模型还是来自噪声。训练数据侧的联合模型类似,\(y=1\) 时 \(x\) 来自数据,\(y=0\) 时来自噪声。然后只需对"拟合 \(p_{\text{joint}}\) 到 \(p_{\text{train}}\)"这一有监督学习任务做标准最大似然
这一联合模型本质上是对模型与噪声分布对数概率之差做逻辑回归:
只要 \(\log \tilde{p}_{\text{model}}\) 易于反向传播、\(p_{\text{noise}}\) 易于求值(用于 \(p_{\text{joint}}\))与采样(用于生成训练数据),NCE 就易于应用。NCE 在少量随机变量的问题上最成功,即使每个变量取值很多也可工作良好——例如对给定上下文预测词的条件分布(Mnih and Kavukcuoglu, 2013)。在多随机变量问题中效率下降:逻辑回归分类器可以靠识别任一取值不合理的变量而拒绝噪声样本,模型学会基础边缘统计后学习速度大幅放缓——以人脸图像为例,若模型学会了"眼睛",就能拒绝几乎所有非结构化高斯噪声,而无须学"嘴"等其他特征。\(p_{\text{noise}}\) 必须易求易采样的要求也往往过强:简单的噪声样本与数据差异过显,难以为 \(p_{\text{model}}\) 的改进提供有意义的梯度。
与分数匹配、伪似然相同,NCE 在仅有 \(\tilde{p}\) 下界时失效——下界只能给出 \(p_{\text{joint}}(y=1 \mid x)\) 的下界和 \(p_{\text{joint}}(y=0 \mid x)\) 的上界,而后者占 NCE 目标一半项;\(p_{\text{noise}}\) 的下界同样无用。当 NCE 的噪声分布被替换为"每步训练前的当前模型"时,所得 自对比估计(self-contrastive estimation, Goodfellow, 2014)的期望梯度等于最大似然的期望梯度——即 NCE 是让模型不断学习"将现实与其自身演化中的信念区分开";最大似然可被解读为这一过程的极限情形,NCE 通过仅与一个固定基线(噪声模型)做区分而获得计算成本降低。以训练样本与生成样本的分类任务(用模型能量函数定义分类器)为模型提供梯度的思想在 Welling 等 (2003b) 与 Bengio (2009) 等处已有更早的形式出现。NCE 的核心思想——"好的生成模型应能区分数据与噪声"——与第 20.10.4 节生成对抗网络背后的思想("好的生成模型应能生成与数据无法区分的样本")有密切联系。
18.7 估计配分函数(Estimating the Partition Function)
本章前述方法多数回避直接计算配分函数 \(Z(\theta)\);本节转向几种直接估计配分函数的方法。估计配分函数的重要性在于:要计算数据在模型下的归一化似然,就需要它——这在模型评估、训练过程监控、模型之间比较等场景中都很常见。
设两个模型 \(M_A, M_B\) 分别定义 \(p_A(x; \theta_A) = \frac{1}{Z_A} \tilde{p}_A(x; \theta_A)\),\(p_B\) 类似。比较它们的常见做法是评估各自对独立同分布测试集 \(\{x^{(1)}, \ldots, x^{(m)}\}\) 赋予的似然:若
则 \(M_A\) 是更好的模型。但式 (18.38) 看起来需要计算配分函数。改写可得
因此只要能估计两模型配分函数之比,就可在不知各自配分函数的前提下比较二者。若还知道其中一个配分函数的真实值,由
即可得另一个。
简单重要抽样是估计配分函数的一种蒙特卡洛方法。以连续变量形式呈现(离散情形把积分换成求和),设建议分布 \(p_0(x) = \frac{1}{Z_0} \tilde{p}_0(x)\),其采样与对 \(Z_0, \tilde{p}_0\) 的求值都 tractable,则
蒙特卡洛估计为
比值估计则为
当 \(p_0\) 与 \(p_1\) 接近时该估计有效(Minka, 2005)。但多数情形下 \(p_1\) 复杂(常为多模态)且高维,难找到既易求又与 \(p_1\) 接近的 \(p_0\);若 \(p_0\) 与 \(p_1\) 不接近,多数 \(p_0\) 样本在 \(p_1\) 下概率很低,对求和贡献可忽略,仅有少数样本具显著权重,估计器因高方差而质量差。估计量的方差为
当重要权重 \(\tilde{p}_1 / \tilde{p}_0\) 偏差大时方差急剧放大。
为应对"复杂高维分布配分函数估计"这一挑战,下面两种策略应运而生——它们都从简单重要抽样出发,但通过引入中间分布弥补 \(p_0\) 与 \(p_1\) 之间的鸿沟。
18.7.1 退火重要抽样(Annealed Importance Sampling)
当 \(D_{\mathrm{KL}}(p_0 \| p_1)\) 很大(即 \(p_0\) 与 \(p_1\) 重叠少)时,退火重要抽样(AIS, Jarzynski, 1997; Neal, 2001) 通过引入中间分布序列 \(p_{\eta_0}, \ldots, p_{\eta_n}\) 弥补鸿沟,其中 \(0 = \eta_0 < \eta_1 < \cdots < \eta_{n-1} < \eta_n = 1\),序列首尾恰为 \(p_0\) 与 \(p_1\)。这一方法可估计高维多模态分布(如训练好的 RBM 定义之分布)的配分函数:从配分函数已知的简单模型(如权重为 0 的 RBM)出发,估计两模型配分函数之比——比值由一长串相邻相似分布(如权重在 0 与学习值之间插值的 RBM)的比值连乘得到。
将比值 \(Z_1 / Z_0\) 写为一系列相邻比值之积:
只要 \(p_{\eta_j}\) 与 \(p_{\eta_{j+1}}\) 足够接近,每个因子都可用简单重要抽样可靠估计,串起来即得 \(Z_1 / Z_0\) 的估计。
中间分布如何选与原建议分布一样是设计选择,常用 \(p_1\) 与 \(p_0\) 的加权几何平均
为从这些中间分布采样,定义一族马尔可夫链转移函数 \(T_{\eta_j}(x' \mid x)\),它们以 \(p_{\eta_j}\) 为不变分布;转移操作可任选 MCMC 方法(Metropolis-Hastings、Gibbs 等)。AIS 的采样策略是:从 \(p_0\) 出发,沿转移算子依次生成中间分布样本,直到 \(p_1\)——对每个样本 \(k\):
- \(x_{\eta_1}^{(k)} \sim p_0(x)\)
- \(x_{\eta_2}^{(k)} \sim T_{\eta_1}(x_{\eta_2}^{(k)} \mid x_{\eta_1}^{(k)})\)
- \(\ldots\)
- \(x_{\eta_n}^{(k)} \sim T_{\eta_{n-1}}(x_{\eta_n}^{(k)} \mid x_{\eta_{n-1}}^{(k)})\)
样本 \(k\) 的重要权重是相邻中间分布之间跳跃权重的链式之积:
为避免数值溢出,最好用加减对数概率的方式计算 \(\log w^{(k)}\)。配分函数之比的估计量为这些权重的平均:
可证明(Neal, 2001)AIS 等价于在扩展状态空间 \([x_{\eta_1}, \ldots, x_{\eta_{n-1}}, x_1]\) 上做简单重要抽样——扩展空间上的目标分布为
其中 \(\tilde{T}_a\) 是 \(T_a\) 的逆(由 Bayes 法则 \(T_a\) 与比率 \(p_a(x')/p_a(x)\) 给出)
联合建议分布
由此得到的重要性权重恰与 AIS 提出的权重 (18.52) 一致——AIS 即为扩展空间上的简单重要抽样,其合法性直接由重要抽样的合法性推出。
AIS 由 Jarzynski (1997) 与 Neal (2001) 各自独立发现,目前是估计无向概率模型配分函数最常用的方法。这一流行部分源于 Salakhutdinov 与 Murray (2008) 关于用 AIS 估计 RBM 与 DBN 配分函数的有影响力论文。AIS 估计量的性质(方差、效率等)讨论见 Neal (2001)。
18.7.2 桥梁抽样(Bridge Sampling)
桥梁抽样(Bennett, 1976)同 AIS 一样针对重要抽样的不足。与 AIS 链式衔接多个中间分布不同,桥梁抽样依赖单一桥梁分布 \(p^*\) 插值于已知配分函数的 \(p_0\) 与待估配分函数 \(Z_1\) 的 \(p_1\) 之间,比值估计为
若桥梁分布与 \(p_0\)、\(p_1\) 都有较大支持重叠,桥梁抽样可允许的 \(D_{\mathrm{KL}}(p_0 \| p_1)\) 比标准重要抽样大得多。可证最优桥梁分布为
其中 \(r = Z_1 / Z_0\)——但这似乎要已知所求量本身。解决办法是迭代:先给 \(r\) 一个粗估,用所得桥梁分布重新估计 \(r\);反复迭代即可逐步精化估计(Neal, 2005)。
链接重要抽样(Neal, 2005)结合两种方法的优势:若 \(D_{\mathrm{KL}}(p_0 \| p_1)\) 不太大(\(p_0, p_1\) 充分接近),桥梁抽样在估计配分函数之比上比 AIS 更有效;若 \(p_0, p_1\) 相距过远、单一 \(p^*\) 无法衔接,AIS 仍可用多个中间分布跨越差距。链接重要抽样用桥梁抽样策略衔接 AIS 的中间分布,从而显著改善整体配分函数估计。
训练中估计配分函数——尽管 AIS 已成为多种无向模型配分函数估计的标准方法,但计算上仍过重,难以在训练过程中实时使用。Desjardins 等 (2011) 设计了一种跟踪 RBM 训练过程中配分函数的方案:组合桥梁抽样、短链 AIS 与并行回火,在并行回火方案的每条温度链上维护独立的配分函数估计,对相邻链配分函数之比用桥梁抽样估计,跨时间步用 AIS 估计,从而在学习的每一次迭代都给出低方差配分函数估计。
本章所介绍的工具为克服配分函数不可处理问题提供了多种途径,但训练与使用生成模型还有其他困难——其中首要的是推断不可处理问题,这将是下一章的主题。
本章个人批注
本章是 Goodfellow 三大难处理问题(配分函数、推断、采样)中"配分函数"问题的总览与解药清单。读完后脑子里浮现一张方法谱系图:直接对配分函数下手的有简单重要抽样 → AIS / 桥梁抽样;绕过配分函数的又分两类:基于 MCMC 的负相近似(CD → SML/PCD → FPCD),以及基于条件概率之比消去 \(Z\) 的方法(伪似然 / 分数匹配 / 比值匹配 / 去噪分数匹配 / NCE)。
一个值得反复回味的概念区分:正相-负相分解与"醒时-REM 睡眠"类比。文献中常把负相比作做梦(降低模型自身样本的能量),但作者明确指出这是类比而非严格神经科学结论,且机器学习中正负相必须同时进行。这一节让我意识到,把无向模型学习理解为"两股力量的平衡"是一个非常本质的几何直觉——参见图 18.1 那个简单却传神的两块 p(x) 图。
另一个让我印象深刻的点是SML/PCD 之所以比 CD 好,关键不在于新算法多了什么"高深"步骤,而在于一个朴素的洞察:既然 SGD 步长小,前一步模型和当前模型接近,那前一步的链状态拿来当本次链的初值即可——这一招直接解决了 CD "链从数据点出发、跑少量步就到不了远端伪模态"的核心问题。Tieleman 2008 是 PCD 名字的来源,而 Younes 1998 早已在统计学界独立发现 SML——这种"同一想法在两个社区各自被发现"的故事,本身就是配分函数估计问题普适性的佐证。
FPCD 的"快-慢权重"则是另一种风格:用参数化的技巧而非采样技巧去加速链混合——把参数拆成慢/快两半,快部分大学习率、显著权重衰减,让链在训练期间被"踢"出局部模态。这与第 17 章讲的"在采样算法上做文章"形成对比:FPCD 是在模型上做文章,巧妙但代价是要维护两套参数。
伪似然一族的"比值消去 \(Z\)"思路很优雅,但作者点出了它的致命限制:因为分母上出现 \(\tilde{p}\),不能与仅提供下界的方法(变分推断)联用——这意味着伪似然难以用于 DBM 这类隐层多且交互复杂的模型。这一条直接给出了第 19 章"为什么变分推断必须另起炉灶"的一个伏笔。
分数匹配族的关键限制也是求导:对 \(x\) 求导天然不适用于离散数据(但模型中的隐变量可离散);广义分数匹配在高维离散空间也失效。比值匹配是离散情形的成功替代——专为二值数据设计,作用范围是"与训练点 Hamming 距离 1 的所有幻想状态"。Dauphin 与 Bengio 2013 针对高维稀疏词向量的"无偏随机近似"则是把比值匹配从"评估全部 \(n\) 项"压缩到"评估随机子集"的工程化收尾。
NCE 的视角转换最有趣:把无监督密度估计重铸为有监督二分类——让模型学着把数据与噪声样本分开;这样在估计 \(p_{\text{model}}\) 时顺便估出 \(c \approx -\log Z\)。从最大似然角度,引入额外参数 \(c\) 会让 ML 准则失灵(只会把 \(c\) 调大),所以 NCE 必须配上有监督判别准则。作者接着点出"自对比估计"是 NCE 的极端情形(噪声分布 = 当前模型),其期望梯度等于最大似然梯度——这是把 NCE 重新"接回"ML 的桥梁。最后一段把 NCE 与 GAN(第 20.10.4 节)的对比"数据 vs 噪声"对照"数据 vs 模型生成样本",是通向后两章的清晰桥梁。
第 18.7 节起笔于一个具体动机——模型选择需要归一化似然——并由此引出"配分函数之比"的核心工具:测模型对比只需求 \(Z_A/Z_B\),无需 \(Z_A, Z_B\) 各自。然后从简单重要抽样的高方差问题出发,引入两条互补路径:AIS 用"链式中间分布"(适合 \(D_{\mathrm{KL}}\) 大),桥梁抽样用"单一桥梁分布"(适合 \(D_{\mathrm{KL}}\) 不太大),链接重要抽样把两者结合。AIS 的"扩展状态空间上做简单重要抽样"这一等价性证明很漂亮——它把看似复杂的链式方法"还原"为基础重要抽样,合法性立即可证。桥梁抽样的"最优 \(p^*\) 需知 \(r\)、通过迭代自洽"也是同一思想的优雅变体。
最后那句"训练中估计配分函数"小节让我意识到,配分函数估计的计算代价始终是制约其工程实用性的瓶颈——AIS 至今仍是训练后评估的标配,却不能塞进训练循环;Desjardins 等的工作说明只有把桥梁抽样、短链 AIS、并行回火三种工具拼起来,才能勉强跟踪 RBM 训练中的 \(Z\)。
与上下章的衔接(一段话)
第 17 章讲了蒙特卡罗方法的基本工具——采样、重要性抽样、Metropolis-Hastings、Gibbs、混合诊断、并行回火;本章把这些采样工具用于无向模型最大似然学习中最棘手的一环:负相中的 \(E_{p_{\text{model}}}[\nabla_\theta \log \tilde{p}(x)]\)。作者开篇即将无向模型学习的困难聚焦于"配分函数依赖参数"这一独特性,并直接复用第 17 章的工具箱:SML/PCD 用持续链采 \(p_{\text{model}}\)、CD 用数据初始化短链、FPCD 用并行回火等"增强 MCMC"加速链混合——同一族 MCMC 技术在不同抽象层上出现。第 18.7 节进一步把第 17 章的"重要性抽样"工具直接搬进配分函数之比的估计,引出 AIS(链式中间分布)与桥梁抽样(单一桥梁)。可以说第 18 章是第 17 章 MCMC 工具在无向模型最大似然学习这一具体战场上的总应用。
第 19 章将转向无向模型学习的另一大难处理问题——推断不可处理(intractable inference),即 marginal \(p(h \mid v)\) 或后验 \(p(h \mid v)\) 难以直接计算;这与本章的配分函数不可处理是相对独立的两条战线,但作者用一段过渡语指出"训练和使用生成模型还有其他困难,首要的是推断不可处理"——意味着第 18 章的"配分函数工具"和第 19 章的"推断工具"将在第 20 章的深度生成模型(VAE、GAN、自回归、归一化流等)中汇合。第 18 章末段对 NCE 与 GAN 的"判别真实 vs 噪声/模型样本"思想桥接,也正是这一汇合的预演。