博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
针对CNN预训练模型的ICE解释框架
阅读量:2242 次
发布时间:2019-05-09

本文共 5165 字,大约阅读时间需要 17 分钟。

点击蓝字

关注我们

AI TIME欢迎每一位AI爱好者的加入!

提到计算机视觉中CNN模型的相关研究,可能大家比较熟悉CAM,LIME和Saliency map等方法。这些方法都是基于输入层图片的解释,比如LIME对图片分割(segments)赋予权重,CAM在输入图片上加入模型关注热力图,Saliency map则是像素级别的显著图等。这些输入层的解释实际上在模型预测出错时,在关注区域正确时是无法解释错误原因的。近期的研究因此开始从输入层向模型的中间层过度,研究模型中间层特征空间中的可解释的特征向量。

这篇文章中,我们提出了针对CNN预训练模型的ICE(Invertible concept-based explanation)解释框架,它通过非监督的方法,能求解出人类可以理解的非负概念激活向量NCAV(Non-negative CAV)。相比于之前的基于概念的解释框架如ACE,我们的框架在提供可理解性更佳(Interpretability)的CAV的同时,也包含CAV转化函数的反函数,让我们可以分析解释对原预测的保真性(Fidelity)。我们通过一个包含158用户的问卷调查来测试人类理解性。最终的结论是:通过NMF方法求得的NCAV在综合性上要胜过在ACE框架中使用K-means方法和简单PCA方法求得的CAV。

https://github.com/zhangrh93/InvertibleCE

张瑞晗:墨尔本大学计算机方向二年级博士研究生,主要方向为计算机视觉、可解释性。导师为Tim Miller,Ben Rubinstein,Krista Ehinger。

一、相关工作

可解释性的工作,目的是让用户产生对模型本身的信任以及帮助工程师更好理解并优化模型。如果需要广泛使用AI模型,用户的信任实际上更为重要。可解释性可以翻译为interpretability和explainability两个部分。前者目的是让模型本身更透明,而后者则范围更广一点,是认知科学,人机交互和AI三个学科的交叉。其中认知科学提供人类可解释需求的建模,人机交互负责提取出用户可解释上的需求,而AI部分负责对这种需求生成相应的解释。最终explainable的模型可以针对用户的疑问和需求生成相应的解答。

针对认知科学和人机交互,这里举一个简单的模型作为例子。大部分时候用户对解释的需求,是因为模型产生了和用户不同的判断。我们可以简单将其看成一个“why A not B”问题,用户提出的“Why A”问题(如图第一行),实际上可以根据不同的用户认知,产生不同的解释需求(如图2~4行)。而HCI的部分则负责分析出一个正确的对比对象,再由可解释模型生成一个针对性的解释。在这个模型下,我们对解释的需求就降低为描述样本的两个分类之间的区别。

目前的大多数工作主要集中在计算机科学,即interpretability的领域,因为模型本身的interpretability不够,无法提供explainability。近期的基于概念的解释方法更接近于explainability一些。

之前的主要方法是针对输入图片生成解释,有LIME,CAM和Saliency map这些提供输入层解释的工作,能针对输入图片生成响应的模型关注部分。这些方法各自使用不同的feature,有图片的分割,热力图和像素点。

另一些方法尝试探索神经网络的内部,最开始有针对网络的反卷积。之后通过修改模型或者嫁接模型的方式,使得我们可以得到一些比较高级,针对某种概念或者区域的特征。典型的方法是Bolei Zhou的network disp系列方法,通过有监督学习和标注概念的数据集,嫁接一个模型去探索特征图的向量空间,给出对应某些的概念的特征图向量。之后的方法逐渐降低标注需求,如TCAV只要求针对某个概念的二分类数据,ACE更是尝试了无监督的聚类方法K-means,无需标注地提供人类可以理解的特征向量。

二、基于概念的解释

在讨论方法之前,我们先讨论什么是基于概念的解释,它包含哪些内容,以及我们怎么使用,这有助于我们更好的理解我们提出的ICE方法。这段依次介绍特征图向量空间,CAV,一组CAV基,局部和全局解释和线性可解释模型等相关概念。

 

特征图向量空间:

神经网络中间层的特征图是对输入图片的一种高级描述。比如ResNet50结构,在最后一个layer4层的输出尺寸为2048x7x7,7x7中每个点对应原输入尺寸224x224图片的一个区域,2048作为channel轴包含所有用于分类的信息,形成2048维向量空间,其中每个维度对应一些特征信息。

