APP下载

基于改进EfficientNetV2网络的脑肿瘤分类方法

2023-09-27贾兆年李秀华侯阿临

吉林大学学报(理学版) 2023年5期
关键词:注意力准确率卷积

崔 博, 贾兆年, 姬 鹏, 李秀华, 侯阿临

(长春工业大学 计算机科学与工程学院, 长春 130012)

医学成像技术是非侵入性的, 常用于检测肿瘤, 是目前用于癌症类型分类最常见和最可靠的技术[1]. 磁共振成像(magnetic resonance imaging, MRI)技术是医学成像技术的一种, 在脑肿瘤的分类中尤其适用于提供高分辨率的脑组织图像[2]. 脑肿瘤分为150种, 其中包括良性肿瘤和恶性肿瘤[3]. 脑肿瘤的早期诊断和准确分类对挽救病人生命至关重要, 脑部MRI图像可分为不同的肿瘤类型. 自动分类可以在放射科医生最少干预的情况下对脑肿瘤MRI图像进行分类[4].

卷积神经网络(convolutional neural networks, CNN)是深度学习的主要代表算法之一. Shelhamer等[5]提出了一种深度、 粗层和细层相结合的双路径CNN跳跃结构, 实现了对脑癌的精确分割. Cheng等[6]利用T1-MRI数据研究了脑肿瘤的三级分类问题, 该方法先利用图像膨胀扩大肿瘤区域, 然后将其划分为逐渐细小的环状子区域. Das等[7]使用包含3 064张T1加权对比增强MRI图像的卷积神经网络识别各种脑癌, 如胶质瘤、 脑膜瘤和脑垂体瘤. CNN模型通过基于可变大小的卷积滤波器/核调整卷积网络的大小, 获得了94%的准确率. Badža等[8]提出了一种新的CNN结构, 该结构基于对现有的预训练网络的改进, 使用T1加权对比增强磁共振图像对脑肿瘤进行分类, 该模型的准确率为96.56%, 其由两个10倍交叉验证技术组成, 使用增强图片. Mzoughi等[9]采用基于灰度归一化和自适应对比度增强的预处理方法, 提出了一种完全自动化的脑胶质瘤三维细胞神经网络模型, 用于脑胶质瘤的低级别和高级别分类.

深度学习中的CNN是目前较好的图像处理方法[10]. AlexNet[11],VGG[12]等CNN的发展证明了增加网络深度能在一定程度上提高网络性能. 但卷积核作为其中数量最多的参数, 对网络性能的影响较大[13]. 若只通过简单的网络层堆叠增加深度会导致网络出现梯度消失和过拟合的情况[14]. 为解决这类问题, 本文提出基于改进EfficientnetV2网络的方法, 实验结果表明, 与其他算法相比, 将其运用到脑肿瘤分类的任务中, 准确率更高.

1 模型架构

1.1 EfficientNetV2网络模型

EffcicentNetV2[15]是根据EfficientNet[16]的基本思想进行改进的网络. 该网络通过改变网络的深度、 宽度和输入图像分辨率的参数提高网络性能[16]. EfficientNetV2是一种采用神经结构搜索技术(neural architecture search, NAS)和复合模型扩张方法的分类识别网络, 它能选择最优的复合系数, 即按比例扩展网络的深度、 宽度和输入图像分辨率3个维度, 以找到最大识别特征精度所需的最优参数. EfficientNetV2通过自适应地平衡3个维度, 成功减少了模型训练的参数量和复杂度, 从而大幅度提高了模型性能. 与单一维度的缩放相比, 这种方法能获得更好的效果, 同时在训练速度上也有明显的提升. EffcicentNetV2网络主要由Fused-MBConv[17]和MBConv模块堆叠而成, 网络结构列于表1.

表1 EfficientNetV2网络结构Table 1 EfficientNetV2 network architecture

