> 文档中心 > CVPR2022:通过基于神经元属性的攻击提高对抗迁移性

CVPR2022:通过基于神经元属性的攻击提高对抗迁移性


1 引言

该论文是关于对抗样本可迁移性攻击的文章。现有的特征级攻击通常会采用不准确的神经元重要性估计,这样会降低了对抗样本的可迁移性。在该论文中,作者提出了基于的神经元属性的对抗攻击,它通过更准确的神经元重要性估计来进行特征级攻击。首先将模型的输出完全归因于中间层的每个神经元。然后,作者推导了神经元属性的近似方案,以极大地减少计算开销。最后,根据神经元的属性结果对神经元进行加权,并发起特征级攻击。实验结果也证实了论文中方法优越性。论文的代码已经开源。
论文链接: https://arxiv.org/abs/2204.00008
代码链接: https://github.com/jpzhang1810/NAA

2 论文方法

特征级别的攻击在生成对抗样本的过程中会破坏掉积极的特征从而扩大消极的特征。因此,由特征级别生成的对抗样本可有继承误导其它深度学习模型的高迁移性特征。特征级别攻击的关键在于找到一个合适的方式去度量每一个神经元的重要程度。在该论文中作者引入了一个度量神经元重要程度的度量方式,名为神经元属性,此外作者还基于神经元重要程度提出了基于神经元属性的攻击方式。
x xx为干净样本,它对应的真实标签为 z zz F(⋅) F(\cdot)F()为一个分类模型,则 F(x) F(x)F(x)表示为 x xx的输出。 y yy表示第 y yy层的激活值,其中 y j y_jyj表示在这个特征图中第 j jj个神经单元的激活值。 x a d v x^{adv}xadv表示对抗样本,且有 ∥x− x a d v ∥ p <ε \|x-x^{adv}\|_p<\varepsilonxxadvp<ε,其中 ∥⋅ ∥ p \|\cdot\|_pp表示 p pp范数, ε \varepsilonε为对抗扰动。
 给定一个基准图像 x ′ x^{\prime}x,作者可以定义输入图片 x∈ R N × N x\in \mathbb{R}^{N\times N}xRN×N的属性为 A : = ∑ i = 1 N 2 ( x i− x i ′) ∫ 0 1 ∂ F ∂ x i ( x ′+ α ( x − x ′) ) d α A:=\sum\limits_{i=1}^{N^2}(x_i-x^{\prime}_i)\int_0^1\frac{\partial F}{\partial x_i}(x^{\prime}+\alpha(x-x^{\prime}))d\alpha A:=i=1N2(xixi)01xiF(x+α(xx))dα其中∂ F ∂ x i (⋅) \frac{\partial F}{\partial x_i}(\cdot)xiF()表示 F FF关于第 i ii个像素的偏导数。上公式说明 F FF的梯度是沿着给定的直线路径 ( x ′ +α(x− x ′ )) (x^{\prime}+\alpha(x-x^{\prime}))(x+α(xx))进行积分的。根据路径积分的微积分基本定理可以得到,只有当 F( x ′ )≈0 F(x^{\prime})\approx 0F(x)0时,会有 A≈F(x) A\approx F(x)AF(x),即 x ′ =0 x^{\prime}=0x=0是一张全黑图像,上述结论成立。
