APP下载

基于手写体数字识别的激活函数对比研究

2023-06-25宋倩罗富贵

现代信息科技 2023年4期
关键词:卷积神经网络

宋倩 罗富贵

摘  要:针对手写体数据集在卷积神经网络训练时分别使用sigmoid、tanh、relu与mish激活函数进行实验,对这四种激活函数下训练集误差值收敛曲线以及测试集精度曲线进行算法结果分析,实验结果表明,mish激活函数在手写体数据集上进行卷积神经网络训练时效果更佳,而同样得出不同的训练数据集、激活函数的选择会影响算法对数据的拟合度和神经网络的收敛性。

关键词:手写体数字识别;mish激活函数;卷积神经网络;mnist数据集

中图分类号:TP391.4;TP183  文献标识码:A 文章编号:2096-4706(2023)04-0095-03

Comparative Study of Activation Functions Based on Handwritten Digital Recognition

SONG Qian, LUO Fugui

(Academy of Big Data and Computer Science, Hechi University, Hechi  546300, China)

Abstract: For the training of Convolution Neural Network for handwritten data sets, sigmoid, tanh, relu and mish activation functions are used to conduct experiments, and the algorithm results are analyzed for the convergence curve of the error value of the training set and the accuracy curve of the test set under these four activation functions. The experimental results show that the mish activation function performs better in the training of Convolution Neural Network on handwritten data sets. It is also concluded that the selection of different training data sets and activation functions will affect the fitting degree of the algorithm to the data and the convergence of the neural network.

Keywords: handwritten digital recognition; mish activation function; Convolutional Neural Network; mnist dataset

0  引  言

近些年,随着深度学习的大火,特别是计算机视觉有了渐进式发展,我们正迈入了数字化时代。在该时代背景下,手寫体数字识别的研究仍十分重要。尽管当下手写体数字识别技术的研究正日趋完善,其识别优化准确率,还是相对有提升的空间。特别是在生活中数字与银行卡密码、账户、账号以及身份证号息息相关,故而手写数字识别准确率还是要求极高。此外于其他情景下的文字识别、图像识别也是有一定的借鉴意义。因此研究高识别率的手写数字识别算法仍然至关重要[1]。在识别手写体数字时,不仅识别算法的设计是决定性影响,激活函数的选择更是不可忽略的一环。深度学习算法有很多激活函数,其任意一个激活函数并非都是万能的,所以选择契合应用的激活函数尤为关键。

1  激活函数

卷积神经网络中的激活函数是输入信号与输出信号之间的连接转换器,其能够将各输入信号的总和转换为各输出信号的总和[2]。实际输入信号在计算时,仅通过线性函数是无法解决分类问题,生活中各类数据并非是线性可分的,因而要解决这类数据,无非就是引入非线性因素。为了充分发挥卷积神经网络叠加层的优势,解决线性模型的表达和分类能力不佳的问题,激活函数必然要用非线性函数。

激活函数将非线性模型引入神经网络,增强了神经网络的模拟和学习能力[3]。激活函数在训练复杂类型数据中起着非常重要的作用。常用的激活函数有sigmoid、tanh、relu、mish,四种激活函数的曲线图如图1所示。

1.1  sigmoid激活函数

在手写数字识别过程中,文献[4]采用sigmoid激活函数。sigmoid函数的表达式为:

(1)

函数值F(x)范围为(0,1),当x趋于负无限时,F(x)无限逼近0,当x趋于正无限时,F(x)无限逼近1。sigmoid函数是连续函数,故函数处处可导。但x趋向±∞时,F(x)变化却很小,梯度极易丢失,适用于二分类输出问题[4,5]。

1.2  tanh激活函数

双曲正切函数tanh与sigmoid函数极为相似。文献[6]正是采用此tanh激活函数,其表达式为:

(2)

