文章信息
论文题目:Alchemy: Data-Free Adversarial Training
期刊(会议):CCS
时间:2024
级别:CCF A
文章链接:https://dl.acm.org/doi/abs/10.1145/3658644.3670395
概述
到目前为止,根据我们的调查,几乎所有对抗性训练工作都假设防御者可以访问模型的原始训练数据。然而,如图1所示,在一些关键的真实世界场景中,参与者只能获得预先训练的模型,这些模型对于对抗性示例攻击是脆弱的,但由于数据隐私或知识产权的原因,无法访问训练数据集以进一步提高鲁棒性。
尽管已经提出了基于未标记数据的半监督方法和无监督方法来提高对抗性鲁棒性,但半监督方法旨在利用未标记数据集来补充原始数据集,以进一步提高对抗性健壮性,而无监督方法使用未标记的原始数据集来获得鲁棒性。这些方法都建立在具有标记或未标记的原始数据集的基础上;因此,它们只能与原始数据集样本一起使用。因此,在完全无数据的情况下,建立一种提高模型鲁棒性的方法是前所未有的,也是至关重要的。
因此,我们提出了第一个完整的无数据对抗训练框架,称为Alchemy。使用这种方法,用户可以增强从开源社区或技术公司网站获得的模型的健壮性,而不需要任何原始训练数据信息。
构建无数据对抗训练需要我们解决两个重大困难,以实现对抗攻击的高鲁棒性,同时在原始数据集上保持高精度。
- 在无法访问原始数据集的情况下,防御者必须重建训练数据以进行对抗训练。对抗训练任务要求重建数据包含足够的鲁棒特征,并要求高的重建质量。为了解决这一问题,我们提出了鲁棒样本生成模块来生成与原始训练数据集具有高相似性和高内部多样性的替代数据集。设计了一种新的考虑对抗边缘的样本生成方法,以保持下游对抗训练的鲁棒特征。
- 给定生成数据和原始训练数据集之间的分布差异,生成数据集的对抗鲁棒性在传输到原始数据集时面临自然退化问题。我们提出了一种新的对抗训练框架来解决这一挑战,以在原始数据集上获得更好的对抗鲁棒性。在对抗训练模块中,我们利用平滑度损失函数和权值扰动来提高模型对生成数据集和未见原始数据集的鲁棒性。
威胁模型
知识
我们分别定义了攻击者和防御者的知识。对于攻击者,我们同时考虑白盒攻击和黑盒攻击。
- 攻击者的知识。对于白盒攻击,攻击者完全了解目标实现模型的结构和参数。攻击者可以利用该参数来计算对抗性示例。对于黑盒攻击,攻击不能访问目标模型的参数。该攻击具有用于生成对抗性示例的替代模型。
- 防御者的知识。防御者只知道在原始数据集 X o r i \mathcal{X}_{ori} Xori上训练的预训练模型 f T f^{T} fT。
能力
我们分别定义了攻击者和防御者的能力。
(1)攻击者的能力。为了干扰模型,攻击者在输入数据上添加对抗性扰动,以误导模型做出错误的预测。为了避免被人类检测,攻击者在以下区域保留$ x_i $的对抗性示例:
B ϵ p ( x i ) = { x i ′ ∈ X : ∥ x i ′ − x i ∥ p ≤ ϵ } \mathcal{B}_\epsilon^p(x_i)=\{x_i^{\prime}\in\mathcal{X}:\left\|x_i^{\prime}-x_i\right\|_p\leq\epsilon\} Bϵp(xi)={xi′∈X:∥xi′−xi∥p≤ϵ}
向量的p-范数定义为其分量的绝对值的p次幂的和的p次方根。数学上,对于向量 x = ( x 1 , x 2 , … , x n ) x=(x_1,x_2,\dots ,x_n) x=(x1,x2,…,xn),p-范数由 ∥ x ∥ p = ( ∑ i = 1 n ∣ x i ∣ p ) 1 p \|x\|_p=\left(\sum_{i=1}^n|x_i|^p\right)^{\frac{1}{p}} ∥x∥p=(∑i=1n∣xi∣p)p1给出。无穷范数,也称为最大范数,指向量中所有分量的绝对值的最大值。在本文的其余部分中,我们使用无穷范数作为对抗性设置。
(2)防御者的能力。防御者在 f T f^{T} fT上进行重新训练,以获得用于部署的 f T f^{T} fT模型。但防御者不能访问 X o r i \mathcal{X}_{ori} Xori。
目标
攻击者和防御者进行对抗性游戏。对于输入 x i x_i xi及其真值标签 y y y,攻击者生成对抗性示例 x i ′ ∈ B ϵ p ( x i ) x_i^{\prime}\in\mathcal{B}_\epsilon^p(x_i) xi′∈Bϵp(xi),并旨在通过 arg max i f S ( x ) i ≠ y \operatorname{a r g} \operatorname* {m a x}_{i} f^{S} ( x )_{i} \neq y argmaxifS(x)i=y来欺骗部署模型 f S f^S fS。相反,防御者旨在通过 f S f^S fS做出正确的预测,即 arg max i f S ( x ) i = y \operatorname{a r g} \operatorname* {m a x}_{i} f^{S} ( x )_{i}=y argmaxifS(x)i=y。
系统设计
Alchemy的目标是在预先训练的模型 f T f^{T} fT上进行对抗训练,而不依赖于任何原始训练数据 X o r i \mathcal{X}_{ori} Xori。图2显示了Alchemy的概述。
该框架包括三个主要模块:鲁棒样本生成、广义对抗样本和平滑对抗训练。鲁棒样本生成模块通过在 f T f^{T} fT的帮助下生成鲁棒样本数据集 X s u b \mathcal{X}_{sub} Xsub来解决缺乏对抗训练数据集的关键挑战。鲁棒性特征有利于下游对抗训练。生成的数据集和原始数据集之间的差异对对抗鲁棒性可转移性提出了显著的挑战。因此,对抗性示例构造产生了针对 f S f^S fS的广义有效对抗性示例 X s u b ′ \mathcal{X}_{sub}' Xsub′。平滑对抗训练进一步利用 X s u b ′ \mathcal{X}_{sub}' Xsub′来提高模型的平滑度,实现了对 X o r i \mathcal{X}_{ori} Xori的鲁棒性改进。我们在算法1中总结了整个简短的算法伪代码。
鲁棒样本生成
更详细地说,我们利用生成器模型 G \mathcal{G} G将随机高斯噪声z转换为与原始训练样本相同维数的 G ( z ) \mathcal{G} (z) G(z),并获得训练样本 x = G ( z ) x=\mathcal{G} (z) x=G(z)。为了构造替代数据集 X s u b \mathcal{X}_{sub} Xsub,在每个epoch,我们优化 G \mathcal{G} G和z以最小化重建损失。
为了生成具有鲁棒特征的训练样本,我们设计了具有对抗性最大边缘生成损失的目标函数。如图3所示,规则生成的数据集包含更接近决策边界的样本,这些样本具有非稳健特征,并降低了对抗训练。通过保持样本与边界的距离,生成的样本包含更多的鲁棒特征。
因此,我们利用最大边际损失来鼓励样本保持与边界的距离,并强制实施教师模型来预测目标标签,如下所示:
L m m ( x i ) = − f T ( c ∣ x i ) + max c ′ ≠ c f T ( c ∣ x i ) + L c e ( f T ( x i ) , c ) \mathcal{L}_{mm}(x_i)=-f^T(c|x_i)+\max_{c^{\prime}\neq c}f^T(c|x_i)+\mathcal{L}_{ce}(f^T(x_i),c) Lmm(xi)=−fT(c∣xi)+c′=cmaxfT(c∣xi)+Lce(fT(xi),c)
为了获得最佳的重建效果,我们利用批次归一化损失 L b n \mathcal{L}_{bn} Lbn来增强样本,模型的记忆保存在批次范数层中,师生模型不一致损失 L t s \mathcal{L}_{ts} Lts来增强学习有效性,样本多样性损失 L c r \mathcal{L}_{cr} Lcr来提高训练样本多样性。
- 批归一化损失。批归一化层维护层上特征的均值和方差统计信息,以规范化输入数据分布。批归一化层中的统计信息作为数据构建的自然有效约束,如下所示: L b n ( x i ) = ∑ l D ( μ l ( x i ) , σ l 2 ( x i ) , μ l , σ l 2 ) \mathcal{L}_{bn}(x_i)=\sum_lD\left(\mu_l(x_i),\sigma_l^2(x_i),\mu_l,\sigma_l^2\right) Lbn(xi)=l∑D(μl(xi),σl2(xi),μl,σl2)
- 师生意见分歧损失。教师模型和学生模型之间的较大分歧通常被认为有利于知识提取。因此,我们通过损失函数最大化分歧: L t s ( x i ) = − K L ( f T ( x i ) , f S ( x i ) ) \mathcal{L}_{ts}(x_i)=-KL(f^T(x_i),f^S(x_i)) Lts(xi)=−KL(fT(xi),fS(xi))
- 样本多样性损失。我们还利用[28]中的内存库,在生成过程中鼓励数据多样性,以避免数据崩溃。我们使用对比学习损失来鼓励生成模型生成不同于先前样本的样本。在历史样本为 x j − x_{j}^{-} xj−、转换后的样本为 x j + x_{j}^{+} xj+和实例鉴别器 h ( ⋅ ) h(\cdot) h(⋅)的情况下,我们使用对比损失函数: L c r ( X , h ) = E x i ∈ X [ log ∑ j exp ( sin ( x i , x j − , h ) ) exp ( sin ( x i , x i + , h ) ) ] \mathcal{L}_{cr}(\mathcal{X},h)=\mathbb{E}_{x_i\in\mathcal{X}}\left[\log\frac{\sum_j\exp\left(\sin\left(x_i,x_j^-,h\right)\right)}{\exp\left(\sin\left(x_i,x_i^+,h\right)\right)}\right] Lcr(X,h)=Exi∈X[logexp(sin(xi,xi+,h))∑jexp(sin(xi,xj−,h))]
因此,重构损失 L G \mathcal{L}_{G} LG由上述损失函数组成,如下所示:
L G = θ m m ∗ L m m + θ b n ∗ L b n + θ t s ∗ L t s + θ d ∗ L d \begin{aligned} \mathcal{L}_G=\theta_{\boldsymbol{m}\boldsymbol{m}}*\mathcal{L}_{\boldsymbol{m}\boldsymbol{m}}+\theta_{\boldsymbol{b}\boldsymbol{n}}*\mathcal{L}_{\boldsymbol{b}\boldsymbol{n}}+\theta_{\boldsymbol{t}\boldsymbol{s}}*\mathcal{L}_{\boldsymbol{t}\boldsymbol{s}}+\theta_{\boldsymbol{d}}*\mathcal{L}_{\boldsymbol{d}} \end{aligned} LG=θmm∗Lmm+θbn∗Lbn+θts∗Lts+θd∗Ld
广义对抗性样本
在每个epoch中生成训练样本后,我们在替代数据集 X s u b \mathcal{X}_{sub} Xsub上生成对抗样本 X s u b ′ \mathcal{X}_{sub}' Xsub′,用于在学生模型 f S f^S fS上进行进一步的对抗训练。在以前的对抗训练中,训练数据集 X t r a i n \mathcal{X}_{train} Xtrain和测试数据集 X t e s t \mathcal{X}_{test} Xtest可以被认为是独立同分布。而这里的 X s u b \mathcal{X}_{sub} Xsub和 X t e s t \mathcal{X}_{test} Xtest实际上是不同的分布。因此, X s u b ′ \mathcal{X}_{sub}' Xsub′上的鲁棒性不能自然转移到原始测试数据集 X t e s t \mathcal{X}_{test} Xtest。因此,我们提出了提高对抗性示例的有效性和泛化性的方法。
为了有效地生成对抗性示例,我们首先使用模型 f T f^T fT解决数据集 X s u b \mathcal{X}_{sub} Xsub上缺少的标签。我们选择输出 f T ( x ) f^T(x) fT(x)中的最大可能性作为样本x的标签c。然后,我们利用最大边际损失作为目标损失来制造对抗性噪声。具体来说,我们构造了对抗性示例 x ′ x' x′来增加最大边际损失:
x i ′ = argmin x ∈ B ϵ p ( x i ) ( f S ( c ∣ x i ) − max c ′ ≠ c f S ( c ∣ x i ) ) x_i^{\prime}=\operatorname*{argmin}_{x\in\mathcal{B}_\epsilon^p(x_i)}\left(f^S(c|x_i)-\max_{c^{\prime}\neq c}f^S(c|x_i)\right) xi′=x∈Bϵp(xi)argmin(fS(c∣xi)−c′=cmaxfS(c∣xi))
最大边际损失不仅降低了目标标记概率,而且增加了其他类别的概率。与正常的交叉熵损失和KL散度相比,会产生更强的攻击。需要注意的是,最大边际损失与第4.1节中使用的边际损失并不冲突。分别基于 f T f^T fT和 f S f^S fS对两个目标函数进行了优化。在 f T f^T fT上优化训练样本生成,以从教师模型中生成鲁棒特征样本,并构造对抗性示例来发现学生模型的漏洞。我们还利用数据增强来将对抗性鲁棒性推广到看不见的原始测试数据集。随着生成和训练的进行,我们逐渐将变换引入到样本中,以折衷非鲁棒特征,增强模型对可转移特征的学习。我们利用增强卷积层 Φ \Phi Φ来转换来自 X s u b \mathcal{X}_{sub} Xsub的输入数据。 x i ~ \widetilde{x_i} xi 是原始样本和增强样本与 θ g \theta_{g} θg的线性组合,随着训练的进行动态调整。
平滑对抗训练
对于Alchemy中的对抗训练,与生成的数据集 X s u b \mathcal{X}_{sub} Xsub上的鲁棒性相比,提高可以传输到目标测试数据集的鲁棒性更重要。为了更好的可移植性,我们提出了平滑对抗训练来提高模型对输入变化的内生平滑性。
平滑度损失函数
对于对抗性示例 x ′ x' x′,我们计算了学生模型输出 f S ( x ′ ) f^{S}(x') fS(x′)和干净输出 f S ( x ) f^{S}(x) fS(x)之间的KL散度,其可以量化为:
L k l = ∑ k = 1 K f k S ( x i ) log f k S ( x i ) f k S ( x ^ i ′ ) \mathcal{L}_{k l}=\sum_{k=1}^{K} f_{k}^{S} ( \mathrm{x}_{i} ) \operatorname{l o g} \frac{f_{k}^{S} ( \mathrm{x}_{i} )} {f_{k}^{S} ( \hat{\mathrm{x}}_{i}^{\prime} )} Lkl=k=1∑KfkS(xi)logfkS(x^i′)fkS(xi)
K是样本类的数量。我们利用 L k l \mathcal{L}_{k l} Lkl作为主要的对抗训练损失,并伴随着对抗示例x′和目标标签c的交叉熵损失,同时进行样本重加权。我们的目标是确保模型在受到对抗性噪声时表现出最小的输出变化,从而实现平滑效果。因此,使用如下的损失函数对对抗训练进行优化:
L a t = L k l + θ c e ∗ L c e {\mathcal{L}}_{a t}={\mathcal{L}}_{k l}+\theta_{c e} * {\mathcal{L}}_{c e} Lat=Lkl+θce∗Lce
θ c e \theta_{c e} θce用于平衡模型平滑目标和生成数据集的鲁棒性。
权重扰动
为了更好地提高对抗性训练平滑度,防止对生成的数据集进行过拟合,我们利用权重扰动方法来平滑权重损失。在每个epoch之前,我们基于对抗性参数扰动,用 Δ f S \Delta f^{S} ΔfS扰动权重。使用损失函数相对于权重的梯度来计算权重扰动,以确定应扰动权重以使损失最大化的方向。然后利用对抗训练损失 L a t {\mathcal{L}}_{a t} Lat对扰动模型进行优化,并更新参数。在epoch结束时,我们通过删除在开始处添加的模型扰动 Δ f S \Delta f^{S} ΔfS来恢复模型权重。权重扰动被证明可以带来更平滑的权重损失,并有利于模型平滑,而不是仅对生成的数据集具有鲁棒性,这适用于在无数据场景中增强模型的固有平滑性。
评估
实验设置
我们选择了四个流行的数据集,即MNIST[24]、CIFAR-10[50]、SVHN[63]、CINIC-10[21]。
实验结果
生成的样本可视化
从结果中也可以观察到,数据产生了高度的多样性,以供进一步学习。
对不同攻击方法的鲁棒性
我们可以看到,对抗训练的结果显示了对各种攻击方法的鲁棒性的总体改进。这在一定程度上证实了我们的算法除了防御PGD-20攻击之外,还具有一般的鲁棒性改进。
讨论
在图7中,我们还测量由扩散模型生成的数据的类间FID[40]值。扩散模型产生的数据的类间FID比其他模型大。结合上述实验结果,可以分析得出,扩散模型倾向于生成给定类别的最具代表性的样本。然而,数据的多样性并不容易保证。在未来的工作中,可以通过更精细地调整输入来提高效果,这可以用于无数据对抗训练。
CIFAR-10上不同类别之间的FID得分热图。每个FID值由颜色深度表示,表示两个类别之间的分布差异。从结果可以看出,当不应用鲁棒生成时,生成数据的类别更接近,这表明生成的样本更接近分类边界,并且包含大量的非鲁棒特征。另一方面,扩散模型生成的样本在类别之间表现出显著差异。Alchemy生成的样本与原始数据集中的类之间的关系最相似。
总结
我们的工作引入了Alchemy,这是一种新颖的无数据对抗训练框架,旨在增强模型鲁棒性,而不需要访问原始训练数据。通过对不同数据集的综合实验,Alchemy展示了令人印象深刻的有效性,与在原始数据集上训练的模型相比,即使在没有原始训练数据的情况下,也具有平均鲁棒性。该框架不仅在大多数场景中展示了对抗攻击的稳定性和弹性,还为无数据对抗训练的未来研究方向提供了宝贵的见解,特别是在生成器选择和参数设置方面。这项工作为在不需要原始训练数据的情况下更广泛地访问健壮模型铺平了道路,为在各种真实世界场景中增强模型安全性提供了巨大的潜力。