Adversarial Training Methods for Deep Learning: A Systematic Review

news2024/11/18 23:42:26

Adversarial Training Methods for Deep Learning: A Systematic Review----《面向深度学习的对抗训练方法:系统回顾》

摘要

  通过快速梯度符号法(FGSM)、投影梯度下降法(PGD)和其他攻击算法,深度神经网络暴露在对抗攻击的风险下。对抗性训练是用来防御对抗性攻击威胁的方法之一。它是一种训练模式,利用替代目标函数为对抗数据和干净数据提供模型泛化。在这篇系统综述中,我们特别关注对抗性训练作为提高机器学习模型的防御能力和鲁棒性的方法。具体来说,我们专注于通过对抗样本生成方法来获取对抗样本的可访问性。本系统综述的目的是调查最先进的对抗训练和稳健的优化方法,以确定该应用领域的研究差距。本综述的结果表明,对抗性训练方法和鲁棒优化存在局限性。最常见的问题与数据泛化和过度拟合有关。

引言

  神经网络是最流行的机器学习模型之一,它们已被用于许多应用中,例如图像分类、自然语言处理和其他实时应用[1]。因此,确保神经网络模型的安全至关重要[2]。对抗性攻击 [2] 对现有神经网络模型构成重大威胁,这些攻击可能会扰乱模型的输入并导致模型产生意外的输出结果 [3]。受到扰动的输入通常称为对抗样本。
  对抗性样本是通过对抗性攻击算法计算出的输入数据,使分类器模型对样本进行错误分类[4]。通常,对抗性输入样本 x’ 是根据带有扰动值(称为 epsilon ε)的干净输入 x 计算得出的。 ε 是控制扰动强度的变量[5]。对抗攻击算法负责从干净样本中找到带有 ε 扰动的对抗样本。
  对抗性训练[5]是最有前途的防御方法之一,通过减少对抗性攻击造成的恶意影响来提高模型的鲁棒性。一般来说,训练模型能够根据训练的对抗性样本进行概括[3,5,6]。因此,训练期间提供的对抗样本的质量很重要。近年来,人们开发了更多的对抗性训练变体来解决与对抗性训练防御方法相关的不同缺点,例如减少过度拟合、提高泛化能力和提高训练效率。然而,这些问题仍然存在,并且无法保证对抗性攻击的鲁棒性[1],特别是在当前提出新的攻击方法时。
  在这项工作中,我们的目标是了解对抗性训练方法的性能和有效性。我们对对抗训练方法的对抗样本生成组件特别感兴趣。这很重要,因为有必要了解模型可以在什么样的对抗样本上进行训练和推广,以及当前对抗训练方法的鲁棒性程度如何。通常,对抗性样本生成方法是对抗性攻击的修改版本,旨在适应训练模式 [5]。还有一些其他类型的提议在其训练模式中使用非传统的攻击方法,如生成模型或其他算法[7]。我们的目标是从现有的研究中收集信息,并分析这些对手生成组件所带来的鲁棒性、效率改进和其他潜在好处。此外,我们打算找出不足之处,包括过拟合、效率问题、无法实现的鲁棒性,以及研究中的对抗训练模式的其他研究空白。
  这项工作的最终目标是为研究团体提供关于当前对抗训练发展状况的信息,以及对新开发的对抗攻击或其他新开发的对抗生成方法的适应。因此,这项工作可以被视为一个路线图,指导其他开发人员和研究人员开发更先进的对抗样本生成方法,以有利于对抗训练。
  在文献中,有关对抗性训练主题的调查很少。Silva等人[1]对当前对抗性攻击和对抗性防御方法的进展进行了文献调查。他们将防御方法分为三类:梯度掩蔽/混淆、鲁棒优化和对抗示例检测。他们分析和讨论了每一类的优势和局限性。Wiyatno等人[2]的综述文章提供了图像分类领域机器学习模型当前对抗性攻击和最先进防御方法的全面信息。Chen等人[8]提供了对抗式机器学习主题的概述。Bai等人[5]提供了一篇综述文章,讨论了不同的对抗训练架构。然而,上述文献综述并没有完全涵盖最近的对抗训练方法类别,也没有关注每一种对抗训练方法的对抗样本可访问性。此外,Silva等人[1]和Chen等人[8]的文献调查没有对对抗训练的主题进行扩展,只是回顾了一些对抗训练的主要类别,而Wiyatno等人[2]的综述仅关注图像分类器。Chakraborty等人[9]提供了一个关于对抗机器学习的文献调查。这篇综述包括支持向量机、神经网络、深度神经网络和卷积神经网络,并集中在威胁和防御的应用方面。Kong等人[10]也调查了对抗攻击在文本分类和恶意软件检测上下文中的应用。这两篇论文关注的是对抗训练的应用方面,而不是每种方法的技术特性。特别是,他们没有提供对抗训练的详细分类。Xiao等人[11]对深度神经网络的安全性进行了文献综述。这篇综述着眼于安全问题、验证方法、测试方法、安全性和机器学习模型的可解释性。此外,综述还提供了关于对抗机器学习方面的不同对抗攻击方法和一些防御方法的信息,包括对抗训练。但是,它没有详细讨论对抗性训练的类别。它只提到了两种对抗训练的变体,即投影梯度下降(PGD)对抗训练和整体对抗训练。
  在这篇系统的综述中,我们总结、分类、比较和讨论了目前可用的对抗训练防御方法和对抗训练方法中使用的对手生成方法,以及它们的局限性和相关的研究空白。作为一篇系统的综述,我们按照Barbara Kitchenham等人[12]提供的指导方针进行了本文的综述。Bai等人[5]认为对抗训练包括对抗正则化和常规的对抗训练方法。因此,本调查论文将涵盖对抗性正则化和对抗性训练方法。为了实现这些目标,我们将以下问题定义为我们的主要研究问题:当前的对抗性训练方法,特别是对抗性训练的对抗性生成部分,有哪些局限性? 为了回答这个问题,并获得相关的见解和结论,遵循以下步骤:

  • 1、对对抗性训练方法进行分类。用于分类的主要标准是对抗性生成方法,它是指使用对抗性攻击生成对抗性样本并将这些样本包含在训练中,以提高训练模型的鲁棒性[3]。
  • 2、确定这些对抗性训练方法的优点和缺点。

