玻尔兹曼机和受限玻尔兹曼机

玻尔兹曼机

如果发生串扰或陷入局部最优解,Hopfield神经网络就不能正确地辨别模式,如下图。

而玻尔兹曼机(Boltzmann Machine)则可以通过让每个单元按照一定的概率分布发生状态变化,来避免陷入局部最优解。

玻尔兹曼机保持了Hopfield神经网络的假设:

权重对称

自身无连接

二值输出

波尔兹曼机的输出是按照某种概率分布决定的:

𝑇(>0)表示温度系数,当 𝑇 趋近于无穷时,无论𝑢𝑖取值如何,𝑥𝑖等于 1 或 0 的概率都是  1/2  ,这种状态称为稳定状态。

温度系数越大,跳出局部最优解的概率越高;但是温度系数增大时,获得能量函数极小值的概率就会降低。

反之,温度系数减小时,虽然获得能量函数极小值的概率增加了,但是玻尔兹曼机需要经历较长时间才能达到稳定状态。

 

玻尔兹曼机选择模拟退火算法:

可以先采用较大的温度系数及进行粗调,然后逐渐减小温度系数进行微调。

根据下式求得 𝑇 的极小值:

 

实际应用上,玻尔兹曼机还可以由可见单元和隐藏单元共同构成

隐藏单元与输入数据没有直接联系,但会影响可见单元的概率。

假设可见单元为可见变量 𝑣 ,隐藏单元为隐藏变量 ℎ 。

玻尔兹曼机含有隐藏变量时,概率分布仍然与前面计算的结果相同。

 

受限玻尔兹曼机

含有隐藏变量的波尔兹曼机训练非常困难,所以辛顿等人提出了受限玻尔兹曼机(Restricted Boltzmann Machine)。

由可见层和隐藏层构成

层内单元之间无连接

信息可双向流动

 

受限波尔兹曼机的能量函数为:

其中,𝑏𝑖是可见变量的偏置, 𝑐𝑗是隐藏变量的偏置,𝑤𝑖𝑗是连接权重,θ是表示所有连接权重和偏置的参数集合。可见变量𝑣_𝑖和隐藏变量ℎ_𝑗的乘积即表示两者之间的相关程度,其与连接权重一致时,能够得到参数的最大似然估计量。

 

改良后的受限玻尔兹曼机会产生庞大的计算量

要想解决这个问题,可以使用Gibbs采样(Gibbs Sampling)算法进行迭代计算求近似解。但即使这样处理,迭代次数也仍然非常多。于是,人们提出了对比散度算法。

 

(这篇之后继续补充)

 

posted @ 2019-05-29 16:16  山竹小果  阅读(2455)  评论(1编辑  收藏  举报