通用对抗扰动——Universal adversarial perturbations

Universal adversarial perturbations

来自CVPR2017的一篇论文。引用量也上千了。
https://openaccess.thecvf.com/content_cvpr_2017/html/Moosavi-Dezfooli_Universal_Adversarial_Perturbations_CVPR_2017_paper.html

概述

对抗样本,众所周知,其目的就是在图像中添加一个扰动,使得图像在推理环节中给出错误的输出。也就是:
f ( x + δ ) ≠ f ( x ) f(x+\delta)\neq f(x) f(x+δ)=f(x)
但是此前有许多论文的 δ \delta δ都是一图一 δ \delta δ,私人定制。通过梯度或者优化等方式寻找一个扰动。这种方法的效果固然好,但是存在一个缺点就是……低效。
那么有没有一种方法,一劳永逸,只需要一个扰动就能迁移到所有的图像上?
这就是这篇论文想要讨论的。

通用扰动

目标是,找到一个通用扰动 v v v,使得对于大多数图像 x x x
k ^ ( x + v ) ≠ k ^ ( x ) \hat k(x+v)\neq\hat k(x) k^(x+v)=k^(x)
还有一些约束,以保证视觉质量和攻击效果
通用对抗扰动——Universal adversarial perturbations_第1张图片
算法的实现:非常简单
给定数据集 X = { x 1 , … , x m } X=\{x_1,\dots,x_m\} X={x1,,xm}。在数据集 X X X上的数据点进行迭代,逐步构建通用扰动。
通用对抗扰动——Universal adversarial perturbations_第2张图片
迭代求解,就是在之前的扰动 v v v的基础上,计算出一个新的扰动量。具体的优化公式如下:
在这里插入图片描述
但是这里简单的相加显然是不太行的,因此需要对进行变换
根据这个公式计算出新的 v v v
在这里插入图片描述
实际更新的过程时这样的:
在这里插入图片描述
这个公式的原理如下

在原有扰动的基础上,通过对抗攻击生成新的扰动 r r r,最小化的 r r r就是 Δ v i \Delta v_i Δvi。但是如果直接相加,会导致新的扰动溢出(我自己瞎写的名词),也就是扰动超出约束 ξ ξ ξ
因此,需要对扰动进行变形。也就是变换 P P P。这个变换的目的,显而易见,就是找出与 v + Δ v i v+\Delta v_i v+Δvi距离最近的一组满足约束的变换。
解读完毕。

算法如下:
通用对抗扰动——Universal adversarial perturbations_第3张图片
这边顺便提一嘴,迭代的终止条件就是错误率达到要求。
在这里插入图片描述

实验结果

实验结果很不错。
通用对抗扰动——Universal adversarial perturbations_第4张图片

通用对抗扰动——Universal adversarial perturbations_第5张图片
扰动图(放大后)。有一种别样的美感。

通用对抗扰动——Universal adversarial perturbations_第6张图片

你可能感兴趣的:(深度学习)