题目:B-Cos Alignment for Inherently Interpretable CNNs and Vision Transformers
B-Cos对固有可解释的CNN和视觉Transformer的对齐
作者:M. Böhle; N. Singh; M. Fritz; B. Schiele
摘要
我们提出了一种通过在训练过程中促进权重和输入对齐来提高深度神经网络(DNN)可解释性的新方向。为此,我们提出用我们新颖的B-cos变换来替代DNN中的线性变换。正如我们所展示的,这样的变换序列(网络)会诱导出一个单一的线性变换,能够忠实地总结整个模型的计算。此外,B-cos变换被设计为在优化过程中使权重与相关信号对齐。因此,这些诱导出的线性变换变得高度可解释,并突显任务相关的特征。重要的是,B-cos变换被设计为兼容现有的架构,我们展示了它可以轻松集成到几乎所有最新的计算机视觉模型中——例如,ResNets、DenseNets、ConvNext模型以及视觉变换器——通过将基于B-cos的解释与归一化和注意力层结合,同时保持在ImageNet上的相似准确性。最后,我们展示了生成的解释具有高视觉质量,并在定量可解释性指标下表现良好。
关键词
- 卷积神经网络
- 可解释性
- 可解释深度学习
- 视觉变换器
- XAI
I. 引言
尽管深度神经网络(DNN)在各种任务中非常成功,但解释它们的决策仍然是一个未解决的研究问题。困难在于,这种解释需要忠实地总结内部模型计算,并以人类可解释的方式呈现出来。众所周知,分段线性(即基于ReLU)模型可以通过每个输入的线性变换准确地总结。然而,尽管提供了准确的总结,这些分段线性变换通常对人类来说不是直观可解释的,并且在定量可解释性指标下表现较差。最近的工作因此旨在提高解释的可解释性,通常关注它们的视觉质量。然而,解释视觉质量的提升可能会以模型忠实度为代价。
与其优化解释方法,我们旨在设计DNN,使其固有地提供满足上述要求的解释——生成的解释既构成了忠实的总结,又对人类具有清晰的解释。为此,我们提出用B-cos变换作为线性变换的替代。这样,B-cos变换可以轻松集成到各种现有的DNN架构中,我们展示了生成的模型为其决策提供了高质量的解释。
为了确保这些解释构成对模型的忠实总结,我们将B-cos变换设计为一种输入依赖的线性变换。重要的是,任何这样的变换序列都因此诱导出一个单一的线性变换,能够忠实地总结整个序列。为了使诱导出的线性变换可解释,B-cos变换被设计为在优化过程中其权重与任务相关的输入信号对齐。因此,总结的线性变换变得易于人类理解:它是模型在训练过程中学习的权重的直接反映,并特别反映那些与给定输入最对齐的权重。
简而言之,我们做出了以下贡献:
- 我们引入了B-cos变换,以提高DNN的可解释性。通过促进权重和输入的对齐,这些变换被明确设计为产生突出任务相关输入模式的解释。
- 具体而言,B-cos变换被设计为使任何B-cos变换序列都能被单一线性变换忠实地总结。我们展示了这不仅允许解释模型的输出,还允许解释中间网络层的表示。
- 我们展示了一个没有任何附加非线性、归一化层或正则化方案的简单B-cos卷积神经网络在CIFAR10上的竞争性能,展示了完全基于B-cos变换的DNN的建模能力。在这种情况下,我们展示了参数B如何对权重对齐的增加进行细粒度控制,从而提高B-cos网络的可解释性。

- 我们分析了如何将归一化层集成到B-cos模型中,以利用这些层的优化优势而不牺牲可解释性。
- 我们分析了如何将提出的B-cos框架与基于注意力的模型(例如,视觉变换器)结合,这突显了我们方法的普遍性,并展示了它不仅仅适用于卷积网络。
- 最后,我们在广泛的实验中展示了B-cos DNN与其传统对应物具有相似的准确性。具体而言,我们评估了各种常用DNN(如VGGs、ResNets、DenseNets、ResNeXt和ConvNeXt模型以及ViTs)的B-cos版本。我们最强的模型在ImageNet上达到了>80%的top-1准确性,同时为其决策提供了高度详细的解释。具体而言,B-cos解释在所有测试的架构中,在定量指标和定性检查下都优于其他解释方法。
III. B-COS神经网络
在本节中,我们介绍B-cos变换作为DNN中线性单元的替代,并讨论其如何提高DNN的可解释性。
为此,我们首先介绍B-cos变换作为线性变换的变体(第三节A)并突出其最重要的特性。然后,我们展示如何构建B-cos网络(第三节B)以及如何忠实地总结网络计算以获得其输出的解释(第三节B1)。随后,我们讨论B-cos变换结合二元交叉熵(BCE)损失如何影响模型的参数最优(第三节B2)。具体而言,通过引入对齐压力,B-cos变换使模型权重与输入中的任务相关模式对齐。最后,在第三节C中,我们通过使用B-cos变换作为无处不在的线性单元的替代,将其集成到传统的DNN中,并讨论如何在不牺牲B-cos网络可解释性的情况下将B-cos层与归一化和注意力层结合。
A. B-cos变换
通常,DNN中的个体“神经元”计算其权重 w w w和输入 x x x之间的点积:
f ( x ; w ) = w T x = ‖ w ‖‖ x ‖ c ( x , w ) , f(x; w) = w^T x = ‖w‖ ‖x‖ c(x, w), f(x;w)=wTx=‖w‖‖x‖c(x,w),
其中
c ( x , w ) = cos ( ∠ ( x , w ) ) 。 c(x, w) = \cos(∠(x, w))。 c(x,w)=cos(∠(x,w))。
这里, ∠ ( x , w ) ∠(x, w) ∠(x,w)返回向量 x x x和 w w w之间的角度。由于我们寻求通过在优化过程中促进权重和输入对齐来提高DNN的可解释性,我们建议明确强调线性变换中的对齐项,即余弦函数的影响。这产生了B-cos变换:
B-cos ( x ; w ) = ‖ w ^ ‖‖ x ‖ ∣ c ( x , w ^ ) ∣ B × sgn ( c ( x , w ^ ) ) . \text{B-cos}(x; w) = ‖\hat{w}‖ ‖x‖ |c(x, \hat{w})|^B \times \text{sgn}(c(x, \hat{w})). B-cos(x;w)=‖w^‖‖x‖∣c(x,w^)∣B×sgn(c(x,w^)).
这里,帽号操作符将 w ^ \hat{w} w^缩放到单位范数, B B B是一个标量, sgn \text{sgn} sgn是符号函数。B-cos变换因此重新缩放线性变换的输出并等于:
B-cos ( x ; w ) = w ^ T x × ∣ cos ( x , w ^ ) ∣ B − 1 . \text{B-cos}(x; w) = \hat{w}^T x \times | \cos(x, \hat{w})|^{B-1}. B-cos(x;w)=w^Tx×∣cos(x,w^)∣B−1.
注意,这只引入了与公式(1)相比的小的变化;例如,对于 B = 1 B = 1 B=1,公式(4)等价于使用 w ^ \hat{w} w^的线性变换。然而,尽管变化小,这些变化对于三个原因非常重要。
首先,它们限制了B-cos神经元的输出:
‖ w ^ ‖ = 1 ⇒ B-cos ( x ; w ) ≤ ‖ x ‖ . ‖\hat{w}‖ = 1 \Rightarrow \text{B-cos}(x; w) ≤ ‖x‖. ‖w^‖=1⇒B-cos(x;w)≤‖x‖.
如公式(3)所示,公式(5)中的等式仅在 x x x和 w w w共线,即对齐时实现。
第二,增加的指数 B B B进一步抑制了具有低余弦相似度的权重-输入对的输出,
B > 1 ∧ ∣ c ( x , w ^ ) ∣ < 1 ⇒ B-cos ( x ; w ) < ‖ x ‖ , B > 1 \land |c(x, \hat{w})| < 1 \Rightarrow \text{B-cos}(x; w) < ‖x‖, B>1∧∣c(x,w^)∣<1⇒B-cos(x;w)<‖x‖,
并且相应的B-cos单元仅在 x x x的小角度偏差范围内产生接近其最大值的输出(即 ‖ x ‖ ‖x‖ ‖x‖)。这两个特性共同显著改变了最优参数。为了说明这一点,我们在图2中展示了增加 B B B如何影响一个简单的线性分类问题。特别注意,增加 B B B缩小了B-cos变换的“响应窗口”(红色区域),并抑制了干扰因素(灰色圆圈)的影响。与具有高度任务依赖最优的线性分类器(参见图2第一行)不同,B-cos变换因此基于权重和输入之间的余弦相似度进行分类。因此,最优权重构成了“角度原型”,并且非常适合用于解释模型预测:如果样本“看起来像”权重向量,它将被自信地分类为红色类。

