基于改进Inception的手写体数字识别方法

2020-04-07 15:25刘瀚骏杨勇通讯作者长春理工大学计算机科学技术学院
数码世界 2020年3期
关键词:手写卷积神经网络

刘瀚骏 杨勇(通讯作者) 长春理工大学计算机科学技术学院

本文参考GoogLeNet的Inception思想,针对手写体数字图像数据的特点,对网络结构进行优化调整,设计了一种轻量的卷积神经网络模型。并在MNIST数据集上对算法效果进行了实验。

一、研究现状

早期,手写数字的识别过程是使用统计方法来对手写数字的图像进行分类,如提取数字图像的特征之后,使用基于SVM的进行分类。LeNet在出现后,迅速成为手写数字识别的典型算法。出现了众多对这一算法的优化模型。例如,在[2]中,作者使用九层的多层感知机模型,通过对MNIST数据的随机位置变换和旋转达到了99.55%的准确率。

二、算法设计

卷积神经网络是一种前馈神经网络模型,近年来在图像领域取得了惊人的成绩。其独特的卷积层结构可以自动地对目标进行特征提取和学习,无需进行手工特征选择。GoogLeNet是2014年提出的一种优秀的卷积神经网络模型。GoogLeNet中引入一种新结构Inception块来增加网络的宽度。这样的横向连接结构并不会过高地增加网络的参数数量,可以使网络的训练变得相对更加容易。一个Inception块的示意图如图1所示:

图1 GoogLeNet中的Inecption结构

但是,GoogLeNet22层的网络结构对于手写体数字识别来说仍然过于复杂。MNIST数据集仅有60,000张左右的数字图像,并不足以训练如此深的网络。因此本文仅借用Inception这一思想,设计了一个浅层网络模型。

在GoogLeNet中,Inception分为四个部分,且每个部分都有一个1*1卷积。这个1*1卷积是在处理ImageNet图像时为了降低网络计算量而存在的。但对于MNIST来说,其计算量较小,即使不进行降维,运算也十分迅速。GoogLeNet的Inception的第四部分包括一个3*3池化,由于MNIST的图像大小只有28*28,经过池化后图像大小过小,不利于特征表达。最终,本文简化的Incetpion块仅包含三个部分:其整体结构仅有五层,如图2所示:

图2 本文网络模型示意图

在深度学习领域的诸多研究已经证明了数据量对于深度学习任务的重要性。但MNIST数据集的训练数据总量较少。可以通过对MNIST数据进行增强来增加数据集中的数据数量。本文选取-30°~30°的随机角度作为旋转角,每张图片随机旋转1~2次。并向随机方向平移不超过5个像素。

三、实验结果

本文使用tensorflow环境进行实验。对于MNIST数据集,本文选用的batch大小为256,训练次数为20000次,学习率为0.002。

在训练完成后,将本文的模型与LeNet网络、GoogLeNet进行对比。

对比测试的结果如下:

表1 模型准确率对比

可以看出,相较于另两种方法,本文所述的基于Inception思想的方法具有较高的准确率。

本文还对比了三种算法在训练时所需的时间,本文的训练时间与LeNet相差不大,可以快速训练完成,在测试时,其响应速度也明显优于GoogLeNet。

四、总结

本文将GoogLeNet这一网络中的Inception思想引入手写数字识别算法中,并对数据集进行增广,来实现了一种高效、准确的手写数字识别方法。简化过的Inception结构在有效增加网络宽度的同时,没有很显著地增加网络的参数数量,这样使得网络可以提取更多特征,却又不会难以训练。通过实验结果可知,这样的思路具有良好的可行性,可以达到预期效果。

猜你喜欢
手写卷积神经网络
基于神经网络的船舶电力系统故障诊断方法
基于递归模糊神经网络的风电平滑控制策略
我手写我心
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
我手写我意
从滤波器理解卷积
基于神经网络的中小学生情感分析
基于傅里叶域卷积表示的目标跟踪算法
基于Q-Learning算法和神经网络的飞艇控制