背景知识

对抗样本

  对抗样本的概念出现于 2014 年,当时 Szegedy 等人[4]提出使用框约束优化器L-BFGS来生成错误分类的数据样本。该算法可以在 L2 距离上发现无法区分的扰动,从而导致机器学习模型无法产生正确的结果。这是对抗性样本存在的最早迹象之一。
  后来,2015 年,Goodfellow 等人[3]对对抗性例子的现象提供了更详细的解释。他们发现,当图像在某个方向上受到扰动时,分类器模型的 logit 输出通常以线性方式变化。他们假设这是由神经元激活函数的部分线性特性引起的。在这个假设下,他们提出了快速梯度符号法(FGSM),在只有损失函数梯度的情况下生成干净图像的对抗样本。后来,Goodfellow等人[6]对他们之前的方法进行了改进,提出了一种更先进的基于FGSM的算法,迭代地对输入图像施加扰动,称为基本迭代法(BIM)。该算法大大提高了生成的对抗样本攻击网络模型的成功率。另一个改进是Madry等人[13]在2018年提出的,涉及BIM与随机初始化的结合。该方法被广泛用作测试和训练鲁棒模型[5]的基准算法。这些方法主要生成具有L∞范数的对抗样本。L∞范数是对抗机器学习中常用的距离度量之一。其他常用的度量包括L0和L2距离度量。在这种情况下,L∞ 度量表示对抗性样本的所有输入值的最大扰动。基于这些发现,对抗样本被描述为由分类器模型的线性特性引起的误差,不同于正态偏差和边界误差。对抗样本的存在与当前机器学习模型的基本属性有关。
  除了这些对抗性攻击方法之外,还有其他针对不同距离度量和模型漏洞的攻击方法。DeepFool算法由Moosavi-Dezfooli等人提出[14] 生成输入的对抗性样本,与 FGSM 相比,扰动距离更小。该算法认为 L2 范数是生成对抗性样本的最接近的决策边界。Carlini 和 Wagner 攻击(C&W 攻击),由 Carlini 等人提出[15],考虑了所有三个距离度量(L0、L2、L∞)来构建强攻击。这种攻击方法被证明是非常有效的,并且模型之间的可转移性很高。Su等人[16]提出的单像素攻击利用进化算法限制 L0 范数扰动原始输入的固定数量的像素。人们已经开发了更多的对抗性攻击方法来为机器学习模型生成错误分类样本[2]。基于这些新开发的算法,对抗样本的更一般描述可能是专门为机器学习模型创建的恶意数据输入,以产生错误的分类结果。在本研究中,我们将这种更一般的描述视为我们对对抗性样本的定义。

