WDK李宏毅学习笔记第四周02_Explainable ML


摘要

本章学到的是怎样知道机器为什么知道?也就是机器做决策的理由是什么,这个分为两类,分别是Local Explanation和Global Explanation,前者的基本思想是改变输入,观察输出的变化程度,然后以输出变化和输入变化的比值来判断什么是重要的。后者的基本思想是用一个容易解释的model去模仿不能解释的model的局部或者全部行为(通常是局部行为),然后用容易解释的model解释该行为。


一、Explainable Machine Learning

目的就是知道机器为什么知道。
在这里插入图片描述

这分为两大类如下:

  1. Local Explanation:为什么它觉得上面图片是猫。
  2. Global Explanation:在机器眼里,猫是长什么样子。

二、Why we need Explainable ML

第一: 用机器协助决策时,某些决策是必需提供决策理由的。如下图:
在这里插入图片描述
第二:可以用来做模型诊断,我们可以通过机器的Explainable,知道机器学到了什么,再对机器做合适的调节,完善model。

三、Interpretable VS Powerful

  1. linear model:容易解释的但是不够强。
  2. Deep network:难解释但是比较强。
  3. decision tree(决策树):比较强又可以解释的。

3.1 decision tree为什么容易解释

如下图,很明显简单的decision是很好解释的。
在这里插入图片描述
但是复杂的decision tree也是比较难解释的。
在这里插入图片描述

四、Local Explanation:Explain the Decision

4.1 Basic Idea(基本思想)

目标是X(x1,…,xn…,xN),我们想要知道在X中,什么components是对做决策影响大的,我们需要做的就是对X中的component做出改变,然后观察改变后结果的变化程度,若结果变化很大,那显然这个component就是重要的。

4.2 两个方法

4.2.1 遮挡法

选择合适大小、颜色、形状的遮挡图形,将图片一部分遮挡,观察结果变化程度,判断机器是如何做决策的。如下图,例如图一可看出来机器是通过面部来识别图片中的pomeranian的。
在这里插入图片描述

4.2.2 gradient法

就是将输入X中的某个component进行小改变,然后观察输出的变化程度,来判断X中对输出的影响大的components,这个其实就是求y对x的导数,导数绝对值大的,影响就大,如下图:
在这里插入图片描述
gradient法有一个缺点,会有gradient saturation的情况出现,解决办法有integrated gradient,和DeepLIFT。
在这里插入图片描述

4.3 Attack Interpretation

Interpretation也是可以被攻击的,比如在interpretation一辆卡车时,正常是可以很好的interpretation的,可是在给卡车图片加上一些特殊的noise时,这些noise可能人眼是无法识别的,但是interpretation就坏掉了。
在这里插入图片描述

五. Global Explanation: Explain the whole model

5.1: Activation Maximization

找一张图片可以使得某个neural的值最大化,例如找一张图片能使代表输出是5的neural的值最大化。按这个方法找到的图片,如下图:
在这里插入图片描述
很明显,机器是被一些noise干扰了,可以通过增加一个R(x) function来去掉noise,例如下图所示的R(x),最后再重新找一些图片,得到右图,这些就是机器眼中最好的数字。
在这里插入图片描述

5.2 Generator

上面方法机器找出来的图片仍然不好,但事实上我们可以做得更好,如下图,我们可以training a generator它的功能是将low-dim vector通过image Generator转换为一张图片,这个low-dim vector通常都是从learn好的model里面选出来的,所以最后得到的image会更像正常的图片,最后再用得到的image像上面方法一样,得到最大的y。
在这里插入图片描述

5.3 Using a model to explain another

原理就是用一个可以被解释的model去模仿一个不能被解释的model的行为,再用可以被解释的model解释不能被解释的model。如下图,我们训练一个能解释的model,使其与Black Box(不能被解释的model)输入相同的X,输出是接近的。
在这里插入图片描述

但是通常能解释的model是比较简单的,它是没办法完全模拟Black Box,这时可以用LIME技术解决该问题。

5.3.1 Local Interpretable Model-Agnostic Explanation(LIME)

原理就是用能解释的model解释Black Box局部情况。
在这里插入图片描述

5.3.1.1 LIME—image

例如让机器解释下面的图片为什么是树蛙。
在这里插入图片描述
首先我们需要做sample,即将树蛙的图片segments,然后再随机丢掉一些segments。再将这些sample的结果输入Black,得到结果。
在这里插入图片描述

5.3.1.2 用Linear model解释

接下来找一个可以解释的model(如linear model),去fit这个输入和输出,Linear model直接将图片输入,参数会过多,所以需要设计一下输入,将图片的segments作为输入,被丢掉的segments用0表示,还存在的用1表示。

在这里插入图片描述
然后再训练model,得到最好的function,然后就可根据参数w的大小来知道机器认为树蛙图片哪一部分是主要的判断依据。
在这里插入图片描述

5.3.1.2 用Decision Tree解释

流程和linear一样,但是Decision Tree不能够太复杂,不然Decision Tree也变成了Black Box,所以我们要选择合适的树的复杂度。
在这里插入图片描述

5.3.1.2.1 tree regularization

在这里插入图片描述

六. 展望

学到了一些Explainable ML的基本方法和原理,比如,遮挡法、gradient法、Generator以及用linear model和Decision Tree去解释复杂model的方法,后续还需通过实践加强细节方面的理解。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值