深度学习中对抗攻击的威胁:神经网络的有趣特性与对抗样本分析

2025-02-13
来源:网络整理

对抗攻击

对手攻击纸参考:

“的”

神经网络的有趣特征

“ in Deep in:a”,以下是称为“”。

通过适当修改的图像欺骗了深度学习模型的可能性

1。举例说明:

左边是一张可以归类为熊猫的图片。添加一定数量的噪音后,它变成了右侧的图片。在肉眼看来,它仍然是熊猫,但它将被判断为长臂猿。经过修改后,人类并未清楚地注意到这种数据,但被机器识别为对抗性样本,并且整个过程可以理解为一种对抗性攻击。

2。数学理解:

神经网络中每一层神经元的输入a = g(WX+b),其中g是激活函数,w是权重参数,x是上一层的样本数据,而b是偏差参数,因此,从拓扑角度来看,在二维平面上,此过程对应于哪些步骤?

(1)一次使用权重参数矩阵W的线性转换一次

(2)使用偏执矢量B的一步

(3)一次应用非线性激活函数G的转换一次

在二维平面中,整个平面实际上是旋转,移动和拉伸的。

分类问题

简单的分类问题:将问题转换为可分配的直线空间,转换较少。

分类可以通过神经网络的一层完成,可以通过转换空间布局,最后通过直线来完成分类。

例如:

简单的转换......

有关转换结果,请参见下图

复杂的分类问题:将问题转换为可以通过多个转换将直线分开的空间。

这是一个多层神经网络,可以完成分类,转换空间布局,并最终通过直线完成分类。

例如:

动态多步转换

以上是从低维度了解神经网络的培训,并且有一些例外很难伸展。下图所示的圆圈情况是一个示例,说明将其扩展到二维空间中的理想位置有多么困难。

但是,添加神经元可以在三维空间中轻松分离它们。

看!

诱导也可以用于复杂的问题,以更长且复杂的方式增加神经元。

但是,例如,彼此相连的两个环需要在四维空间中完全分开,但是我们很难想象四维空间在现实世界中的数据集中,例如死结或纠缠问题变得更加复杂。

对于神经网络,您可以选择尽可能多地扩展绑定到死结的数据,而不是完全弄清它们。如下图所示,它已经在分类问题上具有很高的准确性和召回率。

在某些情况下,为了更确切的分类,更广泛的神经网络可能比深度更重要。

总之

生成对抗网络_对抗网络是什么_对抗网络

1。神经网络包含每个独立神经单元中的语义信息,而是在整个空间中。在最后一层,神经网络可以澄清和理解样本中许多可变因素的语义,而不是因为某个独立的神经元包含一些特定的语义,而是在转换整个空间之后,它来自最终表示层。在学习后,我从中间学到的知识将扩大某些相关因素,并同时缩小某些无关紧要的因素。

2。神经网络学到的输入到输出映射在很大程度上是不连续的。就像上图中的拉伸结果以了解一个死结一样,在人们的眼中,我们可以认为,在伸展距离较大的地方,该映射是连续的,但是对于仍然纠缠的部分,线条或超级平面,可能是在不再是连续的之前,用于绘制边界之前。

可以通过仔细的观察来区分它,但以上只是一个简单的例子。现实世界中的真实数据相对复杂,肉眼可能很难区分纠缠的部分。对于神经网络,对抗样本严重越过用于分类的边界,但实际上肉眼看不到。

()具有线性特征和有效创建对抗样本的方法的攻击行为()

参考文件:

“和”

“对抗性例子的解释和掌握”

高纬度空间中深神经网络的线性特征足以产生这种攻击行为,并提出了一种方法来更有效地生成对抗样本。接下来,我们将简要分析该理论和方法。

当前,神经网络用于提高训练效率的激活功能在本地太线性。

例如:

类似于前面提到的拓扑示例。在最后一个表示层中,分类是通过直线或超平面完成的。在线性假设下,暂时无法通过二维或三维空间来理解它。首先,它从一个简单的数学公式开始。开始。

数学解释

公式内容的解释:

W是训练有素的参数矢量

x表示真实的样本数据向量

η表示添加到图像中的噪声矢量

X〜表示添加噪声后新生成的样品

当添加足够小的η时,肉眼无法区分X的变化,并且直观地感觉到左侧的公式可能不会改变太大。

实际上,当η方向与W完全相同时,即使它很小,整个激活值也会发生很大变化。

假设证明:

如果W是N维矢量,其重量平均大小为M,则激活值将增加NM。可以看出,在肉眼几乎不可能差异化的干扰下,神经网络的最终激活层的计算将引起巨大的干扰,从而使神经网络训练的模型混淆。

找到正确的方向

当η和w朝着相同的方向时,激活值将被最大化。那么,如何找到正确的方向?

结论,即要构建样品的损耗函数的梯度方向,即以下方程。

ε是条件系数

sign()是一个符号函数,其含义非常简单,即具有值的象征。

(1当值大于0时,值等于0时,当值小于0时-1)

▽意味着找到X的梯度,可以理解为部分导数。