对抗训练

  对抗性训练的概念涉及训练分类器以泛化对抗性样本和干净样本[5]。在传统的训练模式中,如图1所示,训练数据通过模型向前传递,预测损失被反向传播以改善分类结果[4]。因此,该模型将概括训练数据的分布,以生成其标签的准确预测。然而,用这种正常程序训练的模型将面临对抗性攻击的威胁[3]。Goodfellow等人[3]将对抗样本描述为神经网络的线性特性。更一般的解释是,由于模型的线性性,模型只能泛化训练数据分布,而不能捕获真实分布。
在这里插入图片描述
  对抗性训练扩展了传统的训练方法,在训练过程中增加了一个额外的步骤,如图2所示。通过这种方式,该模型既能泛化干净数据,又能泛化由对抗训练中使用的攻击方法生成的对抗数据。因此,模型针对对抗性攻击的鲁棒性得到了提高。
在这里插入图片描述
  通常,对抗样本是根据模型的当前状态生成的,而对于任何提出的攻击方法,对抗样本都是根据前一批训练步骤[3]生成的。然而,有些模式使用预先训练的模型来生成对抗样本,并将它们包含在训练数据集中。在这个过程中,对抗样本生成中涉及的攻击方法将是本文重点。在本文中,我们将其称为对抗样本生成方法。
  本文还讨论了几种流行的对抗训练方法,以便为对抗训练的历史发展提供更好的背景。2014年,Szegedy 等人[4]提出了使用对抗样本训练分类器模型的概念,以提高分类器模型的鲁棒性。后来,在2015年,Goodfellow等人[3]建议使用FGSM在混合干净数据的情况下生成对抗样本来训练分类器。该模型提高了对单次迭代攻击的鲁棒性。Madry等人[13]建议使用一种称为投影梯度下降(PGD)的多次迭代方法来训练模型。他们表明,当使用快速单迭代方法(FGSM)时,训练模型仍然容易受到更强的多次迭代对抗样本的攻击。他们认为,通过使用PGD对抗训练,该模型对对抗样本具有普遍的鲁棒性。该方法已成为对抗训练的基线方法[5]。
  近年来,人们提出了许多对抗训练方法来提高FGSM和PGD对抗训练的性能。性能改进主要集中在增强鲁棒性、降低对抗训练的计算复杂度、减少对抗训练的过拟合效应。

调查发现

结果总结

  收录的78篇论文如下。每篇论文都包含对抗训练模式的独特解决方案,或提出利用对抗生成的优化过程。论文按发表年份分布如下图所示。从图5中,我们可以看到人们对与该主题相关的研究领域越来越感兴趣。我们认为这是一个很好的机会来进行这项研究,以产生未来的路线图。
在这里插入图片描述
  根据对抗训练方法中使用的对抗生成方法,我们对对抗训练方法进行分类。此外,我们讨论了对手生成方法的细节,并在适用的情况下将它们分类为进一步的子类别。图6为对抗生成方法的类别概述。
在这里插入图片描述
  白盒攻击是指需要目标模型参数信息的对抗性攻击[2]。这类方法是对抗训练或鲁棒性优化中使用最多的方法,如图4所示。对抗训练使用的传统白盒攻击被称为 FGSM、IFGSM、PGD 及其变体 [2]。这些方法利用模型的梯度属性在 L∞ 距离度量上生成对手 [2]。由于扰动噪声是使用受害者模型的内部参数生成的,因此如果模型保持不变,生成的对手应该是一致的。总体好处是这些方法使用模型的内部信息来产生相对有效且一致的对手[2]。然而,随着对这一研究领域的兴趣日益浓厚,更多的对抗性攻击可能会基于不同的距离度量[2]生成对手,而这些对手可能无法通过这种类型的对手生成[19]。
  黑盒攻击的最大优点是它们通常需要较少的信息来生成对手;因此,它们更加灵活并且与模型无关[2]。此外,黑盒对抗攻击通常在扰动计算中考虑更多距离度量[15,16]。因此,基于这些方法的对抗训练可以对基于这些度量的对抗样本提供模型鲁棒性。
  我们认为,常见的黑盒攻击比其他攻击方法更加多样化,因为它们使用不同的方法和理论来生成对抗样本。此外,黑盒对抗训练方法不如普通白盒对抗训练方法受欢迎,如图4所示。因此,这些在对抗训练中使用的方法的知识和局限性并没有被发现。这可能是黑箱对抗试验中最重要的研究空白之一。
  除了方法、优势和限制之外,用于评估训练方法的模型体系结构也在表3中进行了总结和列出。一般来说,对抗训练作为一种防御方法应该在大多数深度学习模型的鲁棒性方面提供一般的改进。但是,不同的体系结构可能会有不同的性能。通过我们的协议,我们无法提供有关模型架构的限制的更多信息。因此,我们直接提供每篇论文中涉及的模型架构的信息,因为这些信息可能有助于在未来的研究。

