Hopfield网络及其应用郑洪英重庆大学信息安全系2020/5/112一、反馈网络二、Hopfield网络简介三、DHNN网络四、TSP问题求解五、内容小结内容安排2020/5/1131.1反馈网络简介1.2网络稳定性一、反馈网络2020/5/1141.1反馈网络简介反馈网络(RecurrentNetwork),又称自联想记忆网络–其目的是为了设计一个网络,储存一组平衡点,使得当给网络一组初始值时,网络通过自行运行而最终收敛到这个设计的平衡点上。反馈网络能表现出非线性动力学系统动态特性–网络系统具有若干个稳定状态。当网络从某一初始状态开始运动,网络系统总可以收敛到某一个稳定的平衡状态;–系统稳定的平衡状态可以通过设计网络的权值而被存储到网络中2020/5/115前馈型与反馈型神经网络的比较(1)前馈型神经网络只表达输入输出之间的映射关系,实现非线性映射;反馈型神经网络考虑输入输出之间在时间上的延迟,需要用动态方程来描述,反馈型神经网络是一个非线性动力学系统。(2)前馈型神经网络学习训练的目的是快速收敛,一般用误差函数来判定其收敛程度;反馈型神经网络的学习目的是快速寻找到稳定点,一般用能量函数来判别是否趋于稳定点。(3)两者都有局部极小问题。2020/5/1161.1反馈网络简介反馈网络分类–如果激活函数f(·)是一个二值型的函数,即ai=sgn(ni),i=l,2,…r,则称此网络为离散型反馈网络;–如果f(·)为一个连续单调上升的有界函数,这类网络被称为连续型反馈网络2020/5/117该网络为单层全反馈网络,其中的每个神经元的输出都是与其他神经元的输入相连的。所以其输入数目与输出层神经元的数目是相等的,有r=s。2020/5/1181z1z1z1z1z2020/5/1192020/5/11101.2网络稳定性状态轨迹–对于一个由r个神经元组成的反馈网络,在某一时刻t,分别用N(t)和A(t)来表示加权和矢量和输出矢量。在下一时刻t+1,可得到N(t+1),而N(t+1)又引起A(t+1)的变化,这种反馈演化的过程,使网络状态随时间发生变化。–在一个r维状态空间上,可以用一条轨迹来描述状态变化情况。从初始值A(t0)出发,A(t0+Δt)→A(t0+2Δt)→…→A(t0+mΔt),这些在空间上的点组成的确定轨迹,是演化过程中所有可能状态的集合,我们称这个状态空间为相空间2020/5/11111.2网络稳定性状态轨迹–离散与连续轨迹–在一个r维状态空间上,可以用一条轨迹来描述状态变化情况.2020/5/11121.2网络稳定性状态轨迹分类:对于不同的连接权值wij和输入Pj(i,j=1,2,…r),反馈网络可能出现不同性质的状态轨迹–轨迹为稳定点–轨迹为极限环–轨迹为混沌现象–轨迹发散2020/5/11131.2网络稳定性稳定轨迹–反馈网络从任一初始态P(0)开始运动,若存在某一有限时刻t,从t以后的网络状态不再发生变化(P(t+Δt)=P(t),Δt>0)则称网络是稳定的–处于稳定时的网络状态叫做稳定状态,又称为定吸引子2020/5/11141.2网络稳定性稳定点分类–在一个反馈网络中,存在很多稳定点–稳定点收敛域•渐近稳定点:在稳定点Ae周围的A(σ)区域内,从任一个初始状态A(t0)出发,当t→∞时都收敛于Ae,则称Ae为渐近稳定点•不稳定平衡点Aen:在某些特定的轨迹演化过程中,网络能够到达稳定点Aen,但对其它方向上任意小的区域A(σ),不管A(σ)取多么小,其轨迹在时间t以后总是偏离Aen;–期望解•网络的解:如果网络最后稳定到设计人员期望的稳定点,且该稳定点又是渐近稳定点,那么这个点称为网络的解;•网络的伪稳定点:网络最终稳定到一个渐近稳定点上,但这个稳定点不是网络设计所要求的解2020/5/11151.2网络稳定性状态轨迹为极限环–在某些参数的情况下,状态A(t)的轨迹是一个圆,或一个环–状态A(t)沿着环重复旋转,永不停止,此时的输出A(t)也出现周期变化(即出现振荡)–如果在r种状态下循环变化,称其极限环为r–对于离散反馈网络,轨迹变化可能在两种状态下来回跳动,其极限环为22020/5/11161.2网络稳定性状态轨迹为混沌–如果状态A(t)的轨迹在某个确定的范围内运动,但既不重复,又不能停下来–状态变化为无穷多个,而轨迹也不能发散到无穷远,这种现象称为混沌(chaos)–出现混沌的情况下,系统输出变化为无穷多个,并且随时间推移不能趋向稳定,但又不发散2020/5/11171.2网络稳定性状态轨迹发散–状态A(t)的轨迹随时间一直延伸到无穷远。此时状态发散,系统的输出也发散–一般非线性人工神经网络中发散现象是不会发生的.2020/5/11181.2网络稳定性目前的反馈神经网络是利用稳定的特定轨迹来解决某些问题–如果视系统的稳定点为一个记忆,则从初始状态朝此稳定点移动的过程即为寻找该记忆的过程–状态的初始值可以认为是给定的有关该记忆的部分信息,状态A(t)移动的过程,是从部分信息去寻找全部信息,这就是联想记忆的过程–将系统的稳定点考虑为一个能量函数的极小点。在状态空间中,从初始状态A(t0),最后到达A*。若A*为稳定点,则可以看作是A*把A(t0)吸引了过去,在A(t0)时能量比较大,而吸引到A*时能量已为极小了2020/5/11191.2网络稳定性考虑具体应用,可以将能量的极小点作为一个优化目标函数的极小点,把状态变化的过程看成是优化某一个目标函数的过程因此反馈网络的状态移动的过程实际上是一种计算联想记忆或优化的过程。它的解并不需要真的去计算,只需要形成一类反馈神经网络,适当地设计网络权值wij,使其初始输入A(t0)向稳定吸引子状态移动就可以达到目的2020/5/1120二、Hopfield网络简介2.1网络模型2.2DHNN2.3CHNN2.4联想记忆与优化计算2020/5/1121概述Hopfield网络是神经网络发展历史上的一个重要的里程碑。由美国加州理工学院物理学家J.J.Hopfield教授于1982年提出,是一种单层反馈神经网络。Hopfield网络是一种由非线性元件构成的反馈系统,其稳定状态的分析比前向神经网络要复杂得多。1984年,Hopfield设计并研制了网络模型的电路,并成功地解决了旅行商(TSP)计算难题(优化问题)。Hopfield网络分为离散型和连续型两种网络模型,分别记作DHNN(DiscreteHopfieldNeuralNetwork)和CHNN(ContinuesHopfieldNeuralNetwork)。Hello,I’mJohnHopfield2020/5/1122反馈神经网络由于其输出端有反馈到其输入端;所以,Hopfield网络在输入的激励下,会产生不断的状态变化。当有输入之后,可以求出Hopfield的输出,这个输出反馈到输入从而产生新的输出,这个反馈过程一直进行下去。如果Hopfield网络是一个能收敛的稳定网络,则这个反馈与迭代的计算过程所产生的变化越来越小,一旦到达了稳定平衡状态;那么Hopfield网络就会输出一个稳定的恒值。2020/5/11232.1网络模型分类–离散Hopfield网络(DHNN)–连续Hopfield网络(CHNN)DHNN中的激活函数CHNN中的激活函数2020/5/11242.1网络模型2020/5/11252.2DHNNHopfield最早提出的网络是二值神经网络,神经元的输出只取1和0这两个值,所以,也称离散Hopfield神经网络。在离散Hopfield网络中,所采用的神经元是二值神经元;故而,所输出的离散值1和0分别表示神经元处于激活和抑制状态。2020/5/11262.2DHNN对于一个离散的Hopfield网络,其网络状态是输出神经元信息的集合。对于一个输出层是n个神经元的网络,则其t时刻的状态为一个n维向量:–A=[a1,a2…,an]T故而,网络状态有2n个状态;因为Aj(t)(j=1……n)可以取值为1或0;故n维向量A(t)有2n种状态,即是网络状态。2020/5/11272.2DHNN对于三个神经元的离散Hopfield网络,它的输出层就是三位二进制数;每一个三位二进制数就是一种网络状态,从而共有8个网络状态。这些网络状态如图所示。在图中,立方体的每一个顶角表示一种网络状态。同理,对于n个神经元的输出层,它有2n个网络状态,也和一个n维超立方体的顶角相对应。2020/5/11282.2DHNN如果Hopfield网络是一个稳定网络,那么在网络的输入端加入一个输入向量,则网络的状态会产生变化,也就是从超立方体的一个顶角转移向另一个顶角,并且最终稳定于一个特定的顶角。2020/5/11292.2DHNNDHNN–取b=0,wii=0–权矩阵中有wij=wji2020/5/11302.2DHNN–DHNN网络结构可以用一个加权向量图表示2020/5/1131稳定状态–若网络从某一时刻以后,状态不再发生变化,则称网络处于稳定状态–网络为对称连接,即;神经元自身无连接–能量函数在网络运行中不断降低,最后达到稳定nnn1111E2ijijiiijiijjiwvvbv()()0vttvtt2020/5/1132网络中神经元能量函数变化量n11E2iijijiiiijwvvbvnn11n1EE(1)E()11(1)(1)()()221(1)()2iiiijijiiijijiiiiijijiiijjiiijttwvtvbvtwvtvbvtvtvtwvb-=E0iHopfield网络状态向着能量函数减小的方向演化。由于能量函数有界,所以系统必然会趋于稳定状态。2020/5/11332.3CHNN将霍普菲尔德网络推广到输入和输出都取连续数值的情形网络的基本结构不变,状态输出方程形式上也相同。则网络的状态转移方程可写为2020/5/11342.3CHNN神经元的激活函数f为S型的函数(或线性饱和函数)2020/5/11352.3CHNN神经元的激活函数f为S型的函数(或线性饱和函数)2020/5/11362.4联想记忆与优化计算联想记忆问题–稳定状态已知并且通过学习和设计算法寻求合适的权值矩阵将稳定状态存储到网络中优化计算–权值矩阵W已知,目的为寻找具有最小能量E的稳定状态–主要工作为设计相应的W和能量函数公式2020/5/1137三、DHNN3.1神经元状态更新方式3.2网络学习3.3网络记忆容量3.4权值设计2020/5/11383.1状态更新由-1变为1;由1变为-1;状态保持不变串行异步方式–任意时刻随机地或确定性地选择网络中的一个神经元进行状态更新,而其余神经元的状态保持不变2020/5/11393.1状态更新串行异步方式–任一时刻,网络中只有一个神经元被选择进行状态更新或保持,所以异步状态更新的网络从某一初态开始需经过多次更新状态后才可以达到某种稳态。–实现上容易,每个神经元有自己的状态更新时刻,不需要同步机制;–异步状态更新更接近实际的生物神经系统的表现并行同步方式–任意时刻网络中部分神经元(比如同一层的神经元)的状态同时更新。如果任意时刻网络中全部神经元同时进行状态更新,那么称之为全并行同步方式2020/5/11403.2网络学习联想记忆–联想记忆功能是DHNN的一个重要应用范围。–反馈网络实现联想记忆必须具备的两个基本条件•网络能收敛到稳定的平衡状态,并以其作为样本的记忆信息;•具有回忆能力,能够从某一残缺的信息回忆起所属的完整的记忆信息学习目的–具有q个不同的输入样本组Pr×q=[P1,P2…Pq]–通过学习方式调节计算有限的权值矩阵W–以每一组输入样本Pk,k=1,2,…,q作为系统的初始值–经过网络工作运行后,系统能收敛到各自输入样本矢量本身2020/5/11413.2网