深度玻尔兹曼机(Deep Boltzmann Machine, DBM)的原理与训练过程
字数 2167 2025-10-28 20:05:21

深度玻尔兹曼机(Deep Boltzmann Machine, DBM)的原理与训练过程

题目描述

深度玻尔兹曼机(DBM)是一种多层无向图模型的生成式神经网络,由多个隐藏层堆叠而成,层内无连接,层间全连接。DBM可用于无监督特征学习、概率建模和协同过滤等任务。其难点在于训练过程中概率分布的近似推断和参数更新。本题要求解释DBM的基本结构、概率建模原理,并逐步推导其训练算法(对比散度、持续对比散度等)。


解题过程

1. DBM的基本结构

  • 网络拓扑:DBM由可见层(v)和多个隐藏层(h¹, h², ..., hᴸ)组成,相邻层之间全连接,但同层节点无连接(类似RBM的堆叠)。例如,一个两层隐藏层的DBM结构为:v ↔ h¹ ↔ h²。
  • 能量函数:对于两层隐藏层的DBM,能量函数定义为:

\[ E(v, h^1, h^2; \theta) = -v^T W^1 h^1 - (h^1)^T W^2 h^2 - a^T v - b^T h^1 - c^T h^2 \]

其中 \(\theta = \{W^1, W^2, a, b, c\}\) 为参数,\(a, b, c\) 是偏置项。

  • 概率分布:联合概率 \(P(v, h^1, h^2) = \frac{1}{Z(\theta)} e^{-E(v, h^1, h^2)}\),其中 \(Z(\theta)\) 是配分函数。

2. 推断问题:条件概率计算

由于层内独立,给定相邻层时,某层节点的条件概率可因子化。例如:

  • \(P(v_i=1 \mid h^1) = \sigma(a_i + \sum_j W^1_{ij} h^1_j)\)
  • \(P(h^1_j=1 \mid v, h^2) = \sigma(b_j + \sum_i W^1_{ij} v_i + \sum_k W^2_{jk} h^2_k)\)
  • \(P(h^2_k=1 \mid h^1) = \sigma(c_k + \sum_j W^2_{jk} h^1_j)\)
    关键点:中间层(如h¹)的条件概率需同时依赖上下两层(v和h²),这与RBM不同。

3. 训练目标:极大似然估计

目标是最小化负对数似然:

\[\mathcal{L}(\theta) = -\mathbb{E}_{v \sim P_{data}} \log P(v) \]

其中 \(P(v) = \sum_{h^1, h^2} P(v, h^1, h^2)\)。梯度更新公式为:

\[\frac{\partial \log P(v)}{\partial \theta} = \mathbb{E}_{h^1, h^2 \mid v} \left[ \frac{\partial E(v, h^1, h^2)}{\partial \theta} \right] - \mathbb{E}_{v, h^1, h^2 \sim P_{model}} \left[ \frac{\partial E(v, h^1, h^2)}{\partial \theta} \right] \]

  • 第一项(正相):在给定数据v时,隐层的条件期望(可通过吉布斯采样近似)。
  • 第二项(负相):模型联合分布的期望(计算困难,需近似)。

4. 训练难点与近似方法

  • 配分函数Z(θ)难计算:采用对比散度(CD)持续对比散度(PCD) 近似负相。
  • 中间层推断复杂:由于双向依赖,需交替吉布斯采样(如:v → h¹ → h² → h¹ → v ...)。
  • 改进策略
    1. 预训练:逐层训练堆叠的RBM作为初始化(Hinton et al., 2009),避免局部最优。
    2. 平均场近似:用变分推断近似后验概率 \(Q(h^1, h^2 \mid v)\),通过迭代更新均值场参数(如 \(μ_j^1, μ_k^2\))逼近真实后验。

5. 训练步骤(以CD为例)

输入:数据向量v,学习率η,吉布斯采样步数k(通常k=1)。

  1. 正相
    • 给定v,采样h¹:计算 \(P(h^1 \mid v, h^2)\),但初始h²未知,故先假设h²为0,仅用v计算h¹(近似)。
    • 用采样得到的h¹计算h²的条件概率。
  2. 负相
    • 从当前采样得到的h²开始,执行k步吉布斯采样(h² → h¹ → v' → h¹' → h²')。
    • 用采样链的末端(v', h¹', h²')近似负相期望。
  3. 参数更新

\[ \Delta W^1 = \eta \left( v (h^1)^T - v' (h^{1'})^T \right) \]

类似更新其他参数(注意梯度需除以2,因DBM的对称性导致参数重复计数)。

6. DBM与RBM的差异

  • 推断:RBM的隐层只依赖可见层,而DBM中间层依赖双向上下文,表达能力更强但训练更复杂。
  • 训练:DBM需分层预训练,而RBM可直接用CD训练。
  • 生成质量:DBM能学习更抽象的特征表示,适合深层无监督学习。

总结

