4.1 经典玻尔兹曼机:可见单元与隐藏单元的对称性#

前几章建立了统计物理、循环神经动力学和基于能量学习的理论基础,这些最终汇聚到 玻尔兹曼机。本节介绍 Geoffrey Hinton 和 Terrence Sejnowski 于 1985 年提出的经典全连接玻尔兹曼机架构。我们将考察它的结构、概率语义、塑造能量景观的学习算法,以及促成受限变体发展的实践局限。

架构:全连接随机网络#

经典玻尔兹曼机是由 随机二值单元 组成的循环神经网络。每个单元 xix_i 有两种状态:激活(1)或非激活(0)。这些单元被划分为两组:

  • 可见单元 v{0,1}Nv\mathbf{v} \in \{0,1\}^{N_v}:与外部世界交互,在训练时接收数据,表示感兴趣的观测变量。

  • 隐藏单元 h{0,1}Nh\mathbf{h} \in \{0,1\}^{N_h}:内部潜变量,用于捕捉可见数据中未直接观测到的高阶结构和依赖关系。

关键是,经典玻尔兹曼机是 全连接 的:无论单元是可见还是隐藏,每个单元都与其他所有单元对称连接。权重矩阵 W\mathbf{W} 是大小为 N×NN \times N 的方阵,其中 N=Nv+NhN = N_v + N_h,并满足:

wij=wji,for all i,jw_{ij} = w_{ji}, \quad \text{for all } i, j

该对称条件保证存在定义良好的能量函数,并确保随机动力学收敛到平衡分布。自连接被禁止(wii=0 w_{ii} = 0 ),因为它们只会给能量添加常数偏移,不会影响驱动采样的条件分布。

每个单元还具有 偏置 bib_i,可解释为来自始终激活单元的连接,或作用于该单元的外场。

能量函数#

联合构型 (v,h)(\mathbf{v}, \mathbf{h}) 的能量定义为:

E(v,h)=ivisbivijhidcjhji<jwijxixjE(\mathbf{v}, \mathbf{h}) = -\sum_{i \in \text{vis}} b_i v_i - \sum_{j \in \text{hid}} c_j h_j - \sum_{i<j} w_{ij} x_i x_j

其中 x=(v,h)\mathbf{x} = (\mathbf{v}, \mathbf{h}) 表示完整状态向量,bib_i 是可见偏置,cjc_j 是隐藏偏置。对 i<ji<j 的求和覆盖所有不同单元对,包括可见-可见、可见-隐藏和隐藏-隐藏。

该能量函数通过玻尔兹曼分布定义所有 2N2^{N} 个可能状态上的联合概率:

P(v,h)=1Zexp(E(v,h))P(\mathbf{v}, \mathbf{h}) = \frac{1}{Z} \exp\left(-E(\mathbf{v}, \mathbf{h})\right)

其中配分函数 ZZ 对所有联合构型求和:

Z=v~,h~exp(E(v~,h~))Z = \sum_{\tilde{\mathbf{v}}, \tilde{\mathbf{h}}} \exp\left(-E(\tilde{\mathbf{v}}, \tilde{\mathbf{h}})\right)

单独观测可见向量 v\mathbf{v} 的概率,通过对隐藏单元边缘化得到:

P(v)=h~P(v,h~)=1Zh~exp(E(v,h~))P(\mathbf{v}) = \sum_{\tilde{\mathbf{h}}} P(\mathbf{v}, \tilde{\mathbf{h}}) = \frac{1}{Z} \sum_{\tilde{\mathbf{h}}} \exp\left(-E(\mathbf{v}, \tilde{\mathbf{h}})\right)

随机动力学与平衡#

网络作为 随机动力系统 运行。每个时间步随机选择一个单元,并根据其他所有单元状态给定时的条件分布采样其新状态。对单元 ii,其激活概率为:

P(xi=1xi)=σ(jiwijxj+bi)P(x_i = 1 \mid \mathbf{x}_{-i}) = \sigma\left( \sum_{j \neq i} w_{ij} x_j + b_i \right)

其中 σ(z)=1/(1+exp(z))\sigma(z) = 1/(1 + \exp(-z)) 是 sigmoid 函数,xi\mathbf{x}_{-i} 表示除 ii 外所有单元状态。

由于权重对称,该更新规则相对于 1.2 玻尔兹曼分布与平衡 中定义的玻尔兹曼分布满足细致平衡。因此,只要网络运行足够长时间(许多异步更新),状态序列就构成一条 Markov 链,其平稳分布正是 P(v,h)P(\mathbf{v}, \mathbf{h})。这一性质是玻尔兹曼机推断和学习的基石。

学习目标:带隐藏变量的最大似然

学习目标是调整权重和偏置,使可见单元上的边缘分布 P(v)P(\mathbf{v}) 近似训练数据的经验分布。根据 3.1 定义目标:让真实数据具有低能量 推导,单个训练样本 v\mathbf{v} 关于权重 wijw_{ij} 的负对数似然梯度为:

学习目标:带隐藏变量的最大似然#

学习目标是调整权重和偏置,使可见单元上的边缘分布 P(v)P(\mathbf{v}) 近似训练数据的经验分布。根据 3.1 定义目标:让真实数据具有低能量 推导,单个训练样本 v\mathbf{v} 关于权重 wijw_{ij} 的负对数似然梯度为:

(logP(v))wij=Ehv[xixj]EP(v,h)[xixj]\frac{\partial \left( -\log P(\mathbf{v}) \right)}{\partial w_{ij}} = \mathbb{E}_{\mathbf{h} \mid \mathbf{v}} \left[ x_i x_j \right] - \mathbb{E}_{P(\mathbf{v}, \mathbf{h})} \left[ x_i x_j \right]