J是训练模型的损失函数。

结论的起源

在正常的神经网络模型训练过程中,有一个称为反向传播的过程,该过程是找到参数的部分推导,然后更新参数。让我们根据下图来看看。

假设图中的函数是损耗函数。为了最大程度地减少损失函数,我们将根据当前值的梯度进行调整。

当梯度小于0时,我们可以看到当前值需要正确移动。

当梯度大于0时,当前值需要向左移动。

这个过程实际上是使用θ减去θ。扩展到损耗函数j(θ,x,y),θ是我们要调整的参数。因此,当样本X和Y不更改时,我们将不断调整参数θ以寻求局部最大值,最佳解决方案是θ=θ -θ。

生成对抗网络_对抗网络是什么_对抗网络

要生成对抗样本,可以使用类似的方法,即修复参数θ,调整X并增加损耗函数,而不是变得较小。目前,应该允许X向相反的方向前进,即X = X + X,是否很容易理解上面的η定义?实际上,我们还需要使用参数ε调节噪声。与前面提到的优化方法相比,该方法非常有效。基本上只需要一个计算才能找到对抗样本。因此,作者称此方法为快速梯度符号(快速符号,FGSM)。总结FGSM,此方法可以通过替换目标值y来使攻击样本向指定的分类目标移动,也就是说,它可以欺骗任何目标。

将线性假设简化为二维空间,我们所需的方向完全接近参数W的方向,并且不会扩展和解释。有兴趣的读者可以自己绘制。

基于在高维空间中线性的假设或猜测,需要根据以下图片分析进行实验支持并扩展。

图像说明

该图是数据集10的分类器的决策边界的示意图。

每个小网格代表不同的-10样品。

在每个小网格中:

从左到右的水平方向表示FGSM算法中的梯度方向。

垂直方向表示FGSM梯度方向的正交方向。

白色意味着该模型可以正确分类

颜色代表预测错误

不同的颜色代表不同的错误预测类别。

可以看出,误差区域是线性分布的。另外,如果水平轴方向不够远,即使您朝其他方向走,也无法造成模型错误。进入该区域后,将发生很多对抗。样本。在随机发现的对抗样本中,此分布也非常随机,甚至很难找到,请参见下图。

从实验结果显示

高维空间中的线性假设也是合理的

举一个例子

一匹叫汉斯的马,当它第一次出现时,人们认为这匹马可以做算术,但实际上它只是读了人类的表情。当它点亮马蹄的次数接近正确的答案时,人们的表情会更加兴奋。我知道现在该停下来了。

隐喻神经网络是一种具有良好测试结果的分类器,实际上并没有学习像人类这样的分类样本的真正基础概念,而只是构建了一个在培训数据上运行良好的模型,所以您认为自己认为自己认为是什么?

当在训练集的不同子集上训练时,分类器可以获得大致相同的分类权重,因为机器学习算法可以概括,并且基本分类权重的稳定性反过来又导致对抗样本的稳定性。因此,对抗性攻击可以被认为存在于任何神经网络模型中。

以上是论文2的线性特征的攻击行为

有效生产对抗样品的方法

目前,没有任何方法可以完全抵抗这一攻击。实际上,不难看到,无论分类器的效果如何,它总是可以使样本转到最小干扰的错误分类区域。我们要做的是构建更强大的模型,同时也关注该领域。当前的抵抗攻击的方法总结在『』中(请注意,第一篇论文的引用被评论)可以分为三类:

1。修改训练样本—————通过在训练集中添加更多对抗性样本,可以有效地避免攻击的一部分,但这更像是一种无助的方法。扩展样品集时,分类边界可能以相同的方式。相应扩展。

2。修改培训网络。此方法将对培训网络进行一定的调整。一种方法是在最后一层中使用更非线性激活函数模拟生物学,但是该方法将导致训练效率和效果的降低。 。修改训练网络的方法分为两种方式:完全阻力和检测。完全阻力实际上是允许模型识别对抗样本为正确的分类,而检测只是发现此类攻击样本并因此拒绝服务。

3。附件网络。此方法是使用其他网络在不更改原始模型的情况下进行协助,以使原始网络保持不变。最有效的方法是生成对抗网络-GAN。同样,该方法分为两种方式:完全阻力和检测。

让我们总结一下

定义:

对抗性样本:是指通过故意在数据集中添加微妙的干扰而形成的输入样本,这将导致模型具有高度置信度的不正确输出。

原因分析:

发生对抗样本的主要原因之一是线性过高。神经网络主要建立在线性块上。实现的总体功能已被证明是高度线性的。如果线性函数具有许多输入,则可以很快更改其值。 。

参考:

,N。和Mian,A。(2018)。在深处: IEEE,1-1。 ,C.,W.,I.,J.,D.,i。,,&R。(2013,21)。的 。 ,IJ,J。,&,C。(2014,20)。和 。和 。 (视频),和 - for -Fast -Fast Sign in Deep 训练和欺骗神经网络的指南:教您如何将深度学习模型欺骗成碎片

13。

14。百科全书

分享