杨刚 王乐 戴丽珍 杨辉
人工神经网络是指受动物大脑内生物神经网络的启发而对其结构和功能进行模拟所获得的一类计算系统,其结构设计和网络学习是理论研究的关键问题.跨越–侧抑制神经网络(Span-lateral inhibition neural network,S-LINN)是根据大脑新皮层内神经元种类、连接模式以及侧抑制机制构造的一类复杂神经网络模型,具有良好的学习能力和泛化能力.然而,与前馈神经网络相比,S-LINN引入了不同层神经元之间的跨越连接以及隐含层内神经元之间的侧抑制连接,增加了网络的计算成本及复杂度.因而,需要研究合理的网络结构调整方法,进一步保证网络性能的发挥.
研究表明,人脑内神经元之间的突触连接具有非常明显的稀疏(Sparse)特性[1−2].因而,许多学者针对人工神经网络提出了一些稀疏连接的结构设计方法[3−6].稀疏神经网络的设计是在保证网络性能的前提下,通过控制神经元及其之间连接权值的增加/删剪操作降低网络的连接成本,提高计算效率及泛化能力.然而,选取何种稀疏连接机制用于人工神经网络设计是一个重要且有意义的研究课题.
小世界(Small-world)网络是介于规则网络和随机网络之间的一种网络结构,具有较短的平均路径长度和较高的聚类系数[7].由于其网络连接具有明显的稀疏特性,且生物神经网络也具有一定的小世界特性[8−9]:邻近的节点之间密集的局部聚类或小集团连接.因此,小世界的概念也被引入到人工神经网络结构设计研究之中.Ahn等[10]研究发现稀疏和小世界拓扑结构可以平衡网络的性能与连接成本之间的关系.Zheng等[11]认为稀疏和小世界拓扑结构是既能实现较小的连接成本,又能保证较高的模式识别质量的有效策略,并提出了一种简单有效的方法生成具有离散时间动力学特性的小世界神经网络.Simard等[12]研究了WS小世界神经网络的快速学习算法,该方法在数据挖掘方面表现出了优良性能.Lago-Fernndez等[13]通过计算机仿真研究了基于Hodgkin-Huxley神经元的不同连接拓扑结构,发现小世界连接是生成快速同步振荡的最佳连接方式.Morelli等[14]研究了小世界连接神经网络的联想记忆.为了对多层前向小世界神经网络的网络参数、权值修正策略以及网络结构进行改进,王爽心等[15]提出一种基于层连优化的小世界神经网络的改进算法,能够获得更快的收敛速度,更高的逼近精度,且模型稳定性更强.为了提高时间序列的预测精度,改进的小世界网络被用于优化泄露积分型ESN[16],可以获得更高的预测精度和更短的训练时间.Erkaymaz等[17]将ANN作为用于癌症诊断的新型智能决策制定方法,对比研究了两种典型小世界前馈ANN的性能,均获得优于其他方法的性能.然而,将固定的小世界连接模式引入经典神经网络进行结构设计仍然无法充分发挥网络的性能,而网络结构的自组织优化则是提升网络性能的一种有效方法.
针对S-LINN的结构设计及参数优化问题,本文根据儿童智力发展水平与大脑皮层发育之间的相互关系,结合小世界稀疏连接,设计一种简单有效的稀疏网络设计方法,降低计算成本提高网络性能,便于实际问题求解.本文第1节首先简要介绍跨越–侧抑制神经网络,第2节详细介绍稀疏跨越–侧抑制神经网络设计方法,第3节给出基于稀疏跨越–侧抑制神经网络的非线性动力学系统辨识及函数逼近仿真分析,并在第4节给出结论.
在实际的生物神经系统内,新皮层(Neocortex)是大脑皮层重要的组成部分,主要由兴奋的锥体神经元(Pyramidal neurons,约占70%~80%)和抑制的中间神经元(Interneurons)组成[18−19].在不同的层之间以及不同的神经元类型之间存在着典型的连接,即可以跨越(Span)整个皮层厚度,以垂直分布的方式对同一个输入产生响应.这些皮层的微回路以皮层柱(Cortical column)和微柱(Minicolumn)的形式排列,并且微柱被认为是大脑皮层最基本的功能单元[20−22].功能柱是广泛存在于生物不同皮层区域内的一种连接结构,介于微观的神经元和宏观的脑区之间的中间层次模块.在一个微柱内,大约包含80~100个神经元[23−24].除了功能柱的垂直排列之外,大脑皮层内还存在着一些锥体神经元模块.它们以集结的形式进行着垂直排列[18].大脑皮层内的微柱是通过相邻的中间神经元之间的横向(Lateral)连接形成的,而激活的神经元通过这种横向连接可以抑制周围未激活的神经元.这种由抑制的中间神经元之间的横向连接构成的抑制作用称为侧抑制(Lateral inhibition).
从结构和信息仿生的角度出发,基于大脑新皮层内锥体神经元在不同层神经元之间的跨越连接以及中间神经元在同层内的抑制连接提出了一种的新型的跨越–侧抑制神经网络模型(S-LINN)[25−26].S-LINN内部既有相邻层之间的前馈传输,又引入了不相邻层之间的跨越传输以及隐含层内的侧抑制连接.这一结构特点不仅保证网络具有丰富的学习能力和更好的泛化能力,而且可以方便地研究功能柱结构及其对神经网络性能的影响.(L+1)层S-LINN的输入–输出关系如下:
其中,fl(·)为l层神经元的激活函数,通常取为sigmoid函数;是神经元输出和权值的内集,包含来自(l−1)层前馈链接的神经元输出,同时包含通过跨越连接来自[0,l−2]层神经元的输入;为被周围神经元侧向抑制后的抑制输入,θrj为神经元r对神经元j的侧抑制阈值,vrj∈[0,1]为侧抑制系数,0表示不受抑制,1表示全抑制,表示神经元无自抑制作用.
为简化计算,根据两个神经元之间的“距离”依高斯分布生成S-LINN隐含层神经元之间的侧抑制系数,并在学习过程中保持不变.其中,神经元无自抑制作用,且根据网络规模设定当“距离”大于阈值(一般设为当前层神经元数量的2/3)时,侧抑制作用忽略不计.基于梯度下降的反向传播学习算法和序列学习算法可参见文献[25−26].变的稀疏神经网络.
稀疏神经网络实际上是对大脑神经元稀疏连接特性的一种模拟.全连接ANNs往往忽略了由全连接引起的训练时间过长的问题,而冗余神经元/连接的大量存在也在一定程度上损害着网络的泛化能力.实际的生物神经系统中神经元是稀疏(Sparse)连接的,尤其是哺乳类生物大脑皮层内神经元的稀疏连接特性非常明显[2].对老鼠皮层的解剖研究表明[1],大约85%的神经元为锥体神经元,而锥体神经元之间的突触连接具有均等性和随机性.一个锥体神经元仅与其突触后的一个或几个邻近神经元的突触相连.在大约20000000个锥体神经元中的一个神经元有大约8000个突触与之相连.也就是说,皮层内锥体神经元的平均连接度仅为0.04%左右.
四层前馈网络的全连接与稀疏连接的结构对比如图1所示.与全连接神经网络相比,稀疏连接的神经网络可以明显减少训练时间,提高网络的泛化能力,降低硬件需求,同时更加接近生物神经网络的特性.因此,稀疏神经网络(Sparse neural network,SNN)的研究逐渐引起人们的关注.然而,如何构造稀疏神经网络以及最优稀疏度的确定一直是亟待研究的开放课题.从稀疏网络的构造方式来看,可将稀疏网络划分为个体发育型稀疏网络(Ontogenic sparse neural network)[27]和非个体发育型稀疏网络(Non-ontogenic sparse neural networks)[28]两大类.然而,通过既定的学习规则调节神经网络连接强度以适应实际问题的能力与缺乏确定网络拓扑结构丰富知识之间的矛盾,开启了结构自适应调整个体发育神经网络的研究.通过个体发育,实现稀疏连接的神经网络是指在学习的过程中,逐渐从全连接网络中去除冗余的层.神经元或连接,实现稀疏化的网络.非个体发育稀疏神经网络[28]是指在网络开始学习之前就确定网络的结构并在学习过程中保持不
图1 全连接网络及稀疏连接网络Fig.1 Structural diagram of fully connected network and sparse connected network
网络根据连接方式可分为规则网络和随机网络,而生物网络、技术网络和社会网络等是介于两者之间既非完全规则也非完全随机的一种连接网络.1998年,为了描述从规则网络到随机网络的转换过程,Watts等通过对规则网络进行重连(Rewired)来产生具有一定程度混乱性(Disorder)的网络,以高集聚系数和低平均路径长度作为特征,提出了小世界网络(Small-world network)模型[7],简称WS模型.此外,Newman和Watts对WS模型进行了改进,用随机化加边代替了随机化重连,避免产生孤立节点的可能,从而提出了新的NW小世界网络[29].小世界网络的两个重要参数分别为聚类系数C(Clustering coefficient)和路径长度L(Path length).其中,聚类系数量度给定的节点a连接到节点b和c的概率.同时,节点b和c也是相连的.从节点a到节点b的最短路径长度是指实现节点a到b的连接所需的最小的连接数.在具有相同连接和节点的情况下,小世界网络的平均聚类系数C要大于随机网络对应的平均聚类系数;此外,平均路径长度L与logN成比例(N为节点个数).本文采用小世界网络连接模式对初始S-LINN进行稀疏化设置.
WS小世界网络模型的生成是从一个规则图开始的.首先,考虑一个含有N个节点的最近邻耦合网络,将N个节点围成一个圆环,其中的每个节点都与它左右相邻的各k/2个节点进行相连,k为偶数,表示节点的度(Degree).其次,对网络进行随机化重连.随机化重连的规则如下:1)固定边的一个端点保持不变,另一个端点以概率p随机地选择网络中的一个节点进行相连;2)任意两个不同的节点之间最多只能有存在一条边;3)不允许节点与自身相连的边出现[7,30].在小世界网络中,可以通过调节p值的大小确定网络的类型.当p=0时,网络为完全规则的网络;当p=1时,网络为完全随机的网络;当0
Shaw等 通过智力测试将受试者分为智力超常组(S),高智力组(H)和平均智力组(A),并跟踪研究其皮层厚度随年龄增长的变化轨迹.皮层变化轨迹如图3所示,智力超常(Superior intelligence)组的皮层厚度与其他两组的皮层有明显不同的变化轨迹,他们的大脑皮层在儿童时期相对较薄,经过发育成长阶段的迅速增长达到顶峰,然后再快速变薄并稳定在一定厚度(基本与其他两组人的皮层厚度持平).这一现象给我们的启示是,幼年时期即拥有高厚度皮层的儿童其智力未必就高.相反,智力超常的人则是幼年时期皮层较薄,但经过后天发育皮层达到正常厚度的那部分人,是那些根据环境产生更多适应性变化的人.对于皮层变薄的原因则可能是大脑发育过程中,脑细胞、神经元以及他们之间的联系具有用进废退的特点.因此,本文借鉴智力发展水平与皮层厚度发育的相互关系,研究稀疏跨越–侧抑制神经网络的自组织发育方法.为便于描述,将稀疏自组织发育S-LINN学习算法以及由此获得的神经网络简记为sS-LINN.
本文设计的稀疏自组织发育神经网络是在基于梯度下降的反向传播学习基础之上进行的,因此本节着重介绍连接稀疏度的定义、自组织发育规则的设计以及学习步骤.
2.3.1 连接稀疏度及自组织发育
定义(L+1)层S-LINN的连接稀疏度如下:
其中,nα和nβ分别表示α层和β层内神经元的数量,表示α层内神经元i与β层内神经元j的连接权值,为非0权值的统计数量,call为根据网络结构计算而得的所有可调权值统计数量(不包含隐含层神经之间的侧抑制连接权值).
由式(3)可知,网络的连接稀疏度是指实际存在的神经元连接数量在所有可能存在的神经元连接中所占的比重.当神经元i和j之间无突触连接,即权值时,统计变量c记为0;反之,权值时,统计变量c记为1.
连接稀疏度的定义是为了通过对其调整和控制,实现网络的自组织发育,相关步骤如下:
图2 随机化重连Fig.2 Random rewriting procedure
图3 皮层变化轨迹[31]Fig.3 Trajectories of cortical change[31]
步骤1.网络初始化.根据问题的难易程度由经验法确定全连接网络的规模,即隐含层的数量l以及层内神经元的数量nl.
步骤2.网络稀疏化(小世界连接).根据WS小世界神经网络的生成方法,按照概率p生成具有小世界连接特性的S-LINN,初始化连接权值(隐含层内侧抑制连接依据高斯分布确定,其余权值为[0,1]内的随机值).此时网络的权值连接稀疏度记为ds0.
步骤3.稀疏连接自组织发育.根据初始稀疏度ds0,设置网络调整过程中权值连接的最高稀疏度dsmax及学习结束时网络的期望稀疏度dsmin,设计权值连接动态变化规则.
本文用神经元连接权值的数量表征皮层厚度,根据图3所示的智力超常组智力发育过程中大脑皮层由薄(约4.385mm)到厚(约4.85mm)再变薄(约4.25mm)的这一动态过程,设置稀疏度的动态调整规则.以初始疏度ds0为基准,确定最大稀疏度dsmax=ds0×120%和最终稀疏度dsmin=ds0×90%.通过动态调整神经元权值的稀疏连接程度来模拟智力发展过程中大脑皮层厚度“薄–厚–薄”的变化过程,从而使网络获得超常的智力.
sS-LINN的自组织发育,即稀疏连接的动态调整是构造稀疏S-LINN的重中之重,本文根据神经元输出贡献率的大小,判断稀疏连接的增加和删剪.
2.3.2 神经元输出贡献率
定义神经元的输出贡献率如下:
为提高sS-LINN的学习效率,在不严重影响网络性能的情况下,对网络学习作如下设置:
1)网络由薄变厚至峰值时的发育过程中,仅对输出贡献率较大的神经元增加其输出连接,实现网络连接的增加;
2)网络由厚到薄并最终达到稳定状态的发育过程中,对输出贡献率较小的神经元的输出连接进行剪切,实现网络连接的简化.
图4 sS-LINN结构示意图Fig.4 Structural diagram of sS-LINN
四层sS-LINN的连接结构如图4所示,用不同灰度(颜色)的神经元表示不同的层次.由于S-LINN隐含层内神经元的侧抑制连接本来就是一种稀疏连接,并非所有的兴奋神经元都能对其临近的神经元产生抑制作用.因此,sS-LINN自组织发育主要是对层与层之间的前馈连接和跨越连接进行调整,增加或删剪相应的连接权值控制网络连接稀疏度.
2.3.3 sS-LINN学习算法
综上所述,采用sS-LINN方法生成自组织发育稀疏S-LINN的主要学习步骤如下:
步骤1.网络结构及参数初始化.根据实际问题,确定S-LINN结构(含一定的冗余神经元),并根据小世界连接模式生成初始化的稀疏S-LINN;设定输出贡献率阈值,容许误差,迭代次数等参数值.
步骤2.连接权值的动态调整–增长阶段.
步骤2.1.根据式(4)计算每个神经元对本层输出的贡献率,并根据各个神经元的大小对神经元进行排序.
步骤2.2.根据设定的贡献增长阈值csg,判断各个层内可以进行权值调整的神经元集合.对互相连接的a层和b层内的可调权值神经元,判断现存的连接情况.若贡献度大的已经与相连,则继续判断与排在下一位的神经元的连接情况;否则,增加的权值连接.
步骤2.3.判断网络权值增加的终止条件.若网络的连接稀疏度ds≤dsmax,则循环运行步骤2.1,增加连接权值,直至所有可操作的连接权值都已得到调整.否则,停止连接权值的增长调整,并转入步骤5:判断学习终止条件.若满足条件,直接转入步骤6;否则,转入步骤3,开始网络权值的修剪.
步骤3.连接权值的动态调整–修剪阶段.
步骤3.1.根据式(4)计算每个神经元对本层输出的贡献率cli,并根据各个神经元cli的大小对神经元进行逆序排列.
步骤3.2.根据设定的贡献修剪阈值csp,判断各个层内可以进行权值调整的神经元集合.对互相连接的a层和b层内的贡献度最小的神经元和,判断现有连接情况.若无权值连接,则判断值大于的前一个神经元的连接情况;否则,断开权值连接.
步骤3.3.判断权值删剪终止条件.若网络权值的连接稀疏度ds≥dsmin,则循环运行步骤3,修剪连接权值,直至所有贡献度小的神经元之间的连接全部删剪.否则,停止连接权值的修剪调整,并转入步骤5,判断网络学习的终止条件.若满足学习终止条件,则直接转入步骤6;否则,转入步骤4,开始网络权值的学习阶段.
步骤4.采用基于梯度下降的反向传播算法[25]训练权值自组织发育调整后的稀疏网络,转步骤5,判断学习终止条件:若不满足学习终止条件,则循环运行步骤4;否则,直接转步骤6终止学习.
步骤5.判断学习终止条件.判断网络的学习精度及迭代次数是否已经达到预设的阈值.
步骤6.学习结束,输出网络.
为验证本文设计sS-LINN的性能,选择非线性动力学辨识及函数逼近问题进行仿真研究.本文所做实验仿真研究均基于MATLAB 7.11并在Intel Core2 Duo CPU 3GHz,内存1.98GB的普通PC机上运行获得.为最大限度地消除随机因素对结果的影响,sS-LINN仿真结果均为独立运行50次的平均值.
考虑常见的离散时间动力学系统辨识基准问题[32−35],系统的二阶微分方程[36]如下:
其中,y(t)和u(t)分别为系统在t时刻的输出和输入信号,t为采样时间.
采用sS-LINN构造形的辨识模型如下:
其中,输入信号u(t)=sin(2πt/25),采样时间1≤t≤1000,初始状态y(0)=0,y(1)=0.即用系统输出y(t),y(t−1)和输入u(t)构造网络的输入样本,而系统输出y(t+1)则为网络的输出样本.选取1≤t≤800时的系统数据构造训练样本,对网络权值进行学习;选取801≤t≤1000生成的数据作为测试样本,用于检验网络的泛化能力.
为验证自组织发育稀疏跨越–侧抑制神经网络sS-LINN的性能,设置单隐含层的S-LINN解决该系统辨识问题,其中,隐含层神经元数量n1=50,具有小世界特性的初始网络的连接概率p=0.1.因此,根据式(3),计算三层S-LINN含有的可调连接权值数目如下:
S-LINN内任意两个相连层的神经元之间均按照小世界网络生成方式进行相连,设置节点的度k=4,初始稀疏度ds0=21%(约43组连接权值),最大期望稀疏度dsmax=120%×ds0=120%×21%=25.2%(约51组连接权值),dsmin=90%×ds0=90%×21%=18.9%(约38组连接权值).为验证网络的学习效果,设定最大迭代次数Tmax=3000,网络的期望误差精度为εTrMSE=10−7.
图5~7及表1是选取3次独立运行的结果,分别记为CaseA,CaseB,CaseC.图5~7为3次独立实验对应的网络性能及连接权值动态调整过程中训练误差的变化情况,“∗”线型表示样本的期望输出,“◦”线型表示网络的预测输出;表1是这3次实验对应的网络特点及性能.
图5 CaseA:网络测试输出及学习误差曲线Fig.5 CaseA:Network output for test samples and the learning error curve
图6 CaseB:网络测试输出及学习误差曲线Fig.6 CaseB:Network output for test samples and the learning error curve
表1 三次独立实验中网络性能及其权值连接变化情况Table 1 Network performance and the dynamic adjustment process of connected weight
由图5~7和表1可知,3次实验都实现了网络稀疏连接的动态调整过程,并且连接的稀疏度基本上达到了设定的期望值,说明根据ds和cli进行的连接权值贡献度的判断以及由此所作的动态调整是行之有效的.此外,从网络的处理效果来说,均能获得较高的精度.同时,从表1中的网络性能与权值稀疏连接情况的对应关系可知,3次试验均能按照设计的稀疏连接度进行连接权值的动态调整,并且调整的结果越接近设定的期望连接度时其网络性能也越好,如CaseC所示.
图7 CaseC:网络测试输出及学习误差曲线Fig.7 CaseC:Network output for test samples and the learning error curve
为对比分析3次独立实验过程中权值连接的调整对网络性能的影响,将三次实验中前200次迭代中学习误差的变化情况进行对比,如图8所示.从图5~7及表1可以看出,三次实验的网络精度基本相当,均能获得较好的处理效果.但相比较而言,CaceC具有优于CaseA和CaseB的处理效果.从图8可以看出,在学习初期阶段,由于连接权值的动态调整,网络精度也有幅度较大的振荡.而由编号CaseC实验所示的学习误差变化情况显示,在调整的初期阶段(约50次迭代之前),网络的性能较CaseA和CaseB较弱;而通过中间阶段(迭代次数位于50~120)的迭代学习,CaseC的网络性能有所提高,达到了与CaseA和CaseB相当的水平;CaseC经过一段时间的学习,网络的学习精度大幅度提高,明显优于CaseA和CaseB的变化趋势.CaseC网络性能的变化过程与文献[31]中智力超常小组人员的大脑皮层厚度变化情况相一致,而网络的性能也与网络结构(即sS-LINN的权值连接情况)一一对应.因此,根据权值连接的稀疏程度,控制网络内权值连接数量先增加后减少并最终维持在略低于初始权值数量的水平,实现网络的自组织发育,能够有效构造具有优越性能的sS-LINN,进一步验证了该方法的正确性和可行性.
图8 三次独立实验中前200次迭代中网络性能对比Fig.8 The comparison of network performance for the 3 independent runs(the first 200 iterations)
此外,为了对比sS-LINN的处理效果,表2列出了通过不同方法对该系统进行辨识的结果,再一次充分说明了sS-LINN处理该问题的出色性能.与含有10个隐含层神经元的其他方法相比,在未增加网络结构复杂度的情况下,sS-LINN具有更好的性能,而从连接数量角度出发sS-LINN甚至具有更紧凑的网连接结构.
为进一步验证sS-LINN的性能,考虑含有噪声的sin C函数逼近问题
在[−10,10]随机生成2000个数据xi作为训练样本的输入,然后根据式(8)计算yi,并令yi=yi+εi作为训练样本的输出,其中εi为[−0.04,0.04]内均匀分布的随机噪声信号.对于测试样本,则在[−10,10]内重新随机生成2000组数据作为测试样本的输入,并根据式(8)计算对应的测试样本输出,不添加噪声信号.
表2 sS-LINN与其他神经网络方法的性能对比Table 2 Network performance and the dynamic adjustment process of connected weight
选取单隐含层的sS-LINN求解该问题,令n1=30,具有小世界特性的初始网络的连接概率p=0.1.根据式(3)可计算出三层S-LINN含有的可调连接权值数call=61,初始稀疏度及其他参数设置与第3.1节相同.基于sS-LINN的sin C函数逼近输出结果如图9和表3所示,实验数据表明sS-LINN可以获得优于其他方法的学习能力和泛化能力.
图9 sin C函数逼近结果Fig.9 Simulation result of sin C function approximation
表3 sin C函数逼近结果与其他方法的性能对比Table 3 Performance comparison of sin C function approximation
针对跨越–侧抑制神经网络的结构设计及参数学习,结合生物神经网络神经元连接的稀疏特性以及人类智力发展水平与大脑皮层发育的对应关系,设计了连接自组织发育的稀疏跨越–侧抑制神经网络学习算法.通过在学习阶段对网络连接稀疏程度的控制,模拟大脑皮层由薄到厚再变薄的动态变化过程,实现网络智力的发育,从而提升网络的性能.首先,借助小世界网络连接模式生成初始化稀疏连接S-LINN;其次,根据网络连接稀疏度的控制及神经元输出贡献率的判断,设计网络自组织发育策略,实现网络连接的动态调整;最后,借助反向传播学习算法对网络的参数进行学习.通过对非线性动力学系统辨识和函数逼近基准问题的求解,验证了sS-LINN在学习阶段对网络权值连接稀疏度的调整和控制能力,以及对网络性能的提升作用.实验结果表明,sS-LINN可以通过神经元输出贡献率的判断,在网络权值增长阶段对输出贡献交大的神经元增加权值连接,而在网络权值修剪阶段删除贡献值低的神经元之间的连接权值,精简网络结构,实现自组织发育,提高网络性能.