史腾飞 尚家秀 吴宗航
摘 要:针对传统图像分类方法准确率较低的问题,提出一种基于卷积神经网络和迁移学习思想的图像分类改进方法。利用迁移学习的思想改进卷积神经网络的网络结构及网络参数,然后利用TensorFlow框架实现该模型并对MNIST数据集进行分类,最后将改进卷积神经网络模型的分类准确率与传统分类方法进行对比分析。实验结果表明,改进卷积神经网络模型的分类准确率高达99.37%,分类性能明显优于其他方法。
关键词:卷积神经网络;迁移学习;TensorFlow;图像分类
中图分类号:TP183 文献标识码:A 文章编号:2096-4706(2023)05-0109-04
Research on Improved Image Classification Method Based on Convolution Neural Network
SHI Tengfei, SHANG Jiaxiu, WU Zonghang
(School of Electrical Engineering, North China University of Water Resources and Electric Power, Zhengzhou 450045, China)
Abstract: Aiming at the low accuracy of traditional image classification methods, an improved image classification method based on convolution neural network and transfer learning ideas is proposed. Use the idea of transfer learning to improve the network structure and network parameters of the convolution neural network, and then use TensorFlow framework to implement the model and classify the MNIST dataset. Finally, compare the classification accuracy of the improved convolution neural network model with the traditional classification methods. The experimental results show that the classification accuracy of the improved convolution neural network model is up to 99.37%, and the classification performance is significantly better than other methods.
Keywords: convolution neural network; transfer learning; TensorFlow; image classification
0 引 言
近年来,计算机技术飞速发展,人工智能和大数据领域也随之有了更深层次的突破,图像开始在人们的日常生活中扮演着不可或缺的角色。图像分类技术本质上是对图像信息进行特征提取,区分不同类别图像数据的一种图像处理方法,已被广泛应用于图像识别、自然语言处理、物理学和遥感科学等领域[1]。卷积神经网络(CNN)有着传统识别方法所不具备的优点,比如能够自行训练、识别速度更快、需要特征更少以及分类准确率更高等,其在模式分类领域有着十分广泛的应用,在深度学习领域更是有着举足轻重的地位。
近年来,随着深度学习的不断发展,图像分类领域也经历了复兴。传统的机器学习方法正在逐渐被更新颖、更强大的深度学习算法所取代。1998年,LeCun发明了LeNet-5网络。2006年,Hinton提出深度信念网络(DBN)的概念,深度学习开始在该领域焕发光彩。Krizhevsky等人于2012年提出了AlexNet,AlexNet使用Drop-Out来减少过拟合[2]。此后,有研究人员在卷积神经网络的结构上做出创新,提出了堆叠结构模型,例如ZFNet、VGGNet等。残差注意力网络(Residual Attention Network)和MobileNet等网络模型也被相继提出,其网络性能比之前的网络模型更进一步[3]。
本文首先分析卷积神经网络的网络结构,再利用迁移学习的思想,取长补短,对其网络结构及网络参数进行优化改进,最后将所构建的改进卷积神经网络模型的分类准确率与传统分类算法进行对比分析,通过图像数据集MNIST上的实验,检验卷积核个数、卷积核大小、池化方式及隐藏神经元数目等优化因素对卷积神经网络分类准确率的影响。
1 卷积神经网络结构
LeNet-5是最早的卷积神经网络,其网络结构如图1所示。
如图1所示,卷积神经网络主要由卷积层、池化层、激活函数和全连接层组成。
1.1 卷积层
卷积层(Convolution Layer, CONV)又称特征提取层,用于提取图像的特征,是卷积神经网络的核心部分。卷积神经网络局部连接和权值共享的特点,在卷积层的计算过程中得到了充分的体现,与全连接神经网络相比,卷积神经网络的参數数量大大减少。共享的权值和偏置也被称作卷积核(Filter)。
卷积层输出值的计算过程如下:使用式(1)计算卷积,可以得到每个对应位置的像素值:
(1)
其中,xi, j表示特征图像第i行第j列的元素;wm,n表示特征图像第m行第n列的权重;ωb表示卷积核的偏置项;ai, j表示特征图像第i行第j列的元素;f表示激活函数。
事实上,最后所得特征图的宽度和高度满足下面的关系:
(2)
(3)
其中,W2和W1分别表示卷积后和卷积前特征图像的宽度;F表示卷积核的宽度;P表示Zero Padding数量;S表示步幅大小;H2和H1分别表示卷积后和卷积前特征图像的高度。
1.2 池化层
池化层(Pooling Layer)又称下采样层,用于数据压缩,降低数据维度,能够有效减少模型的参数数量,减轻训练过程中的过拟合现象。
我们一般使用最大池化层(Max-pooling)和平均池化层(Mean-pooling)等。由于卷积神经网络计算过程比较复杂,收敛速度比较缓慢,为了尽可能地提高网络性能,本文选择使用计算更简单的最大池化层。最大池化的表达式为:
(4)
1.3 激活函数
激活函数用于对卷积层的输出结果做非线性映射,从而使神经网络可以逼近任何非线性函数,提升模型的泛化能力[4]。Sigmoid函数的输出范围为0至1,能够用在输出为预测概率的模型中。Sigmoid函数的公式为:
(5)
相比于sigmoid函数,ReLU函数的计算速度更快,且在输入为正时不存在梯度饱和问题,是目前深度学习中较为常用的一种激活函数。ReLU函数的公式为:
(6)
1.4 全连接层
全连接层紧随于单卷积层块之后,单卷积层块的输出作为全连接层的输入,首先对所输入的小批量样本进行扁平化(Flatten)处理,对数据进行分类处理,完成分类任务。
Softmax函数是将多分类的结果以概率的形式表达出来,其公式为:
(7)
其中,分子是指数函数,根据指数函数的特性,将模型的实数输出在零到正无穷上映射;分母将所有结果相加,进行归一化处理,将多分类输出转变为概率输出。
2 基于迁移学习的卷积神经网络改进
2.1 卷积神经网络结构及迁移学习思想概述
首先介绍LeNet-5和VGGNet卷积神经网络模型的网络结构。LeNet-5主要依赖卷积层和池化层对图像数据进行特征提取,其输入数据是32×32的灰度值图像。模型训练过程中,使用大小为5×5的卷积核,使用2×2的平均池化层进行降采样,使用Sigmoid函数作为激活函数,输出层由欧式径向基函数(RBF)单元组成,输出最后的分类结果。
接下来对VGGNet进行介绍。相较于LeNet-5网络结构,VGGNet使用尺寸更小3×3、数量更多的卷积核代替大的卷积核,并选用2×2的最大池化层,减少参数数量,降低计算复杂性[5]。在前面两层全连接层中,在使用激活函数后使用丢弃率为0.5的Dropout使神经元随机失活,以缓解过拟合现象,提高模型的泛化能力。
最后介绍一下迁移学习。迁移学习是指一种学习对另一种学习的影响,专注于存储已有问题的解决模型,并将其用于其他相关问题上[6]。本文的网络改进部分便是基于此思想,将VGGNet中的一些思想应用到LeNet-5结构中,从而对LeNet-5模型的网络结构和网络参数进行改进,以此得到分类准确率更高的模型。
2.2 改进卷积神经网络模型构建
2.2.1 前向传播阶段
在卷积层方面,基于VGGNet的思想,减少卷积核的大小,增加卷积核的个数,用两个3×3的卷积核堆叠代替一个5×5的卷积核,并且在图像周围增加padding,减少模型参数,降低计算的复杂性。在池化层方面,将LeNet-5模型中2×2的平均池化层改为2×2的最大池化层进行减半池化,将前一层的特征缩减一半,并且在每层卷积层之后都使用丢弃率为0.5的Dropout对神经元随机失活,避免过拟合现象的发生。增加一层全连接层,使用softmax函数作为最后输出的分类函数。在激活函数方面,选用ReLU激活函数作为改进神经网络中的激活函数,相比于sigmoid,ReLU函数计算起来更加简单,并且在不同初始化的情况下更容易训练。
2.2.2 反向传播阶段
在改进的模型中,选用交叉熵函数作为损失函数,优化函数通过传统的随机梯度下降算法SGD替换为自适应优化函数Adam,实现对模型误差和参数的微调。Adam能够自动调整学习率,并且调整过程中参数比较稳定,实现更简单,计算更高效。
通过以上过程,得到改进的卷积神经网络模型,其结构如图2所示。
该改进卷积神经网络各层参数如表1所示。
2.3 图像分类流程
本文的改进神经网络图像分类流程如图3所示,分类流程主要分为两个部分:一是训练部分,首先对训练样本进行预处理,对训练样本进行归一化,将像素值控制在0~1范围内,并将目标数字的标签做成One Hot编码的形式,然后训练改进神经网络模型;二是测试部分,主要是通过测试集数据检验改进神经网络模型的性能,判断其是否达到预期的分类准确率。
3 实验结果及分析
3.1 实验数据集
本文使用MNIST数据集,训练集一共包含60 000张图像和标签,测试集一共包含10 000张图像和标签。其中,图像以3维、字节的形式进行存储,标签以1维、字节的形式进行存储。每张图片是一个28×28像素點0~9的灰质手写数字图片,黑底白字,图像的像素值为0~255。
本文的改进CNN是基于TensorFlow[7]的深度学习框架,使用Keras工具包,安装Numpy等库,在PyCharm平台下采用Python语言进行编程,进行模型的搭建和优化改进。最后使用TensorBoard对训练过程和实验结果进行可视化,以便更直观地观察训练过程和实验结果。
图像分类的性能评价指标为准确率,相关定义如下:
3.2 实验结果分析
利用基于TensorFlow的改进神经网络模型,对测试集图像数据进行多次测试,取多次程序运行得到的准确率,然后取其平均值作为最终的准确率。
由表2所列的测试准确率可以看出,相比于未改进的LeNet-5网络,本文构建的改进神经网络模型的分类准确率高达99.37%,模型性能有了明显的提高。
最后利用TensorBoard对训练过程进行可视化,导出损失函数值和准确率数据,并使用Matplotlib绘图库绘制图像,得到训练过程的损失函数值和准确率,如图4所示。
由图4可以看出,随着迭代次数的逐渐增加,损失函数值逐渐减小,分类准确率缓慢上升,模型的性能逐渐趋于完善,图像逐渐趋于平缓,模型的分类准确率逐渐稳定,达到构建网络的最佳性能。
将本文构建的改进卷积神经网络模型的分类准确率与传统的分类算法进行对比,对比结果如表3所示。利用SVM、BP神经网络和傳统CNN多次对MNIST数据集进行分类实验并求平均值,得到分类精度。
通过分析表3所列数据,发现改进卷积神经网络模型的分类准确率高于其他几种方法,改进卷积神经网络模型的分类性能明显优于传统的卷积神经网络模型,分类准确率更高,能够有效缓解过拟合现象,模型的泛化能力更强。
4 结 论
本文根据已有的两种网络结构,基于迁移学习的思想,取长补短,使用更小、数量更多的卷积核代替大的卷积核,并改进网络结构和相关参数,最后将构建的改进卷积神经网络模型与传统的分类方法进行分类准确率对比。实验结果表明,改进卷积神经网络模型的分类准确率高达99.37%,分类性能明显优于其他方法。由此可见,与传统的分类方法相比,本文改进方法训练过程中的参数更少,模型的泛化能力得到很大的提升,改进后的网络分类准确率更高,并且训练过程中的过拟合问题也得到了有效缓解。但本文只是对较为简单的数据集进行了分类,该训练模型还存在一些不足,希望在以后的研究中,能够对更复杂的数据集进行分类研究,并有效提升模型的分类性能,减少训练时间。
参考文献:
[1] 胡貌男,邱康,谢本亮.基于改进卷积神经网络的图像分类方法 [J].通信技术,2018,51(11):2594-2600.
[2] 张珂,冯晓晗,郭玉荣,等.图像分类的深度卷积神经网络模型综述 [J].中国图像图形学报,2021,26(10):2305-2325.
[3] 周楠.欧阳鑫玉.卷积神经网络发展 [J].辽宁科技大学学报,2021,44(5):349-356.
[4] 严春满,王铖.卷积神经网络模型发展及应用 [J].计算机科学与探索,2021,15(1):27-46.
[5] SITAULA C,HOSSAIN M B. Attention-based VGG-16 model for COVID-19 chest X-ray image classification [J].Applied Intelligence,2020,51(5):1-14.
[6] 许景辉,邵明烨,王一琛,等.基于迁移学习的卷积神经网络玉米病害图像识别 [J].农业机械学报,2020,51(2):230-236+253.
[7] 费宁,张浩然.TensorFlow架构与实现机制的研究 [J].计算机技术与发展,2019,29(9):31-34.
作者简介:史腾飞(1998—),男,汉族,河南驻马店人,硕士研究生在读,研究方向:控制科学与工程、数据安全。
收稿日期:2022-11-25