当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

华中科技大学:《人工神经网络及其应用》课程教学资源(教案讲义)第八讲 自组织竞争人工神经网络

资源类别:文库,文档格式:DOC,文档页数:20,文件大小:404.5KB,团购合买
在实际的神经网络中,比如人的视网膜中,存在着一种“侧抑制”现象,即一个神经 细胞兴奋后,通过它的分支会对周围其他神经细胞产生抑制。这种侧抑制使神经细胞之间 出现竞争,虽然开始阶段各个神经细胞都处于程度不同的兴奋状态,由于侧抑制的作用, 各细胞之间相互竞争的最终结果是:兴奋作用最强的神经细胞所产生的抑制作用战胜了它 周围所有其他细胞的抑制作用而“赢”了,其周围的其他神经细胞则全“输”了。 自组织竞争人工神经网络正是基于上述生物结构和现象形成的。它能够对输入模式进 行自组织训练和判断,并将其最终分为不同的类型。
点击下载完整版文档(DOC)

第08讲自组织竞争人工神经网络 在实际的神经网络中,比如人的视网膜中,存在着一种“侧抑制”现象,即一个神经细 胞兴奋后,通过它的分支会对周围其他神经细胞产生抑制。这种侧抑制使神经细胞之间出现 竞争,虽然开始阶段各个神经细胞都处于程度不同的兴奋状态,由于侧抑制的作用,各细胞 之间相互竞争的最终结果是:兴奋作用最强的神经细胞所产生的抑制作用战胜了它周围所有 其他细胞的抑制作用而“赢”了,其周围的其他神经细胞则全“输”了 自组织竞争人工神经网络正是基于上述生物结构和现象形成的。它能够对输入模式进行 自组织训练和判断,并将其最终分为不同的类型。与BP网络相比,这种自组织自适应的学 习能力进一步拓宽了人工神经网络在模式识别、分类方面的应用,另一方面,竞争学习网络 的核心—一竞争层,又是许多种其他神经网络模型的重要组成部分,例如科荷伦( Kohonen) 网络(又称特性图)、反传网络以及自适应共振理论网络等中均包含竞争层 8.1几种联想学习规则 格劳斯贝格(S. Grossberg)提出了两种类型的神经元模型:内星与外星,用以来解释人 类及动物的学习现象。一个内星可以被训练来识别一个矢量;而外星可以被训练来产生矢量 由r个输入构成的格劳斯贝格内星模型如图8.1所示 y P 2 3 pr o 图8.1格劳斯贝格内星模型图 由r个输出节点构成的格劳斯贝格外星模型如图8.2所示。 从图8.1和图8.2中可以清楚地看出,内星是通过联接权矢量W接受一组输入信号

1 第 08 讲 自组织竞争人工神经网络 在实际的神经网络中,比如人的视网膜中,存在着一种“侧抑制”现象,即一个神经细 胞兴奋后,通过它的分支会对周围其他神经细胞产生抑制。这种侧抑制使神经细胞之间出现 竞争,虽然开始阶段各个神经细胞都处于程度不同的兴奋状态,由于侧抑制的作用,各细胞 之间相互竞争的最终结果是:兴奋作用最强的神经细胞所产生的抑制作用战胜了它周围所有 其他细胞的抑制作用而“赢”了,其周围的其他神经细胞则全“输”了。 自组织竞争人工神经网络正是基于上述生物结构和现象形成的。它能够对输入模式进行 自组织训练和判断,并将其最终分为不同的类型。与 BP 网络相比,这种自组织自适应的学 习能力进一步拓宽了人工神经网络在模式识别、分类方面的应用,另一方面,竞争学习网络 的核心——竞争层,又是许多种其他神经网络模型的重要组成部分,例如科荷伦(Kohonen) 网络(又称特性图)、反传网络以及自适应共振理论网络等中均包含竞争层。 8.1 几种联想学习规则 格劳斯贝格(S.Grossberg)提出了两种类型的神经元模型:内星与外星,用以来解释人 类及动物的学习现象。一个内星可以被训练来识别一个矢量;而外星可以被训练来产生矢量。 由 r 个输入构成的格劳斯贝格内星模型如图 8.1 所示。 图 8.1 格劳斯贝格内星模型图 由 r 个输出节点构成的格劳斯贝格外星模型如图 8.2 所示。 从图 8.1 和图 8.2 中可以清楚地看出,内星是通过联接权矢量 W 接受一组输入信号

