FAT
概
本文提出了一种early-stopped PGD, 通过一种逐渐增强的方法提高鲁棒性(自然训练速度也会快一点).
主要内容
普通的对抗训练的策略是通过PGD-10生成对抗样本用于训练,
但是作者认为, 如此生成的对抗样本过于‘强'了.
对于当前的模型来说, 这些样本完全处于分类边界的另一边,
直接拿这些样本来训练肯定会损害自然精度, 甚至导致模型不收敛.
所以作者认为, 合适的对抗样本应该为:
\[\tilde{x}_i = \mathop{\arg\min} \limits_{\|\tilde{x}-x\|\le \epsilon} \ell(f(\tilde{x}),y_i), \\
\mathrm{s.t.}\quad \ell(f(\tilde{x}),y_i) - \min_{y} \ell(f(\tilde{x}),y) \ge \rho.
\]
即该样本是距离真实损失至少有\(\rho\)的距离的对抗样本中最温和的.
这种样本既能保证一定的鲁棒性, 又能是训练不至于太过困难.
在实际中, 作者是通过早停的方法来近似实现这一步骤的.
通过设定一个整数\(\tau\), PGD-T的每一次迭代都会生成一个样本\(x_t, t=1,2,\cdots, T\), 假设从\(x_{t_0}\)开始便为对抗样本, 即
\[\mathop{\arg\max}_y f_y(x_t)
\not = \mathop{\arg\max}_y f_y(x),
\]
之后最多进行\(\min(\tau, T-t_0)\)次便停止.
作者的意思是认为, 越多的迭代会导致对抗样本越来越远离决策边界,
所以及时的停止能够有效缓解.
特别地, 作者在代码中采用的是动态的\(\tau\), 起初设置小的\(\tau\)利于模型收敛,
后期设置大的\(\tau\)让对抗样本更加困难从而提高鲁棒性.