APP下载

基于生成对抗网络的医学诊断模型知识蒸馏对抗攻击方法

2022-07-19王小银吕硕孙家泽杨宜康

西安交通大学学报 2022年7期
关键词:医学影像成功率医学

王小银,吕硕,孙家泽,杨宜康

(1.西安邮电大学计算机学院,710121,西安;2.西安交通大学自动化科学与工程学院,710121,西安)

医学影像对于医疗工作人员判别患者病情的发展具有重要意义,当前临床诊断中主要依赖医疗工作者的技术能力及医疗经验。随着全球新冠疫情的大流行和当前疾病的复杂程度,通过人工对医学影像进行判断面临着巨大的压力和挑战。伴随着医学影像技术和人工智能(artificial intelligence,AI)技术的发展,越来越多的研究人员把深度学习技术应用在大规模医学影像诊断任务中,AI医学影像诊断模型已成为医学影像分析和病情研判的重要支撑工具。深度学习中用到的最主要技术是深度神经网络(deep neural network,DNN),医疗工作人员通过借助DNN诊断模型,可以增强对疾病的识别精度和提高工作效率。

尽管DNN具有很高的性能,但其在疾病诊断中的实际应用存在诸多安全威胁。在训练饱和的医学诊断模型中添加对抗样本进行对抗攻击后,将会使AI系统检测异常。利用深度学习进行诊断、决策或医疗保险赔偿的系统都可以被恶意操纵,进而导致医疗模型产生致命性的错误[1]。由此构建的AI医疗诊断模型会存在难以快速筛查病情、难以保障诊断精准度、模型安全性差等问题[2]。

研究人员已经提出了许多不同的方法来进行对抗攻击。攻击大致可以分为3类,基于梯度的迭代攻击、基于优化的迭代攻击和基于生成对抗网络(generative adversarial networks,GAN)的对抗攻击方法。基于梯度的迭代攻击按照深度学习模型的梯度变化最大的方向添加图像扰动。比如快速梯度符号法(fast gradient sign method,FGSM)[3]:通过在梯度上添加增量来使模型对样本做出错误分类。迭代梯度攻击法(project gradient descent,PGD)[4]:在FGSM算法基础上,在梯度迭代过程中进行多次迭代,控制扰动在规定的范围。基于优化的迭代攻击,主要思想是在迭代训练过程中将网络参数固定下来,把对抗样本当做唯一需要训练的参数,通过反向传递过程调整对抗样本。比如基于目标函数置信度攻击(Carlini&Wagner,C&W)[5]:使用约束范数进行优化对抗攻击过程。基于深度学习对抗扰动的攻击方法(Jacobian-based saliency map attack,JSMA)[6]:在对抗攻击时通过前向导数来调整干扰值进而生成对抗样本。GAN主要使用生成器和判别器结构对样本输出进行优化。比如生成对抗样本网络(AdvGAN)[7]:核心思想是将干净样本通过GAN的生成器映射成对抗扰动,然后加在对应的干净样本中,判别器负责判别输入的样本是否为对抗样本。马尔可夫判别器(Patch-GAN)[8]:判别器最后的输出不是一个标量值,而是一个N×N的二维矩阵,矩阵中的元素表示输入图像的局部区域,这样训练使模型更加关注图像细节。通道注意力对抗网络(SE-GAN)[9]:一种利用多通道模型及语义辅助GAN生成同一场景在不同视角下的图像,效果超过了大部分的模型。上述攻击算法大多数是针对测试过程或测试数据集的,且需要一直对模型的体系结构和参数进行白盒访问。大部分黑盒攻击方法都是基于对抗样本的可迁移性,成功率都不高。传统生成医学对抗样本时无法真实地表征图像中特征信息的全局关系,且医学图像的3通道的像素点比较多,所以如基于梯度的迭代攻击和快速梯度符号法进行简单的编码解码结构无法提取更深层次的特征。在生成医学图像对抗样本时判别器的判别指标不够全面,不适用于精度要求高的医学图像。

综上所述,所提对抗攻击方法采用GAN网络构建医学诊断模型的知识蒸馏对抗攻击方法,对抗网络采用生成器和判别器结构,实现更加有效的高黑盒攻击成功率。与最新的基于GAN的对抗攻击方法进行攻击效果比较,实验结果表明所提方法的生成网络能够在较短的迭代中找到最优解,生成结果更精准,图像细节特征更优。

1 医学模型的对抗攻击

1.1 生成对抗网络