P:而外星则是通过联接权矢量向外输出一组信号A。它们之所以被称为内星和外星,主要 是因为其网络的结构像星形,且内星的信号流向星的内部:而外星的信号流向星的外部。下 面分别详细讨论两种神经元模型的学习规则及其功效。 d2 2 3 图8.2格劳斯贝格外星模型图 8.1.1内星学习规则 实现内星输入/输出转换的激活函数是硬限制函数。可以通过内星及其学习规则来训练 某一神经元节点只响应特定的输入矢量P,它是借助于调节网络权矢量W近似于输入矢量P 来实现的 在图8.1所示的单内星中对权值修正的格劳斯贝格内星学习规则为 Aw1j=p(pj-wnj)·a,j=l,2,…r 由(8.1)式可见,内星神经元联接强度的变化Δwj是与输出成正比的。如果内星输出a 被某一外部方式而维护高值时,那么通过不断反复地学习,权值将能够逐渐趋近于输入矢量 p的值,并趋使Δwj逐渐减少,直至最终达到wj=p,从而使内星权矢量学习了输入矢量 P,达到了用内星来识别一个矢量的目的。另一方面,如果内星输出保持为低值时,网络权 矢量被学习的可能性较小,甚至不能被学习 现在来考虑当不同的输入矢量p和p2分别出现在同一内星时的情况。首先,为了训练 的需要,必须将每一输入矢量都进行单位归一化处理,即对每一个输入矢量p(q=1,2), ∑(p)2 去乘以每一个输入元素,因此所得的用来进行网络训练的新输入矢量具有单位 1的模值 2

2 P;而外星则是通过联接权矢量向外输出一组信号 A。它们之所以被称为内星和外星,主要 是因为其网络的结构像星形,且内星的信号流向星的内部;而外星的信号流向星的外部。下 面分别详细讨论两种神经元模型的学习规则及其功效。 图 8.2 格劳斯贝格外星模型图 8.1.1 内星学习规则 实现内星输入/输出转换的激活函数是硬限制函数。可以通过内星及其学习规则来训练 某一神经元节点只响应特定的输入矢量 P,它是借助于调节网络权矢量 W 近似于输入矢量 P 来实现的。 在图 8.1 所示的单内星中对权值修正的格劳斯贝格内星学习规则为: (8.1) 由(8.1)式可见,内星神经元联接强度的变化Δw1j 是与输出成正比的。如果内星输出 a 被某一外部方式而维护高值时,那么通过不断反复地学习,权值将能够逐渐趋近于输入矢量 pj 的值,并趋使Δw1j 逐渐减少,直至最终达到 w1j=pj,从而使内星权矢量学习了输入矢量 P,达到了用内星来识别一个矢量的目的。另一方面,如果内星输出保持为低值时,网络权 矢量被学习的可能性较小,甚至不能被学习。 现在来考虑当不同的输入矢量 p 1 和 p 2 分别出现在同一内星时的情况。首先,为了训练 的需要,必须将每一输入矢量都进行单位归一化处理,即对每一个输入矢量 p q (q=1,2), 用 去乘以每一个输入元素,因此所得的用来进行网络训练的新输入矢量具有单位 1 的模值