最后,B-cos变换保留了线性变换的一个重要特性:具体来说,B-cos变换的序列由公式(14)中的单一线性变换忠实总结。因此,我们在第三节B1中讨论的个体神经元的解释可以轻松结合,以生成整个模型的解释。重要的是,这些解释将在优化B-cos网络进行分类时与辨别模式对齐(第三节B2),使其易于人类解释。
B. 简单(卷积)B-Cos网络
在本节中,我们讨论如何构建基于B-cos变换的简单(卷积)DNN。然后,我们展示如何通过单一线性变换总结网络输出,最后,为什么这种变换在分类任务中与辨别模式对齐。
B-cos网络。B-cos变换被设计为替代线性变换,并可以完全相同的方式使用。例如,考虑一个传统的具有 L L L层的全连接多层神经网络 f ( x ; θ ) f(x; θ) f(x;θ),定义为
f ( x ; θ ) = l L ∘ l L − 1 ∘ … ∘ l 2 ∘ l 1 ( x ) , f(x; θ) = l_L \circ l_{L-1} \circ \ldots \circ l_2 \circ l_1(x), f(x;θ)=lL∘lL−1∘…∘l2∘l1(x),
其中 l j l_j lj表示第 j j j层,其参数为第 j j j层中神经元 k k k的权重 w j k w_j^k wjk, θ θ θ是所有模型参数的集合。在这样的模型中,每层 l j l_j lj通常计算
l j ( a j ; W j ) = φ ( W j a j ) , l_j(a_j; W_j) = φ(W_j a_j), lj(aj;Wj)=φ(Wjaj),
其中 a j a_j aj是第 j j j层的输入, φ φ φ是非线性激活函数(例如ReLU), W j W_j Wj的第 k k k行是第 j j j层中第 k k k个神经元的权重向量 w j k w_j^k wjk。注意,非线性激活函数 φ φ φ是建模多层非线性关系所必需的。
相应的B-cos网络 f ∗ f^* f∗,其层 l j ∗ l_j^* lj∗可以完全相同的方式公式化为
f ∗ ( x ; θ ) = l L ∗ ∘ l L − 1 ∗ ∘ … ∘ l 2 ∗ ∘ l 1 ∗ ( x ) , f^*(x; θ) = l_L^* \circ l_{L-1}^* \circ \ldots \circ l_2^* \circ l_1^*(x), f∗(x;θ)=lL∗∘lL−1∗∘…∘l2∗∘l1∗(x),
唯一的区别是每个点积(这里是 W j W_j Wj的行与 a j a_j aj的输入之间)被公式(4)中的B-cos变换替代。矩阵形式为
l j ∗ ( a j ; W j ) = ( W j ∗ a j ) × ∣ c ( a j ; W j ∗ ) ∣ B − 1 . l_j^*(a_j; W_j) = (W_j^* a_j) \times |c(a_j; W_j^*)|^{B-1}. lj∗(aj;Wj)=(Wj∗aj)×∣c(aj;Wj∗)∣B−1.
这里,幂、绝对值和 × × ×操作符逐元素应用, c ( a j ; W j ∗ ) c(a_j; W_j^*) c(aj;Wj∗)计算输入 a j a_j aj与 W j ∗ W_j^* Wj∗行之间的余弦相似度,帽号操作符将 W j ∗ W_j^* Wj∗行缩放到单位范数。最后,由于 B > 1 B > 1 B>1,变换 l j ∗ l_j^* lj∗已经是非线性的,不需要非线性 φ φ φ来建模非线性关系。
上述讨论可直接推广到卷积神经网络(CNNs):在CNNs中,我们将卷积核计算的线性变换替换为B-cos。此外,尽管我们假设一个没有附加组件(例如跳跃连接)的简单多层网络,但我们在第五节中展示了B-cos的好处也适用于更高级的架构(第三节C)。
1) 计算B-cos网络的解释
通过重写公式(10)可以看出,B-cos层有效地计算一个输入依赖的线性变换:
l j ∗ ( a j ; W j ) = W j ∗ ( a j ) a j , l_j^*(a_j; W_j) = W_j^*(a_j) a_j, lj∗(aj;Wj)=Wj∗(aj)aj,
其中
W j ∗ ( a j ) = ∣ c ( a j ; W j ∗ ) ∣ B − 1 ⊙ W j ∗ . W_j^*(a_j) = |c(a_j; W_j^*)|^{B-1} \odot W_j^*. Wj∗(aj)=∣c(aj;Wj∗)∣B−1⊙Wj∗.
这里, ⊙ \odot ⊙将矩阵右侧的行按左侧向量的标量条目进行缩放。因此,B-cos网络的输出,见公式(9),有效地计算为
f ∗ ( x ; θ ) = W L ∗ ( a L ) W L − 1 ∗ ( a L − 1 ) … W 1 ∗ ( a 1 = x ) x 。 f^*(x; θ) = W_L^*(a_L) W_{L-1}^*(a_{L-1}) \ldots W_1^*(a_1 = x) x。 f∗(x;θ)=WL∗(aL)WL−1∗(aL−1)…W1∗(a1=x)x。
由于多个线性变换的序列可以折叠为一个,因此 f ∗ ( x ; θ ) f^*(x; θ) f∗(x;θ)可以表示为
f ∗ ( x ; θ ) = W 1 → L ( x ) x , f^*(x; θ) = W_{1→L}(x) x, f∗(x;θ)=W1→L(x)x,
其中
W 1 → L ( x ) = ∏ j = 1 L W j ∗ ( a j ) 。 W_{1→L}(x) = \prod_{j=1}^L W_j^*(a_j)。 W1→L(x)=j=1∏LWj∗(aj)。
因此, W 1 → L ( x ) W_{1→L}(x) W1→L(x)通过单一线性变换忠实总结了网络计算公式(9)。
为了解释一个激活(例如类对数),我们现在可以直接可视化 W 1 → L W_{1→L} W1→L中的相应行,或根据 W 1 → L W_{1→L} W1→L来自个体输入维度的贡献。我们使用生成的空间贡献图来定量评估解释。详细地,输入贡献 s j l ( x ) s_j^l(x) sjl(x)到神经元 j j j在层 l l l中的输入 x x x由贡献图 s j l ( x ) = [ W 1 → l ( x ) ] j T ⊙ x s_j^l(x) = [W_{1→l}(x)]_j^T \odot x sjl(x)=[W1→l(x)]jT⊙x给出,
其中 [ W 1 → l ] j [W_{1→l}]_j [W1→l]j表示矩阵 W 1 → l W_{1→l} W1→l中的第 j j j行;因此,单个像素位置 ( x , y ) (x, y) (x,y)的贡献由 ∑ c [ s j l ( x ) ] ( x , y , c ) \sum_c [s_j^l(x)]_{(x, y, c)} ∑c[sjl(x)](x,y,c)给出,其中 c c c是颜色通道。
2) 优化B-cos网络进行分类
在下文中,我们讨论公式(14)中的线性变换 W 1 → L W_{1→L} W1→L对于基于B-cos变换的模型如何预期与相关输入模式对齐。
为此,首先注意每个神经元的输出——因此每一层的输出——是有界的,参见公式(5)和公式(10)。由于B-cos网络的输出是由一系列这样的有界变换计算的,见公式(13),整个网络的输出也是有界的。其次,注意只有当每个单元达到其上限时,B-cos网络才会达到给定输入的上限。重要的是,个体单元只有通过与其输入对齐才能达到其最大值(参见公式(5))。因此,优化B-cos网络以最大化其对一组输入的输出将优化模型权重以与这些输入对齐。
为了在分类模型中利用这一点,我们使用二元交叉熵(BCE)损失来训练它们
L ( x i , y i ) = BCE ( σ ( f ∗ ( x i ; θ ) / T + b ) , y i ) , L(x_i, y_i) = \text{BCE} (\sigma(f^*(x_i; θ) / T + b), y_i), L(xi,yi)=BCE(σ(f∗(xi;θ)/T+b),yi),
对于输入 x i x_i xi和相应的标签 y i y_i yi的独热编码;见下文(目标编码)以了解更多讨论。这里, σ σ σ表示sigmoid函数, b b b和 T T T是固定的偏置和缩放项, θ θ θ是模型参数。注意,我们选择BCE损失,因为它直接包含了最大化。具体来说,为了减少BCE损失,网络被优化以最大化正确类别的(负)类对数。正如前一段所述,这将优化网络每一层的权重以与其输入对齐。特别是,它们需要与类特定的输入模式对齐,使这些模式产生相应类对数的大输出。
最后,注意增加 B B B可以特别减少每层中对齐不佳的权重的输出(即与输入余弦相似度低的权重)。这减少了层的输出强度,因此减少了整个网络的输出,从而在优化过程中增加了对齐压力(因此, B B B越高,对齐越高)。
目标编码和类对数偏置 b b b
如前所述,BCE优化模型以最大化正(目标类)和负对数(其他类)的绝对幅度。为了鼓励模型找到目标类的正证据(即公式(16)中定义的贡献),而不是其他类的负证据,我们将类对数偏置 b b b设置为 log ( 1 / ( C − 1 ) ) \log(1 / (C - 1)) log(1/(C−1))对于 C C C类,这对应于每类的默认类概率为 1 / C 1 / C 1/C。因此,对于非目标类, f ∗ ( x i ; θ ) f^*(x_i; θ) f∗(xi;θ)的幅度可以很小而不会导致大的损失,而对于目标类,它必须很大,以达到接近1的类置信度,从而减少BCE损失。
有趣的是,在我们的实验中,我们发现包含归一化层的模型在类数量 C C C较大时(例如在ImageNet上)仍然可能倾向于关注负证据。为了解决这一问题,对于我们的ImageNet实验,我们还将目标编码 y i y_i yi修改为对所有非目标类为 1 / C 1 / C 1/C,这鼓励模型为非目标类生成与输入正交的权重,即,如果所有不是目标类的 c c c的 [ f ∗ ( x i ; θ ) ] c = 0 [f^*(x_i; θ)]_c = 0 [f∗(xi;θ)]c=0,则可以达到最优。
C. 高级B-cos网络
为了测试我们方法的普遍性,我们调查了将B-cos变换集成到传统DNN中如何影响其分类性能和可解释性。为此,在下文中我们讨论如何将B-cos层及其解释与其他常用模型组件(如激活函数(第三节C1)、归一化(第三节C2)和注意力层(第三节C3))结合。
注意,每当将给定网络中的线性/卷积层转换为相应的B-cos层时,我们会删除所有偏置项,以确保模型输出由公式(14)中的动态线性变换给出。有关偏差影响的讨论,见第五节D。
1) B-cos网络中的激活函数
由于B-cos变换本身是非线性的,B-cos DNN不需要激活函数来建模非线性关系(见第三节B)。因此,我们在第五节中的大多数模型都没有采用任何激活函数。尽管如此,将B-cos网络与激活函数结合仍然是有益的。特别是,正如我们在第五节A中讨论的那样,添加额外的非线性允许我们在较宽的参数 B B B值范围内研究公式(3)的影响,包括 B = 1 B = 1 B=1,从而直接将它们与传统的分段线性模型进行比较。
虽然有许多潜在的非线性可以选择,但在这项工作中,我们特别探索了将B-cos变换与MaxOut结合的选项。为此,我们通过2个B-cos变换来建模每个神经元,其中只有最大值被传递到下一层:
mB-cos ( x ) = max i ∈ 1 , 2 { B-cos ( x ; w i ) } . \text{mB-cos}(x) = \max_{i ∈ {1, 2}} \{\text{B-cos}(x; w_i)\}. mB-cos(x)=i∈1,2max{B-cos(x;wi)}.
我们这样做有几个原因。首先,这种操作保持了模型的动态线性,因此与B-cos解释兼容。其次,如上所述,对于 B = 1 B = 1 B=1,生成的模型是一个分段线性模型,这允许我们在传统的分段线性模型和提出的B-cos模型之间进行插值。最后,尽管ReLU操作也满足这些属性,但我们注意到,没有任何归一化层的B-cos模型在使用MaxOut而不是ReLU时更容易优化,我们将其归因于避免“死亡神经元”。
2) 适应B-cos网络的归一化层
在本节中,我们讨论如何将归一化层集成到B-cos网络中。具体而言,我们注意到这些层(例如BatchNorm、LayerNorm、PositionNorm或InstanceNorm)是(1)非线性操作,并且(2)可能对解释的完整性构成挑战。通过将它们解释为动态线性函数并删除偏置项,我们仍然可以无缝地将它们集成到B-cos解释中。然而,首先,让我们定义归一化层。
定义
已经显示,归一化层通过以下方式使输入 x x x白化,从而有益于神经网络训练:
∗ Norm ( x , X ; γ , β ) = x − ⟨ X ⟩ ∗ var ∗ ( X ) × γ + β , ∗\text{Norm}(x, X; γ, β) = \frac{x - \langle X \rangle_∗}{\sqrt{\text{var}_∗(X)}} × γ + β, ∗Norm(x,X;γ,β)=var∗(X)x−⟨X⟩∗×γ+β,
其中 X ∈ R b × c × h × w X ∈ \mathbb{R}^{b×c×h×w} X∈Rb×c×h×w是一个包含 b b b个输入的批次,每个输入具有 c c c个通道、宽度 w w w和高度 h h h;此外, x ∈ R c x ∈ \mathbb{R}^c x∈Rc是从特定输入在给定位置提取的单个表示向量。如占位符 ∗ ∗ ∗所示,个体归一化层的主要区别在于选择用于计算均值 ⟨ ⋅ ⟩ ⟨·⟩ ⟨⋅⟩和方差 var \text{var} var的维度。最后,注意,在推理时,均值和方差项有时会被这些值的运行估计替代,最常见的是在BatchNorm中。
为了避免歧义并便于比较不同的归一化方案,我们通过它们使用的维度选择定义归一化层:
BatchNorm ( x , X ; γ , β ) : = BHW-Norm ( x , X ; γ , β ) , \text{BatchNorm}(x, X; γ, β) := \text{BHW-Norm}(x, X; γ, β), BatchNorm(x,X;γ,β):=BHW-Norm(x,X;γ,β),
LayerNorm ( x , X ; γ , β ) : = CHW-Norm ( x , X ; γ , β ) , \text{LayerNorm}(x, X; γ, β) := \text{CHW-Norm}(x, X; γ, β), LayerNorm(x,X;γ,β):=CHW-Norm(x,X;γ,β),
InstanceNorm ( x , X ; γ , β ) : = HW-Norm ( x , X ; γ , β ) , \text{InstanceNorm}(x, X; γ, β) := \text{HW-Norm}(x, X; γ, β), InstanceNorm(x,X;γ,β):=HW-Norm(x,X;γ,β),
PositionNorm ( x , X ; γ , β ) : = C-Norm ( x , X ; γ , β ) , \text{PositionNorm}(x, X; γ, β) := \text{C-Norm}(x, X; γ, β), PositionNorm(x,X;γ,β):=C-Norm(x,X;γ,β),
即BatchNorm分别估计每个通道的均值和方差(无“C”),跨越所有空间维度(HW)和批次中的输入(B),而LayerNorm计算单个输入中所有激活的均值和方差(CHW),但不使用其他输入来估计这些值。
通过如上定义归一化层,出现了一个额外的候选者,我们称之为AllNorm:
AllNorm ( x , X ; γ , β ) : = BCHW-Norm ( x , X ; γ , β ) 。 \text{AllNorm}(x, X; γ, β) := \text{BCHW-Norm}(x, X; γ, β)。 AllNorm(x,X;γ,β):=BCHW-Norm(x,X;γ,β)。
动态线性归一化
通过方差归一化输入当然构成了高度非线性操作。为了仍然将此操作集成到基于B-cos的动态线性解释中(参见公式(13)),我们将归一化本身解释为动态线性函数:
w ∗ Norm ( x , X ) = γ × var ∗ − 1 ( X ) w_∗\text{Norm}(x, X) = γ × \sqrt{\text{var}_∗^{-1}(X)} w∗Norm(x,X)=γ×var∗−1(X)
因此,
∗ Norm ( x , X ; γ , β ) = w ∗ Norm × ( x − ⟨ X ⟩ ∗ ) + β 。 ∗\text{Norm}(x, X; γ, β) = w_∗\text{Norm} × (x - ⟨X⟩_∗) + β。 ∗Norm(x,X;γ,β)=w∗Norm×(x−⟨X⟩∗)+β。
解释的完整性
如公式(19)所示,归一化层将加性偏置引入模型预测(即 β β β,如果使用运行估计,则由 ⟨ X ⟩ ∗ ⟨X⟩_∗ ⟨X⟩∗的运行均值估计引入)。因此,模型输出不再由动态线性变换给出(参见公式(14)),而是由输入依赖的偏置 b ( x ) b(x) b(x)的仿射变换 f ∗ ( x ; θ ) = W ( x ) x + b ( x ) f^*(x; θ) = W(x)x + b(x) f∗(x;θ)=W(x)x+b(x)给出。
公式(16)中的贡献图因此不完整(即贡献的总和不会产生相应的类对数),因为它们没有考虑偏置。然而,对于模型忠实的解释,这是不理想的,因为偏置项在模型决策中可能起到显著作用。
为了解决这个问题,我们使用无偏归一化(BF),并删除学到的偏置 β β β,因为它们会使通过 W ( x ) x W(x)x W(x)x进行的模型线性总结不完整:
∗ NormBF ( x , X ; γ , β ) = x − ⟨ X ⟩ ∗ var ∗ ( X ) × γ + 0 。 ∗\text{NormBF}(x, X; γ, β) = \frac{x - ⟨X⟩_∗}{\sqrt{\text{var}_∗(X)}} × γ + 0。 ∗NormBF(x,X;γ,β)=var∗(X)x−⟨X⟩∗×γ+0。
此外,对于在推理时用运行均值估计替代均值计算的归一化层(即BatchNorm),我们还删除居中项 ⟨ X ⟩ ∗ ⟨X⟩_∗ ⟨X⟩∗,因为否则会在推理时引入外部偏置。
3) B-cos ViTs。结合B-cos和注意力层
到目前为止,我们的讨论集中在设计可解释的卷积神经网络(CNNs),它们长期主导了计算机视觉研究。然而,最近CNNs经常被变换器超越,如果当前的发展是任何迹象,变换器将取代CNN用于更多的任务和领域。因此,在下文中,我们研究如何设计B-cos变换器。
为此,首先注意视觉变换器(ViTs)和CNNs的核心区别在于使用注意力层和加性位置编码。剩余的ViT组件(标记化、MLP块、归一化层、分类头)有一个直接的卷积对应物。
特别是,标记化模块通常由一个 K × K K×K K×K卷积组成,步幅和卷积核大小为 K K K,MLP块有效地执行 1 × 1 1×1 1×1卷积,归一化层可以表示为CNNs中的PositionNorm,见公式(23),分类头由一个或多个线性层给出。
因此,在下文中,我们更详细地讨论注意力机制和位置嵌入。
注意力
有趣的是,注意力操作本身已经是动态线性的,因此注意力很好地融入了根据公式(14)的线性总结中:
Att ( X ; Q , K , V ) = softmax ( X T Q T K X ) V X = W ( X ) X 。 \text{Att}(X; Q, K, V) = \text{softmax}(X^T Q^T K X) V X = W(X) X。 Att(X;Q,K,V)=softmax(XTQTKX)VX=W(X)X。
这里, Q , K Q, K Q,K和 V V V是查询、键和值变换矩阵, X X X表示注意力层的输入标记矩阵。Softmax按列计算。
在多头自注意力(MSA)中,同时使用 H H H个注意力头。它们的串联输出然后通过矩阵 U U U线性投影:
MSA ( X ) = U [ W 1 ( X ) X , … , W H ( X ) X ] , \text{MSA}(X) = U [W_1(X) X, \ldots, W_H(X) X], MSA(X)=U[W1(X)X,…,WH(X)X],
这仍然是动态线性的。虽然MSA中涉及多个线性操作(查询、键、值和投影计算),因此引入B-cos层有多种选择,但我们经验发现,不替换查询、键和值计算会产生最佳结果,我们将其归因于与Softmax函数的更高兼容性。因此,在我们的实验中,为了适应注意力层到B-cos框架,我们只用B-cos变换替代通过 U U U的线性投影。
位置编码
与CNNs不同的是,CNNs具有关于空间关系(局部连接)的强归纳偏置,而变换器对标记顺序不变,因此缺乏这样的“局部性偏置”。为了仍然利用空间信息,常见做法是通过将(学习的)嵌入 E E E添加到输入标记 X X X中,从而打破标记之间的对称性,使 X ′ = X + E X' = X + E X′=X+E。
虽然仅关于 X X X的解释因此不完整(参见第三节C2),因为模型输出的一部分将基于来自 E E E的贡献,但我们实验证明,位置嵌入不会对ViTs的可解释性产生负面影响。如何设计不需要此类外部偏置的ViT模型是一个有趣的未来研究方向。
IV. 实验设置
数据集
我们在CIFAR-10和ImageNet数据集上评估各种B-cos网络的准确性。我们使用相同的数据集进行模型固有解释的定性和定量评估。
CIFAR10模型
对于CIFAR10实验,我们开发了一个简单的全卷积B-cos DNN,由9个卷积层组成,每个卷积核大小为3,之后是一个全局池化操作。我们评估了一个没有额外非线性以及MaxOut单元的网络。此外,为了研究归一化层和偏置项的影响,我们评估了各种B-cos ResNets。为此,我们调整了一个传统的ResNet-56,删除了所有激活函数和偏置参数,并将所有线性/卷积层替换为相应的B-cos版本。此外,我们用(修改后的)归一化层替换了传统的批归一化层。
ImageNet模型
对于ImageNet实验,我们依赖于广泛可用的各种CNNs(VGGs、ResNets、DenseNets、ResNeXt和ConvNext模型)的实现。此外,我们评估了视觉变换器(ViTs)的B-cos版本,特别是文献中的版本,以及具有四个卷积层浅干的ViTC模型。我们根据标准协议调整所有这些架构为B-cos网络,并训练它们。具体来说,我们使用torchvision库中默认的90个epoch训练范例训练大多数CNNs;此外,我们根据ConvNext训练协议评估了在600个epoch的更复杂训练方案中使用的各种模型。最后,对于ViT模型,我们遵循文献中提出的协议,该协议已显示出强大的性能,只需90个epoch的训练。

