论文源址:https://arxiv.org/abs/1710.08864

tensorflow代码: https://github.com/Hyperparticle/one-pixel-attack-keras

摘要

在对网络的输入上做点小处理,就可以改变DNN的输出结果。本文分析了一种极限条件下的攻击情形,只改变一个输入中的一个像素使网络的输出发生改变。本文提出了一个基于差分进化生成单像素的对抗性扰动。可以以最小攻击信息的条件下,对更多类型的网络进行欺骗。结果表明,CIFAR-10测试集上68.36%的自然场景图片,和41.22%ImageNet上的图片,可以通过修改一个像素,通过以73.22和5.52%的置信度对一个目标类别进行扰动欺骗。

介绍

在图像识别领域,DNN已经超过了传统的图像处理方法,甚至达到了人类的识别水平。然而,研究发现,在自然图片上加一些人为扰动可以改变使DNN进行错误的分类。并提出了有效生成“对抗图像”样本的算法。对抗图像生成的一个常规方法是通过在正确分类的图像上添加一些人眼观察不到的微量扰动。这些改变会使分类器对这些修改过的图片预测出一个不同类别。不幸的是,先前的攻击方法并没有考虑极限条件下的情形,扰动量过大(像对较多量的像素进行修改),以至于人眼可以观察到变化。    此外,研究在极限条件下对抗图像的生成可以对图像的几何结构及DNN在高维空间的整体行为产生新启发。比如,对抗图像与决策边界相关的特征对边界形状的描述有利。

本文提出了一个黑盒DNN攻击,仅扰动一个差分进化的单个像素,而其中唯一可用的信息是概率标签。贡献如下:

(1)有效性,在CIFAR-10数据集上,在三个常见的网络结构框架上进行无目标攻击,有效率为68.71%,72.85%,63.53%。平均每个图片可以被扰动为1.9,2.3和1.7个其他的类别。在ImageNet上BVLC和AlexNet模型攻击的有效率为41.22%。

(2)半黑盒攻击:只需要返回概率标签,而不需要返回想梯度和网络结构等内部信息等。本文只考虑了概率标签,而不是所有明确目标的抽象化。

(3)  灵活性:可以对梯度难以计算和不可微的网络进行攻击。

本文对单像素极限条件下攻击的思考原因:

I.自然图像邻域的分析,以前通过限制固定干扰向量长度分析自然图片的邻域。比如,通用扰动在每个像素上添加一些小的变化,在图像的周围获得球形范围内的对抗样本。同时,少量像素扰动可以看做是对输入空间以较低维度进行切分,与DNN网络中高维度提取输入特征不同。

II.可观测性的评价指标,实际过程中,攻击可以对隐藏的对抗信息有效果。前人的工作没有可以保证做的改变不被人观察到。一种直接方式是尽可能少的修改扰动量。本文提出了简单的限制扰动像素的个数,而不是增加额外的限制条件与设计复杂的损失函数构建扰动,换言之,本文通过控制扰动像素的个数而不是扰动向量来评估扰动的强度。考虑了最差情形,单个像素的条件。

相关工作

DNN的安全问题也是一个热点话题,(1)有通过基于反向传播算法获得的梯度算法对人工扰动的敏感度进行调优操作。(2)快速梯度信号 算法计算有效的扰动,前提是基于输入的维度较高且输入为线性,因此,分类数较多的网络对小扰动敏感。(3)提出基于DNN的分类边界为线性的假设,贪婪型的扰动搜索算法(3)不需要中间系统的信息像梯度等进行黑盒攻击操作。由于较高维度空间很难理解,因此,DNN的边界的性质很少有人关注。然而,对DNN网络对对抗扰动鲁棒性的研究为上述复杂问题带来了曙光。比如,每个自然图像和任意图像对于对抗干扰是脆弱的,加入图片是均匀分布的,则输入空间中大部分输入数据的点聚集在边界附近。有研究表明,扰动大多影响在图像中发生曲折的部分。分析表明,可能DNN分类边界多样性的可能性较低,不同数据点边界附近的形状可能是相似的。

方法

问题描述 对抗图片的生成可以看作是一个带条件的优化问题,假定每个图片可以由向量表示,每个向量中的元素代表图像的一个像素值。f作为目标图像分类器,接受一个n维的输入代表原始正确分类为t的图片,对于输入x分类为t的概率为为根据输入x人为设计的一个对抗扰动,干扰目标类别为adv及最大修改限制L,L由e(x)的长度进行限制。对攻击性问题,主要解决如下优化问题。

问题主要分为两个部分(1)需要干扰的维度(2)每个维度需要干扰多大的量,本文有点不同,对于单像素,d为1,先前的工作需要修改部分像素。

对于单像素的修改可以看作是沿着n维向量中的一个平行的方向对数据点进行扰动。对3(5)个像素点进行修改,将数据点变换到3(5)维空间中。一般来说少量的像素攻击,在输入切片低维上造成扰动。实际上,并不关心扰动的强度,单个像素可以对图片中的n个方向进行多个维度任意强度的攻击。

如下图,

因此,通常扰动样本的建立是通过扰动所有像素建立,来建立修改程度和最大的,本文的思考方向相反,只考虑修改扰动的像素数量,而不是扰动的强度。

     差分进化(DE) 差分进化算法是解决复杂多模型优化问题的优化算法。DE属于一般的进化算法,在population select阶段可以保持多样性,实际中相比梯度和其他进化算法,更加高效的寻找可行解,在每次迭代过程中,根据当前的population(father)生成候选解集合(child)。每个子类与其对应的父类进行比较,如果比父类更适合,则可以留存下来。这样,只与父类和子类进行比较,在保持多样性同时可以获得较高的稳定值。由于,DE不需要梯度的信息进行优化,因此,不要求目标函数是已知的或者是可微分的。比梯度下降方法可应用的问题更广(像不可分,动态噪音等)。基于DE算法进行对抗图像的生成有以下几个优点:

I.可以以更大的概率找到全局最优解。DE不像梯度下降或者贪婪算法那样受局部影响较大(保持多样性的机制及子候选解集影响)。本文中有一个很强的限制条件,(只允许修改一个像素)使问题变得更加复杂。

II.需要得信息更少。DE不需要梯度下降,拟牛顿法等优化方法需要的信息进行优化求解。这对于对抗图片的生成是至关重要的。(1)有些网络是无法进行区分的(2)为了求解梯度信息需要获得目标系统更多的信息,有时是无法获得的。

III简易性 本文提出的方法与分类器无关,获得类别的概率就足够。

仍存在许多进化算法的改进体,像自适应,夺目标算法等。

方法和参数设置

将扰动量编码维array,通过DE算法进行优化。一个候选解集中包含固定数量的扰动,每个扰动由五个元素组成(x,y坐标值及RGB的像素值)一个扰动修改一个像素值,初始候选解 的数量为400个,基于DE算法生成子候选解集(400)个。每个候选解根据population的索引与其对应的父类进行比较,获胜的则存活下来进行下一次生成。迭代最大次数为100,当目标类别的概率大于一个半分比也可以提前停止。如果攻击成功,则真实类别的标签与分数最高的假类别进行比较。

population初始化:CIFAR-10 U(1,32) ImageNet U(1,227)基于上述两个分布生成坐标。基于高斯分布N

来初始化RGB的值  ,对于CIFAR-10,适应度函数为概率类别的标签,ImageNet为真正的标签。

实验

评价指标:

(1)Success   Rate: 在非目标攻击的情况下,被定义为对抗图像被成功分为任意其他类别的比例。 在目标攻击的情况下,它被定义为将图像扰动为一个特定目标类的概率。

(2)Adversarial Probability Labels(confidences):累加每次成功扰动为目标类别概率值,然后除以成功扰动的总数。表示模型对对抗图像产生“误分类”的confidence。

(3)Number of target classes  计算成功扰动到一定数量类别的图片的数量。尤其,计算无法被其他类别扰动的图片数量,可以评估非目标攻击的有效性。

(4)原始目标类别对的数量  计算原始目标类别对被攻击的次数。

 Reference

[1] M. Barreno, B. Nelson, A. D. Joseph, and J. Tygar. The securityofmachinelearning. MachineLearning,81(2):121– 148, 2010.

[2] M. Barreno, B. Nelson, R. Sears, A. D. Joseph, and J. D. Tygar. Can machine learning be secure? In Proceedings of the 2006 ACM Symposium on Information, computer and communications security, pages 16–25. ACM, 2006.

[3] J. Brest, S. Greiner, B. Boskovic, M. Mernik, and V. Zumer. Self-adapting control parameters in differential evolution: A comparativestudyonnumericalbenchmarkproblems. IEEE transactions on evolutionary computation, 10(6):646–657, 2006.

