专栏首页AI算法与图像处理深度学习模型真的无法被解释么?

深度学习模型真的无法被解释么?

Kim, B., and F. Doshi-Velez. "Interpretable machine learning: the fuss, the concrete and the questions." ICML Tutorial on interpretable machine learning (2017).

Hu,Zhiting, et al. "Harnessing deep neural networks with logic rules." arXiv preprint arXiv:1603.06318 (2016).

引言


随着人工智能的发展,现阶段的普遍认知是深度模型不可被解释。一个端到端的深度模型,改变其模型中的任一个权重,可能都会对整个模型的表现产生难以预测的影响。

然而,随着机器学习技术的不断完善,人们在利用这些技术开发应用的时候发现,一个机器学习模型,如果仅仅是简单地“接受输入,给出输出”的话,在很多时候便无法适应实际应用的诸多需求。所以,在机器学习任务中,对结果的解释也是非常重要的一环。

动机:用户遇到的问题


漫画:机器学习系统(https://xkcd.com/#)

正如上面的漫画中所示,在利用某种机器学习算法建造应用的时候,仅仅“输入数据,输出结果”是远远不够的。用户在使用应用的时候,往往还会提出一些别的要求:

  • 机器给出的结果看起来是正确的,但是它为什么这样判断?能给我们一些解释吗?
  • 机器给出的结果看起来不太正确,它为什么会给出错误的结果?
  • 它是只在少数时候犯错,还是在大多数时候都不对?
  • 如果它仅在少数时候犯错的话,它会在怎样的特殊情况下犯错?
  • 如果我能知道这些,我就可以限制机器的应用范围,让它只负责那些它能够解决的问题。
  • 我知道这台机器为什么会犯错了!当我们在这台机器输入XXX的时候,它会把XXX看成XXX,但其实是XXX,所以它才会做出错误的判断。
  • 通过一段时间的使用,我很肯定就是这个问题!我手工准备了一些人类能够看懂的笔记(通常是一些表格或者几行条件判断分支),描述了如何处理这种特殊情况。那么,怎么能让这个机器在原来的基础上快速学习我的这些笔记?
  • 不不,我不需要你完全重新构造一个人工智能机器,那样的话可能还会出现别的问题,现在的这个机器在处理大多数情况下表现已经很好了,而且我已经习惯了这个机器。我只是希望能让它再多学习这一条知识,就一条。

这些要求在机器学习专业人士看来很可能荒诞不经,但对于用户来说,这些要求都是非常常见且有必要的。所以,解决这些问题(无论通过工程技术还是先进的算法)也变成了数据科学家们的任务。

图1 用户遇到的问题

更进一步地,上面的诸多问题其实可以被简化成下面的两个任务,只要设计出解决这两个任务的模型或者流程,很多问题就可以迎刃而解。

1. 如何让机器学习应用在输出结果的同时,输出相应的解释(或置信度等辅助信息)?

2. 如何将人类知识(为了使问题更简单,假定这里的人类知识是结构化的)嵌入到传统的基于“训练——验证——测试”三个步骤建造的机器学习模型中?

在下面的章节,我们将通过现有已发表的解决上述问题的尝试,试图为这些问题找到一个可行的解决办法。

问题:如何定义“解释”


上文已经提到过,与其他很多方法不同,传统的深度学习模型是无法解释的。现在,既然我们希望一个深度学习模型能够对结果进行解释,首先就需要对这个解释下一个定义。参考[1],我们列出了几种常见的,解释深度学习模型的方法:

1. 基于梯度的敏感度方法。在输入模型的诸多特征中,寻找一个或多个特征,模型对这些特征的改变最为敏感,这些特征最容易改变模型输出的结果。[2]便是使用这种方法来解释深度模型的例子。

2. 根据每个特征对结果的贡献来解释模型。在使用了注意力机制的模型中,这种方法经常被使用来判断哪个位置的特征对结果贡献最大。特征对结果的贡献是通过注意力模块来计算的。

3. 利用可解释的学生模型。通过蒸馏神经网络训练一个可以解释的学生模型(例如决策树)来试图解释深度学习模型的预测结果。然而,有些时候,这些“容易解释”的学生模型也可能得出令人非常困惑的解释。

4. 对隐层(Hidden Layer)的分析。有些时候,深度模型的隐层(或是它的某些模块)就编码了一些可解释的信息。例如[3],深度生成模型的某些模块就常被人认为是有解释价值的。最近很火的Unsupervised learning of disentangled representations 也属于该类。

实例一:InfoGAN


深度学习模型是通过逐层学习输入数据的表达来进行判断的,尽管这些表达包含了输入数据中的许多信息,它们却不能为人类所解释。因而,约束这些表达,使得它们的每一位都独立地代表输入数据的某种可解释的特征,就成为了一个很自然的想法。

Disentangled representationlearning,指的也就是学习输入数据的某种表达,在这个表达中,一个特征的改变并不能影响其他的特征。

例如,在人脸识别这一任务中,模型能够独立地识别出人脸的肤色,表情等特征,并把这些特征合成一个表达向量。

如果能够做到这一点,那么模型的可用性就会得到很大的提升,因为我们可以通过独立地分析或者控制某一个特征,来得到我们想要的结果。InfoGAN[3]就是这种想法的一个实例。

在InfoGAN中,这个我们需要的,可解释的、互相独立的表达是GAN中生成器的输入。在经典的GAN中,生成器的输入是白噪音。然而,为了按照用户喜好生成固定颜色,固定大小,固定角度的某种物体(比如人脸或动物),我们希望能够在输入中增加生成的物体的样式信息。

另一方面,既然我们在生成器生成的过程中输入了这些样式信息,在模型训练的过程中,自然希望保证生成器生成的数据符合我们在输入样式信息时候的预想。

该模型通过最大化样式信息和生成器输出之间的交互信息量在约束这一点。具体到模型设计中,则是通过一个辅助网络,帮助判别器还原生成器生成时的样式信息。

图1 传统的生成对抗网络

图2 InfoGAN的结构

通过下面的图片能看到,该模型可以根据用户的输入自由控制输出物体的朝向和大小。即,给定生成需要的一些特征,例如物体的大小,方向,模型就可以根据输入生成符合要求的例子。反过来,给定一张图片,判别器也可以尝试推断图片内椅子的样式信息。

图3 InfoGAN 根据不同样式信息生成的椅子图片

实例二:一阶逻辑规则约束

的深度学习


[4] 提供了一种利用后验正则化(Posterior regularization)和蒸馏神经网络来将一阶逻辑规则嵌入到任意神经网络架构中的方法。

后验正则化(Posterior regularization),简单来说就是根据正则化项(逻辑规则)和实际结果(数据标签)共同决定模型训练时候的标签。

例如,在情感分析任务中,数据集中某句话的情感原本为中性,但是如果这句话触发了某些逻辑规则,根据规则这句话又应当是负面的话,就根据“中性”和“负面”两个标签共同决定训练时这句话的标签。

这篇文章中介绍的方法的结构如下图所示。从图中可以看出,一方面,教师模型同时根据数据和逻辑规则两部分信息进行学习,另一方面,学生模型也在以教师模型作为基准进行学习。

图2 模型结构

在该文章的实验部分,作者采用了情感分析的任务作为例子来证明该模型的有效性,其应用的规则如下:

  • 如果一句话里没有“如果”“但是”这样的转折词,那么语言模型(可以是任意语言模型,比如RNN)输出的结果就是该句子表达情感的预测值;
  • 然而如果一句话里有转折词,那么这句话转折词之后的那一部分才表达了语句的真正情感。因此,将这一部分作为语言模型(与上条规则中的语言模型是同一个)的输入,其结果就是整句话所表达的情感。

由于这篇文章中对于后验正则化公式的推导比较复杂,本文在此不作详述,有兴趣的读者可以自行来看[4]。

总结


尽管机器学习模型的解释是一个相当重要的议题,然而对于深度学习模型,目前为止依然没有哪一种解释深度模型的方法成为主流。

很多最近的文章[5,6]也在对常用的,具有一定可解释性的深度学习方法提出质疑。

在我看来,人们对深度学习的原理尚且不够了解的今天,想要一劳永逸地研究出某种解释深度学习模型的方法是不现实的。但是,我们可以像设计特殊的深度模型结构那样,针对特定问题和特定数据,设计特定的解释

后台回复“可解释”下载ICML关于可解释机器学习的tutorial

参考文献


[1] Kim, B., and F. Doshi-Velez."Interpretable machine learning: the fuss, the concrete and the questions." ICML Tutorial on interpretable machine learning (2017).

[2] Che, Zhengping, et al."Deep computational phenotyping." Proceedings of the 21th ACMSIGKDD International Conference on Knowledge Discovery and Data Mining. ACM,2015.

[3] Chen, Xi,et al. "Infogan: Interpretable representation learning by information maximizing generative adversarial nets." Advances in neural information processing systems. 2016.

[4] Hu,Zhiting, et al. "Harnessing deep neural networks with logic rules." arXiv preprint arXiv:1603.06318 (2016).

[5] Locatello, Francesco, et al. "Challenging common assumptions in the unsupervised learning of disentangled representations." arXiv preprint arXiv:1811.12359 (2018).

[6] Jain,Sarthak, et al. "Attention is not Explanation." arXiv preprint arXiv:1902.10186 (2019).

本文分享自微信公众号 - AI算法与图像处理(AI_study)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-08-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 为什么机器学习部署起来这么难?

    作者:Alexandre Gonfalonieri 编译:ronghuaiyang 来源:AI公园

    AI算法与图像处理
  • 14款机器学习加权平均模型融合的火花

    模型融合的方法很多,Voting、Averaging、Bagging 、Boosting、 Stacking,那么一些kaggle比赛中选手会选用各种方法进行融...

    AI算法与图像处理
  • 深度模型不work?这有一份超全的Debug检查清单

    前言:本笔记是对近日阅读keynote“Troubleshooting Deep Neural Networks”的总结。

    AI算法与图像处理
  • 机器学习重新思考--何为机器学习

    在科技发展的今天,很多事情人们都不再亲力亲为,要么交给了专业人士,要么交给了机器。于是有一部分人称为了专业人士,一部分人成了专业忽悠,一部分人去捣鼓机器,然后一...

    到不了的都叫做远方
  • 【技术】如果我告诉你数据库索引是可以学习的,你会怎么做?

    ? 这篇论文是我在NIPS中看到的,在过去的几天里,在ML的圈子里得到了相当多的关注。论文中反复强调:在他们的心里,数据库索引是模型。它们可能不(通常)是有统...

    AiTechYun
  • 分析Booking的150种机器学习模型,我总结了六条成功经验

    本文是一篇有趣的论文(150 successful machine learning models: 6 lessons learned at Booking....

    AI科技大本营
  • 观点 | 不要只关心怎么优化模型,这不是机器学习的全部

    AI 科技评论按:机器学习领域的学生、研究员、企业开发者都习惯了在模型的优化上花大量功夫,仿佛取得更高的准确率/AUC/mAP 等等就是机器学习研究和应用的全部...

    AI研习社
  • 分析了自家150个ML模型之后,这家全球最大的旅行网站得出了6条经验教训

    「150 successful Machine Learning models: 6 lessons learned at Booking.com」是一篇绝佳的...

    机器之心
  • 不要只关心怎么优化模型,这不是机器学习的全部

    AI 科技评论按:机器学习领域的学生、研究员、企业开发者都习惯了在模型的优化上花大量功夫,仿佛取得更高的准确率/AUC/mAP 等等就是机器学习研究和应用的全部...

    AI科技评论
  • 优化模型,这不是机器学习的全部

    机器学习领域的学生、研究员、企业开发者都习惯了在模型的优化上花大量功夫,仿佛取得更高的准确率/AUC/mAP 等等就是机器学习研究和应用的全部。但是很少有人去问...

    商业新知

扫码关注云+社区

领取腾讯云代金券