技术领域
[0001] 本发明涉及深度神经网络对抗攻击防御的技术领域,尤其是基于对抗网络的深度神经网络对抗攻击防御的方法和系统。
相关背景技术
[0002] 对抗攻击(Adversarial Attack)指通过对输入样本附加上一些细微扰动导致对原样本判断准确的模型给出错误判断,添加的扰动称为对抗扰动(Adversarial Perturbation),添加扰动后得到的样本称之为对抗样本(Adversarial Example)。对抗攻击可按攻击方式分为白盒攻击、黑盒攻击、定向攻击与非定向攻击。由于对抗样本往往人眼难以察觉到区别,但对于深度神经网络而言却能够给出完全不同的结果,这使得深度神经网络的可信度受到极大挑战。
[0003] 对抗攻击防御的方式主要可分为数据修正、模型修正与引入辅助工具三种。数据修正指在训练过程中通过数据增强、数据压缩等多种方式,提升网络模型的鲁棒性。模型修正指通过对模型进行正则化、模型蒸馏等方式使模型提升抵抗对抗攻击的能力。引入辅助工具则是指使用额外的模块或工具,通过引导对抗样本去除对抗干扰的方式,避免模型判断错误。
[0004] 现有的以数据修正、模型修正为主的对抗攻击防御技术大都只能在特定的对抗环境要求下实现防御,无法做到对所有的对抗攻击都有鲁棒性。而引入辅助工具引导去除对抗干扰的方式一方面容易存在原样本信息丢失问题,另一方面其防御成功率往往较低。
[0005] 随着深度神经网络在多个领域内实现了最为先进的性能,越来越多应用程序与相关平台开始搭载深度神经网络模型。但同时深度神经网络模型对对抗性攻击的不健壮性使得模型在多种安全领域内无法进行广泛部署。
具体实施方式
[0033] 下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
[0034] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0035] 图1示出了根据本申请的实施例的基于对抗网络的深度神经网络对抗攻击防御方法流程图。如图1所示,该方法包括以下步骤:
[0036] S101:搭建深度神经网络随机对抗攻击模块,深度神经网络随机对抗攻击模块包括多个并联的对抗攻击算法,随机对输入图像进行对抗攻击加噪。对抗攻击算法包括快速梯度算法FGSM、advGAN算法、deepfool算法、近端梯度算法PGD、L‑BFGS算法、UAN算法、UAP算法。
[0037] S102:搭建可微分频域正则化器,可微分频域正则化器对频域信息对模型输出进行正则化处理。使得模型频域成分可控。由于对抗攻击图像与原图像主要差异体现于高频信息部分,故该正则化器以抑制高频信息,放大低频信息为主要目的。
[0038] S103:搭建对抗防御网络架构,对抗防御网络以基于编码解码结构的生成对抗网络作为主干网络,并引入深度神经网络随机对抗攻击模块和可微分频域正则化器。
[0039] 在具体的实施例中,对抗防御网络架构的训练过程中,输入图像x经过深度神经网络随机对抗攻击模块生成对抗攻击图像s,对抗攻击图像s送入对抗网络中的生成器G,利用可微分频域正则化器对生成器G中的编码器输出进行正则化处理,生成图像G(s),多尺度判别器Dk对图像G(s)与输入图像x进行判别,同时使用预训练特征提取器F进一步拉近图像G(s)与输入图像x之间的距离。
[0040] 在具体的实施例中,训练集与验证集之间的比例为10:1。在其他实施例中,训练集与验证集之间的比例还可以设置为其他比例。
[0041] S104:收集自然场景下的图像,按比例形成训练集和验证集,使用训练集对对抗防御网络进行训练至损失收敛。
[0042] 在具体的实施例中,生成对抗损失、特征匹配损失与感知损失分别为:
[0043]
[0044]
[0045]
[0046] 其中 代表第k个判别器第i层的特征输出,F(i)表示分类器第i层的Mi个特征输出。
[0047] 可微分频域正则化项为:
[0048] 其中 表示傅里叶变换, 为低通滤波器, 为高通滤波器,f表示二维傅里叶光谱中心区域。
[0049] 为进一步引导生成模型生成的图像接近原图信息分布,本发明还引入分类损失对模型进行进一步约束:Lclass(G,F)=‑∑i=1σ(F(x))ilog(σ(F(G(s)))i),其中σ(.)i表示第i类的标签输出。
[0050] 总损失函数为:其中λ1,λ2,λ3,λ4为可调整参数。
[0051] 在一些具体的实施例中,还包括验证步骤以验证网络性能:收集对抗攻击图像s′与其原图x′,送入完成训练的生成器G中,得到生成图像G(s′);分别获取受攻击网络对s′,x′,G(s′)的判别结果,受攻击网络对s′判别错误同时对x′,G(s′)判别正确。
[0052] 本申请的基于对抗网络的深度神经网络对抗攻击防御方法,以对抗网络为主干,利用自监督架构训练,最大程度弱化了算法对样本的强依赖性。同时创新性的引入可微分频域正则化器与高阶损失函数,对模型去除对抗扰动有显著提升。通过实验发现该方法能够明显提升深度神经网络对抗攻击防御能力,对多种对抗攻击方式均有良好的泛化性能。
[0053] 图2示出了本申请的一个实施例的基于对抗网络的深度神经网络对抗攻击防御系统的整体网络架构图,如图2所示,该系统的整体网络架构包括随机对抗攻击模块、生成器、可微分频域正则化器、判别器和预训练特征提取器,其中,深度神经网络随机对抗攻击模块,包括多个并联的对抗攻击算法,随机对输入图像进行对抗攻击加噪;可微分频域正则化器,配置用于对频域信息对模型输出进行正则化处理。具体的训练流程为:输入图像x经过步骤一所述随机对抗攻击模块,生成对抗攻击图像s。s送入生成对抗网络中的生成器G,利用可微分频域正则化器对G中的编码器输出进行正则化处理,生成的图像G(s)。多尺度判别器Dk对G(s)与图像x进行判别,同时使用预训练特征提取器F进一步拉近G(s)与x之间的距离。
[0054] 在一些具体的实施例中,还包括验证模块:配置用于收集对抗攻击图像s′与其原图x′,送入完成训练的生成器G中,得到生成图像G(s′);分别获取受攻击网络对S′,x′,G(s′)的判别结果,受攻击网络对s′判别错误同时对x′,G(s′)判别正确。
[0055] 下面参考图3,其示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。图3示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
[0056] 如图3所示,计算机系统包括中央处理单元(CPU)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储部分308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM 303中,还存储有系统300操作所需的各种程序和数据。CPU 301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线
304。
[0057] 以下部件连接至I/O接口305:包括键盘、鼠标等的输入部分306;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分307;包括硬盘等的存储部分308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分309。通信部分309经由诸如因特网的网络执行通信处理。驱动器310也根据需要连接至I/O接口305。可拆卸介质311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器310上,以便于从其上读出的计算机程序根据需要被安装入存储部分308。
[0058] 特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分309从网络上被下载和安装,和/或从可拆卸介质311被安装。在该计算机程序被中央处理单元(CPU)301执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0059] 可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言‑诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言‑诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络‑‑包括局域网(LAN)或广域网(WAN)‑连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0060] 附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0061] 描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。
[0062] 作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:搭建深度神经网络随机对抗攻击模块,深度神经网络随机对抗攻击模块包括多个并联的对抗攻击算法,随机对输入图像进行对抗攻击加噪;搭建可微分频域正则化器,可微分频域正则化器对频域信息对模型输出进行正则化处理;
搭建对抗防御网络架构,对抗防御网络以基于编码解码结构的生成对抗网络作为主干网络,并引入深度神经网络随机对抗攻击模块和可微分频域正则化器;收集自然场景下的图像,按比例形成训练集和验证集,使用训练集对对抗防御网络进行训练至损失收敛。
[0063] 以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。