x α= x ′+ α ( x − x ′) x_\alpha=x^{\prime}+\alpha(x-x^{\prime}) xα=x+α(xx),则第 y y y层的第 y jy_j yj个神经元的属性为A y j = ∑ i = 1 N 2 ( x i − x i ′ ) ∫ 0 1 ∂ F ∂ y j ( y ( x α ) ) ∂ y j ∂ x i ( x α ) d αA_{y_j}=\sum\limits_{i=1}^{N^2}(x_i-x_i^{\prime})\int^1_0\frac{\partial F}{\partial y_j}(y(x_\alpha))\frac{\partial y_j}{\partial x_i}(x_\alpha)d\alpha Ayj=i=1N2(xixi)01yjF(y(xα))xiyj(xα)dα其中 ∑ y j ∈ y A y j = A \sum\limits_{y_j\in y}A_{y_j}=A yjyAyj=A在选定每一层都成立。因此,神经元属性反映了每个神经元到输出真实的影响。为了实际中复杂的积分计算,作者在直线路径中采样了 n n n个虚拟样本,并使用黎曼加和去估计该积分,然后改变加和的顺序则有:
A y j ≈ 1 n ∑ m = 1 n ( ∂ F ∂ y j ( y ( x m ) ) ) ( ∑ i = 1 N 2 ( x i − x i ′ ) ∂ y j∂ x i ( x m ) ) A_{y_j}\approx \frac{1}{n}\sum\limits_{m=1}^n\left(\frac{\partial F}{\partial y_j}(y(x_m))\right)\left(\sum\limits_{i=1}^{N^2}(x_i-x^{\prime}_i)\frac{\partial y_j}{\partial x_i}(x_m)\right) Ayjn1m=1n(yjF(y(xm)))i=1N2(xixi)xiyj(xm)其中 x m= x ′+ m n( x − x ′) x_m=x^{\prime}+\frac{m}{n}(x-x^{\prime}) xm=x+nm(xx)是路径上虚拟的图像。
考虑到神经网络中神经元的数量非常大,所以计算成本会非常高,为了降低计算复杂度,作者在上公式中做了一个简单的假设进而简化公式。一开始时,∂ F ∂ y j ( y ( x m ) )\frac{\partial F}{\partial y_j}(y(x_m)) yjF(y(xm)) F ( x )F(x) F(x)关于y j y_j yj的梯度,同时∑ i = 1 N 2 ( x i − x i ′ ) ∂ y j ∂ x i ( x m )\sum\limits_{i=1}^{N^2}(x_i-x_i^{\prime})\frac{\partial y_j}{\partial x_i}(x_m) i=1N2(xixi)xiyj(xm)y j y_j yj关于每个像素x i x_i xi梯度的加和,作者假定这两个梯度是线性独立的。
给定两个相互独立的序列 a i a_i ai b i b_i bi,则有 ∑ i = 1 n ( a i − a ˉ ) ( b i − b ˉ ) = 0 \sum\limits_{i=1}^n(a_i-\bar{a})(b_i-\bar{b})=0 i=1n(aiaˉ)(bibˉ)=0,其中 ( ⋅ ˉ ) (\bar{\cdot}) (ˉ)表示的是序列均值。进一步则有, ∑ i = 1 n a i ⋅ b i = 1 n ∑ i = 1 n a i ∑ i = 1 n b i \sum\limits_{i=1}^na_i\cdot b_i=\frac{1}{n}\sum\limits_{i=1}^na_i\sum\limits_{i=1}^nb_i i=1naibi=n1i=1naii=1nbi,可以将以上公式的两个大括号分别看成 a a a b b b,于是可以得到如下公式
A y j ≈ 1 n ∑ m = 1 n ∂ F ∂yj ( y ( x m ) ) 1 n ∑ m = 1 n ∑ i = 1 N 2 ( x i − x i ′ ) ∂yj ∂xi ( x m ) A_{y_j}\approx \frac{1}{n}\sum\limits_{m=1}^n\frac{\partial F}{\partial y_j}(y(x_m))\frac{1}{n}\sum\limits_{m=1}^n\sum\limits_{i=1}^{N^2}(x_i-x_i^{\prime})\frac{\partial y_j}{\partial x_i}(x_m) Ayjn1m=1nyjF(y(xm))n1m=1ni=1N2(xixi)xiyj(xm)根据路径积分的基本定理可知 1 n ∑ m = 1 n ∑ i = 1 N 2 ( x i − x i ′ ) ∂yj ∂xi ( x m ) = ( y j − y ′ ) \frac{1}{n}\sum\limits_{m=1}^n\sum\limits_{i=1}^{N^2}(x_i-x^\prime_i)\frac{\partial y_j}{\partial x_i}(x_m)=(y_j-y^{\prime}) n1m=1ni=1N2(xixi)xiyj(xm)=(yjy)其中 y j ′ y^{\prime}_j yj是第 j j j个神经元的激活值,其此时输入的图像是黑色图像。令 y j − y j ′ y_j-y^{\prime}_j yjyj Δ y j \Delta y_j Δyj,并且 1 n ∑ m = 1 n ∂ F ∂ y j ( y ( x m ) ) \frac{1}{n}\sum\limits_{m=1}^n\frac{\partial F}{\partial y_j}(y(x_m)) n1m=1nyjF(y(xm))被看做融合注意力 I A ( y j ) IA(y_j) IA(yj),一个简单的形式为 A y j = Δ y j ⋅ I A ( y j ) A_{y_j}=\Delta y_j\cdot IA(y_j) Ayj=ΔyjIA(yj) I A ( y j ) IA(y_j) IA(yj)反映了从基准图像到输入的直线上梯度的积分与神经元 y j y_j yj的关系。
综上所述可以发现,原本神经元属性的计算复杂度为 O ( H ∗ W ∗ C ) \mathcal{O}(H*W*C) O(HWC),其中 H H H是目标层的高, W W W是目标层的宽, C C C是目标层通道数,而作者提出的方法计算复杂度为 O ( 1 ) \mathcal{O}(1) O(1),在每一个梯度整合的步骤中只需要一个梯度操作,如果不进行简化,则在每一个步骤中则需要进行1百万次梯度操作;因此可知论文中的简化方法大大降低了计算复杂度。考虑第 y y y层所有神经元属性的计算公式为 A y = ∑ y j ∈y Ayj = ∑ y j ∈y Δ y j ⋅ I A ( y j ) = ( y − y ′ ) ⋅ I A ( y ) A_y=\sum\limits_{y_j\in y}A_{y_j}=\sum\limits_{y_j\in y}\Delta y_j \cdot IA(y_j)=(y-y^{\prime})\cdot IA(y) Ay=yjyAyj=yjyΔyjIA(yj)=(yy)IA(y)

