APP下载

基于多目标神经网络架构搜索的COVID-19图像分类

2023-10-25张志鹏王孔源陈培培乔百豪

中原工学院学报 2023年4期
关键词:架构准确率神经网络

闫 李,张志鹏,王孔源,陈培培,杜 易,乔百豪

(中原工学院 电子信息学院,河南 郑州 450007)

2020年,由严重急性呼吸综合征2型冠状病毒(SARS-COV-2,又称为COVID-19)引起的非典型人传人肺炎疫情在全球范围内蔓延,COVID-19的流行在全球范围内造成了巨大的影响。两年多时间,病毒不断变异和进化,截止2022年底全球确诊病历达到6亿3千万例,死亡病例达到658万例[1]。

计算机断层扫描(Computed Tomography,CT)是一种实用性强、灵敏度高的医学成像方式,在早期被广泛应用于临床COVID-19肺炎的诊断,也包括对普通肺炎等肺部疾病的有效诊断,是一种重要的临床筛查工具。它可以通过对COVID-19肺部损害的特征模式(即磨玻璃样不透明和固结)的检测来判断是否感染COVID-19。虽然COVID-19的CT影像表现具有一定的特异性,但是也存在一些与其他肺部疾病相似的影像表现,这种相似的情况可能会导致误诊[2]。

近年来,卷积神经网络(Convolutional neural networks,CNN)在计算视觉任务中得到了广泛的应用和研究,在各种实际场景应用中都有所建树,特别在医学图像分类识别领域受到了研究者的广泛关注和研究[3-5]。Li等[3]以RestNet50作为主干网络来检测COVID-19 CT,准确率达到了95.18%。Zhang等[4]提出了由共享特征提取器、异常检测模块和置信度预测模块组成的基于置信度感知的异常检测(CAAD)模型,用于区分COVID-19、非病毒性肺炎和健康对照的这一类基于COVID-19 CT分类的异常检测问题。Owais等[5]提出了一个基于聚集的轻量级网络(DAL-Net)来有效地识别COVID-19 CT。DAL-Net具有低延迟和低内存消耗,在COVID-19-CT-Seg和MosMed两个数据集上都有较高的准确率。这些研究证明了深度卷积神经网络在COVID-19 CT诊断检测中的发展潜力。

然而,在针对特定的任务时,设计一个具有高性能的网络相对困难,通常需要丰富的专业知识,在面对新问题时通常难以获取。因此,神经网络架构搜索(Neural Architecture Search,NAS)技术作为一种能够在特定数据集中自动搜索出高性能网络架构的方法,已成为深度学习领域的一个热门研究领域。NAS在进行网络设计时,通过探索庞大的潜在架构空间来为给定任务寻找最佳神经网络架构,不需要大量的先验知识,同时能够避免高额的试错成本。近年来,Liu 等[6]提出了一种基于参数共享的高效NAS(Efficient Neural Architecture Search,ENAS)方法。通过ENAS将子网的可能架构聚合在一起,定义为一个超网,所有的子网可以共享一组权重。ENAS在CIFAR-10数据集上只需要0.45个GPU天就能搜索得到最佳架构,展现了其高效性。由于NAS的搜索空间通常是离散的,不能使用连续函数进行表示,大多数现有方法使用强化学习或进化算法来寻找最佳架构。因而,基于梯度的NAS将离散的搜索空间松弛为连续的搜索空间,然后使用梯度优化算法对参数架构和超网权值进行联合优化,其中最具代表性的模型是DARTS[7]。它将NAS问题建模为一个双级优化问题。通过使用梯度下降法,在训练集和验证集之间交替进行优化,来搜索最佳网络结构。DARTS的计算瓶颈在于在搭建超网时需要过大的GPU内存,因为整个超网需要在GPU内存中显式实例化和具体化。因此,DARTS的搜索空间受到GPU的限制,不能有过多的节点或者操作算子。

