武汉科技大学本科毕业设计(论文)
练时所需的循环次数和训练时间的情况来观察网络求解效果。整个网络的训练结果如表2-1所示。
表2-1 当 Sl =2,3,4,5,6,20,25,30时的训练结果
我们评价一个网络设计的好坏,首先是它的精度,再一个就是训练时间。从表2-l中可以看出下面几种情况:
① 神经元数太少,网络不能很好的学习,需要训练的次数也多,训练精度也不高;
② 一般而言,网络隐含层神经元的个数S1越多,功能越大,但当神经元数太多,会产生其他的问题
③ 当S1=3,4,5时,其输出精度都相仿,而S1=3是的训练次数最多。 一般的讲,网络sl的选择原则是:在能够解决问题的前提下,再加上一个到两个神经元以加快误差的下降速度即可。
(3).初始权值的选取
一般取初始权值在(-1,1)之间的随机数。
另外,威得罗等人在分析了两层网络是如何对一个函数进行训练后,提出一种选定初始权值的策略:选择权值的量级为r为输入个数。
(4).学习速率
学习速率决定每一次循环训练中所产生的权值变化量。大的学习速率可能导致系统的不稳定;但小的学习速率导致较长的训练时间,可能收敛很慢,不过能保证网络的误差值不跳出误差表面的低谷而最终趋于误差最小值。所以一般情况下倾向于选取较小的学习速率以保证系统的稳定性。学习速率的选取范围是0.01~0.8。
对于较复杂的网络,在误差曲面的不同部位可能需要不同的学习速率。为
,其中S1为第一层神经元数,
第27页
武汉科技大学本科毕业设计(论文)
了减少寻找学习速率的训练次数以及训练时间,比较合适的方法是采用变化的自适应学习速率,使网络的训练在不同的阶段设置不同大小的学习速率。
(5).期望误差的选取
在设计网络的训练过程中,期望误差值也应当通过对比训练后确定一个合适的值,这个所谓的“合适”,是相对于所需要的隐含层的节点数来确定的。一般情况下,作为对比,可以同时对两个不同期望误差值的网络进行训练,最后通过综合因素的考虑来确定采用其中一个网络。
5. BP网络的限制与不足 (1).需要较长的训练时间
这主要是由于学习速率太小所造成的。可采用变化的学习速率或自适应的学习速率来加以改进。
(2).完全不能训练
这主要表现在网络的麻痹上。通常为了避免这种情况的产生,一是选取较小的初始权值,二是采用较小的学习速率。
(3).局部最小值
采用多层网络或较多的神经元,有可能得到更好的结果。 6. B P算法力改进
BP算法改进的主要目标是为了加快训练速度,避免陷入局部极小值和改善其他能力。本节只讨论前两种性能的改进方法的有关内容。
(1).带动量因子算法
该方法是在反向传播法的基础上在每一个权值的变化上加上一项正比于前次权之变化的值,并根据反向传播法来产生新的权值变化。带有附加动量因子的权值调节公式为:
(2.48) (2.49)
其中k为训练次数,mc为动量因子,一般取0.95左右。
附加动量法的实质是将最后一次权值变化的影响,通过一个动量团于来传递。以此方式,当增加动量项后,促使权值的调节向着误差曲面底部的平均方向变化,当网络权值进入误差曲面底部的平坦区时,δ将变得很小,于是,
第28页
武汉科技大学本科毕业设计(论文)
(2.50)
从而防止了△Wij(k)=0的出现,有助于使网络从误差曲面的局部极小值中跳出。
(2).自适应学习速率
对于一个特定的问题,要选择适当的学习速率并不是一件容易的事情。对训练开始初期功效很好的学习速率,不见得对后来的训练合适。为了解决这一问题,人们自然会想到在训练过程中自动调整学习速率。下面给出一个自适应学习速率的调整公式:
(2.51)
其中?为学习速率,初始学习速率?(0)的选取范围可以有很大的随意性。 (3).改变学习速率方法
学习速率的局部调整法基于如下的几个直观的推断: ·目标函数中的每一个网络可调参数有独工的学习速率; ·每一步迭代中,每个学习速率参数都能改变;
·在连续几次迭代中,若目标函数对某个权导数的符号相同,则这个权的学习速率要增加;
·在连续几次迭代中,若目标函数对某个权导数的符号相反,则这个权的学习速率要减小。 ① δ-δ规则;
设αij(k)为Wij(k)的学习速率,则
(2.52)
式中,γ是一个正实数,成为学习速率调整步长。
上式的学习规则虽然和上述推断一致,但在应用时还存在一些潜在的问题。 例如,若在连续两次迭代中,目标函数对某个权的导数具有相同的符号,
第29页
武汉科技大学本科毕业设计(论文)
但他们的权值很小,则对应于那个权值的学习速率的正调整也很小。另一方面,若在两次连续的迭代中,目标函数对某个权的导数具有相反的符号和很大的值,则对应于那个权学习速率的负调整也很大。在这两种情况下,就难于选择合适的步长参数γ。
上述问题可以用δ-bar-δ方法来克服。 ② δ-bar-δ方法
令Wij(k)为第 k次迭代i神经元到j神经元连接权,令αij(k)为这次迭代对应于该权的学习速率,学习速率可按如下调整规则来确定:
(2.53)
(2.54)
(2.55)
式中,ξ是一个正实数,参数a、b和ξ由使用者确定,典型值为: 10-4≤a≤0.1,0.1≤b≤5,0.1≤ξ≤0.7。 (4).作用函数后缩法
(2.56) (2.57)
实验证明,采用此方法,收敛时问平均可减少30%~50%。
第30页
武汉科技大学本科毕业设计(论文)
第三章 系统的实现
3.1 系统流程图
利用神经网络进行字符识别的过程主要包括网络的训练、数据的读取、字符的判定、结果的输出。神经网络字符识别的具体流程图如3.1所示
特征提取 样本训练 字符特征输入 识别并给出结果 图3.1 神经网络字符识别流程图
3.2 程序实现
系统是对车牌图像进行了图像灰度化、二值化、图像的调整、离散噪音点的去除、字符的切分、图像的缩放、字符的细化、字符的平滑、图像的求梯度等图像预处理之后的图像中的字符进行二次处理。系统对字符进行特征提取,对提取的结果再利用神经网络进行字符识别。 1.特征提取
图像经过一系列的预处理之后,原来大小不同、分布不规则的各个字符变成了一个个大小相同、排列整齐的字符。下面接要从被分割归一处理完毕的字符中,提取最能体现这个字符特点的特征向量。将提取出训练样本中的特征向量代入BP网络之中就可以对网络进行训练,提取出待识别的样本中的特征向量代入到训练好的BP网络中,就可以对字符进行识别。
特征向量的提取方法多种多样,有逐像素特征提取法、骨架特征提取法、垂直方向数据统计特征提取法、13点特征提取法、弧度梯度特征提取法等很多方法。
本系统选择的是逐像素特征提取法。
逐像素特征提取法是一中最简单的特征提取法,对图像进行逐行逐列的扫描当遇到黑色像素时取其特征值为1,遇到白色像素时取其特征值为0,这样当扫描结束以后就形成了一维数与图像中像素点的个数相同的特征向量矩阵。
这种特征提取方法的特点是算法简单、运算速度快、可以是BP网络很快的
第31页