生成对抗网络GAN是一种无监督学习算法框架[10],其算法思想受启发于二人零和博弈理论。GAN的网络结构主要由一个可以生成对抗样本的生成器G和一个可以判别对抗样本真实性的判别器D两部分组成,模型结构如图1所示。

结合医学图像的特殊性,使用GAN生成的对抗样本进行对抗攻击,可以很好解决黑盒对抗攻击时的对抗样本可迁移问题,并且提高了对抗攻击的收敛速度,对抗攻击的有效性也优于使用传统对抗攻击的方法,随着大规模医疗诊断模型的落地,GAN在AI医疗安全领域的使用会更加的广泛[11]。

1.2 知识蒸馏对抗攻击

模型蒸馏是模型压缩和加速的技术之一,Ba等[12]提出知识蒸馏(knowledge distillation,KD)的概念,该模型能够模拟原始模型的输出,且具有较好的性能。Hinton等[13]实现了模型蒸馏的流程,证实了蒸馏模型能够达到原始模型的泛化能力。Romero等[14]提出了知识蒸馏网络模型(Hints Thin Nets,FitNet)方法,该方法得到的蒸馏网络性能足以媲美原始网络且参数量和计算开支显著降低。

模型蒸馏技术可以通过对目标模型进行迁移学习,利用模型压缩技术复制目标模型的网络结构,从而对蒸馏模型进行利用和迁移[15]。在对抗攻击时使用模型蒸馏技术替代黑盒攻击方式,能够对无法攻击的未知网络模型实现高可靠攻击,并增加对攻击对象的迁移性与通用性,可以对未知的医学诊断模型进行参数学习和模型复制,进而对高精度医学诊断模型实现有效对抗攻击。

本文方法使用知识蒸馏模型对医学诊断模型进行对抗攻击,运用模型蒸馏技术获取诊断模型父模型的本地复制作为子模型,模拟父模型的输出和决策分布。蒸馏模型构造方式如图2所示。

图2 蒸馏模型构造方式

主要通过对子模型和父模型的输出结果计算交叉熵损失函数,最小化此函数。通过反向传播修改子模型的参数,使得子模型的输出逐渐逼近父模型,两个模型关键层的权值向量能够逐渐吻合,模型能够学习到模型的决策能力。使用对抗攻击方法针对子模型进行对抗训练,优化决策输出函数从而达到攻击效果最佳。将训练饱和的对抗攻击模型对父模型进行对抗攻击,根据输出判别对抗效果,能够提高对抗攻击的迁移性和通用性[16]。

2 医学模型生成式网络对抗攻击

本文提出基于GAN的医学诊断模型知识蒸馏对抗攻击方法AmdGAN(Adversarial Medical GAN),使用知识蒸馏模型对目标模型进行复制,构建生成对抗网络。残差神经网络(ResNet)架构作为对抗攻击的生成器模型[17],使用带有扩张卷积的残差块结构[18],引入通道注意力机制(SENet)对生成器进行修改,使用马尔可夫判别器[19]网络作为判别器。整体对抗攻击流程图如图3所示。

图3 对抗攻击流程图

2.1 知识蒸馏对抗攻击架构

构建基于GAN的医学诊断知识蒸馏对抗攻击模型,包括生成器G和判别器D,对抗攻击整体架构如图4所示。

图4 对抗攻击整体架构图

构造扰动生成器G,有目标攻击下输入目标类别,输出为该样本所对应的扰动,可对目标模型进行半白盒和黑盒攻击。生成器G通过在原始医学影像实例x叠加干扰噪声后生成对抗样本x+G(x),判别器D主要通过优化损失函数进而引导G的训练过程,并且通过最小化损失值从而保证对抗样本的真实性,同时在扰动系数的限制下尽可能减小噪声。攻击目标模型f,向f输入x+G(x),并输出损失,该损失在定向攻击时表示预测结果与目标结果间的距离,在非定向攻击时表示与真实类的距离,其中GAN的损失为

LGAN=ExlogD(x)+Exlog{1-D[x+G(x)]}

(1)

式中:Ex为生成器和判别器的期望值;判别器D的目的是将被扰动的数据x+G(x)与原始数据x进行区分,以确保生成的对抗样本与真实图像的数据接近。