快速梯度符号法FGSM

FGSM是Goodfellow等人[3]提出的基于梯度的白盒攻击。优化问题的公式可以写为:
在这里插入图片描述
  其中:∇L表示模型损失函数在每个输入实例中的梯度,对于输入标签对(x, y), x '通过在输入x上加上梯度符号来表示扰动输入。这种方法只需要一次计算就可以产生一个带有L2范数约束的扰动。该攻击在对抗训练方面的优势在于其快速的计算速度。然而,Madry等人[13]指出,这种方法可能不足以训练出一个鲁棒模型。此外,与原始干净数据[6]相比,使用这种方法训练的模型可能具有更高的准确性,这被称为标签泄漏问题。缺点包括过度拟合[20]。
  人们还提出了其他方法来改进 FGSM 对抗训练并克服这些缺点。Vivek等人[20]采用dropout调度提高模型对训练数据的泛化程度,降低单步对抗训练时的过拟合效果。Huang等人[21]发现FGSM产生的扰动方向和迭代方法可能会因损失函数的不同而不同。因此,他们在对抗训练中提出了一个正则化项来约束搜索步长,确保FGSM的扰动方向与PGD一致。通过这种方式,他们可以提高FGSM对抗训练的性能,使其具有抵御更高级攻击的能力。Liu等人[22]分析了一种增强的FGSM训练方法,即在每个epoch上连续添加FGSM扰动。在每个epoch中,施加一个大的扰动,下一个epoch将重用FGSM攻击过的数据,并施加新的扰动,直到距离达到某个阈值。该方法在降低计算复杂度的同时,采用单步方法提高了训练性能。Wong等人[23]、Andriushchenko等人[24]、Kim等人[25]、Song等人[26]和Vivek等人[27]通过一种独特的正则化器、损失函数和域适应改进了单步对抗训练的概念。在训练过程中发现快速对抗训练方法比高效PGD对抗训练[23]更有效,但Li等人[28]认为这种快速方法存在过拟合问题。

投影梯度下降法与基本迭代法

  PGD与BIM/IBGSM相似。BIM由Kurakin等人提出[95],是一种改进的FGSM,将其转化为多步骤优化。公式可以写成:
在这里插入图片描述
  该方法使用与 FGSM 相同的方法来计算小步扰动,并根据输入输出对 (x, y) 的梯度符号迭代地将扰动添加到图像中。在此公式中,x’表示上一计算步骤的扰动图像,xt+1是当前步骤生成的扰动样本。在每一步中,扰动的距离受到α的限制,直到达到攻击强度的阈值,算法停止。
  另一方面,PGD方法使用相同的模式生成对手[13]。然而,不同的是,PGD方法使用了Lp范数的随机初始扰动,在原始数据周围Lp距离内创建了一个随机的数据样本。这提高了寻找对抗性样本的效率。
  Madry等人[13]认为基于迭代的攻击方法在对抗性训练中更有效。这些方法提供了更精确的最坏情况扰动和更一般化的可能对抗攻击。因此,采用基于迭代的攻击的对抗训练模型可以抵御比 FGSM 训练的模型更强的攻击。因此,这些方法通常用于对抗训练和鲁棒优化。
  然而,PGD 和迭代对抗训练的主要缺点是,由于扰动噪声计算的多个步骤,计算复杂度显着增加[2]。一些论文还报道了迭代对抗训练中仍然存在过拟合现象[5,39]。最后,其他工作表明,PGD 对抗训练不能保证针对所有其他类型的对抗样本的鲁棒性,特别是当对手是由其他 Lp 指标生成时 [19]。以下部分概述了一些改进迭代对抗训练以解决这些缺点的建议。表4总结了基于PGD的对抗训练的改进方法。
在这里插入图片描述

L-BFGS和JSMA方法

  在对抗训练中还有其他一些著名的白盒攻击。L-BFGS是由Szegedy等人[4]提出的白盒攻击。这种攻击使用灵活的目标函数来优化对手。因此,该算法可以很容易地针对不同的条件进行修改,但该方法中的优化问题相对难以解决[96],这可能导致对抗训练的效率降低。基于雅可比行列式的显着性图攻击(JSMA)是一种基于显着性的白盒攻击方法[97],它利用了模型的注意力显着性图的思想。将扰动添加到较高注意力的输入实例中,以最小扰动距离影响输出空间。这些方法仅在基于方法的集成对抗训练(MBEAT)[31]中考虑;因此,当它用于对抗训练时,关于该方法的局限性的信息是有限的。Zhang等人[78]使用一种名为YOPO的算法来冻结网络的各层,而只包含第一层用于对抗样本生成。该方法降低了对抗性训练的复杂度。

