基于神经网络的深度学习技术已经被成功地应用于计算机视觉[1,2]、语音识别[3]和自然语言处理[4−9]等多个领域. 特别是在机器视觉中的图像识别方面, 深度学习技术取得了非常大的成就. 尽管如此, 深度学习技术自身也存在着比较严重的安全问题. Szegedy等[10]发现在使用深度学习技术进行图像识别时, 只要改动图片上的一个像素, 就能让神经网络识别错误, 甚至还可以诱导它返回特定的结果. 在自动驾驶、人脸识别、语音识别、CT影像分类等典型的深度学习应用中, 错误的识别结果将会带来非常严重的后果. 因此很多研究者开始关注深度学习模型的抗干扰能力的问题.
为了检验深度学习模型的抗干扰性和鲁棒性, 研究人员提出了对抗样本的概念. 所谓对抗样本就是在一个已经正确分类的样本中, 添加细微干扰形成的新样本, 该样本可以使训练好的模型以较高的置信度给出错误的分类结果[11]. 国内外研究者提出了多种对抗样本生成方法[12-19]. 按照不同的规则, 可以将这些方法划分成不同种类. 按照其生成方式和原理的不同, 可以分为部分像素添加扰动和全像素添加扰动两类. 按照生成过程是否需要知道模型内部结构与参数, 可以分为白盒方法和黑盒方法. 需要知道模型内部机构与参数的生成方法叫白盒方法, 反之叫黑盒方法. 根据对抗规则的不同又可以分为有目标对抗和无目标对抗. 有目标对抗是指对抗样本需要使模型给出某种指定的错误类别; 无目标对抗则只要求模型给出错误分类结果即可. Su等提出了一种黑盒对抗样生成方法ONE-PIXEL[20], 该方法将对抗样本的生成过程转换为一个条件优化问题, 然后使用差分进化算了来求解该问题, 并最终得到对抗样本. 该方法可以对梯度难以计算和不可微的网络进行攻击, 具有良好的灵活性. 然而, 由于只改变了原始图像的一个像素, 该方法的攻击成功率相对较低, 特别是有目标攻击的成功率. Dong等在借鉴I-FGSM和ILCM方法的基础上, 提出了MI-FGSM黑盒攻击方法[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. 也就是:
$\left\{\begin{split} & \min ||\rho |{|_2}\;{\rm s.t.}\;{{ M}}({{x + }}\rho ) = L \\ & {{x + }}\rho \in {[0 - 255]^n},\;\;\rho \to 0\; \\ \end{split} \right.$ | (1) |
式(1)中, ρ是需要加入的干扰噪声.
1.2 相关定义为了便于问题描述, 给出以下定义.
定义1. 决策空间: 在一个图像分类神经网络中, 所有被分类为A的图像组成的集合, 就叫做A的决策空间SA, 也就是A的决策空间:
${S_A} = \{ {P_i}|pre(\;{P_i}) = A\} $ | (2) |
定义2. 决策边界: 在一个图像分类神经网络中, 分类A的决策边界是指A的决策空间的最外层, 也就是那些即便做极其微小的改动都会改变其分类结果的图像的集合. A的决策边界:
$\left\{\begin{split} & {B_A} = \{ {P_i}|pre({P_i}) = A \wedge pre({P_i} + \delta ) \ne A)\} \\ & \delta \to 0\;\;\; \\ \end{split} \right.$ | (3) |
定义3. 图像间的距离: 本文中使用欧氏距离来定义两张图片间的距离. 令图片P1的矩阵为X, 图片P2的矩阵为Y, 则P1和P2之间的距离为:
$ D({P_1},{P_2}) = \sqrt {\sum\limits_{i = 1}^n {{{({x_i} - {y_i})}^2}} } $ | (4) |
基于上述定义, 对于一张分类为M的图片Pm, 要生成一个分类为N的对抗样本, 也就是要在N的决策空间中找到一个点Pn, 使得Pm和Pn的距离尽可能小. 即:
根据决策边界的定义不难看出, 最理想的对抗样本一定在N的决策边界BN上, 如图1所示.
1.3 快速边界攻击法边界攻击就是沿着某一分类N的临近决策边界BN寻找距离被攻击目标最近的点的过程. 如图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.
算法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;
8) 根据对这n个样本的分类预测结果调节步长δ的值;
9) if(满足终止条件)
10) break;
一张图片的决策空间是立体的多维球面, 为了能够高效地在其决策边界附近找到一个近似最优解, 快速边界攻击法的搜索过程分为线上的搜索和面上的搜索两步. 线上的搜索由单侧折半法来完成, 用于快速找到在Pn0到Pm的连线上距离决策边界较近的点Padver
使用该方法生成一张图片的有目标对抗样本的过程如图4所示. 假设要生成一张分类结果为“Siamese_cat”的图片A的对抗样本, 使得深度学习模型将其误分为“Labrador_retriever”. 在开始时, 从分类为“Labrador_retriever”的样本中随机选择一张图片B, 然后使用快速边界攻击法在B的近似决策边界上寻找距离A最近的图片作为A的对抗样本B'. 不难看出, 随着寻优过程的推进B'与A的距离逐渐减少, 攻击样本与原始图像A的差别也越来越小.
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的定义如下:
$ {R}_{o}=1-{{m}}ean\left(D\left(A,{A}^{'}\right)/D\left(A,B\right)\right) $ | (5) |
其中,
基于上述定义, 给定优化率时的模型访问次数可以表示算法的对抗样本生成效率的大小, 对于相同的样本优化率来说, 模型访问次数越少, 算法的效率就越高. 五组实验数据的实验结果如图6所示. 由实验结果不难看出, 对于5组图片, 算法均能在约4400次模型访问后, 达到0.8的模型优化率; 在12000左右次模型访问后, 达到0.9的模型优化率. 算法在初期(样本优化率<0.6时)生成效率相差不大; 但在中后期会有不同的表现, e组最快, a组最慢.
2.2 效率实验为了检验方法的生成效率, 与Wieland Brendel的Boundary方法[15]做了对比实验. 实验的对抗的网络模型、测试数据、算法效率评价方法与2.1节中可行性实验的相同. 实验结果如图7所示. 对于5组图片, 快速边界攻击法的效率较Boundary方法均有不同程度的提高, 能够用相对较少的模型访问次数来达到相同的本优化率.
2.3 结论
快速边界攻击法较为简单, 易于实现, 具有较好的通用性; 能够生成无目标对抗样本和有目标对抗样本, 而且属于比较有应用价值的黑盒对抗样例生成方法; 与Boundary方法相比, 快速边界攻击法具有相对较好的生成效率. 但由于每个分类的决策空间相对较大, 为了找到近似最小扰动, 该方法的访问次数还是比较大, 所以生成过程比较耗时, 因此不适用于对实时性有要求的对抗样本的生成.
[1] |
Krizhevsky A, Sutskever I, Hinton GE. ImageNet classification with deep convolutional neural networks. Proceedings of the 25th International Conference on Neural Information Processing Systems. Lake Tahoe, NV, USA. 2012. 1097−1105.
|
[2] |
Taigman Y, Yang M, Ranzato M, et al. DeepFace: Closing the gap to human-level performance in face verification. Proceedings of 2014 IEEE Conference on Computer Vision and Pattern Recognition. Columbus, OH, USA. 2014. 1701−1708.
|
[3] |
Dahl GE, Yu D, Deng L, et al. Context-dependent pre-trained deep neural networks for large-vocabulary speech recognition. IEEE Transactions on Audio, Speech, and Language Processing, 2012, 20(1): 30−42. |
[4] |
Collobert R, Weston J. A unified architecture for natural language processing: Deep neural networks with multitask learning. Proceedings of the 25th International Conference on Machine Learning. Helsinki, Finland. 2008. 160−167.
|
[5] |
Zhang X, Zhao JB, LeCun Y. Character-level convolutional networks for text classification. Proceedings of the 28th International Conference on Neural Information Processing Systems. Montreal, QC, Canada. 2015. 649−657.
|
[6] |
Kim Y, Jernite Y, Sontag D, et al. Character-aware neural language models. Proceedings of the 30th AAAI Conference on Artificial Intelligence. Phoenix, AZ, USA. 2016. 2741−2749.
|
[7] |
Pang B, Lee L, Vaithyanathan S. Thumbs up? Sentiment classification using machine learning techniques. Proceedings of the ACL-02 Conference on Empirical Methods in Natural Language Processing. Philadelphia, PA, USA. 2002. 79–86.
|
[8] |
Sutskever I, Vinyals O, Le QV. Sequence to sequence learning with neural networks. Proceedings of the 27th International Conference on Neural Information Processing Systems. Montreal, QC, Canada. 2014. 3104−3112.
|
[9] |
Maas AL, Daly RE, Pham PT, et al. Learning word vectors for sentiment analysis. Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies. Portland, OR, USA. 2011. 142–150.
|
[10] |
Szegedy C, Zaremba W, Sutskever I, et al. Intriguing properties of neural networks. Proceedings of the 2nd International Conference on Learning Representations. Banff, AB, Canada. 2014.
|
[11] |
Akhtar N, Mian A. Threat of adversarial attacks on deep learning in computer vision: A survey. IEEE Access, 2018, 6: 14410-14430. DOI:10.1109/ACCESS.2018.2807385 |
[12] |
王文琦, 汪润, 王丽娜, 等. 面向中文文本倾向性分类的对抗样本生成方法. 软件学报, 2019, 30(8): 2415−2427. DOI:10.13328/j.cnki.jos.005765 |
[13] |
张思思, 左信, 刘建伟. 深度学习中的对抗样本问题. 计算机学报, 2019, 42(8): 1886-1904. |
[14] |
潘文雯, 王新宇, 宋明黎, 等. 对抗样本生成技术综述. 软件学报, 2020, 31(1): 67-81. DOI:10.13328/j.cnki.jos.005884 |
[15] |
Brendel W, Rauber J, Bethge M. Decision-based adversarial attacks: Reliable attacks against black-box machine learning models. Proceedings of the 6th International Conference on Learning Representations. Vancouver, BC, Canada. 2018.
|
[16] |
Cisse M, Adi Y, Neverova N, et al. Houdini: Fooling deep structured visual and speech recognition models with adversarial examples. Proceedings of the 31st International Conference on Neural Information Processing Systems. Long Beach, CA, USA. 2017. 6977–6987.
|
[17] |
Co KT, Muñoz-González L, de Maupeou S, et al. Procedural noise adversarial examples for black-box attacks on deep convolutional networks. Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security. London, UK. 2019. 275–289.
|
[18] |
Chen PY, Zhang H, Sharma Y, et al. ZOO: Zeroth order optimization based black-box attacks to deep neural networks without training substitute models. Proceedings of the 10th ACM Workshop on Artificial Intelligence and Security. Dallas, TX, USA. 2017. 15–26.
|
[19] |
Shi YC, Wang SY, Han YH. Curls & Whey: Boosting black-box adversarial attacks. Proceedings of 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach, CA, USA. 2019. 6512–6520.
|
[20] |
Su JW, Vargas VV, Sakurai K. One pixel attack for fooling deep neural networks. IEEE Transactions on Evolutionary Computation, 2019, 23(5): 828-841. DOI:10.1109/TEVC.2019.2890858 |
[21] |
Dong YP, Liao FZ, Pang TY, et al. Boosting adversarial attacks with momentum. Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, UT, USA. 2018. 9185–9193.
|