1、第七章第七章 HopfieldHopfield神经网络神经网络北京科技大学北京科技大学北京科技大学北京科技大学 信息工程学院信息工程学院信息工程学院信息工程学院付冬梅付冬梅付冬梅付冬梅 623349671 Hopfield Hopfield网络结构和模型网络结构和模型 HopfieldHopfield网络输出的计算过程网络输出的计算过程(离散离散)Hopfield Hopfield网络的稳定性网络的稳定性 HopfieldHopfield网络的学习算法网络的学习算法 HopfieldHopfield网络的几个问题网络的几个问题 HopfieldHopfield网络的网络的MATLABMATLA
2、B实现示例实现示例第七章第七章 HopfieldHopfield神经网络神经网络2概述 Hopfield Hopfield网络是神经网络发展历史上的一个重要的里网络是神经网络发展历史上的一个重要的里程碑。由美国加州理工学院物理学家程碑。由美国加州理工学院物理学家J.J.HopfieldJ.J.Hopfield教授于教授于19821982年提出,是一种单层反馈神经网络。年提出,是一种单层反馈神经网络。HopfieldHopfield网络是一种由非线性元件构成的反馈系统,其稳网络是一种由非线性元件构成的反馈系统,其稳定状态的分析比前向神经网络要复杂得多。定状态的分析比前向神经网络要复杂得多。198
3、41984年,年,HopfieldHopfield设计并研制了网络模型的电路,并成功地解决了设计并研制了网络模型的电路,并成功地解决了旅行商旅行商(TSP)(TSP)计算难题计算难题(优化问题优化问题)。Hopfield Hopfield网络分为离散型和连续型两种网络模型,分网络分为离散型和连续型两种网络模型,分别记作别记作DHNN(Discrete Hopfield Neural Network)DHNN(Discrete Hopfield Neural Network)和和CHNN(Continues Hopfield Neural Network)CHNN(Continues Hopfi
4、eld Neural Network)。Hello,Im John Hopfield37-1 Hopfield网络结构和模型网络结构和模型 HopfieldHopfield网络有网络有离散离散与与连续连续两种类型。两种类型。HopfieldHopfield网络是得到最充分研究和应用的神经网络是得到最充分研究和应用的神经网络模型之一,在众多的研究者之中,美国科学家网络模型之一,在众多的研究者之中,美国科学家J.J HopfieldJ.J Hopfield的工作具有特别重要的意义,他为这的工作具有特别重要的意义,他为这一网络引入了一种稳定过程,即提出了人工神经网一网络引入了一种稳定过程,即提出了人
5、工神经网络能量函数(也称李雅普诺夫函数)的概念,使网络能量函数(也称李雅普诺夫函数)的概念,使网络的运行稳定性判断有了可靠而简便的依据。络的运行稳定性判断有了可靠而简便的依据。HopfieldHopfield网络在联想存取及优化计算等领域得网络在联想存取及优化计算等领域得到了成功的应用,拓宽了神经网络的应用范围。到了成功的应用,拓宽了神经网络的应用范围。47-1-1 7-1-1 离散型离散型HopfieldHopfield网络网络 离散离散HopfieldHopfield网结构见图网结构见图(a)(a),是单层反馈非线性网,是单层反馈非线性网,每一节点的输出反馈至输入。每一节点的输出反馈至输入
6、。HopfieldHopfield用模拟电路用模拟电路(电阻、电容和运算放大器电阻、电容和运算放大器)实现网实现网络的神经元络的神经元(节点节点),见图,见图(b)(b)。图图9-1 离散型离散型Hopfeld网络网络5 网络为一层结构的反馈网络,能处理双极型离散数据网络为一层结构的反馈网络,能处理双极型离散数据 (即输入即输入 1,+1)1,+1),及二进制数据,及二进制数据(0,1)(0,1)。给定初始输入时,网络处于特定的初始状态。网络从初始状态开始运行,给定初始输入时,网络处于特定的初始状态。网络从初始状态开始运行,可得到网络下一状态的输出。这个输出状态通过反馈连接送到网络的输入可得到
7、网络下一状态的输出。这个输出状态通过反馈连接送到网络的输入端,作为下一阶段运行的输入信号,它可能与初始输入信号不同。如此下端,作为下一阶段运行的输入信号,它可能与初始输入信号不同。如此下去,网络的整个运行过程就是上述反馈过程的重复。如果网络稳定,那么去,网络的整个运行过程就是上述反馈过程的重复。如果网络稳定,那么随着多次反馈运行,网络状态最后将达到稳态。用公式表达为:随着多次反馈运行,网络状态最后将达到稳态。用公式表达为:其中其中 已被定义,为方便起见,已被定义,为方便起见,常取常取0 0值。若有某个时刻值。若有某个时刻t t,从此以后网,从此以后网络状态下不再变迁,即有络状态下不再变迁,即有
8、 ,则有输出,则有输出 。7-1-1 7-1-1 离散型离散型HopfieldHopfield网络网络67-1-1 7-1-1 离散型离散型HopfieldHopfield网络网络n相关参数说明相关参数说明q任意神经元任意神经元 与与 间的突触权值为间的突触权值为 ,神经元之间,神经元之间连接是对称的,神经元自身无连接连接是对称的,神经元自身无连接.q每个神经元都同其他的神经元相连每个神经元都同其他的神经元相连,其输出信号经过其输出信号经过其他神经元又有可能反馈给自己其他神经元又有可能反馈给自己 q设设Hopfield网络中有网络中有n个神经元,其中任意神经元的个神经元,其中任意神经元的输入用
9、输入用 表示,输出表示,输出 用表示,它们都是时间的函用表示,它们都是时间的函数,其中数,其中 也称为神经元在时刻也称为神经元在时刻 的状态。的状态。7激励函数激励函数7-1-1 7-1-1 离散型离散型HopfieldHopfield网络网络87-1-2 7-1-2 连续型连续型HopfieldHopfield网络网络 连续连续HopfieldHopfield网结构见图网结构见图(a)(a),是单层反馈非线性网,是单层反馈非线性网,每一节点的输出反馈至输入。每一节点的输出反馈至输入。HopfieldHopfield用模拟电路用模拟电路(电阻、电容和运算放大器电阻、电容和运算放大器)实现实现网
10、络的神经元网络的神经元(节点节点),见图,见图(b)(b)。图图9-2 连续型连续型Hopfeld网络网络9图图9-2 连续型连续型Hopfeld网络网络网络模型网络模型 设网络由n个节点组成,第i个节点的方程:=+-=)(1iinjiiiijijiiufVIRuRuVdtduC 设 1111RRRwRiiijjijij=+=则 CdudtRuw VIVf uiiiiijjjiii=-+=1()10Hopfield网络模型网络模型图图9-1 连续型连续型Hopfeld网络网络运算放大器模拟了神经元的非线性特性;运算放大器模拟了神经元的非线性特性;设设 xuVyRCICii=,tq 则则 dxd
11、txCw yyf xiiiijjiii=-+=11tq()式中式中 f xeexx()=-+-11,且且jiijww=。可见:可见:(1)Ri与与Ci的并联模拟了生物的并联模拟了生物(2)1Rij模拟了神经元间突触特性;模拟了神经元间突触特性;(3)(4)偏置电流偏置电流Ii相当于阈值。相当于阈值。神经元的时间常数;神经元的时间常数;117-2 Hopfield网络的计算过程网络的计算过程(离散离散)在网络运行过程中,网络神经元状态的演变有两种形式。在网络运行过程中,网络神经元状态的演变有两种形式。1 1、异步更新、异步更新 在任一时刻在任一时刻t t,只有某一神经元,只有某一神经元 的状态已
12、更新,而其的状态已更新,而其余神经元保持不变,即余神经元保持不变,即 对应某个特定的对应某个特定的 。2 2、全并行工作方式、全并行工作方式 即即 这时也可以把状态转移方程写成向量形式:这时也可以把状态转移方程写成向量形式:12 下面给出几个基本概念的定义,这些基本概念与网络运下面给出几个基本概念的定义,这些基本概念与网络运行过程中状态的变迁有关。行过程中状态的变迁有关。网络的稳定性。网络的稳定性。网络的稳定性。网络的稳定性。若网络从初始状态若网络从初始状态v(0)v(0)开始,经过有限开始,经过有限时间时间t t后,网络的状态不再发生变化,即后,网络的状态不再发生变化,即则称网络是稳定的。则
13、称网络是稳定的。网络的吸引子。网络的吸引子。网络的吸引子。网络的吸引子。设设t=0t=0时时,对输入模式对输入模式x x,网络处于状态,网络处于状态v(0),v(0),而在时刻而在时刻t t,网络到达状态,网络到达状态v(t)v(t)。若。若v(t)v(t)稳定,则称稳定,则称v(t)v(t)为网络的稳定吸引子为网络的稳定吸引子;若网络状态有规律的在某些状态若网络状态有规律的在某些状态之间振荡,则称网络处于有限环之间振荡,则称网络处于有限环(limited circle)状态。若网状态。若网络无规律的在某些状态之间振荡,则称网络处于混沌络无规律的在某些状态之间振荡,则称网络处于混沌(chaos
14、)状态。状态。吸引子的吸引域。吸引子的吸引域。吸引子的吸引域。吸引子的吸引域。对于某些特定的初始状态,网络按一对于某些特定的初始状态,网络按一定的运行规则最后可能稳定在同一吸引子上。称能够稳定在定的运行规则最后可能稳定在同一吸引子上。称能够稳定在吸引子吸引子v(t)v(t)的所有初始状态集合称为的所有初始状态集合称为v(t)v(t)的吸引域。的吸引域。13例例7-1 7-1 计算下列离散计算下列离散Hopfield网络的运行过程,设初始状态网络的运行过程,设初始状态 X(0)=(1 0 1)T,找出其吸引子和对应的吸引域。,找出其吸引子和对应的吸引域。设:设:0 1-2 W=1 0-1 -2-
15、1 014 设网络状态为设网络状态为 HopfieldHopfield网络的能量函网络的能量函数可定义为数可定义为:7-3 Hopfield网络的稳定性网络的稳定性 由于由于Hopfield Hopfield 网络为反馈网络,所以需要讨网络为反馈网络,所以需要讨论网络运行的收敛性问题。自然这和网络的拓扑论网络运行的收敛性问题。自然这和网络的拓扑结构以及运行方式有关。如果网络权值对称,则结构以及运行方式有关。如果网络权值对称,则可以定义网络运行的能量函数。可以定义网络运行的能量函数。能量函数的定义:能量函数的定义:15定理定理定理定理7-17-17-17-1:设设设设HopfieldHopfie
16、ldHopfieldHopfield网络具有图网络具有图网络具有图网络具有图9-19-19-19-1的结构形式,且其状态的结构形式,且其状态的结构形式,且其状态的结构形式,且其状态按异步方式更新,且网络权值对称,无自反馈,那么,网络按异步方式更新,且网络权值对称,无自反馈,那么,网络按异步方式更新,且网络权值对称,无自反馈,那么,网络按异步方式更新,且网络权值对称,无自反馈,那么,网络状态在有限步内收敛到稳定点。状态在有限步内收敛到稳定点。状态在有限步内收敛到稳定点。状态在有限步内收敛到稳定点。证明证明:假设网络中第:假设网络中第k k个神经元个神经元 的状态发生变化,由原状的状态发生变化,由
17、原状态态 变为新状态变为新状态 ,的状态变化后网络能量为:的状态变化后网络能量为:其中其中 ,有,有 ,所以,所以 由于网络的对称性,有由于网络的对称性,有16若状态变化时,则:若状态变化时,则:上式由网络的双极性上式由网络的双极性 就可推得。进一步改写为就可推得。进一步改写为若网络的状态演变按方程若网络的状态演变按方程进行,由进行,由sgnsgn函数性质立即可推得函数性质立即可推得 ,或,或 即网络能量随网络状态的变化单调下降。另外,由于网络的即网络能量随网络状态的变化单调下降。另外,由于网络的能量函数有下界,因此网络必在有限步后收敛。证毕能量函数有下界,因此网络必在有限步后收敛。证毕 17
18、定理定理定理定理7-27-27-27-2:设设设设HopfieldHopfieldHopfieldHopfield网络具有图网络具有图网络具有图网络具有图9-29-29-29-2的结构形式(非线性作的结构形式(非线性作的结构形式(非线性作的结构形式(非线性作用函数是二值的),则在该网络权矩阵对称且负定的条件用函数是二值的),则在该网络权矩阵对称且负定的条件用函数是二值的),则在该网络权矩阵对称且负定的条件用函数是二值的),则在该网络权矩阵对称且负定的条件下,对于网络状态的每次变化,网络能量下,对于网络状态的每次变化,网络能量下,对于网络状态的每次变化,网络能量下,对于网络状态的每次变化,网络能
19、量E E E E单调下降。单调下降。单调下降。单调下降。证明证明:可把能量函数定义写成下面的矩阵乘积形式:可把能量函数定义写成下面的矩阵乘积形式:定义:定义:,注意到,注意到 ,整理可得到网络状态由,整理可得到网络状态由v(t)v(t)变为变为v(t+1)v(t+1)时的能量变化为:时的能量变化为:其中其中 ,而而 故故因为因为W W为非负定的,所以有为非负定的,所以有 ,从而可以知道:当,从而可以知道:当 时,必有时,必有 ,即网络能量单调下降。,即网络能量单调下降。即网络状态的同步更新时是稳定的。证毕即网络状态的同步更新时是稳定的。证毕18(i).(i).权值矩阵权值矩阵 为对称矩阵且对角
20、元素为为对称矩阵且对角元素为0,0,即即 一般地说来一般地说来,在进行在进行 Hopfield Hopfield 联想记忆编码时联想记忆编码时,要求要求:(ii).(ii).能够记忆预先给定的能够记忆预先给定的K K个模式个模式 ,即,即 今后为了方便起见今后为了方便起见,我们记我们记 归结归结归结归结HopfieldHopfieldHopfieldHopfield网络的学习算法如下网络的学习算法如下网络的学习算法如下网络的学习算法如下:(1)(1)开始赋于权值矩阵开始赋于权值矩阵 W(0)W(0)以一个较小不为以一个较小不为 0 0 的随机数的随机数,t=0 t=0 并且要求并且要求:7-4
21、 Hopfield网络的学习算法网络的学习算法19(2)(2)随机输入模式随机输入模式 ,以以 作为当前的输入模式作为当前的输入模式x(t),x(t),即即 计算计算 若网络对模式若网络对模式 稳定稳定,转到转到(4);(4);否则进行否则进行 (3);(3);(3)(3)更新网络权值更新网络权值:(4)(4)若网络权值对所有的模式稳定若网络权值对所有的模式稳定,则停机则停机;否则转到否则转到 (2).(2).其中其中20定理定理定理定理7-3:7-3:7-3:7-3:对于预先给定对于预先给定对于预先给定对于预先给定 中的中的中的中的 K K K K 个模式个模式个模式个模式 若若若若存在实对
22、称矩阵存在实对称矩阵存在实对称矩阵存在实对称矩阵 满足满足满足满足 ,那么上述算法在有限步内收敛。,那么上述算法在有限步内收敛。,那么上述算法在有限步内收敛。,那么上述算法在有限步内收敛。表示网络的综合输入表示网络的综合输入表示网络的非线性作用函数表示网络的非线性作用函数21 若不考虑网络的容错性能若不考虑网络的容错性能,仅仅考虑网络的容量意义仅仅考虑网络的容量意义不大不大.用上述编码方法所给出的编码有时容错性能较差用上述编码方法所给出的编码有时容错性能较差.为了使所得的权值矩阵对记忆样本的吸引域尽可能地大为了使所得的权值矩阵对记忆样本的吸引域尽可能地大,利用前面的算法利用前面的算法,求出一些
23、满足条件的权值矩阵求出一些满足条件的权值矩阵 每一个矩阵每一个矩阵 除以它的绝对值最大的元素的绝对值,使得除以它的绝对值最大的元素的绝对值,使得它的绝对值最大的元素的绝对值为它的绝对值最大的元素的绝对值为1 1。设新求得矩阵为:。设新求得矩阵为:然后求出这些矩阵的平均值矩阵:然后求出这些矩阵的平均值矩阵:22 我们涉及到我们涉及到Hopfield Hopfield 网络的两种运行形式,相应的有两网络的两种运行形式,相应的有两种不同的应用方向:种不同的应用方向:l 联想记忆联想记忆 因网络能收敛于稳态,故可用于联想记忆。若将稳态视因网络能收敛于稳态,故可用于联想记忆。若将稳态视为一个记忆,则由初
24、态向稳态收敛的过程就是寻找记忆的过为一个记忆,则由初态向稳态收敛的过程就是寻找记忆的过程,初态认为是给定的部分信息,收敛过程可认为是从部分程,初态认为是给定的部分信息,收敛过程可认为是从部分信息找到了全部信息,实现了联想记忆的功能。联想记忆模信息找到了全部信息,实现了联想记忆的功能。联想记忆模型的一个重要特性:由噪声输入模式,反映出训练模式。型的一个重要特性:由噪声输入模式,反映出训练模式。优化计算优化计算 若将稳态视为某一优化计算问题目标函数的极小点,则若将稳态视为某一优化计算问题目标函数的极小点,则由初态向稳态收敛的过程就是优化计算过程。先把问题表述由初态向稳态收敛的过程就是优化计算过程。
25、先把问题表述成能量函数,进一步由能量函数推出网络权结构,然后在某成能量函数,进一步由能量函数推出网络权结构,然后在某种条件下让网络运行,网络的稳定状态一般来说就对应与问种条件下让网络运行,网络的稳定状态一般来说就对应与问题的解答。题的解答。7-5 Hopfield网络的几个问题网络的几个问题23l 联想记忆与优化计算的关系联想记忆与优化计算的关系网络用于计算时网络用于计算时W W已知,目的是为了寻找稳态;用于联想记忆已知,目的是为了寻找稳态;用于联想记忆时稳态是给定的,由学习求得权系值。因此,二者是对偶的。时稳态是给定的,由学习求得权系值。因此,二者是对偶的。7-5 Hopfield网络的几个
26、问题网络的几个问题 l 网络渐近稳定的前提网络渐近稳定的前提前提是前提是 ,否则,系统的运动无准则。,否则,系统的运动无准则。wwijji=Hopfield Hopfield反馈神经网络应用于联想与优化计算是相对偶反馈神经网络应用于联想与优化计算是相对偶的。应用于优化计算时,网络权矩阵的。应用于优化计算时,网络权矩阵W W为已知,目的是寻找具为已知,目的是寻找具有最小能量值的稳定状态。用作联想时,稳定状态时给定的,有最小能量值的稳定状态。用作联想时,稳定状态时给定的,目的是通过学习过程来得到合适的权矩阵目的是通过学习过程来得到合适的权矩阵W W。247-6 Hopfield网络的网络的MATL
27、AB实现示例实现示例函函 数数 名名功功 能能satlin()饱和线性传递函数饱和线性传递函数satlins()对称饱和线性传递函数对称饱和线性传递函数newhop()生成一个生成一个Hopfield回归网络回归网络nnt2hop()更新更新NNT 2.0 Hopfield回归网络回归网络nMATLAB中中Hopfield网络的重要函数和功能网络的重要函数和功能 25n MATLAB中与中与Hopfield网络有关的重要函数和功能网络有关的重要函数和功能 newhop()q功能功能 生成一个Hopfield回归网络。q格式格式 net=newhop(T)q说明说明 net为生成的神经网络,具有
28、在T中的向量上稳定的点;T是具有Q个目标向量的R*Q矩阵(元素必须为-1或1)。Hopfield神经网络经常被应用于模式的联想记忆中。Hopfield神经网络仅有一层,其激活函数用satlins()函数,层中的神经元有来自它自身的连接权和阈值。7-6 Hopfield网络的网络的MATLAB实现示例实现示例26nMATLAB中与中与Hopfield网络有关的重要函数和功能网络有关的重要函数和功能satlins()q功能功能 对称饱和线性传递函数q格式格式 A=satlins(N)qA输出向量矩阵;输出向量矩阵;N是由网络的输入向量组成的S*Q矩阵,返回的矩阵A与N的维数大小一致,A的元素取值位
29、于区间0,1内。当N中的元素介于-1和1之间时,其输出等于输入;当输入值小于-1时返回-1;当输入值大于1时返回1。7-6 Hopfield网络的网络的MATLAB实现示例实现示例277-6 Hopfield网络的网络的MATLAB实现示例实现示例HopfieldHopfield网络应用网络应用 Hopfield Hopfield网络已成功的应用在多种场合。从概念上讲,网络已成功的应用在多种场合。从概念上讲,HopfieldHopfield网络的运行主要有两种形式。相应的应用方式也主网络的运行主要有两种形式。相应的应用方式也主要有两种要有两种联想存取与优化计算。而具体的应用方向主要联想存取与优
30、化计算。而具体的应用方向主要集中在图像处理、语声处理、控制、信号处理、数据查询、集中在图像处理、语声处理、控制、信号处理、数据查询、容错计算、模式分类、模式识别和知识处理等领域。容错计算、模式分类、模式识别和知识处理等领域。基本思想归纳如下:基本思想归纳如下:1)1)对于特定的问题,选择一种合适的表示方法,使得神对于特定的问题,选择一种合适的表示方法,使得神经网络的输出与问题的解对应起来。经网络的输出与问题的解对应起来。2)2)构造神经网络的能量函数,使其最小值对应问题的最构造神经网络的能量函数,使其最小值对应问题的最佳解。佳解。3)3)由能量函数反推出神经网络的结构。由能量函数反推出神经网络的结构。28见仿真例。见仿真例。7-6 Hopfield网络的网络的MATLAB实现示例实现示例29本章结束,谢谢大家!本章结束,谢谢大家!30