文摘
卷积神经网络(CNN)已经在各个领域得到了广泛的应用。然而,它总是阻碍了解释的特点。用户无法知道为什么CNN-based模型产生一定的识别效果,这是一个脆弱的CNN从安全性的角度来看。为了缓解这个问题,在这项研究中,CNN的三个现有特征可视化方法详细分析了首先,和一个统一的可视化框架解释CNN的识别结果。这里,类激活重量(地)被认为是最重要的因素的框架。然后,不同类型的CAWs进一步分析,得出它们之间存在线性相关。最后,在此基础上,一个空间信道引起类激活映射(SCA-CAM)方法。这种方法使用不同类型的CAWs注意重量和空间和通道注意结合生成类激活地图,它能够使用更丰富的特性解释CNN的结果。实验四个不同的网络上。结果验证不同CAWs之间线性相关。 In addition, compared with the existing methods, the proposed method SCA-CAM can effectively improve the visualization effect of the class activation map with higher flexibility on network structure.
1。介绍
深度学习方法近年来取得了长足发展,其中卷积神经网络(CNN)已经非常有效的图像分类等任务(1,2),语音识别(3),和自然语言处理4]。然而,由于端到端“黑匣子”的本质CNN-based模型,中间层的知识存储和处理机制仍然未知。因此,内部的基础功能和外部决策CNN不能以很明显,影响其应用在某种程度上,尤其是对安全性要求苛刻的领域。越来越多的研究(5- - - - - -11)最近进行的,目的是探索“黑箱”模型,关注explainability CNN的决定。目的是允许CNN生产决策的结果,同时提供本身的原因与结果有关。这将提供explainability和可靠性来获得用户的信任。CNN的可解释性研究显示等领域的重大进步推荐系统(12),智能医疗13),和自动驾驶14,15]。
功能训练CNN模型的可视化是一种常见的方式来显示功能学内部和解释CNN决策背后的原因。最直接的方法是可视化特征图的每一层(16),从而导致视觉的观察学习在CNN的特性。周et al。8)提出了一个类激活映射(CAM)方法解释CNN的预测,这将全球平均池(GAP)层插入普通CNN构造卷积网络。在这个网络,他们成功地相关CNN分类结果与中间层的特性通过使用加权求和最后卷积功能地图,可以用于生成类激活地图定位最重要特性贡献到一个特定的CNN的预测。由于缺口层,利用该方法可以被命名为GAP-CAM。类活动映射是一个与课堂有关的热图。中突出显示的区域地图显示相关的区域可以激活一定输出类的CNN。Selvaraju et al。9)提出了一个改进的版本,gradient-weighted凸轮(Grad-CAM),解决GAP-CAM在网络体系结构的限制。Grad-CAM概括对于大多数cnn和达到一个更好的本地化特征影响。
详细研究上述三种特征可视化方法引领我们到一个新的发现。我们证明他们在本质上是一样的使用渠道关注功能映射到生成类激活映射。其中唯一的区别就是关注体重跨渠道使用。基于这一发现,在这篇文章中,一个空间信道引起类激活映射方法称为SCA-CAM提出了改善视觉效果,产生更好的热图解释CNN的决定。本文的贡献如下。
首先,一个统一的特性提出了可视化框架基于凸轮解释CNN分类结果。框架总结了三种方法的代表性特征地图可视化、GAP-CAM, Grad-CAM,因此具有一定的通用性。
其次,基于这一可视化框架,我们给类的概念激活重量(地)对首次激活映射的类。通过分析不同情况下,不同CAWs之间的相关性在多个池方法系统地推导,在类的生成及其重要作用激活地图确定。
第三,利用CAWs不同,提出了一种新的可视化方法称为SCA-CAM。该方法结合不同CAWs通过注意机制和利用信道特性和空间分布特性特性映射到生成类的激活地图。实验结果表明,与现有的方法相比,它实现了更好的可视化效果。此外,它不是网络结构的限制,从而提供更高的灵活性。
2。相关工作
CNN编码的特征图谱的隐藏层在不同层次有不同的重点。低层次学习本地对象的基本特征,如边缘和线条,而更高层次学习全球复杂的特性,如形状和物体(10,16,17]。因此,特征图谱可以被视为从输入图像中提取的特征空间。可视化功能映射有助于理解的内部表示CNN和特征图在不同的层次有不同的可视化应用程序功能。
2.1。特征可视化地图
直接的可视化特征图可以帮助观察每个中间层的CNN的表示。如图1,有两个明显的原始图像中的对象。数据1 (b)来1 (f)在ResNet-18[显示输出1]从低层到更高的层次。高级特性表示比低层更抽象。特征映射最高的层(图1 (f))可以定位特征与语义概念信息,表明网络的功能学习是有效的。图1 (g)地图可视化显示了结果的功能,使用该功能映射层叠加最高的原始图像。特征可视化地图直接总结相应的位置映射到每个通道的特性获得二维图像。这个时候,它相当于将值分配给每个通道的重量,这意味着每个通道的重要性决定的结果是相同的。因此,它无法确定这些特征的相关性目前决定结果。换句话说,特征地图可视化class-independent并不能有效解释CNN的结果。
(一)
(b)
(c)
(d)
(e)
(f)
(g)
2.2。GAP-CAM
为了理解的决定由CNN,周et al。8]利用功能图由softmax重量加权生成一个职业专用的热图,即类激活映射。这个热图可以定位目标区域的区别的特性,它可以支持目前的分类结果。如图2 (c)和2 (d)是各自的热图ResNet-18与“狗”和“猫”由GAP-CAM生成的。关键区域突出表明,这些地区的特点是当前最相关的决定。
(一)
(b)
(c)
(d)
(e)
(f)
清楚地描述GAP-CAM的细节,我们使用一个基本的CNN结构比较。图3显示了VGGNet-16[的结构18包含13]卷积完全连接层和3层,给定一个三通道输入图像大小224×224×224表示的高度和宽度。最后的特征地图大小卷积层7×7×512 (maxpooling后层)。图4基于GAP-CAM VGGNet-16显示的结构修改。与原VGGNet-16相比,去年maxpooling层和完全连接层从修改后的网络,相反,一个回旋的层,全球平均池(GAP)层和一层softmax添加。整层平均水平的差距特性映射到一个值。黄色层图4表明添加卷积层内核,内核大小为3×3,大步的1,1的填充。在这个网络,生成类激活映射的过程由虚线所示。这个过程神经元之间的加权和表示某个类的权重在softmax层,最高层特征图的每个通道。
2.3。Grad-CAM
虽然GAP-CAM很简单,但其效果是可观。然而,缺点在于它依赖层的差距,这并不总是包括在CNN的结构。因此,有必要修改CNN结构如图4当使用GAP-CAM,有点复杂的应用程序。此外,使用全球池特性映射将失去大量的语义信息,这将降低性能相比原CNN。
为了解决GAP-CAM限制的网络结构,Selvaraju et al。9]Grad-CAM求婚。Grad-CAM不需要改变网络结构;相反,它计算梯度某个类的分数对特性的像素映射,随后平均每个通道的梯度获得channel-wise重量。数据2 (d)和2 (e)分别表示“狗”和“猫”的热图Grad-CAM生成的。图5显示了生成的过程类激活映射使用Grad-CAM VGGNet-16。Grad-CAM,没有必要再培训网络和更新参数,大大提高了效率。
3所示。该方法
3.1。根据凸轮统一CNN可视化体系结构
前一节的报告显示,三种方法(特征地图可视化、GAP-CAM和Grad-CAM)都使用的热图强调关键区域的图像识别学会了CNN和解释它的输出的特性。如图6,其中的热图生成过程基本上是相同的。它们都使用最高级别的特性之间的加权和地图频道和相应的权重。这里,地图可视化中使用的重量特性是固定值没有类信息,而重的其他两种方法包含职业专用信息。
流程如图6可以制定如下:
方程(1高高的)代表的特定情况 , 代表类,代表通道的数量。这同样适用于其他两个可视化方法。直接叠加的特征图谱特征地图可视化相当于设置每个通道的重量为1。使用的CAWs GAP-CAM Grad-CAM并不相同,导致不同的权重为每个特征地图频道。因此,不同CAWs引起不同的可视化效果。从另一个角度来看,特征地图可视化、GAP-CAM, Grad-CAM可以被视为所有方法使用一个通道注意力特征映射机制和分配不同的关注权重每个通道。显然,注意体重分布导致不同的解释的影响类激活地图。
3.2。类激活重量
通过比较上述三种方法,可以看出CAWs,在GAP-CAM和Grad-CAM,发挥关键作用的生成类激活地图,确定可视化在某种程度上的影响。因此,分析CAWs用于GAP-CAM和Grad-CAM的功能,在本节中,我们首先研究两种CAWs之间的关系在CNN结构差距一层一层,随后删除的差距进行进一步分析。
3.2.1之上。CNN,高高的缺口层
在现代美国有线电视新闻网(常用缺口层1,19,20.)通常出现在完全连接层。这也是GAP-CAM的核心组件。我们选择一个缺口的CNN层。这样,GAP-CAM和Grad-CAM可以统一成一个网络,无需修改网络结构。在CNN缺口层,输入图像的特征提取和分类过程如图7。
给定一个输入图像,最后卷积特性图 特征提取后获得。之后,输入层的差距获得特征向量 。最后,得分向量 所有类的分类层(softmax之前)。这个过程可以制定 ,在哪里表示 渠道 , 池的价值吗 ,和表示类的分数 ,可以计算如下: 在哪里表示连接的权重神经元的类在分类层。根据过程的差距,可以计算如下: 在哪里表示像素的空间位置 在 通道和差距()代表了全球平均池功能映射 。从方程(2)和(3),得分取决于像素值地图和重量的特性分类的层。此时,重量 只是,高高的GAP-CAM使用。
此外,本文基于可获得用于Grad-CAM使用梯度反向传播过程。为了实现这一点,分数backpropagated到特征空间的最后卷积计算其梯度层的像素地图功能: 在哪里表示像素的梯度 在 通道。因此,平均梯度这个通道的方法如下:
注意,这些梯度来自一个特定类的衍生品的分数,包含与类相关的特性。在这一点上,平均梯度 每个通道只是高高的Grad-CAM使用。
从方程(6),在CNN缺口层,存在两种CAWs之间的线性关系。直觉上,如图7从多通道特性,提出过程映射到得分向量只包括一个操作的差距,这是一个线性计算。因此,两种CAWs之间的关系是线性的。激活地图数据的类2 (c)和2 (e)和数字2 (d)和2 (f)非常相似,这也验证线性对应关系。
3.2.2。CNN,高高的层没有差距
缺口层只使用一种特殊的池策略,窗口大小对应于特征映射的大小。为其他池方法自行设计CNN,如平均池和maxpooling,小窗口大小(例如,2×2或3×3)通常是选择减少地图特征的维数,也保留更多的语义信息。在这种情况下,两种CAWs之间的关系比较复杂,应该分析不同的情况。
为了便于分析,一个4×4×3地图大小的特性是作为一个例子。具体的过程如图所示8。4×4×3地图大小的特点是集中使用四个不同池方法输出特征向量。后来,特征向量被送入分类层获取二进制分类分数,和(在softmax之前)。在这个过程中,四个以下不同的池方法,分别使用:高高的, ,仍然是一个元素的线性组合的 。在这里,总结元素的数量和系数➁仍然是相同的情况。
➀差距。池对应功能的窗口大小地图大小。在前面的小节中,根据分析CAWs之间的关系如下: 哪里有两个CAWs之间的线性关系,其系数的倒数特性图的大小。➁平均池(2,2)/ 2。窗口大小设置为2(2,2)和进步。然后,比分可以计算如下: 在哪里 , ,和 可以使用 , ,和 ,分别。根据平均池的过程,我们可以计算出的值 如下: 同样的, 可以使用上面的计算过程。从方程(8)- (12),我们知道获得使用重量分类层和像素值地图的功能。因此,的梯度对相关功能映射像素分类层的权重。使用方程(4)和(5),每个特性的平均梯度地图频道计算: 在这种情况下,高高的, ,是一个元素的线性组合的重量吗 。总结的元素数量是一样的元素的数量在每个特征地图频道从池中获得的系数值线性组合仍然是倒数的大小特征映射。➂Maxpooling (2, 2) / 2。窗口大小设置为2(2,2)和进步。在这种情况下,我们如果➁得到相同的结论。➃平均池(2,2)/ 1。窗口大小设置为1(2,2)和进步。在这种情况下,尽管存在渐变叠加大步的位置重叠,我们可以计算出平均梯度通过每个通道的功能图:
虽然在CNN没有使用层的差距,上述结果表明,仍然存在两个CAWs之间的线性关系。在这种线性关系,高高的, ,总是高高的元素的线性组合 ,和线性组合系数的值总是特性图尺寸的倒数。换句话说,两种CNN CAWs总是一致的。因此,人们很自然地结合在一起,调整类的生成过程激活地图更好的可视化效果。
3.3。空间信道引起凸轮
在上面的分析中,我们知道,高高的的角色相当于一个channel-wise注意体重。它执行调整跨渠道类合成激活地图。考虑两个CAWs的一致性,我们建议空间信道引起类激活映射方法称为SCA-CAM。通过结合空间和通道殷勤,相关性高的职位和渠道当前分类得到加强,而较低的相关性进一步抑制。流程如图9。
3.3.1。空间的关注
单通道的最高级别的特征地图,语义特征的空间分布有极大的不同像素的位置。这些像素的空间分布特征不能充分利用通过使用仅关注GAP-CAM和Grad-CAM频道。因此,采用空间注意机制在这项研究中,实现不同的权重在每个通道不同位置利用这个空间分布特性。具体地说,通过计算每个像素的梯度特征的地图,一个职业专用空间权重矩阵的关注,即进行像素级梯度矩阵,可以得到如下: 在哪里 表示 通道梯度矩阵的每个元素是一个像素的梯度对类的分数c。这个矩阵包含每个空间位置的重要特性和相关特性输出类,可以实现进行像素级注意体重。
3.3.2。频道的关注
在通道的注意机制,每个通道被视为一个整体。每个通道对应一个不同的功能和不同的有助于不同的输出类。因此,关注不同的权重时应该分配给每个通道激活地图生成类。 在哪里 代表的频道关注重量 频道相关类c。
3.3.3。结合空间和通道的注意
根据部分中给出的统一框架3.1空间关注权重和渠道关注权重结合生成类激活地图如下: 在哪里 表示 通道的特性图;代表了这个通道的空间注意权重矩阵;代表该频道的频道关注重量。两个注意重量的顺序不影响最终结果。
在CNN缺口层,有两个CAWs之间的线性关系,和 。因此,结合方程(5)和(6),方程(21)可以简化为
在方程(22),两个空间的关注和频道关注权重是由梯度。
CNN没有缺口层,当avgpool(2, 2) / 2或maxpool(2, 2) / 2采用池、第一频道的关注体重可以得到方程(5)和(13): 在哪里年代代表汇聚特性映射的元素数量。在这种情况下,忽略的影响系数 ,通道注意体重仍然可以被进行像素级梯度:
因此,在这种情况下,方程(22)仍然是正确的。同样的,当使用的方法avgpool(2, 2) / 1,方程(22)仍然可以由方程(5)和(16)。
总之,在统一的框架下呈现在图6,可以使用方程(贺SCA-CAM22)。它结合了空间的优势和渠道关注体重和集成的表示两个CAWs,不同的池方法下,成一个统一的形式。因此,不需要依靠softmax重量,这简化了过程,并同时利用更多的特性。
注意,在文献[6,21]和[22],频道关注或空间信道的注意机制在CNN说。注意体重调整以及网络参数来提高CNN分类的性能。相比之下,提出SCA-CAM只有实现目视判读的CNN输出。注意体重在这项研究中的应用是由梯度和可以获得离线没有网络培训。这也是一个区别SCA-CAM和其他方法。
4所示。结果和分析
pretrained图像分类模型用于torchvision包提供的实验(23,24),包括SqueezeNet [25],ResNet-18 [1],ResNet-50 [1),和densenet - 161 (19]。这些网络被训练ImageNet数据集上的最佳性能(26]。都列在表的错误率1。理论上,模型与更好的性能显示更强的能力和位置特征表示的关键特性。因为功能可视化旨在解释pretrained CNN分类结果,网络训练不是必需的。
4.1。CAWs的可视化和比较
本文对生成的热图是重要的。如上所述,CAWs可以分为两种类型:GAP-CAM,高高的表示的重量softmax层,在Grad-CAM,高高的表示每个通道的平均梯度为一个特定的类。获得,高高的,考虑到输入图像如图1,预测如表所示2,其中C表示类名和P表示相应的概率。
以下4.4.1。比较不同的CAWs相同的输出类
这两种类型的CAWs每个网络见图10。SqueezeNet作为一个例子,相对应的重量50通道被随机选择的1000个频道。因为梯度值是无穷小和有一个很大的区别分类层的重量值,平均梯度值增加了100次映射,以便比较,这不会影响比较。有两种类型的乌鸦叫图所示10:(1)Softmax重量:它代表一定的神经元(类)的重量将Softmax分类层,也就是说,第一,高高的。(2)平均梯度:它表明梯度平均映射某个类的功能,也就是说,第二,高高的。
(一)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
数据10 ()和10 (b)分别显示对应的两种类型的CAWs“虎猫”和“牛獒,”由SqueezeNet分类。其中,横轴代表每个特性地图频道(随机选择),纵轴代表两种CAWs的大小,对应通道。很明显,有一个对应的两个CAWs,此外,数值总是显示相同的波动,表明存在一个线性关系。同样,数据10 (c)- - - - - -10 (h)代表相应的其他三个CAWs网络。再一次,观察到类似的线性关系。更准确地说,计算每一对之间的相关系数曲线,将softmax体重除以平均梯度来获得特定的值的相关系数: , ,和 。因为densenet - 161增加了ReLU层最后卷积特性映射后,的梯度反向传播也穿过这一层,所以结果是不同的从其他三个网络,并不能反映一个严格一致的相关性。
4.1.2。比较相同的CAWs不同的输出类
分别考虑两个CAWs通道重量值不同的输出类图所示11。ResNet-18网络,预测的三个类,分别拳击手= 0.426;斗牛獒= 0.265;猫和老虎= 0.175。图(11日)显示了将softmax重量对应的可视化三大类别。同样,图11 (b)说明了平均梯度对应三大类别。在图11为相同类型的高高的,不同的输出类的相应的权重值相差很大在同一频道,表明通道每个输出类的贡献是显著不同的。由于重量的差异,体重和特征映射之间的加权求和可以产生不同的类激活区域的影响。同时,水平比较重量曲线对应于每个类的人物(11日)和11 (b)进一步验证的结论。
(一)
(b)
4.2。视觉效果的不同方法
这里,我们将检查生成的类激活地图的定位效果SCA-CAM,与其他方法的比较。同样的输入图像,三种方法的可视化效果,GAP-CAM, Grad-CAM, SCA-CAM,比较下四个cnn: SqueezeNet, ResNet-18 ResNet-50, densenet - 161。所有这四个cnn包含一个缺口层(或一层相同的函数作为缺口层)结构。因此,根据分析部分3.2,GAP-CAM Grad-CAM可同时用于比较。结果如图12。
从横向的角度在同样的CNN,本地化的影响提出SCA-CAM优于GAP-CAM Grad-CAM。因为CAWs SCA-CAM包含两种类型的注意重量,这种方法提供了更好的性能在不同地区的利益。
从纵向的角度看,在相同特征可视化方法,定位效果在不同网络显示的比较。在表1的错误率四个网络是按照以下顺序:SqueezeNet > ResNet-18 > ResNet-50 > densenet - 161。结果如图12表明网络的准确性越高,热图的定位效果越好。直觉上,改进的CNN使特征图谱更关注目标对象,导致网络学习更全面的功能。因此,高精度的热图上生成CNN比那些低精度。
4.3。使用SCA-CAM阶级区别的可视化
使用的CAWs SCA-CAM输出类直接相关。因此,SCA-CAM可以想象一个特定类的功能和定位感兴趣的区域相关的类。图13显示目视判读densenet - 161的输出类。图1,五大类如下:花盆= 0.270;小蓝鹭= 0.148;蜂鸟= 0.069;手杖= 0.062;和灯泡= 0.051。图2的五大类如下:长沙发= 0.860;书柜= 0.118;图书馆= 0.010;摇椅= 0.003; and table lamp = 0.002. In class activation map, the most relevant image region to the specific class is highlighted. According to the results shown in Figure13,可视化效果密切相关的输出类,和CAWs对应各种类是明显不同的。因此,生成的地图可以实现特定的输出类的解释。同时,可视化效果是独立于分数对应于这个类。这意味着图像属于这个类的概率不会影响其目视判读。
4.4。本地化能力相同的对象类
在这里,我们选择同一个类的多个图像,想象它们之间的关键特性测试的能力SCA-CAM定位相似的对象从不同的图像。测试图片来自ILSVRC 2012数据集26和小ImageNet27]。图片选自微小ImageNet数据集可用于测试该方法的可转让性。如图14结果在不同的图像属于四类,每个“客机”,“蜘蛛”和“大羚羊,蝴蝶。“结果表明,图像在同一类,SCA-CAM可以有效地定位相关的区域目标相同的类。即使对于图像与多个对象,这些对象相对应的区域可以同时位于。此外,目标在一些图片非常相似的情况下,该方法仍能找到合理的解释当前区域分类结果,表明SCA-CAM已经承诺为图像鲁棒性与复杂的环境。
(一)
(b)
(c)
(d)
5。结论
在本文中,一个统一的CNN特性可视化框架基于凸轮。在这个框架下,详细分析不同池CAWs的情况下进行,和一致的不同发现CAWs之间的线性关系。此外,空间信道引起类激活映射方法SCA-CAM提出。考虑通道和空间分布特性,该方法结合了不同CAWs注意重量,可以改善类的视觉效果激活地图。与现有方法相比,该方法可以有效地改善类的影响激活地图和适用于多个CNN网络。
CNN的可解释性意义重大,对于一些特殊领域,如智能医疗、金融贷款、和自动驾驶。只有一个解释和透明CNN-based模型可以支持他们的安全使用。在未来,我们将探索实现细粒度的可解释性与该方法的改进以减少视觉干扰的热图和进一步研究它在其他领域的应用。
数据可用性
在实验中使用的数据集是ImageNet数据集和小ImageNet数据集。他们可以在下载http://image-net.org/download.php和http://cs231n.stanford.edu/tiny - imagenet - 200. - zip。
的利益冲突
作者宣称没有利益冲突有关的出版。
确认
这项工作是由中国国家自然科学基金(没有。61673395)。