第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > 【机器学习】【可解释性】LIME

【机器学习】【可解释性】LIME

时间:2020-03-06 17:26:47

相关推荐

【机器学习】【可解释性】LIME

相关博客

【自然语言处理】【可解释性】NKB:用于预训练Transformers的神经知识银行

【自然语言处理】【可解释性】自注意力归因:解释Transformer内部的信息交互

【深度学习】【积分梯度】深度网络的公理归因(Axiomatic Attribution for Deep Networks)

【自然语言处理】【可解释性】Perturbed Masking:分析和解释BERT的无参数探针

【机器学习】【可解释性】LIME

【自然语言处理】【聚类】TELL:可解释神经聚类

【自然语言处理】【Prompt】语言模型即知识库(Language Models as Knowledge Bases)

【自然语言处理】【Prompt】P-tuning

一、简介

机器学习已经被广泛使用,但仍然是黑盒模型。但是,如果人类无法相信某个模型,那么很难在产品中部署这个模型。这里区分两个概念:

trustingaprediction\text{trusting a prediction}trustingaprediction:用户是否充分信任一个预测,并基于该预测采取行动;trustingamodel\text{trusting a model}trustingamodel:用户是否相信模型在部署后能够以合理的方式运行;

trustingaprediction\text{trusting a prediction}trustingaprediction非常重要,例如在使用机器学习进行医疗诊断或者恐怖蛀牙检测,预测不能只给出结果,还必须给出原因。trustingamodel\text{trusting a model}trustingamodel同样非常重要,值得信赖的模型才更可能被部署。

接下来的部分主要包括:

一种称为LIME\text{LIME}LIME的解释方法,其能够为任何的单个预测提供faithful的解释,从而解决trustingaprediction\text{trusting a prediction}trustingaprediction;一种称为SP-LIME\text{SP-LIME}SP-LIME的解释方法,通过挑选具有代表性的实例进行解释,从而解决trustingamodel\text{trusting a model}trustingamodel的问题;

论文作者提出了一种称为LIME\text{LIME}LIME的模型不可知解释方法,其能够以faithful的方式来解释任意的预测

二、为什么需要解释

解释模型的预测是获取人类信任和应用机器学习都十分重要。

”解释单个预测“的过程如图1所示。

显然,如果能够为医生提供人类可理解的模型解释,那么医生就能依赖先验知识决定接受或者拒绝预测。

此外,先前评估机器学习模型的方法,是通过评估模型在测试集上的指标来确定的。但是,这种方式并不能完全测试出模型在真实世界中的表现。因此,通过解释一些具有代表性样本的模型预测,能够提供一种对模型的全局理解。特别是,数据泄露(data leakage)的错误很难被已有的方法评估,但是通过对模型的预测提供解释可以很方便的发现这样的错误。

三、解释方法该具有的性质

1. 易于理解性

解释方法提供的解释必须是易于理解,而易于理解是与受众相关的。

此外,模型的易于理解性也是一个相对的概念。举例来说,通常线性模型被认为具有良好的可解释性,但是在一些情况下也会难以理解。例如,若成百上千个特征均对线性模型预测有贡献,并且这些特征对应的权重也完全已知,人类仍然很难理解这样的模型。

2. 局部保真度

解释方法必须具有局部保真度(local fidelity)。除非一个解释是对模型本身的完整描述,否则不可能是完全faithful的解释。显然,在深度学习模型中,根本不可能给出一个完全faithful的解释。但是,一个解释必须具有局部保真度,即一个解释能够展示出模型在被解释实例附近的行为。

此外,局部保真度并不意味着全局保真度,即特征是局部重要但并不全局重要。

3. 模型不可知

虽然有有些模型本身是可解释的,但是理想的解释方法应该能解释任何模型,因此需要解释方法是模型不可知。

4. 解释整个模型

除了能够解释单个预测外,能够为模型提供一个全局视角的解释也很重要。

四、LIME

LIME(LocalInterpretableModel-agnosticExplanations)\text{LIME(Local Interpretable Model-agnostic Explanations)}LIME(LocalInterpretableModel-agnosticExplanations)是一种为分类器提供局部保真的可解释方法。

1. 数据表示形式

正如前面提及的,解释是需要易于理解的。

