受限玻尔兹曼机

受限玻尔兹曼机是波尔滋蔓机去掉相同层间连接的网络。

即受限波尔滋蔓机可见层之间没有连接,隐藏层之间也没有连接,但是可见层和隐藏层之间是全连接。

受限玻尔兹曼机与玻尔兹曼机一样,是一个随机神经网络系统。

特点:每个神经元的取值只能是0,或者1

训练方法:对比散度

受限玻尔兹曼机变化的过程,或者说是运行过程:

给可见层一个输入,然后系统会开始震荡,最后所有的神经元稳定下来,在可见层得到一个输出。

神经元的状态变化不是固定的,是以一定概率分布进行变化的。

当网络进入稳定状态后,所有神经元的状态,包括隐藏层和可见层的联合分布是符合玻尔兹曼分布的。(此处需参考玻尔兹曼机的原理)

因为受限玻尔兹曼机的神经元是异步更新的,所以在已知权值和偏置的情况下,第j个神经元更新,那么首先要计算出第j个神经元的输入,然后算出该神经元取1的概率,最后从[0,1]的均匀分布中随机产生一个数,如果该数大于取1的概率,那么就取0,如果小于等于取1的概率值,那么就取1。该神经元取1的概率是:

玻尔兹曼机最优的权值和偏置是什么?

在某种偏置和权值的状态下,输出的分布与训练集的分布越接近越好。那么就是说,对于任何一个输入来说,在已知输入的条件下,是训练集中的某个样本的概率P1,在受限波尔滋蔓机中输入一个测试数据,最终输出的数据即是在已知输入的条件下,是玻尔兹曼机某种输出状态的概率P2。玻尔兹曼机的输出分布与样本集的分布越接近,P1与P2越接近。

那么首先我们要构造描述两个分布接近的函数(假设包含T个样本)。

我们的训练玻尔兹曼机的目的就是找出权值与偏置,使得L函数的值最大。

利用梯度上升的办法。可以得到梯度是两个期望的差值。

其中比较难算的是v、h联合分布的期望。可以通过吉布斯采样得到稳定状态的样本,然后再根据大叔定理求期望。

这样做还是很复杂。

新的算法:如果初始时P0,,经过1步的迭代P1,经过无穷步的迭代之后收敛到P00,如果P0和P00的KL距离很小,那么说明P00收敛到P0,这正是我们想要的权值和偏置。那么如果P0||P00-P1||P00足够小,这就说明P0更接近P00。因此,我们可以找出一组权值和偏置,使得P0||P00-P1||P00最小。对上式求倒,忽略第三项(Hinton说可以这么干)

玻尔兹曼机的训练过程:

 

 

 

 

 

 

 

这样才能对第k个神经元进行抽样。由波尔滋蔓机的性质可知,所有神经元的联合分布是玻尔兹曼分布,(m+n)维联合分布已知,求解第k个神经元的分布函数即是m+n-1维的值,求解该维度的值。那么首先构造该维度的

没有更多推荐了,返回首页