《现代电路理论与设计第9章-人工神经网络(放映).ppt》由会员分享,可在线阅读,更多相关《现代电路理论与设计第9章-人工神经网络(放映).ppt(108页珍藏版)》请在三一办公上搜索。
1、现代电路理论与设计,第章人工神经网络的分析与设计,人工神经网络是模拟生物神经网络的工作机理、模仿人脑某些学习功能的一种计算结构,它也是一种自适应非线性动力学系统模型。经过近60多年的发展,人工神经网络有了很大的进展并在各个领域显示了巨大应用潜力。基于各种人工神经网络原理的硬件电路实现是人工神经网络得以应用的非常重要的前提之一。,本章首先介绍传统人工神经网络的基本概念,阐述神经元电路实现的一些方案。接着,结合细胞神经网络(Cell Neural NetworkCNN)分析人工神经网络的混沌特性和CNN的电路仿真实现,根据最新人工神经网络发展,以脉冲耦合神经网络(Pulse Coupled Neu
2、ral NetworkPCNN)为例,从等效电路解释和模型基本原理出发,详细介绍PCNN的基本工作原理,分析PCNN的基本混沌特性,再介绍PCNN模型的一种硬件电路实现方案,最后介绍人工神经网络在旅行商问题中的应用。,9.1.1.人工神经网络概述,(1)人工神经网络的发展,人工神经网络的发展大致经历了三个阶段:,第一阶段,1943年精神病学家和神经解剖学家Warren S McCulloch与数学家Walter H Pitts总结了生物神经元的一些基本生理特性,提出了MP神经元数学模型,1949年提出Hebb学习规则,1957年 F.Rosenblatt提出感知器,1960年Bernand W
3、idrow和 Marcian Hoff提出自适应线性元件网络,使得人工神经网络第一次从理论研究转入工程实现阶段,从而掀起了人工神经网络研究的高潮。,第二阶段,1969年M.Minsky和S.Parpert对感知器的悲观理论使神经网络研究陷入低谷。他们分析了若干种简单感知器,并总结说明:简单感知器只能完成线性分类,对非线性分类无能为力,加上他们在人工智能领域的威望,他们这种悲观理论对当时人工神经网络的发展来说负面影响很大;而另一方面,当时计算机技术的发展使得传统人工智能理论在基于Von Neumann计算机平台上的发展趋势非常乐观;同时人们对当时人工神经网络的训练没有得到一种普适的学习算法;这样
4、,人工神经网络的发展转入缓慢发展的低潮期。,第三阶段,1982年生物物理学家提出Hopfield网络模型,并将其成功应用于NP完全性的著名旅行商问题。1986年David E.和Runmelhart等的并行分布式处理(PDP)研究组完善了多层神经网络感知误差反向传播算法Error Back Propagation(简称BP算法,最早由Werbo于1974年提出),特别是有效解决了网络权值在学习过程中自动调整的问题,人工神经网络的发展再次掀起研究高潮;1987年6月21日在美国圣地亚哥召开了第一届国际人工神经网络学术会议,宣告国际神经网络协会成立。,20世纪80年代末期,蔡绍堂()等人提出了细胞
5、神经网络(CNN)模型。值得一提的是20世纪90年代初,PCNN应运而生,由于PCNN在图像处理领域的良好表现,又将其称为第三代人工神经网络发展的主要标志。常见的传统人工神经网络有:Hopfield、Adline、BP、Kohonen等。另外,还有一些特殊人工神经网络模型如:协同神经网络、广义同余神经网络、自组织映射神经网络、细胞神经网络,更有目前正在研究中的脉冲耦合神经网络。,(2)Hopfield神经网络,Hopfield网络是一个具有自反馈的简单人工神经网络,如下图所示。该网络由John Hopfield在1982年提出而得名。,霍普菲尔德网络的连线示意图,Hopfield网络的每个神经
6、元有多个输入,但只能有两种输出:1(表示抑制)或+1(表示兴奋),神经元之间的每个连接均被指派一个特定的连接强度,网络中的每个神经元在某一时刻总是对来自其周围的全部连接进行求和。如果这个总和大于0,则该单元的输出为+1,否则输出为-1。计算多次反复进行,直到所有单元的输出都稳定为止。所有单元的状态并不是同时改变的,而是按随机次序一个接一个地进行的。,Hopfield 从理论上证明,如果对Hopfield网络给定一组连接权值和任何输入,该网络将不会无限制地处于漫游状态,也不会进入振荡状态,而是迅速收敛到一个稳定状态。Hopfield 网络用“赫布规则”调节神经元之间连接权值:如果两个神经元具有相
7、同的输出,则它们之间的相互连接权值都设为+1,反之,如果它们具有相反的输出,则个权值均设为-1。,特别值得注意的是,如果仅仅给出正确输入模式的部分作为“线索”输入到该网络,它将经过短暂演化、不断调节各单元输出后,会稳定在正确输出模式(也即整个模式)上,于是,网络反映出各个神经元活动的稳定关系。最终Hopfield 网络将从某些仅仅与其存贮的“记忆”接近的信息中恢复出整个记忆,这已经与人们的记忆比较相似了。,当Hopfield 网络输入正确的神经元活动模式时,由于此刻它将反映我们所期望的正确答案,所以它的输出将为整个输出的正确模式,网络将稳定在该状态。,(3)Adaline神经网络,Adalin
8、e网络是一个单输出的单层前馈网络、一个自适应线性神经元模型,也是有教师监督学习的一个较早的神经网络。该网络由Bernard Widrow和于1960年提出,又称为WidrowHoff规则(也称为-律)。该规则使得在每一步修正中总误差总是下降,这意味着随着训练过程网络最终会达到一个误差的极小值。,对于该神经网络,当训练集的一个信号被输入到网络中时,网络就会产生一个输出,于是教师用此规则告诉每个输出神经元的误差,即它的输出与正确输出之间的差异,利用其来调整网络单元之间的连接权值,以改进网络性能。这个名称便来源于这种差异的含义。,(4)BP神经网络,BP网络采用反传算法而得名,该网络也采用教师监督学
9、习机制。BP网络的每个神经元输出不一定是二值的,通常其取值在0到+1之间,这对应于神经元的平均发放率(取最大发放率为+1)。每个单元对输入加权求和,但此时不再有一个真实的阈值,而是采用如图教材9.2所示的S形阈值函数(sigmoid函数)来体现其输入与输出间的典型关系。由该函数定性分析,如果神经元所收到的所有的输入总和很小,其输出也很小;总和稍大时,其输出便增加;当总和很大时,输出接近最大值+1。,这种特性有点类似于真实神经元平均发放率。因为该曲线本身是非线性的,其上任意一点的斜率是有限的。又很类似于真实神经元的活动。因此,这种特性使得BP网络的非线性特性进一步体现,能处理比严格线性系统更广泛
10、问题。,神经网络典型输入/输出曲线,一个典型的BP网络由输入层、隐含层、输出层三部分共同组成,如下图所示。由图中所示的网络连接关系可以看出,隐含层介于输入层和输出层之间,整个网络无侧向连接,而只有前向连接。,一个简化的多层神经网络,BP网络也要经过训练才能使用,其“训练集”必须是网络在训练后可能遇到的输入中合适样本。同样,通常需要进行多次输入训练,BP网络开始训练时,权值都被赋随机数值,然后,给定训练输入,产生输出并按反传训练规则调节各个神经元连接权值。也就是说,求出每个神经元的输出与期望输出之差异,利用该信息逐步调整每个从低层神经元达到该神经元的权值,不断调节以减小误差。,BP网络的成功之处
11、在于使用了一个由输出层到输入层、再到隐含层逐层逆向传播偏差的误差校正公式,用来修改神经元突触的连接强度也即连接权值。这种算法的普适性较好,可用于三层以上前向网络,这也就是BP网络能够大量应用的重要原因。BP网络最适合于处理那种规律隐含在一大堆数据中的映像逼近问题,特别是处理那种通过学习自适应可调的实时性问题,如模式识别、图像分割、自适应模糊控制等。BP算法是当前人工神经网络技术中最成功的学习算法之一,也是应用最为广泛的学习算法。,(5)Kohonen神经网络,Kohonen网络是一种无监督、自学习、自组织人工神经网络。由生物神经系统理论知,大脑通过感官所接受到的视觉、听觉等外界信息,是通过大脑
12、皮层上的拓扑表象来实现认知过程的。例如,在听觉皮层上就可以分辨出对不同频率产生响应的神经元空间配置,这种空间配置按频率对数方式安排,低频使皮层一端的神经元响应,高频则使另一端的神经元响应。,Kohonen将脑神经的这种空间结构映像外部复杂数据结构的方式进行矢量量化以压缩数据。因为大脑皮层的二维互联神经网络能表征外部世界高维信息,如下图所示,Kohonen网络就用一个格状平面网络表征输入信息,所有输入都和网格上的每一节点相连,每一个网格节点都是输出节点,它们只和相邻的其他节点相连。,Kohonen特征映像网络,通过学习算法,使相邻近的节点表征出输入的不同类别特性,称之为特征映像。通过反复将输入图
13、样和存储在每一个节点上的矢量进行比较,如果输入与节点矢量相匹配,则用该节点处的映像区域来优先表征该类训练数据的特征。Kohonen网络适合图像分割、图像分类或其他各种数据信息的分类分析。,前面简单介绍了一些传统神经网络的概念和特点,显然,它们是根据生物神经网络主要特性而模拟产生的人工神经元模型所构成的各种人工神经网络模型,它们与实际神经网络还有很大的距离,而且处理信息之前都要经过样本学习或训练的预处理阶段,尽管如此,仍能显示出惊人的信息处理能力。,9.1.2 人工神经元电路实现模型简介,神经元是人工神经网络电路实现的基本单元,线性突触神经元是传统人工神经网络应用最广泛、研究最多的一种神经元电路
14、实现模型,它的模型框图如下图所示,它的数学表达式为:,其中,y为神经元的输出,X i 是神经元的输入,W i是权值,是神经元的激活阈值,f是阈值函数(或称激活函数)。,线性突触神经元模型,由公式和框图可知,该神经元模型的电路实现需要分成3个功能单元,分别是:权值存储单元、突触求和单元和阈值单元。其中,权值存储单元实现神经元权值的存储,突触求和单元实现周围神经元对本神经元所有输入的加权求和,输出单元实现本神经元对所有周围神经元对其影响的响应。,(1)权值存储单元的电路实现 人工神经网络通过加权求和方式描述周围神经元对本神经元的影响,权值的大小反映对本神经元影响的强度,为此电路实现中需要存储很多权
15、值。下图所示为一个用固定电阻表示神经元互联权值的电路实现。,固定电阻加权求和神经元电路模型,大规模集成电路技术的发展,使得数字式权值存储电路实现方便,且具有精度高、可靠、不易丢失和设计简便等特点。下图所示为清华大学微电子所设计的数字式权值存储的突触电路。,这是一种具有8位数字权值和符号运算功能的突触电路,通过数字权值实现神经元加权求和。其中B0B7表示8位数字权值,Wsign和Vsign为1 bit数字量,分别表示权值和输入电压符号,1表示正,0表示负。这里Wsign和Vsign进行逻辑同或运算,当Wsign 为1时,表示输出结果为正,输出电流流入I+,当Wsign为0时,输出结果为负,电流流
16、入I-,然后由后面电流加减和比例电路实现Iout=I+-I-。,(2)突触求和单元的电路实现,现在最常用的神经元突触主要是线性突触和平方突触。突触电路是人工神经网络模型电路实现中数量最多、也是最基本的单元电路,因此,在设计模拟网络突触电路时除了要考虑电路的速度、精度等指标外,更重要的是要求突触电路结构简单、占用芯片面积小、功耗低等要求。,下图所示为电压型MOS 向量模拟乘法器构成的突触电路,乘法器的输出电压值Vo 公式为:,电压型MOS向量乘法器突触电路,把左图电路扩展为多路数据的电压型加权求和突触电路,如右图所示,图中分别用两个MOS管代替如左图中的电阻R,输出级带有由运放A 2、R1、Rf
17、 组成的反相比例输出级。,电压型MOS向量乘法器突触电路 电压型加权求和的突触电路,该电压型加权求和突触电路的输出电压为:,电压型加权求和的突触电路,(3)阈值单元电路实现,相对于数字电路,模拟电路利用器件的非线性特性,完成限幅函数、Sigmoid 函数、双正切函数等非线性函数等电路实现,无论从电路的简单程度还是运算速度上都有很大优势。现在常用阈值函数主要有三种:线性阈值函数、硬限幅函数和Sigmoid 函数。其中Sigmoid函数电路较容易实现,为人工神经网络最常用阈值函数。它可以用一个高增益倒相放大器和一个普通倒相放大器级联实现。,在某些神经网络中,为了能集成大量神经元,采用如下图所示3管
18、电路。尽管该电路运算精度较低,但却只用3只场效应管就能同时实现电流与电压的转换和Sigmoid 函数转换功能,运算速度快,其中前级为电流信号,便于进行求和运算。,三管Sigmoid 函数电路,1988年蔡少棠等首创细胞神经网络(Cellular Neural Networks-CNN)模型。细胞神经网络是一种能实时、高速并行处理信号的大规模非线性模拟电路模型,易于VLSI实现,用它可描述三阶以上动力学行为,因此得到广泛应用。,CNN基本单元如下图所示,网络的每个细胞都是由一个线性电阻、一个线性电容和一组压控电流源共同构成的非线性一阶电路。图中,uij 为基本细胞神经网络单元的输入,yij为其输
19、出,xij为其状态。,细胞神经网络简介,基本细胞神经网络单元,一个简单二维CNN结构模型如下图所示。图为这样的基本细胞神经网络单元构成的细胞神经网络结构模型。,细胞神经网络的一种基本结构模型,如果一个NM的CNN模型中,细胞 cij只与邻近的细胞ckl通过压控电流源Ixy(i,j;k,l)和Ixu(i,j;k,l)相连接,并且细胞ckl位于细胞cij邻域Nr(ij)中,那么可以对邻域Nr(ij)定义如下:,这样,此式为每个细胞的状态方程。,特别地,当CNN模型中的细胞的个数超过2个以上时,用下式来一般性表示CNN模型中一个神经细胞的状态方程:,上式中,xj、yj分别为细胞的状态变量、细胞的输出
20、;Go和Gs分别为邻域内连接细胞的输出和状态变量的状态组合;j为细胞的标号,aj为常数,ij是门限值,且有,三阶CNN动态模型的状态方程为:,其中x1、x2和x3表示状态变量,y1、y2和y3为相应的输出。,细胞神经网络CNN的混沌输出,本节分析三阶细胞神经网络的混沌特性,如将下式参数a12、a13、a2、a21、a23、a3、a31、a32、s13、s31、s22置为0,并将门限值i1、i2、i3也设为0。,则上式变为,同时在实验中选择:s33、s21、s23为1,且步长为0.005,通过设置:(a)a1=3.875,s11=-1.57,s12=9,s32=-14.286;(b)a1=4.0
21、279,s11=-1.6856,s12=9.4,s32=-16;(c)a1=-3.6805,s11=2.2179,s12=8.342,s32=-11.925;(d)a1=-7.717,s11=1.3443,s12=-4.925,s32=3.649,则下式对应的四个方程如下页所示:,分别求解方程组,得到如下图所示的吸引子相图。,(a)a1=4,s11=-2.78,s12=10,s32=-14.7;(b)a1=0.667,s11=-2.78,s12=10,s32=-21.3;,(c)a1=-3.70,s11=1.25,s12=0.87,s32=-12.5;(d)a1=-7.7,s11=0.34,s
22、12=-5,s32=3.6,(a)a1=4,s11=-2.78,s12=10,s32=-14.7;(b)a1=0.667,s11=-2.78,s12=10,s32=-21.3;,图(a)为典型的双涡旋混沌吸引子,而图(d)则为典型的双螺旋吸引子。,同样,对全互连四阶细胞神经网络分析其混沌特性,设四阶细胞神经网络状态方程的各个参数分别为,则四阶细胞神经网络系统的状态方程可写为:,求解方程组,得到x1x4的波形如下图所示。,(a)x1波形图(b)x2波形图,(c)x3波形图(d)x4波形图,四阶细胞神经网络系统的二维相图,(a)x1-x2平面相图(b)x1-x4平面相图,四阶细胞神经网络系统三维相
23、图,(c)x1-x2-x3三维相图(d)x2-x3-x4三维相图,观察图可见,四阶细胞神经网络有着较复杂的系统动态行为,是一个超混沌系统。如将其用于保密通信中,将增强保密通信系统的抗破译能力。,细胞神经网络的电路实现,和其他典型神经网络的电路实现方法一样,用运算放大器可以方便地设计出硬件电路实现的细胞神经网络模型。如图所示电路为运算放大器实现的细胞神经网络中的一个简化细胞电路模型。,细胞神经网络中的简化细胞电路模型实现,运算放大器实现的细胞神经网络中的简化细胞电路模型,如图所示电路为运算放大器实现的细胞神经网络中的一个简化细胞电路模型。,下图所示为一个细胞神经网络实现电路原理的结构框图。,细胞
24、神经网络实现电路原理的结构框图,20世纪90年代开始研究的脉冲耦合神经网络(PCNN)模型是目前正在发展中的新型、应用广泛、研究非常热的一种人工神经网络。它是基于对猫猴等哺乳动物视觉皮层神经元脉冲同步振荡现象研究而产生的一种人工神经网络数学模型。由于PCNN考虑了神经元的非线性特性,具有特殊生物学背景,对于计算机视觉技术发展来说,向视神经网络中真实神经元模型靠进了一大步。,该模型能对图像二维空间相邻、灰度相似像素进行分组,并能减小图像局部像素灰度值差,故而,非常适合图形、图像处理等方面的应用,主要用于图形、图像特征提取、边缘检测、目标分割、目标识别,其应用研究正在逐步深入。目前已经将PCNN应
25、用于医疗图像诊断系统、军事目标识别系统和航空航天等领域。,9.3.1.PCNN模型基本原理,(1)神经元非线性特性等效电路分析,传统人工神经网络模型利用生物神经元的有限属性。由此所建立的神经元模型工作于兴奋与抑制两种状态,同时还具有多输入、单输出以及突触部分的连接强度可以调节等特点。在这种模型中,当神经元细胞膜的静止电位超过阈值点时,神经元就处于兴奋状态,否则就处于抑制状态。,神经元胞体上各种树突的突触后接受周围与之相连的神经元轴突的突触前电脉冲信息,并在空间和时间上按迭加方式作用,经过内部复杂的求和处理后由本神经元的轴突传送到其他神经元。实际的生物神经系统中的神经元除了前面所述的特点之外,其
26、输入和输出之间还具有明显的非线性效应:所有神经元树突上突触后的输入并不是简单的以求和方式影响本神经元的脉冲发放,而具有非线性相乘的调制耦合特性,这些非线性特性都在生物神经系统试验研究中得到了进一步验证,是一种普遍存在现象。,若用电路理论来解释,就会发现神经元突触上离子通道的等效电导相互影响,并具有神经元电压依赖特性,也即压控特性。,下图为一个神经元胞体和相邻神经元树突之间突触连接的简单模型,为了简化分析,忽略了轴突的功能。,一个神经元胞体和相邻神经元树突之间突触连接简单模型,下图为神经元胞体和相邻神经元树突之间突触连接简单模型的等效电路模型框图。其中,Em为神经细胞的固有电位,一般约为-70m
27、V左右,Y(t)为神经元产生的脉冲,Es为突触后固有电位,一般约为+20mV左右,gm1、gm2分别为细胞膜本身的固有漏电导。,gs1=F、gs2=L分别为本神经元轴突的突触前、相邻神经元树突的突触后输入电导(离子通道传输电导),g12为连接距离(长度)电导。所有电阻(电导的倒数)在兆欧数量级,且g12远远大于gm1、gm2。C1、C2分别为各自细胞膜等效电容,数量在纳法数量级。,神经元胞体和相邻神经元树突之间突触连接的等效电路模型框图,对下图电路写出它的电压脉冲表达式如下:,其中,,V1、V2为各自神经元细胞膜电位。这个表达式说明输出脉冲信号不仅与突触之间的传输电导F、L有关,还与神经元本身
28、的等效电容、固有电位、细胞膜本身的等效漏电导有关。这进一步说明神经元能否激活除了取决于外部相邻神经元的输入之外,还与其本身的内部活动状态有关。当神经元电位V1大于其激发阈值电位Vmax时,就会处于激发状态产生脉冲电压信号Y(t),否则处于抑制状态,或者处于静态。静态的神经元细胞内部活动达到平衡状态,无脉冲信号输出,也即电位微分为零。,由式,可得:,其中:,上式实际上是神经元内部平衡时神经元细胞膜电位函数关系。,上式是神经元内部平衡时神经元细胞膜电位函数关系。式中a为本身固有漏电导影响部分,(bF+cL)为突触传输电导线性影响部分,bF为输入电导影响,cL为反馈传输电导影响,dFL为非线性效应的
29、影响。这里最后一项说明前面所述非线性相乘调制耦合特性是由本神经元突触前与相邻神经元树突突触后之间的输入电导电流传导作用而引起的,而这些输入电导本身受神经元脉冲电压的控制,这就使得本神经元信息借助突触电导的这种压控特性传送到相邻神经元。,(2)脉冲耦合神经网络模型,脉冲耦合神经网络的一个神经元模型框图如下图所示,它由树突部分、非线性连接调制部分、脉冲产生三部分构成。树突部分的作用是接收来自相邻神经元的输入信息,它由线性连接输入通道和反馈输入通道两部分组成;,脉冲耦合神经网络神经元模型,线性连接输入通道接收来自局部相邻神经元突触输入信息,而反馈输入通道除了接收这种局部输入信息外,还直接接收来自外部
30、的刺激信息输入。每个通道状态的变化由其本身状态和接收输入信息共同决定;非线性连接调制部分也即神经元内部活动项,它由加有偏置的线性连接部分与反馈输入两部分相乘获得;脉冲产生取决于内部活动项大小能否超过其激发动态门限,而此门限值随着该神经元输出状态的变化相应发生变化。,整个脉冲耦合神经网络的工作过程是这样的:如果神经元有脉冲输出,则其动态门限突然增加。因为门限增大使得第二次不可能产生脉冲输出,然后门限又开始指数衰减,当门限值衰减到小于其内部活动项值时,脉冲又再次产生,如此周而复始。显然这些脉冲串输出又输入到与之相连的其他神经元的树突上,从而又影响这些神经元的激发状态。显然,比起前面反传BP神经网络
31、模型,PCNN网络模型同时利用了生物神经元特有的线性相加、非线性相乘调制耦合两种特性。,PCNN网络模型还考虑了生物电脉冲传输离子通道特性,考虑了哺乳动物视神经系统视野受到适当刺激时,相邻连接神经元(甚至在猫视觉皮层相邻7mm范围内)同步激发产生35Hz70Hz振荡脉冲串特性。内部活动项中偏置一项为神经元处于抑制状态时,内部活动平衡态的一种等效表示,这样PCNN模型更接近于实际的生物神经网络。因此,它对输入信息的处理能力更强、性能更好。,右下图就是应用于图像处理的PCNN模型框图,这里树突的反馈输入为Fijn、线性连接输入为Lijn,非线性连接调制构成的内部活动项为Uijn、PCNN脉冲输出为
32、Yijn,它们满足如下的数学关系式:,脉冲耦合神经网络神经元模型,式中Fijn就是第(i,j)个神经元的n次反馈输入、Sij为外部输入刺激信号(这里为图像像素构成的矩阵中第(i,j)个像素的灰度值)、为突触之间连接强度常数、同样L为线性输入项Lijn、Eijn为为神经元内部活动项U能否激发脉冲产生的指数衰减动态门限、Yijn是PCNN脉冲输出、Uijn为神经元内部活动项。其中内部连接矩阵M、W(一般W=M)的mijkl、wijkl分别为Fijn、Lijn中Ykln的加权系数,VF、VL、VE分别为Fijn、Lijn、Eijn中的固有电势,F、L、E分别为Fijn、Lijn、Eijn的衰减时间常
33、数,它们之间满足:FEL。,PCNN神经元接受反馈输入Fijn和连接输入Lijn,然后在其内部神经元活动系统形成内部活动项Uijn,当Uijn大于动态门限Eijn时,PCNN产生输出时序脉冲序列Yijn。若在PCNN的一个神经元数学模型Ni中输入一个恒定反馈Fi=Si(归一化像素灰度值)且无连接输入L(或者为零),则可以证明PCNN能产生稳定周期的脉冲序列Yin。,若此时还有其W领域内其他神经元Nj与Ni互联,且FiFj。如果在t=0时Nj、Ni被复位,也即除了输入Si、Sj外,门限E、连接输入L等都为零,则第一次两个神经元都被激活,Nj、Ni都有脉动输出Yi、Yj,然后动态门限Ej、Ei指数
34、衰减,而在某个t时刻,Ni已经激发脉冲输出Yin,则Nj活动项Uj就会因为Yin的作用而增加,若此时UjEj,那么Nj将会与Ni一样激发脉冲输出,就说神经元Nj捕获了神经元Ni的振荡频率,与它一起同步振荡了。,显然,PCNN为单层模型神经网络,不需要训练过程即可实现模式识别、图像分割、目标分类,这是有别于传统多层网络的显著特点之一,同时,对于二维矩阵形式输入的图像信号来说,PCNN输出一维的二值脉冲串,也即实现了空间降维,将二维空间变量转化为一维时间脉冲序列了。,9.3.2 混沌PCNN模型原理分析,(1)基本模型,有文献分析和证明了积分点火型神经元在其复位电压为振荡时可表现出混沌行为,并且还
35、分析了连续时间变化情况下脉冲耦合神经网络的一些混沌特性,以下我们就离散Eckhorn的PCNN模型,分析其在图像处理中表现的一些混沌特性。首先,我们将该PCNN模型的动态阈值指数衰减公式中,动态阈值初值也即其复位电压变为振荡式复位电压,我们就得到离散混沌PCNN模型,以下简称混沌PCNN。,基本离散PCNN模型的数学描述如上式所示,VE为神经元点火时动态阈值的初始值,在Eckhorn的PCNN模型中是一个常数,而混沌PCNN中设为一个正弦振荡信号,即:,其中,00分别为正弦振荡的振幅和频率,fs是正弦信号的采样频率。显然,当振幅a0=0 和f0=0时,模型即为基本PCNN模型。设VE(n)对于
36、网络中所有神经元都是一样的,因此称其为“背景振荡”,改变a0和f0可使模型神经元的点火时间从周期变为混沌。,(2)基本PCNN模型在无耦合连接时的点火周期,在无耦合连接情况下,耦合系数=0,反馈输入域中放大系数VF=0,PCNN的运行行为是各神经元相互独立运行的组合。此式左式化简为右式,一般给定VE值比较大,而反馈输入F与动态门限E初值均为零,假设在n=0时刻,这里要注意的是时间n已经离散化,神经元ij点火。,把式 代入式 有,,因为神经元动态门限阈值由原来的ij=0突然升高到VESij,神经元不能立刻再次兴奋而输出脉冲,Y始终为零,所以,动态门限ij再次从n=1,2,3继续按指数规律衰减,具
37、体地:,而,把下面两式,代入,有,同理,n=1,2时,可以递推出通式:,上式反映了PCNN的动态阈值指数衰减性,如果n=n1时刻,满足,其中,,则神经元恰好在n=n1时刻第二次点火,也即:,则由上式得,,有激励Sij而无耦合时,同样此后,神经元不会马上兴奋点火,因为,其阈值升高到了,然后,在n=(n1+1),(n1+2),(n1+3)时刻,动态门限ij再次从(cS+VE)按指数规律衰减,此时,通式将变为:,直到n=n2时刻,满足,则神经元恰好在n2时刻第三次点火即,其中,由下式,得,则n2为,此后,又遵循式教材式(9.40)式(9.46)所示的规律,周而复始地循环,神经元周期性发放脉冲。,综上
38、分析,可以得出,PCNN神经元周期性输出脉冲,并且输出脉冲的离散时间为,m是在n1时刻PCNN神经元点火后,以n2为间隔的第m次点火。,PCNN神经元点火周期为,此后,在无耦合情况下,神经元周而复始的循环工作,兴奋产生输出脉冲。显然离散模型中的自然周期为Tij,是该神经元ij在没有受到别的神经元影响时的独立点火周期,也称神经元稳定点火周期。,上式表明,外部刺激Sij越大,该神经元点火周期越小,点火频率越高,意味着不同灰度值像素,在没有受到别的神经元影响时,其独立点火频率依赖于该像素灰度值。或者说,在图像中,多个相近灰度值神经元将在相同时刻点火,这也从一个方面解释了PCNN同步脉冲发放现象的内在
39、机理。,当外部输入为常数Sij=S时,可认为在经过足够长迭代次数n后 Uij(n)=cS ij接近于一个常数,如下图所示。,U(n)值(参数:aF=0.1,Sij=5,迭代次数n从1到100),由下图可见,在无耦合连接PCNN中,当n大于某一数值以后,U(n)几乎保持不变,这可解释神经元的周期性脉冲发放,当脉冲产生时,E=U+VE不变,又因为U不变,故E=(U+VE)e-(n2-n1-1)*aE衰减到U而产生下一次脉冲所用的时间间隔n2n1总是固定的。但从图也可见,在n较小时,U是递增的,此时脉冲发放应不满足周期性。,(3)无耦合混沌PCNN的圆周映射特性,由上分析可知,在无耦合情况下PCNN
40、神经元将周期性输出脉冲,周期为Tij。,将式,代入上式得,将上式的两边乘以,得,设,则上式可改写为,上式为描述单个无耦合混沌PCNN神经元的一维圆周映射。,可将,(以 为模)看作“背景振荡”在,点火时刻的相位。在神经元外部输入取某一固定值时,可根据下式,以为横坐标、为纵坐标,作研究离散混沌PCNN模型混沌特性的Arnold舌头图。,具体地:计算所有(f0,a0)对应的x(m)序列的Laypunov指数,根据混沌理论,Laypunov指数大于零的序列应为混沌序列,当Laypunov指数大于零时,将产生该序列的(f0,a0)坐标对应的点标记为灰色,此时的序列应为混沌序列。,另外,在Arnold舌头
41、图中,将产生周期性x(m)的(f0,a0)坐标对应点标记为黑色,表示x(m)序列是周期性序列,下图为S=0.5时的Arnold舌头图(fs=1)。黑点表示“周期点”,具体是指当“背景振荡”的参数(f0,a0)取图中黑点处的坐标值时,无耦合混沌PCNN神经元对特定输入S的点火序列是周期性的。,无耦合离散PCNN神经元圆周映射的Arnold图此时S=0.5,fs=1,灰点表示“混沌点”,是指当“背景振荡”的参数(f0,a0)取图中灰点处的坐标值时,无耦合混沌PCNN神经元对特定输入S的点火序列呈混沌特性。,无耦合离散PCNN神经元圆周映射的Arnold图此时S=0.5,fs=1,为了验证依据混沌P
42、CNN一维圆周映射所作Arnold舌头图是正确的,我们用相似的思路作混沌理论中标准圆周映射:(模1)的Arnold舌头如下图所示,从而进行比较和验证无耦合混沌PCNN符合标准圆周映射要求。,标准圆周映射的Arnold舌头图,此时Lyapunov指数0.010,1,k 0,3,9.3.3 PCNN在CNAPS环境下的数字实现,早起文献介绍的CNAPS(the connected network of adapted processors system)是一个已经实现过多种神经网络模型的商用自适应网络互联处理系统,为单指令多数据(Single Instruction Multiple Data(S
43、IMD)架构的PC扩展卡。这种架构有很多处理节点P,也就是PN组成。每一个节点能处理简单乘法和求和运算以及具备一定容量的本地存储器。在SIMD架构中,各个节点同时接受和执行同样的指令,且每个节点只能处理其本地存储器范围数据。,另外,在主机和CNAPS直接有一个很大的缓冲区,这种架构如下图所示。PCNN算法非常适用于图像处理,研究在CNAPS数字环境下实现PCNN模型有其特殊意义。,CNAPS示意图,CNAPS系统设计有8个芯片的PCI卡,每个芯片有16个处理器,总共有128个PN。CNAPS系统自身包含一个C和汇编语言编译环境,还有一个应用程序接口,方便对各种实现进行快速有效评估和任意修改。,
44、(1)CNAPS简介,CNAPS是一个多处理器芯片,所有处理器都强制执行收到的相同指令,这就是SIMD型计算机。系统可以用CNAPS-1016或CNAPS-1064芯片搭建,分别有16个和64个处理器,可将几个芯片串联起来以便用一个CNAPS序列控制芯片(CSC)为所有芯片安排指令及数据的次序。,每个PN是一个定点处理器,有自己的片上存储器、寄存器和存储器地址单元。CNAPS有乘法器、加/减法器(32位)和移位/逻辑单元等(1个88或816(1616)乘法需占用1个或2个时钟周期),当然常用的除法、平方根和指数运算必须由用户自行处理才能实现。左图和右图分别为CNAPS的构架图。,下图为CNAP
45、S的构架图。,由上页图(即课本图9.23)可见,可将几个PN互联起来并连接到CSC上,主要通过三条全局总线:命令或互联总线、输入总线和输出总线。每个PN还通过两条2位的inter-PN总线与相邻PN连接。这些PN自身有4KB的片上存储器,能执行1位、8位、16位的整型运算。时钟频率是20MHz,一个时钟周期能执行一次乘法运算。CSC ASIC 芯片控制PN阵列的运作,在输入总线上广播数据,并从输出总线上读结果。,现有CANPUS卡,上页图所示为一个插在32位PCI插槽中的完整CNAPS/PCI-DLX板,带有一个DRAM(SIMM socket)的背负式PCB。工作频率为20MHz,可执行高达
46、25.6亿次/秒的乘累加MAC操作。该板一个重要特点是可以加入一个称作mezzanine的专用子板,这块板用作高速I/O,从而使PCI总线闲置。Mezzanine板也可以支持一个后继处理器,例如,FFT引擎,神经网络芯片等。CNAPS-C语言有并行处理的特点,CNAPS的处理单元(processing elements PE)被尽可能简化使得它们能快速执行对大多神经网络都很重要的乘法和加法,但还不能进行除法运算,需由用户完成。,(2)PCNN的CNAPS实现,在CNAPS上实现PCNN非常直观。一幅128128的图像作为输入,意味着每个PN负责128个神经元的计算。在CNAPS上,实数是由sc
47、aled类型来表示,需要事先分别定义实数整数和小数部分的位数总和,总位数不能超过16位。由于没有尾数/指数表示,故scaled类型的范围有限。由于PCNN有01范围内的延时,且CNAPS中的算术运算无除法运算,故需用这种scaled类型。,首先关心的是每个值的动态范围,最大的数值是,则可能大于32,所以整数部分至少需要6个bit位。最小的数值是,这至少需要4个bit位,当然用6个bit位或更多位更好。由PCNN C-编译器的标准库实现的PCNN仅比在90MHz Pentium PC上快25%;而用intlib库的中的自适应方法则可达到10倍于Pentium PC的速度。计算的主要难点在于计算。
48、,用CNAPS对128128图像进行20次PCNN迭代,大约需要一秒钟的时间。,9.3.4 神经网络在旅行商问题中的应用,旅行商问题(TSP)就是在已知n个城市之间相互距离情况下,一个推销员走遍n个城市,并且每个城市只能经过一次,最后返回到出发城市。旅行商问题已经被证明是一个NP困难问题,没有一个多项式时间算法来求解它的最优解。神经网络解TSP问题最早可追溯自1985年Hopfield和Tank共同提出的Hopfield-Tank神经网络,此法开启类神经网络于最优化应用的先例。,虽然Hopfield-Tank神经网络在时间效益有较佳的表现,但仍受限于最陡坡降(Steepest Descent)
49、程序,使得网络常收敛于邻近起始局部极小值,造成网络不稳定性;另外,参数缺乏系统化设定亦是其缺点之一。用Hopfield神经网络解决TSP,先要把问题映射到Hopfield网络上。对于一个有N个城市的旅行商问题,对应在神经网络上是N个神经元节点,任何一个城市在最终路径上的访问次序可以用一个N维向量来表示。,在Hopfield神经网络求解过程中,把系统的稳定点看作一个能量函数的最小点,而能量函数就成了优化问题的目标函数,故从初始状态朝稳定点演变的过程就是一个求解这个优化问题的过程。表示最终路径的访问次序的N维向量表在满足一定的要求后就称为换位矩阵。根据换位矩阵的要求,我们可以自己构造与旅行商问题相
50、对应的、能够更好的解决旅行商问题的能量函数。,此能量函数既要能体现换位矩阵的要求,又要具有一个目标项,通过目标项来约束能量函数趋向于最小化,它的最小值就是旅行商问题中的最短路径长度,通过对能量函数求最小值既可求得旅行商问题的最短路径。Van Den Bout和Miller结合模拟退火观念,提出退火神经网络(Annealed Neural Network)。教材P341-343是文献常见的退火神经网络在解决旅行商问题时的一个经典的MATLAB实现程序。,随机产生n个城市的坐标,按照上述程序,在时钟频率为3.06Hz Pentium 4处理器和内存1GB的计算机上进行模拟。分别设城市数n为:10、