概
也算是一种对抗训练吧, 有区别的是构造对抗样本的方式, 以及用的是惩罚项而非仅用对抗样本训练.
主要内容
考虑干净样本\(x\)和扰动\(v\), 则我们自然希望
\[\tag{*} \min_{\theta} \max_{\|v\|\le \epsilon} \ell(x+v;\theta)- \ell(x), \]其中\(\ell\)是分类损失. 注意到右端项的二阶近似为
\[\tag{3} Q(v;x):= \nabla_x \ell(x) \cdot v + \frac{1}{2} v^T \nabla_x \ell(x) v. \]故我们可以转而优化此近似项. 当然, 一般的AT方法是用project gradient去逼近右端项, 假设前者
\[\tag{4} v_Q = \arg \max_{\|v\|_p \le \epsilon} Q(v;x), \]后者
\[v_A = \arg \max_{\|v\|_p \le \epsilon} \ell (x+v). \]那么二者的差距有下面的定理保证
说实话, 这个定理没多大意义.
如果单纯优化(*)没法带来精度, 所以构造一个正则化项
\[\min_{\theta} \mathbb{E}_{x\sim \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)式, 即
\[\tag{7} \left \{ \begin{array}{l} s^k := \arg \max_{\|s\|_p\le \epsilon} \: s \cdot \nabla_v Q(v^k)\\ v^{k+1} := (1-\gamma^k) v^k + \gamma^k s^k, \end{array} \right. \]其中\(v^k=\frac{2}{k+2}\), \(v^0=\epsilon g/\|g\|_p, \: g=\nabla_x \ell(x)\). (7)式的第一步式可以显示求解的
\[\tag{8} s^k=P_{FW}(v^k;p)=\alpha \cdot \mathrm{sgn} (\nabla_v Q(v^k)_i) \|\nabla_v Q(v^k)_i\|^{p/q}, \]其中\(\alpha\)使得\(\|s^k\|_p=\epsilon\).
因为
\[\tag{9} \nabla_x Q(v) = \nabla_x \ell(x) + \nabla^2_x \ell(x)v, \]而计算hessian矩阵需要大量的计算, 故采用差分逼近
FE:
CD:
\[\tag{11} \nabla_x^2 \ell(x)v \approx \frac{\nabla_x \ell(x+hv)-\nabla_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).