美文网首页
Hopfield网络

Hopfield网络

作者: 一位学有余力的同学 | 来源:发表于2021-01-31 16:02 被阅读0次

    Hopfield网络是由John J. Hopfield于1982年提出的一种神经网络模型,与其它网络不同的是,它只有一层,层内包含一个或多个全连接循环神经元。我们通常所说的Hopfield网络是指离散的Hopfield网络。

    1.网络的结构

    Hopfield网络的单元是二元的(binary),即这些单元只能接受两个不同的值,并且只取决于输入的大小是否达到阈值。Hopfield网络通常接受值为-1或1,也可以是0或者1。其网络结构如图所示。


    Hopfield网络

    输出y_1y_2y_iy_n的权重记为w_{12}w_{1i}w_{1n}。而Hopfield网络的权重又有如下特性:
    w_{ij} = w_{ji}
    w_{ii} = 0 (不送给自己)
    因此,权值方阵是一个对称阵,矩阵的对称轴为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 - 韩力群教授

    相关文章

      网友评论

          本文标题:Hopfield网络

          本文链接:https://www.haomeiwen.com/subject/zpkrtltx.html