论文《Generalizable Adversarial Attacks Using Generative Models》笔记

时间:2024-07-10 07:15:04

【DAGAER】传统的攻击方法依赖于约束优化范式,具有局限性,例如经典的Nettack攻击方法。本文提出了一个统一的白盒对抗攻击生成框架,该方法学习了目标域的深度生成模型,不是在原始输入空间中生成对抗性例子,而是学习在一个低维连续的潜在空间中生成扰动。该方法的优势是可以适应不同的输入域,比如输入为图像、文本和图结构数据,并且能有效地产生不同的对抗扰动。

基本信息:

  • 2019 arXiv
  • 引用量:0
  • 作者学校:McGill University
  • model:GCN
  • Strategy:Adversarial generation
  • Approach:Modify node features
  • Baseline:Nettack
  • Metric:ASR
  • Dataset:Cora,Citeseer

查询会议:

  • 会伴:https://www.myhuiban.com/
  • CCF deadline:https://ccfddl.github.io/

原文和开源代码链接:

  • paper原文:https://www.researchgate.net/publication/333418210_Generalizable_Adversarial_Attacks_Using_Generative_Models
  • 开源代码:None

0、核心内容

本文提出了一种新的对抗攻击方法,称为DAGAER(Domain-Agnostic Generative Adversarial Examples with Resampling),它利用生成模型来创建对抗性样本。

对抗攻击的背景:传统上,对抗攻击依赖于受限优化范式,通过优化过程为给定的输入示例生成单一的对抗性扰动。

DAGAER框架:提出了一种新的视角,将对抗攻击视为生成模型问题,目标是给定未扰动的输入产生整个对抗性样本的分布。DAGAER是一个统一的编码器-解码器框架,具有领域泛化性,可以最小修改地应用于不同领域。

领域泛化性:DAGAER能够跨图像、文本和图等不同领域生成白盒攻击,并且在图领域达到了新的最佳状态。

攻击效率与多样性:DAGAER可以为单一给定输入有效性生成多样化的攻击集,并且能够以零样本的方式攻击未见过的测试实例,展现出攻击泛化能力。

方法细节:

  • 模型概述:DAGAER由编码器网络解码器网络组合函数相似度函数组成。
  • 训练与损失函数:定义了一个混合目标函数,包括一个惩罚非对抗性生成点的分类损失和两个正则化项。
  • 不同输入领域的实现:展示了如何在图像分类、文本分类和节点分类模型上应用DAGAER框架。

实验:在自然图像、文本数据和图结构数据的分类任务上测试了DAGAER框架,以回答领域泛化性、攻击泛化性和攻击多样性的问题。

结果:DAGAER在图像领域与受限优化方法具有竞争力,在文本和图领域表现出色。此外,DAGAER在攻击未见过的测试及时表现出有效的泛化能力,并且在攻击多样性方面,通过重新采样潜在代码来生成新的对抗样本。

未来工作:论文讨论了DAGAER的局限性和未来可能的研究方向,包括探索更复杂的潜在分布、扩展到黑盒设置以及使用各种对抗性防御策略进行进一步的实证研究。

1、理解本文算法的三个benefits

在这里插入图片描述

① 与域无关

通过简单地选择一个适当的编码器、解码器和相似度函数,DAGAER框架可以很容易地部署在不同领域,例如图像、文本和图结构数据。

② 高效的泛化能力

具体来说,这意味着使用带有随机潜在变量的参数化模型可以在构建对抗性示例时,通过训练后的网络仅单次传递,就能够高效低生成这些对抗性示例,并且无需进一步的优化就能泛化到未见过的测试示例上。

在受限优化方法中,每次针对不同的输入数据点进行特定的优化,这通常只会产生单一的或少量的非多样性扰动。相比之下,DAGAER通过学习潜在空间中的条件分布,可以有效地采样产生多样化的攻击,或者在初始攻击失败时重新采样。这种泛化能力允许模型在面对新的、训练时未见过的数据时,也能够生成有效的对抗性扰动,从而提高了攻击的适应性和实用性。

③ 多样化的攻击

这一点强调的是DAGAER框架能够学习到对抗性示例的条件分布,这意味着可以高效地从中采样以产生多样化的攻击,或者在初始攻击失败时用于重新采样。

