深度神经网络结合蚁群算法的躲避攻击多目标对抗方法
2020-11-12魏焕新张宏国
魏焕新 张宏国
1(湖南机电职业技术学院信息工程学院 湖南 长沙 410151) 2(哈尔滨理工大学软件工程系 黑龙江 哈尔滨 150080)
0 引 言
随着新兴计算技术的发展,机器学习技术作为分类方案发挥了关键作用。探索性攻击的对抗性样本引起了人们对深度神经网络安全性的关注。深度神经网络广泛用于图像识别、语音识别、模式分析和入侵检测等领域[1-3]。单目标对抗方法通常使用有针对性的对抗性样本,只允许识别一个类,容易错误地将攻击类识别为非攻击类。因此,研究多目标对抗方法具有很好的现实意义和实用价值[4-5]。
国内外许多专家及学者围绕多目标对抗方法进行了深入研究。文献[6]研究了机器学习中的几个安全问题,对机器学习的攻击归类为致病攻击、影响学习、控制训练数据,以及作为探索性攻击导致错误分类,但不影响训练过程。文献[7-8]提出了一项关于对抗性实例的研究,使用对抗性样本的主要目的是通过向原始图像添加少量噪声来使深度神经网络犯错误。文献[9]提出了一种平滑梯度法来阻止攻击梯度,作为抵御黑匣子袭击的最先进的防御,它由一个探测器和一个改造者组成,以抵抗对抗性的样本攻击。文献[10]通过使用多个局部模型来攻击其他模型,提出了一种集合对抗性样本的方法。以上方法存在无法区分原始图像和失真图像之间差异的问题,仍有一定的改进空间[11-13]。
基于上述分析,本文提出一种基于深度神经网络躲避攻击的多目标对抗方法,并结合蚁群算法实现躲避攻击的多目标对抗。其主要创新点为:
(1) 现有的大多数方法中,对抗性样本只分为有针对性的对抗性样本和无针对性的对抗性样本,而本文方法设计一种与变换器和多个模型组成的体系结构,利用变换器生成一个多目标的对抗性样本,利用多个模型预训练的分类器对输入值进行分类。
(2) 现有的大多数方法中针对性对抗样本是单个目标攻击,只允许识别一个类,而提出的多目标对抗样本,使用单个修改后的图像攻击每个目标类中的多个模型,为了产生这样的样本,本文方法进行了一次变换,从而通过多个模型最大化不同目标类别的概率。
(3) 现有的大多数方法采用深度神经网络进行多目标对抗,而本文方法在深度神经网络的基础上引入了蚁群算法,利用蚂蚁互相交流学习的正反馈原理保证算法的收敛性和寻优速度,融合两种算法的优势,解决深度神经网络输入数据导致机器误解数据的问题,实现躲避攻击的多目标对抗。
1 提出的多目标对抗方法
图1为提出的多目标对抗方法的示意图。
图1 多目标对抗方法示意图
1.1 多目标对抗
生成对抗性样本的基本体系结构由两个元素组成:目标模型和变换器。变换器将原始样本x和目标类y作为输入数据,然后创建输出,变换的示例为x*=x+w,其中噪声值w被添加到原始样本x中。变换后的样本x*作为输入数据提供给目标模型。目标模型为变换器提供变换后的样本的类概率结果。变换器更新变换的样本x*=x+w中的噪声值w,使得其他类概率高于原始类概率,同时最小化x*和x之间的失真距离。
通过对抗训练、过滤方法、防御性蒸馏和磁铁法等方法研究了对抗性样本的防御。为了阻止攻击梯度,这种防御性蒸馏具有两个神经网络,其中分类器的输出类概率被用作第二级分类器训练的输入。同样,这种方法有两个步骤:首先,检测器过滤失败的对抗性样本作为预学习步骤,包括原始样本和对抗性示例之间的差异;然后,重整器找到原始样本,该样本可以转换为对抗性样本的小扰动。使用过滤方法、防御蒸馏和磁铁方法进行测试发现,系统的被欺骗率可高达100%。
对抗性样本攻击的相关工作可以分为四类:目标模型信息、距离度量、对抗性样本识别和生成方法[8]。
1.2 基于深度神经网络的多目标样本优化
深度神经网络广泛用于图像识别、语音识别、模式分析和入侵检测等领域,具有全局搜索能力强的优点。为了生成多目标的对抗性样本,设计一种与变换器和多个模型组成的体系结构,利用变换器生成一个多目标的对抗性样本,利用深度网络学习训练的分类器对输入值进行分类,提出一种由变换器和多个模型Di(1≤i≤n)组成的体系结构,如图2所示。变换器的作用是生成一个多目标的对抗性样本[14]。多个模型Di是预训练的分类器,其对输入值进行分类。
图2 由变换器和多个模型组成的体系结构
若DNN模型将样本作为输入值,则它提供每个类的分类得分的输出值,所提深度神经网络模型将样本分类为输出值最高的类。表1显示了原始样本“2”和目标对抗性样本“3”的分类得分示例。可以看出,原始样本“2”可分类为得分29的类别,对抗性样本“3”将分类为得分18.703的类别。
表1 对抗样本“2”→“3”的分类分数
深度神经网络的变换器将原始样本x∈X和目标类yi∈Y(1≤i≤n)作为输入值,并生成变换后的样本x*作为输出值。yi是攻击者为每个模型Di选择的目标类。多个模型Di将变换后的样本x*作为输入值,并向变换器提供反馈,该反馈是分类的结果。
本文方案的目标是生成多目标对抗性样本x*,其被多个模型Di中的每一个错误分类为每个目标类别yi,同时最小化计算原始样本x的像素距离。在数学表达式中,Di的运算函数分别由fi(x)(1≤i≤n)表示。给定预训练模型Di、原始样本x∈X和目标类yi,这是一个生成多目标对抗性样本x*的优化问题:
(1)
式中:L(·)是原始样本x和多目标对抗性样本x*。
为了实现这一目标,该过程包括两个步骤:创建预训练模型Di和生成多目标对抗性样本x*。首先,模型Di通过学习过程将原始样本x将其正确分类为其原始类yorg:
fi(x)=yorg∈Y
(2)
式中:yorg是原始类。在实验中,训练模型Di对原始样本进行分类时,其准确度可以达到99%。
其次,变换器接受原始样本x和目标类别yi作为输入值,并生成变换后的样本x*。在这项研究中,修改了变压器架构,x*被定义为:
(3)
式中:w用作调整项以最佳地最小化梯度;tanh用于软化梯度。模型Di的x*的分类损失返回到变换器。然后变换器通过上面的迭代过程更新变换的示例x*,以计算总损耗lossT并且最小化总损耗lossT。lossT定义为:
(4)
式中:lossdistortion是变换样本的失真;lossi是Di的分类损失;ci是模型Di的损失权重。损失权重的初始值是1。lossdistortion是原始样本x和变换的样本x*之间的距离。
(5)
(6)
式中:gi(k)=max{Zi(k)j:j≠yi}-Zi(k)yi,其中Zi是模型Di预测类的概率。通过最优化最小化损失lossi,fi(x*)的预测具有比其他类别更高的预测目标类别yi的概率。
算法1在变换器中生成一个多目标对抗性样本
输入:原始样本x,目标类别yi(1≤i≤n),迭代次数r,损失权重ci。
对目标对抗性样本生成:
w←0
t←yi
x*←x
Forrstep do
loss3←loss1+loss2
通过最小化loss3的梯度更新w
End for
Returnx*
1.3 蚁群算法
多目标分配模型可以使用智能优化算法进行求解。蚁群算法是一种基于种群寻优的启发式智能优化算法,利用蚁群中蚂蚁间互相交流学习的正反馈原理保证了算法的收敛性和寻优速度[14-15]。借鉴蚁群算法解决问题的思路,设计面向对抗资源多目标分配的蚁群算法,并改进蚁群算法流程,以求解多目标分配模型。算法实现步骤如下:
(1) 随机生成初始蚁群POP,种群数为N,求出目标函数值fi(x),i=1,2,…,J。
(2) 初始化外部集合BP,即Xf={x∈POP|e(x)≤0},BP={x∈Xf|∃x′∈Xf,有x′ (3) 设置迭代次数NC=0。 (4) 令i=1。 (5) 随机产生一个[0, 1]范围内的随机数p,当p≤p0时,对蚂蚁i用基于全局最有经验指导的方式寻优;当p>p0时,使用信息素交流方式寻优。 (6) 在可行域内移动蚂蚁i,并在最终位置上加入随机扰动因子φ0,再次评价蚂蚁i,求得目标函数值以及约束函数值。 (7) 更新BP,并删除BP中被i所支配的解。 (8)i=i+1,如果i≤N,则转至(5)。 (9)NC=NC+1,如果NC≤NCMax,则转至(4);否则,算法结束。 通过实验展示一种生成多目标对抗性样本,该样本被多个模型中的每个模型错误分类为每个目标类,同时能够最小化原始样本的计算像素距离。在实验中使用具有Xeon E5-2609 1.7 GHz处理器的服务器。 实验采用MNIST数据集,它是一个标准的数据集,包含从0到9的手写数字图像。实验方法为对Di(1≤i≤n)进行预训练并生成多目标对抗样本。 Di是常见的卷积神经网络。为了有足够的方法训练多个模型Di,使用了60 000个训练数据样本。不失一般性,令实验中模型数量n=5。通过学习不同的训练数据创建了若干个Di的模型,同时保持原始样本的准确度超过99%。在使用10 000个测试数据的实验结果中,Di正确地将原始样本分类到原始类别中,准确度超过99%。 将Adam算法作为优化器来生成多目标对抗性样本,并使总损失最小化,参照文献[16]中所提参数设置方法,设定学习率为1×10-2,初始常数为1×10-3。对于给定次数的迭代,变换器更新变换后的样本将其提供给模型Di,并从这些模型接收反馈。在迭代集合结束时,具有目标针对性的攻击成功。使用所需迭代次数、人类识别度和失真量来评估变换后的样本x*。使用均方误差将失真测量修改后的样本与原始样本之间的像素距离缩小。 实验结果展示了多目标对抗性样本的图像、每个目标类的失真、多目标对抗性样本的类别得分、可伸缩性分析和多个目标类的信息。 不失一般性,以模型D1和D2为例进行相关结果分析与说明。对于模型D1,目标类别的得分“0”(5.09)略高于原始类(5.03)。对于模型D2,目标类别“8”(5.08)的得分略高于原始类别(5.03)的得分。为了减少多目标对抗性示例的失真,该结果表明多目标对抗性样本已经被修改,直到模型A和B的每个目标类别的得分高于原始类别的得分。 为了分析多目标对抗性样本的可扩展性,每组模型有900个随机多目标对抗性示例,针对其100%目标攻击成功率的平均失真和迭代次数进行分析比较。迭代模式说明,随着模型数量的增加,多目标对抗性样本需要更多的学习过程来攻击多个模型。另一方面,平均失真的模式表明随着模型数量的增加,失真增加,但变化率降低。从图3和图4中可以看到,每个目标类的多目标对抗性样本的失真是不同的。如果攻击者需要具有最小失真的多目标对抗样本,则此信息非常有用。 图3 对于D2和D1的每个目标类别相对于原始样本的平均变化率(1 000次迭代) 图4 对于原始样本“9”,每个D1和D2模型的目标类别的平均变化率 本文提出的深度神经网络结合蚁群算法的多目标对抗方法与文献[6]、文献[10]提出的多目标对抗方法相比,具有较大的优势。同样采用2.1节中数据集,表2和表3是采用文献[6]、文献[10]方法的多目标针对性对抗样本对于模型D1、D2、D3、D4和D5中的每个目标类的类别得分。表4是本文提出的深度神经网络结合蚁群算法的多目标对抗方法中多目标对抗性样本模型D1、D2、D3、D4和D5中的每个目标类的多目标对抗性样本的类别得分。通过对比可以看出,本文方法的得分整体高于文献[6]和文献[10]方法,多目标对抗性更好,更具有优势。这是因为引入蚁群算法,利用蚂蚁互相交流学习的正反馈原理保证算法的收敛性和寻优速度,保证方法的全局优化性能。 表2 文献[6]方法对于模型D1、D2、D3、D4和D5中的每个目标类的类别得分 表3 文献[10]方法对于模型D1、D2、D3、D4和D5中的每个目标类的类别得分 表4 本文方法中多目标对抗性样本模型D1、D2、D3、D4和D5中的每个目标类的类别得分 本文提出一种深度神经网络结合蚁群算法躲避攻击的多目标对抗方法。实验结果表明,该方法比现有的躲避攻击多目标对抗方法具有明显的优势,实现100%的攻击成功率。未来的研究方向是继续将实验扩展到其他标准图像数据集中,并进行隐身中的失真与人类感知之间的相关性分析。利用软件方法进行全系统的闭环虚拟现实仿真,是一项行之有效的方法,它与利用硬件进行全系统的仿真相辅相成,未来将对这方面的工作进行更加深入的研究,同时关注本文算法对其他数据集的适用性。2 实 验
2.1 实验方法
2.2 实验结果分析
2.3 实验结果对比
3 结 语