概
也算是一种对抗训练吧, 有区别的是构造对抗样本的方式, 以及用的是惩罚项而非仅用对抗样本训练.
主要内容
考虑干净样本(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).