笔记:Interpretable Convolutional Neural Networks

news/2024/10/21 19:31:44/

作者: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实现更高的模型灵活性。


http://www.ppmy.cn/news/763217.html

相关文章

论文推荐:基于GE-MRI的多任务学习

医学图像分析,多任务学习,图像分类,图像分割,U-Net,后处理 该论文是18年发布的,提出了一种基于Deep U-Net的多任务学习框架,用于GE-MRI左心房分割,该框架同时执行心房分割和消融前后…

[codeforces 1351A] A+B (Trial Problem) 加法运算

Testing Round #16 (Unrated) 测试人数4695 [codeforces 1351A] AB (Trial Problem) 加法运算 总目录详见https://blog.csdn.net/mrcrack/article/details/103564004 在线测评地址https://codeforces.com/contest/1351/problem/A ProblemLangVerdictTimeMemoryA - AB…

【ECG信号的储存及读取方式详解】数据集MIT-BIH,212格式存储

MIT-BIH公开数据集下载地址如下: MIT-BIH Arrhythmia Database v1.0.0 (physionet.org)https://www.physionet.org/content/mitdb/1.0.0/可以知道,心电数据的储存通常通过三个类型的文件,详解参考: (138条消息) MIT-BIH数据的读取&#xff…

myeclipse提示myeclipse trial expired

MyEclipse提示过期(MyEclipse Trial Expired) 利用注册类可以生成Myeclipse注册码. import java.io.*; public class MyEclipseGen { private static final String LL "Decompiling this copyrighted software is a violation of both your …

ECG分析:基于深度学习的ECG心律失常分类入门(4)

ECG分析:基于深度学习的ECG心律失常分类入门(4) 在搭建模型之前,讲一下本次任务需要区分的类别,MITAB根据心拍类型划分了14个小类: 也可以用wfdb查看: wfdb.show_ann_labels()label_store symbol …

半监督方法:不确定性感知自增强模型

半监督方法:不确定性感知自增强模型 文献:Uncertainty-aware Self-ensembling Model for Semi-supervised 3D Left Atrium Segmentation(半监督方法:不确定性感知自增强模型) 原文:https://arxiv.org/abs…

[渝粤教育] 中国地质大学 会计专业英语 复习题 (2)

《会计专业英语》模拟题 一.单选题 1.The Realization Principle indicates that revenue usually should be recognized and recorded in the accounting record(). A.when goods are sole or services are rendered to customers B.when cash is collected from customers …

MIT-BIH心律失常数据库目录(译)

目录 MIT-BIH心律失常数据库目录(译)1. 前言2. 介绍Symbols符号表 3. 记录记录100 (MLII,V5;男性,69岁)Record 101 (MLII, V1; female, age 75) 4. 表格 MIT-BIH心律失常数据库目录(译&#xff…