2020李宏毅机器学习笔记-Explainable ML

目录

概述

Introduction

Why we need Explainable ML?

Lee’s Point of View

Interpretable v.s. Powerful

Local Explanation

Basic Idea

Limitation of Gradient based Approaches

Attack Interpretation

Global Explanation

Activation Minimization (review)

Constraint from Generator

Using a model to explain another

Local Interpretable Model-Agnostic Explanations (LIME)

Decision Tree

总结和展望


概述

本节首先提出了一个问题,机器为什么“能”知道?接着从两个角度作出了思考:比如对于一个分类问题,可以考虑:Local Explanation: Why do you think this image is a cat?,还有Global Explanation:What do you think a "cat" looks like?

此外,解释性机器学习可解释机器学习也有现实意义,比如“证据何在?”,“凭什么给你贷款?”;毕竟,模型可能正确率高,但是什么都没学到;此外,如果你知道哪里出了什么问题,我们也多了一些参考。而对于同一个模型而言,Interpretable与Powerful是存在博弈的。深度模型可能很强大,但也因此难以解释。此外,决策树可能是一个既强大由可解释的模型;但是有时,问题复杂了,也难以解释。因此,如何限制决策树深度并且起到模拟作用的难题值得讨论。

Introduction

要求机器不仅要告诉我们结果是cat,还要告诉我们为什么

 

Why we need Explainable ML?

我们不仅需要机器结果的精确度,还需要进行模型诊断,看机器学习得怎么样;有的任务精确度很高,但实际上机器什么都没学到
有模型诊断后,我们就可以根据模型诊断的结果再来调整我们的模型。

 

Lee’s Point of View

  • 这并不等于完全了解一个模型,完全了解一个模型并不是必要
  • Explainable ML的目标就是让人高兴,就是为了人存在的,让人觉得爽
  • 针对不同的人,提供给不同的解释

 

Interpretable v.s. Powerful

模型的可解释性和模型的能力之间有矛盾。
一些模型,比如线性模型,可解释性很好,但效果不佳。而深度网络,虽然能力一流,但缺乏可解释性。
我们的目标不是直接选择可解释性好的模型,而是让能力强的模型具有更好的解释性。

同时具有强大能力和可解释性的,是决策树。
但决策树结构如果很复杂,那么可解释性也会很差。(森林)

 

Local Explanation

Basic Idea

对于输入的x,我们将其分成各个components,每个component由一个像素,或者一小块组成,
我们现在的目标是知道每个component对making the decision的重要性有多少,那么我们可以通过remove或者modify其中一个component的值,看此时的decision会有什么变化。

例如:找一个图片,然后用一个灰色的方块,这个方块可以在图片中任意一个位置。当灰色图片位于某个位置导致机器判断改变,那么我们就把这个位置的方块区域看为重要的component。

上图中,蓝色区域就是重要区域,把这个区域遮住就会无法判断这是一只国美狗。

此外,还有一种方法:如下图,在某一个变量上加一个小小的扰动,看y值的变化。

如上,根据每个值对目标值得偏微分,我们可以画出一个Saliency Map,可以看出,机器真的看出了什么是动物。
 

Limitation of Gradient based Approaches

求导的局限性:比如鼻子长到一定程度,就可以确定这是一只大象,但是导数却是0,得出鼻子不重要这样的结论,明显是不对的。
还有就是说,鼻子的长度超过某个阈值之后,再变长对于判断大象这个事情没有啥帮助了。这个明显是不合理的。
 

Attack Interpretation


基于梯度与Saliency Map,可以进行些攻击行为,使用时要小心。比如在图片上进行一些小小的噪声扰动,导致解释的结果就变了呢!

 

Global Explanation

Activation Minimization (review)

之前我们的目标是找到一个image,使得输出的y达到最大值;现在我们的目标不仅是找到x使输出y达到最大值,还需要把image变得更像是一个digit,不像左边那个图,

几乎全部的像素点都是白色,右边的图只有和输出的digit相关的pixel才是白色这里我们通过加入了一个新的限制R ( x ) R(x)R(x)来实现,可以表示图像和digit的相似度。

这样的话就有更多的超参数需要调了。。。。

 

Constraint from Generator

上面提到要对图片做一个限制,比较像一个图片,这个事情可以用Generator来做,大概步骤如下:
通过一个低维向量进行输入,经过GAN或者VAE等生成模型,得到图片。然后再接入上面的模型,image x要使得输出越像y越好,

现在加入了生成模型后,就是要找z使得输出越像y越好,最好的那个z记为z*:再输入Generator,得出x*,产生一个好的Image。

用这个方法得到的一些结果:

 

Using a model to explain another

现在我们使用一个interpretable model来模仿另外一个uninterpretable model;下图中的Black Box为uninterpretable model,比如Neural Network,

蓝色方框是一个interpretable model,比如Linear model;现在我们的目标是使用相同的输入,使linear model和Neural Network有相近的输出。

实际上并不能使用linear model来模拟整个neural network,但可以用来模拟其中一个local region。

 

Local Interpretable Model-Agnostic Explanations (LIME)

下图中input为x,output为y,都是一维的,表示Black Box中x和y的关系,由于我们并不能用linear model来模拟整个neural network,但可以用来模拟其中一个local region

  • 首先给出要explain的point,代入black box里面
  • 在第三个蓝色point(我们想要模拟的区域)周围sample附近的point,nearby的区域不同,结果也会不同
  • 使用linear model来模拟neural network在这个区域的行为
  • 得知了该区域的linear model之后,我们就可以知道在该区域x和y的关系,即x越大,y越小,也就interpret了原来的neural network在这部分区域的行为

Decision Tree

如果我们用不限制深度的decision tree,那么我们就可以使用decision tree来模拟black box(neural network),使两者的输出相近,但decision tree的深度不可能是没有限制的。

 

我们设neural network的参数为 θ,decision tree的参数为Tθ,使用O(Tθ)来表示Tθ的复杂度,复杂度可以用Tθ的深度来表示,也可以用neural的个数来表示;现在我们的目标不仅是使两者输出相近,

还需要使O(Tθ)的值最小化。

使O(Tθ)的值最小化的方法如下图所示:

但是值得注意的是这个正则项没法做偏导,所以没有办法做GD。

解决办法,在某一篇paper中,其中心思想是用一个随机初始化的结构简单的NN,训练后可以模拟出决策树的参数,然后用NN替换上面的正则项,NN是可以偏导的,然后就可以GD了。

 

总结和展望

本节学习了Explainable ML,即我们不仅要会用机器学习,还要让机器学习具有可解释性。我们不仅需要机器结果的精确度,还需要进行模型诊断,看机器学习得怎么样;有的任务精确度很高,但实际上机器什么都没学到有模型诊断后,我们就可以根据模型诊断的结果再来调整我们的模型。机器为什么“能”知道?可以从两个方面考虑这个问题,即局部解释和全局解释。

局部解释中有效的方法如遮挡法,即可以通过修改或者删除这一部分来看看结果有多大的影响,如果影响很大,则这部分很重要。还可以在某一个变量上加一个小小的扰动,看y值的变化,但是基于梯度与Saliency Map,可以进行些攻击行为,我们使用的使用需要小心。

全局解释中有效方法如使用一个可解释的模型解释另一个uninterpretable model、LIME以及决策树这种可以interpretable,也是比较powerful的方法。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值