受限波尔兹曼机(Restricted Boltzmann Machines,RBM)是一类具有两层结构,对称连接且无自反馈的随机神经网络模型,层间全连接,层内无连接。
当给定可见层神经元的状态时,各隐藏层神经元的之间是否激活是条件独立的;反之也同样成立。
基于能量模型。Hinton提出针对其的训练算法(对比散度算法)
实践证明,RBM是一种有效的特征提取方法,用于初始化前馈神经网络可明显提高泛化能力,堆叠多个RBM组成的DBN能提取更抽象的特征。
利用RBM的堆叠可以构造出深层的神经网络模型——深度信念网(Deep Belief Net, DBN)
每个节点都是一个二值的随机变量
隐藏层的神经元的个数为nhnh,
隐藏层神经元的状态h=(h1,h2,...,hnh)T∈Rnhh=(h1,h2,...,hnh)T∈Rnh
隐藏层神经元的偏置b=(b1,b2,...,bnh)T∈Rnhb=(b1,b2,...,bnh)T∈Rnh
假设可见层的神经元的个数为nvnv,
可见层神经元的状态v=(v1,v2,...,vnv)T∈Rnvv=(v1,v2,...,vnv)T∈Rnv,
可见层神经元的偏置a=(a1,a2,...,anv)T∈Rnva=(a1,a2,...,anv)T∈Rnv,
隐藏层与可见层之间的连接权重W=(wij)∈Rnh×nvW=(wij)∈Rnh×nv
网络参数θ=(W,a,b)θ=(W,a,b)
联合组态的能量公式
联合概率分布:
ZθZθ为归一化因子
边缘概率分布:
当给定可见层的状态时,隐藏层上的某一个神经元被激活的概率,即P(hk=1|v)P(hk=1|v)
当给定了隐藏层的状态时,可见层上的某一神经元被激活的概率,即P(vk=1|h)P(vk=1|h)
hh中去除了分量后的向量
同理,可以求得当给定了隐藏层的状态时,可见层上的某一神经元被激活的概率
对于RBM模型,其参数主要是可见层和隐藏层之间的权重,可见层的偏置以及隐藏层的偏置,即θ=(W,a,b),对于给定的训练样本,通过训练得到参数θ,使得在该参数下,由RBM表示的概率分布尽可能与训练数据相符合
设训练集X={v1,v2,...,vns}X={v1,v2,...,vns}
训练RBM的目标就是最大化如下的似然函数