具体来说,这种优势包括以下几个方面:

  • 条件分布学习:DAGAER不仅生成单一的对抗性扰动,而是学习到了在给定输入数据条件下,所有可能对抗性扰动的分布。
  • 高效采样:由于有了这个分布,DAGAER可以高效地从中采样,得到多种不同的对抗性扰动实例,增加了攻击的不可预测性。
  • 重新采样的能力:如果某个特定的对抗性样本在攻击过程中失败了,DAGAER可以利用潜在的随机性,重新采样产生新的对抗性扰动,从而尝试不同的攻击策略。
  • 攻击多样性:这种方法允许攻击者针对同一输入数据点生成多种不同的对抗性扰动,这不仅提高了攻击成功的机会,同时也使得防御变得更加困难。

DAGAER框架在生成对抗性样本时具有高度的灵活性和多样性,能够适应不同的攻击场景和需求。

2、受限优化方法与Nettack攻击方法
① 什么是受限优化方法(Constrained Optimization Approach)?

受限优化方法是一种在生成对抗攻击时常用的技术。该方法的核心是在一定的约束条件下,通过优化过程寻找能够使深度学习模型发生误判的最小扰动。

目标函数:定义一个目标函数,通常是希望扰动后的输入 x ′ x' x能够导致模型 f ( x ′ ) f(x') f(x)产生与原始类别不同的预测 y ′ y' y

约束条件:在优化过程中加入约束,以确保生成的对抗性样本 x ′ x' x与原始样本 x x x在某种度量下足够接近,同时 x ′ x' x仍然是一个有效的输入(例如,在像素空间中是有效的图像)。

优化过程:使用梯度下降或其他优化算法来最小化目标函数,同时满足约束条件。这通常涉及到对原始输入数据点 x x x添加一个小的扰动 δ δ δ,使得 x ′ = x + δ x'=x+δ x=x+δ

计算成本:受限优化方法可能在高维或离散的输入空间中计算成本较高,特别是对于文本或图结构数据。

单一解:通常,受限优化方法为每个攻击的输入单独运行优化方法,这可能导致每次只产生单一的或少量的扰动,限制了攻击的多样性。

泛化能力:受限优化方法通常需要针对每个攻击输入重新进行优化,这限制了其泛化到未见过的数据点的能力。

应用场景:尽管受限优化方法在图像领域相对成熟,但将其适应到新的数据模态(如文本或非独立同分布的图结构数据)是一个挑战。

DAGAER提出的生成模型方法旨在克服受限优化方法的这些限制,通过学习潜在空间中的分布来生成多样化的对抗性扰动,从而提高攻击的效率和泛化能力。

② Nettack攻击方法是不是一种基于受限优化方法的攻击方法?

是。

3、实验
① 实验设置

主要关注Graph Domain:

  • 数据集:Cora、Citeseer
  • 数据集分割方法:训练/验证/测试=10%/10%/80%
  • 模型:单层GCN,Adam优化器,epochs=100,learning rate=1e-2。
  • PS:在之前的工作之后,我们同时考虑了直接攻击和影响攻击;在影响攻击设置中,我们通过改变其5个邻居的随机样本的特征来攻击一个节点。
② 实验结果

在这里插入图片描述

  • ”XXX-Direct“表示直接攻击,“XXX-Influencer”表示影响攻击。
  • ”Zugner[38]“是Nettack攻击。
  • 表4中的数字表示攻击成功率(Attack Success Rate,ASR)。
  • 请注意,我们没有与Dai等人的图攻击框架(refer to《Adversarial Attack on Graph Structured Data》)进行比较,因为该工作修改了图的邻接矩阵,而我们只修改了节点特征。

4、相关工作
① Adversarial attacks using parametric models

与我们的方法类似,之前也有相关的使用参数模型生成对抗性图像的工作,如对抗性转换网络(ATN)框架及其变体。然而,与我们的方法不同的是,它们是特定于图像领域的,并没有定义对抗性例子的生成分布。

② Adversarial attacks in latent space

有一个关于攻击的新兴文献是在一个潜在空间中精心制作的,类似于这里提出的框架。