生成模型

  这些方法的基本思想包括利用生成对抗网络(GANs)或自动编码-解码器生成对手。通常,这些方法包括无监督或半监督训练概念。这些方法通常利用现有的机器学习技术,在对抗样本分布上自动泛化学习模型,生成对抗样本。然而,Wiyatno等人[2]回顾了一种使用生成网络生成对抗样本的对抗攻击,并总结了这些方法生成的对手的缺陷。缺陷之一是,与其他方法相比,由GANs方法生成的对手可能不够一般化。该论文还研究了另一种使用转换网络生成对手的方法;然而,由此产生的对手通常具有较低的可转移性,并且生成器训练过程可能具有灾难性遗忘特性。此外,当这些对抗性攻击被用于对抗性训练时,很少有论文对它们进行评估。因此,在这一研究领域存在研究空白。
  Wang等人和Stutz等人[7,71]提出了GANs网络作为一种训练模式来提高模型的鲁棒性。Wang等人[7]使用生成网络来发现一个鉴别器网络的对抗扰动。扰动产生后,其强度将受到ε的限制。随着对手的强度和识别器的鲁棒性的同时提高,两个网络进行联合训练。生成模型可以在没有任何监督的情况下学习对抗扰动的分布。但该方法只考虑L∞范数对手。Stutz等人[71]采用了vae - gan算法,在图像数据的流形上产生对抗样本。这种扰动限制了扰动的方向,以便在数据样本中找到决策边界的泛化误差。
  Sreevallabh Chivukula等人和Bai等人[72,73]提出使用自动编码解码器生成对抗样本。Sreevallabh Chivukula等人[72]利用Stackelberg博弈概念在生成模型之间形成竞争。CAE模型是由Bai等人[73]提出的在训练过程中构建编码解码器结构。编码器是提供预测的神经网络模型,而解码器通过生成编码器模型的对抗性样本来做出响应。在这种情况下,两个模型一起训练以提高预测的鲁棒性。

C&W-L2 攻击

  C&W 攻击是 Carlini 等人 [15]提出的灰/黑盒攻击。这种攻击的优势在于它可以生成高度可转移的对抗性样本,以绕过蒸馏等防御方法。Wen等人[74]训练了一个检测器网络作为附件模型来计算攻击。在受害者模型的 SoftMax 层受到 C&W 攻击之前,检测器模型通过 logit 输出进行训练。

集成模型

  Pang等人和Tramèr等人[17,75]提出并改进了集成对抗训练的概念。集成对抗训练考虑了其他训练静态模型的对抗样本,并利用这些样本训练出一个鲁棒模型[17]。与对抗训练中生成的对抗样本相比,该方法生成的对手能够更准确地逼近真实的对抗分布。Pang等[75]、Kariyappa等[76]和Yang等[77]对该概念进行了改进,降低了集成模型之间强对抗性样本的可转移性。
  该方法的新颖之处在于它提供了一种可行的方法来解耦目标训练模型中的对手生成。这可能意味着对抗训练过程可以交替进行,其中对抗样本是静态的,可以在训练前准备好;因此,该算法可以在一定程度上解决传统对抗性训练[6]的计算代价问题。此外,该方法似乎对黑盒攻击具有更好的鲁棒性,因为集成训练可以降低来自其他模型的对抗性样本的可转移性[17]。然而,训练后的模型可能仍然容易受到白盒攻击,例如迭代最不可能类方法和随机启动 FGSM 或更强大的黑盒对抗样本 [17]。

新颖的扰动方法

  2017 年之后发表的其他几篇相关研究论文我们认为在这里也值得考虑。这个方法集合包括新的方法来近似内部最大化对抗训练公式。它们大多数不使用传统的攻击算法,或者为了某些目的使用特殊修改的攻击版本。但是,没有足够的资料可以就局限性和优点得出结论,因为它们不太受欢迎或最近才发表。因此,我们建议将其作为验证这些新颖解决方案的未来研究路径。

对抗性训练扩展

  在本节中,介绍了一些扩展方法来提高一般对抗训练的性能。这些方法可以在传统的对抗训练中增加额外的步骤,混合多种训练方法,或者使用不同的优化方法。他们大多数在训练过程中没有引入任何新的威胁模型,也没有使用特定的攻击方法进行训练。然而,这些研究仍具有一定的研究价值。

