📅  最后修改于: 2020-11-26 08:38:22             🧑  作者: Mango
这些是具有递归结构的随机学习过程,是ANN中使用的早期优化技术的基础。玻尔兹曼机是由杰弗里·欣顿和特里·塞诺夫斯基于1985年发明的。
“该网络的一个令人惊讶的功能是它仅使用本地可用信息。权重的变化仅取决于它所连接的两个单元的行为,即使该变化优化了全局度量也是如此”-Ackley,Hinton 1985。
关于玻尔兹曼机的一些要点-
他们使用循环结构。
它们由随机神经元组成,它们具有两种可能的状态之一,即1或0。
在这种情况下,有些神经元是适应性的(自由状态),而有些则被钳位(冻结状态)。
如果我们在离散的Hopfield网络上应用模拟退火,那么它将成为Boltzmann Machine。
玻尔兹曼机的主要目的是优化问题的解决方案。 Boltzmann Machine的工作是优化与该特定问题相关的重量和数量。
下图显示了Boltzmann机器的体系结构。从图中可以清楚地看到,它是一个二维单位数组。此处,单元之间互连的权重为–p ,其中p> 0 。自连接的权重由b给出,其中b> 0 。
我们知道Boltzmann机器的权重是固定的,因此将不需要训练算法,因为我们不需要更新网络中的权重。但是,要测试网络,我们必须设置权重以及找到共识函数(CF)。
玻尔兹曼机器具有一组单位U i和U j,并且在它们之间具有双向连接。
我们正在考虑固定权重wij 。
如果U i和U j连接,则w ij ≠0 。
加权互连中也存在对称性,即w ij = w ji 。
w ii也存在,即单元之间将存在自连接。
对于任何单位U i ,其状态u i将为1或0。
玻尔兹曼机的主要目标是最大化共识函数(CF),可以通过以下关系式给出
$$ CF \:= \:\ displaystyle \ sum \ limits_ {i} \ displaystyle \ sum \ limits_ {j \ leqslant i} w_ {ij} u_ {i} u_ {j} $$
现在,当状态从1更改为0或从0更改为1时,可以通过以下关系式给出共识的更改:
$$ \ Delta CF \:= \ 🙁 1 \:-\:2u_ {i})(w_ {ij} \:+ \:\ displaystyle \ sum \ limits_ {j \ neq i} u_ {i} w_ { ij})$$
u i是U i的当前状态。
系数( 1-2u i )的变化由以下关系式给出-
$$(1 \:-\:2u_ {i})\:= \:\ begin {cases} +1和U_ {i} \:is \:isly :: current \\ off \\-1和U_ {i } \:是\:当前\:在\结束{cases} $$
通常,单元U i不会改变其状态,但是如果确实如此,则信息将驻留在单元本地。有了这一变化,网络共识也将增加。
网络接受单元状态变化的概率由以下关系式给出-
$$ AF(i,T)\:= \:\ frac {1} {1 \:+ \:exp [-\ frac {\ Delta CF(i)} {T}]} $$
在此, T是控制参数。当CF达到最大值时,它将减小。
步骤1-初始化以下内容以开始训练-
步骤2-当停止条件不成立时,继续执行步骤3-8。
步骤3-执行步骤4-7。
步骤4-假设状态之一已更改权重,并选择整数I,J作为介于1和n之间的随机值。
步骤5-计算共识变化,如下所示-
$$ \ Delta CF \:= \ 🙁 1 \:-\:2u_ {i})(w_ {ij} \:+ \:\ displaystyle \ sum \ limits_ {j \ neq i} u_ {i} w_ { ij})$$
步骤6-计算该网络将接受状态变化的概率
$$ AF(i,T)\:= \:\ frac {1} {1 \:+ \:exp [-\ frac {\ Delta CF(i)} {T}]} $$
步骤7-接受或拒绝此更改,如下所示-
情况一-如果R
情况II-如果R≥AF ,则拒绝更改。
在此, R是0到1之间的随机数。
步骤8-如下减小控制参数(温度)-
T(新)=0.95T(旧)
步骤9-测试停止条件,可能如下: