查看原文
其他

ECCV 2022 | SegPGD: 能有效提升语义分割模型鲁棒性的对抗攻击方法

陈兆宇 PaperWeekly 2023-02-21

©作者 | 陈兆宇

单位 | 复旦大学ROILab

研究方向 | 对抗样本



论文标题:

SegPGD: An Effective and Efficient Adversarial Attack for Evaluating and Boosting Segmentation Robustness

论文链接:

http://arxiv.org/abs/2207.12391

收录会议:

ECCV 2022




提出的问题


分类模型的对抗攻击和防御在过去几年中得到了深入研究。语义分割作为分类的延伸,最近也受到了极大的关注。在攻击方法上,与分类不同,分割的攻击目标是同时欺骗所有像素分类。一个有效的分割模型的对抗样本预计会欺骗尽可能多的像素分类,这需要更多的攻击迭代。这一观察使得分割模型的鲁棒性评估和对抗训练都具有挑战性。

现有对抗工作在语义分割模型的鲁棒性上有两个问题:第一个是之前在分割上的攻击较弱,从而导致对抗训练生成的鲁棒在面对更强大的攻击时(SegPGD)时会不鲁棒,比如作者使用强大的攻击设置(即大量攻击迭代)评估之前工作中经过对抗训练的分割模型,发现鲁棒性会显着降低。SegPGD 可以进一步降低 mIoU,在 100 次攻击迭代下,Cityscapes 数据集上经过对抗训练的 PSPNet 的 mIoU 可以降低到接近零。

第二个问题是,对抗训练在语义分割上,耗时且鲁棒性较低作为最有效的防御策略之一,对抗训练被提出来解决分类模型的脆弱性,在训练过程中创建对抗样本并将其注入训练数据。提高分割鲁棒性的一种有前途的方法是将对抗训练应用于分割模型。

然而,在训练期间创建有效的分割对抗样本可能非常耗时。值得注意的是,已经提出了许多具有单步攻击的对抗训练策略来解决分类中对抗训练的效率问题。然而,它们在分割模型上效果不佳,因为单步攻击创建的对抗样本不足以欺骗分割模型。



解决的问题

对于一个语义分割模型 ,输入图像为 ,对应的分割标签为 为类别数量。而攻击的目标是创建一个对抗样本来误导输入图像所有像素的分类,即 。


2.1 SegPGD


简单地将 PGD 迁移到分割,其迭代过程为:



同样地,将交叉熵损失迁移过来,会得到:



然后,我们将损失函数重新表述为下式中的两部分。其中第一项是正确分类像素的损失,而第二项是由错误分类像素形成的。其中, 为分类正确的像素, 为分类错误的像素,



第二项的损失通常很大,因为错误分类的像素会导致较大的交叉熵损失。在创建对抗样本时,第二个损失项的梯度可能占主导地位。然而,第二项损失的增加并不会导致更好的对抗效果,因为所涉及的像素已经被错误分类。为了在分割上获得高效的对抗样本,需要进行大量的攻击迭代,以便可以累积增加第一项损失的更新以误导正确分类的像素。

为了解决上述问题,考虑到分割中的密集像素分类,作者提出了分割特定的 PGD,称为 SegPGD,它创建具有相同攻击迭代次数的更有效的对抗样本,如下式所示:


其中,两个损失项分别用 加权。请注意, 的选择非常重要。它不能通过简单地设置 来很好地工作(只考虑正确分类的像素)。在这种情况下,先前错误分类的像素在几次攻击迭代后可能再次变得分类正确,因为它们在更新扰动时被忽略。这种情况也与之前工作的观察结果一致,即对抗扰动对小噪声也很敏感。此外,由于类似的原因,将 设置为 中的固定值并不总是会导致更好的攻击性能。当大多数像素分类在几次攻击迭代后被愚弄时,错误分类像素的权重降低可以使它们中的一些再次被分类正确。

在这项工作中,作者建议使用攻击迭代次数动态设置 ,而不是手动为 指定固定值。动态调度背后的直觉是,关注在前几次攻击迭代中欺骗正确的像素分类,然后在最后几次迭代中类似地对待错误的像素分类。通过这样做,SegPGD 可以用更少的迭代实现类似的攻击效果。作者列出了一些动态计划的实例如下:



