深度生成模型 - 玻尔兹曼机(BM)篇

前言

玻尔兹曼机( Boltzmann Machine, BM \text{Boltzmann Machine, BM} Boltzmann Machine, BM)作为计算机科学技术领域的一个重要概念,自 2018 2018 2018年被全国科学技术名词审定委员会公布以来,便因其独特的网络结构和训练方式而受到广泛关注。作为一种由二值随机神经元构成的两层对称连接神经网络,玻尔兹曼机不仅借鉴了模拟退火的思想,还在学习(训练)阶段和运行(预测)阶段展现了与其他神经网络截然不同的特性。

序言

在训练阶段,玻尔兹曼机不是基于某种确定性算法调整权值,而是按某种概率分布进行修改。这种随机性使得玻尔兹曼机在每次训练时都能对权值进行微调,从而逐渐逼近最优解。而在预测阶段,玻尔兹曼机的状态转移也不是基于确定性的网络方程,而是由概率分布决定。这种特性使得玻尔兹曼机在处理不确定性问题时具有更高的灵活性和鲁棒性。

玻尔兹曼机(BM)

  • 玻尔兹曼机最初作为一种广义的 “联结主义’’ 引入,用来学习二值向量上的任意概率分布:

    • Fahlman et al., 1983 \text{Fahlman et al., 1983} Fahlman et al., 1983
    • Ackley et al., 1985 \text{Ackley et al., 1985} Ackley et al., 1985
    • Hinton et al., 1984b \text{Hinton et al., 1984b} Hinton et al., 1984b
    • Hinton and Sejnowski, 1986 \text{Hinton and Sejnowski, 1986} Hinton and Sejnowski, 1986
  • 玻尔兹曼机的变体(包含其他类型的变量)早已超过了原始玻尔兹曼机的流行程度。

  • 在本篇中,我们简要介绍二值玻尔兹曼机并讨论训练模型和执行推断时出现的问题。

  • 我们在 d d d维二值随机向量 x ∈ { 0 , 1 } d \boldsymbol{x}\in \{0,1\}^d x{ 0,1}d上定义玻尔兹曼机。玻尔兹曼机是一种基于能量的模型(深度学习中的结构化概率模型 - 使用图来描述模型结构篇 - 基于能量的模型),意味着我们可以使用能量函数定义联合概率分布:
    P ( x ) = e ( − E ( x ) ) Z P(\boldsymbol{x})=\displaystyle\frac{e^{\left(-E(\boldsymbol{x})\right)}}{Z} P(x)=Ze(E(x)) — 公式1 \quad\textbf{---\footnotesize{公式1}} 公式1

  • 其中 E ( x ) E(\boldsymbol{x}) E(x) 是能量函数, Z Z Z 是确保 ∑ x P ( x ) = 1 \sum_x P (\boldsymbol{x}) = 1 xP(x)=1 的配分函数。 玻尔兹曼机的能量函数如下给出:
    E ( x ) = − x ⊤ U x − b ⊤ x E(\boldsymbol{x})=-\boldsymbol{x}^\top\boldsymbol{Ux}-\boldsymbol{b}^\top \boldsymbol{x} E(x)=xUxbx — 公式2 \quad\textbf{---\footnotesize{公式2}} 公式2

  • 其中 U \boldsymbol{U} U 是模型参数的 ‘‘权重’’ 矩阵, b \boldsymbol{b} b 是偏置向量。

  • 在一般设定下,给定一组训练样本,每个样本都是 n n n 维的。

    • 公式1描述了观察到的变量的联合概率分布。
    • 虽然这种情况显然可行,但它限制了观察到的变量和权重矩阵描述的变量之间相互作用的类型。
    • 具体来说,这意味着一个单元的概率由其他单元值的线性模型( 逻辑回归)给出。
  • 当不是所有变量都能被观察到时, 玻尔兹曼机变得更强大。

    • 在这种情况下, 潜变量类似于多层感知机中的隐藏单元,并模拟可见单元之间的高阶交互。
    • 正如添加隐藏单元将逻辑回归转换为 MLP \text{MLP} MLP,导致 MLP \text{MLP} MLP成为函数的通用逼近器,具有隐藏单元的玻尔兹曼机不再局限于建模变量之间的线性关系。
    • 相反, 玻尔兹曼机变成了离散变量上概率分布律函数的通用逼近器 ( Le Roux and Bengio, 2008 \text{Le Roux and Bengio, 2008} Le Roux and Bengio, 2008)。
  • 形式地,我们将单元 x \boldsymbol{x} x 分解为两个子集:可见单元 v \boldsymbol{v} v 和潜在(或隐藏)单元 h \boldsymbol{h} h。能量函数变为:
    E ( v , h ) = − v ⊤ R v − v ⊤ W h − h ⊤ S h − b ⊤ v − c ⊤ h E(\boldsymbol{v},\boldsymbol{h})=-\boldsymbol{v}^\top\boldsymbol{Rv}-\boldsymbol{v}^\top\boldsymbol{Wh}-\boldsymbol{h}^\top\boldsymbol{Sh}-\boldsymbol{b}^\top\boldsymbol{v}-\boldsymbol{c}^\top\boldsymbol{h} E(v,h)=vRvvWhhShbvch — 公式3 \quad\textbf{---\footnotesize{公式3}} 公式3

  • 玻尔兹曼机的学习

    • 玻尔兹曼机的学习算法通常基于最大似然。
    • 所有玻尔兹曼机都具有难以处理的配分函数,因此最大似然梯度必须使用面对配分函数 - 引言篇中的技术来近似。
  • 玻尔兹曼机有一个有趣的性质,当基于最大似然的学习规则训练时,连接两个单元的特定权重的更新仅取决于这两个单元在不同分布下收集的统计信息: P model ( v ) P_{\text{model}}(\boldsymbol{v}) Pmodel(v) P ^ data ( v ) P model ( h ∣ v ) \hat{P}_{\text{data}}(\boldsymbol{v})P_{\text{model}}(h \mid \boldsymbol{v}) P^data(v)Pmodel(hv)

    • 网络的其余部分参与塑造这些统计信息,但权重可以在完全不知道网络其余部分或这些统计信息如何产生的情况下更新。
    • 这意味着学习规则是 ‘‘局部’’ 的,这使得玻尔兹曼机的学习似乎在某种程度上是生物学合理的。
    • 我们可以设想每个神经元都是玻尔兹曼机中的随机变量的情况,那么连接两个随机变量的轴突和树突只能通过观察与它们物理上实际接触的细胞的激发模式来学习。
    • 特别地, 正相期间,经常同时激活的两个单元之间的连接会被加强。
    • 这是 Hebbian \text{Hebbian} Hebbian学习规则 ( Hebb, 1949 \text{Hebb, 1949} Hebb, 1949) 的一个例子,经常总结为好记的短语——“ fire together, wire together \text{fire together, wire together} fire together, wire together’’。
    • Hebbian \text{Hebbian} Hebbian学习规则是生物系统学习中最古老的假设性解释之一,直至今天仍然有重大意义 ( Giudice et al., 2009 \text{Giudice et al., 2009} Giudice et al., 2009)。
  • 不仅仅使用局部统计信息的其他学习算法似乎需要假设更多的学习机制。

    • 例如,对于大脑在多层感知机中实现的反向传播,似乎需要维持一个辅助通信的网络,并借此向后传输梯度信息。
    • 已经有学者 ( Hinton, 2007a; Bengio, 2015 \text{Hinton, 2007a; Bengio, 2015} Hinton, 2007a; Bengio, 2015) 提出生物学上可行(和近似)的反向传播实现方案,但仍然有待验证, Bengio (2015) \text{Bengio (2015)} Bengio (2015) 还将梯度的反向传播链接到类似于玻尔兹曼机(但具有连续潜变量)能量模型中的推断。
  • 从生物学的角度看,玻尔兹曼机学习中的负相阶段有点难以解释。

