《Adversarial examples for generative models》论文学习
摘要
我们探讨了在诸如变分自编码器(VAE)和VAE-GAN等深层生成模型上生成对抗实例的方法。众所周知,深度学习体系结构容易受到对抗示例的攻击,但之前的工作主要集中在对抗示例在分类任务中的应用。由于能够对输入数据分布进行建模并从这些分布生成真实的示例,深度生成模型最近变得流行起来。我们提出了针对VAE和VAE-GAN体系结构的三种攻击,并对在MNIST、SVHN和CelebA上训练的网络进行了演示。我们的第一次攻击利用基于分类的对手,将分类器附加到目标生成模型的训练有素的编码器上,然后可以使用该编码器间接操纵潜在的表示。我们的第二次攻击直接使用VAE损失函数从对抗实例生成目标重建图像。我们的第三次攻击超越了依赖分类或梯度的标准损失,而是直接针对源和目标潜在表现的差异进行优化。我们还解释了为什么攻击者可能对在目标生成网络上部署此类技术感兴趣。
1 介绍
对抗样本已经被证明存在于各种深度学习架构中它们是原始输入的微小扰动,通常人类观察者几乎看不到,但经过精心设计,可以误导网络产生不正确的输出。Szegedy等人(《Intriguing properties of neural networks》)和Goodfellow等人(《Explaining and Harnessing Adversarial Examples》)的开创性工作,以及许多最近的工作表明,对抗样本是丰富的,而且很容易找到它们。
以往的工作主要集中在对抗样本在分类任务中的应用上,深度网络将类别分配给输入图像。该攻击在原始输入图像上增加了小的对抗扰动。这些扰动导致网络改变输入的分类,从正确的类到其他不正确的类(可能是攻击者选择的)。关键的是,扰动输入必须仍然被人类观察者识别为属于原始输入类。
深层生成模型,如Kingma等人(《Auto-encoding variational bayes》),学习生成各种输出,从手写数字到人脸(《Deep convolutional inverse graphics network》),现实场景(《Conditional image generation with pixelcnn decoders》),视频(《Video pixel networks》), 3D对象(《Learning to generate chairs, tables and cars with convolutional networks》),和音频(《Wavenet: A generative model for raw audio》)。这些模型以不同的方式学习输入数据分布的近似值,然后从这个分布中进行抽样,生成之前未见过但貌似合理的输出。
据我们所知,之前没有研究过使用对抗输入来攻击生成模型。这样的工作有两个主要要求:描述攻击者可能想要攻击生成模型的可能场景;设计并演示一种攻击方式,可以成功对抗生成模型。我们在这项工作中处理了这两个要求。
生成模型最基本的应用之一是输入重构。给定一个输入图像,模型首先将其编码成一个低维的潜在表示,然后使用该表示生成原始输入图像的重构。由于潜在表示通常比原始输入的维数要少得多,因此可以将其用作一种压缩形式。潜表示也可以用来从输入中去除某些类型的噪声,即使在网络没有明确训练去噪的情况下,这是因为潜表示的低维限制了训练后的网络能够表示的信息。许多生成模型还允许通过采样不同的潜在值或修改潜在向量的单个维度来操纵生成的输出,而不需要经过编码步骤。
输入重构生成网络的这些特性表明,有效的对手可以对生成网络发动各种不同的攻击。任何针对潜在表示压缩瓶颈的攻击,都可能利用为使用潜在表示而构建的应用程序中的天然安全漏洞。具体地说,如果一个人做的编码解码步骤是分开的,攻击者可能会导致编码方相信他们已经为解码方编码了特定的信息,但实际上它们编码了攻击者选择的不同信息。我们更详细地探讨了这个想法,因为它适用于使用VAE或VAE-GAN架构压缩图像的应用。
2 相关工作与背景
本工作的重点是可变自动编码器(VAEs,由Kingma等人在《Auto-encoding variational bayes》中提出)和VAE-GANs(由Larsen等人在《Autoencoding beyond pixels using a learned similarity metric》中提出了由生成式对抗网络组成的VAEs)。
2.1 关于对抗的相关工作
现有文献中描述了许多针对分类模型的对抗攻击(《Explaining and Harnessing Adversarial Examples》,《Intriguing properties of neural networks》)。这些攻击可以是无目标的,其中对抗的目标是造成任何错误分类,或最不可能的错误分类(《Explaining and Harnessing Adversarial Examples》,《Adversarial examples in the physical world》);或者它们可以成为攻击者想要的特定错误分类的目标。Moosavi-Dezfooli等人(《Deepfool: a simple and accurate method to fool deep neural networks》)给出了一个强有力的有针对性的对抗攻击的最近示例。一些对抗攻击允许使用那些对目标模型本无访问权限的威胁模型(《Intriguing properties of neural networks》,《Practical black-box attacks against deep learning systems using adversarial examples》),但通常假定攻击者在在线或离线设置下确实有访问权限(《Intriguing properties of neural networks》)。
给定一个分类器 f ( x ) : x ∈ X → y ∈ Y f(x):x \in \mathcal{X} \to y \in \mathcal{Y} f(x):x∈X→y∈Y 和原始输入 x ∈ X x \in \mathcal{X} x∈X ,生成无目标对抗样本的问题可以表示为以下优化: a r g m i n x ∗ L ( x , x ∗ ) s . t . f ( x ∗ ) ≠ f ( x ) argmin_{x^*}L(x,x^*) \ s.t. \ f(x^*) \ne f(x) argminx∗L(x,x∗) s.t. f(x∗)=f(x) ,其中 L ( ⋅ ) L( \cdot ) L(⋅) 是输入空间的例子之间的距离度量(例如, L 2 L_2 L2范数)。类似地,对分类器生成有针对性的对抗攻击可以表示为 a r g m i n x ∗ L ( x , x ∗ ) s . t . f ( x ∗ ) = y t argmin_{x^*}L(x,x^*) \ s.t. \ f(x^*) = y_t argminx∗L(x,x∗) s.t. f(x∗)=yt ,其中 y t ∈ Y y_t \in \mathcal{Y} yt∈Y 是攻击者选择的某个目标标签。
这些优化问题通常可以用L-BFGS或Adam (《Adam: A method for stochastic optimization》),正如Szegedy等人(《Intriguing properties of neural networks》)和Carlini(《Towards evaluating the robustness of neural networks》)。它们也可以用单步梯度逼近技术,如快速梯度信号(《Explaining and harnessing adversarial examples》)、快速梯度 L 2 L_2 L2(《Learning with a strong adversary》)或快速最不可能类(《Adversarial examples in the physical world》);或者它们可以用这些方法的迭代变体和其他基于梯度的技术进行近似(《Adversarial examples in the physical world》,《Deepfool: a simple and accurate method to fool deep neural networks》)。
Sabour等人(《Adversarial manipulation of deep representations》)发现了这类攻击的一个有趣变体。在这项工作中,他们直接攻击目标网络的隐藏状态,方法是取得一个输入图像 x x x 和一个目标图像 x t x_t xt ,并搜索 x x x 的一个扰动变量,使其能在目标网络的第 l l l 层产生与 x t x_t xt 产生的同一层隐藏状态相似的隐藏状态。这种方法也可以直接应用于攻击生成模型的潜在向量。
在Tabacof等人(《Adversarial Images for Variational Autoencoders》)的并行工作中,这种攻击的一种变体也被应用到VAE模型中,该模型使用源图像和目标图像的潜在表示之间的KL散度来生成对抗样本。然而,在他们的论文中,作者提到,他们试图直接攻击输出,但这只会使重建更加模糊。虽然他们没有解释确切的实验设置,但攻击听起来与我们的 L V A E \mathcal{L}_{VAE} LVAE攻击相似,我们发现非常成功。此外,在他们的论文中,作者没有考虑更先进的VAE-GAN模型和更复杂的数据集,如CelebA。
2.2 VAE和VAE-GAN的背景
变分自动编码器的一般架构由三个组件组成,如图8所示。编码器 f e n c ( x ) f_{enc}(x) fenc(x) 是一个神经网络,它将高维输入表示 x x x 映射为低维(压缩)潜在表示 z z z 。所有 z z z 的可能值构成一个潜空间。在一个训练良好的VAE中,潜在空间中的相似值应该产生类似的解码器输出。最后,解码器/生成器 f d e c ( z ) f_{dec}(z) fdec(z),是一个神经网络,将压缩的潜在表示映射回高维输出 x ^ \hat{x} x^ 。组成这些网络可以进行基本的输入重构 x ^ = f d e c ( f e n c ( x ) ) \hat{x}=f_{dec}(f_{enc}(x)) x^=fdec(fenc(x))。这种组合架构在训练期间用于反向传播来自损失函数的错误。

