第10章 随机神经网络及模拟退火算法_第1页
第10章 随机神经网络及模拟退火算法_第2页
第10章 随机神经网络及模拟退火算法_第3页
第10章 随机神经网络及模拟退火算法_第4页
第10章 随机神经网络及模拟退火算法_第5页
已阅读5页,还剩119页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章非确定方法确定的方法前几章所给方法的共同特征非确定的方法生物神经网络按照概率运行别称统计方法(StatisticalMethod)。既可以用于训练,又可以用于运行

1机器人智能与神经计算实验室(RINC.LAB)/rinc基本的非确定训练算法

基本思想从所给的网络中“随机地选取一个联接权”,对该联接权提出一个“伪随机调整量”,当用此调整量对所选的联接权进行修改后,如果“被认为”修改改进了网络的性能,则保留此调整;否则放弃本次调整。

2机器人智能与神经计算实验室(RINC.LAB)/rinc基本的非确定训练算法基本数据结构样本集:S={(X1,Y1),(X2,Y2),…,(Xs,Ys)}输入向量:X=(x1,x2,…,xn)理想输出向量:Y=(y1,y2,…,ym)L层:W(1)

,W(2)

,…,W(L)

3机器人智能与神经计算实验室(RINC.LAB)/rinc基本的非确定训练算法拓扑结构

x1o1输出层隐藏层输入层x2o2omxn…………………W(1)

W(L)W(2)4机器人智能与神经计算实验室(RINC.LAB)/rinc算法10-1基本统计训练算法

1从样本集S中取一样本(X,Y);2将X输入到网络中,计算出实际输出O;3求出网络关于Y,O的误差测度E;4随机地从W(1)

,W(2)

,…,W(L)中选择一个联接权wij(p);5生成一个小随机数Δwij(p);6用Δwij(p)修改wij(p);5机器人智能与神经计算实验室(RINC.LAB)/rinc算法10-1基本统计训练算法7用修改后的W(1)

,W(2)

,…,W(L)重新计算X对应的实际输出O′;8求出网络关于Y,O′的误差测度E′;9如果E′<E,则保留本次对W(1)

,W(2)

,…,W(L)的修改,否则,根据概率判断本次修改是否有用,如果认为有用,则保留本次对W(1)

,W(2)

,…,W(L)的修改,如果认为本次修改无用,则放弃它;10重复上述过程,直到网络满足要求。6机器人智能与神经计算实验室(RINC.LAB)/rinc算法10-1基本统计训练算法目标函数(ObjectiveFunction)误差测度函数:实际输出与理想输出方差和

计算量从W(1)

,W(2)

,…,W(L)中随机地选择wij

共有n×H1+H1×H2+H2×H3+…+HM-1×m个“变量”可供选择伪随机数伪随机数发生器来产生Δwij(p);按照所谓的“能量”函数的分布去计算它7机器人智能与神经计算实验室(RINC.LAB)/rinc算法10-1基本统计训练算法局部极小点当E′<E不成立时,考虑使网络从局部极小点中逃离出来,必须允许目标函数暂时变坏

循环控制判断标准用一个样本对网络的某一个联接权进行修改后,是随机地抽取另一个联接权进行重复,还是再选择下一个样本进行重复对一个选定的样本,每次是否可以选取若干个联接权进行修改?如果可以,还应做什么工作?

8机器人智能与神经计算实验室(RINC.LAB)/rinc逃离局部极小点

联接权修改量

太小:落到A点后很难逃离

太大:导致在A、B两点来回抖动

解决办法

控制联接权修改量的大小:权修改量由大变小

允许暂时变坏

修改量的大小和网络的“能量”相关

模拟退火

ABD9机器人智能与神经计算实验室(RINC.LAB)/rinc逃离局部极小点DBA10机器人智能与神经计算实验室(RINC.LAB)/rinc模拟退火算法

金属中原子的能量与温度有关原子能量高的时候,有能力摆脱其原来的能量状态而最后达到一个更加稳定的状态——全局极小能量状态在金属的退火过程中,能量的状态分布P(E)——系统处于具有能量E的状态的概率;k——Boltzmann常数;T——系统的绝对温度(Kelvin)P(E)∝11机器人智能与神经计算实验室(RINC.LAB)/rinc步长和能量、温度的关系

降温过程高温低温原子运动平稳原子激烈随机运动能量与温度相关步长与能量和温度相关步长与能量相关大步长小步长可逃离难逃离金属热加工大小高低高能量低能量目标函数的值网络的能量训练12机器人智能与神经计算实验室(RINC.LAB)/rinc能量与温度高温情况下:T足够大,对系统所能处的任意能量状态E,有

