杨东海,许淑茹
随着医学影像设备的广泛应用,越来越多的医学图像成为医生诊断疾病的重要依据.据统计,生物医学图像在所有医疗数据中的比例达到90%,这些图像数据包含丰富的生物信息,是医生及相关领域科研工作者做出医学诊断的重要依据.但面对庞大的医学图像数据,由于医疗资源的分布不均,特别是影像医生人员配备不足也导致疾病诊断效率低、医学图像利用率不高.计算机视觉技术的高速发展,特别是深度学习和迁移学习的发展使得应用计算机辅助医学图像诊断[1]成为可能,也是当前众多学者研究的热点之一[2].
现实中医学图像数量大,且携带标签信息的医学图像有限,所以采用监督学习的方式训练一个新的网络并不是一个最优的方法.应用预训练的网络进行迁移学习可以有效弥补标签量的不足.但在迁移学习过程中网络的冗余程度会降低网络迁移效率.此外,在深度学习网络中各层之间具有一定的联系性,网络前一层的输出通常是后一层的输入,网络层和通道之间相互影响,独立地修剪每个通道,不考虑网络层间通道的相关性,在多个通道的聚合影响下会对网络性能输出产生较大的影响.为解决上述问题,提出了基于峰值信噪比法(Peak Signal to Noise Ratio,PSNR)对网络层内和层间的特征进行相似度度量的医学图像分类网络压缩方法.通过对医学图像进行预处理、特征相似度度量与排序,调整网络压缩系数,最后在公开的医学图像数据集上进行实验验证结果表明,所提方法仅小幅降低模型性能就能有效压缩网络.
近年来,众多学者把注意力集中在对深度学习网络的压缩上[3].2021年,高晗等[4]对深度学习网络模型压缩与加速进行了梳理总结,归纳出当前模型压缩与加速方法主要有参数剪枝、参数量化、参数共享、低秩分解、紧凑网络、知识蒸馏等.参数剪枝是指在预训练好的大型模型的基础上,设计对网络参数的评价准则,以此为根据删除冗余参数,这个方法最早在1990年就被学者提出.随着技术的发展,当前剪枝技术主要有权重剪枝、神经元剪枝、CNN情况下的通道剪枝和层剪枝.
DONG等[5]提出了通过逐层优化学习修剪深度神经网络,每一层都基于逐层损失函数独立剪枝,最后再通过训练恢复网络性能.LIN等[6]受到神经科学文献中相关概念的启发提出了突触剪枝方法,通过引入突触强度表示每个连接的重要性,该方法可以在不影响精度的前提下,对各种高压缩的卷积神经网络进行剪枝,并在CIFAR-10数据集上验证了算法的有效性.LEE等[7]提出了一种新的剪枝方法,即在训练前一次修剪给定的网络,算法引入了一个基于连接灵敏度的准则,据此识别网络结构上的重要连接,经过剪枝再按照标准的方式训练稀疏网络.YANG等[8]提出了网络自适应算法,算法能自动地、逐步地简化预先训练的网络,直到满足资源预算,同时最大限度地提高准确性,算法在ImageNet数据集上进行图像分类,实现了1.7倍的加速.HUANG等[9]提出了一个以端到端方式学习和修剪深度模型,算法中引入比例因子对特定结构的输出进行缩放,最后加入稀疏性正则化并进行网络优化.YU等[10]应用特征排序技术来衡量最终响应层中每个神经元的重要性,通过去除最不重要的神经元对CNN进行修剪,然后对其进行微调恢复其预测能力,算法在多个数据集上进行验证,结果证明了在精度损失可以忽略的情况下实现显著的加速和压缩.LIN等[11]通过研究高秩特征映射,并根据由单个通道生成的多个特征图的平均秩相同的特点,提出了新的通道剪枝方法剔除具有低秩特征映射的滤波器.在前人研究的基础上,针对修剪率在不同层之间的差异,RUAN等[12]提出了一种新的动态渐进滤波器剪枝方案,动态稀疏方案确定了不同层的稀疏分配比例,并提出了基于泰勒级数的信道灵敏度准则确定期望的剪枝参数.针对网络不同层的通道对模型推断有不同的敏感性,灵活的剪枝率设置可以进一步提高压缩模型的准确性,LI等[13]提出一种通过弹性速率滤波器剪枝压缩和加速神经网络模型的新方法,实现了模型在设备上实际加速.HE等[14]通过引入新的准则考虑滤波器的几何距离,从而提出了基于元属性的通道剪枝,并且自适应地选择最适合的标准进行修剪.上述学者都在其相关的领域取得了重要的研究成果.
2016年,IANDOLA等[15]提出了轻量型的SqueezeNet网络,该网络是一种轻量型的卷积神经网络,SqueezeNet网络中的Fire模块构成见图1.原始SqueezeNet网络共有68层,Fireconcat网络节点汇合层的通道数和Fire-SqueezeNet主干网络的卷积层可学习参数量见表1.原始SqueezeNet网络结构见图2.
表1 Fire-concat节点汇合层与Fire-SqueezeNet主干网络卷积层信息
图1 Fire模块结构
图2 SqueezeNet网络结构
其中:μ和σ2为每个像素周围的局部均值和方差,α(n1,n2)为具体的像素点,邻域大小由x、y确定.x×y局部邻域的像素用η表示.像素级滤波器f如式(3)所示:
自适应噪声滤波能够有效滤除图像的噪声,提高网络分类性能.对比度拉伸能够丰富图像的灰度信息,提取出图像的内在特征.拉伸过程如式(4)所示:
其中:f(x,y)为原始像素的灰度值,fmin为最小灰度值,fmax为最大灰度值,g(x,y)为拉伸后的灰度值.
特征相似度度量的方法采用峰值信噪比法(PSNR).PSNR是一种像素级的评价方法,通过计算不同特征图像像素点的差值实现对特征图像相似度度量.计算过程如式(5)和式(6)所示:
其中:MSE表示两幅对比特征图像的均方误差,H和W分别是特征图像的高度和宽度,n为像素的比特数,PSNR表示峰值信噪比,PSNR值越大,两张图像的相似度越高.
采用迁移网络的方法一方面能有效利用原有网络优势,另一方面在少量图像样本情况下能快速充分训练网络.针对多通道聚合影响导致网络压缩迁移后性能下降的问题,提出基于医学图像特征相似度度量的解决方法.一是,对医学图像进行图像噪声的滤除、对比度调整,采用峰值信噪比法度量预处理后图像与网络的各节点汇合层的相似度,确定迁移网络深度.二是,考虑层内与层间冗余特征,对同一层内特征和不同层间的特征进行特征相似度度量,并按照度量结果进行排序.三是,通过特征度量结果和期望压缩系数对特征相似度大的通道进行通道剪枝压缩网络.四是,使用医学图像数据进行分类,验证网络压缩效果.基于特征相似度度量的网络压缩系统如图3所示.
图9为电机运行在900 r/min时,突加和突减80%负载情况下,无延时补偿MPDTC、有延时补偿MPDTC和有延时补偿LSFMPDTC的定子磁链幅值|ψs|、转矩Te、转速n和电流isa.由图可以看出,有延时补偿MPDTC与LSFMPDTC的转矩脉动明显小于无延时补偿MPDTC的转矩脉动.3种控制方法的定子磁链幅值|ψs|在负载扰动时有微小的下降,而转速基本没有变化.
图3 基于特征相似度度量的网络压缩系统
基于特征相似度度量的医学图像分类网络压缩方法伪代码如下:
算法1
输入:原始图像数据矩阵H,压缩系数a.
输出:混淆矩阵F;
①对图像H预处理得到A;
②将A输入到预训练网络,计算输入A与各层相似度,确定网络深度d;
③计算网络中特征图像间的层内相似度和层间相似度;
④根据压缩系数a对网络进行剪枝压缩;
⑤重新训练网络得到权重矩阵W和偏置b;
⑥for epoch=1:k;
⑦计算样本分类损失;
⑧更新权重矩阵W′和偏置b′;
⑨end for;
⑩重复步骤4至步骤10,至不同压缩系数下的网络训练完毕,微调网络;
⑪得到混淆矩阵F和五个分类指标;
返回:混淆矩阵F,分类指标.
实验采用的数据集共包含5 856个小儿胸腔透视图样本,诊断结果分为正常和肺炎.其中用于训练的小儿肺炎图像样本3 883个,正常图像样本1 349个.用于测试的小儿肺炎图像样本390个,正常图像样本234个.胸腔图像选自1岁至5岁儿科患者的回顾性研究.为了提高数据集的权威性,首先对所有胸腔图像进行筛查,去除所有低质量或不可读的图像,从而保证图片质量,然后由两名专业医师对图像的诊断进行分级.最后为降低图像诊断错误,由第三位专家检查测试集.
为了验证算法的有效性,对数据集进行仿真实验.实验环境为Matlab R2021b,CPU为i9-10900K,GPU为NVIDIAGeForce RTX 3080 Ti,内存为64 GB,64位的Windows10操作系统.
模型评价指标采用准确率、精确率、敏感度、特异性、F1 score 5个指标.定义TP、TN、FP、FN分别是真正例、真负例、假正例、假负例.定义分类准确率Accuracy、精确率Precision、敏感度Sensitive、特异性Specificity和F1 score分别如式(7)至式(11)所示.
由原始图像与预处理后图像可见(图4),与原始图像对比预处理后图像噪声减少,同时图像对比度被拉伸,预处理后的图像纹理、边缘、轮廓特征信息更加丰富.
图4 原始图像(左)和预处理后图像(右)
图5 至图8为SqueezeNet网络中的Fireconcat层即网络的第11、18、26、33、41、48、55、62层,由图5至图8可见,随着网络深度的增加,Fire-concat节点汇合层的特征激活图显示的图像信息逐渐减少.因此,针对医学图像分类并不是网络深度越深,网络对图像的特征提取能力越强,合适的网络深度有利于网络的压缩与加速.
图5 网络第11层与第18层特征激活图
图6 网络第26层与第33层特征激活图
图7 网络第41层与第48层特征激活图
图8 网络第55层与第62层特征激活图
如表2所示,第41层网络节点汇合层较上一个网络节点汇合层第33层的PSNR度量结果下降幅度大,第41层网络节点汇合层与第33层网络节点汇合层对应网络深度分别为47层和39层.由表3不同深度对肺炎图像进行分类的结果可见,当网络深度达到39层时在五项评价指标中有四项达到最高,表明网络深度的增加不一定提高医学图像的分类性能,最终确定原始的SqueezeNet网络迁移后总深度为39层,即网络的前33层和最后6层.最后6层分别是原SqueezeNet网络中的Dropout层、Conv层、Relu层、Pool层、Prob层和Output层.
表2 预处理图像与Fire-concat网络节点汇合层的各个通道特征图的PSNR相似度结果
表3 不同深度对肺炎图像进行分类的结果
针对迁移后网络的Fire-SqueezeNet卷积层即网络的第5、12、20、27层进行层内特征相似度度量,结果如图9、图10所示.此外对网络第5、12、20、27层进行层间特征相似度度量,结果如图11、图12、图13所示.对同一层内和不同层间的特征度量结果进行排序,通过设置压缩系数对特征相似度大的通道进行通道剪枝压缩网络,由压缩后的各项分类评价指标可见(表4),随着网络压缩系数的增加,网络的分类性能逐渐降低,但降低幅度不大,因此采用PSNR方法对网络特征图进行特征相似度度量的方式可以作为通道剪枝的依据,验证了方法的有效性.
表4 不同压缩系数下对肺炎图像进行分类的结果
图9 网络第5层与第12层层内PSNR结果
图10 网络第20层与第27层层内PSNR结果
图11 网络第5层分别与第12层、20层间PSNR结果
图12 网络第5层与第27层及第12层与第20层层间PSNR结果
图13 网络第12层与第27层及第20层与第27层层间PSNR结果
为提高深度学习模型迁移应用到医学图像分类领域的性能,解决通道间相互独立剪枝情况下多个通道聚合影响导致网络输出性能下降的问题,采用峰值信噪比的方法对图像特征相似度度量,所提算法能够在有效评价网络同一层内和不同层间通道的重要性的同时,对网络所有通道的重要性进行整体性评价.实验结果表明,图像特征相似度度量能够在小幅降低模型性能的前提下有效对深度学习网络进行压缩.本实验所用数据集为单一医学肺炎图像数据,今后将进一步在其他类型医学图像数据集上进行验证.