总结

玻尔兹曼机作为一种随机神经网络,其独特的网络结构和训练方式使其在机器学习和深度学习领域具有广泛的应用前景。受限玻尔兹曼机( Restricted Boltzmann Machine, RBM \text{Restricted Boltzmann Machine, RBM} Restricted Boltzmann Machine, RBM)作为玻尔兹曼机的一种简化形式,通过限制神经元之间的连接方式,进一步提高了模型的训练效率和泛化能力。

此外,深度玻尔兹曼机( Deep Boltzmann Machine, DBM \text{Deep Boltzmann Machine, DBM} Deep Boltzmann Machine, DBM)作为受限玻尔兹曼机的扩展,通过引入多个隐藏层,实现了更复杂的特征表示和模式识别。 DBM \text{DBM} DBM在自然语言处理、图像识别等领域的应用,进一步展示了玻尔兹曼机在深度学习领域的潜力和价值。

综上所述,玻尔兹曼机作为一种重要的神经网络模型,不仅具有独特的网络结构和训练方式,还在多个领域展现了广泛的应用前景和深远的影响力。

往期内容回顾

深度学习中的结构化概率模型 - 使用图来描述模型结构篇
面对配分函数 - 引言篇
面对配分函数 - 随机最大似然和对比散度篇

猜你喜欢

转载自blog.csdn.net/benny_zhou2004/article/details/143218034