Hopfield神经网络综述资料.docx

上传人:b****1 文档编号:14470608 上传时间:2023-06-23 格式:DOCX 页数:21 大小:124.64KB
下载 相关 举报
Hopfield神经网络综述资料.docx_第1页
第1页 / 共21页
Hopfield神经网络综述资料.docx_第2页
第2页 / 共21页
Hopfield神经网络综述资料.docx_第3页
第3页 / 共21页
Hopfield神经网络综述资料.docx_第4页
第4页 / 共21页
Hopfield神经网络综述资料.docx_第5页
第5页 / 共21页
Hopfield神经网络综述资料.docx_第6页
第6页 / 共21页
Hopfield神经网络综述资料.docx_第7页
第7页 / 共21页
Hopfield神经网络综述资料.docx_第8页
第8页 / 共21页
Hopfield神经网络综述资料.docx_第9页
第9页 / 共21页
Hopfield神经网络综述资料.docx_第10页
第10页 / 共21页
Hopfield神经网络综述资料.docx_第11页
第11页 / 共21页
Hopfield神经网络综述资料.docx_第12页
第12页 / 共21页
Hopfield神经网络综述资料.docx_第13页
第13页 / 共21页
Hopfield神经网络综述资料.docx_第14页
第14页 / 共21页
Hopfield神经网络综述资料.docx_第15页
第15页 / 共21页
Hopfield神经网络综述资料.docx_第16页
第16页 / 共21页
Hopfield神经网络综述资料.docx_第17页
第17页 / 共21页
Hopfield神经网络综述资料.docx_第18页
第18页 / 共21页
Hopfield神经网络综述资料.docx_第19页
第19页 / 共21页
Hopfield神经网络综述资料.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Hopfield神经网络综述资料.docx

《Hopfield神经网络综述资料.docx》由会员分享,可在线阅读,更多相关《Hopfield神经网络综述资料.docx(21页珍藏版)》请在冰点文库上搜索。

Hopfield神经网络综述资料.docx

Hopfield神经网络综述资料

题目:

Hopfield神经网络综述

1、概述:

1.什么是人工神经网络(ArtificialNeuralNetwork,ANN)

人工神经网络是一个并行和分布式的信息处理网络结构,该网络结构一般由许多个神经元组成,每个神经元有一个单一的输出,它可以连接到很多其他的神经元,其输入有多个连接通路,每个连接通路对应一个连接权系数。

人工神经网络系统是以工程技术手段来模拟人脑神经元(包括细胞体,树突,轴突)网络的结构与特征的系统。

利用人工神经元可以构成各种不同拓扑结构的神经网络,它是生物神经网络的一种模拟和近似。

主要从两个方面进行模拟:

一是结构和实现机理;二是从功能上加以模拟。

根据神经网络的主要连接型式而言,目前已有数十种不同的神经网络模型,其中前馈型网络和反馈型网络是两种典型的结构模型。

1)反馈神经网络(RecurrentNetwork)

反馈神经网络,又称自联想记忆网络,其目的是为了设计一个网络,储存一组平衡点,使得当给网络一组初始值时,网络通过自行运行而最终收敛到这个设计的平衡点上。

反馈神经网络是一种将输出经过一步时移再接入到输入层的神经网络系统。

反馈网络能够表现出非线性动力学系统的动态特性。

它所具有的主要特性为以下两点:

(1).网络系统具有若干个稳定状态。

当网络从某一初始状态开始运动,网络系统总可以收敛到某一个稳定的平衡状态;

(2).系统稳定的平衡状态可以通过设计网络的权值而被存储到网络中。

反馈网络是一种动态网络,它需要工作一段时间才能达到稳定。

该网络主要用于联想记忆和优化计算。

在这种网络中,每个神经元同时将自身的输出信号作为输入信号反馈给其他神经元,它需要工作一段时间才能达到稳定。

2.Hopfield神经网络

Hopfield网络是神经网络发展历史上的一个重要的里程碑。

由美国加州理工学院物理学家J.J.Hopfield教授于1982年提出,是一种单层反馈神经网络。

Hopfield神经网络是反馈网络中最简单且应用广泛的模型,它具有联想记忆的功能。

Hopfield神经网络模型是一种循环神经网络,从输出到输入有反馈连接。

在输入的激励下,会产生不断的状态变化。

