机器学习笔记:可解释的机器学习

来自李宏毅2019-Explainable ML_哔哩哔哩_bilibili

0 前言

深度学习可以做的是,例如,如果我们给模型一张猫的照片,模型可以预测:“这是一只猫”

我们现在想知道的是:为什么模型会认为这是一只猫?

机器学习笔记:可解释的机器学习

1 local explanation & global explanation

机器学习笔记:可解释的机器学习

1.1 local explanation

(why do you think this is a cat?)

机器学习笔记:可解释的机器学习

比如我们想要知道图片每一个部分对于最终分类决策的重要性,我们可以丢弃掉某一个部分/修改这一个部分的值,观察分类结果的变化程度

如果有很多变化,则意味着删除的部分对决策很重要

机器学习笔记:可解释的机器学习

在实际的例子中,通过用一个灰色的方块遮掉一部分的图像,判断遮掉之后的图像预测ground-truth label的概率(红色表示概率大,蓝色表示概率小)

可以看到不同的区域对于预测 label的影响是不一样的,以左边的小狗为例,把头遮掉了,预测的概率就比遮掉别的区域小多了。

Visualizing and understanding convolutional networks. ECCV 2014

另一种方法是我修改图像某部分的内容,看看修改后预测概率的变化。变化越大越重要机器学习笔记:可解释的机器学习

以上图为例,我们调整某一个部分的x,看相应的label概率y的变化量

这两个变化量的比值就是yk对于特定点的偏导,用saliency map来可视化,越”亮“的点表示影响越大

1.2 global explanation

(what do you think a ”cat“ looks like)

以mnist 为例,我们希望得到不同label对应的图像的模样

机器学习笔记:可解释的机器学习

理论上我们可以通过argmax(yi)的方式找到标签yi对应的那些image,但是在实操中,结果可能是像上图那样的”雪花图“

所以我们需要添加一些正则项来约束图像的“人脸”

一种方法就是添加图下的正则项,使得image长得”像“一个数字

机器学习笔记:可解释的机器学习

针对不同的dataset,不同的application,我们需要不同的正则项

1.2.1 从generator的角度想global explanation

在上一小节中,不难发现,我们需要人为地设定正则项。但在很多问题中,这个是不太好设计的。于是就有人想到要用生成器来生成image

机器学习笔记:可解释的机器学习

我们有一个image generator,他的作用是输入一个低维的向量,通过generator(GAN或者VAE这种)生成一张图片

用generator的角度来看global explanation,我们可以将image generator输出的graph再送入一个image classifier(和上一小节的classifier结构就一样了)

此时我们依旧是希望找到argmax yi,不过由于我们事先接了一个image generator,所以此时所有的image x都是合理的graph,不会出现上一小节那样的非数字graph的不合理的”雪花图“,故而不用正则项来约束生成的graph长啥样。

2 使用另外的模型来解释某一黑盒模型

核心思想是我们想用一个可解释的模型(比如下图中的线性模型)来模拟一个不可解释的模型机器学习笔记:可解释的机器学习

从某种意义上说,和知识蒸馏的思路是一样的

但问题是一般的可解释性模型是比较简单的模型,可能无法模拟更复杂的神经网络 -> 所以我们可能只模拟小区域附近的神经网络

2.1 LIME local interpretable model-agnostic explanations

机器学习笔记:可解释的机器学习

使用红色线性模型模拟部分蓝色黑盒模型

注意这里的”nearby“,对nearby定义的不同,会导致不同的结果(比如上图和下图)

机器学习笔记:可解释的机器学习

2.1.1 决策树 & LIME

机器学习笔记:可解释的机器学习

理论上,如果决策树足够深,它可以模拟任何黑盒模型。但是足够深的决策树并不能很好解释

所以我们需要对决策树施加一定的约束:

机器学习笔记:可解释的机器学习

机器学习笔记:可解释的机器学习

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2022年3月14日 下午5:05
下一篇 2022年3月14日 下午5:22

相关推荐