Hopfield 神经网络是一种互联型神经网络,其演变过程是一个非线性动力学系统,可以用一组非线性差分议程描述(离散型)或微分方程(连续型)来描述。系统的稳定性可用所谓的“能量函数”进行分析。在满足条件的情况下,某种“能量函数”的能量在网络运行过程中不断减少,最后趋于稳定的平衡状态。对于一个非线性动力学系统,系统的状态从某一初值出发经过演变后可能有如下几种结果:渐进稳定点(吸引子)、极限环、混沌、状态发散。
因为人工神经网络的变换函数是一个有界函数,故系统的状态不会发生发散现象。目前,人工神经网络经常利用渐进稳定点来解决某些问题。如果把系统的稳定点视为一个记忆,那么从初态朝这个稳定点的演变过程就是一个寻找记忆的过程。如果把系统的稳定点视为一个能量函数的极小点,而把能量函数视为一个优化问题的目标函数,那么从初态朝这个稳定点的演变过程就是一个求解该优化问题的过程。因此,Hopfield神经网络的演变过程是一个计算联想记忆或求解优化问题的过程。实际上,它的解决并不需要真的去计算,而是通过构成反馈神经网络,适当地设计其连接权和输入就可以达到这个目的。
离散型Hopfield神经网络(DHNN, Discrete Hopfield Neural Network)是一种单层的、输入/输出为二值的反馈网络,其拓扑结构如图5-1所示。
图5-1 DHNN的拓扑结构
DHNN主要用于联想记忆。网络的能量函数存在着一个或多个极小点或称平衡点。当网络的初始姿态确定后,网络状态按其工作规则向能量递减的方向变化,最后接近或达到平衡点,这种平衡点又称为吸引子。如果设法把网络所需记忆的模式设计成某个确定网络状态的一个平衡点,则当网络从与记忆模式较接近的某个初始状态出发后,按 Hopfield 运行规则进行状态更新,最后网络状态稳定在能量函数的极小点,即记忆模式所对应的状态。这样就完成了由部分信息或失真的信息到全部或完整信息的联想记忆过程。DHNN的计算公式如下:
其矩阵/向量形式为:
其中,y=[y 1 ,y 2 ,…,y n ] T ,x=[x 1 ,x 2 ,…,x n ] T 和u=[u 1 ,u 2 ,…,u n ] T 为网络的状态矢量,其分别为Hopfield神经网络第2层的输出、第1层的输入和总输入,y中的所有元素值仅取1或-1;由于神经网络的第0层没有外界输入,因此认为Hopfield神经网络没有输入;θ=[θ 1 , θ 2 , …, θ n ] T 为网络的阈值矢量;W=[w ij ] n×n 为网络连接权矩阵,其元素w ij 表示第j个神经元到第i个神经元的连接权,它为对称矩阵。若w ij =0,则称网络无自反馈,否则,称其为自反馈。
式中,sgn(u i )为符号函数:
或者
或者(MATLAB常用,其函数为satlins)
Hopfield 网络的连接权是设计出来的。设计方法的主要思路是使被记忆的模式样本对应于网络能量函数的极小值。
设有m个n维记忆模式,要设计网络连接权w ij 和阈值θ,使这m个模式正好是网络能量函数的m个极小值。比较常用的设计方法是“外积法”。设
其中,m表示的是模式类别数;n为每一类模式的维数;uk为模式 k的向量表达。
要求网络记忆的 m(m ≤ n )个记忆模式矢量两两正交,即满足下式:
各神经元的阈值和网络的连接权矩阵按下式计算:
则所有矢量u k 在1≤k≤m时都是稳定点。
Hopfield神经网络的存储容量是有限的,其大小与神经元的个数有关,具体关系是:
其中,n p 代表Hopfield神经网络能够存储的最大模式数;n代表神经元的个数。
对于一个网络来说,稳定性是一项重要的性能指标。离散型Hopfield神经网络在异步更新(即选择网络中的一个神经元进行状态更新,其他神经元状态保持不变)且连接权矩阵W为对称阵的情况下可以保持稳定。
离散型Hopfield神经网络实质上是一个多输入和含有阈值的二值非线性动力系统。在运动系统中,平衡稳定状态可理解为系统某种形式的能量函数在系统运动过程中,其能量值不断减小,最后处于最小值。故若为Hopfield神经网络每一个状态定义一个能量E,即
或者
任意一个神经元节点的状态变化时,能量E将向着减小的趋势变化,即对于任何Δt>0,当神经网络从t=0开始,有初始状态y(0),经过有限时刻t,有y (t+Δt) = y(t),则称网络是稳定的。
(1)联想记忆功能。由于网络可以收敛于稳定状态,因此可用于联想记忆。若将稳态视为一个记忆,则由初始状态向稳态收敛的过程就是寻找记忆的过程,初态可认为是给定的部分信息,收敛过程可以认为是从部分信息找到了全部信息,从而实现了联想记忆的功能。
(2)优化计算。若将稳态视为某一优化问题目标函数的极小点,则由初态向稳态收敛的过程就是优化计算过程。
(3)网络渐近稳定的充分条件是W为对称矩阵。