可解释的人工智能
文章目录
1 引言
先大概总结一下~~~~主要是三部分内容:
- 1)对输入图像进行分析,解释黑盒的AI模型是通过对输入图像的哪一部分进行判断,从而得到输出结果的。输入图像的哪些区域改变,对输出分类结果的影响较大。------对应下面图中的Local ExplanationWhy do you think this image is a cat?
- 2)对黑盒AI模型进行反推,来解释模型学到的东西。即对于特定的某一类输出(比如狗狗),AI究竟认为什么样的图像就是猫咪,那就把这个图像生成出来解释给你看咯。需要用到生成算法。(我觉得这种挺像人类的学习,就是看了很多狗狗的图片,然后我已经认识什么是狗狗了,但是如果你问我什么是狗狗,我可能很难跟你描述出来,但是我可以按照自己的理解给你画很多张狗狗图片,告诉你这些就是我知道的狗狗啦,反正就大概长这种样子的小动物嘛。)------对应下面图中的Global ExplanationWhat do you think a “cat” looks like?
- 3) 用一种可解释的模型来近似这个难解释的AI模型。AI模型是高度非线性的模型,黑盒,难解释。线性模型是简单的白盒模型,很容易解释,但是表征能力很弱,不能表征复杂问题。决策树如果不是很大的话,是一种容易解释的,表征能力也还不错的模型哦。所以就是两种研究轨迹:用线性模型来近似AI模型的局部,从而可以解释AI模型;用决策树来近似AI模型(需要限制决策树的复杂程度),从而可以解释AI模型。
为啥需要可解释呢?
- 生活中太多地方需要了:比如用ML来判读简历,需要提供为什么选择这个应聘者不选择那个应聘者,是依据这个人的哪些特征,这些信息需要反馈给招聘方。并不是机器学习模型在测试集合的精度越高,就真的越好用,因为不能确定机器到底是不是学到了真正的知识~~~如果并没有学到真正的知识,那在很多实际场合我们是不敢使用的呢。如果能解释的合理,人们才会觉得这个模型可以实用哦。
- 借助可解释性,能获得更好的ML模型。
模型可解释v.s模型强大
有些模型好解释,但是不够powerful。比如线性模型。
深度学习模型难解释,但是非常powerful。
有没有又好解释又powerful的模型呢?
决策树咯,但是只是简单的决策树好解释,如果决策树很复杂依然难解释。而且现在很多时候用的是决策森林,更加难解释了。
2 Local Explanation–Explain the decision
Why do you think this image is a cat?
思路
把输入拆分成很多的component,改变其中的一个component,看看哪个component的改变会引起模型决策的改变,那么这个component就是重要的component。
方法一
一个简单的方法
把输入图片用一个灰色方块挡住一部分,输入模型进行判断,移动这个灰色方块,最终得到灰色方块挡住哪一部分会导致模型判断错误。比如下图蓝色部分,就是灰色方块挡住这一部分时候,模型判断错误率很高,那么这部分区域就是模型判断的主要依据。
问题:如何选择灰色方块的大小很关键。太小—比如一个一个像素的改变,那方块在哪里应该都不重要,模型都应该不会判错啦;太大—可能改变每个位置都会导致模型判错。。。
为什么选择灰色方块?–也是需要自己来选择的~~~
当你选择不同参数时候,会得到不同的解释结果哦!!!
方法二***
另外一个方法——基于Gradient
对每个pixel进行一个 Δ x \Delta x Δx的扰动,输出 y k