使用知识蒸馏模进行对抗攻击,主要是使子模型拟合父模型的权值向量,较少地依赖对抗样本的转移性。使用模型蒸馏技术获取目标模型的本地复制,使用与白盒攻击相同的攻击方式对蒸馏模型进行攻击。根据医学诊断场景构建目标模型父模型b的蒸馏子模型f,对于模型b和模型f来说,要使得模型蒸馏过程中的目标函数最小化,即

(2)

式中:f(x)和b(x)分别代表同一张图像在蒸馏模型和黑盒模型的输出结果;H代表交叉熵损失。

通过最小化蒸馏过程目标函数,使得子模型f的输出结果逐渐逼近父模型b,两个模型的某些关键权值向量能够逐渐吻合,子模型能够学习到父模型的泛化能力。得到本地复制子模型f之后,可以使用白盒攻击的方式对模型进行攻击。相较于传统利用对抗样本转移性的黑盒攻击方式,蒸馏模型能够显著提高黑盒攻击方式下的攻击成功率。

使用白盒攻击方法对知识蒸馏后的目标模型f进行对抗攻击,以生成具有最佳对抗攻击效果的对抗样本,最小化其损失值Ladv可以使对抗样本在攻击过程中的结果更接近于期望值。Ladv的定义如下

Ladv=Exlf[x+G(x),t]

(3)

式中:lf表示目标模型f的损失函数;在有目标攻击中,t为攻击目标。

2.2 生成器网络结构

生成器采用SENet通道注意力机制,使用SENet通道注意力机制对各通道的依赖性进行建模以提高网络的适应能力。注意力机制包括3个部分:挤压、激励和注意。

2.2.1 挤压操作流程

将全局空间信息压缩到通道中,利用图像特征的局部接受域,使用全局平均池生成通道特征信息。各通道的全局空间特征作为该通道的公式为

(4)

式中:u为局部接受域的信道描述符;i和j表示通道位;z由u通过HW收敛而产生,这些局部描述符的统计信息可以表达整个图像的特征信息。

2.2.2 激励操作流程

对各通道的聚合信息及依赖关系进行捕获,计算各通道的关联程度,激励函数为

s=F(z,W)=σ[g(z,W)]=σ[W2δ(W1z)]

(5)

式中:δ指ReLU函数;W1、W2属于通道描述符。

2.2.3 注意操作流程

将体系结构中的残差模块更改为SENet注意力初始网络后,与构造好的ResNet残差网络进行结合,从而使网络能够提高其对信息特征的敏感性,通过挤压和激励重新校准滤波器响应。生成器SE注意力机制网络结构如图5所示。

图5 生成器SE注意力机制网络结构

通过SENet对通道间的依赖关系进行建模,可以自适应的调整各通道的特征响应值[20],将通道块添加到构造好的对抗攻击网络中,仅需要增加很小的计算消耗,就可以极大地提升网络性能。

2.2.4 扩张卷积网络结构

对生成器的特征通道块采用扩张卷积网络结构,每层的第一组输入进行降采样,卷积滤波器对偶数行和偶数列进行评估。每一层的卷积层记为g,其中每一层通过特征映射扩展到多个特征,每一层理想化的输出公式是

(6)

式中:p对应每一层的特征映射;gi表示组中的第i层;fi是对gi进行特征过滤;a是输入特征图;b是输出特征图。

通过对图像进行上采样操作来提高图像的分辨率,改变g4、g5卷积层的卷积算子为两个空洞卷积

(7)

原始的ResNet对输入图像每维下采样32倍,使用扩张卷积后对输入图像下采样8倍。感受野和原ResNet对应层一样,可以帮助目标模型对全局图像特征进行有效的识别,从而提高目标识别的准确率。

2.3 判别器网络架构

通过使用马尔可夫判别器增强对抗样本的图像纹理细节[21],对抗网络判别器的网络结构图如图6所示。将医学影像分割为P1,P2,…,Pn切片,使用判别器对每个切片进行差别化判定作为判别结果,将n个判别结果进行加权平均输出更为精确的全局判别结果。

图6 马尔可夫判别器的网络结构图

使用马尔可夫判别器修改原始GAN对抗网络的判别器,以单标量输出判别结果决定图像真实性。通过使用L1损耗,生成器不仅可以欺骗判别器,还可以减小L1与真实输入的距离,从而捕获图像纹理的局部连续性和图像中的普遍全局特征。对抗攻击损失的函数为

(8)

3 实验结果与评价