当第一个矢量p输入给内星后,网络经过训练,最终达到W=(p2)。此后,给内星输 入另一个输入矢量p2,此时内星的加权输入和为新矢量p2与已学习过矢量p的点积,即 N=W. P2=(Py. P2=I PllP-llcos 012=cos 012 因为输入矢量的模已被单位化为1,所以内星的加权输入和等于输入矢量p和p2之间 夹角的余弦。 根据不同的情况,内星的加权输入和可分为如下几种情况: 1)p2等于p,即有θ1=0,此时,内星加权输入和为1; 2)p2不等于p,随着p向着p离开方向的移动,内星加权输入和将逐渐减少直到p2 与p垂直,即12=90°时,内星加权输入和为0; 3)当p2=p,即012=180°时,内星加权输入和达到最小值-1。 由此可见,对于一个已训练过的内星网络,当输入端再次出现该学习过的输入矢量时, 内星产生1的加权输入和;而与学习过的矢量不相同的输入出现时,所产生的加权输入和总 是小于1。如果将内星的加权输入和送入到一个具有略大于-1偏差的二值型激活函数时,对 于一个已学习过或接近于已学习过的矢量输入时,同样能够使内星的输出为1,而其他情况 下的输出均为0。所以在求内星加权输入和公式中的权值W与输入矢量P的点积,反映了 输入矢量与网络权矢量之间的相似度,当相似度接近1时,表明输入矢量P与权矢量相似, 并通过进一步学习,能够使权矢量对其输入矢量具有更大的相似度,当多个相似输入矢量输 入内星,最终的训练结果是使网络的权矢量趋向于相似输入矢量的平均值 内星网络中的相似度是由偏差b来控制,由设计者在训练前选定,典型的相似度值为b 0.95,这意味着输入矢量与权矢量之间的夹角小于18°48°。若选b=-0.9时,则其夹角 扩大为25°48 一层具有s个神经元的内星,可以用相似的方式进行训练,权值修正公式为: △w;=lr·(Pj-wi) MATLAB神经网络工具箱中内星学习规则的执行是用函数 learnis.m来完成上述权矢量 的修正过程: dw=learnis(W, P, A, Ir): 一层s个内星神经元可以作为一个r到1的解码器。另外,内星通常被嵌在具有外星或

3 当第一个矢量 p 1 输入给内星后,网络经过训练,最终达到 W=(p1 ) T。此后,给内星输 入另一个输入矢量 p 2,此时内星的加权输入和为新矢量 p 2 与已学习过矢量 p 1 的点积,即: (8.2) 因为输入矢量的模已被单位化为 1,所以内星的加权输入和等于输入矢量 p 1 和 p 2 之间 夹角的余弦。 根据不同的情况,内星的加权输入和可分为如下几种情况: 1) p2 等于 p 1,即有θ12=0,此时,内星加权输入和为 1; 2) p2 不等于 p 1,随着 p 2 向着 p 1 离开方向的移动,内星加权输入和将逐渐减少直到 p 2 与 p 1 垂直,即θ12=90°时,内星加权输入和为 0; 3)当 p 2=-p 1,即θ12=180°时,内星加权输入和达到最小值-1。 由此可见,对于一个已训练过的内星网络,当输入端再次出现该学习过的输入矢量时, 内星产生 1 的加权输入和;而与学习过的矢量不相同的输入出现时,所产生的加权输入和总 是小于 1。如果将内星的加权输入和送入到一个具有略大于-1 偏差的二值型激活函数时,对 于一个已学习过或接近于已学习过的矢量输入时,同样能够使内星的输出为 1,而其他情况 下的输出均为 0。所以在求内星加权输入和公式中的权值 W 与输入矢量 P 的点积,反映了 输入矢量与网络权矢量之间的相似度,当相似度接近 l 时,表明输入矢量 P 与权矢量相似, 并通过进一步学习,能够使权矢量对其输入矢量具有更大的相似度,当多个相似输入矢量输 入内星,最终的训练结果是使网络的权矢量趋向于相似输入矢量的平均值。 内星网络中的相似度是由偏差 b 来控制,由设计者在训练前选定,典型的相似度值为 b =-0.95,这意味着输入矢量与权矢量之间的夹角小于 18°48’。若选 b=-0.9 时,则其夹角 扩大为 25°48’。 一层具有 s 个神经元的内星,可以用相似的方式进行训练,权值修正公式为: (8.3) MATLAB 神经网络工具箱中内星学习规则的执行是用函数 learnis.m 来完成上述权矢量 的修正过程: dW=1earnis(W,P,A,lr); W=W 十 dW; 一层 s 个内星神经元可以作为一个 r 到 1 的解码器。另外,内星通常被嵌在具有外星或

