基于快速边界攻击的黑盒对抗样本生成方法①

2021-01-21 06:49郭书杰
计算机系统应用 2020年12期
关键词:边界样本分类

郭书杰

(大连东软信息学院 智能与电子工程学院,大连 116023)

基于神经网络的深度学习技术已经被成功地应用于计算机视觉[1,2]、语音识别[3]和自然语言处理[4−9]等多个领域.特别是在机器视觉中的图像识别方面,深度学习技术取得了非常大的成就.尽管如此,深度学习技术自身也存在着比较严重的安全问题.Szegedy 等[10]发现在使用深度学习技术进行图像识别时,只要改动图片上的一个像素,就能让神经网络识别错误,甚至还可以诱导它返回特定的结果.在自动驾驶、人脸识别、语音识别、CT 影像分类等典型的深度学习应用中,错误的识别结果将会带来非常严重的后果.因此很多研究者开始关注深度学习模型的抗干扰能力的问题.

为了检验深度学习模型的抗干扰性和鲁棒性,研究人员提出了对抗样本的概念.所谓对抗样本就是在一个已经正确分类的样本中,添加细微干扰形成的新样本,该样本可以使训练好的模型以较高的置信度给出错误的分类结果[11].国内外研究者提出了多种对抗样本生成方法[12-19].按照不同的规则,可以将这些方法划分成不同种类.按照其生成方式和原理的不同,可以分为部分像素添加扰动和全像素添加扰动两类.按照生成过程是否需要知道模型内部结构与参数,可以分为白盒方法和黑盒方法.需要知道模型内部机构与参数的生成方法叫白盒方法,反之叫黑盒方法.根据对抗规则的不同又可以分为有目标对抗和无目标对抗.有目标对抗是指对抗样本需要使模型给出某种指定的错误类别;无目标对抗则只要求模型给出错误分类结果即可.Su 等提出了一种黑盒对抗样生成方法ONEPIXEL[20],该方法将对抗样本的生成过程转换为一个条件优化问题,然后使用差分进化算了来求解该问题,并最终得到对抗样本.该方法可以对梯度难以计算和不可微的网络进行攻击,具有良好的灵活性.然而,由于只改变了原始图像的一个像素,该方法的攻击成功率相对较低,特别是有目标攻击的成功率.Dong 等在借鉴I-FGSM 和ILCM 方法的基础上,提出了MIFGSM 黑盒攻击方法[21].该方法通过将动量迭代来替换梯度迭迭代,使得在迭代过程具有更加稳定的更新方向,从而降低陷入局部最优的概率.虽然该方法对添加的噪声方向进行了平滑,但是随着迭代次数增加,边界效应依然存在.为了解决这一问题,Shi 等提出了Curls & Whey 方法[19].Curls & Whey 方法通过使迭代轨迹的多样化和压缩噪声的幅度来提高生成的对抗样本的质量.由于MI-FGSM 和Curls & Whey 均为基于迁移的攻击,所以他们均不能保证个体级别的攻击成功.Brendel 等提出了一种基于决策的有目标黑盒对抗样本生成方法[15],该方法能够保证攻击的成功率,但需要较多的模型访问次数,因此效率相对较低.有目标的黑盒攻击的难点在于,如何在保证攻击成功率的前提下提高对抗样本的生成效率.为了解决这一难点,本文提出一种应用于图像分类领域的全像素添加扰动的黑盒对抗方法,该方法主要针对有目标对抗,同时也适用于无目标对抗样本的生成.

1 基于快速边界攻击的黑盒对抗样本生成方法

1.1 面向图像分类的有目标黑盒攻击

深度神经网络可以完成各种不同的分类任务,本文讨论的是图像分类任务中的深度神经网络模型对抗样本的生成方法.在用于图像分类的神经神经网络中,图片的每个通道通常用矩阵Ann表示.其中n表示图像的行数和列数,每个元素取0-255 之间的整数.对于一个深度学习模型M,要对一张正确分类为N的图片X生成一个干扰目标为L的黑盒攻击样本,就是在X上添加较少的噪声干扰得到样本X’,使得M对X’的分类结果为L.也就是:

式(1)中,ρ是需要加入的干扰噪声.

1.2 相关定义

为了便于问题描述,给出以下定义.

定义1.决策空间:在一个图像分类神经网络中,所有被分类为A的图像组成的集合,就叫做A的决策空间SA,也就是A的决策空间:

定义2.决策边界:在一个图像分类神经网络中,分类A的决策边界是指A的决策空间的最外层,也就是那些即便做极其微小的改动都会改变其分类结果的图像的集合.A的决策边界:

定义3.图像间的距离:本文中使用欧氏距离来定义两张图片间的距离.令图片P1的矩阵为X,图片P2的矩阵为Y,则P1和P2之间的距离为:

基于上述定义,对于一张分类为M的图片Pm,要生成一个分类为N的对抗样本,也就是要在N的决策空间中找到一个点Pn,使得Pm和Pn的距离尽可能小.即:Pn=min{D(Pm,Pn)|Pn∈BN}

根据决策边界的定义不难看出,最理想的对抗样本一定在N的决策边界BN上,如图1所示.

1.3 快速边界攻击法

边界攻击就是沿着某一分类N的临近决策边界BN寻找距离被攻击目标最近的点的过程.如图2所示.

图1 对抗样本示例

图2 边界攻击过程

为了能够快速找到最优攻击样本Pn,设计了一种快速边界攻击法.快速边界攻击首先通过单侧折半法快速找到干扰样本和被攻击样本的近似边界所在,然后再以可自动调节的步长沿着决策边界BN探索,直至找到满足停止条件的对抗样本.具体的步骤如下.

第1 步.初始化攻击样本.从决策空间SN中随机选出一张图片Pn0作为初始攻击样本Padver.

第2 步.找到Pm与Padver之间的近似边界点.使用单侧折半查找法在Pm与Padver之间的连线上找到距离决策边界BN相对较近的点Pboundary,并将该点赋值给Padver.单侧折半查找法的具体步骤如下.

① 首先根据图像间的距离公式,确定被攻击目标Pm与攻击样本Padver之间的中点Pmid=(Pm+Padver)/2.

② 使用神经网络对Pmid进行分类预测,得到分类结果Cmid;若Cmid=N,则将Pmid赋值给Padver;若Cmid≠N,则在后(右)半个区域Pmid和Padver之间继续进行折半查找,直至找到分类结果为N的Pmid,将Pmid赋值给Padver.单侧折半法的具体过程如图3所示.

第3 步.沿着N的近似边界随机探索更优样本.以自适应步长δ在Padver附近随机寻找n个对抗样本,将这些样本中距离Pm最近的分类结果为N的点赋值给Padver并转到第2 步继续运行,直至找到满足停止条件的对抗样本.δ的大小决定了算法在Padver附近的搜索半径,当δ比较小时,算法只能在Padver较近的区域搜索,由于搜索到的点大多与目标点Pn较远,所以搜索效率不高;当δ比较大时,算法的搜索范围可能会超过决策边界BN,从而使得无法找到满足条件的样本,导致搜索停滞.为了在提高算法的搜索效率,步长δ的初始值取0.1,随着算法的进行,自动调节δ的值,其调节策略如下.使用神经网络对以δ为步长在Padver附近随机寻找n个对抗样本进行预测,计算预测结果中分类N的平均值MSN.该平均值越大,说明n个对抗样本中属于决策空间SN的样本越多,距离决策边界BN越远.为了提高优化效率,需要让δ增大.相反,该平均值越小,说明步长δ设置得过大,使得n个对抗样本中较多的样本已经越过了策边界BN,需要减小δ的值.为了确定自适应调节参数,对调节时机(即MSN的值取多少时进行调节)、调节量(即δ值的缩放系数)进行了对比实验.实验以达到0.9 的样本优化率(见定义5)所需的模型访问次数为标准来评价算法的搜索效率,从而确定参数的优劣.实验结果显示,当MSN的值介于0.3-0.7 时,算法能够保持相对稳定的搜索效率.依据实验结果,采用如下调节方案:当MSN的值大于0.7时δ扩大为原来的1.1 倍;当MSN的值大于0.8 时δ扩大为原来的1.3 倍;当MSN的值大于0.9 时δ扩大为原来的1.7 倍.当MSN的值小于0.3 时δ缩小为原来的0.9 倍;当MSN的值小于0.2 时δ缩小为原来的0.7 倍;当MSN的值小于0.1 时δ缩小为原来的0.5 倍.快速边界攻击法的算法如算法1.

图3 单侧折半法的查找过程示例

算法1.快速边界攻击样本生成算法输入:被攻击原始图片Pm,错误分类N,待攻击的分类模型CNN-M.输出:攻击样本Pn.1)初始化相关参数;2)从N 的决策空间中随机选出一张图片作为初始攻击样本Padver;3)while (true)4)使用单侧折半查找法查找Pm 和Padver 之间的临近边界点,并将其赋值给Padver;5)以δ 为步长在Padver 附近随机生成n 个样本PRn={P1,P2,…,Pn};6)使用分类模型CNN-M 对PRn 中的每个样本Pi 进行分类预测;

7)将这n 个样本PRn 中分类预测结果为N 且距离Pm 最近的点赋值给Padver对这n 个;8)根据样本的分类预测结果调节步长δ 的值;9) if (满足终止条件)10) break;

