目录
0 HNN起源
1982年,J.Hopfield提出了可用作联想存储器的互连网络,这个网络称为Hopfield网络模型,也称Hopfield模型。Hopfield神经网络模型是一种循环神经网络,从输出到输入有反馈连接。
1 HNN简介
神经网络根据运行过程中的信息流向,可分为前馈式和反馈式两种基本类型。前馈网络的输出仅由当前输入和权重矩阵决定,而与网络先前的输出状态无关,反馈网络会将输出再次作为输入的一部分输入到网络中,Hopfield 网络被认为是一种最典型的全反馈网络。
Hopfield 网络可以看成一种非线性的动力学系统。反馈网络能够表现出非线性动力学系统的动态特性。它所具有的主要特性为以下两点:
- 网络系统具有若干个稳定状态,对应了能量函数的局部最小值,当网络从某一初始状态开始运动,网络系统总可以收敛到某一个稳定的平衡状态;
- 系统稳定的平衡状态可以通过设计网络的权值而被存储到网络中;
反馈型神经网络作为非线性动态系统,表现出丰富多样的动态特性,比如稳定性、极限环、奇怪吸引子等等。
非线性系统演变的形式有以下几种:
- 渐进稳定
- 极限环
- 混沌现象
- 状态轨迹发散
经过特殊设计的能量函数,可以使得,从任意状态开始,系统的演变都会使得能量函数单调减少,从而最后稳定到最小值,下面会证明这个定理。网络的稳定性是Hopefield网络的重要性质,而能量函数是判定网络稳定性的基本概念。
可以参考马尔科夫链及其平稳分布,说的是任一个马尔科夫链,如果其转移矩阵 P P P固定,那么不管其初始分布是什么状态,经过若干次迭代之后,都会收敛于一个平稳分布 p ( x ) p(x) p(x)。马尔科夫链及其平稳分布是MCMC系列采样方法的理论基础。
有了能量函数,我们就有了每一个状态所对应的能量值,我们可以用这个能量值的大小来定义每一个状态发生的概率,即状态的概率分布函数。
根据神经元输出的值的范围,Hopefield网络又分为离散型和连续性,分别记为DHNN和CHNN,DHNN主要用于联想记忆,CHNN主要用于优化计算。
2 DHNN结构
首先考虑由三个神经元组成的离散Hopfield神经网络,其结构如下图所示:
![](https://github.com/serryuer/blog-img/raw/master/imgs/Hopefield/Snipaste_2019-04-18_21-17-04.jpg)
在图中,第0层仅仅是作为网络的输入,它不是实际神经元,所以无计算功能;而第一层是实际神经元,故而执行对输人信息和权系数乘积求累加和,并由非线性函数 f f f处理后产生输出信息。 f f f是一个简单的阈值函效,如果神经元的输出信息大于阈值 θ θ θ,那么,神经元的输出就取值为1;小于阈值 θ θ θ,则神经元的输出就取值为0。
对于二值神经元,它的计算公式如下:
U j = ∑ i W i j ∗ Y i + X j U_j = \sum_iW_{ij}*Y_i + X_j Uj=i∑Wij∗Yi+Xj
其中, X i X_i Xi为外部输入,并且有:
Y j = { 1 , i f U j ≥ θ 0 , i f U j < θ Y_j= \begin{cases} 1,\ if\ U_j \geq \theta\\ 0,\ if \ U_j < \theta \end{cases} Yj={
1, if Uj≥θ0, if Uj<θ
对于一个离散的Hopefield网络,其网络状态是输出神经元信息的集合,对于一个输出层是 n n n个神经元的网络,其在时刻 t t t的状态为一个 n n n维向量:
Y ( t ) = [ Y 1 ( t ) , Y 2 ( t ) , . . . , Y n ( t ) ] Y(t)=[Y_1(t), Y_2(t), ..., Y_n(t)] Y(t)=[Y1(t),Y2(t),...,Yn(t)]
因为每个输出神经元都是二值神经元,故而一共有 2 n 2^n 2n种状态,即是网络状态。该网络有 n ∗ n n*n n∗