深度玻尔兹曼机 (DBMs) 在机器学习中的应用

2025年03月17日 | 阅读 9 分钟

引言

在广阔的人工智能领域,深度玻尔兹曼机(DBM)作为能够收集复杂模式的迷人模型脱颖而出。它结合了神经网络和概率图模型,因其开发分层数据表示的能力而受到关注,使其成为图像识别、自然语言处理和药物发现等领域的有用工具。

什么是深度玻尔兹曼机(DBM)?

深度玻尔兹曼机(DBM)是生成式神经网络,它融合了神经网络和概率图模型的各个方面。它们旨在通过捕捉可观测变量和隐藏变量之间的关系来学习数据的复杂分层表示。DBM 包含多层随机单元,每层都连接到其上下层。这些连接是双向的,允许数据向上(从可见单元到隐藏单元)和向下(从隐藏单元到可见单元)流动。

  • DBM 架构受到玻尔兹曼机的启发,玻尔兹曼机是基于统计物理学中的伊辛模型的随机神经网络。在玻尔兹曼机中,可见单元和隐藏单元之间的联合概率分布通过基于能量的公式描述,能量较低的配置对应于较高的概率。DBM 在此基础上通过合并多层隐藏单元来构建,从而使它们能够学习分层数据表示。
  • 训练 DBM 涉及修改单元之间连接的权重,以降低观测数据的能量,同时增加生成可比较数据样本的可能性。然而,由于因素之间复杂的相互依赖性,确定 DBM 中的精确概率通常很困难。因此,有效的 DBM 训练是通过近似推理和学习技术实现的,例如对比散度(Contrastive Divergence)和马尔可夫链蒙特卡罗方法(Markov Chain Monte Carlo approaches)。
  • DBM 已应用于各种机器学习应用,包括图像识别、自然语言处理和药物发现。DBM 可以通过学习分层数据表示来捕捉复杂的模式和连接,使其成为在实际应用中建模高维数据的有用工具。

挑战

  1. 训练复杂性:训练 DBM 可能需要大量的计算和时间。由于 DBM 包含多层隐藏单元,优化其参数需要迭代技术,这可能需要很长时间才能收敛,尤其是在大型数据集上。
  2. 梯度消失:就像其他深度学习架构一样,DBM 容易出现梯度消失问题。当梯度在反向传播过程中变得非常小,使得模型难以有效地更新参数时,尤其是在更深层中,就会发生这种情况。
  3. 推理难度:在 DBM 中执行推理(例如计算数据的概率或创建新样本)可能需要时间。由于变量之间复杂的连接,精确推理有时是不可能的,并且需要可能包含错误的近似方法。
  4. 模型可扩展性:让 DBM 处理大型数据集和高维输入空间可能很困难。随着参数数量与输入数据量成比例增加,训练和推理的内存和计算资源变得有限。
  5. 过拟合:DBM 与其他深度学习模型一样,容易出现过拟合,即模型学习记忆训练数据而不是泛化到新数据。需要正则化方法和仔细的超参数调整来减少过拟合。
  6. 超参数敏感性:DBM 包含各种超参数,例如学习率、批量大小和网络设计,必须仔细校准这些参数才能达到最佳性能。找到最佳的超参数选择可能很困难,并且通常需要大量的测试。
  7. 模型可解释性:由于模型的复杂和非线性结构,解释学习到的表示并理解 DBM 如何生成预测可能具有挑战性。这种缺乏可解释性可能会限制 DBM 在某些应用中的置信度和使用。

深度玻尔兹曼机是如何工作的?

深度玻尔兹曼机(DBM)使用随机组件的分层架构来开发数据的分层表示。以下是 DBM 工作原理的分步说明。

  1. 分层架构:DBM 由多层随机单元组成。这些单元可以是二进制或连续值,并分为可见单元(输入数据)和隐藏单元(潜在变量)。每层都与其上下层完全连接,从而产生双向数据流。
  2. 基于能量的公式:基于能量的公式定义了 DBM 中可见单元和隐藏单元之间的联合概率分布。该公式为可见单元和隐藏单元的每个组合提供一个能量值,能量较低的配置对应于较高的概率。能量函数通常描述为单元之间成对相互作用的总和,并由连接强度(权重)加权。
  3. 训练过程:DBM 中的训练过程涉及修改单元之间连接的权重,以降低观测数据的能量,同时增加生成可比较数据样本的可能性。另一方面,由于变量之间复杂的相互依赖性,计算 DBM 中的精确概率有时在计算上是难以处理的。
  4. 近似推理和学习:为了解决精确似然计算的问题,DBM 使用近似推理和学习方法。对比散度(CD)是一种突出的技术,它根据观测数据和采样数据之间的统计差异重复调整连接权重。另一种选择是使用马尔可夫链蒙特卡罗(MCMC)方法,例如 Gibbs 采样,根据可见单元估计隐藏单元的后验分布。
  5. 生成模型:一旦训练完成,DBM 就可以作为生成模型,生成新的数据样本。DBM 可以通过从可见单元和隐藏单元的联合概率分布中采样来生成与训练数据相似的数据样本。主要优点之一是能够生成新数据。
  6. 应用:DBM 已用于各种机器学习应用,包括图像识别、自然语言处理和药物发现。DBM 通过开发分层数据表示,可以捕捉复杂的模式和关系,使其成为在实际应用中建模高维数据的有用工具。

数学概念

1. 能量函数

DBM 使用基于能量的方法描述可见单元和隐藏单元之间的联合概率分布。

能量函数

  • E(v,h;θ) 为可见单元 v 和隐藏单元 h 的每个配置分配一个能量值,通过参数模型参数 θ 进行参数化。
    它通常定义为
    Deep Boltzmann machines (DBMs) in machine learning

2. 分配函数

  • 归一化常数 Z(θ) 保证了概率分布对于可见单元和隐藏单元的所有可行组合都加和为 1。
  • 它被计算为所有可行配置中负能量的指数之和。
    Deep Boltzmann machines (DBMs) in machine learning
  • 由于替代配置的数量呈指数级增长,因此通常无法正确计算分配函数。

3. 概率分布

  • 可见单元上的概率分布
  • P(v;θ) 是通过对隐藏单元的所有可能配置进行边缘化获得的。
    Deep Boltzmann machines (DBMs) in machine learning
    类似地,隐藏单元上的概率分布 P(h∣v;θ) 是通过对所有可能可见单元配置进行边缘化生成的。

4. 训练目标

  • DBM 的训练目的是改变模型参数。
  • 以最大化观测数据的似然。
  • 通常通过最小化数据的负对数似然来实现,这类似于最小化数据分布和模型分布之间的 Kullback-Leibler (KL) 散度。

5. 训练算法

  • 由于估计分配函数的困难,采用近似推理和学习过程来训练 DBM。
  • 对比散度(CD)和马尔可夫链蒙特卡罗(MCMC)方法(例如 Gibbs 采样)是流行的 DBM 训练过程。

训练

深度玻尔兹曼机(DBM)通过优化模型参数来训练,以理解数据的底层分布。由于变量之间复杂的连接,DBM 中精确的似然计算有时是难以处理的。训练是通过近似推理和学习方法完成的。以下是 DBMS 的训练过程概述:

  1. 初始化:随机设置 DBM 单元之间连接的权重和偏差,或者通过受限玻尔兹曼机(RBM)预训练等预训练方法进行设置。
  2. 目标函数:定义一个目标函数用于训练期间的优化。在 DBM 中,目标函数通常是最大化观测数据的对数似然。然而,由于估计精确似然不切实际,因此采用近似方法。
  3. 近似推理:使用近似推理根据可见单元估计隐藏单元激活。常见方法包括对比散度(CD)、持久对比散度(PCD)和马尔可夫链蒙特卡罗(MCMC)技术(例如 Gibbs 采样)。
  4. 采样:使用上一步中选择的近似推理方法采样隐藏单元激活。这涉及执行推理过程预设次数的迭代,以获得给定可见单元的隐藏单元后验分布的样本。
  5. 梯度计算:确定相对于模型参数的对数似然梯度。此阶段通常涉及使用对比散度估计梯度,对比散度比较模型样本和数据之间的数据相关统计量(例如,相关性)。
  6. 参数更新:使用随机梯度下降(SGD)、Adam 或 RMSprop 等优化技术根据计算出的梯度更新模型参数。参数会进行更改,以减少模型预测与观测数据之间的差距。
  7. 正则化:为了避免训练期间的过拟合,使用权重衰减或 dropout 等正则化策略。
  8. 重复步骤 3-7 多次迭代或直到满足收敛要求。这可能包括最大迭代次数、目标函数中的变化阈值或验证指标收敛。
  9. 评估:训练后,在不同的验证或测试集上检查训练后的 DBM 的性能,以确定其泛化能力。

实施

输出

Deep Boltzmann machines (DBMs) in machine learning

说明

  • DeepBoltzmannMachine 类在构造函数中用随机权重和偏差初始化 DBM。
  • sigmoid 技术使用 sigmoid 激活函数计算概率。
  • gibbs_sampling 技术使用 Gibbs 采样的一步来根据当前状态和模型参数更新隐藏和可见状态。
  • 训练技术使用对比散度训练 DBM。它在训练数据上迭代预设的 epoch 次数,根据正负关联之间的差异更新模型参数,并根据需要调整偏差。

优点

  • 生成建模:DBM 是生成模型,这意味着它们学习生成与训练数据相似的新数据样本。这种生成新数据的能力在图像合成、文本生成和数据增强等活动中很有用。
  • 捕捉复杂分布:DBM 可以使用多层隐藏单元捕捉复杂的数据分布。这使它们能够理解数据中的深层模式和相关性,使其成为建模多样化和高维数据集的理想选择。
  • 分层表示学习:DBM 的深层架构使它们能够学习输入数据的分层表示。每层捕捉越来越抽象的特征,允许模型学习不同抽象级别的表示。
  • 无监督学习:DBM 可以无需显式监督进行训练,从而能够从未标记的数据中学习。这使得它们适用于需要稀缺或昂贵标记数据的应用程序。

应用

  • 图像生成:DBM 可以通过从训练数据中学习底层像素值分布来创建逼真的物体、人脸或环境图像。这有助于生成合成数据来训练计算机视觉算法或生成艺术品。
  • 异常检测:DBM 可以通过比较观测数据样本的概率与学习到的分布来识别数据集中的异常或离群值。概率得分低的数据样本被归类为异常,这使得 DBM 能够有效识别各种领域中的欺诈、缺陷或异常行为。
  • 特征学习:DBM 可以从输入数据中学习相关特征或表示,而无需显式特征工程。这些学习到的特征可以输入到执行分类、回归和分组等任务的其他机器学习模型中。
  • 数据补全:DBM 可以为数据集中缺失或损坏的特征提供合理的值。这对于医疗保健、金融和其他缺失数据普遍存在的领域中的数据插补活动非常重要。

结论

深度玻尔兹曼机是神经网络与概率建模的有趣结合,为学习复杂数据的分层表示提供了强大的框架。虽然 DBM 训练和推理带来了计算问题,但其适应性和表达能力使其成为各种机器学习应用的有用工具。随着对深度生成模型的研究不断深入,DBM 有望继续站在创新的前沿,推动人工智能向前发展,并为理解和建模我们周围的世界开辟新途径。