图像编码
我们添加了三个额外的通道,并将图像编码为 [ r , g , b , 1 − r , 1 − g , 1 − b ] [r, g, b, 1-r, 1-g, 1-b] [r,g,b,1−r,1−g,1−b],其中 r , g , b ∈ [ 0 , 1 ] r, g, b ∈ [0, 1] r,g,b∈[0,1]表示红色、绿色和蓝色通道。一方面,这减少了图像中亮区的偏置。另一方面,具有相同角度的颜色在原始编码中——即 [ r 1 , g 1 , b 1 ] ∝ [ r 2 , g 2 , b 2 ] [r_1, g_1, b_1] ∝ [r_2, g_2, b_2] [r1,g1,b1]∝[r2,g2,b2]——在新编码下由其角度明确编码。因此,线性变换 W 1 → l W_{1→l} W1→l可以仅基于每个像素的角度解码为颜色。
评估解释
为了比较模型决策的解释并评估其忠实度,我们采用网格指向游戏。这意味着我们在不同类的合成 3 × 3 3×3 3×3网格图像上评估训练的模型,并测量每个相应类对数对网格中正确位置分配了多少正归因。注意,由于ViTs中的全局注意力,这些网格在模型的每一层都比在CNNs中更远离分布,CNNs中的局部应用的卷积核不受合成输入网格性质的影响。然而,网格指向游戏依赖于模型在合成设置中提取类似特征并局部正确分类子图像的假设。为了确保这个假设(至少大致)成立,我们因此将ViTs以滑动窗口方式应用于合成图像网格,即,我们将ViTs应用于从图像网格中提取的大小为 224 × 224 224×224 224×224的patch,步幅为 112 112 112。由于这显著增加了计算成本,我们对ViTs使用 2 × 2 2×2 2×2网格。

