一.基本概念
受限波尔兹曼机(Restricted Boltzmann Machines,RBM)是一类具有两层结构,对称连接且无自反馈的随机神经网络模型,层间全连接,层内无连接。实践证明,RBM是一种有效的特征提取方法,用于初始化前馈神经网络可明显提高泛化能力,堆叠多个RBM组成的DBN能提取更抽象的特征。
1.1 特征提取是计算机视觉和图像处理中的一个概念。它指的是使用计算机提取信息,决定每个图像的点是否属于一个图像特征。特征提取的结果是把图像上的点分为不同子集,这些子集往往属于孤立的点,连续的曲线或连续的区域。
个人理解:特征提取就是把图像用处理程序所能理解的形式表示出来。
图中的每个节点都是一个二值的随机变量
二.学习算法
如何利用数据进行训练呢?也就是可视节点和隐层节点之间的权值怎样确定呢?我们需要做一些数学分析。
2.1 联合组态的能量公式
其中w为可视层和隐层间的权重,v是可见单元的二进制状态,h是隐藏单元的二进制状态 ,b,a分别是可见单元和隐藏单元得偏置。
2.2 联合概率
其中Ζ(θ)是归一化因子,也称为配分函数。
2.3 可视节点概率
可视层的边缘概率,是我们感兴趣的,它的计算方法如下:
2.4 最大化
我们通过最大化p(v)得到RBM的参数,最大化p(v)等同于最大化log(p(v))=L(θ):
三.对比度散度学习算法
3.1 随机梯度下降最大化L(θ)
首先求得L(θ)对W的偏导数
经简化后可得:
前者比较好计算,只需求vh在全部数据集合上的平均值即可。而后者比较难计算。为了解决此问题Hinton等人提出了一种高效的学习算法-CD(Contrastive Divergence)。基本思想如下图所示:
首先根据v的状态得到h的状态,然后通过h来重构可见向量v1,然后再根据v1来生成新的隐藏向量h1.多次抽样得到的样本集合可以看做是对P(v,h)的一种近似,使得式子的计算变得可行。