基于CNN的多尺度特征在手写数字识别中的应用

2019-12-27 06:23仲会娟谢朝和刘文武刘大茂
绵阳师范学院学报 2019年11期
关键词:尺度准确率卷积

仲会娟,谢朝和,刘文武,刘大茂

(阳光学院人工智能学院,福建福州 350015)

0 引言

与传统神经网络相比,卷积神经网络可通过局部感受野和权值共享机制大幅降低网络结构的参数数量[1],并且能够通过池化操作有效降低特征维度,同时可有效改善网络的泛化能力.因此,卷积神经网络被广泛应用在大规模图像数据集的分类与识别中.近年来,学者对卷积神经网络进行了进一步的研究,并取得了一些研究成果.例如:2012年,Alex Krizhevsky等提出了AlexNet模型,该模型通过Relu激活函数削弱梯度消失,实现了网络结构的加深,并通过输入端的数据增广和隐藏层的输出随机失活有效抑制过拟合[2].2014年,“VGG”团队提出了VGG模型,该模型通过小卷积核增加网络的深度,可减少网络参数量[3].文献[4]提出了25列CNN组合模型,将各列输出的平均值作为最终分类结果,提高了网络精度.文献[5]利用几何变换增广数据集,并使用批量归一化和支持向量机分类器加快收敛速度,缩短了网络的训练时间.上述研究中,研究者均以卷积、激活、池化、全连接操作为基础,通过加大网络深度和改变卷积核大小及滑动步长来改进网络的性能。但因以上方法均将最后一层特征信息映射为一维向量送入分类器进行图像的分类识别,因此特征尺度单一.

研究表明,CNN是一种具有层次结构的学习模型,文献[6]详细阐述了该模型能够挖掘出数据的多尺度特征描述,并可通过特征的可视化阐明了每一层的特征描述表征识别对象不同层次的特征属性.文献[7-8]利用卷积神经网络中的最后2个池化层输出特征和最后1个卷积层输出特征,得到了较为理想的多尺度识别特征.文献[9-10]将CNN结构中的每一个池化层再次池化后送入末端全连接层用于图像分类识别,取得了良好效果.以上方法表明,利用数据的多尺度特征,即使用全局和局部两种不同尺度的特征信息,可有效提高人脸识别、图像分割的准确率和稳健性[11].基于此,本文提出一种改进的基于CNN的多尺度特征识别算法,并通过实验验证了本文方法的有效性.

1 MNIST数据集

手写数字识别数据集(Mixed National Institute of Standards and Technology database,MNIST)包含55 000条训练数据,5 000条验证数据,10 000条测试数

图1 MNIST训练数据集Fig.1 Data Set of the MNIST Training

据[12].数据集中的每一条数据由feature(数字图像)和labels(标签)组成[12].如图1所示,每幅图像都是长度784的一维数组,且每个数组元素的值介于0-1之间;每一个labels是One-Hot-Encoding格式,即由数字0与1所组成的长度为10的序列,其中只有一个数字是1,其余全部为0.

2 算法设计

2.1 数据处理

TensorFlow框架对MNIST数据集进行了封装,可以直接下载、读取及查看.如图1所示,每幅图像是长度784的一维数组,而卷积网络直接从彩色或灰度图像中提取特征,因此通过tf.reshape函数可将一维数组转换为28*28像素的灰度图像.每一个数据labels是One-Hot-Encoding格式,而模型输出层共有10个神经元,因此通过函数tf.argmax可将数据labels转换为对应0-9的数字.每次训练并不是读取所有数据同时进行训练,而是读取一个batch数据进行训练,通过mnist.train.next_batch方法可按照批次读取数据.

2.2 基于CNN的多尺度特征识别算法设计

本文提出的基于CNN的多尺度特征识别算法结构如图2所示.该模型由数据预处理、CNN层次化特征提取、多尺度特征融合、SoftMax分类识别等几部分组成.

图2 基于CNN的多尺度特征识别算法结构Fig.2 Structure of Multi-scale Feature Recognition Algorithm Based on CNN

2.2.1 CNN特征提取 在算法结构中,输入为像素28*28*1的手写数字图像,经过3个卷积层、3个池化层、1个全连接层和1个输出层.第1个卷积层为32个5*5*1的卷积核,采用全零填充方式;滑动步长设置为1.输入图像卷积后采用Rule激活函数,Rule函数的计算公式为:

(公式1)

第2个卷积层使用64个5*5*32的卷积核,第3个卷积层使用128个5*5*64的卷积核,其他参数设置与第一层相同.以上每个卷积层后均采用最大池化操作,窗口尺寸为2*2,滑动步长设置为2,其中第3个池化层输出特征pool3尺寸为128*4*4.

2.2.2 多尺度特征融合 本文结合文献[8]和文献[10]中的算法,将第2个池化层的输出特征通过64个5*5*64的卷积核,其滑动步长为2,输出特征Conv5为64*4*4;将第1个池化层的输出特征通过32个5*5*32的卷积核,其滑动步长设置为4,输出特征Conv4为32*4*4.然后,将不同层次的特征pool3、Conv4、Conv5连接,得到3584维的多尺度特征信息,并送入具有256个神经元的全连接层.最后,将特征信息送入10个神经元的SoftMax输出层,获得10个(0-9)分类的概率分布.

3 实验与分析

3.1 实验环境

本文所有实验均在Windows 10操作系统的计算机上进行.计算机的配置为Intel Core i5-7300HQ CPU、主频2.5GHz、内存8.0GB.实验所用编译器为Spyder,编程语言为Python,所用的依赖库如表1所示.

3.2 网络模型的参数选取

网络模型使用Relu激活函数,损失函数使用交叉熵,初始学习率0.001,L2权重正则化系数1*10-5,优化器使用Adam梯度下降算法,SoftMax分类器进行分类,训练周期设置为30次,每个批次为100项数据.同时,为了选取合适的卷积核尺寸、全连接层神经元数目、Dropout参数,本文进行了如下比选实验.

1)在CNN模型中,设置卷积核的尺寸为3*3,5*5,7*7[10],实验结果如表2所示.由表中数据可知,采用5*5的卷积核时,训练时间相对较长,但识别准确率最高,损失最小.

2)将全连接层神经元数目分别设置为64、128、256、512,实验结果如表3所示.由表中数据可知,当神经元数目设置为256时,损失最小,识别准确率最高.

3)在深度神经网络训练过程中,为改善模型的泛化能力引入了Dropout,各层的Dropout参数设置如表4所示.由表中数据可知,当全连接层Dropout参数设置为0.2,卷积层Dropout参数全部设置为0时,损失最小,准确率最高.

根据以上实验结果,最终选定卷积核尺寸5*5,全连接层神经元数目256,全连接层Dropout参数为0.2,此时网络的训练时间较短,识别准确率最高,损失最小.

3.3 算法对比与分析

在不同隐藏层数下,对比单层特征与多尺度特征的识别准确率.单层特征为卷积神经网络中最后一层池化层的输出特征,即端层特征.对比结果如表5所示.由表中数据可知,在相同分类问题中,多尺度特征的识别准确率明显高于单层特征的识别准确率.

在隐藏层数目为256且分类器为SoftMax的条件下,将本文算法与单层特征、文献[8]和[10]中算法进行对比,结果如表6所示.由表中数据可知,文献[8]中的特征融合算法,识别正确率大幅降低;本文的改进算法在训练时间和准确率上均优于文献[10]中多层特征识别算法.通过参数比选和使用多尺度CNN有效提高了识别准确率,提升了训练速度,可在较差的硬件配置基础上,用更少的训练时间,获得较好的识别率.

4 结论

本文提出的基于CNN的多尺度特征识别算法,利用了全局及局部特征信息,解决了传统CNN网络中仅使用端层特征进行图像分类带来的特征不全面问题,并通过改进系统结构,选定系统参数,获得了更为有效的多尺度图像特征.本文选取MNIST数据集进行实验,实验结果表明,在相同分类器作用下本文提出的算法取得了99.20%的识别准确率,有效提升了分类识别精度,同时加快了网络收敛速度,即可在较差的硬件配置基础上,用更少的训练和识别时间获得好的识别率,具有较好的可靠性.下一步将通过加宽加深网络结构,进一步提高检测精度,以适用于更为复杂的数据环境.

猜你喜欢
尺度准确率卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
财产的五大尺度和五重应对
卷积神经网络的分析与设计
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
宇宙的尺度