序言
深度信念网络( Deep Belief Networks,DBN \text{Deep Belief Networks,DBN} Deep Belief Networks,DBN)作为深度学习领域的一个重要里程碑,自 2006 2006 2006年由 Geoffrey Hinton \text{Geoffrey Hinton} Geoffrey Hinton及其研究小组提出以来,一直受到广泛的关注和研究。 DBN \text{DBN} DBN由多层受限玻尔兹曼机( Restricted Boltzmann Machines,RBMs \text{Restricted Boltzmann Machines,RBMs} Restricted Boltzmann Machines,RBMs)堆叠而成,旨在通过无监督学习有效地训练多层神经网络。这种网络结构通过逐层训练 RBMs \text{RBMs} RBMs来学习数据的层次结构表示,每一层都学习数据中的高级抽象特征。 DBN \text{DBN} DBN不仅结合了深度神经网络和信念网络的优点,还克服了传统神经网络训练困难的问题,为深度学习的发展奠定了重要基础。
深度信念网络
-
深度信念网络 ( deep belief network, DBN \text{deep belief network, DBN} deep belief network, DBN) 是第一批成功应用深度架构训练的非卷积模型之一 ( Hinton et al., 2006a; Hinton, 2007b \text{Hinton et al., 2006a; Hinton, 2007b} Hinton et al., 2006a; Hinton, 2007b)。
-
深度信念网络是具有若干潜变量层的生成模型。
- 潜变量通常是二值的,而可见单元可以是二值或实数。
- 尽管构造连接比较稀疏的 DBN \text{DBN} DBN是可能的,但在一般的模型中,每层的每个单元连接到每个相邻层中的每个单元(没有层内连接)。
- 顶部两层之间的连接是无向。
- 而所有其他层之间的连接是有向的,箭头指向最接近数据的层。
- 见深度生成模型 - 受限玻尔兹曼机(RBM)篇 - 图例1-b的例子。
-
具有 l l l 个隐藏层的 DBN \text{DBN} DBN包含 l l l 个权重矩阵: W ( 1 ) , … , W ( l ) \boldsymbol{W}^{(1)},\dots,\boldsymbol{W}^{(l)} W(1),…,W(l)。同时也包含 l + 1 l + 1 l+1个偏置向量: b ( 0 ) , … , b ( l ) \boldsymbol{b}^{(0)},\dots,\boldsymbol{b}^{(l)} b(0),…,b(l),其中 b ( 0 ) \boldsymbol{b}^{(0)} b(0) 是可见层的偏置。 DBN \text{DBN} DBN表示的概率分布由下式给出:
P ( h ( l ) , h ( h − 1 ) ) ∝ e ( b ( l ) ⊤ h ( l ) + b ( l − 1 ) ⊤ + h ( l − 1 ) ⊤ W ( l ) h ( l ) ) P(\boldsymbol{h}^{(l),\boldsymbol{h}^{(h-1)}})\propto e^{\big(\boldsymbol{b}^{(l)^\top}\boldsymbol{h}^{(l)}+\boldsymbol{b}^{(l-1)^\top}+\boldsymbol{h}^{(l-1)^\top}\boldsymbol{W}^{(l)}\boldsymbol{h}^{(l)}\big)} P(h(l),h(h−1))∝e(b(l)⊤h(l)+b(l−1)⊤+h(l−1)⊤W(l)h(l)) — 公式1 \quad\textbf{---\footnotesize{公式1}} —公式1
P ( h i ( k ) = 1 ∣ h ( k + 1 ) ) = σ ( b i ( k ) + W : , i ( k + 1 ) ⊤ h ( k + 1 ) ) ∀ i , ∀ k ∈ 1 , … , l − 2 P(h_i^{(k)}=1\mid\boldsymbol{h}^{(k+1)})=\sigma(b_i^{(k)}+\boldsymbol{W}_{:,i}^{(k+1)^\top}\boldsymbol{h}^{(k+1)}) \forall_i,\forall_k\in 1,\dots,l-2 P(hi(k)=1∣h(k+1))=σ(bi(k)+W:,i(k+1)⊤h(k+1))∀i,∀k∈1,…,l−2 — 公式2 \quad\textbf{---\footnotesize{公式2}} —公式2
P ( v i = 1 ∣ h ( 1 ) ) = σ ( b i ( 0 ) + W : , i ( 1 ) ⊤ h ( 1 ) ) ∀ i P(v_i=1\mid\boldsymbol{h}^{(1)})=\sigma(b_i^{(0)}+\boldsymbol{W}_{:,i}^{(1)^\top}\boldsymbol{h}^{(1)})\forall_i P(vi=1∣h(1))=σ(bi(0)+W:,i(1)⊤h(1))∀i — 公式3 \quad\textbf{---\footnotesize{公式3}} —公式3 -
在实值可见单元的情况下,替换:
v ∼ N ( v ; b ( 0 ) + W ( 1 ) ⊤ h ( 1 ) , β − 1 ) \textbf{v}\sim \mathcal{N}(\boldsymbol{v};\boldsymbol{b}^{(0)}+\boldsymbol{W}^{(1)^\top}\boldsymbol{h}^{(1)},\beta^{-1}) v∼N(v;b(0)+W(1)⊤h(1),β−1) — 公式4 \quad\textbf{---\footnotesize{公式4}} —公式4 -
为便于处理, β \beta β 为对角形式。至少在理论上,推广到其他指数族的可见单元是直观的。只有一个隐藏层的 DBN \text{DBN} DBN只是一个 RBM \text{RBM} RBM。
-
为了从 DBN \text{DBN} DBN中生成样本,我们先在顶部的两个隐藏层上运行几个 Gibbs \text{Gibbs} Gibbs采样步骤。这个阶段主要从 RBM \text{RBM} RBM(由顶部两个隐藏层定义)中采一个样本。然后,我们可以对模型的其余部分使用单次原始采样,以从可见单元绘制样本。
-
深度信念网络引发许多与有向模型和无向模型同时相关的问题。
-
由于每个有向层内的解释远离效应,并且由于无向连接的两个隐藏层之间的相互作用, 深度信念网络中的推断是难解的。评估或最大化对数似然的标准证据下界也是难以处理的,因为证据下界基于大小等于网络宽度的团的期望。
-
评估或最大化对数似然,不仅需要面对边缘化潜变量时难以处理的推断问题,而且还需要面对顶部两层无向模型内难处理的配分函数问题。
-
为训练深度信念网络,我们可以先使用对比散度或随机最大似然方法训练 RBM \text{RBM} RBM以最大化 E v ∼ p data log p ( v ) \mathbb{E}_{\textbf{v}\sim p_{\text{data}}} \log p(\boldsymbol{v}) Ev∼pdatalogp(v)。 RBM \text{RBM} RBM的参数定义了 DBN \text{DBN} DBN第一层的参数。然后,第二个 RBM \text{RBM} RBM训练为近似最大化:
E v ∼ p data E h ( 1 ) ∼ p ( 1 ) ( h ( 1 ) ∣ v ) log p ( 2 ) ( h ( 1 ) ) \mathbb{E}_{\textbf{v}\sim p_{\text{data}}}\mathbb{E}_{\textbf{h}^{(1)}\sim p^{(1)}(\boldsymbol{h}^{(1)}\mid\boldsymbol{v})}\log p^{(2)}(\boldsymbol{h}^{(1)}) Ev∼pdataEh(1)∼p(1)(h(1)∣v)logp(2)(h(1)) — 公式5 \quad\textbf{---\footnotesize{公式5}} —公式5 -
其中 p ( 1 ) p^{(1)} p(1) 是第一个RBM表示的概率分布, p ( 2 ) p^{(2)} p(2) 是第二个 RBM \text{RBM} RBM表示的概率分布。
- 换句话说,第二个RBM被训练为模拟由第一个 RBM \text{RBM} RBM的隐藏单元采样定义的分布,而第一个 RBM \text{RBM} RBM由数据驱动。
- 这个过程能无限重复,从而向 DBN \text{DBN} DBN添加任意多层,其中每个新的 RBM \text{RBM} RBM建模前一个的样本。
- 每个 RBM \text{RBM} RBM定义 DBN \text{DBN} DBN的另一层。
- 这个过程可以被视为提高数据在 DBN \text{DBN} DBN下似然概率的变分下界 ( Hinton et al., 2006a \text{Hinton et al., 2006a} Hinton et al., 2006a)。
-
在大多数应用中,对 DBN \text{DBN} DBN进行贪婪分层训练后,不需要再花功夫对其进行联合训练。然而,使用 wake sleep \text{wake sleep} wake sleep算法对其进行生成微调是可能的。
-
训练好的 DBN \text{DBN} DBN可以直接用作生成模型,但是 DBN \text{DBN} DBN的大多数兴趣来自于它们改进分类模型的能力。我们可以从 DBN \text{DBN} DBN获取权重,并使用它们定义 MLP \text{MLP} MLP:
h ( 1 ) = σ ( b ( 1 ) + v ⊤ W ( 1 ) ) \boldsymbol{h}^{(1)}=\sigma(b^{(1)}+\boldsymbol{v}^\top\boldsymbol{W}^{(1)}) h(1)=σ(b(1)+v⊤W(1)) — 公式6 \quad\textbf{---\footnotesize{公式6}} —公式6
h ( l ) = σ ( b i ( l ) + h ( l − 1 ) ⊤ W ( l ) ) ∀ l ∈ 2 , … , m \boldsymbol{h}^{(l)}=\sigma(b_i^{(l)}+\boldsymbol{h}^{(l-1)^\top}\boldsymbol{W}^{(l)}) \forall_l\in2,\dots,m h(l)=σ(bi(l)+h(l−1)⊤W(l))∀l∈2,…,m — 公式7 \quad\textbf{---\footnotesize{公式7}} —公式7 -
利用 DBN \text{DBN} DBN的生成训练后获得的权重和偏置初始化该 MLP \text{MLP} MLP之后,我们可以训练该 MLP \text{MLP} MLP来执行分类任务。这种 MLP \text{MLP} MLP的额外训练是判别微调的示例。
-
与近似推断中从基本原理导出的许多推断方程相比这种特定选择的 MLP \text{MLP} MLP有些任意。
- 这个 MLP \text{MLP} MLP是一个启发式选择,似乎在实践中工作良好,并在文献中一贯使用。
- 许多近似推断技术是由它们在一些约束下在对数似然上找到最大紧变分下界的能力所驱动的。
- 我们可以使用 DBN \text{DBN} DBN中 MLP \text{MLP} MLP定义的隐藏单元的期望,构造对数似然的变分下界,但这对于隐藏单元上的任何概率分布都是如此,并没有理由相信该 MLP \text{MLP} MLP提供了一个特别的紧界。
- 特别地, MLP \text{MLP} MLP忽略了 DBN \text{DBN} DBN图模型中许多重要的相互作用。
- MLP \text{MLP} MLP将信息从可见单元向上传播到最深的隐藏单元,但不向下或侧向传播任何信息。
- DBN \text{DBN} DBN图模型解释了同一层内所有隐藏单元之间的相互作用以及层之间的自顶向下的相互作用。
-
虽然 DBN \text{DBN} DBN的对数似然是难处理的,但它可以使用 AIS \text{AIS} AIS近似 ( Salakhutdinov and Murray, 2008 \text{Salakhutdinov and Murray, 2008} Salakhutdinov and Murray, 2008)。通过近似,可以评估其作为生成模型的质量。
-
术语 “深度信念网络’’ 通常不正确地用于指代任意种类的深度神经网络,甚至没有潜变量意义的网络。这个术语应特指最深层中具有无向连接,而在所有其他连续层之间存在向下有向连接的模型。
-
这个术语也可能导致一些混乱,因为术语 ‘‘信念网络’’ 有时指纯粹的有向模型,而深度信念网络包含一个无向层。 深度信念网络也与动态贝叶斯网络( dynamic Bayesian networks \text{dynamic Bayesian networks} dynamic Bayesian networks) ( Dean and Kanazawa, 1989 \text{Dean and Kanazawa, 1989} Dean and Kanazawa, 1989) 共享首字母缩写 DBN \text{DBN} DBN,它们是表示马尔可夫链的贝叶斯网络。
总结
深度信念网络 DBN \text{DBN} DBN在多个方面展现了其强大的能力和广泛的应用前景。首先, DBN \text{DBN} DBN通过逐层预训练的方式,使得深层神经网络的训练变得更为稳定和高效。在预训练阶段,每个 RBM \text{RBM} RBM独立地进行无监督训练,学习数据的分布,为后续的有监督微调提供了良好的初始化参数。这种训练方式不仅提高了模型的泛化能力,还使得 DBN \text{DBN} DBN在处理高维数据和未标记数据时表现出色。
其次, DBN \text{DBN} DBN具备生成模型的特性,能够基于学习到的数据表示生成新的数据示例。这一点与纯粹的判别模型如卷积神经网络( CNN \text{CNN} CNN)和循环神经网络( RNN \text{RNN} RNN)不同,为数据分析和合成提供了更多的可能性。
此外, DBN \text{DBN} DBN已广泛应用于图像识别、自然语言处理、推荐系统、语音识别等多个领域。随着技术的不断发展, DBN \text{DBN} DBN有望在更多领域得到应用和发展,为机器学习和人工智能的进步做出更大的贡献。然而, DBN \text{DBN} DBN也存在一些潜在的缺点,如训练时间长、计算复杂度高以及易过拟合等,这些问题需要在未来的研究中得到进一步的解决和优化。
往期内容回顾
深度生成模型 - 受限玻尔兹曼机(RBM)篇
近似推断 - 引言篇