遵循先前的工作,我们从最自信和正确分类的图像中构建了500个网格,并比较模型固有的贡献图,见公式(16),与几种常用的后验解释方法在两个设置下进行比较。首先,我们在B-cos网络上评估所有方法,以调查哪种方法为相同模型提供最佳解释。其次,我们在原始模型的预训练版本上进一步评估后验方法。这允许比较不同模型之间的解释,并评估通过将传统模型转换为B-cos网络获得的可解释性增益。最后,所有归因图(除了GradCAM,后者本来分辨率较低)都通过 15 × 15 ( 3 × 3 ) 15×15(3×3) 15×15(3×3)核进行平滑,以更好地解释ImageNet(CIFAR-10)图像定位指标中的负归因,其图像大小分别为 224 × 224 ( 32 × 32 ) 224×224(32×32) 224×224(32×32)。
可视化细节
为了生成个体神经元 n n n在层 l l l中的线性变换的可视化,我们按如下步骤进行。首先,我们选择所有通过公式(16)计算的对相应激活(例如类对数)产生正贡献的像素位置 ( x , y ) (x, y) (x,y);即 { ( x , y ) ∣ ∑ c [ s j l ( x ) ] ( x , y , c ) > 0 } \{(x, y) \mid \sum_c [s_j^l(x)]_{(x, y, c)} > 0\} {(x,y)∣∑c[sjl(x)](x,y,c)>0},其中 c c c是6个颜色通道(见图像编码)。然后,我们对每个颜色通道的权重进行归一化,使相应的权重(例如,对于 r r r和 1 − r 1-r 1−r)之和为1。注意,这种归一化保持每对颜色通道(即 r r r和 1 − r 1-r 1−r)的角度,但产生允许范围内的值 r , g , b ∈ [ 0 , 1 ] r, g, b ∈ [0, 1] r,g,b∈[0,1]。这些归一化权重可以直接可视化为彩色图像。像素的不透明度设置为 min ( ‖ w ( x , y ) ‖ 2 / p 99.9 , 1 ) \min(‖w_{(x, y)}‖_2 / p_{99.9}, 1) min(‖w(x,y)‖2/p99.9,1),其中 p 99.9 p_{99.9} p99.9是跨越所有 ( x , y ) (x, y) (x,y)的权重范数 ‖ w ( x , y ) ‖ 2 ‖w_{(x, y)}‖_2 ‖w(x,y)‖2的第99.9个百分位数。
V. 结果
在本节中,我们分析了B-cos模型的性能和可解释性。为此,在第五节A中,我们展示了没有高级架构元素(如跳跃连接)的“简单”B-cos模型的结果。在这种情况下,我们研究了参数 B B B如何影响B-cos模型的性能和可解释性。此后,在第五节B中,我们展示了高级B-cos模型的定量结果,即基于常见DNN架构的B-cos模型(参见第三节C)。在第五节C中,我们可视化并定性讨论了高级B-cos模型的个体神经元的解释,最后在第五节D中,我们讨论了归一化层中偏置项的影响。
A. 简单B-cos模型
在下文中,我们讨论在CIFAR-10数据集上评估的简单B-cos模型的实验结果。
准确性
我们展示了在CIFAR-10上训练的各种B-cos模型的测试准确性。我们展示了一个没有任何附加组件(ReLU、批归一化等)的简单B-cos模型( B = 2 B = 2 B=2)可以达到竞争性能。通过为每个神经元建模2个MaxOut单元,性能可以提高,并且生成的模型( B = 2 B = 2 B=2)与ResNet-56相当(达到93.0%)。此外,我们看到,参数 B B B的增加导致性能下降,从 B = 1.25 B = 1.25 B=1.25的93.8%下降到 B = 2.5 B = 2.5 B=2.5的92.4%。值得注意的是,尽管其设计简单,我们最强的模型 B = 1.25 B = 1.25 B=1.25的性能与最强的ResNet模型(93.6%)相似。


