随机神经网络之玻尔兹曼机

一、引言

在机器学习以及优化组合问题中,最常用的方法就是梯度下降法。比如BP神经网络,多层感知器的神经元(units)越多,对应的权矩阵也就越大,每个权可视为一个自由度或者变量。我们知道自由度越高,变量越多,模型越复杂,模型的能力越强。但是模型能力越强,模型就越容易过拟合,对噪声太敏感。另一方面,使用梯度下降进行最优解搜寻时,多变量的误差曲面很像是连绵起伏的山峰一样,变量越多,山峰和山谷也越多,这就导致梯度下降法极容易陷入到局部的一个小山谷,而停止搜索。这就是常规的梯度下降法在解决多维度的优化问题中最常见的局部最优问题。究其原因是梯度下降法的搜索准则所致,按照梯度的负方向搜索,一味追求网络误差或能量函数的降低,使得搜索只具有“下山”的能力,而不具备“爬山”的能力。所谓“爬山”的能力,就是当搜索陷入局部最优时,还能具备一定的“翻山越岭”的能力,能够从局部最优中逃出来,继续搜索全局最优。如果为具有多个局部极小点的系统打一个形象的比喻。设想托盘上有一个凸凹不平的多维能量曲面,若在该曲面上放置一个小球,它在重力作用下,将滚入最邻近的一个低谷(局部最小点)而不能自拔。但该低谷不一定就是曲面上最低的那个低谷(全局最小点)。因此,
局部极小问题只能通过改进算法来解决 。一种可行的办法就是刚才所提到的让算法具有“爬山”的能力,同时还要保证当搜索进入全局最优时不会因为“爬山”而跑出全局最优的“山谷”。本文要讲解的随机神经网络:模拟退火(Simulated Annealing)与玻尔兹曼机(Boltzmann Machine)就是通过一定的概率保证搜索陷入局部最优时能够具有一定的“爬山”能力。这个形象的对比可参看下图:

随机神经网络与其他神经网络相比有两个主要区别 :① 在学习阶段 , 随机网络不像其他网络那样基于某种确定性算法调整权值,而是按某种概率分布进行修改;② 在运行阶段,随机网络不是按某种确定性的网络方程进行状态演变,而是按某种概率分布决定其状态的转移。神经元的净输入不能决定其状态取1还是取0,但能决定其状态取1还是取0的概率。这就是随机神经网络算法的基本概念。

上篇博文《随机神经网络之模拟退火》主要介绍了模拟退火,本篇博文接着模拟退火的思想,开始介绍玻尔兹曼机(Boltzmann
machine)。

二、玻尔兹曼机

G·E·Hinton等人于1983 ~ 1986 年提出一种称为 Boltzmann 机的随机神经网络 。在这种网络中神经元只有两种输出状态,即单极性二进制的0或1。状态的取值根据概率统计法则决定,由于这种概率统计法则的表达形式与著名统计力学家 L·Boltzmann 提出的 Boltzmann 分布类似,故将这种网络取名 Boltzmann机。

1. 玻尔兹曼机的原理与结构

BM机的结构介于DHNN全互连与BP网络的层次结构之间,形式上与单层反馈网络DHNN相似,权值对称,且wii = 0;功能上BM机与三层BP网相似,具有输入节点、输出节点和隐节点。一般把输入与输出节点称为可见节点,隐节点成为不可见节点,训练时输入输出节点收集训练样本,而隐节点主要起辅助作用,用来实现输入输出之间的联系,使得训练集能在可见单元再现。BM机的3类节点之间没有明显的层次,连接形式可用如下所示的有向图表示:

2. 神经元的转移函数

设 BM 机中单个神经元的净输入为

与DHNN不同的是,净输入并不能通过符号转移函数直接获得确定的输出状态,实际的输出状态将按照某种概率发生,输出某种状态的转移概率:

上式表示的是神经元j输出状态取1的概率。状态为0的概率就用1减去即可。可以看出,净输入越大,神经元状态取1的概率越大;净输入越小,神经元状态取0的概率越大。而温度T的变化可改变概率曲线的形状。具体如下图所示:

从公式和图中可以看出,当温度T较高时,概率曲线变化平缓,对于同一净输入得到的状态为0或1的概率差别小;而温度低时,改率曲线陡峭,对于同一净输入状态为1或0的概率差别大;当T = 0时,概率函数退化为符号函数,神经元输出状态将无随机性。

3. 网络能量函数与运行的搜索机制

BM机采用的与DHNN网络相同的能量函数描述网络状态,如下图所示:

设BM机按异步方式工作,每次第j个神经元改变状态,根据能量变化公式:

下面进行进行一下讨论:

(1) 当净输入大于0时,状态为1的概率大于0.5。若原来状态xj=1,则Δxj=0,从而ΔE=0;若原理状态xj=0,则Δxj=1,从而ΔE<0,能量下降;

(2) 当净输入小于0时,状态为1的概率小于0.5。若原来状态xj=0,则Δxj=0,从而ΔE=0;若原理状态xj=1,则Δxj=-1,从而ΔE<0,能量下降;

以上对各种可能的情况讨论中可以看出,对于BM机,随着网络状态的演变,从概率意义上网络的能量总是朝着减小的方向变化。这就意味着尽管网络能量的总趋势是朝着减小的方向演进,但不排除在有些神经元状态可能会按照小概率取值,从而使网络能量暂时增加。正是因为有了这种可能性,BM机才具有了从局部极小的低谷中跳出的“爬山”能力,这一点是BM机与DHNN网能量变化的根本区别。由于采用了神经元状态按概率随机取值的工作方式,BM机的恩呢高亮具有不断跳出位置较高的低谷搜索位置较低的新低谷的能力。这种运行方式称为搜索机制,即网络在运行过程中不断地搜索更低的能量极小值,直到达到能量的全局最小。从模拟退火的原理可以看出,温度T不断下降可使得网络“爬山”能力由强减弱,这正是保证BM机能成功搜索到能量全局最小的有效措施。

4. BP机的Boltzmann分布

设xj=1时对应的网络能量为E1,xj=0时网络能量为E0,根据前面的分析结果,当xj由1变为0时,有Δxj=-1,于是有如下的公式:E0-E1= ΔE = netj;对应的状态为1或状态为0的概率如下图所示:

将上式推广到网络中任意两个状态出现的概率与之对应能量之间的关系,有:

这就是著名的Boltzmann分布。从公式中可以看出:BM机处于某一状态的概率主要取决于此状态下的能量,能量越低概率越大;BM机处于某一状态的概率还取决于温度参数T,温度越高,不同状态出现的概率越近,网络能量较容易跳出局部极小而搜索全局最小,温度越低,不同状态出现的概率差别越大,网络能量较不容易改变,从而可以使得网络搜索收敛。这正是采用模拟退火方法搜索全局最小的原因所在。

5. BM机的应用

用BM机进行优化计算时,可构造目标函数为网络的能量函数,为防止目标函数陷入局部最优,采用上述模拟退火算法进行最优解的搜索,开始时温度设置很高,此时神经元状态为1或0概率几乎相等,因此网络能量可以达到任意可能的状态,包括局部最小或全局最小。当温度下降,不同状态的概率发生变化,能量低的状态出现的概率大,而能量高的状态出现的概率小。当温度逐渐降至0时,每个神经元要么只能取1,要么只能取0,此时网络的状态就凝固在目标函数全局最小附近。对应的网络状态就是优化问题的最优解。

用BM机进行联想时,可通过学习用网络稳定状态的概率来模拟训练样本的出现概率。根据学习类型,BM机可分为自联想和异联想。如下图所示:

自联想型BM机中的可见节点V与DHNN网中的节点相似,即使输入节点也是输出节点,隐节点H的数目由学习的需要决定,而最少可以为0;异联想BM机中的可见节点V需按照功能分为输入节点组I和输出节点组O。

*************************************

2015-8-10

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-02 02:35:01

随机神经网络之玻尔兹曼机的相关文章

随机神经网络之模拟退火

一.引言 在机器学习以及优化组合问题中,最常用的方法就是梯度下降法.比如BP神经网络,多层感知器的神经元(units)越多,对应的权矩阵也就越大,每个权可视为一个自由度或者变量.我们知道自由度越高,变量越多,模型越复杂,模型的能力越强.但是模型能力越强,模型就越容易过拟合,对噪声太敏感.另一方面,使用梯度下降进行最优解搜寻时,多变量的误差曲面很像是连绵起伏的山峰一样,变量越多,山峰和山谷也越多,这就导致梯度下降法极容易陷入到局部的一个小山谷,而停止搜索.这就是常规的梯度下降法在解决多维度的优化问

《神经网络与深度学习》(四) 受限玻尔兹曼机

转自:http://blog.csdn.net/qiao1245/article/details/50932519 谈到神经网络,就不得不提到最近非常火的深度学习.那么什么是深度学习?它与神经网络的关系是什么?深度学习的基本原理和常用算法是什么?我将在这篇中详细解答. 什么是深度学习 深度学习来源于人工神经网络,它的思想是组合低层次的特征从而构建出更加抽象的深层次特征.深度学习的概念由Hinton等人于2006年提出, 它是一个新的机器学习领域,通过更"深"层次的训练,它可以更加良好的