反馈网络有稳定的,也有不稳定的,如何判别其稳定性也是需要确定的。

对于一个Hopfield网络来说,关键是在于确定它在稳定条件下的权系数。

下图中,第0层是输入,不是神经元;第二层是神经元。

Hopfield网络示意图

1984年,Hopfield设计并研制了网络模型的电路,并成功地解决了旅行商(TSP)计算难题(快速寻优问题)。

根据网络的输出是离散量或是连续量,Hopfield网络也分为离散和连续的两种。

Hopfield神经网络有两种:

离散Hopfield网络(DHNN)和连续Hopfield网络(CHNN)。

1)离散Hopfield网络(DHNN):

神经元的输出只取1和0,分别表示神经元处于激活和抑制状态。

对于二值神经元,它的计算公式如下

其中,xi为外部输入。

并且有:

2)连续Hopfield网络(CHNN)拓扑结构和DHNN的结构相同。

不同之处在于其函数g不是阶跃函数,而是S形的连续函数。

一般取G(u)=1/(1+

二、特性分析

1.离散Hopfield网络(DHNN)的结构和工作方式

离散Hopfield网络是一个单层网络,有n个神经元节点,每个神经元的输出均接到其它神经元的输入。

各节点没有自反馈,每个节点都附有一个阀值。

每个节点都可处于一种可能的状态(1或-1),即当该神经元所受的刺激超过其阀值时,神经元就处于一种状态(比如1),否则神经元就始终处于另一状态(比如-1)。

一个DHNN的网络状态是输出神经元信息的集合。

对于一个输出层是n个神经元的网络,其t时刻的状态为一个n维向量:

因为yi(t)可以取值为1或0,故n维向量Y(t)有2n种状态,即网络有2n种状态。

如图所示:

如果Hopfield网络是一个稳定网络,有3个神经元,则有8种状态。

右图可直观看出:

若在网络的输入端上加入一个输入向量,则网络的状态会产生变化,即从超立方体的一个顶点转向另一个顶点,并且最终稳定于一个特定的顶角[6]。

3神经元8种状态的立方体模型

假设一个DHNN,其状态为Y(t):

如果对于任何△t,当神经网络从t=0开始,有初始状态Y(0)。

经过有限时刻t,有:

Y(t+△t)=Y(t)则称网络是稳定的。

Hopfield网络稳定的充分条件:

权系数矩阵W是对称矩阵,并且对角线元素为0。

无自反馈的权系数对称Hopfield网络是稳定的。

稳定的Hopfield网络

离散Hopfield网络的一个功能是可用于联想记忆,也即是联想存储器。

这是人类的智能特点之一。

人类的所谓“触景生情”就是见到一些类同过去接触的景物,容易产生对过去情景的回昧和思忆。

对于Hopfield网络,用它作联想记忆时,首先通过一个学习训练过程确定网络中的权系数,使所记忆的信息在网络的n维超立方体的某一个顶角的能量最小。

当网络的权系数确定之后,只要向网络给出输入向量,这个向量可能是局部数据.即不完全或部分不正确的数据,但是网络仍然产生所记忆的信息的完整输出。

 

1)应用举例(数字识别)

问题

设计一个Hopfield网络,使其具有联想记忆功能,能正确识别阿拉伯数字,当数字被噪声污染后仍可以正确地识别[6]。

设计思路

假设网络由0-9共10个稳态构成,每个稳态由10*10的矩阵构成,该矩阵用于模拟阿拉伯数字点阵。

即将每个数字划分成10*10方阵,有数字的部分用1表示,空白处用-1表示。

数字表示示意图

设计步骤

(1)设计数字点阵(0-9)

(2)创建Hopfield网络

(3)设计受到噪声污染的数字点阵

(4)数字识别

(5)结果分析

(代码和仿真结果在第三仿真部分给出)

2.连续Hopfield网络(CHNN)的结构和工作方式

连续型Hopfield网络(CHNN)是由一些简单的电子线路连接起来实现的。

每个神经元均具有连续时间变化的输出值。

采用具有饱和非线性的运算放大器来模拟神经元的S型单调输入——输出关系,即

电子线路连接的连续Hopfield网络

(1)

电子线路连接的连续Hopfield网络

(2)

对于一个N节点的CHNN模型来说,其神经元状态变量的动态变化可用下述非线性微分方程组来描述

能量函数定义为