模型可解释性
如第三节B2中讨论的那样,我们预期 B B B的增加会增加优化过程中的权重对齐压力,从而影响模型的最优。这确实是我们观察到的。例如,我们可视化了CIFAR-10测试集的不同样本 i i i的 [ W 1 → l ( x i ) ] y i [W_{1→l}(x_i)]_{y_i} [W1→l(xi)]yi。对于较高的 B B B值,从分段线性模型( B = 1 B = 1 B=1)到较高 B B B的B-cos模型( B = 2.5 B = 2.5 B=2.5),权重对齐显著增加。重要的是,这不仅提高了解释的视觉质量,还在定量上提高了模型的可解释性。特别是,具有较大 B B B值的模型定义的空间贡献图 W 1 → l ( x i ) W_{1→l}(x_i) W1→l(xi)在定位指标上得分显著更高。
B. 高级B-cos模型
B-cos CNNs – 准确性
我们展示了B-cos模型在ImageNet验证集上的top-1准确性,分别为90个epoch和600个epoch的训练范例。为了比较,我们还展示了与报告的各自基线模型准确性的差异。可以观察到,B-cos模型在某些模型(ResNet-50, Δ 1 = − 0.2 Δ_1 = -0.2 Δ1=−0.2)上达到与基线相当的准确性,而在90个epoch训练范例下最差的情况下降为 Δ 1 = − 2.0 Δ_1 = -2.0 Δ1=−2.0 (ResNext-50-32x4d)。有趣的是,我们发现,当训练基线模型时,在卷积和归一化层中不使用偏置项时,这些差异消失,即在B-cos模型中也是如此;我们将其差异表示为 Δ 2 Δ_2 Δ2。