例如,Zhao等人[37]提出了一个框架来生成位于数据流形上的“自然”敌对例子。然而,与我们工作不同的是,他们的“自然对手”需要一个搜索过程来生成一个对抗性的例子,并且不能促进像DAGAER这样的各种攻击的有效生成。

在我们工作的同时,Li等人[19]引入了N攻击来产生基于黑盒图像的攻击的对抗性例子的分布。虽然在精神上与我们的框架相似且相对有效,但N攻击是特定于图像域的,并在一个受约束的优化范式中运行——需要额外的几轮优化来在看不见的数据上生成对抗性的示例。

PS:paper[37](《Generating natural adversarial examples》):提出了一个针对黑盒分类器的自然对手生成框架,并将该框架应用于视觉和文本领域。

这一部分的两种相关工作,都是应用于视觉和文本领域的。我们目前倾向于关注图领域的对抗攻击,因此先不深入研究这部分提出的相关工作。

5、先验知识
① 什么是生成模型(generative model)?

生成模型是机器学习中的一类模型,它们能够生成新的数据实例,这些实例在统计上与训练数据相似。生成模型不仅学习输入数据的分布,而且还能够通过采样过程在该分布上生成新的数据点。

  • 数据分布学习:生成模型通过训练过程学习数据的分布,即数据生成的概率模型。
  • 生成新实例:与只能进行预测的判别模型(discriminative Model)不同,生成模型能够生成新的数据实例。
  • 潜在空间:生成模型通常涉及一个潜在空间或隐变量空间,数据的生成过程可以看作是从这个空间中采样并映射到数据空间。
  • 参数化:生成模型是参数化的,通常涉及深度学习或其他机器学习技术来定义数据分布的参数。
  • 类型:常见的生成模型包括高斯混合模型(Gaussian Mixture Models,GMMs)、变分自编码器(Variational Autoencoders,VAEs)、生成对抗网络(Generative Adversarial Networks,GANs)和自回归模型(如PixelRNN、PixelCNN)。
  • 应用领域:生成模型在多个领域有广泛应用,包括图像合成、风格迁移、数据增强、去噪、超分辨率、文本生成、语音合成等。
  • 训练过程:训练生成模型通常涉及到最大化数据的似然函数或最小化重参数化或对抗性损失。
  • 评估挑战:评估生成模型的性能可能具有挑战性,因为它们生成的是全新的数据实例,这可能需要特定的度量标准来评估生成数据的质量和多样性。
  • 模式崩溃(Model Collapse):在某些情况下,生成模型可能会在训练过程中收敛到数据分布的某个子集上,导致生成的样本缺乏多样性。
  • 深度学习集成:深度生成模型通常与深度学习技术结合使用,以捕捉复杂的数据分布和生成高保真度的样本。

生成模型是无监督学习的一个核心领域,因为它们不需要成对的输入输出数据来训练,只需要原始数据即可学习其分布并生成新的实例。

② 什么是数据的潜在空间(Latent Space)?

数据的潜在空间是指在生成模型或表示学习框架中,数据被映射到低维、连续的表示空间。这个空间通常是由模型的内部参数化结构定义的,用于捕捉数据的内在特征和变化模式。

  • 维度降低:潜在空间通常具有比原始数据空间更低的维度,这是通过特征提取和降维技术实现的。
  • 连续性:与原始数据空间(可能是离散的,如图像的像素空间)不同,潜在空间是连续的,这使得可以在空间内进行平滑的插值和操作。
  • 编码器和解码器:在生成模型中,如变分自编码器(VAE)或生成对抗网络(GAN),潜在空间通过编码器(encoder)从数据空间映射得到,并通过解码器(decoder)重构回数据空间。
  • 数据分布:潜在空间中的数据点可以看作是原始数据分布的参数化表示,每个点代表原始空间中的一个可能的数据实例。
  • 隐变量:在统计模型中,潜在空间通常与隐变量(latent variables)相关联,这些变量不能直接观察到,但可以解释或生成可观察的数据。
  • 生成过程:在潜在空间中采样并使用解码器可以生成新的数据实例,这是生成模型的核心特性。
  • 特征表示:潜在空间中的位置可以捕捉到数据的重要特征,例如在图像数据中,可能捕捉到形状、颜色和纹理等特征。
  • 模型的灵活性:潜在空间的灵活性允许模型学习数据的不同表示,这些表示可以用于各种任务,如分类、去噪、超分辨率等。
  • 对抗性攻击:在对抗性攻击的上下文中,潜在空间可以用来生成对抗性样本,这些样本在潜在空间中的微小变化可以导致模型在重构到数据空间时产生错误的预测。
  • 探索和利用:通过探索潜在空间,可以了解数据的内在结构,而通过操纵潜在空间中的点,可以控制生成的数据实例的特性。