但是,基于梯度的NAS方法容易陷入局部最优,因为无论是局部最优解还是全局最优解,其梯度都为0,即操作的共适应问题。而进化计算是一种基于种群的无梯度优化算法,在神经网络架构搜索中被广泛使用。与传统的梯度下降方法不同,进化计算不需要连续性、导数存在和单峰等假设,就能够从离散的、多极值的、含噪声的高维问题中以很大的概率找到全局最优解。进化计算的基本思路是通过对个体的遗传变异、交配和选择等操作,优化种群的适应度值,从而不断进化出更加优异的候选个体。Genetic CNN[8]是使用进化算法优化CNN架构的早期研究之一。该算法使用基于固定长度的二进制编码方法表示神经网络中的算子节点之间的连接,使用以准确率为单目标的遗传算法在基于全局的搜索空间中搜索架构。但在实际应用场景部署神经网络时,常常会考虑多方面的因素,例如移动端设备对于网络模型的内存占用、参数大小、延迟等有一定的限制。面对这种问题,需要在搜索高性能的网络模型的同时,考虑优化模型参数[9-10]、推理时间[10-11]、浮点运算量(Floating Point Operations,FLOPs)[9-10,12]、CPU和GPU延时[9]等。

为解决COVID-19 CT图像分类问题,本文提出了一种基于多目标进化算法的神经网络架构搜索框架(Multi-objective Evolutionary based NAS,MOEvoNAS),以分类准确率、召回率以及网络复杂度为优化目标,设计出轻量化、高性能的CNN,用于COVID-19计算机断层扫描图像的分类和识别。首先,采用了One-shot NAS模型,减少了搜索时间的消耗,同时通过采用改进的操作算子减少了网络架构中的参数量和内存使用。此外,考虑到COVID-19 CT诊断的特殊性,在评估网络模型的性能指标时加入召回率,更全面地评价模型的性能,避免遗漏阳性的COVID-19病例而引发的不利影响。MOEvoNAS采用NSGA-II优化了分类准确率、召回率和架构参数量3个目标,在无需预处理的条件下,搜索得到低参数和高性能的网络架构。

1 多目标神经网络架构搜索

1.1 搜索空间设计

本文采用两种基于改进的MBConv卷积(MBConv_k3_t1,MBConv_k3_t3H)、两种类型的池化(平均池化和最大池化)、跳跃连接和空操作来构建搜索空间所需要的操作。改进的MBConv卷积操作,减少了网络中的参数数量,降低了网络的训练和推理时间,减少内存使用。MOEvoNAS采用的操作空间O如表1所示。同时,基于NASNet[13]所采用的搜索空间,本文提出了不在区分细胞的类型,采用残差连接将这两个不同的细胞堆叠来创建架构,如图1所示。

图1 网络架构连接示意图

表1 MOEvoNAS采用的操作空间O

细胞是由N个节点的有序序列组成的有向无环图(Directed acyclic graph,DAG)。每一个中间节点 都根据其前向节点计算,如公式(1):

(1)

其中:x(i)作为潜在的输入(例如卷积网络中的特征映射),op(·)代表某种应用在边i到j上的操作。操作空间O中有一组候选的操作(MBConv_k3_t1,MBConv_k3_t3H,最大池化,平均池化,跳跃连接,zero),其中每个操作op(·)都将应用在x(i)上,zero代表两个节点之间缺少连接。通过上述这种形式,将架构搜索的任务简化为学习一组连续的向量a(i,j)。为了使搜索空间连续,将特定操作的分类选择放宽为所有可能操作的softmax,公式(2)表示为:

(2)

图2 在超网中选择架构A的图示

(3)

1.2 基于多目标进化的搜索策略

为了创建一个贴合COVID-19 CT任务的EA算法,本文提出了以正确率、召回率、参数量作为3个目标值,个体的多样性作为约束的多目标进化算法。正确率(Accuracy)和召回率(Recall)可以通过公式(1-4)计算,这两个指标主要考虑的是模型在任务上的性能表现。由于COVID-19的CT在前期流行期间的图像样本较少,因此在实际应用中数据集大多是不平均的,单纯使用准确率评估方法对一个神经网络进行评估的缺点尤为显著。对于二分类问题,样本分为阳性(Positive)和阴性(Negative)这两个类别。根据预测结果制作混淆矩阵(confusion matrix),预测结果分为如下4种:阳性样本预测为阳(True Positive,TP)、阴性样本预测为阴(True Negative,TN)、阳性样本预测为阴(False Negative,FN)、阴性样本预测为阳(False Positive,FP)。在二分类模型中,正确率和召回率的定义如下:

(4)

当遇到预测结果为FN的成本代价很高,希望尽量避免遗漏任何阳性案例时,需要关注召回率。因此,在医疗诊断等实际应用中,召回率是一项重要的指标。本文考虑到COVID-19 CT的应用特殊性,在多目标进化算法的目标优化中,加入了重复率,来避免遗漏任何阳性的COVID-19病例带来的负面影响。考虑在移动端部署,本文同时引入了参数量这一优化目标,旨在搜索到低参数、高性能的网络架构。