将本文方法AmdGAN与主流的基于GAN的对抗攻击方法在对医学影像诊断模型进行对抗攻击时的攻击效果进行比较,将AmdGAN与AdvGAN、Patch-GAN、SE-GAN方法进行比较,通过对抗攻击成功率、对抗网络整体评价指标来对该方法的攻击效果进行评价。

3.1 数据集

使用新冠肺炎数据集(COVID-19 Radiography Database,CD)[22]、糖尿病视网膜病变图像数据集(DRIMDB,DB)[23]、皮肤癌数据集(Dermatoscopic,DC)[24]、医学领域数据集(MedMNIST,MT)[25]分别构建医学诊断模型,这些数据集公开可用,并且在医学深度学习领域具有代表性。

3.2 构建医学诊断目标模型

构建面向医学影像诊断的残差神经网络目标模型,使用AmdGAN在数据集上根据病人的医学影像构建医学影像数据集,医学影像数据集的训练集和测试集划分比例为8∶2。

分别使用VGG-16、ResNet-50、ResNet-101、ResNet-152搭建迁移学习目标模型,构建残差单元,调节模型训练参数。在训练过程中选用Adam+SGD梯度下降策略,Adam用作快速下降算法,SGD用作调优。模型训练时均使用同样的数据增强方法,训练目标模型直至达到收敛状态后保存目标模型。医学影像目标模型诊断正确率结果如表1所示。

表1 医学影像目标模型诊断正确率

根据实验结果,ResNet-152在医学影像识别正确率和平均正确率较高,并且对于数据集的适应能力和识别稳定性高于VGG-16、ResNet-50和ResNet-101。在下一阶段选择ResNet-152目标模型和适应性较好的CD数据集进行对抗攻击。

3.3 医学模型对抗攻击

为验证知识蒸馏方法在黑盒对抗攻击场景下的效果,实验组使用知识蒸馏方法获取本地模型,对照组利用直接查询的方式对黑盒模型进行攻击。训练深度神经网络、卷积神经网络和一个对照的医学诊断目标模型网络,知识蒸馏黑盒对抗攻击方法采用前后的对抗攻击成功率如表2所示。使用知识蒸馏方法的对抗成功率比直接查询方式高38.1%。

表2 知识蒸馏对抗攻击对比

通过攻击目标模型,并进行对抗攻击测试,迭代次数Epoch设置为300,测试集数量为600张医学影像。通过控制数据集相同输入变量,将AmdGAN和单独使用GAN网络的AdvGAN、使用SENet作为生成器模型的SE-GAN、使用马尔可夫判别器作为判别器的Patch-GAN对抗攻击方法进行对抗攻击实验。图7为进行对抗攻击时的效果对比图。AmdGAN在对抗攻击实验中,对抗攻击的成功率为92.6%,而其他3种模型在72%~78%之间,对抗攻击成功率上优于其他主流的基于GAN的对抗攻击策略,对抗攻击效果显著。

图7 对抗攻击效果对比图

调整测试集从400张到2 000张数量之间分别对AmdGAN和另外3种攻击方法进行测试,表3为调整对抗攻击测试样本数量后的4种方法进行对抗后的诊断模型对抗攻击成功率。

表3 在9种不同规模数据集对诊断模型的对抗攻击成功率

AmdGAN在小样本和大样本数据集时对抗攻击成功率在92.6%左右波动,而其他3种对抗攻击方式的对抗攻击成功率在80%左右,且成功率依赖于样本数量。随着样本数量的增加,AmdGAN的对抗攻击成功率比较稳定,攻击模型收敛速度更快,在小样本和大样本时对抗攻击成功率都很高。

3.4 对抗攻击网络模型评价

在对抗攻击领域,对抗生成的图像缺乏良好的定量评估指标,GAN的评价指标要能够量化生成的样本和真实样本之间的差异性,并且可以评估生成的对抗样本图像的质量,保证生成样本的准确性和多样性。使用均方误差(mean square error,MSE)、最大平均差异(kernel maximum mean discrepancy,kernel MMD)、峰值信噪比(peak signal to noise ratio,PSNR)、结构相似性(structural similarity,SSIM)[26]来评估该方法对抗攻击的效果。

综合评价AmdGAN和其他3种方法的均方误差指数,图8为4种对抗方法的均方误差评价,由图可知该方法的均方误差较小,说明使用AmdGAN生成的对抗样本在对抗攻击时的攻击成功率更加可信,预测精确度也最高。

图8 4种对抗方法的均方误差评价

