Improving adversarial robustness via channel-wise activation suppressing
原文链接
摘要
本文从channel-wise activation的方面发现了对抗样本具有如下特征:
1.对抗样本的activation magnitudes高于自然样本。
2.对抗样本比样本更能uniformly的activate channel。
在我们的研究中,发现对抗训练解决了第一个问题
**本文的想法:**基于Channel-wise Activation Suppressing (CAS)的方法压缩冗余的激活。
1 INTRODUCTION
2014年的时候有发现DNN对于对抗样本的脆弱性。
什么是对抗样本?
在输入中加入微小的扰动(这个扰动人眼难以发现),但是能够轻松的诱导DNN产生错误的预测。
对抗样本的特性:它具有迁移性。
换句话说:模型A生成的对抗样本,同样可以攻击模型B,甚至是模型C.
目前存在的防御方法:
1.Input denoising
2.Defensive distillation
3.Adversarial training:这种方法是目前被认为最可靠的防御方法。
对抗性训练是一种数据增强技术,它在对抗样本而不是自然示例上训练DNN。在对抗性训练中,自然例子被周围一个小的Lp范数球内的最坏情况扰动增强(或扰动)。这种增强已经被证明可以有效地平滑自然示例周围的landscape,并迫使网络更多地关注与类最相关的像素。
研究背景
这些解释之外,从channel activation的角度来看,仍然没有很好地理解,小的输入扰动如何在中间层上积累以颠覆最终输出,以及对抗性训练如何帮助减轻这种积累。因此,中间层activation的研究对于开发更深入的理解和强大的DNN至关重要。
研究动机:
1.神经网络不同的卷积过滤器(或通道)学习不同的模式,当组合在一起时,描述特定类型的对象。
本文证明了:中间activation的某些特征和对抗鲁棒性之间存在强联系。
发现中间层的不同通道对类预测的贡献不同,因此对对抗性扰动具有不同程度的脆弱性(或鲁棒性)。
如何去获取中间层对类预测的贡献度?
1.给定一个中间DNN层,我们首先应用全局平均池化(GAP)来获得通道激活
发现:
1.对抗样本的激活幅度要高于自然样本。这意味着对抗性扰动对channel具有信号增强作用
2.对抗样本比样本更能uniformly的activate channel。
本文提出的方法:Channel-wise Activation Suppressing (CAS)
1.使用辅助分类器,自适应地学习不同channel对类别预测的重要性。
2.利用学习到的channel的重要性动态调整channel
3.本文的方法可以用于提高目前的最有的对抗训练的效果。
2 CHANNEL-WISE ACTIVATION AND ADVERSARIAL ROBUSTNESS
在这一部分中,我们从通道角度研究了DNN中间激活的两个特征,并展示了通道激活和对抗性鲁棒性之间的两个经验联系。
我们应用global average pooling从倒数第二层提取channel-wise activation。
主要从下面两个方面研究对抗样本和自然样本之间的区别:
1.The magnitude of the activation
图1显示了自然样本和PGD-20攻击生成的对抗样本的平均激活幅度。
对于标准模型(STD,在自然示例上训练),对抗样本的激活量(magnitude)通常高于自然样本,如图1(a)/1©所示。对抗性扰动在通道上表现出明显的信号增强效应,这导致从网络的输入层到输出层的对抗性扰动的积累。如图1(b)/1(d)所示,对抗训练可以有效地缩小自然和对抗性样本之间的大小差距,有趣的是造成这个结果是通过降低对抗样本的激活magnitude。
造成上述现象的原因是:
对抗训练可以在更深层(即接近输出的层)限制模型的Lipschiz常数,从而减少由对抗性扰动引起的magnitude差距。
注意:网络架构也会影响激活量。从图1可以看出,VGG中的magnitude比ResNet中的magnitude有更多的零值,即VGG比ResNet产生更多的稀疏通道。
2.The activation frequency of the channels
直观地说,对于同一类中的自然样本,鲁棒的channel产生更通用的模式,应该更频繁地激活,但是非鲁棒的通道应该更少的激活。
因此,如果被对抗样本激活,非鲁棒通道可能会导致下一层发生更多变化,从而增加模型对对抗样本的脆弱性。
在图2中可视化了通道激活的激活频率
我们以CIFAR-10的一个特定类(例如class 0)为例。如果通道的激活值大于阈值(例如,所有512个通道上最大激活值的1%),则通道被确定为激活。在标准或对抗训练的ResNet-18模型上,我们分别通过自然样例和它们的PGD对抗样例计算每个通道的激活频率,并根据自然样例的激活频率降序对通道进行排序。
从图2(a)中可以观察到,对抗样本更均匀地激活通道,并且它们往往会频繁激活那些很少被自然样本激活的通道(例如图2(a)中的右侧区域)。这一观察结果在不同的类别中是一致的。低频通道是非鲁棒通道,对应于那些对类预测不太重要的冗余激活。还可以观察到,对抗性扰动也抑制了自然示例的高频通道(图2(a)的左侧区域)。图2(b)显示,通过对抗性示例的训练,对抗性训练可以强迫通道被自然和对抗性示例以相似的频率激活。然而,仍然有一定比例的冗余通道(例如通道#350 - #500)被对抗性示例激活。这促使我们提出一种通道激活抑制(CAS)训练策略,以避免那些冗余通道被对抗性示例激活。图2©显示了我们的CAS策略应用于对抗训练的有效性,即我们的CAS可以抑制所有通道,特别是自然示例上的低频通道。
3 PROPOSED CHANNEL-WISE ACTIVATION SUPPRESSING
CAS模块由一个global average pooling操作(即CAS模块中的GAP)和一个auxiliary classifier (即CAS模块中的FC)组成,以获得通道的激活,并学习通道的重要性。然后将学习到的信道重要性乘以原始激活以进行调整,然后将调整后的激活传递到下一层进行模型训练。整个网络和辅助分类器同时使用CAS损失和CE损失的组合进行训练。CAS模块可以连接到DNN的任何中间层。
3.1 CAS MODULE
网络F的L-th激活层输出为fl∈RHxWxK,H、W、K分别表示激活图的高度、宽度、通道
在CAS模块中,我们首先对原始激活fl应用GAP操作,以获得通道激活f_hatl∈RK。定义如下:
f
^
k
l
=
1
H
×
W
∑
i
=
1
H
∑
j
=
1
W
f
k
l
(
i
,
j
)
\hat{f}_k^l = \frac{1}{H \times W} \sum_{i=1}^{H} \sum_{j=1}^{W} f_k^l(i,j)
f^kl=H×W1i=1∑Hj=1∑Wfkl(i,j)
然后将通道激活(channel-wise activation)f_hatl传递给辅助分类器,以使用全连接(FC)层执行多类分类。
对于C类,辅助分类器的参数可以写成:
M
l
=
[
M
1
l
,
M
2
l
,
…
,
M
C
l
]
∈
R
K
×
C
\mathbf{M}^l = [\mathbf{M}_1^l, \mathbf{M}_2^l, \ldots, \mathbf{M}_C^l] \in \mathbb{R}^{K \times C}
Ml=[M1l,M2l,…,MCl]∈RK×C
这个参数代表每个通道对特定类的重要性,并将以通道方式应用于重新加权原始激活fl。
在训练阶段,利用真值标签y作为确定信道重要性的指标,例如:
M
y
l
∈
R
K
\mathbf{M}_y^l \in \mathbb{R}^K
Myl∈RK
而在测试阶段,由于无法获得基础真值标签,我们简单地将与预测类别y_hatl相关联的权重分量
M
y
′
l
∈
R
K
\mathbf{M}_{y'}^l \in \mathbb{R}^K
My′l∈RK
作为通道重要性
然后将计算出的通道重要性应用于重新加权原始激活图 fl ,如下所示:
f
~
l
=
{
f
l
⊗
M
y
l
,
(training phase)
f
l
⊗
M
y
′
l
,
(test phase)
\tilde{f}^l = \begin{cases} f^l \otimes M_y^l, & \text{(training phase)} \\ f^l \otimes M_{y'}^l, & \text{(test phase)} \end{cases}
f~l={fl⊗Myl,fl⊗My′l,(training phase)(test phase)
⊗ represents the channel-wise multiplication.这里得到的加权输出用于后续网络的输入。
请注意,到目前为止,辅助和网络都没有经过训练,只是计算了通道重要性并以通道方式调整了激活。
3.2 MODEL TRAINING
我们可以将S通道激活抑制(CAS)模块插入到S个的不同DNN中间层中。CAS模块可以被视为网络的辅助组件,并且可以使用标准训练或不同类型的对抗性训练进行训练。
每个CAS模块都有一个FC层。以网络F第l激活层后插入一个CAS模块为例,则CAS损失函数可定义为:
L
C
A
S
(
p
^
l
(
x
′
,
θ
,
M
)
,
y
)
=
−
∑
c
=
1
C
1
{
c
=
y
}
⋅
log
p
^
c
l
(
x
′
)
\mathcal{L}_{\mathrm{CAS}}\left(\hat{\boldsymbol{p}}^l\left(\boldsymbol{x}^{\prime}, \theta, M\right), y\right)=-\sum_{c=1}^C \mathbb{1}\{c=y\} \cdot \log \hat{\boldsymbol{p}}_c^l\left(\boldsymbol{x}^{\prime}\right)
LCAS(p^l(x′,θ,M),y)=−c=1∑C1{c=y}⋅logp^cl(x′)
C是类的数量
注意,LCAS是在辅助分类器上定义的交叉熵损失。同样,它也可以扩展到多个CAS模块。我们的CAS策略对抗性训练的总体目标函数是:
L
(
x
′
,
y
;
θ
,
M
)
=
L
C
E
(
p
(
x
′
,
θ
)
,
y
)
+
β
S
⋅
∑
s
=
1
S
L
C
A
S
s
(
p
^
s
(
x
′
,
θ
,
M
)
,
y
)
\mathcal{L}\left(\boldsymbol{x}^{\prime}, y ; \theta, M\right)=\mathcal{L}_{\mathrm{CE}}\left(\boldsymbol{p}\left(\boldsymbol{x}^{\prime}, \theta\right), y\right)+\frac{\beta}{S} \cdot \sum_{s=1}^S \mathcal{L}_{\mathrm{CAS}}^s\left(\hat{\boldsymbol{p}}^s\left(\boldsymbol{x}^{\prime}, \theta, M\right), y\right)
L(x′,y;θ,M)=LCE(p(x′,θ),y)+Sβ⋅s=1∑SLCASs(p^s(x′,θ,M),y)
4 CONCLUSION
在本文中,我们从一个新的channel角度研究了深度神经网络(DNN)的中间激活,在对抗鲁棒性和对抗训练的背景下。我们强调了对抗性激活通道的两个新特征:1)更高的magnitude,2)更均匀的激活频率。我们发现标准的对抗性训练通过解决第一个更高量级的问题来提高鲁棒性,然而,它未能解决第二个更均匀激活频率的问题。为了克服这个问题,我们提出了信道激活抑制(CAS),它动态学习信道重要性,并利用学习到的信道重要性来抑制训练阶段的信道激活。当与对抗性训练相结合时,我们表明,CAS可以训练出内在地抑制冗余通道的DNN,使其不被对抗性示例激活。我们的CAS是一种简单但通用的训练策略,可以很容易地插入到不同的防御方法中,以进一步提高它们的鲁棒性,并且可以很容易地应用于DNN中间层的鲁棒性。