1.3 MOEvoNAS总体框架

MOEvoNAS作为具有3个目标的多目标优化问题:①最大化架构准确率;②最大化架构召回率;③最小化架构的参数量。为了更好地平衡多目标之间的关系,使用NSGA-II作为搜索策略,其中适应度值需要在超网上评估得到。总体框架图如图3所示。MOEvoNAS首先初始化种群,具有随机权重的超网和空存档的档案。训练时,在训练集Dtrn上以训练批次大小循环将种群中每个单独的架构A拷贝到超网中。然后利用超网在验证集Dvld上计算种群中每个个体架构的Facc、Frecall。然后更新存档,将架构存入当前存档中。最后使用NSGA-II生成下一代种群。整个过程运行到终止条件G代。最终返回非支配解集,即可能的神经网络架构解决方案的集合。

图3 MOEvoNAS流程示意图

2 实验结果及分析

2.1 COVID-CT数据集

实验将采用3个COVID-CT数据集进行研究。第一个数据集是小型的COVID-CT数据集[14],其中包含来自216名COVID-19患者的349张CT图像以及3个生物医学CT扫描数据集的459张非COVID-19患者的CT图像。为了进一步验证所提出的MOEvoNAS算法的性能,我们还使用了包含17104个胸部CT切片的COVIDx1-CT[15]数据集,其中包括3种不同类型的胸部CT图像:非COVID-19感染引起的普通肺炎、新型冠状病毒肺炎和正常对照切片。

COVID-CT和COVIDx1-CT均使用K折交叉验证法划分数据集。COVID-CT数据集被划分为训练集(40%)、验证集(20%)和测试集(40%),COVIDx1-CT数据集被划分为训练集(80%)、验证集(10%)和测试集(10%)。本文还选取了COVIDx-CT 2A数据集[16],该数据集包含来自3 745名患者的194 922张CT图像,以进一步验证算法在大型新冠肺炎数据集上的性能,其中包括3种不同类型的胸部CT图像:SARS-CoV-2病毒感染的肺炎(NCP)、普通肺炎、正常对照切片。3种数据集的详细分布情况请参见表2。图4从COVID-CT、数据集中随机抽样了CT图像示例,其中可以看到COVID-CT存在低质量且有标注的数据。

图4 COVID-CT数据集图像示例

图5 MOEvoNAS-1和MOEvoNAS-2的细胞示例

表2 COVID -CT、COVIDx -CT、COVIDx-CT 2A数据集分布情况

2.2 超参数设置

所提出的MOEvoNAS算法是基于PyTorch实现的,实验都是在GTX 3080Ti GPU上进行的。基准网络及预训练权重均由Torchvision库提供。在MOEvoNAS算法中,细胞的每个输入节点x(j)将两个输入映射到一个输出。每个细胞由7个节点,前两个节点作为输入节点,最后一个节点作为输出节点,共有14条边。搜索空间中共有5个操作,因此每个架构由两个14×5的矩阵表示,每个矩阵代表两个不同的细胞。因此,架构a由大小为14×5×2=140的向量表示。与文献[17]的搜索空间相比,需要搜索的架构参数更少,优化的难度降低。

通常来说,训练超网所需要的GPU内存很大,很难在单GPU上完成搭载模型。由于MOEvoNAS在搜索空间已经限制了操作的类型,所以只需要构建一个迷你超网作为代理模型。迷你超网的初始通道数设置为12,层数为2,只有两个细胞进行堆叠,其他超参数设置均与训练阶段相同。即批次大小为12,权重衰减λ=3×10-4,初始学习率ηmax=0.025(学习率衰减策略均使用余弦退火),动量ρ=0.9。对于NSGA-II的实现,MOEvoNAS使用了二元锦标赛选择父本个体,交叉概率为0.7的模拟二进制交叉(η=15),变异概率为0.1的多项式变异(η=20)。关于实验中所涉及的超参数设置如表3所示。

表3 超参数设置

2.3 结果分析及讨论