一张图片的决策空间是立体的多维球面,为了能够高效地在其决策边界附近找到一个近似最优解,快速边界攻击法的搜索过程分为线上的搜索和面上的搜索两步.线上的搜索由单侧折半法来完成,用于快速找到在Pn0到Pm的连线上距离决策边界较近的点Padver;面上的搜索通过以自适应步长δ在Padver附近的随机搜索来完成.通过快速的线上搜索来提高算法的速度,使用面上的搜索来提高搜索的广度,这两个步骤的结合,既保证了算法具有良好的搜索效率,又保证了算法搜索结果的质量.由于该方法采用的是从错误分类N的决策空间逐渐向正确分类M的决策空间靠近的搜索方法,而且在搜索过程中始终保证每一轮搜索的最优结果均在N的决策空间中,所以可以保证最终生成的对抗样本具有可靠的攻击成功率.

使用该方法生成一张图片的有目标对抗样本的过程如图4所示.假设要生成一张分类结果为“Siamese_cat”的图片A的对抗样本,使得深度学习模型将其误分为“Labrador_retriever”.在开始时,从分类为“Labrador_retriever”的样本中随机选择一张图片B,然后使用快速边界攻击法在B的近似决策边界上寻找距离A最近的图片作为A的对抗样本B'.不难看出,随着寻优过程的推进B'与A的距离逐渐减少,攻击样本与原始图像A的差别也越来越小.

图4 快速边界攻击法的具体示例

1.4 无目标对抗样本生成方案

快速边界攻击法主要适用于有目标对抗,但它也能够实现无目标攻击,只需改变初始化攻击样本的生成方法即可.在有目标对抗样本生成时,初始攻击样本是从目标类决策空间中随机选出一张图片.为了提高算法的效率,在使用该方法生成某一分类为N的图片A的无目标对抗样本生成时,首先从其他非N分类的决策空间中随机选出m个样本,然后分别计算这m个样本与图片A的距离,从中选出距离最小的样本作为初始攻击样本.也就是说,在进行无目标对抗样本生成时,选择m个随机样本中与A的相似度最高的图片作为初始攻击样本,以便提高对抗样本的生成效率.

2 实验及结论

2.1 可行性实验

为了检验方法的可行性,在Windows 10 平台上使用编程实现了快速边界攻击法,并进行了5 组图片的样本生成实验.实验中对抗的网络模型为ResNet50,使用的测试数据如图5所示.其中上面的图像为初始对抗样本,下边的图像为被攻击目标样本,从左至右分别称为a 组、b 组、c 组、d 组和e 组.

在评价算法的效率时,需要选择合适的参数作为对比对象,为了便于描述该参数,给出以下定义.

定义4.模型访问次数:在算法运行过程中,调用深度学习模型进行分类预测的总次数.

定义5.样本优化率:令给定的初始对抗样本为A,被攻击目标样本为B,某代优化得到的临时对抗样本为A'则样本优化率Ro的定义如下:

图5 对比实验用的图片

基于上述定义,给定优化率时的模型访问次数可以表示算法的对抗样本生成效率的大小,对于相同的样本优化率来说,模型访问次数越少,算法的效率就越高.五组实验数据的实验结果如图6所示.由实验结果不难看出,对于5 组图片,算法均能在约4400 次模型访问后,达到0.8 的模型优化率;在12000 左右次模型访问后,达到0.9 的模型优化率.算法在初期(样本优化率<0.6 时)生成效率相差不大;但在中后期会有不同的表现,e 组最快,a 组最慢.

2.2 效率实验

为了检验方法的生成效率,与Wieland Brendel 的Boundary 方法[15]做了对比实验.实验的对抗的网络模型、测试数据、算法效率评价方法与2.1 节中可行性实验的相同.实验结果如图7所示.对于5 组图片,快速边界攻击法的效率较Boundary 方法均有不同程度的提高,能够用相对较少的模型访问次数来达到相同的本优化率.

图6 可行性实验结果

图7 效率实验结果

2.3 结论

快速边界攻击法较为简单,易于实现,具有较好的通用性;能够生成无目标对抗样本和有目标对抗样本,而且属于比较有应用价值的黑盒对抗样例生成方法;与Boundary 方法相比,快速边界攻击法具有相对较好的生成效率.但由于每个分类的决策空间相对较大,为了找到近似最小扰动,该方法的访问次数还是比较大,所以生成过程比较耗时,因此不适用于对实时性有要求的对抗样本的生成.

猜你喜欢
边界样本分类
守住你的边界
意大利边界穿越之家
OF MALLS AND MUSEUMS
规划·样本
人大专题询问之“方城样本”
按需分类
教你一招:数的分类
人蚁边界防护网
说说分类那些事
随机微分方程的样本Lyapunov二次型估计