调查结果总结

  对抗性攻击和防御是当前该研究领域最热门的话题之一。防御这些攻击的最有效方法之一是对抗性训练。目前发表论文数量的增加表明对抗性训练仍有很多发展机会。
  在第四节中,分析了对抗训练中常用的对抗样本生成技术。在本节中,我们根据主要目标总结对抗性训练方法。综上所述,最流行的对抗训练方法是 FGSM 和 PGD,分别占 20 篇和 35 篇论文。Madry等人[13]提出了PGD对抗训练作为一阶对手的通用对抗训练方法。本文实现的方法被用作对抗训练和评估的标准基准方法。有 18 篇论文提出了一种使用改进的 FGSM 或 PGD 进行快速对抗训练过程的有效对抗训练方案,其中一篇论文对对抗样本生成器进行了大量修改以实现相同的目标。七篇论文提出了对传统 PGD 对抗训练的改进,以减少复杂数据上的过度拟合问题,并改进每个训练数据实例的对抗生成。六篇论文主要考虑了对抗训练中的新正则化项,以提高模型的鲁棒性。五篇论文提出了半监督对抗训练过程,其中四篇论文重点关注 PGD 对手,而一篇论文提出了一种独特的对抗样本生成方法。有五篇论文提出了一种利用黑盒对手生成的训练方法,其中四篇论文包括生成网络或自动编码解码架构。两篇论文提出了一种针对看不见的对抗性样本训练神经网络的解决方案。

讨论

泛化问题

  在[99]中,Schmidt等人讨论了标准数据集和对抗样本中的模型泛化以及过拟合问题。尽管提出了减少限制影响的方法,但并不能保证解决方案。在当前的鲁棒模型中,尤其是在较大的模型中,通常需要在标准精度和对抗精度之间进行权衡。Schmidt等人[99]发现,鲁棒优化在相同大小的数据集上实现的总精度较低,这表明可能需要更大的数据集才能实现足够的泛化。因此,对抗性优化可能比正常训练更需要数据。Schott等人[19]也认为传统的基于梯度的优化攻击(FGSM和PGD)对抗训练模式可能无法针对所有可能的对抗样本训练出鲁棒模型。因此,在未来的对抗训练方法中,应该考虑一种更先进的基于其他距离度量或使用其他不太流行的方法的对抗生成方法或对抗样本。此外,使用高维对抗样本的对抗训练分类器目前的正确率仍明显低于标准正确率[5]。此外,模型泛化在黑盒对手上的性能尚未得到充分研究。我们认为这可能是未来对抗性学习研究的方向之一。

泛化和效率

  为了实现快速对抗训练,有一些方法使用经过大量修改的 PGD 版本或单步版本的 FGSM,正如我们在第 4 节中提到的。然而,这种权衡迫使生成的对抗性样本通常具有不太精确的攻击。尽管提出了一些改进措施来调整对手在较弱攻击方法下的生成性能,但大多数情况下的性能仍然不理想,特别是对于更复杂的数据集[5,23]。

对抗潜在的不可见的对手

  最近提出的方法很少解决不可见的对抗样本的问题。最近,Bai等人[5]指出,最近的攻击方法不足以计算出不可见的对抗样本。大多数对抗性攻击使用预设的Lp范数值来控制扰动的距离,这可能不能反映所有攻击的可能性。其他方法也存在限制,例如生成模型和进化算法[2]。
  有一种解决方案使用多个 Lp 范数扰动来对抗性地训练模型 [56]。Maini等人建议考虑多个Lp规范来确定最坏情况扰动。Stutz等人[57]提出的另一种方法是在训练过程中保证置信度的平滑分布,以保证决策边界的平滑过渡。Dong等人[58]也考虑了多次对抗攻击产生的对抗样本的分布。
  然而,正如Bai等人[5]所指出的,目前对不可见的对抗性攻击的研究还不够。结合这个问题和概化[5],我们在训练集和测试集中使用的数据样本并不总是反映数据的真实分布。在训练和测试集之外,也可能存在不可见的数据点的对抗样本。

