对抗攻击相关概念

1.相关的概念

对抗样本

要认识对抗训练,首先要了解“对抗样本”,它首先出现在论文 Intriguing properties of neural networks [3] 之中。在该论文中也提出了一种对抗样本产生的方法L-BFGS。

简单来说,它是指对于人类来说“看起来”几乎一样、但对于模型来说预测结果却完全不一样的样本

对抗攻击和对抗防御

理解对抗样本之后,也就不难理解各种相关概念了,比如“对抗攻击”,其实就是想办法造出更多的对抗样本,而“对抗防御”,就是想办法让模型能正确识别更多的对抗样本。

对抗训练

所谓对抗训练,则是属于对抗防御的一种,它构造了一些对抗样本加入到原数据集中,希望增强模型对对抗样本的鲁棒性;同时,如本文开篇所提到的,在 NLP 中它通常还能提高模型的表现。

2.对抗训练的理解

Min Max

对抗训练一般可以写为:

D代表训练集,x代表输入,y代表标签,\theta是模型参数,L是单个样本的 loss,\Delta x是对抗扰动,\Omega是扰动空间。这个统一的格式首先由论文 Towards Deep Learning Models Resistant to Adversarial Attacks [4] 提出。

 3.快速梯度法产生对抗样本

快速梯度法是由 GAN 之父 Goodfellow 在论文 Explaining and Harnessing Adversarial Examples首先提出。

生成对抗样本的问题就是我们怎么生成扰动 \Delta x,  \Delta x存在的目的就是增加

我们知道让 loss 减少的方法是梯度下降,那反过来,让 loss 增大的方法自然就是梯度上升,因此可以简单地取:

 为了防止  \Delta x 过大,我们一般需要对进行一些标准化,比较常见的方式是:

 有了  扰动 \Delta x之后,就可以代回式 (1) 进行优化:

 此外,对抗训练还有一种方法,叫做 Projected Gradient Descent(PGD),其实就是通过多迭代几步来达到让 更大的 更大的  \Delta x 。

如果迭代过程中模长超过了\epsilon ,就缩放回去,细节请参考Towards Deep Learning Models Resistant to Adversarial Attacks 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值