论文阅读笔记三十:One pixel attack for fooling deep neural networks(CVPR2017)的更多相关文章

  1. One Pixel Attack for Fooling Deep Neural Networks

    目录 概 主要内容 问题描述 Differential Evolution (DE) 实验 Su J, Vargas D V, Sakurai K, et al. One Pixel Attack f ...

  2. 论文阅读笔记三十四:DSSD: Deconvolutiona lSingle Shot Detector(CVPR2017)

    论文源址:https://arxiv.org/abs/1701.06659 开源代码:https://github.com/MTCloudVision/mxnet-dssd 摘要 DSSD主要是向目标 ...

  3. 论文阅读笔记三十五:R-FCN:Object Detection via Region-based Fully Convolutional Networks(CVPR2016)

    论文源址:https://arxiv.org/abs/1605.06409 开源代码:https://github.com/PureDiors/pytorch_RFCN 摘要 提出了基于区域的全卷积网 ...

  4. 论文阅读笔记三十六:Mask R-CNN(CVPR2017)

    论文源址:https://arxiv.org/pdf/1703.06870.pdf 开源代码:https://github.com/matterport/Mask_RCNN 摘要 Mask R-CNN ...

  5. 论文阅读笔记三十二:YOLOv3: An Incremental Improvement

    论文源址:https://pjreddie.com/media/files/papers/YOLOv3.pdf 代码:https://github.com/qqwweee/keras-yolo3 摘要 ...

  6. 论文阅读笔记三十九:Accurate Single Stage Detector Using Recurrent Rolling Convolution(RRC CVPR2017)

    论文源址:https://arxiv.org/abs/1704.05776 开源代码:https://github.com/xiaohaoChen/rrc_detection 摘要 大多数目标检测及定 ...

  7. 论文阅读笔记三十八:Deformable Convolutional Networks(ECCV2017)

    论文源址:https://arxiv.org/abs/1703.06211 开源项目:https://github.com/msracver/Deformable-ConvNets 摘要 卷积神经网络 ...

  8. 论文阅读笔记(十八)【ITIP2019】:Dynamic Graph Co-Matching for Unsupervised Video-Based Person Re-Identification

    论文阅读笔记(十七)ICCV2017的扩刊(会议论文[传送门]) 改进部分: (1)惩罚函数:原本由两部分组成的惩罚函数,改为只包含 Sequence Cost 函数: (2)对重新权重改进: ① P ...

  9. 论文阅读笔记四十四:RetinaNet:Focal Loss for Dense Object Detection(ICCV2017)

    论文原址:https://arxiv.org/abs/1708.02002 github代码:https://github.com/fizyr/keras-retinanet 摘要 目前,具有较高准确 ...

随机推荐

  1. 【NLP CS224N笔记】Lecture 2 - Word Vector Representations: word2vec

    I. Word meaning Meaning的定义有很多种,其中有: the idea that is represented by a word,phrase,etc. the idea that ...

  2. NDT 算法和一些常见配准算法

    原文链接:http://ghx0x0.github.io/2014/12/30/NDT-match/ 目前三维配准中用的较多的是ICP迭代算法,需要提供一个较好的初值,同时由于算法本身缺陷,最终迭代结 ...

  3. P5239 回忆京都

    题目地址:P5239 回忆京都 杨辉三角即组合数的"打表"形式 再求一个二维前缀和 然后处理一下负数即可(因为在求前缀和的过程中有减法) #include <bits/std ...

  4. 20165231 预习作业3 linux安装及学习

    linux安装 由于以前稍微关注过虚拟机相关知识,所以大致知道虚拟机软件的相关知识.目前我已知的普遍使用的虚拟机软件是VMware Workstation(下文简称VM),VirtualBox(下文简 ...

  5. 2018 Multi-University Training Contest 9 杭电多校第九场 (有坑待补)

    咕咕咕了太久  多校博客直接从第三场跳到了第九场orz 见谅见谅(会补的!) 明明最后看下来是dp场 但是硬生生被我们做成了组合数专场…… 听说jls把我们用组合数做的题都用dp来了遍 这里只放了用组 ...

  6. 【python网络爬虫】之requests相关模块

    python网络爬虫的学习第一步 [python网络爬虫]之0 爬虫与反扒 [python网络爬虫]之一 简单介绍 [python网络爬虫]之二 python uillib库 [python网络爬虫] ...

  7. MII、RMII、GMII接口的详细介绍【转】

    转自:https://www.cnblogs.com/geekite/p/5204512.html 概述: MII (Media Independent Interface(介质无关接口)或称为媒体独 ...

  8. 用while实现阶乘

    题目描述: 用while语句求1!+2!+3!+...+10! #include<iostream> #include<cstdio> using namespace std; ...

  9. DHCP Server (推荐使用Windows)

    一些小的服务 windows做的比linux好 DHCP服务概述: 名称:DHCP (Dynamic Host Configuration Protocol --动态主机配置协议) 功能:是一个局域网 ...

  10. dynamic详解

    一.简介 在通过 dynamic 类型实现的操作中,该类型的作用是绕过编译时类型检查, 改为在运行时解析这些操作. dynamic 类型简化了对 COM API(例如 Office Automatio ...