随机神经网络及模拟退火算法文档格式.docx
- 文档编号:19331947
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:27
- 大小:456.69KB
随机神经网络及模拟退火算法文档格式.docx
《随机神经网络及模拟退火算法文档格式.docx》由会员分享,可在线阅读,更多相关《随机神经网络及模拟退火算法文档格式.docx(27页珍藏版)》请在冰豆网上搜索。
6.1.1Boltzmann机的网络结构
Boltzmann机考虑到多层网络的优点,采用具有多层网络含义的网络结构,其网络结构如图6.1所示。
Boltzmann机由输入部、输出部和中间部构成。
输入部和输出部神经元通称作显见神经元,是网络与外部环境进行信息交换的媒介,中间部的神经元称为隐见神经元,它们通过显见神经元与外界进行信息交换,但Boltzmann机网络没有明显的层次。
另外,Boltzmann机考虑到Hopfield网络的动态特性,其神经元是互联的,网络状态按照概率分布进行变化。
图6.1Boltzmann机的网络结构
与Hopfield网络一样,网络中每一对神经元之间的信息传递是双向对称的,即wij=wji,而且自身无反馈,即wii=0。
学习期间,显见神经元将被外部环境“约束”在某一特定的状态,而中间部隐见神经元则不受外部环境约束。
Boltzmann机中每个神经元的兴奋或抑制具有随机性,其概率取决于神经元的输入。
Boltzmann机中单个随机神经元的形式化描述如图6.2所示。
图6.2Boltzmann机神经元的形式化描述
神经元i的全部输入信号的总和为ui,由式(6.1)给出。
式中bi是该神经元的阈值。
可以将bi归并到总的加权和中去,即得到式(6.2):
(6.1)
或
(6.2)
神经元
的输出vi依概率取1或0:
vi取1的概率:
(6.3)
vi取0的概率:
(6.4)
显然,ui越大,则vi取1的概率越大,而取0的概率越小。
参数T称为“温度”,对vi取1或0的概率有影响。
在不同的温度下vi取1的概率P随ui的变化如图6.3所示。
图6.3P~u关系曲线
从图6.3可见,T越高时,曲线越平滑,因此,即使ui有很大变动,也不会对vi取1的概率变化造成很大的影响;
反之,T越低时,曲线越陡峭,当ui有稍许变动时就会使概率有很大差异。
当T→0时,每个神经元不再具有随机特性,而具有确定的特性,激励函数变为阶跃函数,这时Boltzmann机趋向于Hopfield网络。
从这个意义上来说,Hopfield网络是Boltzmann机的特例。
6.1.2Boltzmann机的工作原理
Boltzmann机采用式(6.5)所示的能量函数作为描述其状态的函数。
将Boltzmann机视为一动力系统,利用式(6.5)可以证明能量函数的极小值对应系统的稳定平衡点,由于能量函数有界,当网络温度
以某种方式逐渐下降到某一特定值时,系统必趋于稳定状态。
将需要求解的优化问题的目标函数与网络的能量函数相对应,神经网络的稳定状态就对应优化目标的极小值。
Boltzmann机的运行过程就是逐步降低其能量函数的过程。
(6.5)
Boltzmann机在运行时,假设每次只改变一个神经元的状态,如第i个神经元,设vi取0和取1时系统的能量函数分别为0和
,它们的差值为ΔEi:
(6.6)
ΔEi>
0即
时,网络在vi=1状态的能量小于vi=0状态时的能量,在这种情况下,根据式(6.2)、式(6.3)和式(6.4),可知:
P(vi=1)>
P(vi=0),即神经元i的状态取1的可能性比取0的可能性大,亦即网络状态取能量低的可能性大;
反之,当ΔEi<
时,vi=0状态时的能量小于vi=1时的能量,根据式(6.2)、式(6.3)和式(6.4),可知:
P(vi=1)<
P(vi=0),即神经元i取0状态的可能性比取1的可能性大,亦即网络状态取能量低的可能性大。
因此,网络运行过程中总的趋势是朝能量下降的方向运动,但也存在能量上升的可能性。
从概率的角度来看,如果ΔEi越是一个大正数,vi取1的概率加大;
如果ΔEi越是一个小负数,vi取0的概率加大。
对照式(6.2),(6.3)和(6.6),可得:
vi取1的概率:
(6.7)
每次调整一个神经元的状态,被调整的神经元取1还是0,则根据其输入由(6.7)式决定。
每次调整后,系统总能量下降的概率总是大于上升的概率,所以系统的总能量呈下降趋势。
图6.4描述了Boltzmann机能量函数随状态的变化。
其中点A和C是局部极小点,点B是全局极小点。
在最优化计算时希望使搜索的结果停留在全局极小点而不是局部极小点,即求得最优解而不是次优解。
通过前面的分析可知,Boltzmann机状态的演化过程中达到B点状态的概率最大。
图6.4能量函数曲线图示
假定Boltzmann机中有V1和V2两种状态:
在V1状态下神经元i的输出vi=1,V2状态下神经元i的输出vi=0,而所有其他神经元在这两种状态下的取值都是一致的,另外假设两种状态出现的概率分别是
和
:
(6.8)
对于网络中任意两个状态V1和V2的出现概率
,它们之间的关系为:
(6.9)
即符合Boltzmann分布。
这也是这种网络模型之所以称为Boltzmann机的原因所在。
从式(6.9)可见Boltzmann机处于某一状态的概率取决于该网络在此状态下的能量。
(6.10)
(6.10)式说明能量低的状态出现的概率大,能量高的状态出现的概率小。
另一方面,Boltzmann机处于某一状态的概率也取决于温度参数T:
(1)T很高时,各状态出现的概率差异大大减小,也就是说网络停留在全局最小点的概率,并不比局部最小点的概率甚至非局部最小点高很多。
也即网络不会陷在某个极小点中拔不出来,网络在搜索过程中能够“很快”的穿行于各极小点之间,但落于全局最小点的概率还是最大的。
这一点保证网络状态落入全局最小点的可能性大。
(2)T很低时,情况正好相反。
概率差距被加大,一旦网络陷于某个极小点之后,虽然还有可能跳出该极小点,但是所需的搜索次数将是非常多的。
这一点保证网络状态一旦达到全局最小点,跳出的可能性小。
(3)T→0(Hopfield网络)差距被无限扩展,跳出局部最小点的概率趋于无穷小。
这一点保证网络状态稳定在全局最小点。
在Hopfield网络中,每一种约束相当于一种初始条件,不同的约束所造成的不同初始条件将把网络引入不同的的局部最小点;
Boltzmann机的思路与Hopfield网络相类似,但Boltzmann机进行的是概率式的搜索,相比较它具有两个特点:
一是低能量状态比高能量状态发生的概率大;
二是随着温度T的降低,概率集中于一个低能量状态的子集。
6.1.3Boltzmann机的运行步骤
设一个Boltzmann机具有n个随机神经元(p个显见神经元,q个隐见神经元),第i个神经元与第j个神经元的连接权值为wij,i,j=1,2,…,n。
T0为初始温度,m=1,2,…,M为迭代次数。
Boltzmann机的运行步骤为:
第一步:
对网络进行初始化。
设定初始温度T0、终止温度Tfinal和阈值ξ,以及网络各神经元的连接权值wij。
第二步:
在温度Tm条件下(初始温度为T0)随机选取网络中的一个神经元i,计算神经元i的输入信号总和ui:
第三步:
若ui>
0,即能量差ΔEi>
0,取vi=1为神经元i的下一状态值。
若ui<
0,计算概率:
若Pi大于等于一事先给定的阈值ξ,则取vi=1为神经元i的下一状态,否则保持神经元i的状态不变。
在此过程中,网络中其它神经元的状态保持不变。
第四步:
判断网络在温度Tm下是否达到稳定,若未达到稳定,则继续在网络中随机选取另一神经元j,令j=i,转至第二步重复计算,直至网络在Tm下达到稳定。
若网络在Tm下已达到稳定则转至第五步计算。
第五步:
以一定规律降低温度,使Tm+1<
Tm,判断Tm+1是否小于Tfinal,若Tm+1大于等于Tfinal,则Tm=Tm+1,转至第二步重复计算;
若Tm+1小于Tfinal,则运行结束。
此时在Tm下所求得的网络稳定状态,即为网络的输出。
对于上述的Boltzmann机的运行步骤需要注意以下几点:
(1)初始温度T0的选择方法。
初始温度T0的选取主要有以下方法:
随机选取网络中k个神经元,选取这k个神经元能量的方差作为T0;
在初始网络中选取使ΔE最大的两个神经元,取T0为ΔEmax的若干倍;
按经验值给出T0等。
(2)确定终止温度阈值Tfinal的方法。
主要根据经验选取,若在连续若干温度下网络状态保持不变,也可认为已达到终止温度。
(3)概率阈值ξ的确定方法。
ξ的选取方法主要有:
在网络初始化时按照经验确定或在网络每次运行过程中选取一个[0,0.5]之间均匀分布的随机数。
(4)网络权值wij的确定方法。
在Boltzmann机运行之前先按照外界环境的概率分布设计好网络权值wij,详细请见6.2.4节的讨论。
(5)在每一温度下达到热平衡的条件。
通常在每一温度下,实验足够多的次数,直至网络状态在此温度下不再发生变化为止。
(6)降温的方法。
通常采用指数的方法进行降温,即:
(6.11)
为加快网络收敛速度也可采用倍乘一个小于1的降温系数的方法进行快速降温。
前面6.2.3所讨论的Boltzmann机的运行步骤涉及到网络权值wij的确定,下面讨论网络权值wij的确定,即Boltzmann机的学习规则。
6.1.4Boltzmann机的学习规则
Boltzmann机是一种随机神经网络,可使用概率中的似然函数量度其模拟外界环境概率分布的性能。
因此,Boltzmann机的学习规则就是根据最大似然规则,通过调整权值wij,最小化似然函数或其对数。
假设给定需要网络模拟其概率分布的样本集合
,Vx是样本集合中的一个状态向量,Vx即可代表网络中显见神经元的一个状态,假设向量Vy表示网络中隐见神经元的一个可能状态,则V=[VxVy]即可表示整个网络所处的状态。
由于网络学习的最终目的是模拟外界给定样本集合的概率分布,而Boltzmann机含有显见神经元和隐见神经元,因此Boltzmann机的学习过程包括以下两个阶段:
(1)主动阶段:
网络在外界环境约束下运行,即由样本集合中的状态向量Vx控制显见神经元的状态。
定义神经元i和j的状态在主动阶段的平均关联为:
(6.12)
其中概率P(Vy|Vx)表示网络的显见神经元约束在Vx下隐见神经元处于Vy的条件概率,它与网络在主动阶段的运行过程有关。
(2)被动阶段:
网络不受外界环境约束,显见神经元和隐见神经元自由运行,不受约束。
定义神经元i和j的状态在被动阶段的平均关联为:
(6.13)
P(V)为网络处于V状态时的概率,vi和vj分别是神经元i和j的输出状态。
由于网络在自由运行阶段服从Boltzmann分布,因此:
E(V)为网络处于V状态时的能量。
为最小化似然函数或其对数,网络的权值wij需遵循下面的调整规则:
(6.14)
wij(t)为在第t步时神经元i,j之间的连接权值,η为学习速率,T是网络温度。
网络在学习过程中,将样本集合
的所有样本状态Vx送入网络运行,在主动阶段达到热平衡状态时,统计出
;
从被动阶段运行的热平衡状态中统计出
,在温度T下根据式(6.14)对网络权值进行调整,如此反复,直至网络的状态能够模拟样本集合的概率分布为止。
这就是Boltzmann机学习的整个过程。
通过前面对Boltzmann机的结构、运行规则以及学习算法的讨论,可见Boltzmann机具有以下优点:
(1)通过训练,神经元体现了与周围环境相匹配的概率分布;
(2)网络提供了一种可用于寻找、表示和训练的普遍方法;
(3)若保证学习过程中温度降低的足够慢,根据状态的演化,可以使网络状态的能量达到全局最小点。
另外,从学习的角度观察,上面的权值调整规则具有两层相反的含义:
首先,在主动阶段(外界环境约束条件下),这种学习规则本质上就是Hebb学习规则,其次在被动阶段(自由运行条件下),网络并没有学习到外界的概率分布或会遗忘外界的概率分布。
使用被动阶段的主要原因在于:
由于能量空间最速下降的方向和概率空间最速下降的方向不同,因此需要运行被动阶段来消除两者之间的不同。
但是在Boltzmann机的学习过程中被动阶段的存在具有两个很大的缺点:
(1)增加计算时间。
在外界环境约束条件下,一些神经元由外部环境约束,而在自由运行条件下,所有的神经元自由运行,这样增加了Boltzmann机的随机仿真时间。
(2)对于统计错误的敏感。
Boltzmann机的学习规则包含了主动阶段关联和被动阶段关联的差值。
当这两种关联相类似时,取样噪声的存在使得这个差值更加不准确。
从6.1.3所讨论的Boltzmann机的运行步骤中可以看到,Boltzmann机的运行主要包括两个过程:
在一个确定温度T下的随机取样过程(第一步至第四步)和温度下降即退火的过程(第五步)。
这就是目前在组合优化问题中应用非常广泛的模拟退火算法。
模拟退火算法将在6.3节中详细讨论,下面先介绍对Boltzmann机的改进。
6.2Boltzmann机的改进
为解决Boltzmann机学习过程中存在的缺点,可从两个方面入手:
一是针对Boltzmann机学习时间太长的问题,采用确定性Boltzmann机加以解决;
二是针对Boltzmann机学习存在着被动阶段的问题,采用Sigmoid置信度网络加以解决。
6.2.1确定性Boltzmann机
由于Boltzmann机在学习过程中需要计算网络中每对神经元的平均关联,当网络所含神经元的数目过大时,需要的计算时间也非常大。
可以证明Boltzmann机的学习时间同网络神经元的数目呈指数关系。
Boltzmann机在学习过程中存在的运算时间过长的问题使其很难在实际问题中加以应用。
目前,还没有一种数学方法可以精确评价Boltzmann机的行为,但是可以使用平均场逼近的方法来逼近Boltzmann机的行为。
在实际中,为解决大部分网络随机运行的问题,我们只需知道网络状态的平均值或网络中神经元状态的平均值,即可逼近Boltzmann机的行为。
因此可以将统计物理学中著名的平均场理论(MeanFieldTheory)引入随机神经网络的讨论中。
1987年Peterson和Anderson使用平均场理论提出了一种加速Boltzmann学习过程的方法,为与具有随机特性的Boltzmann机相区别,该方法被称为确定性Boltzmann机(DeterministicBoltzmannMachine)。
该方法将式(6.14)中Boltzmann学习规则中的平均关联替换为平均场逼近,即:
(6.15)
由平均场理论可以得到式(6.15)平均场方程中的<
vi>
。
1.平均场理论
为研究物理学中的Ising或者Sherrington-Kirkpatrick模型,Landau于1937年提出了平均场理论,这是研究连续相变的普遍理论。
1985年D.J.Amit采用平均场理论研究联想记忆问题。
1987年Peterson和Anderson使用平均场理论来研究确定性Boltzmann机。
根据平均场理论,首先需要知道网络中每个神经元状态的平均值,令<
表示网络中神经元i状态的平均值。
神经元i的输出状态以概率规则描述如下:
(6.16)
此处
(6.17)
T为温度参数。
因此,可以用神经元i的输入表达<
(6.18)
这就是Boltzmann机神经元的平均场逼近。
平均场逼近的基本概念在于:
将每个神经元i的真实输入替换为其平均值<
ui>
,即:
(6.19)
因此,需要计算由n个神经元组成的Boltzmann机中神经元i的平均输出<
与式(6.18)随机神经元的平均场逼近类似,得到下式:
(6.20)
式(6.20)表明:
一个随机变量函数的平均值可以由此随机变量平均值的函数逼近。
2.确定性Boltzmann机
通过上面部分对于平均场理论的讨论可知,可以通过平均场逼近需要计算平均关联的Boltzmann学习形式。
式(6.14)所确定的标准Boltzmann学习规则可近似为:
(6.21)
分别是显见神经元i在约束条件和自由运行条件下的平均输出,η为学习速率参数。
这种方法称作“确定性Boltzmann学习规则”,而这种神经网络则称作确定性Boltzmann机。
确定性Boltzmann机可将标准Boltzmann机的学习速度提高一至两个数量级,但在实际应用中需注意以下两点:
(1)确定性Boltzmann学习规则只在有监督条件下起作用。
无监督学习不能在所有的平均场框架中起作用,因为平均状态不能很好的表示自由运行状态的概率分布。
(2)在有监督学习中,确定性Boltzmann学习要求神经网络只有一个单隐层(Galland,1993)。
在理论中可使用多个隐层,但在实际中,使用超过一个隐层会导致
(1)中所提到的无监督学习的相同问题。
6.2.2Sigmoid置信度网络
针对Boltzmann机学习过程中被动阶段存在增加计算时间和对统计错误敏感的缺点,Neal在1992年提出了Sigmoid置信度网络,也称为逻辑推理网络。
提出此网络的目的在于寻找一种随机神经网络,使其可以具有Boltzmann机从二值向量中学习任意概率分布的能力,而又没有Boltzmann机学习过程中需要被动阶段的缺点。
Sigmoid置信度网络通过控制学习过程而不是使用被动阶段,来避免上述的缺点。
1.Sigmoid置信度网络的结构
Sigmoid置信度网络将Boltzmann机中的对称连接转变为无反馈直接连接的形式,无反馈的连接特性可简化概率计算。
Sigmoid置信度网络由多层结构的二值随机神经元构成,并使用Sigmoid函数计算每个神经元的条件概率。
Sigmoid置信度网络的结构如图6.5:
图6.5Sigmoid置信度网络的结构
从图6.5中可见,Sigmoid置信度网络结构为典型的前向网络,其输入、输出为二值变量。
设Sigmoid置信度网络由n个神经元组成,每个神经元的状态由二值随机变量V1,V2,…,Vn表示,则向量V={V1,V2,…,Vn}即可表示网络的状态。
定义pa(Vi)为网络中前i-1个神经元状态的一个子集,表示如下:
(6.22)
pa(Vi)是随机向量V的子集。
因此:
(6.23)
第i个神经元的激活概率由Sigmoid函数定义为:
(6.24)
此处wij为从神经元j到神经元i的连接权值,f(﹒)为Sigmoid函数。
从(6.24)式中可以看出,条件概率P(Vi=vi|pa(Vi))只与pa(Vi)有关。
式(6.24)所定义的第i个神经元的激活概率是在网络中传播推理的基础。
在Sigmoid置信度网络中计算概率,需注意以下两点:
(1)对于不属于pa(Vi)的所有Vj,wij=0
(2)对于所有的
,wij=0
第一点由pa(Vi)的定义所决定。
第二点是由于Sigmoid置信度网络神经元的直接无反馈连接。
Sigmoid置信度网络的随机操作比Boltzmann机要复杂。
这种随机神经网络在概率空间中使用梯度下降的学习算法。
2.Sigmoid置信度网络学习算法
令
表示训练样本集,代表需要网络学习的某种概率分布。
假设每个样本都是二值的。
由状态向量V决定网络神经元数量。
定义状态向量的子集Vx代表训练数据的特征,即Vx是表示显见神经元的状态向量。
剩下的状态向量表示为Vy,即,隐见神经元的状态向量。
从上面的讨论中可知,对于给定状态向量V,Sigmoid置信度网络的设计高度依赖于显见神经元和隐见神经元的排列方式。
因此,显见神经元与隐含神经元不同的排列方式会导致不同的结构。
按照梯度下降的思路,将Sigmoid置信度网络神经元的阈值归并至连接权值wij中。
则Sigmoid置信度网络第t+1步的权值调整规则如下:
(6.25)
其中:
(6.26)
――神经元i和j的平均关联
wij(t)为第t步时神经元i,j的连接权值,η为学习速率,T是网络温度。
从式(6.25)和(6.26)的表述中可知,Sigmoid置信度网络在学习过程中摈弃了自由运行的过程,即网络只需在训练样本约束条件下进行学习,从而达到去除被动阶段的目的。
网络连接权值的变化以整个训练样本集合为基础。
如同Boltzmann机一样,将模拟退火加入Sigmoid置信度
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 随机 神经网络 模拟 退火 算法