为了验证所提出的MOEvoNAS算法的有效性,我们设计了在不同骨干网络为基准的随机初始化网络上的实验,并在ImageNet上进行预训练。基准网络包含VGG16[18]、ResNet-18[19]、ResNet-50[19]、DenseNet-121[20]、DenseNet-16[20]、Mobilenetv2[21]、EfficientNet-b0[22]、EfficientNet-b1[22]。为了公平评价MOEvoNAS和基准网络在COVID-CT数据集上的性能,均采用随机初始化权重,重新进行训练。表4中,RAND代表随机初始化训练的不同神经网络在COVID-CT上的性能表现。可以看出MOEvoNAS搜索得到的网络在正确率和召回率上在所有竞争对手中性能都达到了最优(Acc 84.94%,Recall 83.21%),同时参数量也在所有竞争对手中最低(0.18M)。这说明,如果没有专业的领域知识设计,通过在短时间内迁移其他任务中具有出色性能的模型来完美适配特定的目标任务是比较困难的。但是,通过MOEvoNAS可以在短时间内,无需任何预处理或者手动参数设置,自动找到适合当前复杂任务的网络架构。

表4 随机初始化网络(RAND.)和ImageNet预训练网络(PRET.)的性能比较

在深度学习中,很多训练的技巧可以提高分类的性能。对数据集的预处理,数据增强或者采用ImageNet的预训练模型等,可以有助于许多研究在各种分类基准上获得最先进的结果。于是,在随机初始化验证所有网络模型之后,我们进一步研究了在ImageNet数据集上预训练后在COVID-CT数据集的分类准确率和召回率。在某些情况下,预训练策略可以提高网络的性能,例如Resnet18在随机初始化中准确率为80.6%,通过预训练的迁移学习,Resnet18的准确率提高了2.68%。相比之下,预训练策略对于MOEvoNAS的影响很小,原因是MOEvoNAS已经为特定任务找到了一个很好的解决方案。层数减少的架构减少了结构的冗余,避免了大型网络的过拟合。在没有任何预处理操作的情况下,MOEvoNAS-1仍然具有最优的分类正确率。

为了进一步验证在COVID-19上的分类性能,将在更复杂的COVIDx-CT上进行搜索,并将以搜索得到的网络直接迁移到COVIDx-CT 2A,验证其可迁移性和泛化能力。在COVIDx-CT搜索时,超参数的设置与COVID-CT完全相同,搜索得到的网络架构在训练阶段同样保持和表4上的训练设置。由表5可以看出,在COVIDx-CT搜索得到神经网络模型MOEvoNAS-2在参数上远小于其他基准网络(0.24M),在正确率和召回率上也比MobileNetV2高(98.31%,97.21%),(97.60%,96.70%)。为了探索在大数据样本下的MOEvoNAS-2迁移性能以及对COVID-19 CT图像的检测有效性,使用COVIDx-CT 2A测试集对经过训练的网络进行了定量评估,如表6。可以看出,所有的基准网络架构都实现了较高的测试精度,并且在COVIDx-CT 2A训练集上训练的MobileNetV2和EfficientNet-B0架构获得了最佳的正确率(99%)。在体系架构和计算复杂度方面,MOEvoNAS-2的参数(0.24 M)和FLOPs(0.88 G)都是最少的,正确率达到了(98.3%)。相比之下,在资源有限的移动端部署平台,MOEvoNAS具有高效率和低参数的优点。

表5 随机初始化网络(RAND.)在COVIDx-CT性能比较

表6 MOEvoNAS-2迁移在COVIDx-CT 2A性能比较

3 结语

本文提出了一种基于多目标进化算法的神经网络架构搜索框架(MOEvoNAS),以分类准确率、召回率以及网络复杂度为优化目标,设计出轻量化、高性能的CNN,用于COVID-19计算机断层扫描图像的分类和识别。实验结果表明,相比于其他对比网络,所提出的MOEvoNAS在小型COVID-CT数据集以及更复杂的大型COVIDx-CT和COVIDx-CT 2A数据集上均表现出较好的性能。未来,在医疗图像分类领域,由于临床拍摄的角度、图像的扰动等因素的影响,图像数据往往存在一定的噪声或者非线性的变化,因此搜索高鲁邦性的神经网络架构有重要的意义。在面对数据分布不平均、马赛克等低质量数据集时,高鲁棒性网络也能保证较优的性能。

猜你喜欢

架构准确率神经网络
基于FPGA的RNN硬件加速架构
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
功能架构在电子电气架构开发中的应用和实践
神经网络抑制无线通信干扰探究
高速公路车牌识别标识站准确率验证法
LSN DCI EVPN VxLAN组网架构研究及实现
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用