当前位置:   article > 正文

对抗攻击相关概念

对抗攻击

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 

 

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号