笔记:Interpretable Convolutional Neural Networks

作者:Quanshi Zhang, Ying Nian Wu, and Song-Chun Zhu University of California, Los Angeles
原文:arxiv.org/abs/1710.00935

摘要
本文提出了一种将传统的卷积神经网络(CNNs)修改为可解释的CNNs的方法,以阐述在高卷积层CNNs中的知识表示。在可解释的CNN中,高卷积层中的每个filter代表一个特定的对象部分(鸟头,鸟翅膀这种)。本方法不需要额外标注和监督。在学习过程中,可解释的CNN自动给高卷积层每个过滤器分配一个对象部分。实验表明,可解释CNN中的filter比传统CNN中的filter在语义上更有意义。

引文

在这里插入图片描述
在传统的CNN中,一个高层过滤器可能会描述一个混合的模式,即过滤器可能被猫的头部和腿部同时激活。这种高卷积层的复杂表示大大降低了网络的可解释性。相比之下,我们可解释的CNN中的过滤器是由某个部分激活的。通过这种方式,我们可以明确的识别出CNN中哪些对象部分被记忆下来进行分类,而不会产生歧义。

四个目标:
1.对CNN稍作修改,提高其可解释性,广泛应用于不同结构的CNN。
2.无需额外标注,自动给filter分配模式
3.不改变顶层的loss function,使用与原始CNN相同的训练样本
4.作为一项探索性的研究,可解释性设计可能会使识别能力有所下降,我们希望将这种下降限制在一个小范围内。

方法:对高卷积层的每个filter计算loss,种loss降低了类间激活的熵和神经激活的空间分布的熵,就是说,每个filter必须编码一个单独的对象部分(鸟头鸟尾巴),并且过滤器必须由对象的单个部分来激活,而不是重复地出现在不同的对象区域。假设不同区域的重复形状更倾向于描述低级纹理(例如颜色和边缘),而不是高级部分。

相关工作

网络可视化:CNN中过滤器的可视化是探索隐藏在神经单元中的模式的最直接方法。比如量化神经元得分。
模式检索:一些研究超越了被动的可视化,主动地从CNN中检索特定的单元,用于不同的应用。检索filter中的模式。
模型诊断:人们开发了许多方法来诊断黑箱模型的表示。LIME,Grad-Cam。
学习更好的表现形式:与预先训练的CNN的诊断和/或可视化不同,开发了一些方法来学习更有意义的表现形式。比如在训练过程中增加一些规则和标注等。
算法
在这里插入图片描述
见上图,对于一个nn的filter,设计n^2个模板(一个像素一个模板),每个模板也是nn的。这些模板用来描述目标部分(鸟头鸟尾巴)触发filter中的第i个单元时的理想激活分布。

在前向传播的过程中,对于每一张输入图片,从n^2个模板中选择一个,来过滤掉filter x中激活的噪声单元。
在这里插入图片描述
上图展示了原图、掩模,淹没处理图片后的激活区域。

反向传播的过程中,通过loss使得filter向一种固定的目标模式收敛。换而言之,如果图片I属于C类,那么filter就可以指定给某个mask,如果不属于C类,则希望filter匹配给一个负的mask,所以总共有n^2+1个模板。
在这里插入图片描述
我们把filter的loss表示为filter(X)和mask(T)之间的交互信息。论文给出了详细的先验概率计算公式。
filter x和模板T之间的契合度用条件似然p(x|T)测量:

在这里插入图片描述
学习
我们通过端到端的方式训练可解释CNN。在前向传播过程中,CNN中的每个过滤器都是自下而上传递信息的,就像传统的CNN一样。在反向传播过程中,每个可解释卷积层的filter接收最终的任务损失梯度和本身的filter loss:

在这里插入图片描述
我们计算filter x上每个部件的 Lossf 梯度:
在这里插入图片描述
这个公式使用了近似方法以减少计算量,这个公式保证当Image属于filter的目标类时,T会指定为某个模板,否则会分配给负模板。

确定每个filter的目标类别:哪个类别的图激活filter最多,就给filter指定为哪个类别。

理解Loss
这一节从filter的分类,和filter对模式定位两个方面分析上述公式时如何保证低熵的。

实验
在这里插入图片描述
在这里插入图片描述
以上都是filter的部分可解释性比较,数值代表filter包含的语义信息量(同行对比)。
后面比较了filter定位的不稳定性,和把filter的模式叠加到原图上的效果(应用效果)。
在这里插入图片描述
总结

在这篇论文中,我们提出了一种通用的方法来修改传统的CNN以提高其可解释性。除了分类能力之外,网络的可解释性也是一个重要的属性。我们设计了一个Loss,以推动filter在高卷积层表示对象的部分,无任何注释。实验表明,我们的可解释CNNs在高卷积层中编码的语义信息比传统CNN编码的语义信息更有意义。在未来的工作中,我们将设计新的filter来描述一个类别的有区别的纹理,并为多个类别共享的对象部件设计新的filter实现更高的模型灵活性。

训练可解释的卷积神经网络是通过区分不同的类别来实现的。 卷积神经网络(CNN)是一种用于图像识别和分类任务的深度学习模型。然而,CNN的内部工作方式往往被认为是黑盒子,难以解释其决策过程和分类结果。为了提高CNN的解释性,可以通过不同iating算法来训练可解释的CNN。 不同iating是一种梯度优化方法,它通过梯度反向传播来优化网络的参数。在CNN中,不同iating的关键思想是通过最小化特定类别的损失函数来训练网络,从而鼓励网络关注于这个类别的特征。 通过不同iating类别,我们可以训练网络更加关注于区分不同类别的特征。这样训练出的网络能够通过可解释的方式较好地解释其决策过程。例如,在图像分类任务中,我们可以选择一些代表性的类别,如猫和狗,然后通过最小化猫和狗类别的损失函数来训练网络。这将使网络更加关注于猫和狗之间的区别,从而使其更容易解释其分类结果。 此外,还可以使用可视化方法来进一步解释训练出的CNN。通过可视化网络的卷积层和特征图,我们可以看到网络在不同类别上的激活模式,从而理解网络是如何学习到这些特征的。 总而言之,通过不同iating类别并结合可视化方法,我们可以训练出更加可解释的卷积神经网络,更好地理解其决策过程和分类结果。这将对深度学习模型的解释性研究和应用有着重要的意义。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值