DBM通过多层隐结构建模复杂概率分布,其训练依赖近似推断(吉布斯采样、平均场)和分层预训练。理解其能量函数、条件概率计算和梯度近似方法是掌握DBM的关键。

深度玻尔兹曼机(Deep Boltzmann Machine, DBM)的原理与训练过程 题目描述 深度玻尔兹曼机(DBM)是一种多层无向图模型的生成式神经网络,由多个隐藏层堆叠而成,层内无连接,层间全连接。DBM可用于无监督特征学习、概率建模和协同过滤等任务。其难点在于训练过程中概率分布的近似推断和参数更新。本题要求解释DBM的基本结构、概率建模原理,并逐步推导其训练算法(对比散度、持续对比散度等)。 解题过程 1. DBM的基本结构 网络拓扑 :DBM由可见层(v)和多个隐藏层(h¹, h², ..., hᴸ)组成,相邻层之间全连接,但同层节点无连接(类似RBM的堆叠)。例如,一个两层隐藏层的DBM结构为:v ↔ h¹ ↔ h²。 能量函数 :对于两层隐藏层的DBM,能量函数定义为: \[ E(v, h^1, h^2; \theta) = -v^T W^1 h^1 - (h^1)^T W^2 h^2 - a^T v - b^T h^1 - c^T h^2 \] 其中 \(\theta = \{W^1, W^2, a, b, c\}\) 为参数,\(a, b, c\) 是偏置项。 概率分布 :联合概率 \(P(v, h^1, h^2) = \frac{1}{Z(\theta)} e^{-E(v, h^1, h^2)}\),其中 \(Z(\theta)\) 是配分函数。 2. 推断问题:条件概率计算 由于层内独立,给定相邻层时,某层节点的条件概率可因子化。例如: \(P(v_ i=1 \mid h^1) = \sigma(a_ i + \sum_ j W^1_ {ij} h^1_ j)\) \(P(h^1_ j=1 \mid v, h^2) = \sigma(b_ j + \sum_ i W^1_ {ij} v_ i + \sum_ k W^2_ {jk} h^2_ k)\) \(P(h^2_ k=1 \mid h^1) = \sigma(c_ k + \sum_ j W^2_ {jk} h^1_ j)\) 关键点 :中间层(如h¹)的条件概率需同时依赖上下两层(v和h²),这与RBM不同。 3. 训练目标:极大似然估计 目标是最小化负对数似然: \[ \mathcal{L}(\theta) = -\mathbb{E} {v \sim P {data}} \log P(v) \] 其中 \(P(v) = \sum_ {h^1, h^2} P(v, h^1, h^2)\)。梯度更新公式为: \[ \frac{\partial \log P(v)}{\partial \theta} = \mathbb{E} {h^1, h^2 \mid v} \left[ \frac{\partial E(v, h^1, h^2)}{\partial \theta} \right] - \mathbb{E} {v, h^1, h^2 \sim P_ {model}} \left[ \frac{\partial E(v, h^1, h^2)}{\partial \theta} \right ] \] 第一项 (正相):在给定数据v时,隐层的条件期望(可通过吉布斯采样近似)。 第二项 (负相):模型联合分布的期望(计算困难,需近似)。 4. 训练难点与近似方法 配分函数Z(θ)难计算 :采用 对比散度(CD) 或 持续对比散度(PCD) 近似负相。 中间层推断复杂 :由于双向依赖,需交替吉布斯采样(如:v → h¹ → h² → h¹ → v ...)。 改进策略 : 预训练 :逐层训练堆叠的RBM作为初始化(Hinton et al., 2009),避免局部最优。 平均场近似 :用变分推断近似后验概率 \(Q(h^1, h^2 \mid v)\),通过迭代更新均值场参数(如 \(μ_ j^1, μ_ k^2\))逼近真实后验。 5. 训练步骤(以CD为例) 输入 :数据向量v,学习率η,吉布斯采样步数k(通常k=1)。 正相 : 给定v,采样h¹:计算 \(P(h^1 \mid v, h^2)\),但初始h²未知,故先假设h²为0,仅用v计算h¹(近似)。 用采样得到的h¹计算h²的条件概率。 负相 : 从当前采样得到的h²开始,执行k步吉布斯采样(h² → h¹ → v' → h¹' → h²')。 用采样链的末端(v', h¹', h²')近似负相期望。 参数更新 : \[ \Delta W^1 = \eta \left( v (h^1)^T - v' (h^{1'})^T \right) \] 类似更新其他参数(注意梯度需除以2,因DBM的对称性导致参数重复计数)。 6. DBM与RBM的差异 推断 :RBM的隐层只依赖可见层,而DBM中间层依赖双向上下文,表达能力更强但训练更复杂。 训练 :DBM需分层预训练,而RBM可直接用CD训练。 生成质量 :DBM能学习更抽象的特征表示,适合深层无监督学习。 总结 DBM通过多层隐结构建模复杂概率分布,其训练依赖近似推断(吉布斯采样、平均场)和分层预训练。理解其能量函数、条件概率计算和梯度近似方法是掌握DBM的关键。