CAV

我们希望在这个向量空间中找寻人类可以理解的信息和概念,去理解CNN模型做出预测的依据。之前的研究认为,特征图中的单一维度包含的信息过于稀疏,难以理解,我们需要使用多个维度的信息组合描述某种概念。对中间层概念的描述于是变成了一个中间层特征空间的向量,包含了多个维度的信息,Been Kim在之前的TCAV工作中将其命名为Concept Activation Vectors(CAV)。CAV的直观理解就是特征图向量空间中的一个方向,输入图片中某个概念的出现会使特征图产生这个方向的投影。CAV和特征空间应该具有相同的大小,在ResNet50的最后一层中,CAV应该是2048维。

下图为某个CAV的可视化。右边5张图是这个CAV的prototype,即数据集中对这个概念高度响应的图片以及对应区域,方便我们理解这个概念。左边为待解释图片中响应了这个CAV的图片区域。

一组CAV向量基

CAV对应单独某一个概念,我们更希望的是系统的解释,即一组CAV向量基,它可以对高维的特征图空间进行降维,同时分解特征图中的信息,这能帮助我们分析CNN模型建模的信息和分类依据。

 

全局和局部解释

这一组CAV向量基可以对特征图进行分解,是训练集的全局解释(Global Explanation)。如下图是对Pytorch的ResNet50预训练模型的最后一层卷积层的特征图进行分析,生成的一组CAV基的部分(3 out of 10)。左侧的特征7说明,雪地背景在模型中对类别Eskimo dog有正向作用。中间的特征说明,模型对Gondola的分类更多地使用环境以及建筑风格。

局部解释(local explanation)是针对某一个具体特例的解释。高维空间的降维在作用于某一个小概念范围(某一个或几个类的样本)的时候最为有效,这时模型的特征分布集中,简单的10~20维空间即可描述原数据集。对应上文,人们在寻求解释的时候,也只是询问为什么不是B而是A,少数几类样本作为作用域就足够生成相应的解释。上图中的解释就是ResNet50对某一个类别的分类依据。下图则是利用它解释模型对单一样本预测的例子。左边是一张同时出现猫和狗的图片,ResNet50模型分类其为狗。我们通过一组同时包含猫和狗概念的CAV基对特征图进行降维,即可分解出模型做出预测的依据信息,对模型做出的预测进行解释。

 

线性可解释模型

目前的可解释方法注重于寻找特征以及对应的权重,这其实是使用一个简单线性模型去逼近原复杂CNN模型,以达到解释原模型的目的。如在LIME中,特征是输入图片的分割;在Saliency map中,特征是图片像素。

为达到最好的解释效果,这个线性模型应该满足以下几个要求:

X’应该是人类可以理解的特征(Interpretability),w’应该是准确的,y’应该接近原模型的输出(Fidelity),最后,特征数量必须有限。人类无法同时处理太多信息,过多的特征无法达到让人理解的目的。

 

三、方法描述

我们的主要目的选择合适的特征图向量空间,然后学习一组基于给定数据集的CAV基。对CAV基的求解利用了一个pretask,我们将特征图中每个点的向量看作一个整体,尝试通过降维学习出可以完整描述数据集中大多数特征图向量的CAV基。这也可以理解为针对特征图的矩阵分解。即在包含某些概念的数据集中,压缩无关噪音数据,寻找大量出现的特征,同时加入了对人类理解性的需求。

图中是我们使用的方法框架。整体可以分为三个部分:1、分割CNN模型,2、对特征图进行降维,3、对学习出的CAV基进行可视化。

 

首先是CNN模型的分割,我们希望将一个CNN模型从某一层分解为高维特征提取器和相应的分类模型。靠后的层更佳适合我们的框架,高级的特征一般对应复杂的高级概念,方便人去理解。另一个好处是分类模型会变得简单,让我们理解模型个更加方便。在极端情况下,比如选择ResNet50模型的最后一层时,分类器就是一个简单的线性模型。

第二步,我们需要学习一组CAV向量基,如狗的数据集,其相关概念会大量出现在特征图中。我们对其进行降维,学习一组CAV的基。降维方法是重中之重,之前的ACE框架使用K-means这种聚类方法学习出CAV的概念。聚类方法也可以看做是一种矩阵分解的方法,它使用onehot向量作为分解之后的特征描述。在这一步中,我们使用TCAV中的方法,通过导数的定义求得特征权重。