结论及未来工作

  在本文中,我们回顾了现有的对抗训练方法和提高神经网络分类器鲁棒性的方法。本研究的目的是确定此类鲁棒优化技术的当前进展和局限性。本次综述我们选取了 78 篇论文,结果表明:

  • 1、目前对抗训练或鲁棒神经网络优化的研究主要集中在FGSM和PGD对抗样本上。
  • 2、当前方法的主要目标是平衡标准和对抗性的泛化和效率,常用的方法包括修改传统的FGSM和PGD,修改训练目标函数的正则化项。
  • 3、一些其他的方法已经被提出纳入对抗训练,如生成网络和其他黑箱生成方法。
  • 4、泛化问题一直是研究的热点;然而,在标准准确度、对抗性准确度和训练效率之间仍有差距。偶尔会研究对未见过的对抗样本的泛化,但可能还有更多值得探索的地方。

  为了应对这些挑战,我们可能需要更多的对抗性和非对抗性样本的数据样本。理想情况下,如果我们可以在训练数据集中预先包含对抗性样本,我们就可以使用标准训练流程来训练模型并保留类似的训练复杂性。我们可以研究集成对抗训练的想法,它使用简单的静态模型来预先构建数据的通用标准决策边界[17]。然后,我们可以生成一个数据集,从这个预训练模型中得出潜在的易受攻击的数据点,以训练我们最终的稳健模型。
  此外,除了当前流行的方法之外,还有一些新的对抗生成方法可用。GANs模型可能是产生超集样本的建议之一。近年来,GAN已被证明是有效的对手生成器[100,101]。使用 GAN 生成对抗性但真实的图片的概念已在该研究领域得到应用。GAN 网络可用于捕获对抗样本的潜在空间表示。我们需要更多的研究来评估使用 GAN 模型来逼近对抗训练的内部最大值时的结果。此外,我们还可以利用 GAN 生成的真实图像并结合无监督学习模式来解决数据匮乏的问题。该方法可能会受到当前 GAN 的限制;然而,它可能是在输入空间中发现更易受攻击的数据样本的解决方案。基于进化的算法也可以帮助解决这些问题。基于进化的算法的好处是它提供了有效的最优搜索,可能具有广泛的扰动覆盖范围。进化攻击已经在当前模型上进行了实验,这是一种有效的防御方法[102,103]。这些攻击还可以用于解决对抗性训练的内部近似问题。通过这些方法,我们可以发现更多的具有潜在漏洞的数据样本。这可能是一种保护不可见的对抗样本的方法,并为模型提供进一步的推广。我们建议在鲁棒优化中应该考虑它们。
  综上所述,构建一个自然的鲁棒的深度学习模型是一个挑战。为了实现这一目标,未来我们可能需要更多的知识和对深度神经网络模型的重大修改。在此之前,对抗训练可能是提高模型对抗鲁棒性的有效方法。因此,提高对抗性训练的效率和广泛性至关重要。目前,对抗性训练主要提高涉及从数据集中收集数据的模型的稳健性。然而,不能保证训练可以推广到现实生活应用中所有可能的情况。因此,应该开发新技术来扩展我们目前对对抗性优化的理解。最近提出的方法和强大的深度学习模型之间仍然存在研究差距。

总结来说: 就是需要更多数据,包括对抗或非对抗样本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1200071.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【86 backtrader实现crypto交易策略】backtrader和ccxt对接实现中低频自动化交易-01

最近有点空闲,尝试把backtrader和一些实盘交易的接口对接一下,方便大家进行中低频交易,主要目标包括:股票(qmt),期货(ctpbee), crypto(ccxt),外盘交易(ib,已实现,但是版本比较旧,后期会继续更新). 这个周末尝试实现了backtrader和ccxt的对接,主要是参考了下面的开源代…

使用74HC165扩展uno的输入管脚