在深度学习和机器学习中,潜在空间是一个强大的概念,它为数据的表示、处理和生成提供了一种灵活和富有表现力的方式。

③ 什么是对抗性生成器网络(adversarial generator network)?

对抗性生成器网络是一种生成模型,它专门设计用来生成能够欺骗或误导机器学习模型(尤其是分类器)的数据点,这些数据点被称为对抗性样本。

生成对抗性样本:对抗性生成器网络的主要目的是生成对抗性样本,这些样本在人类观察者看来可能与正常数据无异,但会导致机器学习模型做出错误的预测。

编码器-解码器结构:对抗性生成器网络通常采用编码器-解码器结构,其中编码器将输入数据映射到一个潜在空间,解码器则从潜在空间生成扰动,这些扰动随后被添加到原始数据中以产生对抗性样本。

潜在空间操作:在潜在空间中生成扰动,而不是直接在输入空间中操作,这允许模型学习如何以一种人类不可感知但对模型敏感的方式改变数据。

条件分布学习:对抗性生成器网络学习输入数据和对抗性样本之间的条件分布,这意味着给定一个输入样本,网络能够生成多种可能的对抗性扰动。

多样性:由于潜在空间的随机性,对抗性生成网络可以生成多样化的对抗性样本,这增加了攻击的不可预测性。

训练过程:训练对抗性生成器网络涉及到优化一个目标函数,该函数通常包括一个分类损失项(鼓励生成的样本被错误分类)和正则化项(控制扰动的大小或分布)。

应用领域:对抗性生成器网络可以应用于不同的数据类型和领域,如图像、文本、音频和图结构数据。

与判别器的对抗:在某些设置中,如生成对抗网络(GAN),生成器网络会与一个判别器网络进行对抗训练,判别器试图区分真是样本和生成器生成的对抗性样本。

防御挑战:对抗性生成器网络为机器学习模型的安全性和鲁棒性提出了挑战,促使研究者开发更强大的防御机制。

在DAGAER框架中,对抗性生成器网络是核心组件,它利用领域泛化的方法来生成跨不同领域的对抗性样本,并通过重采样潜在代码来提高攻击的成功率和多样性。

④ 什么是变分自编码器(Variational Auto-Encoder,VAE)?

变分自编码器是一种生成模型,它结合了深度学习和概率图模型的理论。VAE不仅能够学习数据的有效表示,还能够生成新的、与训练数据相似的数据点。

生成模型:VAE是一种生成模型,可以从潜在空间中采样并生成新的数据实例。

编码器和解码器:VAE由两部分组成,编码器和解码器。编码器将输入数据映射到潜在空间的分布参数上,解码器则将潜在空间的点映射回数据空间。

重参数化(Reparameterization)技巧:为了能够通过反向传播算法进行梯度下降,VAE使用了一个技巧,即不直接从潜在分布中采样,而是从标准正态分布中采样并使用编码器输出的参数进行缩放和平移。

概率框架:VAE在概率框架下工作,它定义了输入数据的概率分布,并试图学习这个分布的参数。

损失函数:VAE的损失函数由两部分组成,一部分是重构损失(reconstruction loss),用于衡量生成的数据与原始数据之间的差异;另一部分是正则化项,通常是Kullback-Leibler(KL)散度,用于衡量潜在空间分布与先验分布之间的差异。

潜在空间:VAE通过编码器将数据映射到一个连续的潜在空间,这个空间可以进行数学操作,如插值和采样。

应用领域:VAE被广泛应用于各种任务,包括数据去噪、数据填充、特征学习、样本生成等。

模型灵活性:VAE模型可以设计成不同的结构,以适应不同类型的数据和任务。

与GAN的区别:与生成对抗网络(GAN)不同,VAE不使用判别器网络,而是通过最小化重参数化后的潜在分布与先验分布之间的KL散度来进行训练。

