Introduction

要求机器不仅要告诉我们结果是cat,还要告诉我们为什么
李宏毅老师课程:Explainable ML

Why we need Explainable ML?

我们不仅需要机器结果的精确度,还需要进行模型诊断,看机器学习得怎么样;有的任务精确度很高,但实际上机器什么都没学到

有模型诊断后,我们就可以根据模型诊断的结果再来调整我们的模型

Interpretable v.s. Powerful

李宏毅老师课程:Explainable ML
决策树可以interpretable,也是比较powerful的

但当分支特别多的时候,决策树的表现也会很差
李宏毅老师课程:Explainable ML

Local Explanation

Basic Idea

对于输入的x,我们将其分成各个components,每个component由一个像素,或者一小块组成

我们现在的目标是知道每个component对making the decision的重要性有多少,那么我们可以通过remove或者modify其中一个component的值,看此时的decision会有什么变化
李宏毅老师课程:Explainable ML
把灰色方块放到图像中,覆盖图像的一小部分;如果我们把灰色方块放到下图中的红色区域,那么对解释的结果影响不大,第一幅图还是一只狗
李宏毅老师课程:Explainable ML
还有另一种方法
李宏毅老师课程:Explainable ML
在上图中,下半部分由3幅图saliency map,亮度越大,绝对值就越大,亮度越大的地方就表示该pixel对结果的影响越大

Limitation of Gradient based Approaches

李宏毅老师课程:Explainable ML

Attack Interpretation

李宏毅老师课程:Explainable ML

Global Explanation

Activation Minimization (review)

李宏毅老师课程:Explainable ML
之前我们的目标是找到一个image,使得输出的y达到最大值;现在我们的目标不仅是找到x使输出y达到最大值,还需要把image变得更像是一个digit,不像左边那个图,几乎全部的像素点都是白色,右边的图只有和输出的digit相关的pixel才是白色

这里我们通过加入了一个新的限制R(x)R(x)来实现,可以表示图像和digit的相似度
李宏毅老师课程:Explainable ML

Constraint from Generator

如下图所示,我们输入一个低维的vector z到generator里面,输出Image x;

现在我们将生成的Image x再输入Image classifier,输出分类结果yiy_i,那么我们现在的目标就是找到zz^*,使得属于那个类别的可能性yiy_i最大

找到最好的zz^*,再输入Generator,得出xx^*,产生一个好的Image
李宏毅老师课程:Explainable ML
结果展示。现在你问机器蚂蚁长什么样子呢?机器就会给你画一堆蚂蚁的图片出来,再放到classifier里面,得出分类结果到底是火山还是蚂蚁李宏毅老师课程:Explainable ML

Using a model to explain another

现在我们使用一个interpretable model来模仿另外一个uninterpretable model;下图中的Black Box为uninterpretable model,比如Neural Network,蓝色方框是一个interpretable model,比如Linear model;现在我们的目标是使用相同的输入,使linear model和Neural Network有相近的输出
李宏毅老师课程:Explainable ML
实际上并不能使用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在这部分区域的行为
    李宏毅老师课程:Explainable ML

Decision Tree

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

我们设neural network的参数为θ\theta,decision tree的参数为TθT_\theta,使用O(Tθ)O(T_\theta)来表示TθT_\theta的复杂度,复杂度可以用TθT_\theta的深度来表示,也可以用neural的个数来表示;现在我们的目标不仅是使两者输出相近,还需要使O(Tθ)O(T_\theta)的值最小化
李宏毅老师课程:Explainable ML
使O(Tθ)O(T_\theta)的值最小化的方法如下图所示
李宏毅老师课程:Explainable ML
本文图片来自李宏毅老师课程PPT,文字是对李宏毅老师上课内容的笔记或者原话复述,在此感谢李宏毅老师的教导。

相关文章:

  • 2021-09-05
  • 2021-11-20
  • 2021-07-22
  • 2021-06-01
  • 2021-11-23
  • 2021-11-25
  • 2021-04-12
  • 2021-04-29
猜你喜欢
  • 2021-06-02
  • 2021-10-11
  • 2022-01-17
  • 2021-08-01
  • 2021-12-15
  • 2021-07-13
  • 2021-05-16
相关资源
相似解决方案