机器学习可解释性

目录

什么是可解释性

为什么需要可解释性

神经网络可解释性的分类

 1. 按照逻辑规则解释(Rule as Explanation)

2. 按照语义进行解释

3. 通过示例进行解释

4. 按照属性解释

LIME相关介绍

可解释性总结


什么是可解释性

        理想情况下,严谨的数学符号-逻辑规则是最好的解释。 但是实际上人们往往不强求“完整的解释”,只需要关键信息和一些先验知识。

        不同领域的模型解释需要建立在不同的领域术语之上,不可能或者目前难以用数学逻辑符号来解释。例如计算机视觉中的image patches,NLP中的单词等。而可理解的术语可以理解为计算机跟我们人类能够沟通的语言。以前我们很多研究关于人类跟计算机表达的语言例如计算机指令,现在是反过来计算机根据现有的模型给我们解释。

        Lipton 的 文章 The Mythos of Model Interpretability 试图说明什么是可解释性,他在文章中问了很多发人深思的问题。比如,我们什么时候需要可解释能力?如果一个模型的精确度很高,百分百正确,我们可能不需要可解释能力。如果一个模型精度不够高,我们就会急切想知道机器为何出错。如果机器出错的地方,也是人类出错的地方,那么人们可能将心比心,不会削弱对机器的信任。对于人类不容易出错,但机器却出错的地方,人类对机器的信任度就会急剧降低。比如对抗样本攻击,在熊猫图片中加些精心设计的噪声,人类仍然能容易的识别出是熊猫,机器却会将其判断为长臂猿。这时候,人类就急切的需要知道机器为何会做出这种判断。人类需要可解释能力的另一个原因是机器与人类目标的错位。有时候人类想要的是因果关系,但监督学习给出来的只是相关关系。还有可能机器在offline 数据上做了训练,但当部署到日常生活中,会有输入不一致,输入随时间变化,输入空间因为机器的部署而发生变化等各种问题。这种时候,人类一定想知道究竟发生了什么呢?是不是输入空间的一个很小的改变,引起了蝴蝶效应般的模型输出的发散?类似的输入会不会得到稳定的输出?我们知不知道模型的每一个参数代表什么意思?

        可解释性是一个很宽泛的概念。比如我们知道模型出错的概率是多少,知道对于哪些输入会出错是可解释性。知道模型如何运作,对输入的某个特征微调,模型的输出与人类的经验符合算可解释性。而且,线性模型不一定比深度神经网络的可解释性好。为了达到相同的预测精度,线性模型可能利用了非常复杂的手工构造的特征,而很多这样的特征是不可分解的。相反,神经网络的特征 activation map 可以通过语言,可视化以及聚类的方法被人类所理解。给图像打标签的任务,就是一种对深度学习分类器的语言解释。而 Saliency map 则是可视化解释。聚类也是一种解释,如果一只狗长得很像猫,机器将其误判为猫的错误就很容易被人类谅解。

为什么需要可解释性

        机器学习模型分白盒子模型和黑盒子模型。简单的线性模型,单棵决策树属于白盒子模型,其将输入映射为输出的方式,可被人类完全理解。而由许多决策树组成的随机森林,提升树,以及深度神经网络都属于黑盒子模型。这些模型输入到输出的映射非常复杂,想完整了解整个机器的内部运作方式,几乎不可能。

  • 高可靠性的要求’

a)神经网络在实践中经常有难以预测的错误(进一步的研究是对抗样本攻击与防御),这对于要求可靠性较高的系统很危险

b)可解释性有助于发现潜在的错误;也可以通过debug而改进模型

c) 机器学习模型在重要领域部署之前应该达到足够的预测精度,而且精度不能因为世异时移而降低,拥有在线更新能力,与时俱进。同时,应该在对抗样本上经过充分训练,对简单的对抗样本攻击免疫。

  • t透明性

        机器需要对不确定的输入和输出及时预警,报错,并将最终决策权交予人类。其内部决策过程,需要时刻以可视化,或其他人类智能可理解的方式呈现给人类观察员。透明性非常重要,在最近的两起波音737 Max飞机坠毁事故中,其中一起人类与自动控制系统搏斗了10分钟,最终不敌自动控制系统而无奈坠毁。如果机器做出决策的过程透明,有预警,并及时向人类观察员移交控制权,那么将可避免此事故。这可能是一个不正确的例子,因为波音飞机的这部分自动控制系统并没有用到人工智能技术。

  • 伦理/法规的要求

        其决策需要符合人类的价值观,世界观和道德观,要公平无偏见,拥有对这个世界的热爱,对造物主人类的感恩,对人类文明传承的责任感。斯坦福的以人为本AI研究院走的就是这条路。

