《第26章基于Hopfield的数字识别ppt课件》由会员分享,可在线阅读,更多相关《第26章基于Hopfield的数字识别ppt课件(14页珍藏版)》请在金锄头文库上搜索。
1、第二十六章,MATLAB优化算法案例分析与应用,第26章 基于Hopfield的数字识别,第二十六章,MATLAB优化算法案例分析与应用,26.1 Hopfield网络原理分析,Hopfield网络是神经网络发展历史上的一个重要的里程碑。由美国加州理工学院物理学家J.J.Hopfield教授于1982年提出,是一种单层反馈神经网络。 1984年,Hopfield设计并研制了网络模型的电路,并成功地解决了旅行商(TSP)计算难题(优化问题)。 Hopfield网络是一种互连型网络,它引入类似于切Lyapunov函数的能量函数概念,在满足条件的情况下,某种“能量函数”的能量在网络运行过程中不断地减
2、少,最后趋于稳定的平衡状态。对于一个非线性动力学系统,系统的状态从某一初值出发经过演变后可能有如下几种结果:渐进稳定点(吸引子)、极限环、混沌、状态发散。 因为人工神经网络的变换函数是一个有界函数,故系统的状态不会发生发散现象。目前,人工神经网络经常利用渐进稳定点来解决某些问题。如果把系统的稳定点视为一个记忆的话,第二十六章,MATLAB优化算法案例分析与应用,26.1 Hopfield网络原理分析,,那么从初态朝这个稳定点的演变过程就是一个寻找记忆的过程。如果把系统的稳定点视为一个能量函数的极小点,而把能量函数视为一个优化问题的目标函数,那么从初态朝这个稳定点的演变过程就是一个求解该优化问题
3、的过程。因此,HoPfield神经网络的演变过程是一个计算联想记忆或求解优化问题的过程。实际上,它的解决并不需要真的去计算,而是通过构成反馈神经网络,适当地设计其连接权和输入就可以达到这个目的。 Hopfield神经网络模型是一种循环神经网络,从输出到输入有反馈连接。在输入的激励下,会产生不断的状态变化。对于一个Hopfield网络来说,关键是在于确定它在稳定条件下的权系数。反馈网络有稳定的,也有不稳定的。对于Hopfield网络来说,如何判别其稳定性也是需要确定的。,第二十六章,MATLAB优化算法案例分析与应用,26.2 Hopfield数字识别,表26-1 人工神经网络应用领域,第二十六
4、章,MATLAB优化算法案例分析与应用,26.2 Hopfield数字识别,Hopfield神经网络模型如图26-1所示,它是一种循环神经网络,从输出到输入有反馈连接,通过不断的调整权值,使得系统能量函数不断的趋向于最小,达到系统收敛的目的。,第二十六章,MATLAB优化算法案例分析与应用,26.2 Hopfield数字识别,26.2.1 离散Hopfield网络(DHNN),对于离散Hopfield网络(DHNN)而言,神经元的输出只取1和0,分别表示神经元处于激活和抑制状态。对于二值神经元,它的计算公式如下:,一个DHNN的网络状态是输出神经元信息的集合。对于一个输出层是 n 个神经元的网
5、络,其t 时刻的状态为一个 n 维向量:,第二十六章,MATLAB优化算法案例分析与应用,26.2 Hopfield数字识别,26.2.1 离散Hopfield网络(DHNN),如果Hopfield网络是一个稳定网络,若在网络的输入端加入一个输入向量,则网络的状态会产生变化,如图26-2所示,即从超立方体的一个顶点转向另一个顶点,并且最终稳定于一个特定的顶角。,第二十六章,MATLAB优化算法案例分析与应用,26.2 Hopfield数字识别,26.2.2 连续Hopfield网络,对于连续Hopfield网络(CHNN)而言,拓扑结构和DHNN的结构相同。不同之处在于其函数g不是阶跃函数,而
6、是S形的连续函数。一般取:,MATLAB工具箱Hopfield网络函数形式如下:,第二十六章,MATLAB优化算法案例分析与应用,26.2 Hopfield数字识别,26.2.3 基于DHNN的数字识别,用离散Hopfield网络,使其具有联想记忆功能,能正确识别阿拉伯数字,当数字被噪声污染后仍可以正确地识别。 假设网络由0-9共10个稳态构成,每个稳态由 10 x 10 的矩阵构成,该矩阵用于模拟阿拉伯数字点阵。即将数字划分成 10 x 10 方阵,有数字的部分用1表示,空白处用-1表示。,图26-4 数字点阵,第二十六章,MATLAB优化算法案例分析与应用,26.2 Hopfield数字识
7、别,26.2.3 基于DHNN的数字识别,图26-5 离散Hopfield网络算法设计流程图,第二十六章,MATLAB优化算法案例分析与应用,26.2 Hopfield数字识别,26.2.3 基于DHNN的数字识别,% 数字1 one=-1 -1 -1 -1 1 1 -1 -1 -1 -1;-1 -1 -1 -1 1 1 -1 -1 -1 -1;. -1 -1 -1 -1 1 1 -1 -1 -1 -1;-1 -1 -1 -1 1 1 -1 -1 -1 -1;. -1 -1 -1 -1 1 1 -1 -1 -1 -1;-1 -1 -1 -1 1 1 -1 -1 -1 -1;. -1 -1 -1
8、 -1 1 1 -1 -1 -1 -1;-1 -1 -1 -1 1 1 -1 -1 -1 -1;. -1 -1 -1 -1 1 1 -1 -1 -1 -1;-1 -1 -1 -1 1 1 -1 -1 -1 -1; ONE=imresize(one,20); subplot(2,5,2) imshow(ONE),第二十六章,MATLAB优化算法案例分析与应用,26.2 Hopfield数字识别,26.2.3 基于DHNN的数字识别,第二十六章,MATLAB优化算法案例分析与应用,26.2 Hopfield数字识别,26.2.3 基于DHNN的数字识别,图26-7 数字1-2识别,第二十六章,MATLAB优化算法案例分析与应用,26.2 Hopfield数字识别,26.2.3 基于DHNN的数字识别,图26-7 数字3-4识别,