变分自编码器的损失函数 L V A E \mathcal{L}_{VAE} LVAE 使网络能够学习一个潜在的表示,近似于棘手的后置分布 p ( z ∣ x ) p(z|x) p(z∣x) :
L V A E = − D K L [ q ( z ∣ x ) ∣ ∣ p ( z ) ] + E q [ l o g p ( x ∣ z ) ] (1) \mathcal{L}_{VAE}=-D_{KL}[q(z|x)||p(z)]+E_q[log \ p(x|z)] \tag{1} LVAE=−DKL[q(z∣x)∣∣p(z)]+Eq[log p(x∣z)](1) q ( z ∣ x ) q(z|x) q(z∣x)是所学的后验分布 p ( z ∣ x ) p(z|x) p(z∣x)的近似。 p ( z ) p(z) p(z)是潜在表示 z z z的先验分布。 D K L D_{KL} DKL表示Kullback Leibler散度。 E q [ l o g p ( x ∣ z ) ] E_q[log \ p(x|z)] Eq[log p(x∣z)]是变分下界,在输入重构的情况下是输入 x x x与其重构 x ^ \hat{x} x^之间的交叉熵 H [ x , x ^ ] H[x,\hat{x}] H[x,x^]。为了生成 x ^ \hat{x} x^,需要对 q ( z ∣ x ) q(z|x) q(z∣x)进行采样,然后计算 f d e c ( z ) f_{dec}(z) fdec(z)。
当从 q ( z ∣ x ) q(z|x) q(z∣x)采样时,要使VAE完全可微,需采用重参数化方法(《Auto-encoding variational bayes》)从网络中提取随机采样步长,并将其转化为输入 ε ε ε。高斯分布常被参数化。在本例中, f e n c ( x ) f_{enc}(x) fenc(x) 输出的是分布参数 μ \mu μ和 σ 2 σ^2 σ2。然后通过计算 z = μ + ε σ 2 z = \mu + ε \sqrt{σ^2} z=μ+εσ2 对该分布进行采样,其中 ε ∼ N ( 0 , 1 ) ε \sim N(0,1) ε∼N(0,1) 为输入随机样本,不依赖于 f e n c f_{enc} f

本文研究了如何生成对抗性样本来攻击变分自编码器(VAE)和VAE-GAN等深层生成模型。攻击方法包括基于分类器的攻击、LVAE损失攻击和潜在空间攻击。实验结果显示,潜在空间攻击在MNIST、SVHN和CelebA数据集上最有效,能够欺骗模型将输入重构为不同类别的输出。这一发现揭示了深度生成模型的安全隐患,为构建更健壮的网络提供了新的视角。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