神经网络可解释性的分类

机器学习可解释性_第1张图片

机器学习可解释性_第2张图片

机器学习可解释性_第3张图片

 1. 按照逻辑规则解释(Rule as Explanation)

机器学习可解释性_第4张图片

 第一种方法是分解法,遍历所有特征的排列组合

机器学习可解释性_第5张图片

 分解法最简单,但是缺点也是显而易见的,就是时间复杂度太高,虽然KT算法有所优化,但是指数形式的复杂度还是难以投入实际使用。

第二种方法:教育法[1]

机器学习可解释性_第6张图片

 DecText-决策树抽取器,主要采用经过黑箱子的数据来抽取黑箱子的规则,并且与其他决策树不同的是,该方法除了使用标记数据还可以使用未标记数据以及随机数据,只要经过神经网络黑箱子都可以获得标签。对比仅用训练集,由于传统决策树进行生成叶子比生成其根的可信度还要低(因为能用于划分界限的数据越来越少)。所以DecText有一个优势就是可以利用更多的无标记数据甚至随机数据进行补充。

这个方法有两大缺点。一、无标记数据或者随机数据其实有很多是超过解释的意义,例如人脸识别,如果我们倒入一些不及格的人脸甚至随机的图像,决策树也会对这些图像进行开枝散叶,降低了真正解释人脸的枝叶的占比。二、决策树不能表达太深的网络,决策树越深,性能会急剧下降,可解释性也越差。

Tree Regulartion[2]提出了树正则的方法,来抑制了树的深度。

机器学习可解释性_第7张图片

树正则通过引入深度损失正则项,在优化时候会抑制树的深度。而树的深度则是通过一个简单的预估网络进行预估,需要的参数就是主网络的参数。

2. 按照语义进行解释

从宏观角度了解,例如卷积神经网络,浅层的卷积网络往往关注更基础的图像信息例如纹理、颜色等,而越往上层则越能抽象出更丰富的语义,例如人脸识别的眼睛、鼻子等。其中经典代表就是计算机视觉中的经典方法-可视化[3]

机器学习可解释性_第8张图片

机器学习可解释性_第9张图片

可视化的方法非常多,比如说有一个华人的博士就可视化了CNN,把每一层都展示得非常清楚,只需要在网页上点击对于的神经元,就可以看到工作流程。

一位维也纳的小哥,本来搞unity3D特效开发的,他把整个CNN网络用3d的形式可视化了出来。

另外一种主动的按照语义进行解释的代表作:可解释卷积神经网络[4](Interpretable convolutional neural networks.)与传统的卷积神经网络不同的是,ICNN的每一个卷积核尽量只代表一种概念,例如,传统的卷积核对猫的头或者脚都有较大的激活值,而ICNN只能选择最大的一种。

机器学习可解释性_第10张图片

3. 通过示例进行解释

这种方法容易理解,是一种直观方法:寻找和待解释的样本最“相似”的一个训练样本,典型的代表作 Understanding black-box predictions via inflfluence functions,[5]

机器学习可解释性_第11张图片

4. 按照属性解释

按照属性解释目前内容上最。如前面提及到,决策树等透明模型难以模仿复杂的神经网络,那怎么解决呢?针对此问题研究的代表作有:Why should i trust you?: Explaining the predictions of any classififier[6]

机器学习可解释性_第12张图片

由于LIME不介入模型的内部,需要不断的扰动样本特征,这里所谓的样本特征就是指图片中一个一个的像素了。但如果LIME采样的特征空间太大的话,效率会非常低,而一张普通图片的像素少说也有上万个。若直接把每个像素视为一个特征,采样的空间过于庞大,严重影响效率;如果少采样一些,最终效果又会比较差。所以针对图像任务使用LIME时还需要一些特别的技巧,也就是考虑图像的空间相关和连续的特性。不考虑一些极小特例的情况下,图片中的物体一般都是由一个或几个连续的像素块构成,所谓像素块是指具有相似纹理、颜色、亮度等特征的相邻像素构成的有一定视觉意义的不规则像素块,我们称之为超像素。