从图1曲线可看出,tanh函数取值范围为[-1, 1],而sigmoid函数的取值非负,导致模型的收敛速度会显著变慢,与之相比,tanh是0均值,故可加快模型收敛速度,所以在实践中tanh函数会比sigmoid函数更常用[6]。

1.3  relu激活函数

relu激活函数是目前应用比较多的一个函数,它的公式为:

(3)

该公式可以拆分为:

(4)

从上图1曲线图可发现,relu激活函数更像是求最大值的分段函数。当x在小于或等于0范围内时,relu(x)值总是0,表示relu函数没有激活;当x值大于0时,函数值是x本身,这表明relu正式激活函数。曲线图中relu函数没有饱和区,因此激活函数可以克服梯度消失的问题,从而加快模型训练的时间。当输入值x为负时,relu函数不被激活,这意味着只有一些神经元同时被激活,使网络相对稀疏[7]。

1.4  mish激活函数

目前,激活函数sigmoid、relu被广泛应用于神经网络,但两者各有不足,sigmoid函数容易产生梯度下降消失现象;由于relu的负半轴为零,所以正半轴输入与输出相等,针对梯度下降的消散问题优于sigmoid,但权重值无法更新的现象会存在[7,8]。为了弥补前两者激活的不足,并且缓解改善梯度下降和消失的现象,本文使用mish激活函数可以有效提升模型识别精准度,其公式为:

(5)

mish它是一条光滑的曲线。光滑的激活函数允许更好的信息深入神经网络,从而获得更好的准确性和泛化;负值不被完全截断,允许小的负梯度流入[9,10]。此外,激活函数无边界的特点避免了饱和等问题,sigmoid激活函数通常存在梯度饱和问题,梯度在两侧极限接近1,mish激活函数巧妙地避免了这一点。另外,由于mish函数也保证了每个点的平滑性,因此它能提升训练模型的稳定性和准确性。

2  实验结果及分析

2.1  手写体数据集

本文使用的mnist数据集是广泛应用的手写体数据集。该数据集中由6万个训练集图像样本和1万个测试集真实数字样本两部分构成。第1列是标签,即0~9手写的阿拉伯数字的图像,第2列到第784列是第1列手写的阿拉伯数字的像素值[11]。

通过构建一个卷积神经网络模型用于对手写体数字进行分类,其网络结构包括两次卷积conv2d_1和conv2d_2。每个卷积包括卷积层、激活函数层和池化层;两次池化和三次全连接,通过mish激活函数和sotfmax函数结合,采用dropout防止过拟合,建立平坦层来优化结构。其各层网络结构如图2所示。

2.2  结果分析

实验采用的卷积神经网络结构的数据整理至表1中,首次卷积运算会输出16个28×28的数字图像,得到416个训练参数,然后经过首个池化层操作,首次缩减采样,由16个28×28缩小为16个14×14的图像,继续执行卷积操作,由16个图像变为36个图像,卷积运算不会改变图像大小,故而图像还是14×14的图像,继续经历池化层操作,且加入dropout避免过度拟合,每次训练迭代时,随机放弃25%的神经元,同时建立Flatten层,将36个7×7的图像展平为1维向量,执行2次激活函数的全连接层,中间继续加入dropout避免过度拟合[12]。

本文实验是将mnist数据集中的数据划为80%用以训练和20%用以测试验证,分别用acc表示训练集准确率,loss表示训练集损失率,val_acc表示测试集准确率,val_loss表示测试集损失率,实验中数据集训练周期epoch为50,每个训练周期使用300项样本数据,图3是mish激活函数在整个训练集上完成训练时的损失函数收敛曲线,可发现:mish激活函数在epoch训练前期,loss值急剧下降;整个训练过程不断迭代,loss值的下降速度逐渐平稳,在波动幅度不大的情形下近似趋于收敛。与此同时,在测试集上进行评估其准确率为99.45%,如图4所示。

