Second Order Optimization for Adversarial Robustness and Interpretability

Tsiligkaridis T., Roberts J. Second Order Optimization for Adversarial Robustness and Interpretability. arXiv preprint axXiv 2009.04923, 2020.

也算是一种对抗训练吧, 有区别的是构造对抗样本的方式, 以及用的是惩罚项而非仅用对抗样本训练.

主要内容

考虑干净样本(x)和扰动(v), 则我们自然希望

[ ag{*} min_{ heta} max_{|v|le epsilon} ell(x+v; heta)- ell(x), ]

其中(ell)是分类损失. 注意到右端项的二阶近似为

[ ag{3} Q(v;x):= abla_x ell(x) cdot v + frac{1}{2} v^T abla_x ell(x) v. ]

故我们可以转而优化此近似项. 当然, 一般的AT方法是用project gradient去逼近右端项, 假设前者

[ ag{4} v_Q = arg max_{|v|_p le epsilon} Q(v;x), ]

后者

[v_A = arg max_{|v|_p le epsilon} ell (x+v). ]

那么二者的差距有下面的定理保证
在这里插入图片描述

说实话, 这个定理没多大意义.

如果单纯优化(*)没法带来精度, 所以构造一个正则化项

[min_{ heta} mathbb{E}_{xsim mathcal{D}} [ell(x)+r cdot ell_Q(x)], ]

其中(ell_Q(x)=ell(x+v_Q)-ell(x)).

注: 有一个疑问, 按照道理(r in (0, 1)), 可是论文的实验是((0.5, 1.5)), 而且有几个实验挑了的确大于1, 这不就意味着需要(min (1-r)ell(x)), 这不就让分类变差了?

(4)式的求解

作者利用Frank-Wofle (FW) 去求解(4)式, 即

[ ag{7} left { egin{array}{l} s^k := arg max_{|s|_ple epsilon} : s cdot abla_v Q(v^k)\ v^{k+1} := (1-gamma^k) v^k + gamma^k s^k, end{array} ight. ]

其中(v^k=frac{2}{k+2}), (v^0=epsilon g/|g|_p, : g= abla_x ell(x)). (7)式的第一步式可以显示求解的

[ ag{8} s^k=P_{FW}(v^k;p)=alpha cdot mathrm{sgn} ( abla_v Q(v^k)_i) | abla_v Q(v^k)_i|^{p/q}, ]

其中(alpha)使得(|s^k|_p=epsilon), (|x|^m)是逐项的.

因为

[ ag{9} abla_x Q(v) = abla_x ell(x) + abla^2_x ell(x)v, ]

而计算hessian矩阵需要大量的计算, 故采用差分逼近
FE:

[ ag{10} abla_x^2 ell(x)v approx frac{ abla_x ell(x+hv)- abla_x ell(x)]}{h}, ]

CD:

[ ag{11} abla_x^2 ell(x)v approx frac{ abla_x ell(x+hv)- abla_x ell(x-h)]}{2h}. ]

在这里插入图片描述

超参数

((h, r)).
CIFAR10:
(L_2): FE(3): (1.15, 1.05) , CD(3): (0.95, 0.999);
(L_{infty}): FE(3): (1.05, 1.05), CD(3): (0.95, 1.15).

原文地址:https://www.cnblogs.com/MTandHJ/p/13757428.html