‘Anchors‘ High-Precision Model-Agnostic Explanations-将解释简化为IF THEN形式的一种方法

作者: 18届cyl

日期:2021-08-14

论文:《‘Anchors’ High-Precision Model-Agnostic Explanations》

期刊:AAAI

一、简单介绍

之前讲到过,LIME的主要思路是在一个复杂的模型的局部提出一个简单地可解释地模型(Explainer),以提升整个复杂模型的可解释性。
原作者为了改进LIME中的一些缺点,于2018年又设计了Anchors也就是这篇文章。
Anchors是LIME的改进版,也是一种local的方法,会将特征和输出简化成IF-Then形式。简单来说,就是能找到特征里面的一个小子集,只要出现这个特征子集,那么这个预测结果总是相同。

二、问题陈述

1.可解释的机器学习开始盛行,也涌现出了很多全局可解释的模型(global)和 局部解释的方法(local)。
2.大多数局部local的方法是通过线性模型去模拟得出特征的相对重要性,比如LIME。
3.但是线性模型的适用范围是不确定的。
在这里插入图片描述

上图表示的是文本分类中,LIME对两个实例预测结果的解释。蓝色表示positive,红色表示negative。
观察发现,第一句中“not"对于原始模型给出“positive"的判断也就是蓝色的判断起正向作用,而第二句not则是负向作用。LIME对这两句的分析都是准确的,但是用户无法根据这些分析来预测模型之后的行为,因为用户无法知道not具体在何时是使模型得到positive的结果。比如如果一个人接受左边的解释,并试图将其应用于右边的句子,他会觉得‘not’对右边这句话起positive作用。(即最左边的LIME解释不适用于右边的实例。)

4.因此我们提出了anchors方法。anchors给出的解释是一种规则rule,它足以描述模型局部预测行为。
在这里插入图片描述

上图给的是Anchor的解释。表示IF如果一个句子同时包含{not, bad}两个单词,THEN则很大可能被预测为positive。

三、How to do?

1、Anchors的定义
基本设定
大多数模型无关的方法(如LIME)都是根据某种分布来围绕x采样的,我们将这个分布统称为D;
我们将规则称作A,D(· | A)表示根据D分布采样到的满足A条件的实例;
如果某个实例满足A的所有条件,则有A(z)=1,我们知道A(x)= 1;
在这里插入图片描述

比如上图的左图表示的就是D的取样和D( · | A )的取样。他们都是根据实例x来取样得到的样本,不同的是D( · | A
)除了满足D分布还满足A条件。当A = {“not”, “bad”},D( · | A )表示包含not和bad两个单词的样本。
右图为两处复杂模型的局部解释,分别是对+和-的解释。实心的圆圈表示了取样空间D。虚直线是LIME给出的解释,虚方框是anchor给出的解释。
观察得出,LIME仅学习在取样空间为D时最接近模型的线性边界;在相同的D的情况下,anchor方法可以构造出描述模型行为的解释,明确地指出它们对哪些实例有效。

A的正式定义如下:

在这里插入图片描述
可以简单理解为:满足A条件的实例z,即D( z | A),有很大的概率和实例x具有相同的预测结果。
给定要解释的实例x,黑盒子模型f,需要找到一个A规则,使得满足A条件的实例z至少有τ%的预测结果和x是相同的。

anchors可应用于文本分类(可略):
在这里插入图片描述

对文本类型实例的取样就是将某些单词隐藏,并用其他的单词替换(使生成的句子句意连贯且长度相同)。

anchors可应用于结构化预测(可略):
在这里插入图片描述

上表解释了在不同的上下文中对“play”一词词性的预测。利用anchor我们将相邻单词的标记作为可解释的特征的一部分。anchor证明了该模型正在学习合理的英语语言模式。比如Play前面如果出现了一个限定词,则它很可能被用作名词。

anchors可应用于表格式分类(可略):
在这里插入图片描述
anchors可应用于图像分类:
在这里插入图片描述

