ART-1网络前馈型神经网络完成训练后,即可投入正常的运行。若在使用过程中环境发生了变化,则需要重新构造一个能表现当前环境的样本集,并运用该样本重新对网络进行训练。在这种情况下,不能只用变化后新加的样本对网络进行“补充”训练,这样会破坏网络原有的知识,而只记下新的内容。即网络长期存储的内容只是它最后获得训练时系统所面对的样本集所蕴含的内容。网络的这种不能在保留已学内容的前提下增加新内容的特性称为网络的不可塑性。在面对一些表示新添内容的样本时,如果真正能够只修改一部分内容,这样才有希望在保证不破坏原存储信息的基础上将新的内容增加进去。也就是说,在将样本中所含内容存入网络时,不能再像一般前向型网络那样,实施完全分布的存放,即存放是分类的。要使网络具有可塑性,必须实现以下功能:(1)对样本的分类功能;(2)分类的识别功能;(3)比较功能;(4)类的建立功能。Carpenter和Grossberg在1986年给出了一个特殊的例子:4个样本组成样本集。这4个样本被周期性地提交给网络,网络不断地修改各个权值去适应环境的变化。但是证明网络是难以收敛。后来,由Grossberg等人构造出了具有可塑性的网络模型,称为自适应共振理论(AdaptiveResonanceTheory,简记为ART)。按照ART网络的输入及其处理,该网络模型可分为两大类:一类只接受二值输入向量,称为ART-1,另一类可以接受二值的或连续的输入向量,称为ART-2。一.ART-1的结构为了使网络在保持原有内容的前提下(稳定性),能够将新的内容添加进去(可塑性),按上述分析,ART-1首先必须是一个分类器,它能够将输入向量进行适当的分类。对一个给定的输入向量,ART-1将在网络中已经存放的所有分类中进行查找,若能发现其中的某个“类表示”表达了该输入向量的基本特征,则可对此分类表示的“模式”进行适当的微调,使之能更好的表达该输入向量。由于被调整的“对象”是被网络确认的用于表示输入向量所在类的“类表示”,所以它不影响已有的其他类的“类表示”。这样就可保证网络的相对稳定性。如果网络在已有的“类表示”中找不到与当前输入向量相对应的“类表示”,则应在自己的容量范围内创造一个新的“类表示”,使之与输入向量匹配。即网络的可塑性。网络的稳定性与可塑性是不同的,表示如下:修改不匹配的现存模式不被模式不相似:建立一个新的式相似:修改相匹配的模新输入向量与现存模式为实现上述要求,构造出如下所示的ART-1总体结构图。识别控制识别层比较层比较控制复位控制复位C1GRX精度控制参数2G)(TP)(BC图1ART-1总体结构图基本工作过程为:当系统没有输入向量时,比较层输出控制信号1G使得比较层的输出信号C为0;识别层的输出控制信号2G使得识别层输出P为0。当输入向量X加到系统上时:(1)1G使X原封不动地按C的形式送入识别层,在识别层找到)(XC应该属于的类;(2)将该类的代表向量以向量P送回到比较层,与X相比较,形成新的输出C;(3)将C和X同时送入系统复位控制模块进行比较,若系统认为C可以代表X,则网络进入训练期,即按照X修改被选中的kB和kT;否则,系统使识别层复位,向量X重新送入比较层,寻找新的类进行匹配,如此下去,直到找到一个能满足要求的类或发现系统现有的类均不能满足要求。(4)当系统发现已有的类无法表示输入向量X时,则创建一个新的类。为方便分析,将ART-1模型的识别层和比较层拓扑结构表示如下:1x1G2x1Gnx1G1pnp2pT2G1BmB2BB2G2G1cnc2c复位复位复位1TmT2T1rmr2r比较层识别层图2ART-1模型识别层与比较层的拓扑结构图中:X为输入向量,R为识别层的输出向量,C为比较层的输出向量,P为比较层的输入向量,相当于输入向量X所在类的表示形式。T(top-down)为从识别层到比较层的联接权矩阵(从上到下的),B(bottom-up)为从比较层到识别层的联接权矩阵(从下到上的),kT和kB分别是识别层第k个神经元对应的识别层联接权向量和比较层联接权向量。),,,(21nxxxX),,,(21mrrrR),,,(21ncccC),,,(21npppP),,,(21knkkktttT),,,(21nkkkkbbbB其中:ijt表示识别层第i个神经元到比较层第j个神经元的联接权;ijb表示比较层第i个神经元到识别层第j个神经元的联接权。ip为比较层第i个神经元的网络输入,iB为识别层第i个神经元的网络输入:mjjijitrp1,njjijibcB1(1)下面分别讨论各个功能模块:1.比较层输出控制信号1G:仅当输入向量X为非0向量,并且R为0向量时,1G输出1,否则输出0。)()(21211nmxxxrrrG(2)即:仅当输入向量刚加在网络上(0X),识别层对应的输出向量还未出现时(此时0,0PR),1G才输出1。2.识别层输出控制信号2G:识别层的输出控制可以看为对识别层的封锁与使能。当0X时,它封锁识别层,使0,0PR;当0X时(正常工作),它使能识别层,并根据当前的向量C,产生相应于C的类表示)(RP。nxxxG212(3)3.比较层:比较层同时接受三个信号:输入信号X、识别层输出信号P和比较层输出控制1G,该层执行“二-三规则”。其第i个神经元的输出为:202111GpxGpxciiiii(4)当没有输入信号进入网络时,0C;将0X加入网络时,网络进入第一个工作阶段,此时0,0PR,由(2)式,得11G,在根据(4)式,得XC,输入向量X被原封不动地送入识别层。同时因为0X,得12G,使能识别层。通过竞争机制,识别层中的某个神经元输出为1,其它输出为0。设识别层第k个神经元输出为1,由(1)式,得:kikmjjijitrtrp1,从而有:kTP。即:识别层的第k个神经元对应的从自身到比较层各神经元的联接权构成的向量就是与输入向量对应的“类表示”。此时,因为0X,正常情况下0R、0P,使得01G,网络进入第2个工作阶段。第2个工作阶段开始时有:01G,12G,0R。根据(4)式,在这个周期,比较层的输出向量C将执行向量X和P的“与”:iiipxc,ni,,2,1(5)由此可以看出,如果网络认为某一组输入向量是同一类的,则代表它们所在类的向量应该是它们的“与”。4.识别层:识别层接受三个信号:比较层输出C、识别层输出控制信号2G和复位信号。向量C是X经比较层变换后的输出向量,在第1个工作阶段,XC,此时识别层第k各神经元获得的网络输入为:niikikbcB1该层主要采用竞争机制,以识别出X与哪一类相近(相似)。通常对应于一个C,识别层有且仅有一个神经元处于激发状态(输出为1),其余的处于抑制状态。显然,处于激发状态的神经元对应的权向量kB与C匹配的最好。mjbcbcBniijiniikik,2,1max11(6)与识别层各神经元相对应,向量mBBB,,,21代表着不同的分类,它们都是实数向量,表明从比较层到识别层的联接权是实数。与B对应的二值表示是与比较层各神经元相对应的从识别层到比较层的联接权向量mTTT,,,21。识别层的竞争机制是通过各个神经元之间的侧联接实现的。这些侧联接,除到自身的联接为激励外(正联接),其它的均为抑制(负联接)。5.系统复位控制:复位模块也同时接受三个信号:输入向量X,向量C和精度控制参数。该模块根据一定的规则计算C与X的相似度,如满足精度控制参数的要求,则说明C可以表示X;否则该模块发出复位信号,使输入向量X在不允许神经元kRN激发的条件下重新寻找与其对应的“类表示”。一般用下式计算C与X的相似度:niiniixcs11(7)可见,10s。当s,网络认可当前处于激发态的神经元对应的类表示;否则,网络认为与该神经元对应的类表示不能很好地代表输入向量X,需重新寻找。二.ART-1的初始化由于ART是在运行过程中通过自适应地调整联接权来实现学习的,所以ART的初始化非常重要,直接关系到ART的可塑性、分类表示等问题。1.T的初始化:T是从识别层到比较层的联接矩阵,识别层有且仅有一个神经元输出为1,其余输出为0;比较层按二-三规则实现向量X与P的比较。因为kTP,所以联接矩阵T应该是一个0、1矩阵。对输入向量X,设识别层第k个神经元kRN被激励,kT被以P的形式送入比较层,有:kTXPXC(8)而系统复位控制模块是按照(6)式来计算C与X的相似度的,能保证1ic的必要条件是:1ix。由(8)式,若0kit,则不论ix为何值,相应的ic为0,所以初始化时矩阵T的所有元素设为1。即:对任意的ni1,mj1,有:1jit。2.B的初始化:B的列向量mBBB,,,21依次对应于识别层各神经元,每个向量kB又是神经元kRN对应的类的代表向量。对于输入向量X,如果kRN在竞争中获胜,则表明kB与X的点积最大。所以为了使网络的运行保持有一定的准确性,需要用较小的值去初始化B的每个元素。否则对于同一输入向量,两次不同的加载可能会引起不同的神经元激发,即要保证权值初始化时差异性较小。按照Grossberg与Carpenter的研究结果,对任意ni1,mj1,有:)1/(nLLbij(9)其中:n为输入向量的维数;L为一个大于1的常数,其值应该与输入向量的位数相关。可见,)1,0(ijb。kT、kB是神经元kRN对应类的两种不同的表示形式。由(9)式,在网络开始运行时,矩阵B的每个元素都是相同的,它们将随着网络的运行逐渐被改变。3.的初始化:因为10s,当0s时表示匹配最差;1s时为最理想的匹配,此时有XC。通过分析可知,∈[0,1],值越大,网络所实现的划分越细;值越小,网络实现的划分越粗。通常在网络运行初期可以将值取得小一些,以实现较粗的划分;随后逐渐加大值,以实现更为精确的划分。三.ART-1的实现ART-1本身具有自适应能力,所以ART-1的训练是在运行过程中根据执行结果确定的。在完成初始化工作后,ART-1就可以投入运行,实现“边学习,边工作”。ART-1工作过程可分为四个阶段:识别、比较、查找、训练,下面进行详细的叙述。1.识别:当0X时,02G,识别层所有神经元被抑制,此时有0R。当非0输入向量X被加在网络上时,121GG,又0R,由(1)式,得0P。由(4)式,得XC。此时在识别层,每个神经元kRN均完成如下操作:(1)计算niiikcb1;(2)接收来自其它神经元的抑制信号,并向其它神经元发出抑制信号;(3)确定自己的输出状态;(4)完成输出。神经元之间的抑制信号是通过它们之间的抑制连接实现的。如果神经元kRN输出为1,则表明在本轮识别中,X暂时被认为属于神经元kRN所对应的类。2.比较:当识别层将X归于kRN所对应的类后,kRN的输出值1被分别以权重kjt传送到比较层,此时送入比较层的向量P就是向量kT。T的初始化及训练保证了T的每个元素取值为0或者1。kB与kT根据kRN对应,且互为变换形式。如果对于所有的j,1≤j≤n,jjxp,则表示X获得良好的匹配。如果存在j,使得jjxp,则表明X与相应的“类”的表示向量并不完全一致。由(5)式,通过执行X和P的“与”可得出比较层的输出C。当系统复位控制模块接受到X和C后将计算它们的相似度s:(1)如果s≥,表明本轮所给出的类满足精度要求,查找成功,系统进入训练周期。(2)如果s,表明本轮所给类不满足精度要求。此时复位模块向识别层发出复位信号,使所有神经元输出为0,系统回到开始处理X的初态,并重新进行搜索。同时,复位信号屏蔽本次被激发的神经元,在下一轮匹配中,该神经元被排除在外,以便系统能够找到其它更恰当的神经元(类的表示)。3.查找:如果s≥,认为网