因此,对于文本来说,其解释可以表示为一个二进制向量,其中0表示单词的缺失,1表示单词存在。直观上来看,就是从文本中抽取一些片段来解释单个预测。对于图像分类器,也可以使用一个二进制向量来表示相邻图像块的存在还是缺失。

令x∈Rdx\in\mathbb{R}^dx∈Rd为被解释实体的原始表示,使用x′∈{0,1}d′x'\in\{0,1\}^{d'}x′∈{0,1}d′表示用于解释的二进制向量。

2. LIME提出的框架

LIME其实提出了一种解释框架,该框架对保真度和可解释性进行了权衡。

2.1 原理概述

LIME希望通过一个可解释的简单模型ggg来模拟复杂模型fff的局部行为,从而为单个样本提供解释。

2.2 基本框架

可解释模型ggg

模型g∈Gg\in Gg∈G是一个本身可以解释的模型,例如决策树、线性模型等。其中GGG表示一类可解释模型。

模型复杂度Ω(g)\Omega(g)Ω(g)

虽然ggg为可解释模型,但是如果复杂度过高则仍然难以解释,因此定义Ω(g)\Omega(g)Ω(g)来衡量解释模型g∈Gg\in Gg∈G的复杂度。例如,若ggg为决策树,则Ω(g)\Omega(g)Ω(g)可以为树的深度;若ggg为线性模型,则Ω(g)\Omega(g)Ω(g)可以是非零权重的数量。

被解释模型fff

被解释的模型表示为f:Rd→Rf:\mathbb{R}^d\rightarrow\mathbb{R}f:Rd→R,例如在分类任务中,f(x)f(x)f(x)是样本xxx属性某个类别的概率。

样本领域πx\pi_xπx​

令πx(z)\pi_x(z)πx​(z)表示样本xxx和zzz的接近程度,πx\pi_xπx​表示样本xxx的领域。

模型近似度L(f,g,πx)\mathcal{L}(f,g,\pi_x)L(f,g,πx​)

令L(f,g,πx)\mathcal{L}(f,g,\pi_x)L(f,g,πx​)表示在领域πx\pi_xπx​内模型ggg近似fff的unfaithful程度。即L(f,g,πx)\mathcal{L}(f,g,\pi_x)L(f,g,πx​)越小,ggg对fff的近似越好。

最终框架

为了确保易于解释和局部保真度,必须要最小化L(f,g,πx)\mathcal{L}(f,g,\pi_x)L(f,g,πx​)的同时也保证Ω(g)\Omega(g)Ω(g)足够低,便于人类理解。因此,最终的框架为

ξ(x)=argming∈GL(f,g,πx)+Ω(g)\xi(x)=\mathop{\text{argmin}}_{g\in G}\mathcal{L}(f,g,\pi_x)+\Omega(g) ξ(x)=argming∈G​L(f,g,πx​)+Ω(g)

其中,上面的框架可以适应于任何类型的GGG、L\mathcal{L}L和Ω\OmegaΩ,ξ(x)\xi(x)ξ(x)为样本xxx的解释。

2.3 如果计算L(f,g,πx)\mathcal{L}(f,g,\pi_x)L(f,g,πx​)

由于希望使用ggg来近似fff的局部行为,那么就需要通过数据来模拟fff的局部行为,并使用ggg进行学习。具体来说,