将趋近于113机器人智能与神经计算实验室(RINC.LAB)/rinc能量与温度中温情况下:T比较小,E的大小对P(E)有较大的影响,设E1>E2

P(E2)>P(E1)。即,系统处于高能量状态的可能性小于处于低能量状态的可能性14机器人智能与神经计算实验室(RINC.LAB)/rinc能量与温度15机器人智能与神经计算实验室(RINC.LAB)/rinc能量与温度低温情况下:T非常小,E的大小对P(E)的影响非常大,设E1>E2

P(E2)>>P(E1)。即,当温度趋近于0时,系统几乎不可能处于高能量状态16机器人智能与神经计算实验室(RINC.LAB)/rinc

模拟退火算法(SimulatedAnnealing)来源于固体退火原理,将固体加温至充高,再让其徐徐冷却,加温时,固体内部粒子随温度升高变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。它由Metropolis算法和退火过程(AnnealingProcedure,AP)组成。机器人智能与神经计算实验室(RINC.LAB)/rinc17

模拟退火算法的基本思路:首先在高温下进行搜索,此时各状态出现概率相差不大,可以很快进入“热平衡状态”,这时进行的是一种“粗搜索”,也就是大致找到系统的低能区域;随着温度的逐渐降低,各状态出现概率的差距逐渐被扩大,搜索精度不断提高。这就可以越来越准确的找到网络能量函数的全局最小点。机器人智能与神经计算实验室(RINC.LAB)/rinc18模拟退火的最初目的是寻找代表复杂系统的代价函数的全局最小值。因此,这种方法为解决凹平面最优问题提供了一个强有力的工具,其中心思想在于:在用模拟退火最优化一个复杂系统(如:一个拥有很多自由度的系统)时,误差或能量函数绝大部分的时间在下降,但不是一直下降,即误差或能量函数的总趋势向减小的方向变化,但有时也向增大的方向变化,这样可跳出局部极小点,向全局最小点收敛。机器人智能与神经计算实验室(RINC.LAB)/rinc19模拟退火与传统迭代最优算法的比较:(1)当系统在非零温度下时,从局部最优中跳出是非常可能的,因此不会陷入局部最优。(2)系统最终状态的总特征可以在较高温度下看到,而状态的好的细节却在低温下表现,因此,模拟退火是自适应的.。机器人智能与神经计算实验室(RINC.LAB)/rinc20模拟退火原理

1. Metropolis抽样过程假定一随机变量在某一时刻的状态为vi。在另一时刻的状态为vj。假设这种状态的转移满足以下条件:ΔE表示系统从状态vi转移至状态vj所引起的能量差。如果能量差ΔE为负,这种转移就导致状态能量的降低,这种转移就被接受。接下来,新状态作为算法下一步的起始点。机器人智能与神经计算实验室(RINC.LAB)/rinc21若能量差为正,算法在这一点进行概率操作。首先,选定一个在[0,1]内服从均匀分布的随机数ξ。如果ξ<e-ΔE/T,则接受这种转移。否则,拒绝这种转移;即在算法的下一步中拒绝旧的状态。如此反复,达到系统在此温度下的热平衡。这个过程称作Metropolis抽样过程。Metropolis抽样过程就是在一确定温度下,使系统达到热平衡的过程。机器人智能与神经计算实验室(RINC.LAB)/rinc222. 退火过程(降温过程)在Metropolis抽样过程中温度T缓慢的降低。模拟退火过程就是通过T参数的变化使状态收敛于最小能量处。因而,T参数的选择对于算法最后的结果有很大影响。初始温度和终止温度设置的过低或过高都会延长搜索时间。降温步骤太快,往往会漏掉全局最优点,使算法收敛至局部最优点。降温步骤太慢,则会大大延长搜索全局最优点的计算时间,从而难以实际应用。因此,T可以理解为一个控制参数。机器人智能与神经计算实验室(RINC.LAB)/rinc23

为寻找在有限时间逼近全局最优的模拟退火算法,设置了许多控制算法收敛的参数。在退火过程中指定了有限的退火温度值和在每一温度下的转移数目。Kirlpatrick等人在退火步骤中设定的参数如下:(1)初始温度值:初始温度值T0要选的足够高,保证模拟退火算法中所有可能的转移都能被接受。机器人智能与神经计算实验室(RINC.LAB)/rinc24(2)温度的下降:原先使用指数函数实现温度的下降。但是这种方法使降温幅度过小,从而延长搜索时间。在实际中,通常使用下式:此处λ是一小于却接近于1的常数。λ通常的取值在0.8至0.99之间。在每一温度下,实验足够多的转移次数。