4种对抗方法的最大平均差异评价如图9所示。图像中的4种方法最大平均差异在4.1~4.7之间,AdvGAN和Patch-GAN的变化趋势相似,最大平均差异过高即说明GAN网络结构不佳。AmdGAN和SE-GAN的变化趋势相似并且最大平均差异差距很小,表明通过改变生成器的结构为SE通道注意力机制可以很好的提高GAN网络的性能,生成的对抗样本和原始图像的分布会更加接近,生成的图片的质量越好。

图9 4种对抗方法的最大平均差异评价

综合评价AmdGAN和其他3种方法的峰值信噪比指数,4种对抗方法的峰值信噪比评价如图10所示,其中SE-GAN和AmdGAN的峰值信噪比优于其他两种方法,说明通过修改生成器结构在图像保留真实度方面优于原始GAN网络和仅修改判别器结构的Patch-GAN,AmdGAN采用了扩张卷积和通道注意力,该方法的峰值信噪比收敛后在71 dB左右,优于其他3种方法,图像失真也最小,说明生成的对抗样本更加接近真实图像。

图10 4种对抗方法的峰值信噪比评价

4种对抗方法的结构相似性评价如图11所示,由图可知AmdGAN的结构相似性中位数较大、下四分位点和上四分位点也较大,其次是SE-GAN,然后是Patch-GAN,AdvGAN的中位数最小。由基础数据的核密度分布可知该方法生成的对抗样本与真实图像的纹理和全局内容相匹配,生成的对抗样本具有更清晰的细节,并且图像失真最小。

图11 4种对抗方法的结构相似性评价

3.5 实验结果

实验表明,对于一个训练完美的医学影像诊断模型,通过添加微小的扰动,训练蒸馏网络模型,再采用GAN就可以生成对抗样本来误导检测结果,从而轻易攻击成功医学诊断模型。采用本文方法AmdGAN进行医学诊断模型的对抗攻击的对抗攻击成功率优于使用AdvGAN、Patch-GAN、SE-GAN进行对抗攻击,在生成的对抗样本真实度上也优于其他3种方法。4种基于GAN的对抗攻击方式整体效果上AmdGAN最优,Patch-GAN和SE-GAN的效果次之,使用基础GAN网络结构的AdvGAN最差,说明通过修改判别器网络为Patch架构可以很好地增强对抗攻击效果,通过使用通道注意力机制和扩张卷积的残差块生成器结构在提升对抗攻击成功率的同时也可以让生成的对抗样本真实度显著增加。

其他基于GAN的对抗攻击不能有效的攻击的原因可能是没有关注到高分辨率医学图像的细节特征,传统的基于GAN的判别器不能够对医学影像捕获核心特征信息,并且在模型迭代训练时迭代下降的比较慢。本文方法主要是从上述方面对GAN进行优化和改进,从而达到了较优的对抗性能。

4 结论与展望

本文提出一个基于GAN的医学诊断模型对抗攻击方法,经过良好训练的生成器可以基于有限的数据集训练后用于特定的医疗对抗攻击场景,对白盒模型和半白盒模型对抗攻击的同时,也可以对无法访问的黑盒模型进行知识蒸馏模型攻击。当应用AmdGAN来验证医学模型的安全性问题时,无需了解诊断模型的网络架构,并且在不知道防御是否存在的情况下生成对抗样本时,所生成的对抗样本能够保持较高的感知质量,并且在攻击成功率方面优于同类对抗攻击方法。

通过使用AmdGAN对医学诊断模型进行攻击找到模型的脆弱性,可以指导模型针对性的防御。AmdGAN可以改善医疗诊断模型的识别结果,并且降低模型训练的成本,对于改善医疗诊断模型的安全问题以及促进医疗行业发展具有重要的指导意义。在下一步的研究中,医疗从业者以及机器学习研究人员应该共同致力于把对抗攻击算法融入到医疗诊断系统中,从而能够提高现阶段医疗诊断的安全性和防止医疗欺诈。

猜你喜欢

医学影像成功率医学
《中国医学影像杂志》稿约
成功率100%,一颗玻璃珠入水,瓶子终于坐不住了!
结合多层特征及空间信息蒸馏的医学影像分割
本刊可直接使用的医学缩略语(二)
成功率超70%!一张冬棚赚40万~50万元,罗氏沼虾今年将有多火?
院前急救心肺复苏成功率的影响因素研究
医学影像技术在医学影像诊断中的合理运用
优化急诊护理流程对提高急诊患者抢救成功率的影响
《安徽医学》稿约
医学的进步