对抗训练是当前最有效的防御措施,经常被公式化为最小-最大优化问题。
where n is the number of training examples and l l l(·) is the classification loss, such as the commonly used cross-entropy (CE) loss.Recently, adversarial training with adversarial examplesgeneratedbyProjectedGradientDescent(PGD)
内部的最大化用来生成对抗样本,外部最小化用来训练鲁棒的DNN模型。
本文研究了对抗训练中正确分类和错误分类对最终鲁棒性的不同影响,并发现错误分类的样本确实会对鲁棒性产生较大的影响。
在错误分类上使用不同的最大化方法对最终鲁棒性的影响微乎其微,但不同的最小化方法影响却非常大。
基于上述发现,本文提出了一种新的防御算法:MART(Misclassification Aware adveRsarial Training )以及MART的一种半监督形式。
MART可以明确区分训练过程中分类错误和分类正确的样本。
半监督MART可以利用未标记的数据进一步提高鲁棒性。
本文的主要贡献:
- 研究了错误分类和正确分类的示例对对抗训练的最终鲁棒性的不同影响。 发现对错误分类样本进行的操作对最终的鲁棒性影响更大,并且在最小-最大优化框架下,最小化技术比最大化技术更为关键。
- 提出了一个对抗风险正则化(regularized adversarial risk)方法,将错误分类样本的明显区别作为正则。基于此,提出了MART防御算法。
- 实验表明,通过将重点放在错误分类的样本上,可以显著提高对抗鲁棒性,还可以帮助改善使用未标记数据的对抗训练。
MISCLASSIFICATION AWARE ADVERSARIAL RISK
训练的样本可以分为两个子集,分类正确的样本为 S h θ + S^{+}_{h_{\theta}} Shθ+ 分类错误的样本为 S h θ − S^{-}_{h_{\theta}} Shθ−
错误分类样本的对抗风险为
对抗样本定义为
正确分类样本只简单使用标准对抗风险
将上述两种风险结合来训练网络
- MISCLASSIFICATION AWARE ADVERSARIAL TRAINING (MART)
基于0-1损失得到MISCLASSIFICATION AWARE ADVERSARIAL RISK
通过将0-1损失替换为适当的替代损失函数得到MART算法
对抗训练外部最小化过程有三个指标函数:
对于 l ( h θ ( x ^ i ′ ) ≠ y i ) l(h_{\theta}(\hat{x}^{'}_i) \neq y_i) l(hθ(x^i′)=yi),使用BCE损失作为替代损失。
对于 l ( h θ ( x i ≠ h θ ( x ^ i ′ ) ) ) l(h_{\theta}(x_i \neq h_{\theta}(\hat{x}^{'}_i))) l(hθ(xi=hθ(x^i′))),使用KL散度损失作为替代损失。
对于 l ( h θ ( x i ≠ y i ) ) l(h_{\theta}(x_i \neq y_i)) l(hθ(xi=yi)),使用软决策方案( soft decision scheme )作为替代损失。
对抗训练内部最大化过程的替代损失
使用CE作为 l ( h θ ( x i ′ ≠ y i ) ) l(h_{\theta}(x'_i \neq y_i)) l(hθ(xi′=yi))的替代损失
最终的目标函数为
与之前的防御方法的对比
对于半监督MART防御算法:
训练损失为有监督损失与无监督损失之和
MART算法详细过程:
- 试验:
来源:oschina
链接:https://my.oschina.net/u/4367530/blog/4313296