第一项是在可见单元被 固定(clamped) 到训练样本 v\mathbf{v}、隐藏单元按条件分布涨落时,两个连接单元活动乘积的期望。这是 正相清醒阶段 统计量。

第二项是网络在没有外部输入时 自由(free) 运行、从自身平衡分布采样时的期望。这是 负相睡眠阶段 统计量。

学习规则因此为:

Δwij=η(xixjclampedxixjfree)\Delta w_{ij} = \eta \left( \langle x_i x_j \rangle_{\text{clamped}} - \langle x_i x_j \rangle_{\text{free}} \right)

其中 η\eta 是学习率。偏置可视为来自始终开启、状态为 1 的单元的权重,并以类似方式更新。

清醒-睡眠算法:生物学隐喻#

学习规则的两阶段性质给出了一个有吸引力的生物学隐喻。在 清醒阶段 中,网络由感官输入驱动(可见单元固定到数据)。隐藏单元响应该输入,记录相关性 xixjclamped\langle x_i x_j \rangle_{\text{clamped}}。这些相关性会增强对真实世界刺激共同活跃的单元之间的连接,这是 Hebbian 过程。

睡眠阶段 中,网络与感官输入断开,并通过自由运行从平衡分布中生成自身的“幻想”。该阶段记录的相关性 xixjfree\langle x_i x_j \rangle_{\text{free}} 用于削弱模型内部幻想中伪共同活跃的连接,这是反 Hebbian 过程,可防止网络生成数据中不存在的模式。

清醒阶段与睡眠阶段统计量之差驱动学习。这种 对比 Hebbian 学习 优雅地结合了局部突触更新和全局目标。

计算瓶颈:平衡采样#

尽管理论优雅,经典玻尔兹曼机存在严重实践限制:在两个阶段都需要从平衡分布采样,这在计算上代价极高

在固定阶段,需要从 P(hv)P(\mathbf{h} \mid \mathbf{v}) 中采样隐藏状态。由于隐藏单元彼此全连接,在给定可见单元后并不会条件独立。精确计算条件分布需要对所有 2Nh2^{N_h} 个隐藏构型求和,对非平凡 NhN_h 不可处理。因此必须在隐藏单元上运行 Markov 链直到平衡;若能量景观存在高能垒,这会非常缓慢。

在自由阶段情况更糟:必须在 所有 NN 个单元上运行 Markov 链,直到联合分布达到平衡。链的混合时间随网络规模恶化;对大网络而言,获得无偏样本实际上不可行。

无约束连接:双刃剑#

全连接架构赋予经典玻尔兹曼机理论威力:只要隐藏单元足够多,它是二值向量概率分布的 通用近似器。隐藏-隐藏连接允许模型捕捉更复杂的高阶依赖。

但同一连接结构也是计算不可处理性的来源。给定可见单元后,隐藏单元不条件独立;给定隐藏单元后,可见单元也不条件独立。每个采样步骤都需要从 所有 其他可见和隐藏单元计算总输入,Markov 链必须在大小为 2N2^N 的状态空间中混合。

实践中,在 20 世纪 80 和 90 年代的计算资源下,经典玻尔兹曼机只能用于很小的玩具问题。直到引入能够显著简化采样过程的架构限制,它才从理论构想走向实用工具。

前进方向:受限架构#

经典玻尔兹曼机的局限促成了关键架构创新:受限玻尔兹曼机(RBM)。通过移除所有可见-可见和隐藏-隐藏连接,RBM 使一层单元在给定另一层时条件独立。这一看似微小的改变具有深远计算后果:

  • 正相采样:给定可见单元后,隐藏单元相互独立,可在一步内并行采样,不需要 Markov 链。

  • 负相采样:块 Gibbs 采样在“给定可见单元更新所有隐藏单元”和“给定隐藏单元更新所有可见单元”之间交替。虽然仍需多次迭代才能达到平衡,但每次迭代快速且可并行。

RBM 结合 对比散度 近似(3.3 对比散度),把玻尔兹曼机从理论构造转化为无监督特征学习的实用工具。经典玻尔兹曼机因此可视为概念基础,是更可处理变体所来源的“柏拉图式理想”。

回顾:经典玻尔兹曼机#

经典玻尔兹曼机体现了基于能量的生成式建模核心原则:

  • 架构:由随机二值单元组成的全连接、对称、循环网络,划分为可见集合与隐藏集合。

  • 能量函数:定义在所有单元上的二次形式,参数为权重和偏置。

  • 动力学:异步随机更新,收敛到玻尔兹曼平衡分布。

  • 学习:由固定(wake)和自由运行(sleep)相关性差异驱动的对比 Hebbian 更新。

  • 局限:在全连接图上进行平衡采样,使除最小网络外的精确训练在计算上不可处理。

下一节介绍 受限玻尔兹曼机,它通过施加结构约束显著降低采样复杂度,同时保留经典模型的大部分表达能力。

小结#

  • 经典玻尔兹曼机 是具有对称权重和随机二值单元的全连接无向概率图模型。

  • 单元分为 可见(观测数据)和 隐藏(潜在特征)两组,所有单元之间全连接。

  • 能量函数定义联合玻尔兹曼分布,随机更新保证收敛到平衡。

  • 学习遵循 对比 Hebbian 规则:可见单元固定到数据时根据相关性增强权重,网络自由运行时根据相关性削弱权重。

  • 全连接架构使 精确推断和平衡采样不可处理,限制了实际应用。

  • 经典玻尔兹曼机的计算瓶颈推动了 受限玻尔兹曼机(RBM) 的发展,后者通过移除部分连接实现高效采样。