当采用长训练协议并添加额外数据增强时,B-cos模型的性能可以进一步提高:例如,B-cos ResNet-152的top-1准确性提高了3.2pp,达到80.2%的top-1准确性,这是提供如此详细解释的模型前所未有的性能。然而,尤其对于ConvNext模型,我们观察到与报告的基线数字相比显著的性能下降(对于ConvNext-Tiny,最高可达5.0pp)。然而,注意,训练协议已为ConvNext模型进行了细致的优化;因此,我们预计,如果对模型架构和训练过程进行类似的优化工作,B-cos模型的性能将显著提高。

B-cos CNNs – 可解释性
除了准确性外,我们还提供了在模型固有解释网格指向游戏中获得的平均定位分数,见公式(16)。此外,我们展示了在B-cos模型( Δ B − c o s Δ_{B-cos} ΔB−cos)和基线( Δ basel Δ_{\text{basel}} Δbasel)上评估的最流行的后验归因方法(IntGrad)的差异。
在所有模型中,我们发现模型固有解释的定位分数显著高于IntGrad;当与基线模型的IntGrad解释比较时,这一差异更为显著。
为了提供更多细节,我们展示了两种特定模型(ResNet-152, DenseNet-201)的一系列后验解释方法的定位结果:“原始”梯度(Grad)、引导反向传播(GB)、输入×梯度(IxG)、集成梯度(IntGrad)、DeepLIFT、GradCAM和LIME。特别是,我们绘制了这些模型的B-cos版本和相应基线的定位分数。