其他元件构成的大规模网络中以达到某种特殊的目的。 下面给出有关训练内星网络例子。 「例8.1设计内星网络进行以下矢量的分类辨识 P=[0.18260.6325; 0.36510.3162 054770.3162; 0.730306325]; T=[101 与感知器分类功能不同,内星是根据期望输出值,在本例题中是通过迫使网络在第一个 输入矢量出现时,输出为1,同时迫使网络在第二个输入矢量出现时,输出为0,而使网络 的权矢量逼近期望输出为1的第一个输入矢量 我们首先对网络进行初始化处理 R, Q=size(P) S, Q=size(D): W=zeros(s, R) B=-0.95*ones(S,1) max-epoch=10 r=0.7 注意权矢量在此是进行了零初始化,这里的学习速率的选择也具有任意性,当输入矢量 较少时,学习速率可以选择较大以加快学习收敛速度。另外,因为所给例题中所给输入矢量 已是归一化后的值,所以不用再作处理。下面是设计训练内星网络的程序: for epoch=1: max-epoch A=T(:,q): dw=learnis(W, P(:,q),A, Ir) W=W十dW 经过10次循环以及480次计算后,得到的权矢量为:

4 其他元件构成的大规模网络中以达到某种特殊的目的。 下面给出有关训练内星网络例子。 [例 8.1]设计内星网络进行以下矢量的分类辨识: 与感知器分类功能不同,内星是根据期望输出值,在本例题中是通过迫使网络在第一个 输入矢量出现时,输出为 1,同时迫使网络在第二个输入矢量出现时,输出为 0,而使网络 的权矢量逼近期望输出为 1 的第一个输入矢量。 我们首先对网络进行初始化处理: [R,Q]=size(P); [S,Q]=size(T); W=zeros(S,R); B=-0.95* ones(S,1); max-epoch=10; lr=0.7; 注意权矢量在此是进行了零初始化,这里的学习速率的选择也具有任意性,当输入矢量 较少时,学习速率可以选择较大以加快学习收敛速度。另外,因为所给例题中所给输入矢量 已是归一化后的值,所以不用再作处理。下面是设计训练内星网络的程序: for epoch=1:max-epoch for q=1:Q A=T(:,q); dW=1earnis(W,P(:,q),A,lr); W=W 十 dW; end end 经过 10 次循环以及 480 次计算后,得到的权矢量为:

W=[0.18260.36510.54770.7303] 而当lr=0.3时,其结果为 w=0.18050.36090.54140.7219 由此可见,学习速率较低时,在相同循环次数下,其学习精度较低。但当输入矢量较多 时,较大的学习速度可能产生波动,所以要根据具体情况来确定参数值 在此例题中,因为只有一个输入矢量被置为1,所以实际上,所设置的偏差B=0.95没 有起到作用。内星网络常用在竞争网络以及后面所要介绍的自适应共振理论ART网络中 在那里,其网络的期望输出是通过竞争网络的竞争而得到的。在ART网络中,竞争获胜节 点的有效性是通过所给的相似度B值来决定的 8.1.2外星学习规则 外星网络的激活函数是线性函数,它被用来学习回忆一个矢量,其网络输入P也可以 是另一个神经元模型的输出。外星被训练来在一层s个线性神经元的输出端产生一个特别的 矢量A。所采用的方法与内星识别矢量时的方法极其相似。 对于一个外星,其学习规则为 △wa1=lr(ai-wn)·pj 与内星不同,外星联接强度的变化△w是与输入矢量P成正比的。这意味着当输入矢量 被保持高值,比如接近1时,每个权值w将趋于输出a值,若p=1,则外星使权值产生输 出矢量 当输入矢量p为0时,网络权值得不到任何学习与修正。 当有r个外星相并联,每个外星与s个线性神经元相连组成一层外星时,每当某个外星 的输入节点被置为1时,与其相连的权值到矢量w就会被训练成对应的线性神经元的输出 矢量A,其权值修正方式为 △W=lr·(A-W)·P (8.5) 其中 W=sXr权值列矢量 r=学习速率 A=s×q外星输出

5 W=[0.1826 0.3651 0.5477 0.7303] 而当 lr=0.3 时,其结果为: W=[0.1805 0.3609 0.5414 0.7219] 由此可见,学习速率较低时,在相同循环次数下,其学习精度较低。但当输入矢量较多 时,较大的学习速度可能产生波动,所以要根据具体情况来确定参数值。 在此例题中,因为只有一个输入矢量被置为 l,所以实际上,所设置的偏差 B=-0.95 没 有起到作用。内星网络常用在竞争网络以及后面所要介绍的自适应共振理论 ART 网络中。 在那里,其网络的期望输出是通过竞争网络的竞争而得到的。在 ART 网络中,竞争获胜节 点的有效性是通过所给的相似度 B 值来决定的。 8.1.2 外星学习规则 外星网络的激活函数是线性函数,它被用来学习回忆一个矢量,其网络输入 P 也可以 是另一个神经元模型的输出。外星被训练来在一层 s 个线性神经元的输出端产生一个特别的 矢量 A。所采用的方法与内星识别矢量时的方法极其相似。 对于一个外星,其学习规则为: (8.4) 与内星不同,外星联接强度的变化Δw 是与输入矢量 P 成正比的。这意味着当输入矢量 被保持高值,比如接近 1 时,每个权值 wij 将趋于输出 ai 值,若 pj=1,则外星使权值产生输 出矢量。 当输入矢量 pj 为 0 时,网络权值得不到任何学习与修正。 当有 r 个外星相并联,每个外星与 s 个线性神经元相连组成一层外星时,每当某个外星 的输入节点被置为 1 时,与其相连的权值到矢量 wij 就会被训练成对应的线性神经元的输出 矢量 A,其权值修正方式为: (8.5) 其中: W=s×r 权值列矢量; lr=学习速率; A=s×q 外星输出;

P=r×q外星输入 MATLAB工具箱中实现外星学习与设计的函数为 learnos. m,其调用过程如下: dw=learnos(W, A, P, Ir) W=W十 下面给出外星的一个例题。 [例8.2]下面有两元素的输入矢量以及与它们相关的四元素目标矢量,试设计一个外星 网络实现有效的矢量的获得,外星没有偏差。 =[10 T=[0.18260.6325 0.36510.3162 0.54770.3162 0.73030.6325] 很显然,此例题为内星[例8.1的反定义 该网络的每个目标矢量强迫为网络的输出,而输入只有0或1。网络训练的结果是使其 权矩阵趋于所对应的输入为1时的目标矢量 同样网络被零权值初始化 R, Q]=size(P) S, Q]=size(T) W=zeros(S, R) max epoch=10; 下面根据外星学习规则进行训练 for epoch= l: max epoch for q=1: Q A=T(:,q) dw=learnos(W, P(:,q),A, Ir) W=W十dW 旦训练完成,当外星工作时,对设置于输入为1的矢量,将能够回忆起被记忆在网络

6 P=r×q 外星输入。 MATLAB 工具箱中实现外星学习与设计的函数为 learnos.m,其调用过程如下: dW=learnos(W,A,P,lr); W=W 十 dW; 下面给出外星的一个例题。 [例 8.2]下面有两元素的输入矢量以及与它们相关的四元素目标矢量,试设计一个外星 网络实现有效的矢量的获得,外星没有偏差。 P=[1 0]; T=[0.1826 0.6325; 0.3651 0.3162; 0.5477 0.3162; 0.7303 0.6325]; 很显然,此例题为内星[例 8.1]的反定义。 该网络的每个目标矢量强迫为网络的输出,而输入只有 0 或 1。网络训练的结果是使其 权矩阵趋于所对应的输入为 1 时的目标矢量。 同样网络被零权值初始化: [R,Q]=size(P); [S,Q]=size(T); W=zeros(S,R); max_epoch=10; 1r=0.3; 下面根据外星学习规则进行训练 for epoch=1:max_epoch for q=1:Q A=T(:,q); dW=learnos(W,P(:,q),A,lr); W=W 十 dW; end end 一旦训练完成,当外星工作时,对设置于输入为 1 的矢量,将能够回忆起被记忆在网络

中的第一个目标矢量的近似值 >A=pureline(W*Ptest) 0.1774 0.3548 0.5322 0.7097 由此可见,此外星已被学习来回忆起了第一个矢量。事实上,它被学习来回亿出在[例 8.1中学习识别出的那个矢量。即上述外星的权值非常接近于例8.1中已被识别的矢量。 内星与外星之间的对称性是非常有用的。对一组输入和目标来训练一个内星层与将其输 入与目标相对换,来训练一个外星层的结果是相同的,即它们之间的权矩阵的结果是相互转 置的。这一事实,被后来应用到了AR网络中。 8.1.3科荷伦学习规则 科荷伦学习规则是由内星规则发展而来的。对于其值为0或1的内星输出,当只对输出 为1的内星权矩阵进行修正,即学习规则只应用于输出为1的内星上,将内星学习规则中的 a取值1,则可导出科荷伦规则为 △wg=·(pjw) 科荷伦学习规则实际上是内星学习规则的一个特例,但它比采用内星规则进行网络设计 要节省更多的学习,因而常常用来替代内星学习规则。 在 MATLAB工具箱中,在调用科荷伦学习规则函数 learnk m时,一般通过先寻找输出 为1的行矢量i,然后仅对与i相连的权矩阵进行修正。使用方法如下 i=find(A==1): dw=learnk(W, P,i, Ir): W=Wtd 般情况下科荷伦学习规则比内星学习规则能够提高训练速度1到2个数量级

7 中的第一个目标矢量的近似值: 》Ptest=[1]; 》A=pureline(W*Ptest) A= 0.1774 0.3548 0.5322 0.7097 由此可见,此外星已被学习来回忆起了第一个矢量。事实上,它被学习来回亿出在[例 8.1]中学习识别出的那个矢量。即上述外星的权值非常接近于[例 8.1]中已被识别的矢量。 内星与外星之间的对称性是非常有用的。对一组输入和目标来训练一个内星层与将其输 入与目标相对换,来训练一个外星层的结果是相同的,即它们之间的权矩阵的结果是相互转 置的。这一事实,被后来应用到了 ARTl 网络中。 8.1.3 科荷伦学习规则 科荷伦学习规则是由内星规则发展而来的。对于其值为 0 或 1 的内星输出,当只对输出 为 1 的内星权矩阵进行修正,即学习规则只应用于输出为 1 的内星上,将内星学习规则中的 ai 取值 1,则可导出科荷伦规则为: (6.6) 科荷伦学习规则实际上是内星学习规则的一个特例,但它比采用内星规则进行网络设计 要节省更多的学习,因而常常用来替代内星学习规则。 在 MATLAB 工具箱中,在调用科荷伦学习规则函数 learnk.m 时,一般通过先寻找输出 为 1 的行矢量 i,然后仅对与 i 相连的权矩阵进行修正。使用方法如下: i=find(A==1); dW=learnk(W,P,i,1r); W=W 十 dW; 一般情况下科荷伦学习规则比内星学习规则能够提高训练速度 1 到 2 个数量级

8.2自组织竞争网络 8.2.1网络结构 竞争网络由单层神经元网络组成,其输入节点与输出节点之间为全互联结。因为网络在 学习中的竞争特性也表现在输出层上,所以在竞争网络中把输出层又称为竞争层,而与输入 节点相连的权值及其输入合称为输入层。实际上,在竞争网络中,输入层和竞争层的加权输 入和共用同一个激活函数,如图8.3所示。 竞争网络的激活函数为二值型{0,1}函数 从网络的结构图中可以看出,自组织竞争网络的权值有两类:一类是输入节点j到i的 权值w(i=1,2…、s:j=1,2…、r,这些权值是通过训练可以被调整的;另一类是竞争 层中互相抑制的权值wk(k=1,2…、s)。这类权值是固定不变的,且它满足一定的分布关系 如距离相近的抑制强,距离远的抑制弱。另外,它们是一种对称权值,即有wk=wi,同时 相同神经元之间的权值起加强的作用,即满足w=w1=…=wk>0,而不同神经元之间的 权值相互抑制,对于k≠i有w<0。 P2 ) 图8.3竞争网络结构图 下面来具体分析竞争网络的输出情况。 设网络的输入矢量为:P=[p1p2…,p]; 对应网络的输出矢量为:A=[aa2…,a 由于竞争网络中含有两种权值,所以其激活函数的加权输入和也分为两部分:来自输入 节点的加权输入和N与来自竞争层内互相抑制的加权输入和G。具体地说,对于第i个神经 元有

8 8.2 自组织竞争网络 8.2.1 网络结构 竞争网络由单层神经元网络组成,其输入节点与输出节点之间为全互联结。因为网络在 学习中的竞争特性也表现在输出层上,所以在竞争网络中把输出层又称为竞争层,而与输入 节点相连的权值及其输入合称为输入层。实际上,在竞争网络中,输入层和竞争层的加权输 入和共用同一个激活函数,如图 8.3 所示。 竞争网络的激活函数为二值型{0,1}函数。 从网络的结构图中可以看出,自组织竞争网络的权值有两类:一类是输入节点 j 到 i 的 权值 wij(i=1,2…、s;j=1,2…、r),这些权值是通过训练可以被调整的;另一类是竞争 层中互相抑制的权值 wik(k=1,2…、s)。这类权值是固定不变的,且它满足一定的分布关系, 如距离相近的抑制强,距离远的抑制弱。另外,它们是一种对称权值,即有 wik=wki,同时 相同神经元之间的权值起加强的作用,即满足 w11=w11=…=wkk>0,而不同神经元之间的 权值相互抑制,对于 k≠i 有 wij<0。 图 8.3 竞争网络结构图 下面来具体分析竞争网络的输出情况。 设网络的输入矢量为:P=[p1 p2 … pr] T; 对应网络的输出矢量为:A=[a1 a2 … as] T。 由于竞争网络中含有两种权值,所以其激活函数的加权输入和也分为两部分:来自输入 节点的加权输入和 N 与来自竞争层内互相抑制的加权输入和 G。具体地说,对于第 i 个神经 元有:

1)来自输入节点的加权输入和为: ∑w·p 2)来自竞争层内互相抑制的加权输入和为: gi ak k∈D 这里D表示竞争层中含有神经元节点的某个区域,如果D表示的是整个竞争层,竞争 后只能有一个神经元兴奋而获胜:如果竞争层被分成若干个区域,则竞争后每个区域可产生 一个获胜者 由于g与网络的输出值a有关,而输出值又是由网络竞争后的结果所决定的,所以g 的值也是由竞争结果确定的。为了方便起见,下面以D为整个网络输出节点的情况来分析 竞争层内互相抑制的加权输入和g的可能结果 a)如果在竞争后,第i个节点“赢”了,则有: Ck=1, k=i 而其他所有节点的输出均为零,即 k=0,k=1,2,…,s;k 此时 gi=∑wi·∫(ak)=wⅱ>0 〓 b)如果在竞争后,第i个节点“输”了,而“赢”的节点为l,则有 ak=0,k=1,2,…,s,k≠1 此时 g;Σwk·∫(ak) 所以对整个网络的加权输入总和有下式成立: S-n+WIl 对于“赢”的节点1 对于所有”输“的节点i=1,2…s,i≠