图5是四种激活函数所得到的训练集误差曲线对比图,由图可知,mish激活函数误差率最小,下降后损失函数收敛曲线平稳,在epoch前期中,所有激活函数的损失曲线相差不大,但随着迭代次数增加训练集损失值最先下降且处于最低,由图可发现mish函数的误差值较小,训练的性能更稳定,在手写数字识别时采用mish激活函数相对精度更高。

从图6中图中可知,mish激活函数精度曲线处于最高,而sigmoid函数的精度曲线处于劣势,是四者中的精确率最低。结合图5中的训练集误差图像和mish公式,发现选择mish激活函数时,该算法对数据的适合度较好,预测的精度率更优。间接说明激活函数的选择尤为重要,选择好会增加整个算法的效能。

3  結  论

本文对四种不同的激活函数进行了分析,即选择sigmoid、tanh、relu、mish函数,mish激活函数对神经网络的训练和预测优于其他三种。而在手写体数字识别模型进行训练时,可知样本的真实值和预测值的差异,既与样本自身信息密不可分,还与采用的激活函数相关,应根据具体的应用环境选择合适的激活函数。

参考文献:

[1] 于文生,张轩雄.改进误差反向传播法神经网络对手写数字识别 [J].电子设计工程,2021,29(23):20-24.

[2] 高宇鹏,胡众义.基于Keras手写数字识别模型的改进 [J].计算技术与自动化,2021,40(2):164-169.

[3] 杨善敏.面向异质人脸识别的域不变特征学习方法研究 [D].成都:四川大学,2021.

[4] QIAO J,WANG G,LI W,et al. An adaptive deep Q-learning strategy for handwriteen digit recognition [J].Neural Networks the Official Jourrnal of the International Netural Network Society,2018,107:61-71.

[5] 宋晓茹,吴雪,高嵩,等.基于深度神经网络的手写数字识别模拟研究 [J].科学技术与工程,2019,19(5):193-196.

[6] 杨永翌.基于Keras框架MNIST数据集识别方法研究 [J].汽车实用技术,2019(23):101-103.

[7] 郭梦洁,杨梦卓,马京九.基于Keras框架MNIST数据集识别模型[J].现代信息科技,2019,3(14):18-23.

[8] 郭晓敏,黄新.改进YOLOv3算法在肺结节检测中的应用 [J].激光杂志,2022,43(5):207-213.

[9] 樊继慧,滕少华,金弘林.基于改进Sigmoid卷积神经网络的手写体数字识别 [J].计算机科学,2022,49(12):244-249.

[10] 董庆伟.基于Keras深度学习算法在结构化数据分类中的应用研究 [J].佳木斯大学学报:自然科学版,2022,40(4):47-49+54.

[11] 郝雅娴,孙艳蕊.基于手写体数字识别的损失函数对比研究 [J].电子技术与软件工程,2022(6):203-206.

[12] 储汇,宋陈,汪晨灿.基于Keras卷积神经网络的多人脸识别抗干扰研究 [J].洛阳理工学院学报:自然科学版,2022,32(1):62-67.

作者简介:宋倩(1995—),女,汉族,山东莱阳人,助教,硕士,研究方向:深度强化学习、图像识别;罗富贵(1984—),女,壮族,广西来宾人,副教授,硕士,研究方向:数字图像处理、模式识别。

收稿日期:2022-10-07

基金项目:2022年度广西中青年教师科研基础能力提升项目(2022KY0606);河池学院2021年科研启动项目(2021GCC013);2021年度广西中青年教师科研基础能力提升项目(2021KY0620,2021KY0615)

猜你喜欢

卷积神经网络
基于深度神经网络的微表情识别
卷积神经网络中减少训练样本时间方法研究
卷积神经网络语言模型研究
基于卷积神经网络的车辆检索方法研究
基于卷积神经网络温室智能大棚监控系统的研究
基于深度卷积神经网络的物体识别算法
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现
深度学习技术下的中文微博情感的分析与研究
基于卷积神经网络的树叶识别的算法的研究