对抗样本论文笔记:BPDA-Obfuscated gradients give a false sense of security

一 论文框架

1. 简介

1.1 背景:

  • 白盒攻击的防御策略有但还不够好
  • 增强对迭代攻击的鲁棒性的常见策略是模糊梯度

1.2 方法:

  • 本文定义了三种类型的混淆梯度:
    ->破碎梯度(Shattered gradients):是不存在或不正确的梯度
    ->随机梯度(Stochastic gradients):取决于测试时间的随机性
    ->消失/爆炸梯度(Vanishing/exploding gradients):深度计算中梯度消失或梯度爆炸
  • 本文提出后向微分近似(Backward pass differentiable approximation, BPDA)方法,攻克运用混淆梯度来进行防御的网络
  • BPDA方法:将前向导数和后向导数近似化,克服破碎梯度问题

1.3 效果

  • 论文选取了ICLR 2018的防御方法,9个方法中有7个依赖于梯度掩蔽,BPDA方法完全避开6个防御,部分避开1个防御。
  • 论文代码:https://github.com/anishathalye/obfuscated-gradients

2. 序

2.1 记号

  • f(x):分类器
  • f(x)i:输入x的标签是i的概率
  • fj(x):网络第j层

2.2 对抗样本

  • 给定原输入x和变换后的输入x’,x和x’的距离够近,但是x和x’作为输入时,分类器输出结果不同——x’就是x的对抗样本。
  • 本文使用无穷范数和2范数作为距离度量。无穷范数使用归一化的[0,1]空间,2范数使用像素总数归一化的总均方根失真。

2.3 数据集和模型

  • 数据集的挑选:
    -如果防御方法生成在MNIST和任何其他数据集上都具有安全性,就评估较大数据集上的防御。在MNIST和CIFAR-10上,评估整个测试机的防御并生成无针对性的对抗样本。

  • 不同数据集,训练模型的选择:

–MNIST:5层CNN,准确率99.3%
–CIFAR-10:ResNet,准确率95%
–ImageNet:InceptionV3,78.0%的top-1,93.9%的top-5

2.4 威胁模型

  • 本文考虑白盒攻击。

2.5 攻击方法

  • 迭代优化
  • 最小化扰动 or 最大化分类损失
  • 生成方法:
    -生成无穷范数对抗样本:PGD
    -生成2范数对抗样本:C&W

3. 混淆梯度

  • 梯度掩蔽:通过一些操作使攻击者无法计算梯度

  • 事实证明,梯度掩蔽无法完全防御对抗攻击,但是,大部分防御方法还是依赖于梯度掩蔽(这也导致BPDA可以攻击大部分防御方法)

  • 本文将防御设计为梯度掩蔽的方法,梯度掩蔽可以分为三类:
    -破碎梯度(Shattered gradients):防御不可微、引入数值不稳定或其他方式导致梯度不存在或不正确时,产生破碎梯度
    -随机梯度(Stochastic gradients):这种防御中,网络本身是随机的,或者输入是随机变换的。这会导致攻击者针对单个随机性样本错误估计真实梯度。
    -爆炸/消失梯度(Exploding & vanishing gradients):多次迭代的神经网络,深度神经网络中,会导致梯度消失或者梯度爆炸

  • 自己的理解:
    梯度消失和梯度爆炸,通常是因为神经网络的深度造成的,例如同一个输入值100,处理它的权值全都小于1(大于1),这样最后得到的输出值,就会越来越小(大)越来越小(大),如果网络够深,这个输入值就会消失(爆炸)。

3.1 识别混淆梯度

防御方法的典型表现:

  • 单步攻击的性能优于迭代攻击
    本来呢,迭代攻击要比单步攻击更严密,性能更好。但是如果在一个网络中,单步方法性能优于迭代方法的性能,则意味着迭代攻击可能陷入局部最优值。
    在这里插入图片描述
    ↑↑↑图,x2点处,根据梯度下降,迭代方向是x轴正向,就会陷入右边的局部最优,而全局最优实际上是在x轴负向。
  • 黑盒攻击优于白盒攻击
    黑盒威胁模型是白盒威胁模型的严格子集,所以正常情况下,白盒攻击应该比黑盒攻击更有效。但是在混淆梯度的防御模型中,黑盒攻击反而优于白盒攻击。
    (因为黑盒攻击不使用梯度,所以在攻击混淆梯度的模型时,这一防御措施对黑盒攻击没啥用。)
  • 无限攻击没有达到100%的成功率
    按理来说,如果扰动是无限的,那么神经网络的抵抗性应该为0,所以如果一个无限扰动的攻击没有达到100%的成功率,那么说明这个攻击还挺辣鸡的,还需要优化提升。
  • 随机抽样可以找到对抗样本。
    当没有基于梯度的攻击时,在邻域内蛮力随机搜索应该找不到对抗样本。(言外之意是基于混淆梯度的防御模型,通过随机搜索能够找到对抗样本。)
  • 失真范围的增加不会提高成功率。
    较大的失真范围应该单调提升攻击成功率的,失真边界的显著增加也将导致更高的攻击成功率。(但基于混淆梯度的防御模型不行。)

4. 攻击技术

4.1 BPDA(后向微分近似)

4.1.0 重要!!!最新理解!!!BPDA到底是个啥!!!

之前一直没搞懂很重要的一个问题:BPDA到底是咋实现的?原论文里面就按4.1这一节的内容介绍了,然后就做防御测试了,最初没咋看明白到底是咋算的。。。原谅一个科研菜鸡的反射弧长度吧。T_T
那么,重点来了。
这个BPDA嗷,它嗷,它特么就是个预处理器啊! 它不生产对抗样本啊,它只生产原始样本的一个近似样本啊!
意思就是说嘞,如果我要用BPDA达到攻击效果,必须用BPDA +(FGSM、BIM、DF、CW……)
4.1.1节里有个图,那个预训练的分类器f,是我理解错了,应该是个预训练的f,这个f不是个分类器,它是个对抗样本生成模型啊!!! 想通了这个点,就很好理解BPDA的原理了,就是现在不是好多防御方法,都破坏梯度,求不了梯度嘛(混淆梯度),那么我就不求你的梯度,我求一个滑溜的、DNA跟你99%相似的你的兄弟的梯度。你是x,你的兄弟就是g(x)。
听懂掌声。

4.1.1 特殊情况:直通估算器(Straight-through estimator, STE)
  • STE:适用于构造对抗样本
  • 很多不可微防御模型可表示为:
    -预训练的分类器f
    -构造一个预处理器g,(g的功能是:图像去噪,消除对抗扰动。)
    如果g光滑可微,那么组合网络f^计算梯度可以绕过防御(C&W)。
    近期工作构造了既不平滑也不可微的函数g,无法反向传播。
    在这里插入图片描述
  • 数学原理:
    g被构造为:g(x)≈x
    则:
    ∇ f ( g ( x ) ) ∣ x = x ^ ≈ ∇ f ( x ) ∣ x = g ( x ^ ) \nabla f(g(x))|_{x = \hat{x}} ≈ \nabla f(x)|_{x = g(\hat{x})} f(g(x))x=x^f(x)x=g(x^)
    基于此,能够计算梯度,从而发动白盒攻击——
    照常通过神经网络进行正向传播,但在反向传递中,使用恒等函数代替g。(实践中,可以通过点在g(x)上评估f(x)关于x的梯度。)
4.1.2 广义攻击:BPDA

  • 攻击破碎梯度模型

将上述攻击推广到一般攻击:
f ( ⋅ ) = f 1... j ( ⋅ ) . f(·) = f^{1...j}(·). f()=f1...j().
f i ( ⋅ ) 表 示 一 个 不 可 微 的 层 。 f^{i}(·)表示一个不可微的层。 fi()
为了近似f(x)对x的梯度,首先找到一个可微近似g(x),使得:
g ( x ) = f i ( x ) g(x)= f^{i}(x) g(x)=fi(x)
再次,前向常规传递,后向采用g(x)近似。

  • 实验证明:向前向后都使用g(x)效果不好,只有前向正常操作,后向微分近似效用才好。

  • 攻击随机梯度模型

4.2 攻击随机分类器

如果在分类器对输入进行了随机变换,或者使用随机分类器,就会出现随机梯度。若要攻击这类防御模型,就需要估计随机梯度。

  • EOT(Expectation over Transformation):使用EOT计算对输入的期望变换的梯度
    t(·)是分类器f(·)前对输入的变换函数,EOT可以优化变换的期望值。优化问题通过梯度下降求解:
    ∇ E t ∼ T f ( t ( x ) ) = E t ∼ T f ( t ( x ) ) \nabla E_{t\sim T}f(t(x)) = E_{t\sim T}f(t(x)) EtTf(t(x))=EtTf(t(x))
    通过分类器和变换求微分,并用每个样本的期望值近似梯度下降步骤。

  • 攻击梯度消失/爆炸模型

4.3 再参数化

分类器f(g(x)),g(·)执行优化循环转换输入x。通过g进行微分,但会产生消失/爆炸梯度。

解决办法:
对输入进行变换:
x = h ( z ) x = h(z) x=h(z)
其中,对所有z,有:
g ( h ( z ) ) = h ( z ) g(h(z)) = h(z) g(h(z))=h(z)
h(z)可微。

5 案例研究:ICLR 2018 防御

攻击与防御之间的不对称性在于:有效的防御需要防住所有攻击,而有效的攻击却只要成功一次就可以。

  • 不同数据集之间的防御比较挺困难

    ↑↑↑ 在ICLR 2018上接受的九种防御技术中有七种会造成混淆的梯度,并且容易受到BPDA攻击。用*表示的防御建议进行对抗训练。用∗∗表示的防御背后的基本原理具有0%的准确性;实际上,缺陷会导致理论上最佳的攻击失败。

