APP下载

一种基于批量归一化的LeNet网络改进方法

2021-06-05陈亚军

四川文理学院学报 2021年2期
关键词:批量集上网络结构

沈 锐,陈亚军

(西华师范大学 计算机学院,四川 南充 637009)

0 引 言

图像分类是指根据图像信息中存在的不同特征,把不同类别的目标进行分类的图像处理方法.[1]卷积神经网络(Convolutional Neural Networks)作为深度学习的一个分支,近几年来发展迅速,受到了越来越多的关注,在大规模图像识别中,研究者们相继提出了AlexNet、[2]ZFNet、[3]ResNet[4]和SENet[5]等模型.与传统的KNN(k-NearestNeighbor)、SVM(Support Vector Machine)和ANN(Artificial Neural Network)模型相比,CNN更善于挖掘数据中深层的、抽象的特征.[6]张婷等[7]参考DeepId思想,提出了跨连卷积神经网络,在性别的分类中表现不错;李勇等[8]使用跨连将池化层的输出与全连接层融合,在表情识别中的效果比传统神经网络好;刘金利等[1]将跨连思想和InceptionV1模块相结合,对多类别的图像识别中效果好于传统LeNet网络,但没有考虑增加网络结构,并将多层特征连接,这样会使得网络结构复杂,增加训练时间,降低网络学习效率.本文针对以上缺点提出LeNet网络改进方法,使用批量归一化、Dropout、全局平均池化等方法简化可训练参数,优化网络结构,在缩短训练时间的同时,保证训练精度稳定提升.

1 LeNet网络结构及相关算法

1.1 LeNet网络结构

LeNet是由Yann LeCun提出的第一个成功应用于手写数字识别的神经网络.但由于受芯片计算能力和数据量的制约,卷积神经网络的运行效率并不如传统方法,因此在当时并未在各个领域流行开来,只用于财务统计、支票收据、财务报表等金融领域的字体识别.直到2012年,在LeNet的基础上改进的Alexnet卷积神经网络的出现,使得卷积神经网络越来越受到各界关注.

LeNet-5一共有7层(不包括输入层),3层卷积,2层下采样层(池化层),1个全连接层和1个输出层.虽然结构简单,但已包含了现今流行的卷积神经网络模型的基本结构.图1是LeNet-5的网络结构.

图1 LeNet结构

LeNet对输入图像进行两次卷积和池化操作后,最后通过输出层的激活函数,输出预测该数字为0~9的概率值,概率最大的值即为预测值.

1.2 相关算法及其基本原理

1.2.1 卷积层

卷积层的作用是提取图像特征,与其他图像识别算法相比,卷积神经网络中的卷积层引入了感受野,权值共享[11]和局部连接等概念,有效减少了训练中的计算量.卷积层的计算公式如下:

(1)

该式中表示M个子矩阵卷积后对应位置相加.其中,l代表所在网络层数,星号表示卷积运算,W是权重参数,b代表偏置值,σ代表激活函数.

1.2.2 池化层

al=down(al-1)

(2)

式中xlj表示池化后的特征图大小,down(·)表示池化操作.

1.2.3 批量归一化(Batch Normalization)

在神经网络的训练过程中各层输入的分布会随着前一层参数的变化而变化,使得神经网络的训练变得复杂.这需要调整初始参数来降低训练速,批量归一化的优势在于将标准化作为模型体系结构的一部分,并对每个训练小批进行标准化.通过求出每个批次的数据均值和方差,再用求得的均值和方差对数据进行归一化处理,即将均值和方差归一化到有效范围之间,让每一层的值在有效的范围能传递到下一层,BN算法如下:

输入:批处理(mini-batch)输入x:B={x1,…,m}

输出:规范化后的网络响应

{yi=BNγ,β(xi)}

5:返回学习的参数γ和β

Batch Normalization在神经网络的训练中可有效防止梯度爆炸和消失,加快网络收敛速度,提升模型的准确率.

1.2.4 Dropout

Dropout可以使神经网络在前向传播的时候,让某个神经元的激活函数值以一定概率停止向前传播,即在每个训练批次中,通过使指定数量的隐藏节点值为0,增强模型泛化性更强,使其不会太过依赖某些局部特征,可以有效地减少过拟合现象.Dropout一般设置为0.5.

1.2.5 全局平均池化(Global Average Pooling)

全连接层是卷积神经网络中常用的网络层,但是全连接层使得网络的参数量过多,容易导致网络训练速度慢和过拟合等问题.全局平均池化将池化层和全连接层的运行过程结合在一起,使用一个和特征图一样大小的卷积核,对上一层的每个特征图进行卷积,得到每层特征图的均值,再与输出节点进行全连接.与全连接相比,可以在不降低分类精度的情况下,大大减少计算量.

