机器学习笔记之深度信念网络——背景介绍与结构表示
引言
从本节开始,将介绍深度信念网络。
深度信念网络
深度信念网络(Deep Belief Network,DBN)是杰弗里·辛顿(Geoffrey Hinton)于2006年提出的模型,并正式提出了深度学习的概念。
在当时,将深度信念网络应用在分类问题中,其超过了当时主流的支持向量机 + 核技巧的分类效果。
在Sigmoid信念网络中介绍过,信念网络指的就是贝叶斯网络,也就是有向图模型。
但实际上,和 Sigmoid \text{Sigmoid} Sigmoid信念网络不同,深度信念网络是一个混合模型(Hybrid Model):
其中, v v v表示观测变量所在层(输入部分), h ( 1 ) , h ( 2 ) , h ( 3 ) h^{(1)},h^{(2)},h^{(3)} h(1),h(2),h(3)分别表示不同隐藏层对应的编号。从上图中可以看出, v ( 1 ) , h ( 1 ) , h ( 2 ) v^{(1)},h^{(1)},h^{(2)} v(1),h(1),h(2)三层明显是一个 Sigmoid \text{Sigmoid} Sigmoid信念网络;而 h ( 2 ) , h ( 3 ) h^{(2)},h^{(3)} h(2),h(3)两层则是受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)。
当然这里仅描述了一层受限玻尔兹曼机和一层 Sigmoid \text{Sigmoid} Sigmoid信念网络的组合现象,实际上可以通过对受限玻尔兹曼机的堆叠(Stacking RBM)向更深层次进行延伸。
并且它也是一个基于深度学习的概率生成模型,它对应的数据同样是不包含标签信息的。至此,观察一下该模型的定义。
场景构建
为了更好地描述定义,我们对各符号进行设定:
- 各层之间的权重信息(图中的红色虚线部分)分别使用 W ( 1 ) , W ( 2 ) , W ( 3 ) \mathcal W^{(1)},\mathcal W^{(2)},\mathcal W^{(3)} W(1),W(2),W(3)进行表示;
- 深度信念网络中每一层均包含偏置项信息,定义从 v ( 1 ) , h ( 1 ) , h ( 2 ) , h ( 3 ) v^{(1)},h^{(1)},h^{(2)},h^{(3)} v(1),h(1),h(2),h(3)顺序对应的偏置分别表示为 b ( 0 ) , b ( 1 ) , b ( 2 ) , b ( 3 ) b^{(0)},b^{(1)},b^{(2)},b^{(3)} b(0),b(1),b(2),b(3)(图中的绿色部分);
- 由于上标已经被占用,因此这里不同于之前对于样本的定义 v ( i ) ∈ V ( i = 1 , 2 , ⋯ , N ) v^{(i)} \in \mathcal V(i=1,2,\cdots,N) v(i)∈V(i=1,2,⋯,N),这里仅使用 v ∈ V v \in \mathcal V v∈V来描述样本集合 V \mathcal V V中的某一各具体样本。
深度信念网络的联合概率分布
上述示例中描述的所有结点均是随机变量,并且除了观测变量是样本集合给定的之外,其余所有变量均是隐变量。其分布和玻尔兹曼机、受限玻尔兹曼机、 Sigmoid \text{Sigmoid} Sigmoid信念网络相同,所有随机变量均服从伯努利分布:
这里直接使用
v ( 1 ) v^{(1)} v(1)表示观测变量层中的所有随机变量结点组成的集合,其余层均同理。
D \mathcal D D表示观测变量结点的数量。
v ( 1 ) = { v 1 ( 1 ) , v 2 ( 1 ) , ⋯ , v D ( 1 ) } ∈ { 0 , 1 } D v^{(1)} = \left\{v_1^{(1)},v_2^{(1)},\cdots, v_{\mathcal D}^{(1)}\right\} \in \{0,1\}^{\mathcal D} v(1)={
v1(1),v2(1),⋯,vD(1)}∈{
0,1}D
至此,示例中所有随机变量(隐变量、观测变量)的联合概率分布可表示为:
将观测变量、隐变量分开。
P ( v ( 1 ) , h ( 1 ) , h ( 2 ) , h ( 3 ) ) = P ( v ( 1 ) ∣ h ( 1 ) , h ( 2 ) , h ( 3 ) ) ⋅ P ( h ( 1 ) , h ( 2 ) , h ( 3 ) ) \begin{aligned} \mathcal P(v^{(1)},h^{(1)},h^{(2)},h^{(3)}) & = \mathcal P(v^{(1)} \mid h^{(1)},h^{(2)},h^{(3)}) \cdot \mathcal P(h^{(1)},h^{(2)},h^{(3)}) \\ \end{aligned} P(v(1),h(1),h(2),h(3))=P(v(1)∣h(1),h(2),h(3))⋅P(h(1),h(2),h(3))
- 通过观察,观测变量集合 v ( 1 ) v^{(1)} v(1)仅和隐变量集合 h ( 1 ) h^{(1)} h(1)相关,和其他隐变量集合 h ( 2 ) , h ( 3 ) h^{(2)},h^{(3)} h(2),h(3)之间条件独立。因此,可以将上式化简为:
这明显是‘贝叶斯网络’中的顺序结构:在
h ( 1 ) h^{(1)} h(1)可观测的条件下,
v ( 1 ) v^{(1)} v(1)与
h ( 2 ) , h ( 3 ) h^{(2)},h^{(3)} h(2),h(3)之间条件独立。
P ( v ( 1 ) , h ( 1 ) , h ( 2 ) , h ( 3 ) ) = P ( v ( 1 ) ∣ h ( 1 ) ) ⋅ P ( h ( 1 ) , h ( 2 ) , h ( 3 ) ) \mathcal P(v^{(1)},h^{(1)},h^{(2)},h^{(3)}) = \mathcal P(v^{(1)} \mid h^{(1)}) \cdot \mathcal P(h^{(1)},h^{(2)},h^{(3)}) P(v(1),h(1