理论上, 随着硬件设备的优化和算法设计的改进, 普通卷积在某些条件下可能会比之前更有效. 为验证这两者对卷积计算速度的影响, 在浅层卷积使用Fused-MBConv, 在深层卷积使用深度可分离卷积MBConv.

为使网络运算速度更快, 该网络在浅层卷积中使用Fused-MBConv模块, 在深层卷积中使用深度可分离卷积MBConv模块, MBConv模块由2个1×1卷积、 1个3×3深度可分离卷积、 SE(squeeze-and-excitation)注意力模块组成, 如图1(A)所示; 由于深度可分离卷积用在浅层卷积中会拖慢运行速度, 因此Fused-MBConv模块是在MBConv中使用一个普通的3×3卷积结构替换1×1的升维卷积和3×3的深度卷积, 如图1(B)所示.

图1 模块结构Fig.1 Module structure

SE注意力模块由全局平均池化和两个全连接层组成. 该模块首先进行Squeeze操作, 将每个通道的特征压缩为全局特征, 然后通过Excitation操作将全局特征转化为权重系数, 从而实现模型对不同通道间特征的区分.

1.2 坐标注意力机制

坐标注意力(coordinate attention, CA)机制[18]是一种新型轻量级即插即用的注意力机制, 它可以很容易地插入到移动网络的经典模块中, 不仅可获取通道的输入特征信息, 还可获取方向和位置的特征信息, 有助于模型更准确地定位和识别感兴趣的对象, 重点关注重要信息的目标区域, 有效抑制背景信息给检测结果产生的影响, 缓解信息丢失问题[19]. 并且同时考虑水平和垂直方向的特征信息, 在可学习参数和计算代价相当的情况下, 坐标信息嵌入更有助于图像分类. CA结构如图2所示.

图2 CA机制模块Fig.2 CA mechanism module

2 本文算法设计

2.1 改进的网络结构

由于人的大脑组织结构复杂, 因此要想将脑部肿瘤精确分类, 就要精准地获取输入的脑肿瘤MRI图像的特征信息. EfficientNetV2网络模型中MBConv模块加入了SE注意力机制, SE注意力机制只考虑对通道间信息进行编码, 而忽略了位置信息的重要性, 导致注意力机制提取脑肿瘤的特征信息不全面, 从而使模型的分类精准度较低. 而CA注意力模块恰好可以更准确地获取输入的位置特征信息, 有助于网络更准确地定位感兴趣的对象, 同时使网络覆盖更大的区域. 坐标注意力模块可以自适应地选择输入脑肿瘤图像的感受野大小和位置, 使其能更好地适应不同尺度和形状的输入图像, 从而提高脑肿瘤分类模型的鲁棒性和泛化能力, 因此将SE注意力模块替换为CA注意力模块. 在替换时, 需要保持注意力模块的输入和输出维度不变, 以保证模型的正确性. 为使该网络计算速度更快, 对量化更友好, 进一步提高脑肿瘤分类的正确率, 本文将原网络中的SiLU激活函数换为Hard-Swish激活函数, 改进后的网络结构如图3所示.

图3 改进后的网络结构Fig.3 Improved network structure

该实验脑肿瘤MRI图像的样本数量较少, 网络中用Dropout层减少训练网络中部分神经元的活性, 以防止网络过拟合的发生, BN(batch normalization)[20]通过减少梯度对参数或其初始值尺度的依赖, 从而能使用更高的学习率, 极大加快了深层神经网络的训练速度.

2.2 激活函数

在原EfficientNetV2网络使用的SiLU激活函数是Swish激活函数的一个特例, 当β=1时, Swish激活函数称为SiLU激活函数. 该激活函数存在一些潜在的缺点: SiLU激活函数的导数对于较大的负输入可能会变得非常小, 可能导致反向传播期间梯度消失. 对于深度神经网络, 会导致训练变得困难; 虽然SiLU是一种灵活的激活函数, 但它表达能力有限, 可能会限制其在数据中表示复杂函数和模式的能力; SiLU激活函数缺乏可解释性, 与其他一些激活函数(如Sigmoid或双曲正切)不同, SiLU函数没有明确的概率解释, 可能会使解释模型的行为和输出的含义变得更困难. SiLU激活函数曲线如图4所示.

