神经结构化学习中的 'Adversarial Perturbation' 是什么意思?

What is meant by 'Adversarial Perturbation' in Neural Structured Learning?

最近在 tensorflow 2.0 中引入了神经结构化学习 (NSL)。我已经完成了 this guide on NSL on tensorflow site as also this tutorial图像分类的对抗性正则化”。从概念上讲,我不清楚这是如何工作的。额外的对抗性样本是如何生成的,对抗性训练是什么意思,它如何帮助实现更大的 accuracy/performance?附加代码确实很短,但这段代码在幕后做了什么并不清楚。将从外行的角度逐步进行内部解释,将不胜感激。

通常,对抗性示例是通过获取输出的梯度 w.r.t 创建的。输入,然后最大化损失。例如。如果你有猫和狗的分类任务并且你想要创建对抗性示例,你将 256 x 256 的猫图像输入你的网络,获得损失的梯度 w.r.t。输入,也将是一个 256 x 256 张量,然后将负梯度(扰动)添加到您的图像,直到网络将其分类为狗。通过使用正确的标签再次对这些生成的图像进行训练,网络变得更加稳健 noise/perturbation。

还有其他更复杂的方法。例如 this paper 解释了输入中的模式如何破坏光流估计网络的输出。