1.2.6 激活函数

ReLu(The Rectified Linear Unit)是卷积神经网络中常用的激活函数,它的优点是收敛速度快,求解梯度简单.ReLu激活函数公式如下所示:

图3 Relu激活函数

2 批量归一化的LeNet网络改进方法

在深度学习中,数据集类别和样本数量过多会导致神经网络训练速度慢,不易收敛等问题,加深网络层数可以提取更为复杂的特征,但是加深网络层数不一定会升网络学习效果, 随着层数的增加,分类准确率可能会下降,这种现象便是梯度消失.同时,加深网络层数也会增加训练参数,使得训练速度下降,并且容易产生过拟合,即在训练集上表现效果好,而在测试集上效果不佳,网络的泛化性能差.

因此本文提出了一种LeNet网络改进方法,仅在卷积层C1和C3之后加入BatchNormalization进行批量归一化,每层卷积使用ReLu激活函数,对上一层输出作非线性映射,再进行Dropout随机休眠神经元,并使用全局池化层替代全连接层F6,通过以上方法减少运算参数,缓解梯度消失和过拟合问题,提升运行效率.图2是基于批量归一化的LeNet网络改进结构图.

图2 GAP示意图

图4 基于批量归一化的LeNet网络改进结构图

3 实验

3.1 实验环境

3.2 数据集

本文分别采用了MNIST,Fashion_MNIST和BelgiumTSC数据集进行实验.MNIST手写字体数据集和Fashion_MNIST服饰数据集是分别由十个类别组成的28×28大小的单通道图片,其中60000张训练集,10000张测试集. BelgiumTSC是比利时交通标志数据集,由62类尺寸不一的彩色图片组成,为了方便传入网络进行训练,对图片的尺寸统一调整为28×28.图6,、7、8以及表1是相关的数据集样本图例和数据集描述.

表1 实验环境配置

图5 MNIST数据集

图6 Fashion _MNIST数据集

图7 BelgiumTSC数据集

表2 实验数据集描述

图8 在MNIST上的准确率收敛图

3.3 实验结果及分析

为了验证本文提出的LeNet网络改进方法的效果,分别在MNIST、Fashion_MNIST和BelgiumTSC三个不同数据集上进行了试验,并与传统LeNet网络以及文献、[9]文献[10]的LeNet改进网络进行对比.实验结果如图9~图11所示.

图9 在Fashion_MNIST上的准确率收敛图

图10 在BelgiumTSC上的准确率收敛图

本文提出的LeNet网络改进方法的实验结果表明,该改进方法的准确率收敛速度快,可以更有效的提取图像特征,提升训练效率.从实验图中可以看到,本文网络结构在二值图(MNIST数据集),灰度图(Fashion_MNIST数据集)以及彩色图(BelgiumTSC数据集)中的识别精度均达到90%左右,优于其余三种方法;同时其在三个数据集上训练的准确率起点大于其余三种网络结构,并且训练曲线稳定提升,说明本网络结构可以有效提取不同类型的数据集特征,并缓解过拟合和梯度下降等问题,具有更好的泛化性、鲁棒性.在BelgiumTSC数据集上的试验结果表明,在复杂的彩色图像和多类别图像的识别中,本文网络结构的训练曲线仍能稳定收敛,虽然学习效率没有在前两个数据集中的实验效果好,但本文网络结构相比于其他三种网络仍然能够稳定提升,达到有效的识别率.

结 论

本文中对LeNet网络结构进行了分析,并在此网络基础上进行了改进,通过在多个数据集上的实验表明,本网络结构相比于传统LeNet网络,准确率提升速度更快,可以更有效的提取不同类型图像特征,鲁棒性更好.但在实际应用中,由于样本存在数量有限,质量参差不齐,且不同样本数量比例不均衡等问题,网络的训练效果难以达到理想效果,下一步将针对此问题进行研究,进一步提高模型的泛化性.

猜你喜欢

批量集上网络结构
GCD封闭集上的幂矩阵行列式间的整除性
批量提交在配置分发中的应用
采用经济数控车床批量车削孔类工件的再实践
R语言在统计学教学中的运用
基于时效网络的空间信息网络结构脆弱性分析方法研究
基于互信息的贝叶斯网络结构学习
复杂网络结构比对算法研究进展
师如明灯,清凉温润
高速公路高清视频监控系统网络结构设计
在数控车床上批量钻铰孔类工件的实践