FAT

Zhang J., Xu X., Han B., Niu G., Cui L., Sugiyama M., Kankanhalli M. Attacks which do not kill training make adversarial learning stronger. In International Conference on Machine Learning (ICML), 2020.

本文提出了一种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\)让对抗样本更加困难从而提高鲁棒性.

代码

原文代码

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