机器人智能与神经计算实验室(RINC.LAB)/rinc25(3)终止温度:如果在连续的若干个温度下没有可接受的新状态,系统冻结或退火停止。模拟退火尤其适合解决组合优化问题,下面以模拟退火算法解决组合优化问题来进一步介绍模拟退火算法的步骤。机器人智能与神经计算实验室(RINC.LAB)/rinc26模拟退火算法用于组合优化问题

许多工程上和理论上的问题,其目标都是在一个很大的解空间中寻求一个最优解,这些问题统称为组合优化问题。在许多组合优化问题中,一个解通常是满足一定规则的一些离散对象的排列,所有这些解的集合叫做解空间。通常用一个“代价函数”C(x)来衡量一个解的优劣,目标就是选择一个解使其代价函数C(x)最小,如TSP问题、大规模集成电路布局布线问题等。

机器人智能与神经计算实验室(RINC.LAB)/rinc27模拟退火与组合优化问题的对应关系机器人智能与神经计算实验室(RINC.LAB)/rinc

模拟退火算法

组合优化问题样本问题举例状态解能量代价函数温度控制参数热平衡时的能量最小代价热平衡状态最优解28设V={V1,V2,…,Vn}为所有可能的组合(或状态)所构成的集合。C(﹒)是V的函数,且,反映取状态Vi为解的代价,目标是寻找使模拟退火算法应用于组合优化问题的基本思想就是把每种组合状态Vi看成某一物质体系的微观状态,C(Vi)可看成该物质体系在Vi下的能量,温度T为控制参数。机器人智能与神经计算实验室(RINC.LAB)/rinc29让T从一个足够高的值慢慢下降,对于每个T,对当前状态V作随机扰动产生一个新状态V’,计算其增量ΔC=C(V)-C(V’’),并以概率e-ΔC/kT接受V’作为新的当前状态。根据统计力学的知识,当重复如此随机扰动足够次数后,状态Vi的出现概率如下:

服从Boltzmann分布。机器人智能与神经计算实验室(RINC.LAB)/rinc30模拟退火用于组合优化问题算法实现步骤:第一步:初始化。依据所要解决的组合优化问题,确定代价函数C(﹒)的表达式,随机选择初始状态V=V(0),设定初始温度T0,终止温度Tfinal,概率阈值ξ。第二步:Metropolis抽样过程(1)在温度T下依据某一规定的方式,根据当前解所处的状态V,产生一个近邻子集N(V)(可包括V,也可不包括V),在N(V)内随机寻找一个新状态S’作为下一个当前解的候选解,计算ΔC’=C(V’’)-C(V)。机器人智能与神经计算实验室(RINC.LAB)/rinc31(2)若ΔC’<0,则V=V’,作为下一状态;若ΔC’>0,则计算概率e-ΔC`/T,若其大于给定概率阈值ξ,则取下一状态为V=V’,否则,保留这一状态。(3)按某一给定的收敛算法检查算法在温度T下是否应停止,若符合收敛条件则表示已达到热平衡,转向第三步的退火过程,若不符合收敛条件,则转向(1)继续迭代,直至在此温度下收敛。机器人智能与神经计算实验室(RINC.LAB)/rinc32

第三步:退火过程。

按照一定的降温方法得到一个新的温度T,检查T是否小于给定的温度终止阈值Tfinal。若小于,则退火过程结束,当前状态V即为算法最终输出解。若温度T大于等于给定阈值,则转至Metropolis抽样过程,在新的温度下搜索状态。注意:在上述退火过程中,模拟退火算法是否能达到能量E的最小值,取决于T0是否足够高,和T下降得是否充分慢,以及对每个T时系统是否稳定。机器人智能与神经计算实验室(RINC.LAB)/rinc33模拟退火算法的参数控制问题(1)T0的选择方法:

a.均匀随机抽样{Vi},取此时C(Vi)的方差为T0b.在所有可能的组合状态中,选两个状态使ΔC’

最大,取T0为ΔC’的若干倍;

c.按经验给出。机器人智能与神经计算实验室(RINC.LAB)/rinc34(2)退火过程中Tfinal

的选取方法:

a依据经验确定

b检验系统的熵是已否达到最小,若达到最小, 即可认为温度已达到终止温度。

cT下降n次后都没有改善,即可认为能量已降 到最低,没有必要再降温。机器人智能与神经计算实验室(RINC.LAB)/rinc35(3)Metropolis抽样过程的收敛算法:

a.检验目标函数C(﹒)的均值是否稳定;

b.继续若干步,C(﹒)变化很小(设定阈值);c.按一个固定步数抽样。(4)降温方法的确定:根据Kirlpatrick的方法令,机器人智能与神经计算实验室(RINC.LAB)/rinc36模拟退火算法是一种通用的随机搜索算法,它可用于解决众多的优化问题,并已经广泛的应用于其他领域。如VLSL设计、图像识别等。当待解决的问题复杂性较高,而且规模较大时,在对问题的领域知识甚少的情况下,采用模拟退火算法最合适。因为模拟退火算法不像其他确定型启发式算法那样,需要依赖于问题的领域知识来提高算法的性能。机器人智能与神经计算实验室(RINC.LAB)/rinc37但是,从另一方面来说,已知有关待解决问题的一些知识后,模拟退火算法却无法充分利用它们,这使得模拟退火算法的优点就成了缺点。如何把传统的启发式搜索方法和模拟退火随机搜索算法结合起来,这是一个有待研究的十分有意义的课题。机器人智能与神经计算实验室(RINC.LAB)/rinc38模拟退火算法具有跳出局部最优陷阱的能力,因此被Ackley、Hinton和Sejnowski用作Boltzmann机学习算法,从而使Boltzmann机克服了Hopfield网络经常收敛到局部最优点的缺点。在Boltmann机中,即使系统落入局部最优的陷阱,经过一段时间后,它还能重新跳出来,使系统最终将往全局最优点的方向收敛。机器人智能与神经计算实验室(RINC.LAB)/rinc39模拟退火算法在求解规模较大的实际问题时,往往存在以下缺点:(1)收敛速度比较慢。(2)尽管理论上只要计算时间足够长,模拟退火法就可以保证以概率1收敛于全局最优点。但是在实际算法的实现过程中,由于计算速度和时间的限制,在优化效果和计算时间二者之间存在矛盾,因而难以保证计算结果为全局最优点,优化效果不甚理想。

(3)在每一温度下很难判定是否达到了平衡状态。机器人智能与神经计算实验室(RINC.LAB)/rinc40为此,人们对模拟退火算法提出了各种各样的改进,其中包括并行模拟退火算法、快速模拟退火算法(Cauchy机)和对模拟退火算法中各个函数和参数的重新设计等。机器人智能与神经计算实验室(RINC.LAB)/rinc41模拟退火组合优化法

目标函数——能量函数人工温度T——一个初值较大的数依据网络的能量和温度来决定联接权的调整量(称为步长)。与金属的退火过程(Annealing)非常相似42机器人智能与神经计算实验室(RINC.LAB)/rinc模拟退火组合优化法基本思想随机地为系统选择一个初始状态{wij(p)},在此初始状态下,给系统一个小的随机扰动Δwij(p),计算系统的能量变化ΔE=E({wij(p)+Δwij(p)})-E({wij(p)})

若ΔE<0则接受若ΔE≥0则依据概率判断是否被接受若接受,则系统从状态{wij(p)}变换到状态{wij(p)+Δwij(p)};否则,系统保持不变

43机器人智能与神经计算实验室(RINC.LAB)/rinc模拟退火组合优化法在这个过程中,逐渐地降低温度T。所得的系统状态序列{wij(p)}将满足下列分布

44机器人智能与神经计算实验室(RINC.LAB)/rinc算法10-2模拟退火算法

1初始化各层的联接权矩阵W;定义人工温度T的初值;2

对每一个温度T重复如下过程:

2.1

取一样本,计算其输出与目标函数E({wij(p)});

2.2

随机地从{wij(p)}中选取一个wij(p);

2.3

按一定的算法产生wij(p)

的一个调整量Δwij(p)

2.4

按照{wij(p)+Δwij(p)}重新计算相应输出和目标函数E({wij(p)+Δwij(p)});

2.5

ΔE=E({wij(p)+Δwij(p)})-E({wij(p)});45机器人智能与神经计算实验室(RINC.LAB)/rinc算法10-2模拟退火算法

2.6

ifΔE>0then 2.6.1按均匀分布在[0,1]区间取一随机数r;

2.6.2按Boltzmann分布计算接受本次调整的概率:

P(E({wij(p)+Δwij(p)}))= 2.6.3ifP(E({wij(p)+Δwij(p)}))<rthen转2.2;46机器人智能与神经计算实验室(RINC.LAB)/rinc算法10-2模拟退火算法

2.7用{wij(p)+Δwij(p)}代替{wij(p)};

2.8if样本集中还有未被选用的样本then转2.1;3判断在此温度下,检验Metropolis抽样是否稳定。如不稳定,则直接转2;4降低温度T;5如果T足够小,则结束,否则,转2。

47机器人智能与神经计算实验室(RINC.LAB)/rinc算法10-2模拟退火算法算法的第2步原则上应该对每一个样本调整每一个权,调整的顺序是随机的;温度T的降低T=λT

λ叫做冷却率,一般情况下可以在[0.8,0.9]之间取值

Geman(1984年):温度下降必须与时间的对数成反比,网络最终才能收敛到全局极小点

48机器人智能与神经计算实验室(RINC.LAB)/rinc算法10-2模拟退火算法T的初值T0

T0=

E({w(h)});即:取初始系统目标函数(能量)的值

T0=z

E({w(h)})。即:取初始系统目标函数(能量)值的若干倍

按照经验给出

49机器人智能与神经计算实验室(RINC.LAB)/rinc算法10-2模拟退火算法调整量Δwij(p)的计算

可以根据Boltzmann分布或者Gaussian分布来计算。也可以用其它的方法。下面讨论按Gaussian分布进行计算的方法。我们取如下形式的Gaussian分布函数。简洁起见,用符号w代替符号wij(p):

p(Δw)=

50机器人智能与神经计算实验室(RINC.LAB)/rincMonteCarlo法

数值积分法

根据网络的精度要求,设一个积分步长δ,然后通过数值积分构造出如下形式的表格

机器人智能与神经计算实验室(RINC.LAB)/rinc51Δwδ2δ3δ4δ…NδC1C2C3C4…CNMonteCarlo法首先按照均匀分布在[C1,CN]中随机地取一个值C,然后,从

{C1,C2,C3,…,CN}中选取Ck满足:|Ck-C|=min{|C-C1|,|C-C2|,|C-C3|,…,|C-CN|}Ck对应的kδ就是所需要的联接权调整量Δw

机器人智能与神经计算实验室(RINC.LAB)/rinc52Cauchy训练

Boltzmann分布Boltzmann训练

1987年,S.Szu和R.Hartley提出用Cauchy分布去取代Gaussian分布机器人智能与神经计算实验室(RINC.LAB)/rinc53Cauchy分布p(x)=Cauchy训练——优点对于[C1,CN]中的任意一个C,它按照Cauchy分布所能取到的联接权的调整量要大于按照Boltzmann分布所能取到的联接权的调整量

用Cauchy分布取代Boltzmann分布后,温度可以下降得更快。这时,温度的下降变得与时间成反比:T0/(1+t)Cauchy分布函数可以用常规的方法进行积分运算

机器人智能与神经计算实验室(RINC.LAB)/rinc54Cauchy分布函数积分运算机器人智能与神经计算实验室(RINC.LAB)/rinc55Cauchy分布函数积分运算MonteCarlo法:在(0,1)中按照均匀分布随机取一数为P(Δw),再取当前的温度,就可以直接地计算出Δw

Cauchy训练算法:将算法10-2中的Boltzmann分布换成Cauchy分布

机器人智能与神经计算实验室(RINC.LAB)/rinc56Δw=αTtg(P(Δw))人工热问题

特殊热——温度关于能量的变化率系统在能量跃变边界处的温度叫做临界温度人工特殊热/“伪特殊热”

系统的人工温度关于系统的能量函数(目标函数)的平均变化率

临界温度临界温度时的小量下降,会引起能量函数值的较大变化

系统正处于一个局部极小点附近

临界温度点可以通过考察所定义的人工特殊热的变化情况得到

机器人智能与神经计算实验室(RINC.LAB)/rinc57BP算法与Cauchy训练的结合

Cauchy训练的速度比Boltzmann训练快

Cauchy训练的速度比BP算法慢Cauchy训练有可能使网络逃离局部极小点由BP算法提供直接计算部分,Cauchy算法提供随机部分wij=wij+∆wij∆wij=α((1-β)δjoi+β∆wij′)+(1-α)∆wij(c)α∈(0,1)为学习率,β∈(0,1)为冲量系数

机器人智能与神经计算实验室(RINC.LAB)/rinc58

随机神经网络是统计力学思想引入神经网络研究的结果。统计力学是研究大系统宏观平衡性质的学科,这种大系统的组成元素服从微观机制。统计力学的主要目的是寻找从微观粒子(原子、电子)的运动开始的宏观物体的热力学性质,由于所遇到的自由度数目很大,因此只能使用概率的方法进行研究。59机器人智能与神经计算实验室(RINC.LAB)/rinc

随机神经网络与其他网络的比较

名称

网络类型

网络结构

学习算法BP网络多层前向网络含输入层、隐层、输出层。层内神经元无连接网络按误差减少的最大梯度方向调整权值Hopfield

网络反馈神经网络单层神经网络,层内神经元全互连网络按照其用途来设计或训练网络权值Boltzmann机随机神经网络含输入部、输出部和中间部。神经元互连网络向误差减小的方向运行概率大,但也可能向误差增大方向运行BP网络是一种“贪心”算法,容易陷入局部最小点。Hopfield网络很难避免出现伪状态,网络是严格按照能量减小的方向运行的,容易陷入局部极小点,而无法跳出。所以,在用BP网络和Hopfield网络进行最优化的计算时,由于限定条件的不足,往往会使网络稳定在误差或能量函数的局部最小点,而不是全局最小点,即所得的解不是最优解。61机器人智能与神经计算实验室(RINC.LAB)/rinc网络陷入局部最小点的原因主要有两点:(1)网络结构上存在着输入到输出之间的非线性函数关系,从而使网络误差或能量函数所构成的空间是一个含有多极点的非线性空间。(2)在算法上,网络的误差或能量函数只能单方向减小,不能有一点上升。62机器人智能与神经计算实验室(RINC.LAB)/rinc随机神经网络的基本思想:网络向误差或能量函数减小方向运行的概率大,同时向误差或能量函数增大方向运行的概率存在,这样网络跳出局部极小点的可能性存在,而且向全局最小点收敛的概率最大。63机器人智能与神经计算实验室(RINC.LAB)/rinc

20世纪80年代,Ackley,Hinton和Sejnowski等人以模拟退火思想为基础,对Hopfield网络引入了随机机制,推出Boltzmann机。

Boltzmann机是第一个受统计力学启发的多层学习机,它是典型的随机神经网络。其命名来源于Boltzmann机在统计力学中的早期工作和网络本身的动态分布行为(其平衡状态服从Boltzmann分布),其运行机制服从模拟退火算法。机器人智能与神经计算实验室(RINC.LAB)/rinc6410.1Boltzmann机10.1.1Boltzmann机的网络结构10.1.2Boltzmann机的工作原理10.1.3Boltzmann机的运行步骤10.1.4Boltzmann机的学习规则机器人智能与神经计算实验室(RINC.LAB)/rinc6510.1.1Boatman机的网络结构机器人智能与神经计算实验室(RINC.LAB)/rinc图10-1boltzmann机的网络结构

Boltzmann机由输入部、输出部和中间部构成。输入神经元和输出神经元可称为显见神经元,它们是网络与外部环境进行信息交换的媒介。中间部的神经元称为隐见神经元,它们通过显见神经元与外部进行信息交换。每一对神经元之间的信息传递是双向对称的,即wij=wji

,而且自身无反馈即wii=0。学习期间,显见神经元将被外部环境“约束”在某一特定的状态,而中间部隐见神经元则不受外部环境约束。机器人智能与神经计算实验室(RINC.LAB)/rinc67机器人智能与神经计算实验室(RINC.LAB)/rinc68Boltzmann机中单个

神经元的运行特性机器人智能与神经计算实验室(RINC.LAB)/rinc

式中bi是该神经元的阈值。可以将bi归并到总的加权和中去,即得:69

Boltzmann机中每个神经元的兴奋或抑制具有随机性,其概率取决于神经元的输入。神经元i的全部输入信号的总和为ui为:

神经元的输出vi依概率取1或0:

vi取1的概率:

vi取0的概率:

机器人智能与神经计算实验室(RINC.LAB)/rinc

由此可见,vi取1的概率受两个因素的影响:(1)

ui越大vi则取1的概率越大,而取0的概 率越小。(2)参数T称为“温度”,在不同的温度下vi 取1的概率P随ui的变化如图所示。70机器人智能与神经计算实验室(RINC.LAB)/rinc

p~u的关系71可见,T越高时,曲线越平滑,因此,即使ui有很大变动,也不会对vi取1的概率变化造成很大的影响;反之,T越低时,曲线越陡峭,当ui有稍许变动时就会使概率有很大差异。即温度高时状态变化接近随机,随着温度的降低向确定性的动作靠近。当T→0时,每个神经元不再具有随机特性,而具有确定的特性,激励函数变为阶跃函数,这时Boltzmann机趋向于Hopfield网络。机器人智能与神经计算实验室(RINC.LAB)/rinc7210.1.1Boltzmann机的工作原理

Boltzmann机采用下式所示的能量函数作为描述其状态的函数。

将Boltzmann机视为一动力系统,能量函数的极小值对应系统的稳定平衡点,由于能量函数有界,当网络温度以某种方式逐渐下降到某一特定值时,系统必趋于稳定状态Boltzmann机的运行过程就是逐步降低其能量函数的过程。机器人智能与神经计算实验室(RINC.LAB)/rinc73Boltzmann机在运行时,假设每次只改变一个神经元的状态,如第i个神经元,设vi取0和取1时系统的能量函数分别为0和,它们的差值为ΔEi

ΔEi的取值可能有两种情况:ΔEi>0或ΔEi<0。

机器人智能与神经计算实验室(RINC.LAB)/rinc74(1)当

ΔEi>0即>0时,

神经元取1的概率:神经元取0的概率:机器人智能与神经计算实验室(RINC.LAB)/rinc当=ΔEi>0时,这时神经元i的状态取1的可能性比取0的可能性大,即网络状态取能量低的可能性大。75(2)同理当ΔEi<0时,即那么此时即神经元i的状态取0的可能性比取1的可能 性大。机器人智能与神经计算实验室(RINC.LAB)/rinc网络状态取能量低的可能性大。运行过程中总的趋势是朝能量下降的方向运动,但也存在能量上升的可能性。76

有一个凹凸不平的盆,要使一个小球稳定在最低的地方,如果把小球轻轻地放入盆中,那么结果必然是小球稳定在距放入地方最近的低洼处。但是稳定所在的地方并不保证是最低的地方,这一动作与Hopfield网络相当。Boltzmann机则是大幅度摇晃刚放入小球的盆子,然后逐渐减小摇晃的幅度。这样,小球才有可能到盆子的最低处B处。机器人智能与神经计算实验室(RINC.LAB)/rinc举例说明Boltzmann机的学习算法假定Boltzmann机中有V1和V2两种状态:在V1状态下神经元i的输出vi=1,V2状态下神经元i的输出vi=0,而所有其他神经元在这两种状态下的取值都是一致的,另外假设两种状态出现的概率分别是和:

机器人智能与神经计算实验室(RINC.LAB)/rinc78

对于网络中任意两个状态V1和V2的出现概率分别为和。它们之间的关系为

上式符合统计理学中己知的Boltzmann分布。Boltzmann机由此得名。机器人智能与神经计算实验室(RINC.LAB)/rinc79一方面:这就说明了能量低的状态出现的概率大,能量高的状态出现的概率小。另一方面:温度参数T也会影响boltzmann机处于某种状态的概率。机器人智能与神经计算实验室(RINC.LAB)/rinc80(1)T很高时,各状态出现的概率差异大大减小,也就是说网络停留在全局最小点的概率,并不比局部最小点的概率甚至非局部最小点高很多。也即网络不会陷在某个极小点中拔不出来,网络在搜索过程中能够“很快”的穿行于各极小点之间,但落于全局最小点的概率还是最大的。这一点保证网络状态落入全局最小点的可能性大。

机器人智能与神经计算实验室(RINC.LAB)/rinc81(2)T很低时,情况正好相反。概率差距被加大,一旦网络陷于某个极小点之后,虽然还有可能跳出该极小点,但是所需的搜索次数将是非常多的。这一点保证网络状态一旦达到全局最小点,跳出的可能性小(3)T→0(Hopfield网络)。差距被无限扩展,跳出局部最小点的概率趋于无穷小。这一点保证网络状态稳定在全局最小点。机器人智能与神经计算实验室(RINC.LAB)/rinc8210.1.3Boltzmann机的运行步骤机器人智能与神经计算实验室(RINC.LAB)/rinc设一个Boltzmann机具有n个随机神经元(p个显见神经元,q个隐见神经元),第i个神经元与第j个神经元的连接权值为wij,i,j=1,2,…,n。T0为初始温度,m=1,2,…,M为迭代次数。Boltzmann机的运行步骤为:第一步:对网络进行初始化。设定初始温度T0、终止温度Tfinal和阈值ξ,以及网络各神经元的连接权值wij。83第二步:在温度Tm条件下(初始温度为T0)随机选取网络中的一个神经元i,计算神经元i的输入信号总和ui:第三步:若ui>0,即能量差ΔEi>0,取vi=1为神经元i的下一状态值。若ui<0,计算概率:机器人智能与神经计算实验室(RINC.LAB)/rinc84第四步:判断网络在温度Tm下是否达到稳定,若未达到稳定,则继续在网络中随机选取另一神经元j,令j=i,转至第二步重复计算,直至网络在Tm下达到稳定。若网络在Tm下已达到稳定则转至第五步计算。第五步:以一定规律降低温度,使Tm+1<Tm,判断Tm+1是否小于Tfinal,若Tm+1大于等于Tfinal,则Tm=Tm+1,转至第二步重复计算;若Tm+1小于Tfinal,则运行结束。此时在Tm下所求得的网络稳定状态,即为网络的输出。机器人智能与神经计算实验室(RINC.LAB)/rinc85Boltzmann机学习需要注意几点:(1)初始温度T0的选择方法。初始温度T0的选取主要有以下方法:随机选取网络中k个神经元,选取这k个神经元能量的方差作为T0;在初始网络中选取使ΔE最大的两个神经元,取T0为ΔEmax的若干倍;按经验值给出T0等。(2)确定终止温度阈值Tfinal的方法。主要根据经验选取,若在连续若干温度下网络状态保持不变,也可认为已达到终止温度。机器人智能与神经计算实验室(RINC.LAB)/rinc86(3)概率阈值ξ的确定方法。ξ的选取方法主要有:在网络初始化时按照经验确定或在网络每次运行过程中选取一个[0,0.5]之间均匀分布的随机数。(4)网络权值wij的确定方法。将在下一章节讨论。(5)在每一温度下达到热平衡的条件。通常在每一温度下,实验足够多的次数,直至网络状态在此温度下不再发生变化为止。机器人智能与神经计算实验室(RINC.LAB)/rinc87(6)降温的方法。通常采用指数的方法进行降温,即:为加快网络收敛速度也可采用倍乘一个小于1的降温系数的方法进行快速降温。机器人智能与神经计算实验室(RINC.LAB)/rinc8810.1.4Boltzmann机的学习规则Boltzmann机是一种随机神经网络,可使用概率中的似然函数量度其模拟外界环境概率分布的性能。因此,Boltzmann机的学习规则就是根据最大似然规则,通过调整权值wij,最小化似然函数或其对数。假设给定需要网络模拟其概率分布的样本集合,Vx是样本集合中的一个状态向量,Vx即可代表网络中显见神经元的一个状态,假设向量Vy表示网络中隐见神经元的一个可能状态,则V=[VxVy]即可表示整个网络所处的状态。机器人智能与神经计算实验室(RINC.LAB)/rinc89由于网络学习的最终目的是模拟外界给定样本集合的概率分布,而Boltzmann机含有显见神经元和隐见神经元,因此Boltzmann机的学习过程包括以下两个阶段:(1)主动阶段:网络在外界环境约束下运行,即由样本集合中的状态向量Vx控制显见神经元的状态。定义神经元i和j的状态在主动阶段的平均关联为:

机器人智能与神经计算实验室(RINC.LAB)/rinc90

其中概率P(Vy|Vx)表示网络的显见神经元约束在Vx下隐见神经元处于Vy的条件概率,它与网络在主动阶段的运行过程有关。2)被动阶段:网络不受外界环境约束,显见神经元和隐见神经元自由运行,不受约束。被动阶段的平均关联为:定义神经元i和j的状态在机器人智能与神经计算实验室(RINC.LAB)/rinc91

P(V)为网络处于V状态时的概率,vi和vj分别是神经元i和j的输出状态。由于网络在自由运行阶段服从Boltzmann分布,因此:E(V)为网络处于V状态时的能量。网络的权值wij需遵循下面的调整规则:机器人智能与神经计算实验室(RINC.LAB)/rinc92wij(t)为在第t步时神经元i,j之间的连接权值,η为学习速率,T是网络温度。Boltzmann机的优点:(1)通过训练,神经元体现了与周围环境相匹配的概率分布;(2)网络提供了一种可用于寻找、表示和训练的普遍方法;(3)若保证学习过程中温度降低的足够慢,根据状态的演化,可以使网络状态的能量达到全局最小点。机器人智能与神经计算实验室(RINC.LAB)/rinc93但是在Boltzmann机的学习过程中被动阶段的存在具有两个很大的缺点:(1)增加计算时间。在外界环境约束条件下,一些神经元由外部环境约束,而在自由运行条件下,所有的神经元自由运行,这样增加了Boltzmann机的随机仿真时间。(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论