图4 SiLU激活函数曲线Fig.4 SiLU activation function curve

Hard-Swish激活函数[21]是Swish激活函数非线性改进版本, 其计算速度更快, 计算过程只涉及基本的数学运算, 如乘法和加法, 实现相对简单, 而SiLU涉及指数运算, 计算速度相对较慢. 并且Hard-Swish激活函数对量化更友好, 更适合深度卷积网络, 同时也可增加脑肿瘤分类的正确率. 因此本文将原网络中的SiLU激活函数换为Hard-Swish激活函数. Hard-Swish激活函数曲线如图5所示.

图5 Hard-Swish激活函数曲线Fig.5 Hard-Swish activation function curve

训练卷积网络时, 在梯度下降的过程中, 梯度消失是一个常见的问题. 相比于SiLU激活函数, Hard-Swish激活函数在输入接近于0时的梯度更大, 因此在这种情况下出现梯度消失问题的概率更小. Hard-Swish激活函数更复杂, 因此在训练深层神经网络时可以更好地捕捉特征, 从而提高训练效果.

Swish函数表达式为

Swish(x)=x×Sigmoid(βx),

(1)

其中β表示可调参数. Hard-Swish函数表达式为

(2)

3 实验与分析

3.1 数据集与预处理

本文使用的脑肿瘤图像数据集来自公开数据集figshare(www.figshare.com), 该数据集由233名患者的脑部MRI图像组成, 包括横断面、 冠状面和矢状面共3 064张图像, 其中脑膜瘤切片708张, 胶质瘤切片1 426张, 垂体瘤切片930张.

本文预处理首先将脑肿瘤图像数据集中的每张图像调整尺寸大小至512像素×512像素; 其次将MRI图像原始数据信息进行特征提取, 得到带有标签的样本集合; 最后将数据集按照80%和20%划分为训练集和验证集. 分类标签包括脑膜瘤、 胶质瘤、 垂体瘤3种类别标签.

3.2 参数设置与评价指标

3.2.1 实验环境

本文实验基于PyTorch深度学习框架, 使用Python 3.6语言实现, 搭建了基于改进EfficientNetV2网络的脑肿瘤图像三分类框架. 在Linux CentOS7环境下完成, CUDA版本为10.2. 硬件设备为: Intel(R) Xeon(R) CPU E5-2650 2.2 GHz CPU, NVIDIA TITAN XP×2显卡, 12 GB×2显存.

3.2.2 参数设置

在训练过程中, 本文实验使用随机梯度下降(SGDM)优化器优化所设计的模型, 网络模型训练过程中涉及的超参数设置列于表2.

表2 训练过程的超参数设置Table 2 Hyperparameter settings for training process

因为仅凭准确率评价指标并不能充分证明网络设计及参数调整的合理性, 因此, 为全面评价本文改进的EfficientNetV2网络的性能, 使用准确率和混淆矩阵作为评价指标. 混淆矩阵是一种用于总结分类算法性能的技术. 如果每个类别中的观察数不相等, 或者数据集中有两个以上类别, 则仅凭分类准确性可能会产生误导. 混淆矩阵提供真阳性(TP), 即预测为正、 事实为正; 真阴性(TN), 即预测为负、 事实为负; 假阳性(FP), 即预测为正、 事实为负; 假阴性(FN), 即预测为负、 事实为正的值.

在经过准确率和混淆矩阵进行网络模型评估后, 这些值可用于计算本文算法的准确率、 精确度、 召回率和F1-Score的数值[22-23]. 其中F1-Score是准确率和召回率的调和平均评估指标[24]. 本文用这5个评价指标作为实验结果的评判标准.

