技术领域
[0001] 本发明属于图像处理领域,具体涉及的是一种针对深度神经网络对抗样本的对抗噪声去除方法及系统。
相关背景技术
[0002] 对抗样本(Adversarial Examples)是一种广泛存在于各种深度神经网络中的典型缺陷。近年来,深度神经网络已经在多个机器学习领域取得了显著的效果,如自动驾驶、目标检测、目标分类、医学影像辅助诊断等等。深度神经网络取得发展的重要原因是神经网络具有强大的拟合能力,可以轻松拟合任意非线性函数。但2014年开始,人们发现一种特定的人为制造的图像样本,人眼几乎无法识别该样本与原始图像样本,但能让深度神经网络做出相差甚远甚至完全相反的预测。如在自动驾驶领域中,人们可以将一个“STOP”标识做像素级别的修改,使得人眼无法区分修改后的标识与原有“STOP”标识,但却会让自动驾驶模型中的识别分类部分将该标识判断为“Turn Left”甚至“Speed Up”,很可能造成严重的交通事故。此类容易使得深度神经网络做出错误预测的人造样本称为对抗样本(Adversarial Examples),产生此类样本的过程称为对抗攻击(Adversarial Attack)。由于对抗样本具有人眼难以分辨的特性,仅仅通过手动去除对抗样本难度较大,且面临高昂的人工成本,故提高神经网络模型针对对抗样本的鲁棒性具有广阔的发展前景和重要的实际意义,在学术研究中提高神经网络模型的鲁棒性技术称为对抗防御(Adversarial Defense)。
[0003] 目前,针对神经网络的对抗攻击方法多种多样,包括黑盒攻击、灰盒攻击和白盒攻击三种攻击类型。其中白盒攻击,攻击者可以获取模型的所有参数、梯度和输入输出等其他信息。类似地,灰盒攻击中攻击者仅能获得模型中部分参数,黑盒攻击中攻击者对模型参数完全未知,仅能有限次地访问模型,获得有限个输入与对应的输出。这些攻击方法多基于模型的梯度,故在对抗防御中模型的梯度也成为可利用的重要信息。
[0004] 目前针对神经网络分类模型的对抗防御主要可以分成三类:1)对抗训练2)基于生成模型去除对抗噪声3)模型融合。
[0005] 基于对抗训练的对抗防御方法是基于数据增强的思想,在利用干净图像样本训练模型的同时对模型进行对抗攻击产生对抗图像样本,使用的攻击方法可以不止一种,再利用这些对抗图像样本训练模型,相当于将对抗图像样本加入训练集中,该方法可以有效增强模型针对对抗图像样本的鲁棒性,缺点在于需要的计算成本高,速度较慢,且对于未加入训练集的对抗攻击方法产生的对抗图像样本依旧无法防御。
[0006] 基于生成模型去除对抗噪声方法重点在于利用生成模型对对抗图像样本进行重建,期望重建过程中能够去除对抗噪声。该方法使用的生成模型包括生成对抗网络,变分自编码器,普通编码器等等,往往在生成模型后接入分类器,有分开训练与联合训练等训练方法。其中联合训练方法中,分类器可以帮助生成模型部分学习分类的决策边界,确保生成模型重建后的样本可用于分类。比较有名的方法有2017年Meng等人提出的Magnet,2018年Samangouei等人提出的defense‑GAN等等。目前的基于生成模型的方法基本只利用分类器产生对抗样本,而攻击者无法获得有关防御机制的信息,如生成模型的结构、梯度等等,也称为“灰盒攻击”。
[0007] 基于模型融合的对抗防御目的在于同时训练多个分类模型,测试过程利用多种方式融合训练好的模型,如投票法、平均法、加权平均等等。攻击者在攻击过程中需要同时攻击成功多个分类模型才能达到理想的攻击效果。比较有名的方法有2020年Bian等人提出的self‑orthogonal randomization super‑network方法。这类方法在训练时需要同时训练多个模型,因此训练时间依然很长,计算复杂度很高。
具体实施方式
[0077] 下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
[0078] 本发明提供一个实施例,一种针对深度神经网络对抗样本的对抗噪声去除方法,包括:
[0079] 利用干净图像样本对条件变分自编码器与分类器进行端到端训练,获得训练后的条件变分自编码器与分类器;
[0080] 将待去噪的对抗图像输入至所述训练后的条件变分自编码器和分类器,获得所述对抗图像的去噪样本与类别。
[0081] 基于上述实施例进一步优化,提供一优选实施例,如图1所示,为一种针对深度神经网络对抗样本的对抗噪声去除方法的流程示意图,包括:
[0082] S1,干净图像训练模型;
[0083] S2,编码输入对抗图像样本至特征空间;
[0084] S3,潜在变量重采样;
[0085] S4,基于潜在变量重建输入;
[0086] S5,筛选去噪图像样本;
[0087] S6,分类器预测类别;
[0088] S7,得到去噪样本与类别。
[0089] 本实施例中将对抗图像样本编码至与干净图像样本距离不远的特征空间,在特征空间进行潜在变量进行采样,解码出去除对抗噪声的图像样本,能处理多种攻击方法下获取的对抗图像样本,快速、有效地清除对抗噪声。
[0090] 为了更好地训练模型,本发明提供另一个优选实施例。如图2所示,为本实施例的端到端训练条件变分自编码器和分类器的过程解释图。参照图2,S1,干净图像训练模型,其包括:
[0091] S101,将条件变分自编码器与分类器直接连接,即条件变分编码器的编解码输出作为分类器的输入。本实施例,条件变分自编码器在基础条件变分自编码器的标签输入端额外加入多层全连接层,提高标签的维度和标签在编码操作中所占的权重,加入多个BN层,避免编码过程中出现方差漂移现象进而影响泛化能力,在编码器输出的均值后加入BN层,改善编码器的编码效果。
[0092] 输入干净图像与对应标签配对,将干净图像进行编码:训练过程中,在条件变分自编码器的图像输入端和类别输入端分别输入干净图像和对应的类别标签:
[0093] μ,σ=Encoder(xclean,ytrue)
[0094] 其中,μ表示编码得到的潜在变量z的均值,σ为编码得到的潜在变量z的标准差,xclean为输入干净图像,ytrue为干净图像对应的类别标签,编码器对输入干净图像与对应标签对进行编码至特征空间,得到特征空间中潜在变量所服从分布的均值与标准差,用于下一步采样;
[0095] S102,特征空间采样得到潜在变量:
[0096] z=μ+ε·σ
[0097] ε~N(0,I)
[0098] 其中ε代表服从N(0,I)正态分布的随机超参数,通过重采样方法,得到服从正态分布N(μ,ε)的潜在变量z。在条件变分自编码器中,将输入图像降维、编码、重采样得到的变量称为潜在变量latent variable,本实施例中以字母z表示。该变量的作用为表征输入图像的特征,从该变量中解码并重建输入图像。
[0099] S103,解码器重建干净输入图像:
[0100] xrecon=Decoder(z,ytrue)
[0101] 其中xrecon表示解码器重建后的干净输入图像,解码过程同样是有监督的,需要额外输入分类标签ytrue;条件变分自编码器中,编码器部分和解码器部分都会同时输入图像和对应的类别标签,而编码操作和解码操作都会对两者进行同时操作,因此类别标签也会影响编码效果与解码效果,即,这一过程是有监督的。
[0102] S104,将重建图像输入分类器,得到依据重建样本预测的类别ypred:
[0103] ypred=Classifier(xrecon)
[0104] S105,将条件变分自编码器与分类器的损失函数组成联合损失函数,利用Adam优化算法端到端训练,本实施例中端到端指的是从条件变分自编码器的输入端到分类器的输出端。
[0105] L1=xclean logxrecon+(1‑xclean)log(1‑xrecon)
[0106] L2=μ2+σ2‑logσ2‑1
[0107] L3=ytrue logypred+(1‑ytrue)log(1‑ypred)
[0108]
[0109] L=L1+L2+L3+Lreg
[0110] 其中,模型的损失函数分为四部分:条件变分自编码器的损失L1与L2,分类器的分类损失L3,和控制条件变分自编码器参数大小的正则化损失Lreg。L1和L3采用交叉熵损失,L2采用KL散度损失,正则化损失函数Lreg则定义为编码器与解码器参数的二范数。
[0111] 训练完成后,模型(条件变分自编码器与分类器)可用于后续的对抗图像样本测试过程。
[0112] 为测试上述整体模型针对对抗图像的鲁棒性,本发明提供一个较优实施例。如图3所示,为本实施例的测试整体模型针对对抗图像的鲁棒性的过程解释图。图4为与图3对应的测试整体模型针对对抗图像的鲁棒性的算法伪代码。在本实施例中,通过结合上一个实施例中获得条件变分自编码器与分类器组成监督组合模型,将对抗图像样本编码至与干净图像样本距离不远的特征空间,在特征空间进行潜在变量进行采样,解码出去除对抗噪声的图像样本。
[0113] 具体的,本实施例中,所使用的图像样本来自于公开数据集MNIST,该数据集共10类图片,故本发明中类别个数C=10。如图5a和图5b分别表示本实施例中用到的典型干净图像。图6a和图6b分别表示本实施例中用到的典型对抗图像样本。
[0114] 具体的,S2,条件变分自编码器编码原图像,包括:
[0115] 由于测试过程中待去噪的输入对抗图像(图6a和图6b)缺失标签,故遍历所有类别标签,依次与输入对抗图像组成图像标签对,输入条件变分自编码器:
[0116] ui,σi=Encoder(xadver,yi)
[0117] 其中i=0,1,...,C,C=10为类别标签个数,共得到10个μi和σi;
[0118] 具体的,S3,基于特征空间采样潜在变量:
[0119] zi=μi+εi·σi
[0120] εi~N(0,I)
[0121] 其中ε代表服从N(0,I)正态分布的随机超参数,通过重采样方法,得到服从正态分布N(μ,ε)的潜在变量zi;
[0122] 具体的,S4,基于潜在变量多次重构原输入图像:
[0123] xtest,i=Decoder(zi,yi)
[0124] 其中xtest,i代表多次重构后的图像,共10个;
[0125] 具体的,S5,重构图像中筛选出清除对抗噪声的图像样本:
[0126]
[0127] 其中ymid代表去除对抗噪声的重建样本对应的类别标签,用xmid代表筛选得出的去除对抗噪声的重建样本。
[0128] 其中,为了能筛选出最接近原始输入的样本,以损失函数值为评估标准,选取最小损失函数值对应的重建样本作为最接近原始输入的样本,由于原深度神经网络是由干净样本训练的,因此可将选出的重建样本视为最接近原始输入的干净图像样本,即去除对抗噪声的图像样本。
[0129] 具体的,S6,分类器检测对抗噪声清除效果步骤:
[0130] ypred=Classifier(xmid)
[0131] 将重建的样本输入模型的分类器部分,如果这一部分能将重建样本正确分类,则说明重建后的样本已经不具备对抗效果了,这一过程称为对抗噪声是否清除的检测过程。
[0132] 在本实施例中,通过统计预测结果和真实标签相同的数量比来判断噪声清除效果的优劣。预测结果与真实标签相同,代表模型可以正确分类。相同的数量比大,说明对抗样本已不具备攻击效果了,即表示导致攻击效果的对抗噪声已被去除。在本实施例的MNIST数据集上,模型针对对抗样本的分类准确率达到90%以上即可说明模型具有很好的对抗噪声去除效果。
[0133] 在本领域中,有多个数据集用于衡量模型去除对抗噪声的效果,如MNIST,CIFAR10,CIFAR100等等。针对不同的数据集有不同的相同数量比阈值范围。
[0134] 如图7a和图7b为本实施例中去掉对抗噪声后的图像样本。由图可见对抗图像样本与干净图像样(图5a和图5b)本相差无几。
[0135] 具体的,S7得到原图像的真实语义标签,ypred代表去除对抗噪声的输入图像,由于前述步骤已将对抗噪声去除,分类器部分同样是用干净输入图像的重建图像训练完成,故该分类器可以保证获得重建图像的正确标签,即对输入样本中的攻击噪声保持鲁棒性。
[0136] 正确标签是公开数据集自带的,测试过程中会统计预测标签ypred与正确标签相同的数量,用相同数量这一指标来评价分类模型分类性能的优劣。
[0137] 表1中记录了本实例中的条件变分自编码器的结构。分类器结构可视具体应用情况而定,本实例中以常用的分类神经网络Resnet‑18为分类模型。
[0138] 表1条件变分自编码器结构
[0139]
[0140] 本实施例通过由于本实施例仅仅利用干净图像训练,因此训练好的模型只会将输入的图像投影到各个干净图像类别对应的特征空间中,理想状态下,从这些特征空间中解码出的重建图像也应符合干净图像服从的分布。故本模型可以在多种攻击方法的攻击下保持较高的鲁棒性。
[0141] 去除对抗图像样本中的噪声,可以提升模型针对对抗图像样本的鲁棒性,经过去除对抗噪声的图像样本特征明显,可以正确分类,同样提高了后续任务的可靠性与安全性,方便应用到自动驾驶、图像检测、人脸识别等多个安全等级较高的应用场景。
[0142] 基于上述实施例相同的构思,提供一个实施例,一种芯片系统,包括处理器,所述处理器与存储器的耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现上述的任一个实施例中的针对深度神经网络对抗样本的对抗噪声去除方法。
[0143] 以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。上述各优选特征在互不冲突的情况下,可以任意组合使用。