基于对抗的测试输入生成方法是从机器学习和深度学习的角度入手,通过向原始样本添加微小扰动的方式产生对抗样本,使DNN系统进行错误分类。其又分为白盒、灰盒和黑盒攻击,顾名思义,黑盒攻击就是在无法获取模型内部结构信息的情况下,仅通过模型的输入输出来生成对抗样本。本次讲解黑盒攻击的一个经典代表算法——本地搜索攻击算法(论文:《Simple Black-Box Adversarial Perturbations for Deep Networks》)
主要内容:
这篇论文提出的对抗性攻击将网络视为黑匣子,即仅能获取输入输出信息而没有网络内部信息。主要贡献有以下几点:
-
随机扰动单个像素对模型预测带来的影响:随机选择像素进行扰动即可为模型生成对抗图像,但扰动图像的像素值可能超出某个预期范围。
-
提出基于局部搜索的像素选择方法:通过了解几个像素对输出的影响大小,将其用于更新当前图像。
-
只需扰动一小部分像素即可生成对抗性示例:如在 ImageNet1000 上,平均每张图片只需扰动约 0.5% 的像素。
-
分类错误扩展到了k-错误分类:定义了k-错误分类的概念,而非传统的k=1的简单情况。(这一点在下面说明)
首先明确对抗目标:扰动后使得模型错误分类。
本文的错误分类概念并非传统的【不同于图像原本的分类标签】,而是定义了一个k-错误分类的概念,即扰动后的图像分类预测结果要在原图像分类预测结果的至少k个其他标签以外。例如:原图I预测结果为[香蕉0.9,橘子0.8,苹果0.7,梨0.6,葡萄0.5],传统的界定方式只需要扰动后的图像I'预测结果不为香蕉即可&