Interpretability Beyond Feature Attribution: Quantitative Testing with Concept Activation Vectors

作者:18届 cyl

时间:2021-08-14在这里插入图片描述

code: github.com/tensorflflow/tcav

一、简单介绍

这是一篇使用人为提出的概念向量(Concept Activation Vectors,CAV)对模型进行解释的方法,并且提供了对CAV度量的标准(TCAV)。

二、问题陈述

1.鉴于机器学习模型应用的广泛性和重要性,我们必须去理解机器学习模型的行为(即该模型是基于什么来做出判断的)。可解释性需求随之产生。
在这里插入图片描述

比如我们有一个已经训练好了的神经网络,输入一张鸟的图像,它可以告诉我们这张图片里是junco
bird(灯芯草雀)。与之对应的可解释性问题就是:为什么它被分类为junco bird?

  1. 一种自然而然想到的解释方法是,根据机器学习模型的输入特征的重要性来解释(在线性回归模型中,这个重要性表示为系数权重;在对图像进行分类的卷积网络模型中,一种方法叫saliency map,它可以给输入图像的每一个像素一个基于梯度的权重,将权重可视化出来可以得到显著性图,下图显著的点意味着这些点的扰动对于预测结果有着较大的影响)
    在这里插入图片描述

上图下半部分就是这个鸟图像在分类模型中关于鸟类的saliency map

3.如果我们同意刚刚的说法,那么我们期望对变动后的神经网络,解释器能把这一变动反映出来。但是经过实验,发现了一些saliency map令人困惑的地方。下面这张图讲的是就算将神经网络的参数随机处理,目前市面上的大部分神经网络解释器仍然给出看上去相似的关注图。也就是说虽然看上去解释器找到了输入图片中的重要区域,但这并不解释神经网络学到了什么,就算是随机网络,解释器也能找到这些区域。(有讨论认为这是由于神经网络的结构很好,使得无论怎样都能学到东西;也有人认为图片经过随机的卷积输出类似边缘检测结果的概率很高)
在这里插入图片描述

左上角是一张鸟图,鸟图下方列着八种不同解释器的名字。每个解释器给出一行 Saliency Map,
每一行的第一列是使用未修改的解释器给出的关注图,第二列是只随机化输出层的权重参数,得到的关注图。除了
GradCAM,列表中的其他解释器给出的关注图几乎不受随机化的影响。接下来第三列,第四列 …
一直到最右边一列,是逐层随机化权重,八种解释器得到的关注图。

4.这说明了人类和解释器在认知方面的偏差(Confirmation Bias),就是说不能是这个图迎合了你的认知(比如说显示了鸟的轮廓make sense)就说明这个是分类器把它分为某类的依据。
在这里插入图片描述

举一个例子。上图是用smoothGrad改来解释图片识别模型的“ATM取款机”的saliency
map。我们知道显著的点意味着这些点的扰动对于识别决策有着较大的影响。比较有趣的一点是,我们可以发现图中很多和ATM机无关的图像的点也十分的显著。比如说人,以及旁边的小推车(红色箭头)。那么问题就来了:小推车的像素点怎么也被分类器纳入了作为识别ATM机的证据了呢?这个模型对于ATM的“概念”到底了解多少?

5.问题是我们的解释器无法表达“人”、“小推车”的高级概念,它只能表现出每个像素点像素值的一种低级概念。因此我们提出了一个问题,如何知道模型对于各个高级概念的理解程度?

人类之所以不能理解算法的运作规则,是因为二者“认知方式”存在差异:
人类往往使用各种高级概念进行思考和交流,而大多数机器学习模型则关注低阶要素,运用大量抽象概念进行“思考”。比如,人类之所以能判定一张图中的动物是斑马,主要依据它的身形、黑白条纹等高级概念;但算法却不一样,它考量的是不同特征属性(Feature
Attribution)的权重。
对算法来说,一幅图像中的每个像素都是输入要素,它会关注图片中的每一个像素的显著程度,并赋予它相关的数值,以此作为识别的依据。

三、how to do