其中 t 是当前攻击迭代的索引,T 是所有攻击迭代的次数。实验表明,所有提出的策略都同样有效。在这项工作中,主要使用第一个简单的线性时间表。SegPGD 的过程如下所示:



类似地,损失函数也可以应用于单步对抗攻击,例如 FGSM。在生成的 SegFGSM 中,由于它只需要一步更新,错误分类的像素不太可能变成良性的。因此,具有建议的 调度(即 )的 SegFGSM 也显示出优于 FGSM 的攻击性能。


2.2 收敛性分析


作者首先重新描述了问题,每个像素上的损失函数为:



其优化目标可以总结为:



其中,。由于两个约束都是线性的,因此变量被限制在凹区域中。

因此,PGD 可以重新表述为:



SegPGD 可以表述为:



收敛性的判断标准:在分类任务中,损失与攻击目标直接相关。损失越大,输入被错误分类的可能性就越大。但是,它不适用于分割任务。大量的分割损失不一定会导致更多的像素错误分类,因为损失包括所有像素分类的损失。一旦像素被错误分类,像素上损失的增加不会带来更多的对抗效果。因此,我们提出了一种新的分割收敛准则,称为MisRatio,其定义为错误分类像素与所有输入像素的比率。

收敛性分析:

第一步更新对抗样本,可以简单描述为:



对于 的几乎所有错误分类像素 的第 个像素仍然被错误分类,因为自然错误分类通常对小的对抗噪声不敏感,该声明也适用于 PGD 更新规则。此外,SegPGD 可以将 的部分像素 变成 的错误分类像素。然而,PGD 这样做的效果较差,因为更新方向还考虑了 的错误分类像素。因此,SegPGD 可以在第一步实现比 PGD 更高的 MisRatio。

在所有中间步骤中,SegPGD 和 PGD 都利用所有像素分类损失的梯度来更新对抗样本。不同之处在于SegPGD 为正确分类的像素分类的损失分配了更多的权重。分配的值取决于更新迭代t。SegPGD 更侧重于在最初的几次迭代中欺骗正确分类的像素,然后将两者同等对待。通过这样做,SegPGD 可以在相同的攻击迭代下实现比 PGD 更高的 MisRatio。



在上图中,显示了每次攻击迭代中的像素分类损失和 PosiRatio(=1-MisRatio)。图 1a 显示了在 VOC 上攻击经过对抗训练的 PSPNet 的情况。在相同的攻击迭代次数下,用蓝色实线标记的 SegPGD 比 PGD 实现了更高的 MissRatio。在攻击过程中,用三角形向下标记的错误分类像素(FLoss)的损失主导了整体损失(即没有标记的红线)。与 PGD 相比,SegPDG 中的 FLoss 占整体损失的较小部分,因为 SegPGD 主要关注前几次攻击迭代中正确分类的像素。请注意,损失的规模并不重要,因为仅利用输入梯度的符号来创建对抗样本。


2.3 利用SegPGD进行分割对抗训练


作者通过将 SegPGD 用作基础攻击来改进分段对抗训练。作为一种有效且高效的分步攻击方法,SegPGD可以创建比流行的 PGD 更有效的对抗样本。通过将创建的对抗样本注入训练数据,使用 SegPGD 进行对抗训练可以在相同的计算成本下实现更鲁棒的分割模型。在之前的工作之后,下图显示了分割的对抗训练过程。




实验和效果


数据集:PASCAL VOC 2012(VOC)和 Cityscapes(CS)。

模型:选择了 PSPNet 和 DeepLab v3,选择 ResNet50 作为 backbone。

攻击设置:最大扰动

评测指标:mIoU(%)。

定量分析:



定性分析:



跟其他 SOTA 方法比较:


对抗鲁棒模型的性能:

PASCAL VOC 上的:


Cityscapes 上的:



黑盒迁移实验:





总结和不足


感觉有些简单,在对比性能这边缺少表格,都是图像的。另外,性能其实没有提高特别多,但是为后续的研究提供了一个 baseline。


更多阅读



#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧


·
·

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存