[论文阅读笔记]Trust Region Based Adversarial Attack on Neural Networks

提出一种新的基于信赖域优化的对抗样本生成方法,该方法能够有效减少扰动大小并提高攻击效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Trust Region Based Adversarial Attack on Neural Networks(2019 CVPR)

文章简介:

  • Method: 本文主要采用Trust Region(信赖域) 优化算法, 该方法在处理非凸优化问题时是非常有用的。
  • Dataset: Cifar-10、ImageNet
  • Compared Algorithm: DeepFool、I-FGSM、Carlini-Wagner(CW)
  • 扰动大小的评价指标:
    ρp=∣∣Δx∣∣p∣∣x∣∣p \rho_p = \frac{||\Delta x||_p}{||x||_p} ρp=xpΔxp
  • 两种攻击方法
- 选择最好攻击的类别进行攻击 

     best class attack                                   arg⁡min⁡jzt−zj∣∣∇x(zt−zj)∣∣                                                                                                           \,\,\,\,\,best\,class\,attack\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\underset{j}{\arg \min} \frac{z_t - z_j}{||\nabla_x(z_t-z_j)||}\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, bestclassattackjargminx(ztzj)ztzj

- 选择最难攻击的类别进行攻击

     hardest class attack                           arg⁡min⁡jzt−zj∣∣∇x(zt−zj)∣∣                                                                                                           \,\,\,\,\,hardest\,class\,attack\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\underset{j}{\arg \min} \frac{z_t - z_j}{||\nabla_x(z_t-z_j)||}\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, hardestclassattackjargminx(ztzj)ztzj

  • 性能对比
    • 相比于DeepFool,本文的方法需要的扰动更小(up to 3.9x)
    • 达到与CW方法相同的攻击效果时,本文所花费的时间更短(up to 37.5x)

Contributions:

  • 将对抗攻击问题转化为一个基于TR优化问题,并且在容易实施的同时还能比现有的方法更加高效(扰动小、速度快)
  • TR-based攻击方法可以在每一轮迭代的过程中自适应地选择扰动量级,从而移除了费时费力的参数调优工作
  • 我们的方法可以很容易地推广到二阶TR攻击。

Limitations:

  • 简单地推广到二阶方法需要计算Hessian matvec backpropogation,计算开销非常大
  • 二阶方法相比于一阶方法提升有限
  • 如果不考虑攻击的性能,DeepFool比我们的方法更快(当然我们的方法攻击效果更好扰动更小)

Trust Region Method:

首先假设神经网络函数为fff,将其在其领域内泰勒展开
f(xk+Δx)=fk+gkTΔx+12ΔxT∇2f(xk+Δx)Δx f(x_k+\Delta x)=f_k+g_k^T\Delta x+\frac{1}{2}\Delta x^T\nabla^2f(x_k+\Delta x)\Delta x f(xk+Δx)=fk+gkTΔx+21ΔxT2f(xk+Δx)Δx
其中fk=f(xk),  gk=∇f(xk)f_k=f(x_k), \,\,g_k=\nabla f(x_k)fk=f(xk),gk=f(xk)
然后利用BkB_kBk去逼近Hessian矩阵(个人认为这个逼近的意思应该为近似表达,这样可以减轻点计算开销)
mk(Δx)=fk+gkTΔx+12ΔxTBkΔx m_k(\Delta x) = f_k + g_k^T \Delta x+ \frac{1}{2}\Delta x^T B_k \Delta x mk(Δx)=fk+gkTΔx+21ΔxTBkΔx
在每一步迭代迭代过程,都会求解下述子问题
min⁡p∈Rhmk(Δx)=fk+gkTΔx+12ΔxTBkΔx \underset{p \in R^h}{\min} m_k(\Delta x) = f_k+g_k^T\Delta x + \frac{1}{2}\Delta x^T B_k \Delta x pRhminmk(Δx)=fk+gkTΔx+21ΔxTBkΔx
做完铺垫,引出本文的方法,下图中<>代表点积。

算法流程如下图:

对于DeepFool而言,其解决问题的方法是通过线性放射变换来估计决策边界。对于这样一个决策边界,只需计算当前点处的梯度,就可以分析计算扰动量。然而,对于神经网络来说,这种近似可能非常不准确,也就是说,它可能导致对沿次优方向的扰动的过高/过低估计。 因为最小方向与决策边界正交,由于决策边界是非线性的,不能通过简单的仿射变换来计算。

TR方法的主要思想是迭代地选择可信半径ϵ\epsilonϵ,以找到该区域内的对抗扰动,使不正确类的概率达到最大值:

  • 通过计算比率,如果ρ\rhoρ比较接近于1,说明这一步已经到信赖域边缘了,并且步子有点小,可以尝试扩大信赖域半径
  • 通过计算比率,如果ρ\rhoρ比较接近于0,说明这一步迈得太大了,可以尝试缩小信赖域半径

此外如果仔细观察,可以发现Algorithm 1中红框部分是错误的?虽然 我不太清楚到底是不是我搞错了,但如果把括号去掉的话可以发现分子是为0的?

Code:

代码中ρ\rhoρ表达式中分子部分为
ori_difff−adv_diff ori\_{difff} - adv\_{diff} ori_difffadv_diff
其中
ori_diff=Z[range(n),true_ind]−Z[range(n),target_ind] ori\_diff = Z[range(n), true\_ind] - Z[range(n), target\_ind] ori_diff=Z[range(n),true_ind]Z[range(n),target_ind]
adv_diff=Zadv[range(n),true_ind]−Z[range(n),target_ind] adv\_diff = Z_{adv}[range(n), true\_ind] - Z[range(n), target\_ind] adv_diff=Zadv[range(n),true_ind]Z[range(n),target_ind]
代码中ρ\rhoρ表达式中分母部分为
ϵ&ThinSpace;&ThinSpace;&ThinSpace;&ThinSpace;&ThinSpace;&ThinSpace;&ThinSpace;&ThinSpace;&ThinSpace;&ThinSpace;&ThinSpace;default=0.001 \epsilon\,\,\,\,\,\,\,\,\,\,\, default=0.001 ϵdefault=0.001

不同算法扰动大小与攻击速度的的对比展示

  • average perturbation:平均扰动大小
  • worst case perturbation:所有扰动中,最大的那个扰动大小

从中可以看出达到相同的扰动量级时,CW算法相比于TR是比较费时的;在相近的处理时间下,DeepFool方法产生的扰动会更大。


如果觉得我有地方讲的不好的或者有错误的欢迎给我留言,谢谢大家阅读(点个赞我可是会很开心的哦)~

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值