与后验解释方法相比,我们观察到模型固有解释(标记为“Ours”,见公式(16))在一致且显著地优于所有其他方法,无论是与相同模型的后验解释进行比较,还是跨模型比较解释。注意,虽然GradCAM也表现出强大的性能,但它仅解释了整个模型的一小部分,因此产生的归因图粗糙得多。
最后,我们还评估了根据 W ( x ) W(x) W(x)确定的最高贡献像素在定位指标中的表现,我们在结果中标记为 O u r s Q Ours_{Q} OursQ。我们发现,当仅使用模型固有解释中的前 n n n个贡献像素时,定位分数可以进一步提高。
B-cos ViTs – 准确性
我们报告了各种常用大小的B-cos ViT和ViTC模型的top-1准确性——Tiny (Ti)、Small (S)、Base (B)和Large (L)——以及在相同训练协议下优化的各自基线模型的差异( Δ 3 Δ_3 Δ3)。
对于原始ViTs和具有浅卷积干的ViTC,我们观察到较小模型尺寸(Ti+S)的显著性能下降。然而,对于较大模型(B+L),B-cos模型和基线之间的差异消失,例如,ViTC-B ( Δ 3 = + 0.3 Δ_3 = +0.3 Δ3=+0.3)和ViTC-L ( Δ 3 = − 0.1 Δ_3 = -0.1 Δ3=−0.1)模型。此外,与先前的工作一致,我们发现浅卷积干带来了显著的性能提升;正如我们接下来讨论的,这样的干也可以显著提高模型的可解释性。
B-cos ViTs – 可解释性
为了评估B-cos ViTs的可解释性,我们将模型固有解释公式(16)与在B-cos( Δ B − c o s Δ_{B-cos} ΔB−cos)和基线模型( Δ basel Δ_{\text{basel}} Δbasel)上评估的IntGrad进行比较;此外,我们报告了一种常用的基于注意力的解释,即注意力展开( Δ R o l l o u t Δ_{Rollout} ΔRollout)的差异。由于Rollout本质上是一种类无关的方法,它平均产生的定位与所有模型均匀分布的重要性值相同,即平均定位分数为25%。
如结果所示,B-cos ViT和ViTC模型在定位方面与各自的基线模型相比显示出显著的提升。有趣的是,添加仅四个卷积层的浅干在各自的B-cos模型之间,即B-cos ViT和B-cos ViTC模型之间产生了显著的定位改进。这表明ViTC模型表现更好,因为变换器被应用于更有意义的表示,避免了在前几次全局注意力操作中混合视觉上相似但语义上无关的patch。
这些定量的可解释性改进在ViT和ViTC模型之间也可以定性观察到。具体来说,与没有卷积干的ViTs解释相比,B-cos ViTC解释在视觉上更连贯且不那么稀疏,使其更容易被人类解释。
C. 解释的定性评估
以下结果基于DenseNet-121,如表II所示,我们在其他B-cos模型中发现了类似的结果。B-cos模型中的每个激活都是B-cos变换序列的结果。因此,任何层 l l l中的中间激活也可以通过相应的线性变换 W 1 → l ( x ) W_{1→l}(x) W1→l(x)来解释,见公式(14)。
例如,在图1中,我们可视化了各种输入图像的相应类对数的线性变换。鉴于优化过程中存在的对齐压力,这些线性变换与输入中的类判别模式对齐,因此实际上类似于类对象。
类似地,在图10和图12中,我们可视化了中间特征的解释。这些特征是从根据线性变换 W l → L ( x ) W_{l→L}(x) Wl→L(x)选取的最具贡献的特征方向 a ^ ( x , y ) l ∈ R d l \hat{\mathbf{a}}^{l}_{(x,y)} \in \mathbb{R}^{d_l} a^(x,y)l∈Rdl中选择的。这里, a ^ \hat{a} a^表示单位范数, d l d_l dl是层 l l l中的特征数, ( x , y ) (x, y) (x,y)表示从激活图中提取此特征的位置。