74HC165管脚定义: 使用3个管脚扩展接入个独立开关 const int dataPin 2; /* Q7 */ const int clockPin 3; /* CP */ const int latchPin 4; /* PL */ const int numBits 8; /* Set to 8 * number of shift registers */ void setup() { Serial.begin…

暴力递归转动态规划(十五)

题目 给定一个正数n,求n的裂开方法数, 规定:后面的数不能比前面的数小 比如4的裂开方法有: 1111、112、13、22、04 。 5种,所以返回5 暴力递归 用暴力递归方法进行尝试,整体思路是这样: 暴力递…

Java --- 直接内存

一、直接内存 1、不是虚拟机运行时数据区的一部分,也不是《Java虚拟机规范》中定义的内存区域。 2、直接内存是在Java堆外的,直接向系统申请的内存区间。 3、来源于NIO,通过存在堆中的DirectByteBuffer操作Native内存。 4、访问直接内存的…

Ubuntu 创建并发布 Django 项目

Ubuntu 创建并发布 Django 项目 升级操作系统和软件 sudo apt updatesudo apt -y dist-upgrade 安装 python3-pip sudo apt -y install python3-pip安装 django pip install -i https://pypi.tuna.tsinghua.edu.cn/simple djangosudo apt -y install python3-django创建 dj…

MongoDB基础知识~

引入MongoDB: 在面对高并发,高效率存储和访问,高扩展性和高可用性等的需求下,我们之前所学习过的关系型数据库(MySql,sql server…)显得有点力不从心,而这些需求在我们的生活中也是随处可见的,例如在社交中…

使用visualStudio发布可执行文件

编译成功后会在程序项目的路径下创建一个debug文件夹和一个release文件夹 文件夹中的具体文件入下所示 生成32位的可执行文件 32位的可执行文件可以在64位的计算机中执行,而64位的操作系统程序只能在64位的计算机中执行安装运行库的安装包根据电脑的版本选择合适的…

手机开机入网流程 KPI接通率和掉线率

今天我们来学习手机开机入网流程是怎么样的。以及RRC连接和重建流程(和博主之前讲TCP三次握手,四次挥手原理很相似)是什么样的,还有天线的KPI指标都包括什么,是不是很期待啊~ 目录 手机开机入网流程 ATTACH/RRC连接建立过程 KPI接通率和掉…

【YOLOv5】【模型压缩与加速】【量化】FP32、FP16、INT8

量化是将模型参数的存储类型从高精度存储降到低精度存储,从而达到减小模型体积大小、加快模型推理速度的效果。 目录 FP32量化 FP16量化 INT8量化 FP32量化 这个直接使用yolov5的export导出32位存储的 engine格式模型即可 python export.py --weights runs/train/…

前端---认识HTML

文章目录 什么是HTML?HTML的读取、运行HTML的标签注释标签标题标签段落标签换行标签格式化标签图片标签a标签表格标签列表标签表单标签form标签input标签文本框单选框复选框普通按钮提交按钮文件选择框 select标签textarea标签特殊标签div标签span标签 什么是HTML&a…

No188.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

C语言基础篇4:变量与存储

1 局部变量和全局变量 在介绍局部变量和全局变量前,先,了解一些关于作用域方面的内容。作用域的作用就是决定程序中的哪些语句是可用的,换句话说,就是程序中的可见性。作用域有局部作用域和全局作用域,那么局部变量就具…

深入研究SVN代码检查的关键工具:svnchecker vs. SonarQube,选择最适合你的代码检查工具

目录 一、SVN代码检查(整合svnchecker)1、创建SVN代码库2、下载安装包3、修改SVN配置4、新建代码检查配置文件(名称自定义)5、hooks目录添加配置文件6、设置只对Java文件进行检查7、测试 二、SonarQube代码检测1、什么是SonarQube2、MySQL数据库的安装3、SonarQube服务端软件安…

Python之函数进阶-函数执行原理

Python之函数进阶-函数执行原理 函数执行流程 C语言中,函数的活动和栈有关。栈是后进先出的数据结构。栈是由底端向顶端生长,栈顶加入数据成为压栈、入栈、栈顶弹出数据称为出栈。 def add(x, y):r x yprint(r)return rdef main():a 1r add(a, 2)r…

Pytorch损失函数、反向传播和优化器、Sequential使用

Pytorch_Sequential使用、损失函数、反向传播和优化器 文章目录 nn.Sequential搭建小实战损失函数与反向传播优化器 nn.Sequential nn.Sequential是一个有序的容器,用于搭建神经网络的模块被按照被传入构造器的顺序添加到nn.Sequential()容器中。 import torch.nn …

【操作系统】1.1 操作系统的基础概念、功能和目标以及特性

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…

Mac电脑配置Flutter开发环境

1.进入官网下载页: Flutter SDK releases | Flutter 可以看到有 Windows、macOS、Linux三种系统的下载包 选择macOS,然后点击下载 Stable channel(稳定版)中的最新版本,下载完成后可以移动到资源库Library中。 2.下载…

使用easyui前端框架构建一个crud应用(看完这篇就够了)

easyui是博主最喜欢的前端框架,因为它提供了多种主题样式和各种好看的ui组件。 这篇文章将会详细地介绍easyui前端框架的使用,通过创建一个crud应用来帮助大家快速掌握easyui的使用。 一、快速开始 这个章节主要介绍easyui前端框架的下载,ea…

Leetcode—680.验证回文串II【简单】

2023每日刷题&#xff08;二十七&#xff09; Leetcode—680.验证回文串II 实现代码 class Solution { public:bool judgeFunc(string s, int left, int right) {while(left < right) {if(s[left] ! s[right]) {return false;}left;right--;}return true;}bool validPalin…

按键精灵中的字符串常用的场景

在使用按键精灵编写脚本时&#xff0c;与字符串有关的场景有以下几种&#xff1a; 1. 用时间字符串记录脚本使用截止使用时间 Dim localTime "2023-11-12 00:15:14" Dim networkTime GetNetworkTime() TracePrint networkTime If networkTime > localTime The…