对抗训练浅谈:意义、方法和思考(附Keras实现) - 科学空间|Scientific Spaces

深度学习中的对抗,一般会有两个含义:一个是生成对抗网络(Generative Adversarial Networks,GAN),代表着一大类先进的生成模型;另一个则是跟对抗攻击、对抗样本相关的领域,它跟 GAN 相关,但又很不一样,它主要关心的是模型在小扰动下的稳健性。

对抗训练

【炼丹技巧】功守道:NLP中的对抗训练 + PyTorch实现 - 知乎 (zhihu.com)
对抗训练浅谈:意义、方法和思考(附Keras实现) - 科学空间|Scientific Spaces

Goodfellow 认为,神经网络由于其线性的特点,很容易受到线性扰动的攻击。于是,他提出了 Fast Gradient Sign Method (FGSM) ,来计算输入样本的扰动。Goodfellow 还总结了对抗训练的两个作用:

  1. 提高模型应对恶意对抗样本时的鲁棒性;
  2. 作为一种 regularization,减少 overfitting,提高泛化能力。
    在 NLP 任务中,对抗训练的角色不再是为了防御基于梯度的恶意攻击,反而更多的是作为一种 regularization,提高模型的泛化能力

Paper

ICLR 2023 | 环境标签平滑,一行代码提升对抗学习稳定性/泛化性_训练_数据_Domain (sohu.com)
yfzhang114/Environment-Label-Smoothing: This is an official PyTorch implementation of the ICLR 2023 paper 《Free Lunch for Domain Adversarial Training: Environment Label Smoothing》. (github.com)

code