玻尔兹曼机BM

玻尔兹曼机(BM)神经元网络的运行:利用模拟退火算法,因为使用了玻尔兹曼分布作为激活函数,所以称为玻尔兹曼机,其原理其实是模拟退火算法。

玻尔兹曼分布在统计力学中的表达形式为:

E是状态能量(从一种状态变化到另一种状态),KT(分布常数)是玻尔兹曼常数与力学温度的乘积。系统两种状态间的玻尔兹曼分布的比率被称为玻尔兹曼因子,并且此特征仅依赖于状态能量差。

模拟退火算法是最优化处理理论和方法的一个方面,并不是在BM网络中所专有的,模拟退火算法(SimulatedAnnealingSA)是最优化处理算法中的一种改进的蒙特—卡罗方法、包括Metropolis算法和退火过程(AnnealingProcedureAP)组成。方法的概要是,首先在高温下进行搜索,由于此时各状态出现概率相差不大,系统可以很快进入“热平衡状态”,是一种快速找到系统概率的低能区的“粗搜索”过程。随着温度逐渐降低,各状态出现概率的差距逐渐被扩大,搜索精度不断提高。最后以一较高置信度达到网络能量函数的全局最小点,简要说明:

(1)Metropolis抽样过程

Metropolis算法是模拟退火算法的基础。它假定随机变量在某一时刻的状态为,在另一时刻的状态为,令表示系统从状态转至状态所引起的能量差。

如果,即转移导致了状态能量的降低,则兑现这种转移,新状态将作为算法下一步的起点。

如果,即达到局部最小,算法按概率操作结果随机决定兑现或放弃这一转移。概率操作的方法很多,其中最简单的是取随机数。随机生成一个在[0,1]区间内均匀分布的随机数,如果,则兑现这种转移,否则拒绝这种转移。反复迭代,达到当前温度下的热平衡(能量最小)。

2)退火过程 

退火过程就是降温过程。即在Metropolis抽样过程中将温度T缓慢降低,通过参数T的变化使系统状态收敛于全局最小能量处。T参数的选择对于算法最后的结果有很大的影响。初始温度和终止温度设置的过低或过高都会延长搜索时间。降温步骤太快,往往会漏掉全局最优点,使算法收敛至局部最优点。如果降温步骤太慢,则会大大延迟搜索全局最优点的计算时间,从而难以实际应用。 

模拟退火的算法,得到许多研究者从不同角度和方面进行大量的研究,得到了广泛的应用。在BM网络中为了达到最优搜索结果,更是对模拟退火算法的应用与实现进行了充分的研究,而其中的一个重要问题就是温度降低策略。Kirkpatrick等进行了大量的研究,并给出了一些有用的原则。 

① 初始温度:选取足够高的T0,保证存在所有可能的转移状态。 

② 温度下降策略:有不同降温策略,例如

此处是小于接近于1的常数。例如可以在0.80.99间取值。另外如

③ 终止温度:如果在连续的若干个温度下没有可接受的新状态,算法结束。

算法流程图如下:

以上玻尔兹曼机原理我是从模拟退火算法作为切入点介绍的,网上有很多是从神经网络结构图来展开介绍的,我觉得这种介绍起来容易理解,再去看BM网络架构就容易了。

BM网络最大的缺点就是计算量太大,目前应用领域有图像、声呐、雷达等模式识别领域。

猜你喜欢

转载自blog.csdn.net/weixin_28750267/article/details/81052005
今日推荐