4.3 超越单层:面向深度学习的堆叠#
如 4.2 受限玻尔兹曼机(RBM) 所述,RBM 是一种具有单层潜变量的强大生成模型。然而,许多现实数据集,例如图像、语音和自然语言,都具有 层级结构。低层特征(边缘、音素、词片段)组合成中层特征(形状、音节、短语),再进一步组合成高层概念(物体、词语、语义)。无论隐藏单元数量多大,单层潜变量模型都可能难以高效捕捉这种多层抽象。 这一局限促成了 RBM 的 堆叠,形成 深度置信网络(Deep Belief Networks, DBNs) 和 深度玻尔兹曼机(Deep Boltzmann Machines, DBMs)。堆叠把浅层生成模型转化为深层层级模型,能够学习逐渐抽象的数据表示。本节介绍使深度生成模型变得实用的贪婪逐层训练过程,并说明堆叠 RBM 与更广阔深度学习版图的联系。
动机:层级特征学习#
考虑建模一组人脸图像。单隐藏层的浅层 RBM 可能学习到局部 Gabor 风格的边缘检测器。这些特征有用,但无法捕捉人脸的高阶规律:眼睛、鼻子和嘴的空间排列,或面部结构的典型对称性。
相比之下,深层架构可以学习 表示层级:
第一隐藏层:检测低层特征,如有方向的边缘和角点。
第二隐藏层:组合边缘,形成中层特征,如面部部件(眼、鼻、嘴检测器)。
第三隐藏层:组合面部部件,形成整张人脸的高层抽象表示。
这种层级组合与视觉皮层结构相似,并使模型能够用比同等表达能力的浅层模型少得多的参数表示复杂数据分布。
深度置信网络:RBM 的组合#
深度置信网络(DBN) 是由多层随机潜变量组成的生成模型。最顶端两层形成一个 无向 RBM,而较低层构成 有向 sigmoid 置信网络。具体而言,包含 个隐藏层的 DBN 定义为:
顶部两层 和 形成一个 RBM。
其余层通过自顶向下的有向生成权重连接: 生成 ,其中 ,并令 。
联合分布分解为:
其中 是顶层 RBM 分布,条件分布 来自 sigmoid 置信网络。
有向连接支持高效的 祖先采样:生成样本时,先从顶层 RBM 中采样得到 与 ,再沿有向层向下传播,逐层采样。
贪婪逐层训练#
训练包含多层潜变量的深度生成模型很困难,原因包括 解释消除 效应和精确推断不可处理。Hinton、Osindero 和 Teh 在 2006 年提出的 贪婪逐层预训练 使 DBN 变得实用。
核心思想非常简洁:一次训练一个 RBM,然后把它们堆叠起来。
算法:DBN 的贪婪逐层训练
训练第一个 RBM:
把可见数据 作为可见层,并引入隐藏层 。
使用对比散度在数据上训练 RBM。
训练后,RBM 定义了生成模型 和推断模型 。
为下一层生成训练数据:
使用训练好的推断模型,为每个训练样本计算后验概率 。
这些后验概率(或从中采样得到的状态)成为训练下一层 RBM 的“数据”。它们是在第一隐藏层学习到的特征空间中的数据表示。
训练第二个 RBM:
把向量 当作可见单元,并引入第二隐藏层 。
在这些特征向量上训练 RBM。
按需重复,训练更多层。
无监督预训练完成后,可以把堆叠的 RBM 转换为 DBN:除第一层外,丢弃自底向上的识别权重,并使用自顶向下的生成权重定义有向模型。也可以用这些权重初始化一个深层神经网络,再通过反向传播进行 判别式微调。
为什么贪婪逐层训练有效#
贪婪逐层训练的有效性可以从多个角度理解:
变分下界:添加新隐藏层,并在上一层推断出的特征上把它训练为 RBM,可以证明会改善扩展模型下数据对数似然的变分下界。每增加一层都会收紧这个下界。
特征抽象:每个 RBM 学习建模下一层产生的特征分布。由于这些特征已经更抽象、相关性更弱,下一层 RBM 可以专注捕捉它们之间的高阶依赖。
避免差的局部极小值:从随机初始化训练深层监督网络时,复杂非凸损失景观常使优化陷入差的局部极小值。预训练把权重初始化到能够合理生成数据的参数区域,为后续判别式微调提供更好的起点。
深度玻尔兹曼机(DBM)#
一个相关架构是 Salakhutdinov 与 Hinton 于 2009 年提出的 深度玻尔兹曼机(DBM)。不同于只有顶部两层为无向 RBM 的 DBN,DBM 是包含多层隐藏变量的 完全无向 模型。所有连接都是对称的,没有有向边。
包含两层隐藏层的 DBM 能量函数为:
DBM 保留玻尔兹曼机完整的无向性质,因此从概率模型角度比 DBN 更原则化。然而,精确推断更加困难,训练通常需要更复杂过程,例如均值场近似,或配合精心初始化的持久对比散度。
实践中,DBN 因训练过程更简单,并能直接用于前馈神经网络初始化,应用更广泛。
从无监督预训练到判别式微调#
堆叠 RBM 最有影响力的应用之一,是用于深层监督学习的 无监督预训练。在批归一化、ReLU 激活、大规模有标签数据集(如 ImageNet)广泛使用之前,训练多隐藏层深度神经网络非常困难。梯度可能消失或爆炸,优化也容易停在差的局部极小值。
RBM 预训练流程提供了解法:
在无标签数据上以无监督方式 预训练 一组 RBM(无标签数据通常更丰富)。
将堆叠 RBM 展开 为具有相同权重的深层前馈网络;该网络实现自底向上的推断路径。
在最高层特征上添加分类层。
使用有标签数据对整个网络进行反向传播 微调。
该方法在 MNIST 上取得当时领先结果,并在 TIMIT 语音识别基准上显著降低错误率。它证明了只要初始化得当,深层架构可以有效训练,为深度学习革命铺平道路。
预训练时代的结束与堆叠 RBM 的遗产#
到 2010 年代初,优化方法(momentum、RMSprop、Adam)、激活函数(ReLU 及其变体)、正则化(dropout)以及海量有标签数据的进步,使许多监督任务不再需要无监督预训练。从随机初始化进行端到端监督训练成为常态。
然而,堆叠 RBM 的概念遗产仍然存在:
它们证明了 深层架构的可行性,以及 层级特征学习 的重要性。
它们展示了 无监督表示学习 作为监督任务前置步骤的价值。
它们引入了 对比散度 和 贪婪逐层训练,这些仍是生成建模工具箱中的重要思想。
它们启发了后续生成模型,包括 变分自编码器(VAEs) 和 生成对抗网络(GANs);这些模型也学习层级潜表示,尽管训练目标不同。
此外,在标签稀缺而无标签数据充足的领域,使用 RBM 或其现代后继模型(如 DBN、DBM)进行无监督预训练仍然是一种相关且有效的策略。
超越 RBM 的堆叠:一般原则#
把简单模块堆叠成深层层级模型的原则远超 RBM。现代深度学习正建立在这一思想上:
卷积神经网络 堆叠卷积层,学习越来越复杂的视觉特征。
Transformer 堆叠自注意力层,捕捉层级语言结构。
扩散模型 堆叠去噪步骤,逐步细化生成样本。
RBM 堆叠是最早证明 贪婪逐层构建 可以启动深度生成模型训练的实践示范。这一洞见仍是深度学习方法论的重要基石。
小结#
堆叠 RBM 形成 深度置信网络(DBN) 和 深度玻尔兹曼机(DBM),支持层级特征学习。
贪婪逐层训练 一次训练一个 RBM,并把一层推断出的特征作为下一层数据。
DBN 由无向顶层 RBM 和有向低层组成;DBM 则完全无向。
预训练的 RBM 堆叠为深层监督网络提供有效 权重初始化,推动早期深度学习成功。
尽管在大数据端到端监督训练中已不再主流,堆叠 RBM 在标签稀缺场景仍具历史意义和实践价值。
堆叠 RBM 所开创的 层级表示学习 理念,是现代深度学习架构的基础。