受限玻尔兹曼机学习(一)

时间:2014.07.02 地点:基地 ------------------------------------------------------------------------ 一.简述 受限玻尔兹曼机9RBM)是一类具有两层结构.对称链接无自反馈的随机神经网络模型,层与层之间是全连接,层内无链接,也就是说是一个二部图. RBM是一种有效的特征提取方法,常用于初始化前馈神经网络,可明显提高泛化能力.而由多个RBM结构堆叠而成的深度信念网络能提取出更好更抽象的特征,从而用来分类.一下先从玻

深度学习——人工神经网络再掀研究热潮

深度学习——人工神经网络再掀研究热潮 胡晓林 人工神经网络起源于上世纪40年代,到今天已经70年历史了.就像人的一生,经历了起起落落,有过辉煌,有过黯淡,有过嘈杂,有过冷清.总体说来,过去的20年中人工神经网络的研究不温不火,直到最近三五年,随着深度学习概念的提出,人工神经网络才又重新焕发生机,甚至再度掀起研究热潮.本文简述一下人工神经网络的“前世今生”,并简单展望一下它的未来. 第一个神经元模型是1943年McCulloch和Pitts提出的,称为threshold logic,它可以实现一些

神经网络学习之----神经网络发展史

启蒙时期( 1890-1969) 1890年,心理学家William James出版了第一部详细论述人脑结构及功能的专著<心理学原理>,他认为一个神经细胞受到刺激激活后可以把刺激传播到另一个神经细胞,并且神经细胞激活是细胞所有输入叠加的结果. 1943年,神经病学家和神经元解剖学家McCulloch和数学家Pitts在生物物理学期刊发表文章提出神经元的数学描述和结构.并且证明了只要有足够的简单神经元,在这些神经元互相连接并同步运行的情况下,可以模拟任何计算函数( M-P模型).他们所做的开创性

深度学习-常见神经网络

目录 一.深度信念网络(DBN) 玻尔兹曼机(BM) 受限玻尔兹曼机(RBM) 二.卷积神经网络(CNN) 卷积是什么 掷骰子 做馒头 做鱼 图像处理 卷积神经网络特性 卷积神经网络分层 三.生成对抗式网络(GAN) 生成器(generator) 判别器(discriminator) 四.循环神经网络(RNN) 双向RNN 深度RNN 递归RNN 五.长短期记忆网络(LSTM) 4种组成 一.深度信念网络(DBN) 2006年,"神经网络之父"Geoffrey Hinton祭出神器深度

MATLAB神经网络原理与实例精解视频教程

教程内容:<MATLAB神经网络原理与实例精解>随书附带源程序.rar9.随机神经网络.rar8.反馈神经网络.rar7.自组织竞争神经网络.rar6.径向基函数网络.rar5.BP神经网络.rar4.线性神经网络.rar3.单层感知器.rar2.MATLAB函数与神经网络工具箱.rar11.神经网络应用实例.rar10.用GUI设计神经网络.rar1.神经网络概述与MATLAB快速入门.rar下载地址:http://www.fu83.cn/thread-323-1-1.html

神经网络与深度学习——《机器学习及应用》汪荣贵 机械工业出版社

摘录自<机器学习及应用>汪荣贵 机械工业出版社 总结了一些神经网络与深度学习中的一些网络介绍. 1.神经元与感知机 (1)关于激活函数 (2)MLP MLP模型的网络结构没有环路或回路,故是一类前馈网络模型.MLP模型中隐含层的层数可为一层也可为多层.对于MLP模型和BP神经网络这样包含多个数据处理层的前馈网络模型而言,其参数更新过程通常较为复杂.这是因为这类模型的最终输出与之前多层的连接权重相关,相当于多层嵌套的函数.若直接使用类似于梯度下降的优化方法对模型进行训练,则无法直接求得各结点所对

受限波尔兹曼机

1.  概述 前面描述的神经网络模型是一种确定的结构.而波尔兹曼网络是一种随机网络.如何来描述一个随机网络呢?很多书上有大量的篇幅介绍其原理.这里把它总结为以下两点. 第一,概率分布函数.由于网络节点的取值状态是随机的,从贝叶斯网的观点来看,要描述整个网络,需要用三种概率分布来描述系统.即联合概率分布,边缘概率分布和条件概率分布.要搞清楚这三种不同的概率分布,是理解随机网络的关键,这里向大家推荐的书籍是张连文所著的<贝叶斯网引论>.很多文献上说受限波尔兹曼是一个无向图,这一点也有失偏颇.从贝叶