APP下载

利用改进AlexNet卷积神经网络识别石墨①

2022-05-10徐小平余香佳刘广钧

计算机系统应用 2022年2期
关键词:石墨卷积神经网络

徐小平,余香佳,刘广钧,刘 龙

1(西安理工大学 理学院,西安 710054)

2(西安理工大学 自动化与信息工程学院,西安 710048)

随着科学技术的快速发展,非金属矿的各种矿种应用日新月异,其战略意义逐步提高.尤其是石墨被誉为“二十一世纪支撑高新技术发展的战略资源”,具有良好的耐高温性、导电性、化学稳定性和抗热震性等[1],不仅是新能源、新材料、航天航空等领域关键原材料,还是耐火材料、电极电刷、铅笔等传统工业领域的重要原料[2].在高科技产业发展中,石墨所占地位越来越重要,其独特的物理特性使其能够应用于国计民生的各个领域,具有十分重要的工业价值[3,4].

以卷积神经网络(convolution neural network,CNN)为代表的深度学习算法在大数据时代得到快速发展,在机器学习和计算机视觉等研究领域备受关注[5,6].CNN 作为一种深度前馈神经网络,在图像识别领域取得了不小的突破[7].相比于传统的分类方法,基于卷积网络的全自动分类方法脱离了人力识别的繁琐,同时利用反向传播算法自动优化模型参数,获得当前条件最优模型.深度学习的概念是Hinton 等人[8]于2006年提出的,它能更抽象、更深层次描述物体的属性和特征,并且设计出AlexNet 网络,从此掀起了一波深度学习的热潮.2016年,Ebrghimi 等人[9]提出了一种基于层次分析法和特征映射的图像视觉方法,利用图像识别辨别出16 种常见矿石;2017年,胡发焕[10]采用模糊支持向量机(NP-FSVM)对矿石图像进行初步识别;同年,伍云霞[11]将BP 神经网络与小波变换相结合,取得较高的识别率;2019年,吕红杰[12]使用AlexNet 卷积神经网络用于煤岩识别并取得较好的图像识别结果;2020年,王李管等人[13]使用改进的卷积神经网络应用于钨矿分类问题.

作为图像识别领域中的强大算法[6,7],目前鲜有研究者将CNN 应用到石墨的图像识别任务中.与GoogLeNet、ResNet 等更先进的模型相比,AlexNet 具有更简单的网络结构和更少的网络参数[7];相比于现有的轻量级网络深度深,训练难度不会很大,表征能力强,更方便做出不同的改进,可以节省大量模型训练时间,更不易过拟合[6].因此,本文给出利用AlexNet和深度学习的图像识别技术进行石墨与非石墨识别分选.针对石墨图像本身特征及数据集过小,通过对数据集进行图像预处理达到数据增强的目的,同时对激活函数、归一化层、卷积核、Dropout 层和优化器进行替换更新.仿真实验结果表明,与相关算法相比,本文所提方法复杂度低、参数量少,提高了网络的收敛速度,减低了损失率,有效地实现了石墨的图像识别目标.

1 传统AlexNet 网络模型

1.1 卷积神经网络

AlexNet 属于CNN的一种,而CNN 属于人工神经网络,已经广泛应用于图像识别等机器学习领域[6].由于它的网络结构采用了权值共享方式,更加类似于生物神经网络,其优点相对于一般神经网络,减少了网络的权值数量.CNN 最大的优势在于通过感受野和共享权重减少网络的参数,即参数减少和权值共享.该方法使得训练速度更快,而且训练需要的样本更少.CNN基本网络结构如图1所示,分为4 个部分:输入层(input),卷积层(convolution,Conv),全连接层(full connected layer,FC)和输出层(output).

卷积神经网络与其他神经网络模型最大的区别在于,卷积神经网络在神经网络的输入层前面连接了卷积层,这样卷积层就变成了卷积神经网络的数据输入层.卷积层是卷积神经网络中独特的网络结构,主要进行图像的特征提取;池化层针对特征图进行稀疏处理,减少数据的运算量;全连接层在整个卷积神经网络中起到“分类器”作用,它将在已学到的“内容”映射到样本标记空间(把前面提取到的特征综合起来).CNN的连接过程如图2所示.

图2中,fx表示数字滤波器;bx表示偏置;Cx表示卷积层的特征图;Wx+1表示下采样的权值;bx+1表示对应的权重;Sx+1表示下采样层.

1.2 AlexNet 卷积神经网络

AlexNet 是ISLVRC 2012 (ImageNet large scale visual recognition)竞赛的冠军网络,分类准确率提升到了80%以上,其网络结构如图3所示.

该网络包含8 层结构,其中5 层卷积层、3 层全连接层.在AlexNet 网络中还包含3 个池化层(Pooling),卷积层和池化层交替连接使用.

在AlexNet 网络中,5 层卷积层分别使用1 1×11、5×5、3×3、3×3、3×3的卷积核进行特征提取.Alex-Net 舍弃此前普遍使用的Sigmoid 或tanh 函数,采用ReLU 作为激活函数;由于经过ReLU 函数得到的值域没有区间,因此AlexNet 提出了局部响应归一化(local response normalization,LRN),对ReLU 得到的数据进行归一化处理,抑制小的神经元,提高模型的泛化能力.

2 改进的AlexNet 模型

2.1 数据增强

为了提高模型的泛化能力,使用大样本数据集进行训练是最好的办法.对于小样本数据集,在深度学习中可以采用数据增强的方法来解决数据不足的问题[14].这里利用PyTorch的图像预处理包Transform 对数据集中的图片进行如图4所示的预处理操作.

首先将测试集进行随机裁剪得到图像像素为224×224,并依概率(设置p=0.5)对图像进行水平翻转,最后对处理过的数据集进行归一化处理,达到数据增强的目的.

2.2 激活函数

在AlexNet 网络中,虽然将ReLU 函数作为激活函数有效克服了Sigmod和tanh 函数梯度消失、收敛速度慢等缺点,但是ReLU 在x>0的区域使用x进行线性激活,有可能造成激活后的值太大,影响模型的稳定性,这会使得网络的训练速度下降,甚至可能会降低网络的泛化性能.为抵消ReLU的线性增长部分,本文使用ReLU6 函数.

相比于ReLU 函数,模型中使用ReLU6 作为非线性层,在低精度计算时能压缩动态范围,算法更稳健.

2.3 批量归一化算法

原始AlexNet 中使用了LRN 对第一、二层进行归一化操作,以增强模型的泛化性能,但LRN 算法对模型的实际改善效果有限,同时极大增加模型的训练时间.文献[15]中提出批量归一化(batch normalize,BN)算法能够减小经过激活函数而导致的数据偏移,有效解决训练过程中数据分布不一致的问题.BN 算法通过计算小批次中的均值和方差达到特征归一化的目的.

给定一个尺寸为n的批量B={x1,x2,···,xm},在训练过程中,式(2)和(3)记录各个批量的均值和方差:

最后在实际的测试中求得整个数据集的均值与方差,进行归一化处理,即:

BN 算法的关键之处在于进行变换重构,引入可拉伸参数 γ与偏移参数 β进行如式(10)的修正处理.

2.4 卷积层

VGG (visual geometry group)网络是牛津大学计算机视觉组和Google DeepMind 研发的深度卷积神经网络.该网络结构使用 3×3大小的卷积核来扩大通道数,以提取更复杂和更具有表达力的特征,且具有扩展性强、泛化能力好等特点[16].因此本文借鉴VGG 网络的优点,将AlexNet 网络中的卷积核大小均修改为3×3,大大减少参量数目,提取更为具体的特征.

2.5 改进的AlexNet 模型结构

本文选用Adam 优化器,以0.000 2为初始学习率;选择交叉熵作为损失函数,避免均方误差带来的学习速率逐渐降低的问题.由于在AlexNet 网络的全连接层引入了大量的参数,因此在全连接层后加入Dropout,这种技术减少了神经元复杂的共同适应,使模型更有效的进行融合.改进后的AlexNet 网络模型如图5所示.

本文采用改进的AlexNet 网络模型完成数据集的自动分类任务.模型的总体框架如图6所示.

3 实验参数与数据集

3.1 实验环境及参数设置

本文在Python 语言的编译环境下,使用1.5.0 版本PyTorch 框架完成实验仿真,通过Transform 实现图像数据的预处理.实验环境为:Mac OS 10.14.6 版本操作系统,处理器为1.6 GHz Intel Core i5,未使用GPU加速,运行一次网络平均消耗9 000–10 000 s.设置权衰量为0.01,用于防止过拟合;迭代周期epoch为100,一个batch 大小设置为32;所有权重参数初始化为均值为0、标准差为0.01的高斯分布,同时将训练集图片在输入前随机打乱,减少图片顺序对模型的影响.

3.2 样本采集与扩充

本文图像样本采集自实验室现有石墨样品,将其清洗干净后进行干燥操作,利用iPhone 手机后置摄像头从不同方向及角度拍摄样本图像视频,随后对视频进行分帧处理,共得到166 张样本图像.同时在网络上收集非石墨矿石图像180 张,最终将图像分为石墨与非石墨两种类别,共346 张彩色图片.图7为石墨与非石墨的样本图像.

一般的,数据集越充足,模型训练的效果越好,其泛化能力得到增强.为解决训练样本不足的问题,本文对以上数据集进行了数据扩充,对收集到的图像分别做中心裁剪、样本旋转(180°、90°)、绕X 轴翻转以及均值模糊操作,最终得到1 857 张图像,按照比例随机选取数据集中955 张(80%)作为训练集对网络进行训练,902 张(20%)作为测试集验证网络的性能.将训练集与测试集分开处理.数据集分类情况如表1所示.

表1 石墨数据集

3.3 数据集预处理

为降低样本的不平衡性和解决数据集过小容易造成的过拟合现象,本文对数据集进行数据增强(data augmentation,DA)操作,提高网络分类准确率.在DA操作中,常见方法包括尺度变换、图像对比度调整、图像裁剪、仿射变换、水平或垂直翻转等,针对不同的数据集可选择不同的增强方法.基于矿石图像的特征,将训练集图片在输入前随机打乱,减少图片顺序对模型的影响;将训练集中的每张图片进行随机裁剪,统一图像像素为224×224,并依概率(设置p=0.5)对图像进行水平翻转,最后以0.5的均值与0.5的标准差分别对每个通道的数据正则化处理,达到数据扩充与数据增强的目的.

4 实验结果与分析

4.1 评价指标

本文以准确率(Accuracy,acc)和损失(Loss)这两个指标评估一个网络的训练效果.测试准确率是指模型在测试集上输出正确结果的比率,能反映一个网络的使用效果,是很重要的指标.其定义公式如式(6)所示:

其中,ncorrect表示测试集中网络识别正确的个数,n表示测试集样本个数.

神经网络的训练过程是最小化损失函数的过程,Loss 即为损失函数的值.实际上,损失函数计算的是模型在测试集上的均方误差(MSE,E):

4.2 实验结果

本文使用改进的AlexNet 模型与传统的AlexNet模型分别对数据集进行训练,图8展示了使用ReLU6函数与ReLU 函数的损失与准确率的变化曲线.通过实验仿真发现,使用ReLU6 函数可使得损失值由0.092 5降为0.077 2,达到相对较小.

针对归一化层,本文对比使用BN 算法与未使用BN 算法两种情况进行仿真,结果如图9所示.

图9结果表明,使用BN 算法有效降低模型测试的损失值,同时避免了模型陷入过拟合风险.为了进一步观察卷积层在使用BN 算法前后特征提取的情况,随机提取出数据集中的一张图片,如图10所示,分类为石墨.

依次打印出图10在Conv1,Conv2 与Conv3的前12 个通道的特征提取图,如图11所示.

由图11可知,传统的AlexNet 网络在第3 卷积层所提取的特征已经较为模糊,学习能力不是很好;相比使用BN 算法后的模型,特征提取能力增强,可保证网络进行快速、充分的学习.使用BN 算法前后的图像识别损失与准确率如表2所示.

表2 加入BN 算法的损失与准确率对比

除激活函数与归一化层的改进,本文还对卷积核大小做出修改,如图12所示.

图12展示了在以上改进的基础上,使用 3×3小卷积核的损失值与准确率对比情况.明显看出使用小卷核提高了模型的泛化能力,减低了模型在测试集上的损失值.

为了评估改进的AlexNet 网络对石墨分类数据集的识别性能,将传统的AlexNet 网络、文献[7]、文献[17]的AlexNet 网络作为对照组,提取出Conv2的情况,如图13所示.

通过图13可以看出,使用改进的AlexNet 网络在第2 卷积层中的特征情况较其他两种模型更为清晰,提取学习到更多的特征.最后得到模型损失与准确率的对比曲线如图14所示,进一步验证本文提出的改进AlexNet 网络的有效性.

通过对测试集的实验,将传统的AlexNet 网络、文献[7]、文献[17]的方法作为对照组,与本文方法的损失与准确率对比如表3所示.

表3 损失率与准确率对比

由表3可知,使用本文提出的改进的AlexNet 网络较其他两种情况效果更好,有效验证了本文所提出的网络模型的可行性与有效性.

5 结语

石墨数据收集难度较大,该领域研究的专业性较强,导致石墨的智能识别发展不易.本文使用改进的AlexNet 卷积网络实现石墨识别,此过程不需要人工提取石墨的图像特征,智能化程度较高,训练过程较为简单.通过对AlexNet的激活函数、归一化层和超参数的优化,提高了整体模型的鲁棒性,在不增加模型计算复杂度的同时避免了过拟合问题.实验结果表明,本文改进算法较传统AlexNet的分类平均准确率得到提高,损失值降低,模型具有较强的泛化性.将改进AlexNet模型应用于石墨图像识别,增加了选矿流程的自动化程度,减少了人工拣选的工作量.但本文使用数据集为小数据集且石墨样本为块状,增加石墨种类对数据集进行扩充,对市面上绝大部分的流动石墨进行识别是下一步的研究方向.

猜你喜欢

石墨卷积神经网络
石墨系升温球的实践与应用
基于3D-Winograd的快速卷积算法设计及FPGA实现
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
石墨烯的健康路
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
一种基于卷积神经网络的性别识别方法