给定一个待解释样本x∈Rnx\in\mathbb{R}^nx∈Rn,二进制向量x′∈{0,1}d′x'\in\{0,1\}^{d'}x′∈{0,1}d′则是xxx的易于解释性表示;通过对x′x'x′进制扰动生成z′∈{0,1}d′z'\in\{0,1\}^{d'}z′∈{0,1}d′,其包含了x′x'x′中的一部分非零值;基于z′z'z′和xxx,生成z′z'z′的原始表示zzz;使用原始模型进行预测f(z)f(z)f(z);衡量样本xxx和zzz的接近程度πx(z)\pi_x(z)πx​(z);生成一个领域样本(z′,f(z),πx(z))(z',f(z),\pi_x(z))(z′,f(z),πx​(z));

按照上面的方法生成一个新的数据集,其代表fff在样本xxx领域的行为。然后,使用新的数据集训练模型ggg,那么就认为ggg学习到了fff的局部行为。ggg的解释也就是fff的解释。

3. LIME框架的具体例子----稀疏线性解释器

3.1 L(f,g,πx)\mathcal{L}(f,g,\pi_x )L(f,g,πx​)的具体选择

令GGG表示一类线性模型,则g(z′)=wg⋅z′g(z')=w_g\cdot z'g(z′)=wg​⋅z′。

定义具体的L(f,g,πx)\mathcal{L}(f,g,\pi_x)L(f,g,πx​)

L(f,g,πx)=∑z,z′∈Zπx(z)(f(z)−g(z′))2\mathcal{L}(f,g,\pi_x)=\sum_{z,z'\in\mathcal{Z}}\pi_x(z)(f(z)-g(z'))^2 L(f,g,πx​)=z,z′∈Z∑​πx​(z)(f(z)−g(z′))2

其中,样本接近程度评估函数为πx(z)=exp(−D(x,z)2/σ2)\pi_x(z)=exp(-D(x,z)^2/\sigma^2)πx​(z)=exp(−D(x,z)2/σ2),DDD是距离衡量函数,σ\sigmaσ是标准化系数。值得注意的是,g(z′)g(z')g(z′)是在二进制向量上训练的,f(z)f(z)f(z)则相反。

3.2 Ω(g)\Omega(g)Ω(g)的具体选择

对于文本分类任务,可以使用词袋的方法来确定解释的易于理解性。通过对词袋中单词数设定一个界限KKK来控制解释的复杂度,例如Ω(g)=∞1[∥wg∥0>K]\Omega(g)=\infty 1[\Vert w_g\Vert_0>K]Ω(g)=∞1[∥wg​∥0​>K]。其中,KKK可以设置为用户能够理解的最大值。

对于图像分类,可以使用相同的Ω\OmegaΩ,只不过使用"super-pixels"来替代单词即可。

由于直接优化目标函数中的Ω\OmegaΩ十分困难,因此ggg可以选择具有KKK个特征的Lasso模型。

3.3 完整的算法

输入:分类器fff和采样数量NNN;

输入:实例xxx和其可解释版本x′x'x′;

输入:相似度核πx\pi_xπx​,解释的长度KKK;

​ Z←{}\mathcal{Z}\leftarrow\{\}Z←{}

fori∈1,2,...,Ni\in {1,2,...,N}i∈1,2,...,Ndo

​ zi′←sample_aroud(x′)z_i'\leftarrow sample\_aroud(x')zi′​←sample_aroud(x′)

​ Z←Z∪⟨zi′,f(zi),πx(zi)⟩\mathcal{Z}\leftarrow\mathcal{Z}\cup\langle z_i',f(z_i),\pi_x(z_i)\rangleZ←Z∪⟨zi′​,f(zi​),πx​(zi​)⟩

end for

​ 使用zi′z_i'zi′​作为特征,f(z)f(z)f(z)作为标签,训练模型K-Lasso(Z,K)\text{K-Lasso}(\mathcal{Z},K)K-Lasso(Z,K);

​ 获取权重w←K-Lasso(Z,L)w\leftarrow \text{K-Lasso}(\mathcal{Z},L)w←K-Lasso(Z,L)

returnw

上面的算法会为单个实例生成一个解释,其计算复杂度主要依赖于f(x)f(x)f(x)的时间和采样数量NNN。

4. 缺陷

二进制向量的方式可能无法提供有效的解释。例如,在一个预测图像是否为“复古”风格的模型中,无法通过像素的存在或者缺失来提供人类易于理解的解释。若GGG选择未稀疏线性模型,那么也就意味着fff的局部是线性的。如果fff的局部是高度非线性的,那么LIME也无法提供一个faithful的解释。

五、应用LIME的案例

1. 文本分类

存在一个文本分类模型,其被用于将文本分类为A和B两种标签。若模型准确了能够达到95%以上,那么通常人类会选择该模型并部署。但是,如果所有A类别的文本均包含单词"Posting",而B类别文本几乎不包含。那么模型将会依据单词"Posting"进行判断。显著,这样的模型是有问题的,需要修改训练数据。

2. 图像分类

上图(a)是输入至图像分类模型进行分类的原始图像。(b)、©、(d)分别是模型将原始图像预测为“电吉他”、“木吉他”和"拉布拉多"的原因。特别是,(b)提供了模型为什么将木吉他判断为电吉他的原因----指板。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。