因为0i=f(sumi)<1且di的取值为0或1,从而sk>0,sumi=-∑ωij·bj。下面对这种误差修正方法的收敛性作简要的分析。
利用链式微分规则得:
右端第一项表示输出矢量中第i个分量对偏差的影响,第二项则表示权系数对输出分量的影响。根据式(4)计算第一项的偏微分:
其中,bj>0为上隐含层的输出;式(9)就是在ωij空间中sk响应曲面上的负梯度方向。
这样,对权矩阵[W]中的任一元素ωij有:
这可以看出对权值的修正和梯度下降方法之间的关系,由此说明这种误差修正方法对权值的调整是收敛的。利用误差函数为(3)式的改进,BP算法确实把ri(1-ri)因子从误差函数对权重偏微分的结果中消除了。从实际的训练来看,利用本算法对权值修正时,能很快地收敛。
把论文中的BP算法和改进BP算法分别进行了网络训练(选取了4种车型,即q=4),并用到实际交通线路上进行检验。每种车型的样本为实际应用中不同情况下的4套样本(小型车、中型车、重型车、超重型车),这样用16套噪声作为训练样本,并且设定隐含层的节点为p=16。网络学习过程流程图如图3所示。
在网络结构完全一样的情况下,采用(1)式的误差函数进行训练,需要交叉训练2万次后,才可以在实际中运用,可使输出精度达到0.99;而采用改进后的误差函数(3)式进行训练,只需200次,就可以达到同样的精度,并能投入到交通线上在线识别汽车类型。试验结果如表1所示。
从试验结果来看,利用改进BP算法可以使网络的学习速度加快,能很方便地运用于实际生产线。即使有新的车型出现在交通线上,也可以很快完成网络的训练。试验结果测得识别错误率小于1%,并且对汽车的识别效果比统计的方法好。利用改进BP算法后,提高了学习速度,为神经网络识别投入实际应用特别是运用到车流量很大的交通线上,提供了一种有效的方法。从实际应用来看,用神经网络识别比用特征统计识别的容错性要高一些,也优于特征统计方法。在实际中如果有新的车型要增加,只要把网络的结构稍作改进就可以了。