以下内容均来自李宏毅老师的机器学习课。以下的课程截图和摘录是我认为比较重要的,主要作为我的学习记录回看复习用。希望对看到这篇文章的你也有所帮助。
如下图,目前的机器学习可解释主要有两个类别的方法:Local Explanation和Global Explanation。
一、机器学习的可解释性(上):Local Explanation
1、当给机器看一张图片的时候,是哪个部位让机器觉得这是“某个东西”呢?
移动灰色方块进行不同部位的遮挡,看机器是否还认为是True Label的物体
下图来自论文-visualizing and understanding convolutional networks(2014)
改变输入图片的像素值,看它对结果e(cross entropy损失函数)的影响有多大(也就是通过上述的除法和偏微分来衡量),就知道这个像素/component对结果的重要性。
下图的测试中,机器认为这张图片是马,但重点并不放在马的身上,而放在了左下角的网址上(因为这个数据集中大部分的马的图片都来自于这个网站,都有这个网站的水印标注)
2、当我们输入一张图片给机器,机器是怎么进行处理的?
可以把神经网络的某一层(神经元)可视化出来,看权重图
还可以如下使用 “探针”(Probing),抽取处理中的某一层的信号,输入到TTS中试图恢复原声,可以发现最重要的资讯信息是会被保留下来的,层数越多,可能滤除的杂讯信号就越干净,但是未必滤除得非常干净才可以得到正确的text结果。
上图是李宏毅老师的试验,把不同层的输出丢到TTS中看复原的情况,并与输入的语音进行对比。
二、机器学习的可解释性(下):Global Explanation
如果一个filter对输入处理后得到的feature
map里有很多的大的值,说明输入X中有很多这个filter能检测的模式(理解:每个filter负责检测图片里的不同模式)。原理:两个矩阵做内积,如果得到很大的值说明这两个矩阵是比较相似的(联想到周长相同的情况下,正方形的面积(两边相等相乘)是最大的)
在得到这个X*之后,通过观察X*,我们可以知道这个filter在检测的是什么特征。
从global explanation的角度,对于现在机器学习的可解释性,很多人其实没有那么在乎机器真正想的是什么,而是希望有些方法解读出来的东西是人看起来觉得很开心的(人可以很容易解释的)。但实际上可视化出来之后也许机器想的就是一堆杂乱无章的杂讯。今天的explainable AI往往会有这样的倾向。
其他的方法:比如可以用一个简单的模型模仿复杂模型的行为。如下举例,如果Linear Model可以成功模仿复杂模型(黑盒子)的行为,再去分析Linear Model做的事情。通过分析Linear Model,也许可以知道黑盒子在做什么。
网友评论