准确率表示所有预测正确的样本占总样本的百分数, 用公式表示为

(3)

精确度表示预测正确的正类样本占所有预测为正类样本的百分数, 用公式表示为

(4)

召回率表示预测正确的正类样本占所有事实正类样本情况的百分数. 召回率在医学图像分类问题中又被称为灵敏度, 灵敏度越高, 说明对病灶区域越敏感, 用公式表示为

(5)

F1-Score表示精确率和召回率的调和平均数, 综合考虑了精确率和召回率, 是一个综合评价指标, 通常被用作分类模型性能的重要指标之一[25], 用公式表示为

(6)

3.3 实验结果与分析

为证明本文基于改进的EfficientNetV2网络的MRI脑肿瘤图像分类算法的有效性, 实验选择引入坐标注意力机制的分类模型, 模型中还结合了Hard-Swish激活函数、 BN以及Dropout层. 同时选择了SE,CBAM(convolutional block attention module)和ECA(efficient channel attention)注意力模块进行对比实验, 观察模型算法并进行分析.

数据集上训练和验证过程的准确率和损失函数曲线如图6所示, 其中: 灰色曲线表示EfficientNetV2原模型中引入的SE注意力模块的训练曲线; 橙色、 绿色曲线分别表示将EfficientNetV2模型中的SE替换为CBAM和ECA; 紫色曲线为本文改进的引入CA注意力模块的训练曲线. 将改进的EfficientNetV2模型称CA-EfficientNetV2模型. 准确率的变化曲线能反应模型训练过程中对脑肿瘤的分类精度, 准确率的值越高表示模型的分类正确率越高. 损失值的变化曲线能反应模型训练过程中的优化结果, 损失值越小表示模型的鲁棒性越好, 当损失值趋于平稳时, 表示模型训练达到了局部最优值.

图6 训练和验证的准确率和损失函数曲线Fig.6 Accuracy and loss function curves for training and validation

由图6可见: 在训练过程中4种模型的训练效果均较稳定, 但CA-EfficientNetV2模型的精度明显高于其他3种模型, 达到了98.9%, 损失函数值明显低于其他3种模型, 达到了0.022; 在验证过程中, CA-EfficientNetV2模型的准确率有明显提升, 训练曲线平稳且收敛效果好, 达到了98.4%, 其他3种模型训练过程中的振荡较严重, 且准确率明显低于CA-EfficientNetV2模型; 在损失函数值上, 其他3种模型训练过程中的振荡极其严重, 而CA-EfficientNetV2模型的训练过程较稳定, 虽有轻微振荡, 但不影响实验结果, 并且损失函数值低于其他模型.

总体分析CA-EfficientNetV2模型的训练曲线, 由图6(A)和(B)可见, 模型在前100轮保持稳定的上升趋势, 在后100轮准确率保持稳定, 说明模型得到了拟合. 由图6(C)和(D)可见, 模型在前40轮下降速度较快, 在后面的轮数中下降趋于平缓, 最后保持稳定, 说明模型在训练过程中得到收敛. 因此可证明CA-EfficientNetV2模型对脑肿瘤有良好的分类效果.

为更清楚地表达CA-EfficientNetV2网络对每个类别的预测结果, 也为更准确、 更方便地计算评判模型的评价指标, 本文给出了脑肿瘤图像数据集在该模型下预测结果的混淆矩阵, 结果列于表3. 在混淆矩阵中, 从左上到右下的对角线表明每个类别正确预测的个数, 对角线上的数量越多, 说明模型对验证集数据的预测效果越好, 以此进一步评估模型的性能.

表3 预测结果的混淆矩阵Table 3 Confusion matrix for prediction results

