Hopfield网络是由John J. Hopfield于1982年提出的一种神经网络模型,与其它网络不同的是,它只有一层,层内包含一个或多个全连接循环神经元。我们通常所说的Hopfield网络是指离散的Hopfield网络。
1.网络的结构
Hopfield网络的单元是二元的(binary),即这些单元只能接受两个不同的值,并且只取决于输入的大小是否达到阈值。Hopfield网络通常接受值为-1或1,也可以是0或者1。其网络结构如图所示。
Hopfield网络
输出到、、的权重记为,和。而Hopfield网络的权重又有如下特性:
(不送给自己)
因此,权值方阵是一个对称阵,矩阵的对称轴为0
当输入值X输入到网络之后会得到一个输出X,这个输出X又作为一个输入X再次输入到神经元中得到输出X,虽然他们都用X表示但是已经不是同一个X。(如果之前了解过循环神经网络RNN,这部分会非常好理解。)因为输入是一波一波的按时间先后输入到网络中的,所以我们可以引入时间t来帮助我们理解,比如现在时刻输入值记为X(t),那么它的输出就会变为X(t+1),X(t+1)再次输入到网络中得到X(t+2),……以此往复。
可以发现,Hopfield网络与之前的网络模型有着较大差异,神经元没有分工,他们的作用是一样的,比如之前的神经元会分为输入神经元,隐藏神经元和输出神经元,Hopfield网络没有这样的区分,我们只需给它一个激励(输入),它就会自己进行运算。因此,我们将Hopfield网络的输出称为状态,如下所以:
Hopfield网络的输入就是网络的状态初始值,表示为:
Hopfield网络在外界输入的激发下,从初始状态进入动态演变过程,变化规律为:
其中,j=1,2,3,...,n。net是净输入,等于输入乘以权重加上偏置再减阈值:
如果采用的二值为-1和1时,函数f()就为:
如果我们没有加以限定的话该神经网络会一直迭代运算下去,我们需要给它设定一个停止的条件,我们定义Hopfield网络稳定时每个神经元的状态都不再改变,此时的稳定状态就是网络的输出,表示为:
2.网络的工作方式
2.1异步工作方式
网络运行时每次只有一个神经元j进行状态的调整计算,其它神经元的状态均保持不变,即:
2.2同步工作方式
网络的同步工作方式是一种并行方式,所有神经元同时调整状态,即:
参考:
Artificial Neural Network - Hopfield Networks
Hopfield网络-百度百科
反馈神经网络Hopfield - 韩力群教授
网友评论