CHNN的能量函数不是物理意义上的能量函数,而是在表达形式上与物理意义的能量函数一致,表征网络状态的变化趋势。

定理:

若作用函数

是单调递增且连续的,则能量函数E是单调递减且有界的。

CHNN用非线性微分方程描述,网络的稳定性通过构造其能量函数(又称李雅谱诺夫函数),并用李雅谱诺夫第二稳定性定理进行判断。

说明[7]:

(1)李雅谱诺夫函数并不唯一;

(2)若找不到网络的李雅谱诺夫函数,不能证明网络不稳定;

(3)目前没有统一的找李雅谱诺夫函数的方法;

(4)用能量函数的方法研究网络的稳定性,在数学上欠严谨。

如果把一个最优化问题的目标函数转换成网络的能量函数,把问题的变量对应于网络的状态,那么Hopfield神经网络就能够用于解决优化组合问题。

应用Hopfield神经网络来解决优化计算问题的一般步骤为:

(1)分析问题:

网络输出与问题的解相对应;

(2)构造网络能量函数:

使其最小值对应问题最佳解;

(3)设计网络结构:

由能量函数和网络稳定条件设计网络参数,得到动力学方程;

(4)硬件实现或软件模拟。

1)应用举例(TSP:

TravelingSalesmanProblem)

它假定有n个城市A,B,C,……,它们之间的相互距离分别为

要求寻找一条闭合路径,此路径历经每个城市且经过一次,返回起始城市,要求此路径最短。

不考虑方向性和周期性,在给定n的条件下,可能存在的闭合路径数目为1/2(n-1)!

随着n的增大,计算量急剧增大,会发生所谓的“组合爆炸”问题[7]。

城市数

路径数

城市数

路径数

3

1

12

1.9958×107

4

3

13

2.3950×108

5

12

14

3.1135×109

6

60

15

4.3589×1010

7

360

16

6.5384×1011

8

2520

17

1.0461×1013

9

20160

18

1.7784×1014

10

181440

19

3.2012×1015

11

1814400

20

6.0823×1016

 

 

置换矩阵

A,B,C,D,E(对应各行)表示城市名称;

1,2,3,4,5(对应各列)表示路径顺序;

矩阵中“1”表示该城市在路径全程中所居顺序,其余元素均为“0”。

此处路径顺序为C→A→E→B→D→C。

特点:

(1)每行只有一个“1”,其余元素均为“0”;

(2)每列只有一个“1”,其余元素均为“0”;

(3)全部元素中“1”的总和为n。

1

2

3

4

5

A

0

1

0

0

0

B

0

0

0

1

0

C

1

0

0

0

0

D

0

0

0

0

1

E

0

0

1

0

0

思路

利用n×n个神经元组成Hopfield神经网络,网络达到稳定状态时各个神经元之状态对应置换矩阵的各个元素值,各城市间的距离作为一组约束信息决定神经元之间的连接强度

期望网络演变的最终结果给出最优解,也即以置换矩阵表明最短距离条件下路径之顺序。

能量函数

式中,A,B,C,D是权值,

表示城市x到城市y之间的距离。

前三项是问题的约束项,最后一项是优化目标项。

改进

动态方程

具体算法步骤

(1)置初值和权值,t=0,A=1.5,D=1.0,

(2)读入N个城市之间的距离

;

(3)神经网络输入

的初始化

其中,

,N为城市个数,

为(-1,+1)区间的随机值;

(4)利用动态方程计算

(5)根据一阶欧拉法计算

(6)采用sigmoid函数计算

(7)计算能量函数E;

(8)检查路径合法性,判断迭代是否结束,若未结束返回到第(4)步;

(9)输出迭代次数、最优路径、能量函数、路径长度及能量变化。

仿真中所采用的关键命令:

*sumsqr(X):

求矩阵X中各元素的平方值之和;

*sum(X)或sum(X,1)为矩阵X中各行相加,sum(X,2)为矩阵X中各列相加;

*repmat:

用于矩阵复制;

*dist(x,y):

计算两点间的距离。

(代码和仿真结果在第三仿真部分给出)

3、仿真

1.数字识别问题

 

数字1编码:

array_one

被噪声污染的数字1编码:

noisy_array_one

 

数字2编码:

array_two

被噪声污染的数字2编码:

noisy_array_two

分别将这些编码建立成matlab里面的m文件并以data0和data0_noisy,data1和data1_noisy进行命名。

以下是程序代码:

%%Hopfield神经网络的联想记忆——数字识别

%%清空环境变量

clearall

clc

%%数据导入

loaddata1array_one

loaddata2array_two

%%训练样本(目标向量)

T=[array_one;array_two]';

%%创建网络

net=newhop(T);

%%数字1和2的带噪声数字点阵(固定法(人为添加噪声))

loaddata1_noisynoisy_array_one

loaddata2_noisynoisy_array_two

%%数字1和2的带噪声数字点阵(随机法)[4]

%noisy_array_one=array_one;

%noisy_array_two=array_two;

%fori=1:

100

%a=rand;

%ifa<0.3加入30%的噪声

%noisy_array_one(i)=-array_one(i);

%noisy_array_two(i)=-array_two(i);

%end

%end

%%数字识别

%单步仿真——TS=1(矩阵形式)[4]

%identify_one=sim(net,10,[],noisy_array_one');

%多步仿真——元胞数组形式

noisy_one={(noisy_array_one)'};

identify_one=sim(net,{10,10},{},noisy_one);

identify_one{10}';

noisy_two={(noisy_array_two)'};

identify_two=sim(net,{10,10},{},noisy_two);

identify_two{10}';

%%结果显示

Array_one=imresize(array_one,20);

subplot(3,2,1)

imshow(Array_one)

title('标准(数字1)')

Array_two=imresize(array_two,20);

subplot(3,2,2)

imshow(Array_two)

title('标准(数字2)')

subplot(3,2,3)

Noisy_array_one=imresize(noisy_array_one,20);

imshow(Noisy_array_one)

title('噪声(数字1)')

subplot(3,2,4)

Noisy_array_two=imresize(noisy_array_two,20);

imshow(Noisy_array_two)

title('噪声(数字2)')

subplot(3,2,5)

imshow(imresize(identify_one{10}',20))

title('识别(数字1)')

subplot(3,2,6)

imshow(imresize(identify_two{10}',20))

title('识别(数字2)')

%%

仿真结果:

 

仿真结果显示离散的Hopfield网络识别数字效果较好。

 

2.旅行商问题(TSP:

TravelingSalesmanProblem)

这里用matlab模拟仿真了10城市,先对城市坐标进行定位:

(city_location.m)

以下是程序代码:

%%连续Hopfield神经网络的优化—旅行商问题优化计算

%

%%清空环境变量、定义全局变量

clearall

clc

globalAD

%%导入城市位置

loadcity_location

%%计算相互城市间距离

distance=dist(citys,citys');

%%初始化网络

N=size(citys,1);

A=200;

D=100;

U0=0.1;

step=0.0001;

delta=2*rand(N,N)-1;

U=U0*log(N-1)+delta;

V=(1+tansig(U/U0))/2;

iter_num=10000;

E=zeros(1,iter_num);

%%寻优迭代[5]

fork=1:

iter_num

%动态方程计算

dU=diff_u(V,distance);

%输入神经元状态更新

U=U+dU*step;

%输出神经元状态更新

V=(1+tansig(U/U0))/2;

%能量函数计算

e=energy(V,distance);

E(k)=e;

end

%%判断路径有效性[5]

[rows,cols]=size(V);

V1=zeros(rows,cols);

[V_max,V_ind]=max(V);

forj=1:

cols

V1(V_ind(j),j)=1;

end

C=sum(V1,1);

R=sum(V1,2);

flag=isequal(C,ones(1,N))&isequal(R',ones(1,N));

%%结果显示

ifflag==1

%计算初始路径长度

sort_rand=randperm(N);

citys_rand=citys(sort_rand,:

);

Length_init=dist(citys_rand(1,:

),citys_rand(end,:

)');

fori=2:

size(citys_rand,1)

Length_init=Length_init+dist(citys_rand(i-1,:

),citys_rand(i,:

)');

end

%绘制初始路径

figure

(1)

plot([citys_rand(:

1);citys_rand(1,1)],[citys_rand(:

2);citys_rand(1,2)],'o-')

fori=1:

length(citys)

text(citys(i,1),citys(i,2),[''num2str(i)])

end

text(citys_rand(1,1),citys_rand(1,2),['起点'])

text(citys_rand(end,1),citys_rand(end,2),['终点'])

title(['优化前路径(长度:

'num2str(Length_init)')'])

axis([0101])

gridon

xlabel('城市位置横坐标')

ylabel('城市位置纵坐标')

%计算最优路径长度

[V1_max,V1_ind]=max(V1);

citys_end=citys(V1_ind,:

);

Length_end=dist(citys_end(1,:

),citys_end(end,:

)');

fori=2:

size(citys_end,1)

Length_end=Length_end+dist(citys_end(i-1,:

),citys_end(i,:

)');

end

disp('最优路径矩阵');V1

%绘制最优路径

figure

(2)

plot([citys_end(:

1);citys_end(1,1)],...

[citys_end(:

2);citys_end(1,2)],'o-')

fori=1:

length(citys)

text(citys(i,1),citys(i,2),[''num2str(i)])

end

text(citys_end(1,1),citys_end(1,2),['起点'])

text(citys_end(end,1),citys_end(end,2),['终点'])

title(['优化后路径(长度:

'num2str(Length_end)')'])

axis([0101])

gridon

xlabel('城市位置横坐标')

ylabel('城市位置纵坐标')

%绘制能量函数变化曲线[5]

figure(3)

plot(1:

iter_num,E);

ylim([02000])

title(['能量函数变化曲线(最优能量:

'num2str(E(end))')']);

xlabel('迭代次数');

ylabel('能量函数');

else

disp('寻优路径无效');

end

%%

%%%%%计算能量函数

functionE=energy(V,d)

globalAD

n=size(V,1);

sum_x=sumsqr(sum(V,2)-1);

sum_i=sumsqr(sum(V,1)-1);

V_temp=V(:

2:

n);

V_temp=[V_tempV(:

1)];

sum_d=d*V_temp;

sum_d=sum(sum(V.*sum_d));

E=0.5*(A*sum_x+A*sum_i+D*sum_d);

%%%%计算du

functiondu=diff_u(V,d)

globalAD

n=size(V,1);

sum_x=repmat(sum(V,2)-1,1,n);

sum_i=repmat(sum(V,1)-1,n,1);

V_temp=V(:

2:

n);

V_temp=[V_tempV(:

1)];

sum_d=d*V_temp;

du=-A*sum_x-A*sum_i-D*sum_d;

仿真结果:

 

仿真结果显示连续Hopfield网络在处理优化问题上具有灵活性,有很好的可移植性,而且处理效果良好。

4、Hopfield网络当前的研究成果

1.随机竞争的Hopfield(SCH)神经网络应用与解决频率分配问题(FAP)[1]

在卫星通信系统中的FAP的目的是通过重新安排的频率分配,以减少卫星通信系统之间的共信道干扰,使他们能够适应日益增长的需求。

这种混合算法涉及到一个随机的竞争Hopfield神经网络(SCHNN)负责管理问题的制约,当用最少的成本高质量的解决方案遗传算法搜索。

这种混合算法,反映了一种特殊的算法混合的思想,拥有良好的适应性不仅可以处理FAP,还应对其他问题,包括聚类,分类,最大团问题,等等。

该解决方案对神经网络和进化算法之间的混合很有帮助。

2.Hopfield神经网络的弱引力透镜测量的去卷积方法[2]

弱引力透镜具有对暗能量的状态方程严格的限制的潜力。

然而,这将只有在剪切测量方法可达到的精度所要求的水平的时候才能成为可能。

通过将总的点扩散函数(PSF)利用数据的直接去卷积,采用表示PSF作为特普利茨矩阵的线性代数形式主义,使得我们可以通过应用Hopfield神经网络迭代方案来解决卷积方程。

星系在去卷积图像中的椭圆率使用图像的自相关函数的二阶矩就能够得到测量。

3.Hopfield神经网络应用于水质评价[3]

利用好Hopfield神经网络的特性,可以有效的运用与我们日常生活中的水质评价上,并且与其他方法相比更是有它的独到和优势的地方。

在简化模型中,连接权重通过奇异设计

值分解,以提高运行速度。

而且通过删除不重要的权重得到了更为简单的Hopfield网络结构。

事实证明了该简化模型用于水质评价中的效率和可行性。

五、总结

本文先对人工神经网络进行了简要的介绍,然后再引入所要综述的主题——Hopfield神经网络。

对Hopfiled神经网络,先介绍了其离散结构再介绍其连续结构,各自分别讲述了相关的原理以及一些实际的应用

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试认证 > 其它考试

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2