9 1)来自输入节点的加权输入和为: 2)来自竞争层内互相抑制的加权输入和为: 这里 D 表示竞争层中含有神经元节点的某个区域,如果 D 表示的是整个竞争层,竞争 后只能有一个神经元兴奋而获胜;如果竞争层被分成若干个区域,则竞争后每个区域可产生 一个获胜者。 由于 gi 与网络的输出值 ak 有关,而输出值又是由网络竞争后的结果所决定的,所以 gi 的值也是由竞争结果确定的。为了方便起见,下面以 D 为整个网络输出节点的情况来分析 竞争层内互相抑制的加权输入和 gi 的可能结果。 a)如果在竞争后,第 i 个节点“赢”了,则有: 而其他所有节点的输出均为零,即: 此时 b)如果在竞争后,第 i 个节点“输”了,而“赢”的节点为 l,则有: 此时 所以对整个网络的加权输入总和有下式成立: sl=nl+wll 对于“赢”的节点 l si=ni-|wii| 对于所有”输“的节点 i=1,2…s,i≠l

由此可以看出,经过竞争后只有获胜的那个节点的加权输入总和为最大。竞争网络的输 出为 Sk =max(Si, t 0 其他 因为在权值的修正过程中只修正输入层中的权值w,竞争层内的权值wk是固定不变 的,它们对改善竞争的结果只起到了加强或削弱作用,即对获胜节点增加一个正值,使其更 易获胜,对输出的节点增加一个负值,使其更不易获胜,而对改变节点竞争结果起决定性作 用的还是输入层的加权和n,所以在判断竞争网络节点胜负的结果时,可直接采用n,即 n赢=max(Σwpj) j= 取偏差B为零是判定竞争网络获胜节点时的典型情况,偶而也采用下式进行竞争结果 的判定 n赢=max(∑wpj+b),-1<b<0 典型的b值取-095。加上b值意味着取b=-wl这一最坏的情况 通过上面分析,可以将竞争网络的工作原理总结如下:竞争网络的激活函数使加权输入 和为最大的节点赢得输出为1,而其他神经元的输出皆为0。这个竞争过程可用 MATLAB 描述如下: s,Q=size( y=max(x); q s=find(x(,q)=y(q);%找出最大加权输入和y(q)所在的行 a(z(1),q)=1 %令元素a(z,q)=1,其他值为零 这个竞争过程的程序已被包含在竞争激活函数 compet. m之中,可与其他函数一样简单 的方式来调用它即可得到竞争网络的输出值:

10 由此可以看出,经过竞争后只有获胜的那个节点的加权输入总和为最大。竞争网络的输 出为: 因为在权值的修正过程中只修正输入层中的权值 wij,竞争层内的权值 wik 是固定不变 的,它们对改善竞争的结果只起到了加强或削弱作用,即对获胜节点增加一个正值,使其更 易获胜,对输出的节点增加一个负值,使其更不易获胜,而对改变节点竞争结果起决定性作 用的还是输入层的加权和 ni,所以在判断竞争网络节点胜负的结果时,可直接采用 ni,即: 取偏差 B 为零是判定竞争网络获胜节点时的典型情况,偶而也采用下式进行竞争结果 的判定: 典型的 b 值取-0.95。加上 b 值意味着取 b=-|wil|这一最坏的情况。 通过上面分析,可以将竞争网络的工作原理总结如下:竞争网络的激活函数使加权输入 和为最大的节点赢得输出为 1,而其他神经元的输出皆为 0。这个竞争过程可用 MATLAB 描述如下: n=W*P; [S,Q]=size(n); x=n+b*ones(1,Q); y=max(x); for q=1:Q s=find(x(:, q)=y(q));%找出最大加权输入和 y(q)所在的行; a(z(1),q)=1; %令元素 a(z,q)=1,其他值为零; end 这个竞争过程的程序已被包含在竞争激活函数 compet.m 之中,可与其他函数一样简单 的方式来调用它即可得到竞争网络的输出值:

点击下载完整版文档(DOC)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共20页,试读已结束,阅读完整版请下载
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有