李宏毅机器学习笔记第16周_机器学习的可解释性(Explainable ML)

文章目录

  • 前言
  • 一、Why we need Explainable ML?
  • 二、Local Explanation: Explain the Decision
    • 1.Which component is critical?
    • 2.Limitation: Noisy Gradient
    • 3.Limitation: Gradient Saturation
    • 4.How a network processes the input data?
  • 三、Global Explanation: Explain the Whole Model
    • 1.What does a filter detect?
    • 2.What does a digit look like for CNN?
    • 3.Constraint from Generator
  • 总结


前言

机器学习的可解释性(Explainable ML)的目的就是把模型的行为变成人类理解的因果关系。在本文中会简要地说明为什么需要可解释性(Explainable ML),以及主要讲解Local Explanation和Global Explanation。


一、Why we need Explainable ML?

1. 虽然机器可以得到正确的答案,但是这并不代表它一定是智能的。
2. 以下举了多个例子来说明为什么需要Explainable ML。给人贷款时,机器要通过法律去解释为什么贷款给他;给患者进行医疗诊断时,机器需要诊断的理由;在法庭诉讼中,机器需要给出相应的法条;在自动驾驶中,机器需要给出下一步的理由。
3. 其实我们可以根据解释去优化我们的模型,线性模型容易解释,但不够强大;深度模型比线性模型更加强大,但却难以解释;而决策树既强大又容易解释。
4. Explainable ML的目标是给人一个能够接受的理由。

二、Local Explanation: Explain the Decision

1.Which component is critical?

1) 我们想要知道图片的哪些特征部分对机器来说是比较重要的,于是我们可以对这些特征部分进行修改或者删除,然后去查看出现了什么变化。
李宏毅机器学习笔记第16周_机器学习的可解释性(Explainable ML)_第1张图片
2) 我们可以用灰色的方块去遮挡图片的一部分,然后记录下影响后的效果。从下面的图中我们不难发现,如果灰色的方块遮挡的是下面图的蓝色的区域,那么机器就很难进行判断,如果灰色的方块遮挡的是下面图的红色的区域,那么机器就很容易进行判断。
李宏毅机器学习笔记第16周_机器学习的可解释性(Explainable ML)_第2张图片
3) 如下图所示,给x一个很小的变化,而loss却有很大的变化,这代表了对机器的判断影响比较大。于是,我们把图片的偏微分求出得到Saliency Map,从图中可以发现越亮的地方的微分值越大,也就是说对机器判断影响也就越大。
李宏毅机器学习笔记第16周_机器学习的可解释性(Explainable ML)_第3张图片

2.Limitation: Noisy Gradient

如下图所示,SmoothGrad可以让Saliency Map上面的噪声减少,使图中的亮点集中到瞪羚上面,而SmoothGrad的做法是给图片添加各种不同的噪声,然后给每张图片计算Saliency Map,然后将它们做平均,就可以得到结果。
李宏毅机器学习笔记第16周_机器学习的可解释性(Explainable ML)_第4张图片

3.Limitation: Gradient Saturation

如下图所示,其实Gradient并不一定完全能反应出重要性。用大象来举例,机器认为鼻子越长,它是大象的概率就越大,但鼻子到达一定的长度时,此时的微分值会趋近于0,也就是说大象鼻子长并不是判断它是大象的唯一原因。
李宏毅机器学习笔记第16周_机器学习的可解释性(Explainable ML)_第5张图片

4.How a network processes the input data?

Network是怎么处理输入得到输出的呢?一种是通过人眼去观察;另一种是用Probing,也就是用探针插入Network后进行观察。

三、Global Explanation: Explain the Whole Model

1.What does a filter detect?

1)如下图所示,输入是一张图片(矩阵表示),经过Convolution后得到一个feature map,从图中可以发现feature map中比较大的值是filter 1检测图片的主要特征。现在我们要对任意的一张图片,要知道filter 1需要的特征,于是自己去创造一张图片。其中包含需要被侦测的特征。
李宏毅机器学习笔记第16周_机器学习的可解释性(Explainable ML)_第6张图片
2)现在的问题是怎么去找这张图片?如下图所示的公式,找一个x,使得feature map中的每一个特征值的总和最大,将得到的x定为x*,通过观察x*就可以得到filter 1可以探测图片的什么特征。
李宏毅机器学习笔记第16周_机器学习的可解释性(Explainable ML)_第7张图片

2.What does a digit look like for CNN?

1) 如下图所示的一个Digit classifier的例子,我们要找一个x,使输出某一个类别的可能性越高越好。但是从图中可以发现机器看到一堆杂讯,它也会输出数字,于是用这个方法去看机器能侦测到的某一个特质是不容易的。
李宏毅机器学习笔记第16周_机器学习的可解释性(Explainable ML)_第8张图片
2) 如下图所示,我们会给图片加入正则化项,使图片整体越暗越好,也就是让白色亮点越来越少,让生成的图片更像数字。
李宏毅机器学习笔记第16周_机器学习的可解释性(Explainable ML)_第9张图片

3.Constraint from Generator

如下图所示,我们可以使用Generator去得到清晰的图片,因此在这里我们会在Image Classifier之前加上一个Image Generator,先找一个越大越好的z得到z后,再通过z得到x*。
李宏毅机器学习笔记第16周_机器学习的可解释性(Explainable ML)_第10张图片


总结

在本次的学习中,主要学习到了Local Explanation和Global Explanation,了解到了Explainable ML不仅要求模型要给出结果,还要对结果背后的原因做出解释。

你可能感兴趣的:(机器学习,深度学习)