对抗样本(相关知识整理)

最近在学习接触一些对抗样本的相关知识、论文,整理分享如下。
(未完待续)

1.什么是对抗样本:

在原有真实样本的基础上稍加处理,使原有分类器对其真实类别无法判别;
(比如带了一个面具之后你不认识我了,或者说是批了一个羊皮,你就识别不出来我是一个人了。)
在这里插入图片描述

2.对抗样本有什么用:

对于人脸识别,我带上一个特制眼镜就识别不出来我是谁了;
对于安保摄像识别人的系统,我穿了一个特制衬衫,摄像头就识别不出来我是一个人了。
路标指示牌上我贴了一个贴纸之后,自动驾驶就识别指示牌识别错误了。

3.如何生成对抗样本:

(注意,模型对于图像彩色、灰度、尺寸、压缩、模糊等是具有鲁棒性的)
基本原理就是对于原样本像素值的一个扰动。
在这里插入图片描述
1)测试集角度上样本处理

1、基于像素值的变化

1)FGSM(Fast Gradient Sign Method):

扰动值:设置为模型损失梯度的sign函数,

在经典的FGSM算法中,根据相应的代价梯度方向(符号)对所有的输入像素进行相同程度的正负变化;(我们发现仅仅利用梯度最低和最高的部分像素值同样可以产生有效的对抗样本)

2)DeepFool
扰动处理,直到分类错误(达到目的),停止扰动(计算了到达决策边界的xi的扰动向量,并更新了当前估计。直到预测的xi类发生变化,算法才停止),产生一个最好的近似最小的扰动值。

3)CW Attacks
同样利用了优化算法寻找尽可能小的扰动值。

(论文:Detecting Adversarial Image Examples in Deep Neural Networks with Adaptive Noise Reduction)

2、学习一个图像块应用于目标:

不是改变像素值,而是生成可以数字化地放置在图像上的补丁来欺骗分类器。
在这里插入图片描述
其目标loss由3部分组成:
在这里插入图片描述
首先是Lnps保证图像块可印刷;Ltv保证图像块过渡平滑无噪声;Lobj最小化目标或类别分数最低,从而输出错误结果;
优化器的目标是最小化总损失L.在优化过程中,我们冻结网络中的所有权重,只更改补丁中的值。(补丁中的值最开始是随机初始化的,注意补丁放于图像上进行总体训练)

(论文:Fooling automated surveillance cameras: adversarial patches to attack person detection)

2)训练集角度上

训练时间攻击,通过有界扰动修改训练数据,希望在测试时间内,当面对干净的样本时,能够操纵任何相应的训练分类器的行为(既有针对性的,也有非针对性的)
使用一个类似于自动编码器的网络去产生扰动;

1.普通的对抗样本,只要是预测错误即达到目的
在这里插入图片描述
干净样本x,噪声产生器g,在最小化纯净样本x+噪声g的loss损失下,最大化纯净样本的loss;

2.产生特定标签的对抗样本,即本身是A类使其预测为指定的B类(而不是随意其他什么预测)
对抗样本不仅希望分类器做出错误的预测,而且还希望分类器根据一些预定义规则进行特定的预测;
在这里插入图片描述
如上所示对于噪声产生器g的产生形式不变,变的是上面的标签yita(y),最小化损失纯净样本与yita(y),这里的yita(y)即是由攻击者预定义的标签;

(论文:Learning to Confuse: Generating Training Time Adversarial Data with Auto-Encoder,周志华)

4.难点

对于人体目标检测,类内结构变化明显(不同长相、肤色、体型、姿势、形态)

利用的数据集:MNIST、ImageNet、COCO;
使用的模型:GoogLeNet、yolo2

5.如何防御对抗样本

1)将扰动视为噪声,利用了两种图像处理技术:
所有的对抗性扰动都是在图像后面添加的,因此对降噪过程的容忍度往往低于原始图像信息
将DNN对抗性样本的rao动建模为图像噪声,并引入经典的图像处理技术来降低其影响。这使我们能够在不事先了解攻击技术的情况下有效地检测对抗性示例;

1.标量量化
就是像素值的映射,位于同一区间的不同像素映射到同一个值;
量化是用一个较小的(有限的)值表示一个大的(可能是无限的)值集的过程,例如,将实数映射到整数;
在图像处理中,量化常被用作一种有损压缩技术,通过将一个像素强度范围映射到一个表示一个像素强度的范围。换句话说,减少图像的颜色数量以减少其文件大小。

对于每一个像素区间大小的选取显得非常关键,这里利用了图片熵的信息进行选取(图片熵描述了图片含有信息量的大小,对于熵较大的部分可以适当减小映射区间的范围);
在这里插入图片描述
2.平滑空间滤波

思想是基于像素的局部邻域修改图像中像素的值。
线性平滑滤波就是一个基本的卷积核卷积的结果;
在这里插入图片描述
(论文:Detecting Adversarial Image Examples in Deep Neural Networks with Adaptive Noise Reduction)

6.为什么对抗样本能达到预期效果

研究表明,由于输入数据的高维性和深度神经网络的线性特性,深度模型对此类反例非常敏感;(正是神经网络内部的线性使得决策边界在高维空间中容易受到攻击。)

(convNets中从输入到分类结果的映射不是线性的,但是构成网络的部分是线性的,卷积操作就是线性操作,矩阵乘积也是线性操作)

这也就提供了一个修正深度模型的机会,因为可以利用对抗样本来提高模型的抗干扰能力,因此有了对抗训练的概念,通过对抗训练,相当于加了一种形式的正则,可以提高模型的鲁棒性。

DNN特性分析:
1)根据很多不同的unit analysis发现, 高层的神经元和高层神经元的随机线性组合是没有明显差别的.这就说明在高层的神经网络中,是space,而不是独立的个体单元,包含着语义信息;
2)DNN学习的input-output的映射在很大程度上是不连续的,我们能通过增加几乎不可察觉的扰动使网络误判,就是说学习到的f函数是不连续的,对于间隔部分的采样点,它不知道怎么分类;

一个是在采样层内部,每个单独结点的激活程度并不能唯一对应图像的某实际特征。图像特征是存在与整个空间内的,难以分开,不能将这些信息简单的分配给各个节点。

二是对抗样本也能骗过一些用不同样本训练的其他模型,证明了这些对抗样本的健壮性。

从直觉上来看,通过大量非线性层的叠加,深度学习的模型应该有比较强的泛化能力,即对于输入图像做微小的改变不会影响其分类的结果,或者说模型的输入与输出对应的在高维空间的形状(流形)应该是平滑的。但是根据论文,发现这个形状是不连续的。这是很严重的额问题,它意味着我们无法通过简单地计算图像在样本空间的距离来比较两张图片的差异。

参考链接:https://www.cnblogs.com/lainey/p/8552422.html
(论文: Intriguing properties of neural networks)

待再次完整。。

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值