模型评估:评估VAE的性能可以通过多种方式,包括重构质量、生成样本的多样性和质量等。

变分自编码器是一种强大的模型,它在无监督学习、生成模型和表示学习等领域都有着广泛的应用。

⑤ 嵌入空间 vs. 潜在空间

嵌入空间(Embedding Space)和潜在空间(Latent Space)是两个相关但有所区别的概念,它们在机器学习和深度学习中扮演着不同的角色:

嵌入空间:

  • 嵌入空间通常是输入数据(如文本、图像和音频)被转换成低维向量表示的空间。
  • 在自然语言处理中,单词或短语会被转换成词向量,这些词向量存在于嵌入空间中。
  • 嵌入通常是通过训练得到的,例如使用Word2Vec、GloVe或BERT等模型来学习单词的嵌入表示。
  • 嵌入空间的目的是捕捉输入数据的内在特征和语义信息。

潜在空间:

  • 潜在空间是生成模型(如变分自编码器VAE或生成对抗网络GAN)中定义的一个空间,用于表示数据的潜在变量或隐变量。
  • 潜在空间中的每个点可以看作是数据生成过程的一个配置,通过解码器可以从中生成数据实例。
  • 潜在空间允许模型进行数据的生成、插值和探索,与嵌入空间相比,它通常与生成新样本的能力更直接相关。

尽管嵌入空间和潜在空间都可以被视为低维表示空间,并且都用于捕获数据的某些方面的特征,但它们的应用和目的存在差异。嵌入空间更多关注于捕获输入数据的特定特征,用于支持各种下游任务;而潜在空间则用于生成模型中,关注如何从这些潜在的表示生成新的数据实例。

在某些情况下,嵌入空间可以作为潜在空间的一部分或输入,特别是在处理序列数据或文本数据时,嵌入层可能会作为生成模型的前端来生成潜在表示。然而,这两个概念在技术细节和使用上下文中仍然保持它们的独特性。

6、DAGAER算法框架

在这里插入图片描述

为了解决约束优化范式的限制性,我们提出了一种基于生成建模框架的替代方法。在我们的框架中,我们的关键见解是,我们学习了目标域的深度生成模型(deep generative model),而不是在原始输入空间 X X X上搜索生成一个对抗性的例子,而是学习在一个低维、连续的潜在空间 R d R^d Rd中生成扰动。

① 模型概述

对抗性生成网络:提出了一个生成模型框架,用于生成给定输入数据点的对抗性样本的条件分布。这个框架定义了一个称为“对抗性生成器网络”(Adversarial Generator Network,G)的模型,它能够为给定的输入 x x x生成对抗性样本 x ′ x' x

编码器-解码器结构:DAGAER采用了编码器-解码器(Encoder-Decoder)结构,其中包括:

  • 编码器网络 q ϕ ( z ∣ x ) qϕ(z|x) (zx):一个概率编码器网络,它定义了给定输入 x x x时潜在代码 z z z的条件分布。通常假设编码器依赖于高斯分布的重参数化技巧。
  • 解码器网络 p θ ( δ ∣ z ) pθ(δ|z) (δz):一个概率解码器网络,它将采样的潜在代码 z z z映射到扰动 δ δ δ
  • 组合函数 c ( δ , x ) c(δ, x) c(δ,x):将输入 x x x和扰动 δ δ δ作为输入,并输出扰动样本 x ′ x' x
  • 相似度函数 Δ Δ Δ:用于限制对抗性样本的空间,例如使用 l p l_p lp范数或离散域中操作的数量上限。

生成流程:描述了生成器网络的基本流程,即首先使用编码器网络根据输入 x x x采样潜在的“扰动代码” z z z,然后生成扰动 δ δ δ,并通过组合函数与原始输入结合生成对抗性样本 x ′ x' x

领域泛化性:强调了DAGAER框架的领域泛化性,即通过选择适当的编码器、解码器和相似度函数,可以轻松地将该框架应用于不同的领域(如图像、文本或图结构数据)。

对抗性泛化:与受限优化方法不同,DAGAER允许通过训练的编码器-解码器在任意输入点上高效地生成对抗性样本的分布,甚至可以泛化到训练期间未见过的样本。