机器学习可解释性_第13张图片

机器学习可解释性_第14张图片

机器学习可解释性_第15张图片

其他的还有:用意想空间的对话系统[8]

机器学习可解释性_第16张图片

机器学习可解释性_第17张图片

这种解释的类型是最有深度而且也是用户最容易理解的。但是对AI模型和训练难度也更高了。目前这方面的研究屈指可数。

LIME相关介绍

LIME是局部线性可解释性。一旦假设了局域线性,那么就可以用一个线性模型来近似得到黑盒模型在一个特定输入x 附近的行为。这就是 LIME 的思想。

如下图所示,任务目标是对红十字和蓝色圆点进行分类,神经网络学到的分类器可能给出很复杂的分类边界,即粉红区域与浅蓝区域的分界线,所有的红色十字都在边界包围的粉红区域内,而蓝色圆点在浅蓝区域。如果想从全局层面解释清楚此神经网络在整个输入空间如何工作,用语言描述则非常困难,因为无法精确表示这条弯弯曲曲的分界线。但如果用视觉来向另一个人类解释,则相对简单,只要用手指出整个边界即可。而物理学家做的,是用数学公式把这条分界线表示出来。数学公式可以被不同的人理解,所以是一种除了语言,视觉之外的可以实现共情的解释方式。LIME 做的就简单多了,只要找出那条虚线,就可以局部的解释为什么神经网络对一个特定的输入做出目前的分类。

机器学习可解释性_第18张图片

如果输入是图片,那么LIME会将图片按边界分割,并将类似的像素划归为超级像素,通过随机的丢掉某些超级像素,构造不完整输入 x',输入神经网络,检查分类概率的变化 f(x'),来获得某些图片区域对分类的重要性。LIME 已经开源,可以简单的通过 pip 安装,

pip install lime

使用方法在Github页面有介绍

使用 LIME 对一张大象的照片进行分析,看看神经网络 Inceptionv3 模型通过什么得到这是一只大象的结论。如下图所示,象鼻,眼睛,耳朵都是对分类起重要作用的区域。

机器学习可解释性_第19张图片

可解释性总结

机器学习可解释性_第20张图片

机器学习可解释性_第21张图片


【参考资料】

  1. ^“Extracting Decision Trees From Trained Neural Networks”. SIGKDD. July 23-26,2002 Extracting decision trees from trained neural networks | Proceedings of the eighth ACM SIGKDD international conference on Knowledge discovery and data mining
  2. ^ M. Wu, S. Parbhoo, M. C. Hughes, R. Kindle, L. A. Celi, M. Zazzi, V. Roth, and F. Doshi-Velez, “Regional tree regularization for interpretability in deep neural networks.” in AAAI, 2020, pp. 6413–6421. https://arxiv.org/abs/1908.04494
  3. ^K. Simonyan, A. Vedaldi, and A. Zisserman, “Deep inside convolutional networks: Visualising image classification models and saliency maps,” arXiv preprint arXiv:1312.6034, 2013.
  4. ^Q. Zhang, Y. Nian Wu, and S.-C. Zhu, “Interpretable convolutional neural networks,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2018.
  5. ^P. W. Koh and P. Liang, “Understanding black-box predictions via influence functions,” in Proceedings of the 34th International Conference on Machine Learning-Volume 70, 2017.
  6. ^M. T. Ribeiro, S. Singh, and C. Guestrin, “Why should i trust you?: Explaining the predictions of any classifier,” in Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining, 2016.
  7. ^M. Wojtas and K. Chen, “Feature importance ranking for deep learning,” Advances in Neural Information Processing Systems, vol. 33, 2020.
  8. ^Open Domain Dialogue Generation with Latent Images Z Yang, W Wu, H Hu, C Xu, Z Li - arXiv preprint arXiv:2004.01981, 2020 - arxiv.org https://arxiv.org/abs/2004.01981

主要参考 机器学习小谈 神经网络的可解释性综述 - 知乎 (zhihu.com)

你可能感兴趣的:(Deep,learning,机器学习,人工智能)