论文工作
-
通过分析所提出的蒸馏导向路由(distillation guided routing(DGR))方法来解释神经网络;
-
提出了一个直接的编码方案来表示关键数据路由路径(CDRPs),它可以在网络推断预测过程中显示更详细的功能过程,并且对这种新的表示方法进行了分析,结果显示在路由路径上各节点之间普遍存在着一致和可解释的语义概念;
-
将CDRPs表示法应用于对抗样本检测,提出的表示法不仅能以较小的训练成本有效地检测出对抗性图像,而且还揭示了模型的失败主要是由对抗性图像和真实图像之间的CDRPs分歧引起的。
论文背景
关于神经网络的「可解释性」
可以从以下三个维度来理解:
-
数据维度:数据的那些维度真正对模型起作用。
-
预测维度:我们不关心神经网络内部机理,但是关心什么原因引起这样的结果,这更多是用户关心的问题,比如AI医生(模型)给医患诊断,在不告知生病依据的情况下,给病患开药,当医患不知道吃医生开药方的原因,医患很难放心。
-
模型自身维度:即模型内部是如何得出这样的结果,这个维度多是开发人员和研究人员所关心的问题;
本质上,所有的机器学习模型,特别是现在以统计方法为主的机器学习模型,都是将数据映射到特征空间中来进行学习,相当于所有的工作在特征空间中,这里的问题是人并不理解机器的特征空间,人只理解的是原始的数据空间,和更高层次的语义空间。
解决机器学习模型的可解释有两个方式:
一种方式:把特征空间追溯回原始的数据空间
有些智能类似人的感知,是感知层面的智能,就像人的五官感知,包括视觉、听觉、嗅觉、味觉、触觉。视觉智能就是当看到一只猫,知道是一只猫,但是不清楚为什么是一只猫,这种智能就可以利用征空间追溯回原始的数据空间的方式来做可解释性。
一种方式:把特征空间和高层的语义空间关联
有一些智能目的是做决策任务,跟逻辑推理等相关,实现这种智能的神经网络的可解释性就是用特征空间和高层的语义空间关联的方式来做。
这篇文章是关于前者的,第二种方式同作者的文章是《Improving Interpretability of Deep Neural Networks with Semantic Information》
论文内容
关于「关键数据路由路径CDRPs」
一张图像输进神经网络之后,它通过了不同的卷积层的多个神经元,信息一层一层向下流动,我们想找到这个sample在神经网络中究竟激发了哪些神经元,或者说哪些神经元最终对这个结果产生了影响。 也就是如果把这些neural去掉,那么它的perfromace会明显下降,这些重要的神经元就是critical neural node,把他们连接生成的路径就叫做critical routing path。
路由路径表示
将 Λ ∗ = { λ 1 ∗ , λ 2 ∗ , … , λ K ∗ } Λ^∗ = \{λ^∗_1,λ^∗_2,\ldots ,λ^∗_K\} Λ∗={λ1∗,λ2∗,…,λK∗}作为优化的控制门,相应的识别CDRP可以用
v = c o n c a t e n a t e ( [ λ 1 ∗ , λ 2 ∗ , … , λ K ∗ ] ) (2) v = concatenate([λ^∗_1,λ^∗_2,\ldots ,λ^∗_K])\tag{2} v=concatenate([λ1∗,λ2∗,…,λK∗])(2)
表示。
论文方法
本文借鉴了模型压缩的思想来解决神经网络可解释性问题。模型压缩是为了优化复杂网络的的性能问题提出的。
在每一层的每个通道上增加了一个control gate,引入一个 λ \lambda λ标量参数,作者希望学习出 λ \lambda λ参数的权重,然后每一个通道的输出都乘上 λ \lambda λ参数才能作为最终的结果。 λ \lambda λ参数值比较大,就意味着这个neural在整个过程中起到了比较大的作用, λ \lambda λ参数值比较小,就意味着这个neural在整个过程中起到了比较小的作用。
相应的方法在每一层的输出通道上关联一个标量 λ 作为控制门,λ值有两个约束条件:
- 非负性,也即只能增强和抑制输出结果,而不能改变结果的符号;λ只应抑制或放大输出通道激活。λ的负值会否定网络中的原始输出激活。
- 稀疏性,通常具有可分解性质的稀疏模型更易于解释。λ应该是稀疏的并且大部分接近于零,本文作者认为整个神经网络中只有极少数的结点真正的在整个预测过程中起到比较重要的作用。
所有控制门
Λ
Λ
Λ的优化目标是:
min
Λ
L
(
f
θ
(
x
)
,
f
θ
(
x
;
Λ
)
)
+
γ
∑
k
∣
λ
k
∣
1
\min \limits_{\Lambda} \mathcal L(f_{\theta}(x), f_{\theta}(x; \Lambda))+\gamma \sum_k|\lambda_k|_1
ΛminL(fθ(x),fθ(x;Λ))+γk∑∣λk∣1
s
.
t
.
Λ
k
≥
0
,
k
=
1
,
2
,
…
,
K
,
(1)
s.t. \Lambda_k \ge 0, k = 1, 2, \ldots, K, \tag{1}
s.t.Λk≥0,k=1,2,…,K,(1)
其中 L \mathcal L L是原始完整模型的预测概率 f θ ( x ) = [ p 1 , p 2 , … , p m ] f_θ(x)=[p_1, p_2,\ldots, p_m] fθ(x)=[p1,p2,…,pm]和新的预测概率 f θ ( x ; Λ ) = [ q 1 , q 2 , … , q m ] f_θ(x;Λ)=[q_1, q_2,\ldots, q_m] fθ(x;Λ)=[q1,q2,…,qm]之间的交叉熵损失,即 L = Σ i m − p i ∗ l o g q i \mathcal L=\Sigma_i^m - p_i*log q_i L=Σim−pi∗logqi,其中 m m m是类别数, γ γ γ是平衡参数。
优化的目的就是使控制们的预测与原始模型的预测一致。为了促使 λ λ λ是稀疏的,我们使用 ℓ 1 ℓ_1 ℓ1范数作为稀疏性惩罚函数。可以采用次梯度下降法(subgradient descent)来优化目标,所有的训练过程与通常的随机梯度下降法(SGD)相似。
控制门梯度更新:
∂
L
o
s
s
∂
Λ
=
∂
L
∂
Λ
+
γ
∗
s
i
g
n
(
Λ
)
(3)
\frac{∂Loss}{∂Λ} = \frac{∂L}{∂Λ} + γ ∗ sign(Λ)\tag{3}
∂Λ∂Loss=∂Λ∂L+γ∗sign(Λ)(3)
实施算法:
对抗样本检测
方法:通过优化一个二元分类器 f f f来识别CDRPs的差异以检测对抗性样本。
对于一个给定的真实图像 x 和相应的对抗性图像 x̂ ,每个图像的CDRP可以被识别为 v 和 v̂ 。由于 x 和 x̂ 之间的差异很小,预计低层次上的CDRP v 和 v̂ 是相似的。然而,最终预测结果的急剧变化应归因于高层的 v 和 v̂ 之间的分歧越来越大。
优化目标为一下函数:
min
f
∑
i
L
(
f
(
v
i
)
,
y
i
)
+
L
(
f
(
v
^
i
)
,
y
^
i
)
(4)
{\min \limits_{f}} \sum_i L(f(v_i),y_i) + L(f(\hat{v}_i), \hat{y}_i)\tag{4}
fmini∑L(f(vi),yi)+L(f(v^i),y^i)(4)
其中
L
L
L是损失函数,
y
i
=
1
y_i=1
yi=1表示真实图像,
y
^
i
=
0
\hat{y}_i=0
y^i=0表示对抗性图像。
真实图像和对抗图像之间的CDRPs分歧验证
实验的方法是比较在真实图像和对抗图像在各个网络卷积层上关键节点的相关系数。
图8:对抗性图像和原始类/目标类图像之间的CDRP的分层相关系数。在每个子图的上部,对抗性图像的路由路径和原始图像的路由路径之间的相关系数用橙色标出。小提琴图总结了50个目标类图像和对抗性图像之间的CDRPs的相关系数。(a)和(b)显示,随着层级的上升,对抗性图像的CDRPs与原始图像的路由路径相背离,而与目标类图像的路由路径相似。然而,当目标类别在语义上与原始类别更接近时,路由路径之间的分歧并不明显。
对抗样本检测实验
基于上述观察,利用真实图像和对抗图像CDRPs之间的差异,提出了一个对抗性样本检测方案,通过学习二元分类器来区分CDRP是来自真实还是对抗性样本。
存在问题:由于大多数非目标对抗性样本会产生与原类语义相近的类,而且从观察中我们得出结论,语义接近样本的CDRPs很难区分,所以我们把重点放在目标对抗性样本检测问题。
实验设置:从ImageNet训练数据集中的每个类中随机选择1、5或10张图片,组织三个不同规模的训练数据集。测试数据集保持不变,它是通过从ImageNet验证数据集中的每个类别中选择1张图像来收集的。对抗样本的目标类来自原始类的随机排列组合。用三种分类器进行实验,随机森林[4]、adaboost[11]和梯度提升(gradient boosting )
实验结果:
表3:通过区分真实和对抗图像的CDRPS对不同二元分类器的曲线下面积(AUC)评分。越高越好。
训练样本数量 | 1 | 5 | 10 |
---|---|---|---|
随机森林 | 0.879 | 0.894 | 0.904 |
AdaBoost算法 | 0.887 | 0.905 | 0.910 |
gradient boosting | 0.905 | 0.919 | 0.915 |
结论
在本文中,我们通过识别网络推断预测过程中的关键数据路由路径,从一个新的角度研究了神经网络的可解释性话题。我们提出了一种蒸馏导向的路由方法,这是一个灵活和通用的框架,可以有效地学习与每个输出通道相关的控制门。通过深入分析,我们发现CDRP中包含的语义概念。首先,层内路由节点的判别能力随着层级的上升而增加。其次,整个CDRPs反映了类内样本的布局模式,可以帮助识别数据集中的硬样本。为了提高神经网络对对抗性攻击的鲁棒性,我们提出了一种新型的对抗性样本检测方法,该方法基于对真实图像和对抗性图像的CDRPs的判别。结果表明,我们的方法可以达到相当高的防御成功率,这是因为对抗性图像的CDRPs在中间层与真实图像的CDRPs发生了分歧,并且在高层遵循对抗性目标类样本的典型路由路径。未来的工作应该探索关键数据路由路径出现的基本原理。