当解释图片的预测时,我们延续LIME的做法,将图片划分为superpixels,
并通过某些superpixels的存在与否来表示解释特征。与LIME不同的是,我们不是删除某些superpixels,
而是对图片中Anchors部分固定,然后将其他图片叠加在图片的其他超像素(superpixels)部分。这就是图片类型实例的D( z |
A)定义。c部分表示这些D( z | A)至少有90%都被预测为了beagle。
c部分可以看出,有时候人认为对预测结果重要的其实对模型来说并不重要。比如模型预测beagle其实看的不是狗腿、水里、空中、人的身体。

2、Anchors具体计算
根据之前的A的定义公式可以得到
A的精确度定义:
在这里插入图片描述

D空间中满足条件A的样本z与样本x预测结果一致的概率。

A的精确度要满足的约束:
在这里插入图片描述
对于任意D和黑盒模型f,直接计算这个精度是很困难的。于是我们引入了一个概率定义:
在这里插入图片描述

该式表示anchor A以较高的可能性满足精度>=τ这一约束。
如果有多个A满足这一标准,那我们就选覆盖范围coverage最大的作为最终anchor A

覆盖率coverage定义为条件A被应用于D中样本的概率:
在这里插入图片描述
最终,可以将对anchor的搜索定义为以下组合优化问题:
在这里插入图片描述

即在所有符合条件的规则(满足概率定义的所有满足精度阈值的规则)中找出具有最高覆盖率的规则。

流程如下:
在这里插入图片描述

anchor算法的组成部分及其相互关系。 首先确定要解释的实例x;
在第一轮中,针对x的每个输入特征创建候选规则A。再使用MAB算法挑选出最优的B个规则,对它们进行验证后,yes就计算coverage,输出A,no就用beam
search拿出这一轮的B个最佳候选规则进行下一轮迭代。

对上述模块的具体解释:
1.生成一组候选规则A。
第一次迭代中,针对x的每个特征创建一个候选规则;在其他迭代中,针对上一轮的最佳候选规则扩展一个尚未包含在其中的特征变成新的规则。
2.通过比较精度prec(A)选出最好的规则。
精度prec(A)的估算用到了强化学习!!
prec(A)代表的含义是D空间中满足条件A的样本z与样本x预测结果一致的概率。如果通过全部代回原模型来计算会很不现实。因此我们用MAB来有效地对prec(A)进行估计。Multi-Armed-Bandit,多臂抽奖问题:如何在玩多个老虎机的时候取得最大的收益?通过拉动不同老虎机的把手可以得到不同的收益,这里的老虎机把手看作A,老虎机的收益就是prec(A)。
3.验证精度prec(A)是否超过τ
在没有统计置信度但该候选值超过τ阈值的情况下进行更多采样。
4.beam search
beam search是一种图形搜索算法!!!。
它将每一轮的B个最佳候选规则A转移到下一轮(其中B称为beam宽度)。
具体伪代码如下:
在这里插入图片描述
在这里插入图片描述

四、结论

总结:
1.我们提出了一个新的基于规则的rule-based、模型无关的解释方法anchor。
2.anchor突出了输入中足以使分类器进行预测的部分,使其直观易懂。
3.我们通过anchor解释了多个领域的各种分类器的预测结果,证明了anchor方法的灵活性。
优点:
1.与LIME相比,算法的输出更易于理解,因为规则易于理解(即使对于外行而言)。
2.当模型预测在实例邻域中为非线性或复杂时,锚定方法有效。
3.由于该方法部署了强化学习技术而不是拟合替代模型,因此不太可能会出现欠拟合的情况。
4.该算法与模型无关,因此适用于任何模型。
5.它是高效的,因为它可以通过使用支持批量采样的MAB(例如BatchSAR)进行并行化。
缺点:
1.该算法需要对参数进行设置(例如beam宽度或精度阈值)以产生有意义的结果。
2.满足特定条件A的实例可能是低覆盖率的。
在这里插入图片描述
3.尽管本算法部署了MAB以最大程度地减少调用次数,但其运行时间仍在很大程度上取决于模型的性能。
4.在某些领域中,覆盖的概念是不确定的。例如,对于一个图像中的超像素与其他图像中的超像素相比,没有明显或通用的定义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

中南大学苹果实验室

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

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

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

打赏作者

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

抵扣说明:

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

余额充值