生成对抗样本的过程中有用的特征被抑制,有害的特征则会被放大。为了分析这两种特征的影响,作者试图找出哪一种特征主导了对抗样本的可迁移性,利用一个超参数γ \gamma γ来平衡正面和负面属性,此外,作者还区分不同值的神经元属性的显著程度。例如,当调查减少一个大的积极属性神经元是否比增加一个小的消极属性神经元更有利于攻击。为此,作者设计了多个线性或非线性变换函数,即 fp (A y j ) f_p(A_{y_j}) fp(Ayj),用于积极的神经元属性和−fn ( −A y j ) −f_n(−A_{y_j}) fn(Ayj)用消极神经元属性。因此,目标层y y y上所有神经元的加权属性WAy W A_y WAy可以被计算为
W A y = ∑A y j ≥ 0 , y j ∈ y f p ( A y j)−γ⋅ ∑A y j < 0 , y j ∈ y f n (− A y j) WA_y=\sum\limits_{A_{y_j}\ge 0,y_j\in y}f_p(A_{y_j})-\gamma\cdot\sum\limits_{A_{y_j}<0,y_j\in y}f_n(-A_{y_j})WAy=Ayj0,yjyfp(Ayj)γAyj<0,yjyfn(Ayj)最小化目标函数WAy W A_y WAy是要比直接最小化函数 Ay A_y Ay要好,因为WAy W A_y WAy同时考虑了神经元极性和数值两方面。因此优化目标可以整理为如下所示:min ⁡ x a d v W A y s . t .  ∥x− x a d v ∥ ∞ <ε \min\limits_{x^{\mathrm{adv}}}WA_y \quad \mathrm{s.t.}\text{ }\|x-x^{\mathrm{adv}}\|_{\infty}<\varepsilonxadvminWAys.t. xxadv<ε其中作者利用动量迭代的方法去求解以上优化问题,具体的算法流程图如下所示:

3 实验结果

如下表所示为论文中的方法与与baseline方法在无防御模型,对抗训练模型和加载防御模型的分别在白盒和黑盒条件下的攻击效果。可以发现在白盒条件下,论文中的方法的攻击成功率接近100%;在黑盒条件下,该方法也比其它的方法有更高的攻击迁移率。

另外作者还比较了带输入变换的攻击方法的效果,其中输入变换方法分别是PIM和DIM。如下表所示为带输入变换的不同的攻击方法在无防御模型,对抗训练模型和加载防御模型的分别在白盒和黑盒条件下的攻击效果。可以发现在黑盒条件下,论文中方法比其它的方法有更高的攻击迁移率。

如下图所示为消融实验的实验结果,作者主要分析了目标特征层,积分步数n n n和权重系数γ \gamma γ对迁移攻击成功率的影响。右下图的结果可知,对于不同的目标特征层可以发现,中间的目标特征层的迁移攻击成功率最高,说明中间特征层的特征对迁移攻击成功率有更大的影响。对于积分步数n n n来说,当n = 30 n=30 n=30时可以达到最好的效果。对于权重系数γ \gamma γ来说,可以发现当γ = 1 \gamma=1 γ=1时,迁移攻击成功率达到最优的效果,由此可知,正面特征和负面特征同等重要。