查看原文
其他

L0对抗攻击JSMA的算法盘点

孙裕道 PaperWeekly 2022-07-04


©PaperWeekly 原创 · 作者|孙裕道
学校|北京邮电大学博士生
研究方向|GAN图像生成、情绪对抗样本生成

引言

JSMA 是非常著名的对抗攻击,它第首次在对抗攻击中引入了 的度量方式, 度量本质上是限制输入图象中扰动像素点的个数。基于梯度和 GAN 的对抗攻击是基于全局性扰动,生成的对抗样本能够被人眼所察觉,而 JSMA 生成的对抗样本是基于点扰动,所以产生的对抗性扰动相对而言就会小很多。本文总结了三篇关于 JSMA 算法的论文,并详细扩展了论文中一些略去算法细节。这三篇论文分别是:
  • The Limitations of Deep Learning in Adversarial Settings, 2016年
  • Maximal Jacobian-based Saliency Map Attack, 2018年
  • Probabilistic Jacobian-based Saliency Maps Attacks, 2020年


JSMA


论文标题
The Limitations of Deep Learning in Adversarial Settings


论文链接
http://arxiv.org/pdf/1511.07528

该论文中作者提出的概念 Adversarial Saliency Map 其实是扩展了深度神经网络模型可视化工具 Saliency Map。Adversarial Saliency Map 针对于白盒下的有目标攻击并指出了干净样本中哪些输入特征被干扰可以达到攻击效果。

本文中的 Adversarial Saliency Map 是基于神经网络前向求导得来。如果想要让神经网络分类器对干净样本 分类出错,出错的目标类别为 。一个直观的感觉就是必须增加 的概率,同时所有其他类的概率 减小。当像素点 增加是为了能够让 的概率值增大,则 是正数值,并且 为负数值或者是常数值。具体的公式如下所示(重新整理了JSMA中论文中的 (8) 公式):

其中, 为通过增加像素点而获得的 Adversarial Saliency Map。
当像素点 减小时是为了能够让 的概率值增大,则 是负数值,并且 为正数值或者是常数值。具体的公式如下所示(重新整理了 JSMA 中论文中的(9)公式):

其中, 为通过减少像素点而获得的 Adversarial Saliency Map。
结合公式(1)和公式(2)可知,不论是增加像素点还是减少像素点, 的数值是相反数才能够生成 Adversarial Saliency Map,所以将公式(1)和公式(2)整合为如下公式:

其中, 为通过变化像素点而获得的 Adversarial Saliency Map。
为了能够更容易理解论文的中心思想,做了一个示意图来解释论文中的算法。如下图所示,假设一个分类器的输出类别为 m 类,利用输出向量的每一个维度进行前向求导可得关于每个类别的 Saliency Map为 ,根据 JSMA 有目标攻击的算法可得 Target_map 为:


如下图为 LeNet 网络架构的 784 维输入的 Adversarial saliency map。其中图中显示了扰动时对输出有显著影响的特征值的大小。


下图所示的算法 1 展示了 JSMA 的单点攻击生成对抗样本的过程,具体详情如下所示。

下图所示的算法 2 展示了 JSMA 的两点攻击生成对抗样本的过程,具体详情如下所示。


MJSMA

论文标题
Maximal Jacobian-based Saliency Map Attack


论文链接

http://arxiv.org/pdf/1808.07945

JSMA 的一个缺点在于只能进行有目标攻击,不能实现无目标攻击,而且攻击需要制定方向(即增加像素还是减少像素)。在 MJSMA 的论文中作者提出了 JSMA 的两种变体,一种不需要指定目标类,另一种不需要指定攻击方向(即增加或减少像素)。

MJSMA 中的 Adversarial Saliency Map 是同样是基于神经网络前向求导得来。如果想要让神经网络分类器对干净样本 分类出错(这里指的是无目标攻击)。同 JSMA 的直观的感觉相反,就是必须减小 的概率,同时所有其他类的概率 要增大。当像素点 增加是为了能够让 的概率值减小,则 是负数值,并且 为正数值或者是常数值。具体的公式如下所示:

其中, 是无目标攻击的 Adversarial Saliency Map,它是通过增加像素点而获得的。
当像素点 减小时是为了能够让 的概率值减小,则 是正数值,并且 为负数值或者是常数值。具体的公式如下所示:

其中, 是无目标攻击的 Adversarial Saliency Map,它是通过减少像素点而获得的。
本文的一个创新之处在于针对无目标攻击作者综合了公式(3)和公式(4),让无目标攻击的 Adversarial Saliency Map 屏蔽掉了攻击的方向(即在无目标攻击中不需要特地指出是增加像素或者减少像素),具体的公式如下:

跟 JSMA 一样为了能够让 MJSMA 算法更容易理解,本文做了一个示意图来解释 MJSMA 的算法。如下图所示,假设一个分类器的输出类别为 m 类,利用输出向量的每一个维度进行前向求导可得关于每个类别的 Saliency Map 为 ,根据 MJSMA 有无目标攻击的 算法可得 Non_Target_map 为:

下图所示的算法 3 展示了 MJSMA 的两点攻击生成对抗样本的过程,具体详情如下所示。在读论文的过程中涉及到一个问题,论文中并没有具体涉及到攻击方向需要怎样确定,最终发现,算法 3 的流程图中的绿色字体展示了无目标攻击中的攻击方向。


WJSMA和TJSMA


论文标题
Probabilistic Jacobian-based Saliency Maps Attacks


论文链接

http://arxiv.org/abs/2007.06032

在该论文中,作者提出了 JSMA 和 MJSMA 的两个改进版一个是加权 JSMA (WJSMA)和另一个是泰勒 JSMA(TJSMA)。WJSMA 是通过输出概率对 Adversarial Saliency Map 应用一个简单的加权,TJSMA 也做了同样的事情,同时额外惩罚输入特征。这两种攻击都比 JSMA 更有效。作者证明了在有目标攻击中,TJSMA 是要优于 WJSMA;而在无目标攻击的情况下,WJSMA 要比 TJSMA 更出色。作者在原文中给出了 Tensorflow 相关的源代码。
4.1 WJSMA
论文中 WJSMA 的最核心的公式如下所示,但是作者并没有在论文中给出该公式推导的详细过程,所以本文填补了论文中的这个公式的证明的推导过程(红色字体表示公式的推导过程)。

证明:

其中,令 ,则有如下形式:

由公式(8)和公式(12)可得:

证毕,可以发现公式(15)结果与公式(5)的结果一致。

对比 WJSMA 和 JSMA 的算法可知,WJSMA 将神经网络的输出概率作为 Saliency Map 的权重,这样就能够更加合理 对不同类别的 Saliency Map 的信息进行有针对性的整合。论文中作者给出了一个实例(如下蓝色字体所示)来解释具有权重的 WJSMA 的优势。

假设一个神经网络输出的类别数为 ,对于某一个输入 有:,其它的类别,。可知该样本 的类别为 ,目的是生成一个类别为 的对抗样本。
能够观察到由于 时, 的概率已经处于其最小值中,因此在寻找这些 的值的 是不必要的。在攻击中 的减少的概率值不应该添加到 类别中,所以作者由此启发将概率权重引入到 Saliency Map 中。
4.1.1 有目标攻击
WJSMA 中 Adversarial Saliency Map 跟之前一样同样是基于神经网络前向求导得来。如果想要让神经网络分类器对干净样本 分类出错,出错的目标类别为 。当像素点 增加是为了能够让 的 logit 值增大,则是 正数值,并且 为负数值或者是常数值。
具体的公式如下所示:

其中, 为通过增加像素点而获得的 Adversarial Saliency Map。
当像素点 减小是为了能够让 的 logit 值增大,则是 负数值,并且 为正数值或者是常数值。
具体的公式如下所示:
其中, 为通过减小像素点而获得的 Adversarial Saliency Map。
结合(16)和(17)公式整合得到如下公式:

下图所示的算法 4 展示了 WJSMA 有目标攻击生成对抗样本的过程,具体详情如下所示。


4.1.2 无目标攻击
WJSMA 中无目标攻击中如果想要让神经网络分类器对干净样本 分类出错(这里指的是无目标攻击)。同 WJSMA 的直观的感觉一样,当增加像素点 时,为了减小 的logits值,则 是负数值,并且 为正数值或者是常数值。
具体的公式如下所示:

其中, 为通过增加像素点而获得的 Adversarial Saliency Map。
当减小像素点 时,为了减小 的 logits 值,则 是正数值,并且 为负数值或者是常数值。

其中, 为通过减小像素点而获得的 Adversarial Saliency Map。
根据公式(18)和(19)整合为如下公式:

下图所示的算法 5 展示了 WJSMA 无目标攻击生成对抗样本的过程,具体详情如下所示。

下图所示的算法 5 展示了 WJSMA 的有目标单点攻击生成对抗样本的过程,具体详情如下所示。

下图所示的算法 6 展示了 WJSMA 的有目标两点攻击生成对抗样本的过程,具体详情如下所示。

4.2 TJSMA

TJSMA 是将惩罚值引入到 WJSMA 的算法中去,假设对像素点 具有相同的 WJSMA 评分 ,且 非常接近 ,而 足够远。为了寻找更大的影响,TJSMA 更喜欢 ,同时使 最大化。因此,作者引入了新的 Adversarial Saliency Map,则有单点攻击和两点攻击为如下所示:单点攻击的公式如下所示:

两点攻击的公式如下所示:

下图所示的算法 5 展示了 TJSMA 有目标攻击生成对抗样本的过程,具体详情如下所示。


更多阅读




#投 稿 通 道#

 让你的论文被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。


📝 来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向) 

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接 

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志


📬 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site 

• 所有文章配图,请单独在附件中发送 

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



关于PaperWeekly


PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存