具体来说,在图10中,我们展示了一些图像的解释,这些图像在验证集中最强烈地激活了这些特征方向。我们发现,早期层中的特征似乎表示低级概念,而在后期层中变得更复杂。
图12显示了第87层中一些特征的额外结果。我们观察到,一些特征对某些概念高度具体,如自行车轮(特征89)、红色鸟喙(特征109)或带头饰的面孔(特征123)。重要的是,这些特征不仅学会与简单的固定模式对齐——而是表示语义概念,并且对颜色、大小和姿势的变化具有鲁棒性。
最后,在图11中,我们展示了模型对高不确定性预测的图像的两个最可能类的解释;此外,我们展示了Δ解释,即两个类的贡献图之差,见公式(16)。通过模型固有的线性映射 W 1 → L W_{1→L} W1→L,模型可以为其不确定性提供人类可解释的解释:确实在这些图像中存在为预测的两个类提供证据的特征。

D. 显性和隐性模型偏差
如第三节C2所讨论,我们通过将所有层的显性偏差参数固定为零来设计B-cos CNN使其无偏差。在本节中,我们旨在进一步动机这一选择。此外,我们展示了即使这样做,模型仍然可以通过利用可靠的输入特征(如图像边缘)来学习对抗这一点,并添加隐性偏差。
显性偏差。如文献[25]所述,对于分段线性网络,尽管偏差可以在模型预测中起到关键作用,但在输入级归因中通常未考虑DNN的偏差。同样,如果在B-cos模型中使用偏差,输入到第 c c c类对数的贡献 s c s_c sc,见公式(16),则不构成完整的解释(参见第三节C2)。相反,输出 y ( x ) y(x) y(x)为
y ( x ) = W ( x ) x + b ( x ) , y(x) = W(x)x + b(x), y(x)=W(x)x+b(x),
其中 b ( x ) ∈ R c b(x)∈R^c b(x)∈Rc包含所有未被动态线性映射 W ( x ) W(x) W(x)考虑的对类对数的贡献。
因此,B-cos DNN面临与文献[25]所述相同的问题:虽然基于 W ( x ) W(x) W(x)的解释忽略了偏差项 b ( x ) b(x) b(x)的贡献,但在图13中,我们展示了偏差项可以在模型决策中起到关键作用。特别是,我们发现对于某些模型(例如,使用InstanceNorm或BatchNorm训练的模型),偏差项构成了模型前两个预测之间大部分的差异。为了确保B-cos CNN的解释是完整的,我们将模型的所有偏差参数设为零,见第三节C2。

隐性偏差。即使没有使用显性偏差参数,我们发现一些模型学会使用图像边缘计算偏差以添加到类对数中。虽然这些偏差在解释中正确反映(见图14,第2行),但这种行为使得模型解释对人类来说不太可解释。有趣的是,这些模型似乎以意外的方式学会了解决公式(17)中的优化任务。具体来说,所有类都从图像角或边缘(如图14中的上边缘)获得高度正的贡献,从而为所有类产生高的类对数。为了仍然获得非目标类的低分数,模型似乎使用图像中识别对象的特征为这些类添加负贡献。
为了证实这一点,我们还可视化了图14第3行中的均值校正对数 y − ⟨ y c ⟩ c \mathbf{y} - \left\langle \mathbf{y_c} \right\rangle_c y−⟨yc⟩c的解释;注意,鉴于B-cos模型的动态线性,这等同于计算均值校正解释 W ( x ) − ⟨ [ W ( x ) ] c ⟩ c \mathbf{W}(\mathbf{x}) - \left\langle \left[ \mathbf{W}(\mathbf{x}) \right]_c \right\rangle_{c} W(x)−⟨[W(x)]c⟩c。正如预期的那样,我们发现这些修改后的解释 E ′ E^\prime E′表现出高度的特异性,因此更容易被人类解释。
我们假设这种行为根植于优化任务本身的表述:特别是,BCE损失“要求”模型为所有类生成高度负的对数,这可能使模型倾向于使用对象特征计算负贡献。

为了克服这一点,并激励模型主要使用对象特征为其所属的类计算正贡献,我们建议更改优化任务本身,如第三节B2所述。正如我们在图14最后一行中展示的那样,这确实具有预期的效果,并导致高度集中于图像中类对象的解释。
我们认为这突显了对解释深度神经网络的重要性。特别是,这些结果表明,模型设计和优化过程都可以显著影响模型行为以及生成的解释,这使得开发不考虑这些方面的后验解释方法变得复杂。
VI. 结论
我们提出了一种新的方法,使深度神经网络具有高度的固有可解释性。特别是,我们开发了B-cos变换,作为线性变换的修改,以在优化过程中增加权重-输入对齐,并展示了这可以显著提高可解释性。重要的是,B-cos变换可以作为传统DNN中无处不在的线性变换的替代,只会导致分类准确性的轻微下降。因此,我们的方法可以在低成本的情况下提高广泛DNN的可解释性,因此具有对深度学习社区产生重大影响的巨大潜力。特别是,它表明强性能和可解释性并不需要矛盾。此外,我们展示了通过在结构上约束神经网络如何解决优化任务——在B-cos网络的情况下,通过对齐——可以提取忠实反映基础模型的解释。我们认为这是朝着解释深度学习迈出的重要一步,这是建立对基于DNN的决策信任的重要组成部分,特别是在安全关键情况下。
声明
本文内容为论文学习收获分享,受限于知识能力,本文对原文的理解可能存在偏差,最终内容以原论文为准。本文信息旨在传播和学术交流,其内容由作者负责,不代表本号观点。文中作品文字、图片等如涉及内容、版权和其他问题,请及时与我们联系,我们将在第一时间回复并处理。
510

被折叠的 条评论
为什么被折叠?



