[论文阅读笔记] Boosting Adversarial Attacks with Momentum

Boosting Adversarial Attacks with Momentum(CVPR2018)

Source Code:
https://github.com/dongyp13/Non-Targeted-Adversarial-Attacks
https://github.com/dongyp13/Targeted-Adversarial-Attacks.

文章概述: 本文提出了一种基于动量法(Momentum)的迭代生成对抗样本的方法,这种方法可以在迭代过程中稳定更新方向并避免糟糕的局部最大值(local maxima),从而产生更可转移(transferable)的对抗性示例,并且不仅对"白盒"模型攻击有效,对"黑盒"模型攻击也同样有效。

本文方法生成的对抗样本初览:

可以看出,对抗样本在一定程度上是增加了奇奇怪怪的纹路,对于常人而言,只会觉得是的"这张图不够清晰",并且会主动过滤掉,而只对总体图像进行分析,所以对常人而言,是不会误判的。而对于CNN,其实对于每一个卷积核,其实在某种程度上是一种"算子",提取的是图像中的纹理特征,对于卷积核而言,可能更加关注的是纹理特征,而无法把握总体特征,因此会误判。

我的猜想:会不会有一种可能,是因为卷积核的性质才导致了网络的不稳定性?大一点的卷积核是否在一定程度上因为关注的区域变大而忽略细小纹理从而变得更加robust?

文中猜想(或结论、现有研究的优缺点)的整理:

  1. 可转移性(transferable)现象是由于不同的机器学习模型在一个数据点周围学习相似的决策边界,使得为一个模型设计的对抗性示例对其他模型也有效。
  2. optimization-based和iterative方法产生的对抗样本在可转移性上表现比较差,因此对黑盒模型的攻击比较低效;one-step gradient方法能产生更可转移的对抗性例子,但是它们通常对白盒模型的成功率较低,使得它对黑盒攻击无效。
  3. 已经有研究表明,对于白盒模型而言,iterative方法比one-step方法有更高的成功率,但是这是以更差的可以转移性作为代价的。
  4. optimization-based方法的缺点是无法保证对抗样本的 “保真性”,即可能增加的扰动足以让人眼明显感觉到(其优化的目标函数如下)。
    arg ⁡ min ⁡ x ∗ λ ⋅ ∣ ∣ x ∗ − x ∣ ∣ p − J ( x ∗ , y ) \mathop{\arg\min}\limits_{x^*} \lambda \cdot||x^* - x||_p - J(x^*, y) xargminλxxpJ(x,y)
    本文的方法:
    case 1:MI-FGSM
    [无聊的补充知识]: MI即为Momentum iterative的缩写
    作者的思路来源: 借鉴物理学上的动量思想,在优化时越过local maxima,增大到达global maxima的机会。其实不太理解的是,对于这种迭代的更新步骤,local maxima和global maxima到底意味着什么? 为什么减小陷入local maxima的几率就能让攻击效果更好(主要是这里并未出现所谓的目标函数)
    与iterative FGSM的对比: 其主要的不同点在于iterative FGSM方法中,sign函数中的内容为
    ▽ X J ( X , y ) \triangledown_X J(X, y) XJ(X,y)
    而本文sign函数中的内容,则为下图中的公式(6)。这种动量的思想,其实包含了一种指数衰减平均的思想,其好处在于,能够使目标函数优化方向振幅减小,更易朝着global maxima目标前进,此外还不容易陷入local maxima。

    此外,通过L1范数的约束,能够使各个方向的偏导数归一化,因为作者注意到,每次迭代时,这个损失函数的梯度变化量级非常大。
`I-FGSM`和`MI-FGSM`的比较:随着迭代的次数增加,`I-FGSM`容易在`Inc-v3`过拟合,从而对于其他未接触过的模型攻击效果变差,即transferable不好。而`MI-FGSM`则可以有效地对**白盒**模型的进行攻击却依然能保持一定的可迁移性。

case 2: ensemble
作者尝试了三种集成的策略,分别是
l ( x ) = ∑ k = 1 K w k l k ( x ) l(x) = \sum_{k=1}^{K} w_k l_k(x) l(x)=k=1Kwklk(x)
p ( x ) = ∑ k = 1 K w k p k ( x ) p(x) = \sum_{k=1}^{K} w_k p_k(x) p(x)=k=1Kwkpk(x)
J ( x ) = ∑ k = 1 K w k J k ( x ) J(x) = \sum_{k=1}^{K} w_k J_k(x) J(x)=k=1KwkJk(x)
其中 w k w_k wk是第k个模型对应的权重

   l k ( x ) l_k(x) lk(x)表示的是,第k个模型输入softmax的logits
   p k ( x ) p_k(x) pk(x)表示的是,第k个模型softmax输出的prediciton
   J k ( x ) J_k(x) Jk(x)表示的是,第k个模型计算得到的loss
不同策略的攻击效果如下。其中hand-out表示的是不参与训练对抗样本的黑盒模型。从下图中可以获得以下结论:

  1. 采用logits集成的策略在总体攻击效果上比其他两者更加有效。
  2. 本文提出的MI-FGSM白盒黑盒模型都具有更好的攻击效果,即可迁移性(transferable)更好(因为其对黑盒模型的攻击效果远好于I-FGSM方法)。
基于`ensemble`的`MI-FGSM`的算法如下。其中公式(9)为 $$ J(x, y) = -1_y \cdot log(softmax(l(x)) $$ 其中`-1_y`是`y`的one-hot编码

且相比于不采用ensemble策略的MI-FGSM而言,可迁移性也更强!下图为不采用ensemble策略的MI-FGSM效果。


由于这些笔记是之前整理的,所以可能会参考其他博文的见解,如果引用了您的文章的内容请告知我,我将把引用出处加上~
如果觉得我有地方讲的不好的或者有错误的欢迎给我留言,谢谢大家阅读(
点个赞我可是会很开心的哦)~

  • 32
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Boosting算法是一种通过迭代更新的方式构造强分类器的一类算法。它的主要特点是使用一组弱分类器,通过联合它们的结果构建一个更强的最终分类器。Boosting算法通过训练集上的多个弱分类器来解决两个问题:如何调整训练集,以让弱分类器能够进行训练,以及如何将这些弱分类器联合起来形成强分类器。 Boosting算法中的弱分类器可以是不同类型的分类器,如AdaBoost、GradientBoosting和LogitBoost等算法。 在Boosting算法中,AdaBoost是其中一种常用的算法。它采用了特定的策略来解决Boosting需要解决的两个问题。具体来说,AdaBoost使用加权后选取的训练数据来代替随机选取的训练样本,从而将训练的焦点集中在难以区分的样本上。此外,AdaBoost还通过使用加权的投票机制来联合弱分类器,使分类效果较好的弱分类器具有较大的权重,而分类效果较差的弱分类器具有较小的权重。 总结起来,Boosting算法是一种框架算法,可以使用不同的子算法来实现。它的核心思想是通过训练一组弱分类器,并将它们联合起来构建一个更强的最终分类器。Boosting算法通过迭代更新样本权值和弱分类器权值,不断提升模型的准确率。Boosting算法在机器学习领域中具有广泛的应用和研究价值。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [机器学习 —— Boosting算法](https://blog.csdn.net/starter_____/article/details/79328749)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [人工智能知识全面讲解:Boosting族算法](https://blog.csdn.net/tysonchiu/article/details/125503239)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值