数据中毒文献阅读笔记(更新至12.27)

凸多面体 Transferable Clean-Label Poisoning Attacks on Deep Neural Nets

深度神经网络需要用于训练和超参数调整的大型数据集。许多从业者将网络作为数据源,可以在几乎没有人为监督的情况下自动抓取大型数据集。不幸的是,最近的研究结果表明,这些数据采集过程可能会导致安全漏洞。

特别是,从不可信的来源检索数据会使模型容易受到数据中毒攻击,其中攻击者将恶意编制的示例注入训练集中,以劫持模型并控制其行为。

清洁标签中毒攻击与其他中毒攻击不同,关键在于:它们不要求用户控制标签过程。这种攻击为一种独特的威胁模型打开了大门,在这种模型中,攻击者只需将恶意图像放在网络上,等待网络抓取机器人、社交媒体平台运营商或其他毫无戒心的受害者获取,就可以毒害数据集。然后由人类标签员对毒药进行适当分类,并在培训期间使用。此外,有针对性的干净标签攻击并不会不加区分地降低测试准确性,而是针对特定示例的错误分类,从而使攻击的存在无法通过观察整体模型性能来检测。

白盒环境:攻击者对受害者模型有完全的了解,并在制作毒药的过程中使用这些知识。

黑盒攻击(可转移的中毒攻击):攻击者对受害者模型不了解。

特征碰撞

攻击者从目标类中选择一个基本示例xb来制作毒物xp,并试图通过向xb添加小的对抗性扰动来使xp在特征空间中与目标xt相同。

第一项的作用是让毒素图像x在输入空间上接近基图像xb。因为xb来自目标类别,所以这个项会使得x对人类标注者保持和xb相同的类别。
第二项则在特征空间上最小化x(即毒素图像)和目标图像xt之间的距离,使其特征表达接近或碰撞。

为什么可以这样设计?原因在于:

深度神经网络在训练分类器时,是在特征空间中学到不同类别样本的决策边界的。所以如果在特征层面让毒素图像接近目标图像,模型可能会将目标误分类到毒素图像所属的类别。
但是为了避免毒素图像对人类标注者显得类别明显不同,需要保证该图像在原始输入空间看起来和其基图像较为接近。所以引入了第一项作为约束。
μ 用来权衡这两项约束,取合适的值可以在保持类别不变的情况下产生期望的特征碰撞。

使用平方范数(二范数)主要有以下两个考虑:

从优化的角度,二范数容易求导,损失函数可微分,适合用梯度下降法优化。使用二范数代价函数可以高效快速逼近最优解。
从距离度量的角度,二范数可以反映样本之间在各个特征维度上的总体差异。平方操作虽让单个大差值对整体贡献更大,但不会改变最优结果。它体现整体差异更加平滑连续,有利于模型收敛。
相比一范数(绝对值和)直接取绝对差值,二范数更符合图像空间中样本距离的度量和优化目标。

举个例子。

假设我们训练模型期望样本特征尽量接近类别平均中心,那么样本与中心的距离就是一个自然的优化目标。

现在如果有样本A,它在某些维度上偏离中心很严重(比如10),而在其它维度只偏离很小(比如1)。

用一范数计算距离就简单按维度差值相加。但这不能体现严重失真的维度对总体误差的影响。

而二范数距离在每个维度上的差异都算平方,再求和平均。平方放大了那些严重失真的维度项,使其对总距离贡献更大。

这更符合我们期望的优化目标——严重偏离平均的featue应该付出更大的距离代价,受到模型更大惩罚。

所以平方距离就是一种整体上控制样本特征偏离均值分布的方法。相比一范数直接相加,它可加性惩罚大的误差项。

如果两个图像在像素值上差异很小,比如$|x - x_b|_2$约束非常小,那么视觉上x和$x_b$变化也会很微小。因为像素变化很小导致整体视觉特征没有明显不同。

反过来,如果允许像素差异过大,比如$|x - x_b|_2$的值很大,那么视觉上就会看到非常明显的语义变化。

所以通过限制输入空间的距离差异$|x - x_b|_2$,就可以相应限制图像在语义上的变化,确保视觉上是相似的。

凸多面体

凸多面体的一个重要性质是,它的任何点都可以表示为其顶点的凸组合。这意味着,你可以通过在顶点之间适当地分配权重(使得所有权重的和为1,并且所有权重都不小于0),然后将这些加权的顶点相加,来得到凸多面体中的任何点。

例如,如果你有一个凸四面体(一个具有四个顶点的凸多面体),你可以通过将四个顶点的坐标相加(每个坐标乘以一个权重),来得到四面体内部的任何点。这就是为什么在前面的算法中,我们可以使用权重(c^{(i)})来表示目标的特征向量为毒药图像的特征向量的凸组合。

如果目标的特征向量位于毒物特征向量的凸多面体中,则来自同一类的一组毒物保证将目标的类标签改变为它们的类别标签。我们强调,这是一个比强制特征碰撞宽松得多的条件——它使毒物能够距离目标更远,同时改变更大空间区域上的标签。

与特征碰撞攻击相比,攻击的不可察觉性得到了增强。

凸多面体物镜带来的最重要的好处是提高了可转移性。对于凸多面体攻击,xt不需要与未知目标模型的特征空间中的特定点对齐。它只需要位于由毒物形成的凸多面体内即可。在不满足这个条件的情况下,凸多面体攻击仍然比特征碰撞攻击有优势。

这两个图分别展示了"Feature Collision Attack"和"Convex Polytope Attack"两种攻击下的损失情况。每个图中都有四条线,分别代表了以下四种情况的平均损失:

  • 训练损失(无 Dropout)
  • 受害者损失(无 Dropout)
  • 训练损失(有 Dropout)
  • 受害者损失(有 Dropout)

在"Feature Collision Attack"的图中,我们可以看到受害者的损失(无 Dropout)在训练过程中波动较大,而其他三种情况的损失则相对稳定。

在"Convex Polytope Attack"的图中,除了受害者的损失(有 Dropout)之外,其他三种情况的损失在初始阶段都急剧下降,然后逐渐稳定。受害者的损失(有 Dropout)则是逐渐下降。

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值