训练和损失函数:介绍了如何通过定义一个混合目标函数来训练模型,该函数包括一个惩罚非对抗性生成点的分类损失和两个正则化项。

② 训练和损失函数

混合目标函数:DAGAER的训练涉及定义一个混合目标函数,该函数由三部分组成:一个分类损失(misclassification loss)和两个正则化项(regularizers)。

在这里插入图片描述

其中, λ λ λ是一个超参数,用于在对抗性误分类目标和扰动大小之间进行权衡。

分类损失 L c L_c Lc:使用最大分类边界(max-margin misclassification loss),当生成的对抗性样本 x ′ x' x没有被错误分类时,该损失会惩罚模型。损失函数定义为:

在这里插入图片描述

其中 s ( x , y ) s(x,y) s(x,y)表示分类器 f f f将点 x x x分类为类别 y y y的相对可能性(未归一化)。

正则化项:

  • 第一个正则化项惩罚模型,根据扰动 δ δ δ和原始点 x x x之间的相似度 Δ ( x , x ′ ) Δ(x,x') Δ(x,x)。这通常使用 l p l_p lp范数来衡量。
  • 第二个正则化项是潜在空间中的KL正则化器(KL-regularizer),它防止潜在样本 z z z坍塌到特定的潜在代码上,通过最小化编码器分布 q ϕ ( z ∣ x ) qϕ(z|x) (zx)和标准高斯先验 N ( 0 , 1 ) N(0,1) N(0,1)之间的Kullback-Leibler散度。

训练过程:训练包括首先采用一批未扰动的样本,然后通过对抗性生成器G运行这些样本,尝试在小批量中的每个样本上欺骗模型,然后通过随机梯度下降以端到端的方式更新模型。

与变分自编码器的比较:DAGAER的训练方法与变分自编码器(VAE)类似,但目标函数是对抗性损失而不是标准的交叉熵损失,且重构误差由任意相似度函数 Δ Δ Δ给出,具有权衡相似度的超参数 λ λ λ

③ 在图领域节点分类任务的实现

图结构数据的挑战:论文首先指出,与文本和图像数据相比,图结构数据在进行对抗性训练时存在独特的挑战,主要是因为图数据的训练样本通常是一个大图中节点的子样本,并且是非独立同分布的(non-i.i.d.)。

直接攻击与影响攻击:作者考虑了两种攻击设置:

  • 直接攻击(Direct Attacks):攻击模型可以直接修改目标节点属性。
  • 影响攻击(Influencer Attacks):攻击模型只能修改目标节点邻域中节点的属性,而不能直接修改目标节点本身的属性。

编码器和解码器的选择:为了适应图结构数据,作者选择了GCN作为编码器网络,以及多层感知机(MLP)作为解码器。

攻击者集合和目标集合:定义了两个不相交的节点集合:攻击者集合 A A A和目标集合 T T T。对于直接攻击, A = T A=T A=T,而对于影响攻击, A A A是目标节点的邻居节点集合。

组合函数:对于直接攻击,组合函数 c ( δ , x ) c(δ, x) c(δ,x)简单地将扰动 δ δ δ添加到节点特征 x x x上,即 x ′ = x + δ x'=x+δ x=x+δ。对于影响攻击,组合函数使用了一个二进制掩码 b b b,只修改攻击者集合 A A A中节点的嵌入,即 x ′ = x + b ⋅ δ x'=x+b·δ x=x+bδ

相似度函数:与图像和文本领域的应用类似,图结构数据的相似度函数 Δ Δ Δ使用了 l 2 l_2 l2范数来衡量。

训练数据的挑战:论文讨论了图数据训练中的一个关键问题,即训练点是非独立同分布的,这是通过在大图中对节点进行子采样来处理的。

实验设置:作者提到了实验设置,包括使用的数据集(Cora和Citeseer)、模型的分割方式以及训练过程中使用的优化器和学习率。

7、启发&思考
① 论文思路

本文最大的优点就是思路很清晰,刚开始目标非常明确,就是要在“Domain Agnostic”、“Attack Generalization”和“Diversity of Attacks”这三点上体现本文所提算法框架的优势。实验部分也是非常明确地为了验证这三个问题。

在这里插入图片描述

② 本文算法与Nettack的区别与关联
  • 区别就是