由表3可见: 122例脑膜瘤中只有3例被错误预测为垂体瘤; 299例脑胶质瘤中有1例被错误预测为脑膜瘤, 4例被错误预测为垂体瘤; 192例垂体瘤中只有2例被错误预测为胶质瘤. 为更直观地表达本文网络模型的分类效果, 将脑膜瘤、 胶质瘤、 垂体瘤三类在Precision,Recall,Specificity,F1-Score评价指标上进行详细分析, 结果列于表4.

表4 本文网络模型的评价指标Table 4 Evaluation indexes of proposed network model %

经公式计算该模型在Precision,Recall,Specificity,F1-Score 4个评价指标上的均值达到98.3%,98.0%,99.1%,98.1%, 进一步证明了改进的网络模型在脑肿瘤分类中的稳定性和鲁棒性.

本文将CA-EfficientNetV2网络模型与其他文献中使用的相同数据集的分类方法进行对比, 对比结果列于表5. 由表5可见: 文献[6]使用传统机器学习的方法, 采用灰度直方图、 灰度共生矩阵(GLCM)和词袋模型(BOW)3种特征提取方法对脑肿瘤进行分类, 该方法最终的分类准确率为91.28%; 文献[26]采用GAN网络作为鉴别器, 用Softmax分类器代替最后一个全连接层, 最终对脑肿瘤的分类准确率为93.01%; 文献[27]采用多尺寸卷积核模块和多深度融合残差块相结合的方法, 最终得到的脑肿瘤分类准确率为93.51%; 本文方法得到的分类准确率达到98.4%. 实验结果表明, 本文方法对脑膜瘤、 脑胶质瘤和垂体瘤3种脑部肿瘤有良好的分类效果.

表5 不同方法的分类准确率对比Table 5 Comparison of classification accuracy of different methods

3.4 消融实验与分析

为更好地评估CA-EfficientNetV2网络模型的性能, 本文进行了消融实验. 实验将分别验证引入坐标注意力模块和Hard-Swish激活函数这两个改进方法对模型准确率和损失率的影响.

首先在原始数据集上进行测试, 虽然模型在复杂程度上有所增加, 但改进后的模型分类精确度有明显优势, 在不同模块部分的消融对比结果列于表6. 由表6可见: 仅将SiLU激活函数替换为Hard-Swish激活函数的实验表明, 虽然在模型性能方面有所提升, 但准确率提升并不明显; 当引入了坐标注意力模块后, 模型的准确率显著提高, 损失率也有所改善; 同时引入以上两个模块, 脑肿瘤图像分类的网络性能得到明显提升. 通过消融实验, 进一步证明了改进后的模型具有更好的分类性能.

表6 在不同模块部分的消融对比结果Table 6 Comparison of ablation results in different module sections

综上所述, 针对脑肿瘤磁共振图像分类问题中过拟合及分类准确率较低的问题, 本文提出了一种基于改进EfficientNetV2网络的脑肿瘤分类方法. 首先, 介绍了注意力机制的原理和模块, 同时介绍了改进的Hard-Swish激活函数; 其次, 介绍了基于改进EfficientNetV2网络的脑肿瘤分类方法, 将原网络中的SE注意力机制替换成CA注意力机制, 解决了因SE注意力机制在捕获特征信息不足时产生网络分类精度低的问题, 实验结果表明, CA注意力机制在EfficentNetV2网络模型中针对脑肿瘤分类的精度有很大提升; 再次, 本文改进了Hard-Swish激活函数并且融合了BN和Dropout层, 加快了网络计算速度, 避免发生过拟合问题, 使网络在稳定性更好的前提下增加了准确率, 因此改进后的模型相对于其他模型有较高的分类精度, 并且性能也优于其他模型, 分类准确率达到98.4%; 最后, 通过对比实验和消融实验验证了改进脑肿瘤分类模型的先进性和有效性, 该模型能有效提高医生的诊断效率.

猜你喜欢

注意力准确率卷积
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
从滤波器理解卷积
高速公路车牌识别标识站准确率验证法
基于傅里叶域卷积表示的目标跟踪算法
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things