轻量化VGG-T3模型及岩样分类应用
2023-05-11顾任远刘立群
顾任远,刘立群
(甘肃农业大学 信息科学技术学院,甘肃 兰州 730070)
0 引言
岩石样本识别是地质学和矿业开采等工程中的重要环节,传统人工分析方式存在着效率低、费用高等各类问题,因此需要机器代替人工作业以提升效率。随着深度学习的蓬勃发展,卷积神经网络已能够初步代替人类完成岩石样本分类工作。
卷积神经网络是机器视觉中的重要方法,继神经认知机[1]之后,LeNet[2]和AlexNet[3]的出现证明了其在图像分类任务中的巨大潜力,张顺等[4]、Simonyan 等[5]学者进一步肯定了其在机器视觉领域的价值。然而,训练深度神经网络模型颇具挑战性,存在诸如过拟合和网络退化等问题[6-8],这些问题可通过引入正规化方法如随机失活层[9]、批归一化层等[10]得到解决。由于Yosinki 等[11]证明了迁移特征的可行性,通过迁移学习降低了训练开销,随着反向传播[12]等深度学习技术的升级,卷积神经网络也能够处理诸如岩石样本分类等复杂图像分类任务。
根据刘建伟等[13]、孙志军等[14]所述,深度学习在机器视觉领域得到了广泛应用。如陈德钢等[15]使用改进的Xception 模型对野生菌种进行识别,实验结果良好;马俊等[16]通过训练迁移模型对网络芯片进行分类,对芯片焊盘和焊球的识别效果良好。
在岩石分类方面,陈钢花等[17]利用卷积神经网络进行岩性识别,模型表现优异,证明卷积神经网络在岩性识别任务中的适用性;程国建等[18]使用SqueezeNet 对5 类岩石图像进行分类工作,利用神经网络辅助岩样研究,但此模型参数量少,识别能力有限,难以进行复杂岩样的精确分类。
张野等[19]采用Inception-V3 模型和迁移学习方法对花岗岩、千枚岩和角砾岩进行分类,模型展现出神经网络优秀的鲁棒性,但此模型的层数较深,参数量较多,难以满足轻量化移动平台的使用需求;许振浩等[20]同样采用迁移训练实现对30 种岩石样本的分类,采用的模型原型为ResNet,分类准确率高,但此类模型参数量较大,训练困难,也不适合在轻量化移动平台上使用。
综上,岩石样本分类的模型参数量普遍较大,计算机资源占用多,无法在轻量化平台部署,训练难度大且速度有限。VGG 模型作为顺序结构模型,易于进行迁移训练。根据知识蒸馏的概念,数据集的知识有限[21],则模型超过一定规模后,规模不再影响性能。因此,为了实现岩石样本的分类任务,并满足轻量化平台的使用要求,需要对模型进行相应的削减和修改。针对以上问题,本文提出通过修改VGG16 模型实现的VGG-T3 模型,使其能够对岩石样本进行准确分类,同时满足轻量化平台的使用要求。
1 卷积神经网络概述
1.1 卷积神经网络
神经网络由具有层级结构的大量神经元构成,层层叠加以形成深层次的网络模型,模型通过学习损失进行优化拟合。其主要包括卷积层和池化层构成的特征抽取部分,以及全连接层构成的决策部分。
其中,卷积层神经元采用局部感受野、权值共享的方法削减了参数量,降低了计算开销,池化层则仅参与对特征进行的有损压缩,在保持一定特征的同时降低数据量,以提升模型效果,而全连接层保有的参数量最大,削减全连接层能够有效减少模型参数。
1.2 样本归一化
深层模型具有较强的特征抽取能力,但也会产生过拟合问题,合理加入随机失活层或批归一化层,能有效提升其泛化能力。传统的VGG 模型主要采用加入随机失活层的方法抑制过拟合,同时也通过图像变换扩充训练集的方法进行数据增强,有效避免大批次训练产生的Sharp Minima问题[22-24],保证模型的稳定性。
批归一化层则能够优化总体方差和均值,使得数据分布更加合理,有效抑制饱和区漂移和过拟合[25]。在对单个维度的批归一化操作中,计算样本均值μβ,同时获得方差:
1.3 学习模式
通过迁移学习[26],利用VGG16预训练模型具有的纹理和形态抓取能力提升训练效率。岩石分类任务需要修改模型以满足轻量化目标,因此采用冻结训练,保持迁移部分模型参数不变,优化修改部分初始参数,降低训练时的反向传播深度,随后进行正常训练以提升模型的识别能力。
为进一步提升训练效率,采用Softmax 函数[27]优化输出。Relu 作为激活函数,可降低计算复杂度,抑制饱和区漂移[28-29]。采用交叉熵作为损失函数以满足多分类任务,优化器采用Adam[30],相较于动量及自适应等优化方法[31],其训练更加稳定。
1.4 VGG模型迁移
VGG 模型可分为A、A-LRN、B、C、D、E 6 个配置方案,相较于其他配置,D 型配置参数量适中、适用性广,因此本文选用D 型配置进行迁移训练。
VGG16 使用卷积层、池化层组合进行图像特征提取,使用全连接层作为决策部分给出结果。连续的多个小型卷积核可等效于较大的卷积核,在提高网络深度的同时降低了模型训练难度[5]。VGG16 采用深层次卷积抽取更为抽象的高级特征,而岩石样本特征比较简单,宜使用较浅层的网络抽取。因此,削减卷积层、池化层组合,以更适应轻量化目标以及岩石分类任务,同时降低训练难度。VGG16 全连接层采用4 096 个神经元以实现千分类,对于类别较少的分类任务,可削减神经元数量以实现模型轻量化训练和部署。
2 网络模型构建
2.1 模型构建
由于原VGG 模型被应用于千分类任务,因此削减特征抽取部分,重构决策部分。采用批归一化层设计3 个模型,具体参数见表1。
VGG 模型直接迁移产生VGG-T1,替换千分类为七分类输出,作为典型迁移学习方案以供参考。VGG-T1 模型相对冗余,效率较低,计算资源开销大。岩石样本的形态结构特征较为简单,颜色特征和分布特征明显,知识量小,易于抽取,因此应降低网络深度,构建VGG-T2 模型和VGG-T3模型。
Table 1 Model structure and parameters表1 模型结构与参数
VGG-T2 在VGG-T1 模型基础上,删除Conv4.x、Maxpooling4、Conv5.x、Maxpooling5,倍增Maxpooling3 池化核及其步长,且模型决策部分的神经元减半。VGG-T2 模型层次较浅,易于训练。
然而,卷积层采用局部感受野和权值共享方式,参数量较全连接层少,削减卷积层对模型参数的影响不大。因此,若需进一步降低参数量,则应以全连接层参数的削减为先。VGG-T2 虽然降低了网络深度,但是参数量没有明显下降。因此,构建轻量化VGG-T3 模型,削减了Conv5.x、Maxpooling5,同时倍增Maxpooling4 池化核及其步长,模型决策部分神经元减半,得到VGG-T3 模型的参数量为 63 244 615,相较于VGG-T1 以及VGG-T2,模型参数量几乎减半。VGG-T3 相较于VGG-T2 更具有深度,VGG-T3模型结构如图1所示。
2.2 训练方法
模型学习率均采用阶梯下降式,采用交叉熵计算损失,利用Adam 进行优化,并将Batch Size 统一为32。首先对3 个模型各进行300 次迭代的冻结训练,学习率如表2所示,然后对最优模型进行100 次迭代的正常训练,如表3所示。
Fig.1 Structure of VGG-T3 model图1 VGG-T3模型结构
2.3 性能分析
VGG16 模型作为基础模型,以卷积操作作为图像抽取的主要方法,计算量主要来源于卷积运算,则可根据卷积运算的时间复杂度以及空间复杂度Space~O进行粗略估算。其中,对于输出的特征图M,K为卷积核,Cl-1为输入通道数,Cl则为输出通道数。考虑到卷积步长以及卷积核大小K对于输出特征图M的影响,由公式(5)进行计算。
Table 2 Learning rate of frozen training表2 冻结训练学习率
Table 3 Learning rate of normal training表3 正常训练学习率
其中,X为输入的特征图,Padding为进行边缘卷积时所添加的填充,Stride为卷积步长。
3 实验与分析
3.1 样本数据集处理
数据集含有高清岩石图片数据,岩石样本根据性质划分为7 类。为最大限度保存岩石样本的丰富信息,因此对图像进行切分,利用缩放、镜像、旋转、亮度调节等方法生成大量数据集,以进行图像增强学习,预防模型过拟合。
通过对图像进行处理,生成的图片样本数据如表4 所示。通过图像增强方法,可以使同一实体以不同状态出现在不同图片上,进一步增强了模型泛化能力。
Table 4 Data of rock samples表4 岩石样本数据
3.2 冻结训练及分析
冻结训练时的准确率变化如图2 所示,其中测试集准确率相近,达到100%,而在验证集中,模型表现略有差异。由图2 可见,VGG-T1 验证集的准确率在50 次迭代后达到相对稳定,接近70%,训练效果良好;VGG-T2 相较于VGG-T1 下降约5%,模型性能并不理想;VGG-T3 则相较于VGG-T1 略微下降,考虑其为轻量化模型,参数量远少于VGG-T1,因此表现优异。经分析发现,VGG-T2 削减的特征抽取部分较多,表现稍欠;VGG-T3 识别能力与VGGT1相近,且参数量少,适合当前任务。
3 种模型在训练集上的准确率均为100%,在验证集上的准确率则保持在70%左右,其原因非过拟合,而是卷积层没有进行训练,因而抽取特征的能力有限。VGG-T3 相较于VGG-T1 参数量少,识别能力强,为最优的训练模型,可作为岩石样本识别模型,通过进一步训练以增强其分类能力。
3.3 正常训练及分析
为进行快速训练,首次训练时采用冻结训练方法。由于卷积层抽取特征的能力有限,因此解冻VGG-T3 卷积、池化层组合,对VGG-T3 进一步作正常训练。训练效果如图3所示。
Fig.2 Accuracy rate change of models in frozen training图2 冻结训练时模型准确率变化
在经过冻结训练后,VGG-T3 模型具备较优的初始参数。在正常训练中,准确率逐步上升,最终的准确率为训练集达到100%,验证集达到97.81%。
实验结果证明,采用冻结训练对全连接层部分进行初值引导,通过少量计算资源获取了较好的全连接层初值,然后对模型解冻并进一步训练,以达到最终效果。其效率和稳定性均优于直接对模型进行训练,而且降低了计算资源开销。对整个模型,尤其是具有深度的模型直接进行训练,容易导致过拟合问题,对计算资源需求量大,单次训练更新参数多,训练缓慢。
Fig.3 Result of VGG-T3 model in normal training图3 VGG-T3正常训练效果
采用VGG-T3 对实际的岩石样本测试集进行测试,结果表现优异,准确率达到97.74%。测试集共包含图片700张,每种岩石样本各有100 张图片。其中,对黑色煤的分类准确率最高,对灰黑色泥岩、灰色细砂岩、深灰色泥岩的分类准确率略低。由于浅灰色细砂岩、灰色泥质粉砂岩以及深灰色粉砂质泥岩三者呈现的视觉特征相似,容易互相混淆,因此识别相对困难。
3.4 模型比较
采用AlexNet、VGG19 的典型迁移模型以及VGG-T3进行比较,所有模型均采用相同的训练方式,300 次迭代的冻结训练效果如图4所示。
Fig.4 Comparison of accuracy change graph in frozen training图4 冻结训练时准确率变化比较
VGG-T3、VGG19 在训练集上能较快达到100%的准确率,AlexNet 则较慢。然而,VGG19 在验证集上表现不佳,因其模型过大,训练困难且易产生过拟合,而VGG-T3模型表现平稳,训练效果良好。最后进行100 次迭代的正常训练,最终结果如表6所示。
Table 6 Comparison of AlexNet,VGG19 transfer model and VGGT3表6 AlexNet、VGG19迁移模型与VGG-T3比较
VGG19 模型较为臃肿,训练存在一定困难,容易陷入过拟合状态,且迭代时因其参数量大,准确率上升缓慢,因此在400 次迭代中未获得较好结果。若需得到较好结果,则需要继续训练。AlexNet 模型深度较浅,抽取特征的能力不足,分类能力有限,也没有得到较好结果。通过对比实验得出,VGG-T3模型在训练中表现优异,能够在较少次数的迭代中得到较好结果,且模型分类能力强。
4 结语
本文基于VGG16 模型提出轻量化VGG-T3 模型,该模型参数量少、识别效果好,训练过程中模型收敛稳定,最终在训练集上可达到100%的准确率,在验证集上达到97.81%的准确率,在实际测试集上达到97.74%的准确率,模型准确率较高。
七分类的样本知识量有限,因此可通过减少模型参数以提升其运行效率。通过实验观察得到,冻结训练可极大地减少计算资源的浪费。通过此方法,模型得以稳定训练、快速收敛,其训练出的轻量化VGG-T3 模型能够作为参考评价系统,并实际应用于岩石样本分类。
VGG-T3 模型较其余模型更能胜任岩石样本分类任务,但其模型参数量依旧偏多,可通过Teacher-Student 模型进一步压缩模型,在保持识别能力的同时减少参数,也可以采用残差结构的模型以提升模型训练的稳定性及分类能力。另外,通过深层次的网络模型配合全局平均池化也能构建轻量化模型,深层次网络模型的大量特征可避免全局平均池化大量压缩信息而带来的欠拟合问题。同时,采用全局平均池化替代全连接层,能极大地减少模型参数量。VGG-T3 模型可通过此类方法作修改,以进一步减少自身参数量,实现更加轻量化、更高效率的神经网络模型。