第三步是对学习到的CAV进行可视化,让我们理解这些帮助模型做出判断的概念是什么。

最后,这些信息汇总起来,CAV基和权重形成了原模型的线性逼近模型,CAV的可视化保证了特征本身可理解。

 

四、实验部分

我们主要研究上文提到的Interpretability和Fidelity。我们的实验对象为Torchvision提供的ImageNet预训练模型ResNet50和Inception-V3和训练于CUB数据集上,top1-err为15.81%的ResNet50模型。针对矩阵分解方法,我们选择了PCA,NMF和K-means作为测试对象。特征图我们全都选择最后一个卷积层的输出。

 

Fidelity部分

Fidelity(保真性)衡量可解释的线性模型在多大程度上逼近了原模型。对于分类问题,我们使用线性逼近模型的预测正确率(对原模型而不是ground truth);对于回归问题,我们使用两者的相对误差作为评价指标。

从结论中可见,PCA生成的CAV基能最好的描述原模型特征空间,NMF次之。聚类方法K-means无法提供较好的保真度。

Interpretability

Interpretability(特征可解释性)衡量生成的CAV基是否能被人理解。我们使用问卷调查和prediction task来衡量。具体地说,就是判断人是否能基于模型的解释预测模型的预测,即对于给定的图片的高亮区域,能否正确选出对应的CAV。下图所示就是一个问卷的例子,在给定左侧图片和高亮区域后,在右侧选出其对应的CAV的prototype。除此之外,我们还希望能获得人们对于每个特征的文字描述,用于计算词向量的距离。

从结果看,NMF学习到的NCAV基是最能被人们所理解的,其次是K-means产生的CAV基。PCA产生的CAV基不太能被人所理解。

最后,我们也给出了一个简单的解释,说明为什么NMF求得的NCAV基有最好的可解释表现。如图,图片的向量描述分布在特征空间中。由于Relu层的存在,这些点分布在第一象限。PCA会生成新的坐标原点,使得CAV方向朝向错误的位置。Cluster的聚类中心作为CAV则会产生重复,要得到较好的结果需要更多的维度。NMF则相对能产生正确的CAV结果。

总结

这篇论文主要提出了一个新的基于概念的CNN网络解释框架。和之前的框架相比,这个框架给出的解释可逆,可以分析解释的保真度,同时我们通过实验得出新的解释更能够被人们所理解。近期的基于概念的解释已经可以初步回应人类对CNN模型的可解释需求,能被应用到实际需求中了。

整理&审稿:张瑞晗

排版:岳白雪

AI TIME欢迎AI领域学者投稿,期待大家剖析学科历史发展和前沿技术。针对热门话题,我们将邀请专家一起论道。同时,我们也长期招募优质的撰稿人,顶级的平台需要顶级的你!

请将简历等信息发至yun.he@aminer.cn!

微信联系:AITIME_HY

AI TIME是清华大学计算机系一群关注人工智能发展,并有思想情怀的青年学者们创办的圈子,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法、场景、应用的本质问题进行探索,加强思想碰撞,打造一个知识分享的聚集地。

更多资讯请扫码关注

 

(直播回放:https://www.bilibili.com/video/BV1Xv411b7kY?share_source=copy_web)

(点击“阅读原文”下载本次报告ppt)

转载地址:http://izwdb.baihongyu.com/

你可能感兴趣的文章
两年Java程序员面试经
查看>>
面试心得与总结---BAT、网易、蘑菇街
查看>>
如何面试有2年java工作经验的应聘人员
查看>>
Java实现简单的递归操作
查看>>
面试Java程序员需具备的11个技能
查看>>
HashMap 和 HashTable 到底哪不同 ?
查看>>
Java实现简单的递归操作
查看>>
Struts2工作原理和执行流程图
查看>>
在线预览Word,Excel~
查看>>
hibernate延迟加载(get和load的区别)
查看>>
关于文件拷贝效率问题
查看>>
MyBatis分页插件PageHelper的使用
查看>>
【MyBatis学习01】宏观上把握MyBatis框架
查看>>
【MyBatis学习02】走进MyBatis的世界
查看>>
【MyBatis学习03】原始dao开发方法及其弊端
查看>>
【MyBatis学习04】mapper代理方法开发dao
查看>>
【MyBatis学习05】SqlMapConfig.xml文件中的配置总结
查看>>
【MyBatis学习06】输入映射和输出映射
查看>>
【MyBatis学习07】动态sql
查看>>
【MyBatis学习08】高级映射之一对一查询
查看>>