内容基于《人工神经网络理论,设计及应用》的学习,对重点进行了摘抄总结,网上许多博客的内容也基于此。
玻尔兹曼机是一种随机神经网络,借鉴了模拟退火思想。
随机神经网络与其他神经网络相比有两个主要区别 :
① 在学习(训练)阶段 , 随机网络不像其他网络那样基于某种确定性算法调整权值,而是按某种概率分布进行修改;(通俗解释,Hopfield网络的权值用某种方法一步确定,而玻尔兹曼机像BP网络一样,每训练一次,权值改变一次。)
② 在运行(预测)阶段,随机网络不是按某种确定性的网络方程进行状态演变,而是按某种概率分布决定其状态的转移。神经元的净输入不能决定其状态取1还是取0,但能决定其状态取1还是取0的概率。这就是随机神经网络算法的基本概念。(Hopfield网络后一状态的值由前一状态决定,玻尔兹曼机后一状态的值受到前一状态影响。)
网络有两种类型,如下图,可以先不去理解,有个大致印象就行,后面有解释,其中隐节点个数可以为0。不明白为何有些线不是双向的,按分析,所有权值都对称,应该都是双向箭头?
预测阶段
设 BM 机中单个神经元的净输入为 :
与DHNN不同的是,净输入并不能通过符号转移函数直接获得确定的输出状态,实际的输出状态将按照某种概率发生,输出某种状态的转移概率:
上式表示的是神经元j输出状态为1的概率,状态为0的概率为:
$$P_{j}(0)=1-P_{j}(1)$$
构建能量函数,证明按上述步骤,能量会减小。
BM机采用的与DHNN网络相同的能量函数描述网络状态,如下图所示: