对抗样本防御与攻击:模糊梯度和BPDA

原文标题:Obfuscated Gradients Give a False Sense of Security: Circumventing Defenses to Adversarial Examples

摘要

混淆梯度是一种梯度隐蔽方法,用来防御对抗攻击。

混淆梯度有一定效果,但是可以被绕过,而且作者攻击的效果极好。

intro

梯度隐藏:没有梯度,那么攻击者就不能用优化方法完成迭代。

混淆梯度的三种形式:

  • 破碎梯度:梯度不存在、不正确,由数值不稳定性/不可微运算引起
  • 随机梯度:依赖于时间的随机性,比如网络本身是随机的,在输入到分类器之前是随机变换的
  • 爆炸、消失梯度:即梯度爆炸/梯度消失

新的攻击技术:反向传播可微近似(BPDA)

混淆梯度

一个防御方法如果说是梯度隐蔽的话,那么它意味着没有有用的梯度。

混淆梯度的机理:防御措施必然会引入梯度掩蔽。

一些表现:

  • 一步攻击比迭代攻击效果好
  • 黑盒攻击比白盒攻击效果好
  • 无界攻击不是100%成功

攻击技术

BPDA

防御技术的原理:给定一个分类器 f f f,做一个预处理器 g ( x ) g(x) g(x)约等于 x x x,使得 f ( g ( x ) ) f(g(x)) f(g(x))作为加固的分类器。 g g g如果可微,则可以用反向传播日穿它(即根据梯度来生成对抗样本)。但是 g g g不一定是可微的。BPDA就是想把这个 g ( x ) g(x) g(x)近似地认为是 x x x,然后做反向传播。

一般的BPDA就是为无法微分的层找一个近似(因为原来的网络是训练好的,我们如果改动太大的话网络就废了),用这个近似的层来完成反向传播

应用BPDA时,可能需要更多次的迭代。

EOT

如果防御者对输入有随机变换,我们就取期望(做采样)。

重参数化

f ( g ( x ) ) f(g(x)) f(g(x)) g g g会导致梯度爆炸/消失,则找一个可微 x = h ( z ) x = h(z) x=h(z),使得 g ( h ( z ) ) = h ( z ) g(h(z)) = h(z) g(h(z))=h(z),然后计算 f ( h ( z ) ) f(h(z)) f(h(z))

验证

攻击防御与构建强大防御之间存在不对称性:为了证明防御可以绕过,只需证明一种方法即可;相反,防御者必须证明任何攻击都不可能成功。

猜你喜欢

转载自blog.csdn.net/weixin_43466027/article/details/118653883