2.10_Boltzmann神经网络模型与学习算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
BM网络状态演变的能量特征
为简化讨论,假设BM神经网络按异步 方式运行,每次只改变一个神经元的状态。 设xi取0和取1时系统的能量函数的差值为 Δ Ei,则Δ Ei=Exi=0-Exi=1=ui . 式中ui是i号 神经元的净输入。
在HNN中,我们很容易证明了Δ E<0, 在BM中则必须按概率的观点来考虑问题。
T0 通常采用指数降温,即 T (t 1) log(t 1)
为加快网络收敛速度,也可采用一个倍乘小
于1的降温系数的办法。
Boltzmann机学习算法的MATLAB实现
在MATLAB的工具箱中,没有Boltzmann神 经网络的相关函数,在学习完第4章后, 根据自己的需要,利用MATLAB中的数学计 算函数来扩展nnToolKit工具包,实现 Boltzmann神经网络的学习算法,完成特 定的需要。
ui bi
vj
pi
vi
vn
n j 1
ቤተ መጻሕፍቲ ባይዱwin
H i (t )
n
j 1, j i
N
wij u j (t ) b j
ui wij v j bi
ui (t ) wij v j bi
j 1
2.10.1 Boltzmann机的网络结构
神经元的全部输入信号的总和由下式给出 n
2.10.2 Boltzmann机学习算法
算法原理 Boltzmann机可视为一动力系统,其能量函 数的极小值对应系统的稳定平衡点 将待求解优化问题的目标函数与网络的能量 函数相对应,神经网络的稳定状态就对应优 化目标的极小值 算法分类 状态更新算法
用于解决优化组合问题
联想记忆算法
用于解决依照一定概率重现记忆的问题
2.10.1 Boltzmann机的网络结构
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 -20 T-0.25 T-1 T-4
-15
-10
-5
0
5
10
15
20
横坐标表示神经元的输入总和,纵坐标表示概率
网络能量函数
与Hopfield神经网络一样, BM神经网络用能 量函数作为描述网络状态的函数,能量函数采用与 Hopfield网络相同形式 n 1 T 1 n n E wij vi v j vi I i 或 E V WV 2 2 i 1 j 1 i 1 由上式可以看出,如果相应于具有相同状态的元 vi和vj之间权值wij大多取正值,而具有相反状态wij大 多取负值,E才会具有最低的值;反之,E就相对较 高。显然低能量的网络状态表达着网络的更加有序性, 这与热力学系统是完全对应的,也是与Hebb规则相 呼应的。E降至其全局最小点时,网络即达到其最佳 状态,这就是我们要搜索的最优解。
ui wij v j
j 0
n
2.10.1 Boltzmann机的网络结构
神经元的输出依概率取1或0:
P(v j 1) 1 1 e
ui T
ui T
(1)
P(vi 0) 1 P(vi 1) e
1 1 e
u i T
e
ui T
P(vi 1) (2)
E
E E
P e T P 这就是著名的Boltzmann分布,也是BM网络名称的由来。
E E
BM网络状态演变的能量特征
由此式可见,对网络进行足够多次迭代搜索 后,BM神经网络处于哪一种状态的概率,即取决 于该网络在此状态下的能量,也取决于温度参数T。 显然非常重要的一点是能量低的状态出现的概率 大,例如
Pa kpi K 1 e
Ei T
BM网络状态演变的能量特征
则
Pb k (1 pi ) Ke
Ei T Ei T
1 e
i a b Pa 式中K为一个常数。于是 e T e T Pb 上式关系是普遍的,稍加推导即可证明,若网络 中任意两个状态α和β出现的概率为Pα和Pβ ,它们 的能量为Eα和Eβ ,如下关系总是成立
BM网络状态演变的能量特征
若Δ Ei>0,说明网络在其第i号神经元取1时的能量 小于取0时的能量,这时可计算出
P(vi 1) P(vi 0)
即在下一个时刻xi取1的概率当然高于取0的概率。 反之,则可计算出
P(vi 1) P(vi 0)
BM网络状态演变的能量特征
可见,网络运行过程总是以更大的概率朝能 量下降的方向演化。不过,这是概率事件,完全 存在朝能量上升方向演化的可能。而从概率的角 度来看,如果Δ Ei越是一个大正数,xi取1的概率 越大, Δ Ei越是一个大负数,xi取0的概率越大。 这样我们就把(1)(2)转换成网络状态出现概 率与兑现这种状态时网络能量的变化,以及它们 对温度T的依赖联系在一起
因此相应于各极小点的状态出现的概率就大 于周围状态出现的概率,进而全局最小点出现的 概率就大于局部极小点出现的概率。
P E E E E 0 1 P P P
BM网络状态演变的能量特征
另一方面,温度T对网络的状态影响很大。在高温下, 即使Δ Ei值有较大变化,神经元状态概率差别较小。反之, 在低温下神经元状态对Δ Ei的变化更加敏感。显然,如果温 度参数T低到趋于0,则每一个神经元不再具有随机性,输入 -输出接近硬限幅函数关系,这时BM神经网络退化为HNN.
其命名来源于Boltzmann在统计热力学中的早 期工作和网络本身的动态分布行为
Boltzmann机结合BP网络和Hopfield网络在网 络结构、学习算法和动态运行机制的优点,是 建立在Hopfield网基础上的,具有学习能力, 能够通过一个模拟退火过程寻求解答。不过, 其训练时间比BP网络要长。
2.10.1 Boltzmann机的网络结构
Boltzmann机由输入部、输出部和中间部 显见神经元 构成
输出部 输入部
中间部
隐见神经元
2.10.1 Boltzmann机的网络结构
输入部和输出部神经元统称为显见神经元, 是网络与外部环境进行信息交换的媒介,中 间部的神经元称为隐见神经元,它们通过显 见神经元与外界进行信息交换 每一对神经元之间的信息传递是双向对称的, 即 。 wij 而且自身无反馈,即 w ji wii 0
1
横坐标 表示神 经元的 输入总 和,纵 坐标表 示概率
0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 -20 T-0.25 T-1 T-4
-15
-10
-5
0
5
10
15
20
2.10.1 Boltzmann机的网络结构
温度T的作用 如图所示,T越高时,曲线越平滑,即使 uj有很大变动,也不会对vj取1的概率变化造 成很大的影响;反之,T越低时,曲线越陡 峭,当uj有稍许变动时就会使概率有很大差 异,当T趋向于0时,每个神经元不再具有 随机特性,激励函数变为阶跃函数,这时 Boltzmann机演变为Hopfield网络
确定目标(终止)温度值Tfinal
主要根据经验选取,若在连续若干温度下网络状态保 持不变,也可认为已达到终止温度。
注意事项
概率阀值的确定方法
在网络初始化时按经验确定,或在运行过程 中选取一个[0,0.5]之间均匀分布的随机数。 网络权值的确定方法 在每一温度下达到热平衡的条件 降温方法
0
log(t 1)
(6)第5步计算出的温度参数是否小 于目标温度,小于目标温度则算法结束, 否则返回(2),进入下一轮计算。
注意事项
起始温度T0的选择方法
随机选取网络中K个神经元,取这K个神经元能量的方 差为T0 在初始网络中选取使Δ E最大的两个神经元,取T0为 Δ Emax的若干倍。 按经验给出
u j wij vi b j
i
b j 为神经元的阈值,并将其看作连接权值为1的输 入,可以归并到总的加权和中去,即得到下式
u j wij vi
i 0 n
神经元的输出依概率取1或0:
P(v j 1) 1/(1 e
u j / T
)
u j /T
P(v j 0) 1 P(v j 1) e
因此T很高时,各状态出现概率的差异大大减小,网络 不会陷在某个极小点中摆脱不出来,它能越过位能壁垒进入 其它极小点;当温度比较低时,微小的能量差异使相应状态 出现概率的差距被加大,由于网络在全局最小点状态的能量 远小于各局部最小点的能量,则网络在搜索结束时停留在全 局最小点的概率将远大于局部最小点。
j
图中vj表示神经元 j 的输出
2.10.1 Boltzmann机的网络结构
Boltzmann机神经元模型 每个神经元的兴奋或抑制具有随机性, 其概率取决于神经元的输入
v1
v2
wi1 wi 2
wij
ui bi
vj
pi
vi
vn
win
图中vi表示神经元i的输出
v1
v2
wi1 wi 2
wij
2.10.2 Boltzmann机学习算法
(4)除i外的神经元的输出状态保持 不变,即除i外的神经元的状态由下面公 式求解得出:j (t 1) v j (t ) j 1,2,, N ; j i v (5)令t t 1,按照下式计算出新的 温度参数: T
T (t 1)
2.10 Boltzmann神经网络模型与学 习算法
智能中国网提供学习支持 www.5iai.com
概述
Ackley、Hinton等人以模拟退火思想为基 础,对Hopfield模型引入了随机机制,提 出了Boltzmann机。
Geoffrey Hinton
David H. Ackley
概述
Boltzmann机是第一个受统计力学启发的多层 学习机,它是一类典型的随机神经网络,属于 反馈神经网络类型
P(v j 1)
u j 越大,则 v j 取1的概率越大,而取0的概率越小
2.10.1 Boltzmann机的网络结构
神经元的全部输入信号的总和由下式给出
ui wij v j bi
j 1
n
bi为神经元的阈值,并将其看作连接权值为1的输 入,可以归并到总的加权和中去,即得到下式
显见神经元将被外部环境“约束”在某一特 定的状态,而中间部隐见神经元则不受外部 环境约束。
2.10.1 Boltzmann机的网络结构
Boltzmann机神经元模型 每个神经元的兴奋或抑制具有随机性, 其概率取决于神经元的输入
v1 v2
w1 j w2 j
wi j
uj bj
pj
vj
vi
vn
win
P(vi 1)
1 1 e
Ei T
BM网络状态演变的能量特征
这样,随着逐次调整,系统的总能量总是呈 下降趋势,直至达到一个稳定点。
我们可以计算出BM神经网络处于不同状态的 概率。假设BM神经网络中有vi=1和vi=0的a、b两种 状态,在这两种状态下所有其它神经元的取值相 同。设a状态的出现概率是Pa, b状态的出现概率 是Pb,假设Pa可以表示为
n j 1
N
wij u j (t ) b j
ui (t ) wij v j bi
2.10.2 Boltzmann机学习算法
状态更新算法
ui (t ) wij v j bi
(3)更新神经元状态
根据下面公式更新神经元的状态:
j 1
n
1 P[vi (t 1) 1] 1 exp( H i (t ) / T ) 1 P(vi (t 1) 1) u (t ) i 1 e T
2.10.2 Boltzmann机学习算法
状态更新算法
(1)网络初始化
给初始状态赋[-1,1]之间的随机数,设定起始温度T0 和目标温度值Tfinal。
(2)求解内部状态
从N个神经元中随机选取一个神经元,根据下式求解出 神经元的输入总和,即内部状态。
H i (t )
j 1, j i
ui 越大,则 vi 取1的概率越大,而取0的
概率越小
2.10.1 Boltzmann机的网络结构
温度T的作用
如图所示,T越高时,曲线越平滑,即使ui有很大变动,也不 会对vi取1的概率变化造成很大的影响;反之,T越低时,曲线 越陡峭,当uj有稍许变动时就会使概率有很大差异,当T趋向于 0时,每个神经元不再具有随机特性,激励函数变为阶跃函数, 这时Boltzmann机演变为Hopfield网络