通过 区分特征的最大分离 实现鲁棒的细粒度识别
对抗性攻击被广泛研究用于一般分类任务,但在细粒度识别的背景下仍未得到研究,在细粒度图像情况下,类间相似性可促进攻击者的任务。(确实,细粒度图像更相像,假数据更容易混过去)
本文将细粒度识别网络中不同类别的潜在表示的接近程度确定为对抗攻击成功的关键。引入了一种基于注意力的正则化机制,最大程度地区分了不同类别的可区分潜在特征,同时最大程度地减少非区分区域对最终类别预测的影响程度。能够显着提高对抗攻击的鲁棒性,达到匹配甚至超过对抗训练的程度。
深度网络的性能在对抗性攻击下会下降。对抗攻击在通用目标识别任务得到了广泛研究,但对细粒度识别方面研究很少。期望类间的相似性可以促进攻击者的任务。
本文分析了对细粒度识别技术进行对抗攻击成功的原因,并介绍了一种防御机制来提高网络的鲁棒性,并对图像中对分类结果最有权重的图像区域进行了可视化。具体来说,既考虑了与CAM密切相关的基于注意力的框架,又考虑了为细粒度识别而设计的将局部区域和原型关联的原型部分网络(ProtoPNet)。
基于如下直觉(每个类的区分区域应与其他类别的区分区域最大程度地分开)引入防御机制。设计了一个注意力意识模型,推开不同类的区分性原型。
不同类的区分区域尽可能推远,非区分区域无所谓并强制它们在最终分类中不起作用。增加了攻击者为成功地将网络的预测远离真实标签而必须执行的潜在空间位移的幅度。
本文贡献总结如下:
对抗鲁棒性
深度神经网络很脆弱容易受到攻击和人类无法察觉的干扰。迄今为止,利用局部一阶网络信息来计算指定 l ∞ l_{\infty} l∞范数界内的最大损失增量的投影梯度下降(PGD)被认为是最有效的攻击策略。(咱也看不懂这是啥)
尽管在设计针对对抗攻击的防御机制方面进行了大量研究工作,但当攻击者知道网络架构条件下,大多数此类防御可以轻易地在白盒环境中破坏。该规则的主要例外是对抗训练,模型是与干净的图像及其对手一起训练,并提出了对抗训练的许多变体。但由于PGD对不可见攻击的鲁棒性和泛化能力,基于PGD的对抗训练仍然是选择的方法。
但对抗训练在计算上是昂贵的。与所有对抗训练策略不同,本文方法不需要计算对抗图像,因此不依赖于特定的攻击方案。 相反,它旨在确保不同类别的高关注区域有最大的分离,而且是针对细粒度的识别而量身定制。
可解释性
可视化策略:CAM以及其诸多变体。
细粒度识别任务:BoW启发的表示形式、ProtoPNet、VLAD。尽管这种方法可以突出显示对于分类很重要的图像区域,但它不能为网络的决策提供直观的解释。
ProtoPNet解决了这一问题,该方法提取了特定于类的原型。但是,ProtoPNet学习的特征嵌入对所有图像区域都具有同等的重要性。通过设计注意力感知来解决这个问题。该系统学习在特征空间中靠近高度关注区域的原型,约束来自所有类的非区别区域彼此靠近。这不仅带来了可解释性,而且还带来了对抗攻击的鲁棒性。
尝试使用两个网络对此分析:二阶注意力池化网络[8]和ProtoPNet[5],它们两者都固有地在其体系结构中编码了一些可解释性的概念,不需要任何后处理。 具体来说,[8]使用类别注意图来计算类别概率,[5]则利用图像区域和特定于类别的原型之间的相似性。下面对Black-footed albatross的四幅图像进行对抗攻击成功分析原因。
模型 | 分类错误结果 | 区域 | 结果 |
---|---|---|---|
[8]二阶注意力池化网络 | 同一族的一个相似类 | 集中在鸟喙区域 | 易于攻击 |
[5]ProtoPNet | 不同类 | 不同区域,有的是背景 | 易于攻击 |
本质上是由于两个不同类的可分辨区域在特征空间中相近,或是使用了非区分区域进行分类。 因此:鼓励不同类别的区分区域的特征表示最大程度分开,同时通过注意并鼓励区域中的特征彼此靠近来最小化背景区域的影响。
通过阻止攻击者利用非区分区域并迫使它们在特征空间中进行较大的变化以影响预测,使攻击者的任务复杂化。
通过最大程度地分离类的特定区分区域来提高细粒度识别的鲁棒性的方法。该框架由两个模块组成
原文中有一段:具体来说,原型层计算每个局部特征和每个原型之间的 L 2 L^2 L2距离,并将该距离通过定义为 f ( r ) = log ( ∣ ∣ r ∣ ∣ 2 2 + 1 ∣ ∣ r ∣ ∣ 2 2 + λ ) f(r)=\log(\frac{||r||^2_2+1}{||r||^2_2+\lambda}) f(r)=log(∣∣r∣∣22+λ∣∣r∣∣22+1)的激活函数传递,和图对不起来,不知道添加到哪里。
通过将m个原型划分为K个c个原型,并将原型分支的分类层的权重初始化为+1,以实现原型和类标签之间的正连接,从而使原型类特定化- 负数为0.5。这句也不懂。
m个原型分割成K组原型,每组c个原型。
高响应靠近原型:
L c l s t a t t ( I ) = ∑ t = 1 N a t min l : p l ∈ P y ∣ ∣ x i t − p l ∣ ∣ 2 2 L_{clst}^{att}(I)=\sum^{N}_{t=1}a^t\min_{l:p_l\in P_y}||x^t_i-p_l||^2_2 Lclstatt(I)=t=1∑Natl:pl∈Pymin∣∣xit−pl∣∣22
低响应靠近原型:
L s e p a t t ( I ) = − ∑ t = 1 N a t min l : p l ∉ P y ∣ ∣ x i t − p l ∣ ∣ 2 2 L_{sep}^{att}(I)=-\sum^{N}_{t=1}a^t\min_{l:p_l\notin P_y}||x^t_i-p_l||^2_2 Lsepatt(I)=−t=1∑Natl:pl∈/Pymin∣∣xit−pl∣∣22
重新整理:
L r e g ( I ) = ∑ j = 1 B ∑ t = 1 N λ 1 a j t min l : p l ∈ P y ∣ ∣ x i t − p l ∣ ∣ 2 2 − λ 2 a j t min l : p l ∉ P y ∣ ∣ x i t − p l ∣ ∣ 2 2 L_{reg}(I) = \sum^B_{j=1}\sum^{N}_{t=1}\lambda_1a^t_j\min_{l:p_l\in P_y}||x^t_i-p_l||^2_2-\lambda_2a^t_j\min_{l:p_l\notin P_y}||x^t_i-p_l||^2_2 Lreg(I)=j=1∑Bt=1∑Nλ1ajtl:pl∈Pymin∣∣xit−pl∣∣22−λ2ajtl:pl∈/Pymin∣∣xit−pl∣∣22
最终损失:
L ( I ) = C E a t t ( I ) + C E r e g ( I ) + L r e g ( I ) L(I)=CE_{att}(I)+CE_{reg}(I)+L_{reg}(I) L(I)=CEatt(I)+CEreg(I)+Lreg(I)
定量分析:将CUB200上三个骨干网的方法与基线的准确性进行比较
转移性分析:为了评估黑盒攻击的鲁棒性,将从替代网络生成的对抗性样本转移到框架和基线中。作为替代模型,使用VGG-16和DenseNet-121主干,然后使用全局平均池和分类层。
在黑盒设置中的性能优于基线,从而证实了其在学习鲁棒特征方面的有效性。
定性分析
在没有受到攻击的情况下,AP可以激活更大的区域。 此外,ProtoPNet会从其他类激活一个原型,而本文方法仅关注正确的类。表明,通过这些基线学习的特征具有较少的区别性,更容易受到对抗性攻击。