5.1 非混淆梯度

5.1.1 对抗训练

最早提出对抗训练的是Goodfellow,提出的FGSM-AT(FGSM-Adversarial Training)
Madry等人提出了PGD-AT
……

  • 结论:对抗训练不会产生混淆梯度。
5.1.2 级联对抗训练

与AT的区别在于:
作者没有使用迭代方法在每个小批量生产中生成对抗性示例,而是训练了第一个模型,在该模型上生成了对抗样本(使用迭代方法),将它们添加到训练集中,然后训练了增强数据集上的第二个模型仅采用单步方法以提高效率。此外,作者构建了“统一嵌入”,并要求在一定度量标准下,干净的和敌对的对数接近。

  • 结论:效果一般般吧,预算大大的吧

5.2 梯度粉碎

5.2.1 温度计编码(TE)

一、TE方法

  • 假设前提:对抗样本的成因是神经网络的高维线性(Goodfellow,2014b)

  • 目的:打破线性关系

  • 编码:
    给定x,如果
    x i , j , c 表 示 单 个 像 素 x_{i,j,c}表示单个像素 xi,j,c
    τ ( x i , j , c ) = 1 , i f ( x i , j , c > k / l ) \tau(x_{i,j,c}) = 1 ,if (x_{i,j,c}>k/l) τ(xi,j,c)=1,if(xi,j,c>k/l)
    τ ( x i , j , c ) = 0 , o t h e r w i s e \tau(x_{i,j,c}) = 0 ,otherwise τ(xi,j,c)=0,otherwise
    为了解决编码值的离散性,构建Logit-Space投影梯度上升(LS-PGA)作为对离散TE输入的攻击。在此基础上,还可加入对抗训练。

  • 结论:这种防御会引起破碎梯度

二、BPDA的攻击

  • 设置:
    f ( x ) = τ ( x ) f(x) = \tau(x) f(x)=τ(x)
    定义:
    τ ^ ( x i , j , c ) k = m i n ( m a x ( x i , j , c − k / l , 0 ) , 1 ) \hat{\tau}(x_{i,j,c})_k = min(max(x_{i,j,c} - k/l,0),1) τ^(xi,j,c)k=min(max(xi,j,ck/l,0),1)
    有:
    τ ( x i , j , c ) k = f l o o r ( τ ^ ( x i , j , c ) k ) \tau(x_{i,j,c})_k = floor(\hat{\tau}(x_{i,j,c})_k) τ(xi,j,c)k=floor(τ^(xi,j,c)k)
    使:
    g ( x ) = τ ^ ( x ) g(x) = \hat{\tau}(x) g(x)=τ^(x)
    使用g(x)代替后向传递函数。

  • 效果:
    1.原模型:
    在标准对抗训练模型上生成的对抗样本转移到温度计编码的模型,从而将准确性降低到67%,远低于白盒迭代攻击的80%鲁棒性。
    2.BPDA攻击后:
    LS-PGA仅在未经对抗训练的情况下训练的TE模型上将模型准确性降低至50%(以ε= 0.031为界)。相反,我们获得1%的模型精度,而较低的ε= 0.015(以及ε= 0.031时准确率为0%)。
    这表明与未经TE训练的标准模型相比,没有可测量的改进。

总结:

模型准确率(%)
白盒迭代攻击80
AT产生的AE攻击TE67
LS-PGA(无AT)50
BPDA攻击LS-PGA30

在这里插入图片描述
↑↑↑ 图表示了模型准确度与扰动的关系。TE的价值有限。甚至在结合对抗训练时,还不如直接对抗训练呢。

5.2.2 输入转换

一、方法
Guo等人提出了5种输入转换以产生对抗样本的方法:

  • 图像裁剪和缩放
  • 位深度缩小
  • JPEG压缩
    作者新提的:
  • 随机丢弃像素并用TVM恢复
  • 图像quilting:通过clean example图像中的小块替换小块重建图像,使用重叠边界区域中的最小图形切割来去除边缘伪影

点评:最强的防御实现了Inception V3 60%的top-1准确性

二、BPDA攻击

  • 直接使用EOT避免图像裁剪和缩放
  • 为了避免位深度减少和JPEG压缩,使用BPDA并使用标识函数来估计反向传递
  • 为了避免不可微变和随机化的TVM和图像quilting,应用EOT并使用BPDA通过变换近似梯度

结论:对于最强的防御,可以达到100%的目标攻击成功率,模型准确率下降到0%。

5.2.3 局部内在维度(Local Intrinsic Dimensionality)LID
  • LID用来度量从输入到邻居的距离。
  • 但是LID不能检测到高置信度的对抗样本,即使对那种对抗样本对检测和防御方法来说非常明显的威胁模型来说,都不能检测。

5.3 随机梯度

5.3.1 随机激活修剪

TO BE CONTINUED

  • 8
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值