论文部分内容阅读
字符识别和图像分类是人工智能的一个重要研究方向。通过训练一组给定的输入字符图像和分类标签集合,来实现预测其他输入图像的分类标签的目的。神经网络能够自主提取图像特征,并在字符识别、图像分类、语音识别、视频目标跟踪等各个领域处理任务中具备抽象的能力。神经网络具有出色的性能,但随着“大数据”时代的发展,数据量每日不断增加,信息内容更加复杂,神经网络性能迎来了新的挑战。另外,随着硬件性能的提升,FPGA成为实现神经网络的有效平台。但是由于网络的结构日趋复杂,硬件的资源消耗也在相应增加。本文针对手写字符识别、越南文字符识别和图像分类实际应用,围绕神经网络结构和激活函数算法做了深入的研究,为未来神经网络的推进提供了借鉴和技术支持。本文的主要研究内容包括:在分析卷积神经网络结构特点的基础上,与单向连接方法相比,本文提出了一种CNN_GRU混合神经网络模型解决了神经网络全连接层的同一个网络层的神经元之间没有互相连接关系的问题。该模型采用卷积神经网络的卷积层和池化层实现图像特征提取,然后使用门控制循环单元代替卷积神经网络的全连接层,使得神经元之间具有时序连接关系,最后对于网络模型产生的过拟合现象,采用dropout技术进行优化。实验结果表明,所提出的CNN_GRU网络结构在MNIST手写数字上获得的准确率达到99.21%,与Lenet-5模型相比提高了0.16%,同时训练和测试的运行时间降低到57.91秒和3.54秒。提出了一种基于概率的Sigmoid激活函数分段拟合方法保证在降低硬件资源的同时提高网络的识别准确率。硬件实现神经网络算法时,通常需要对Sigmoid激活函数进行拟合,从而简化算法的复杂度,但现有的方法随着复杂度的下降,网络的性能也下降。为了解决上述问题,本文提出了一种基于神经网络神经元值的分布概率的Sigmoid分段线性拟合方法。该方法首先将Sigmoid函数划分为三个固定区域,然后根据每一层神经元值在这三个区域内的分布概率提出三种分段的处理方式,最后使用2-n为斜率系数的线性函数对Sigmoid进行拟合,提出三种不同的拟合行为应用于不同网络层。实验结果表明,所提出的Sigmoid激活函数的拟合方法在仅采用加法电路的情况下,在MNIST手写数字、VNCD越南字符和CIFAR-10图像数据集上分别能获得98.42%、68.29%和63.14%的识别准确率,比起其他方法最高可提高了0.57%、2.38%和1.99%。基于Re LU激活函数以及其现有改进方式的研究,提出了一种Re LU激活函数的改进方法SWish LU,以避免Re LU函数引起的神经元坏死的问题。该函数在负半轴部分使用Swish函数实现激活,使得函数同时具有Swish和Re LU两个函数的优点。这个函数不仅避免了神经元死亡的现象,而且合理地利用网络负输入信息,从而提高网络性能。实验结果表明,Swish LU激活函数使得网络在MNIST、VNCD和CIFAR-10数据集上获得的准确率分别为99.18%、82.82%和63.81%,与Re LU函数相比分别提高了0.09%、2.08%和0.74%。针对激活函数输出均值非等于零导致输出偏移问题,本文提出一种自适应反比例线性激活(Adaptive Inversed Proportional Linear Activation,AIPLA)函数。该函数采用分段激活方法,每一段根据分段点以及斜率系数的变化,得出不同的激活方式包括线性激活和反比例激活,结合了原点对称、上下有界、非单调和计算简单等优点,并且斜率系数可以通过训练过程学习自我进行更新,提高激活函数的灵活性。实验结果表明,所提出的激活函数能使得网络在MNIST、VNCD和CIFAR-10数据集上获得的最高准确率分别为99.32%、88.79%和65.59%,与现有激活函数相比分别提高了0.17%、6.35%和0.82%。同时,在同一个训练准确率的要求下,该函数需要的训练次数分别减少了4倍、4.5倍和1.41倍。