一、为了解决这个问题,首先面临的就是,我们如何定义概念。
在这里插入图片描述
在这里插入图片描述

上图是定义概念的过程。我们想知道条纹对于斑马分类器的影响有多大。在这个例子中概念是条纹。于是我们首先找了很多条纹图片和各种随机图片作为训练数据集a和一个训练好了的网络b,然后简单训练一个线性模型d来区分概念图象和随机图像。然后我们找到一个和分类平面垂直或正交的这样一个向量(图d的红色箭头)。有了它,我们就可以表示一张图片的“条纹度”。越靠近边界线的图片越不“条纹”,反之顺着箭头方向越深就越“条纹”。

二、那根据CAV我们可以怎样得到人类能理解的解释?
在这里插入图片描述

和saliency map一样,也是求一个偏导数。粗略的讲,就是如果我把图片按照概念向量的方向多移动些或者少移动一些,我的分类器决策会怎么变化?如果变化大,说明该概念对于分类器有影响(梯度S>0);如果变化小,则说明该概念对分类器没有太大的影响。
左图是针对一张图片的求解。
文中还给出了TCAV的公式针对该模型的概念的影响度的一个统计:公式意思就是说在我所有的斑马图片中,有多少图片是因为条纹概念增加了它们被分类为斑马的概率。

TCAV目标是将支撑模型的变量以人类能够理解的高级概念表现出来。它能直观显示在算法运作中各种高级概念的权重,比如颜色、性别、种族、年龄等(即便该概念不是训练的部分)
在这里插入图片描述

比如,一个训练有素的模型能够检测图像中动物是否是斑马,而TCAV可以帮助我们理解哪些变量在识别图像时发挥了作用,以及各自发挥了多大的重要性,因它对我们理解模型预测原理帮助很大。由结果可见,在各项概念中,“条纹”(Stripes)占据的权重最高,“马的形体”(Horse)次之,“草原背景”(Savanna)的权重最低,但也有29%。

三、我们怎么知道我们做的这个CAV到底可不可信呢?
验证validation:
为了防止对特定CAV测试类的虚假结果,我们提出了以下简单的统计显着性检验。
在这里插入图片描述

我们知道CAV的训练集由两部分组成:概念图像集和随机图像集。我们可以通过改变随机图片集重新训练来得到很多个CAV,由此可以得到同等数量的TCAV。这些TCAV可以组成一个分布形式。
如果我们把概念图像集也置为随机图像集,则可以得到另一个分布baseline。
当且仅当这两个分布在统计学上有显著差异,则我们的解释就是有用的。否则将认为这个感兴趣的概念很可能和模型的判别无关。

四、结论

我们引入了概念激活向量(CAV),它提供了一个解释神经网络的内部状态的人类友好的概念。这些概念不需要在模型训练时就知道,可以在事后分析过程中通过一组示例轻松指定。
我们提出了TCAV技术来对CAV进行统计分析,该技术使用梯度来量化用户定义的概念对分类结果的重要程度。
优点:
可以解决算法歧视问题,让模型更透明。许多人认为算法是单纯的技术,并没有什么价值观可言,但实际上算法也像它的人类缔造者一样,存在着各种偏见和歧视。

算法歧视:
比如,训练分类算法进行图像识别,让它能从一堆职业照片中选出“医生”职业。我们首先要为算法提供大量的医生图像进行学习,算法会总结出这些图像的基本特性,比如白色大褂、口罩、听诊器等等,并将其作为标准在识别工作中予以执行,它会把具备同类特征的图像均识别为“医生”。
但问题是由于种种现实和历史原因,在当下医生人群中,男性的比例确实更高。而算法通过上述的学习,并不会理解这是我们当下及未来要努力做出改变的地方,而很可能认定“男性”是“医生”这一职业判定的相关因素,从而在识别中把女性医生筛选出去。

局限性:
1.在这项工作中,概念必须使用示例来“解释”(例如,“爱”概念可能很难表示)。
2.在这项工作中,用户首先要知道他们想测试哪些概念,并给出示例。 后续工作可以专注于自动识别图像中的概念。

  • 9
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

中南大学苹果实验室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值