对抗攻击相关概念

Posted love the future

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对抗攻击相关概念相关的知识,希望对你有一定的参考价值。

1.相关的概念

对抗样本

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

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

对抗攻击和对抗防御

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

对抗训练

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

2.对抗训练的理解

Min Max

对抗训练一般可以写为:

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

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

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

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

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

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

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

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

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

 

以上是关于对抗攻击相关概念的主要内容,如果未能解决你的问题,请参考以下文章

深度生成模型如何对抗攻击?

漫谈在人工智能时代网络入侵检测器的安全风险——逃逸攻击上篇

6 15种对抗攻击的防御方法

通用的无监督对抗攻击检测方法

通用的无监督对抗攻击检测方法

面向自然语言处理的深度学习对抗样本综述