#论文笔记#
论文名称 | CLPA: Clean-Label Poisoning Availability Attacks Using Generative Adversarial Nets |
---|---|
作者 | Bingyin Zhao (Clemson University)克莱姆森大学 |
出版社 | AAAI 2022 |
在线pdf | |
代码 |
无 |
clean label 的 availability attack,通过 triplet loss 训练 generator,使其生成和 natural poisoned data 特征相似的加毒数据
机器学模型中攻击的类别 (本文的分类,有些文章的定义和本文不同)
Evasion Attacks(逃逸攻击)
Backdoor Attacks(后门攻击):后门攻击是指当且仅当输人为触发样本(trigger)时,模型才会产生特定的隐藏行为;否则,模型工作表现保持正常。
Poisoning Attacks(数据中毒攻击):在训练数据集中注入恶意数据来操纵模型的行为
不同攻击方式的目标和能力:
Availability Attacks 更难做到,因为其需要改变模型的决策边界,而不仅仅是针对特定实例的恶意行为
Availability Attacks(可用性攻击)的危害:
威胁模型
早期的 Availability Attacks:
上述做法容易被检测出来。在 Integrity Attacks 和 backdoor Attacks 已经有了许多关于 clean-label 的研究,但在 Availability Attacks 几乎没有
本文的idea和贡献:
arg max D p ∑ ( x , y ) ∼ D ^ L ( x , y , θ p ) \underset{\mathcal{D}_{p}}{\arg \max } \sum_{(x, y) \sim \hat{\mathcal{D}}} \mathcal{L}\left(x, y, \theta_{p}\right) Dpargmax∑(x,y)∼D^L(x,y,θp)
s.t. θ p ∈ arg min θ p ∈ Θ ∑ ( x , y ) ∼ D t r ∪ D p L ( x , y , θ ) \theta_{p} \in \underset{\theta_{p} \in \Theta}{\arg \min } \sum_{(x, y) \sim \mathcal{D}_{t r} \cup \mathcal{D}_{p}} \mathcal{L}(x, y, \theta) θp∈θp∈Θargmin∑(x,y)∼Dtr∪DpL(x,y,θ),
目标:使用 GAN 去生成一些图片。“Our objective is to generate images with similar characteristics as “natural poisoned data”, particularly those locate in the overlapped area of multiple categories in the representation space.”
在干净的训练数据上训练一个 conditional GAN (条件生成网络 CGAN),目标是为了使 GAN 模型可以通过 label 信息来产生一些训练数据。训练 GAN 的过程中包括了 G G G 和 D D D。 D D D 为鉴别器,用于区分真伪图像。
min G max D V ( D , G ) = L ( D ) + L ( G ) s.t. L ( D ) = E x ∼ p x ( x ) [ log D ( x ∣ y ) ] L ( G ) = E z ∼ p z ( z ) [ log ( 1 − D ( G ( z ∣ y ) ) ) ] \begin{array}{rl}\min _{\mathcal{G}} \max _{\mathcal{D}} & \mathcal{V}(\mathcal{D}, \mathcal{G})=\mathcal{L}(\mathcal{D})+\mathcal{L}(\mathcal{G}) \\ \text { s.t. } & \mathcal{L}(\mathcal{D})=E_{\mathbf{x} \sim p_{x}(\mathbf{x})}[\log \mathcal{D}(\mathbf{x} \mid \mathbf{y})] \\ & \mathcal{L}(\mathcal{G})=E_{\mathbf{z} \sim p_{z}(\mathbf{z})}[\log (1-\mathcal{D}(\mathcal{G}(\mathbf{z} \mid \mathbf{y})))]\end{array} minGmaxD s.t. V(D,G)=L(D)+L(G)L(D)=Ex∼px(x)[logD(x∣y)]L(G)=Ez∼pz(z)[log(1−D(G(z∣y)))]
生成器的结构采用 BigGAN 的结构
目的:指导 phase I 训练好的生成器去学习 poisoned data 的分布。
构建 triplet loss 训练生成器
目的:希望生成器生成的图像位于表示空间中的 “overlapped area”,同时 have features of both positive and negative
损失函数:
∣ d 1 − d 2 ∣ < α s.t. d 1 = ∥ R ( x ) − R n e g ∥ 2 , d 2 = ∥ R ( x ) − R pos ∥ 2 \begin{aligned}\left|d_{1}-d_{2}\right| &<\alpha \\ \text { s.t. } d_{1} &=\left\|\mathcal{R}(\mathbf{x})-R_{n e g}\right\|_{2}, \\ d_{2} &=\left\|\mathcal{R}(\mathbf{x})-R_{\text {pos }}\right\|_{2} \end{aligned} ∣d1−d2∣ s.t. d1d2<α=∥R(x)−Rneg∥2,=∥R(x)−Rpos ∥2
positive 和 negative 的选择
同时优化 GAN 的损失和 triplet loss
算法的具体流程
流程图太长,具体看论文中的流程图 “Algorithm 1: Poisoned Data Generation”
两段训练的意义
数据集一
CIFAR-10
数据集二
ImageNet