Reliable evaluation of adversarial robustness with an ensemble of diverse parameter-free attacks

Croce F. & Hein M. Reliable evaluation of adversarial robustness with an ensemble of diverse parameter-free attacks. In International Conference on Machine Learning (ICML), 2020.

作者改进了PGD攻击方法, 并糅合了不同种类的攻击方法于一体, 使得AA的估计更为有效可靠. 特别是不需要调参.

主要内容

image-20201102211158402

Auto-PGD

Auto-PGD, 其最大的改进的地方就是不需要调节参数(其实作者自己调得比较好啦). 普通的PGD:
x ( k + 1 ) = P S ( x ( k ) + η ( k ) ∇ f ( x ( k ) ) ) , x^{(k+1)} = P_S (x^{(k)} + \eta^{(k)}\nabla f(x^{(k)})), x(k+1)=PS(x(k)+η(k)f(x(k))),
其中 P P P是投影算子, η \eta η 是学习率, f f f是损失函数.

Momentum

z ( k + 1 ) = P S ( x ( k ) + η ( k ) ∇ f ( x ( k ) ) ) x ( k + 1 ) = P S ( x ( k ) + α ⋅ ( z ( k + 1 ) − x ( k ) ) + ( 1 − α ) ⋅ ( x ( k ) − x ( k − 1 ) ) ) . z^{(k+1)} = P_S (x^{(k)}+\eta^{(k)}\nabla f(x^{(k)})) \\ x^{(k+1)} = P_S(x^{(k)}+\alpha \cdot (z^{(k+1)}-x^{(k)})+(1-\alpha) \cdot (x^{(k)}-x^{(k-1)})). z(k+1)=PS(x(k)+η(k)f(x(k)))x(k+1)=PS(x(k)+α(z(k+1)x(k))+(1α)(x(k)x(k1))).

注: 作者选择 α = 0.75 \alpha=0.75 α=0.75

Step Size

首先确定总的迭代次数 N i t e r N_{iter} Niter, 然后确定一些检查的结点 w 0 = 0 , w 1 , ⋯   , w n w_0=0, w_1, \cdots, w_n w0=0,w1,,wn, 在每一个检查结点检查如下条件

  1. ∑ i = w i − 1 w i − 1 1 f ( x ( i + 1 ) > f ( x ( i ) ) ) < ρ ⋅ ( w j − w j − 1 ) \sum_{i={w_{i-1}}}^{w_{i}-1} 1_{f(x^{(i+1)}> f(x^{(i)}))}< \rho \cdot (w_j - w_{j-1}) i=wi1wi11f(x(i+1)>f(x(i)))<ρ(wjwj1);

  2. η w j − 1 ≡ η w j \eta^{w_{j-1}}\equiv \eta^{w_j} ηwj1ηwj and f m a x ( w j − 1 ) ≡ f m a x ( w j ) . f_{max}^{(w_{j-1})}\equiv f_{max}^{(w_j)}. fmax(wj1)fmax(wj).

其中 f m a x ( k ) f_{max}^{(k)} fmax(k)是前 k k k个结点前的最高的函数值, 若其中条件之一满足, 则对之后的迭代的学习率减半, 即
η ( k ) : = η ( w j ) / 2 , ∀ k = w j + 1 , … w j + 1 . \eta^{(k)}:= \eta^{(w_j)} /2, \forall k=w_j+1, \ldots w_{j+1}. η(k):=η(wj)/2,k=wj+1,wj+1.

注: 学习率 η ( 0 ) = 2 ϵ \eta^{(0)}=2\epsilon η(0)=2ϵ.

  1. 条件1是为了检查这一阶段的迭代是否有效(即损失是否升高的次数), 这里作者选择 ρ = 0.75 \rho=0.75 ρ=0.75;
  2. 条件二如果成立了, 说明这一阶段相较于之前的阶段并没有提升, 所以需要减半学习率.

注: 一旦学习率减半了, 作者会令 x ( w j + 1 ) : = x m a x x^{(w_j+1)}:=x_{max} x(wj+1):=xmax, 从最好的结果处restart.

剩下一个问题是, 如何选择 w i w_i wi, 作者采取如下方案
w j = [ p j N i t e r ] ≤ N i t e r p j + 1 = p j + max ⁡ { p j − p j − 1 − 0.03 , 0.06 } , p 0 = 0 , p 1 = 0.22. w_j = [p_jN_{iter}] \le N_{iter} \\ p_{j+1} = p_j + \max \{p_j - p_{j-1} - 0.03, 0.06\}, p_0=0, p_1=0.22. wj=[pjNiter]Niterpj+1=pj+max{pjpj10.03,0.06},p0=0,p1=0.22.

损失函数

一般来说, 大家用的是交叉熵, 即
C E ( x , y ) = − log ⁡ p y = − z y + log ⁡ ( ∑ j = 1 K e z j ) , \mathrm{CE}(x, y) = -\log p_y = -z_y + \log (\sum_{j=1}^K e_{z_j}), CE(x,y)=logpy=zy+log(j=1Kezj),
其梯度为
∇ x C E ( x , y ) = ( − 1 + p y ) ∇ x z y + ∇ i ≠ y p i ∇ x z i , \nabla_x \mathrm{CE}(x, y) = (-1 + p_y) \nabla_x z_y + \nabla_{i\not=y} p_i \nabla_xz_i, xCE(x,y)=(1+py)xzy+i=ypixzi,
p y p_y py比较接近于 1 1 1, 也就是说分类的置信度比较高, 则会导致梯度消失, 而置信度可以单纯通过 h = α g h=\alpha g h=αg来提高, 即这个损失对scale是敏感的. 替代的损失使用DLR损失
D L R ( x , y ) = − z y − max ⁡ i ≠ y z i z π 1 − z π 3 , \mathrm{DLR} (x, y) = -\frac{z_y -\max_{i \not=y}z_i}{z_{\pi_1}-z_{\pi_3}}, DLR(x,y)=zπ1zπ3zymaxi=yzi,

其中 π i \pi_i πi是按照从大到小的一个序. 这个损失就能避免scale的影响, 同时还有一个target版本
T a r g e t e d − D L R ( x , y ) = − z y − z t z π 1 − ( z π 3 + z π 4 ) / 2 . \mathrm{Targeted-DLR}(x, y) = - \frac{z_y-z_t}{z_{\pi_1}- (z_{\pi_3}+z_{\pi_4})/2}. TargetedDLR(x,y)=zπ1(zπ3+zπ4)/2zyzt.

AutoAttack

AutoAttack糅合了不同的攻击方法:

  • A P G D C E \mathrm{APGD_{CE}} APGDCE
  • A P G D D L R \mathrm{APGD_{DLR}} APGDDLR
  • F A B \mathrm{FAB} FAB
  • S q u a r e   A t t a c k \mathrm{Square \: Attack} SquareAttack: black-box
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值