本文为 BIGSCity 的知乎专栏内容,做者王小贱。北航智慧城市兴趣组 BIGSCITY是隶属于北京航空航天大学计算机学院的一个学术研究小组,小组致力于研究机器学习与数据挖掘在城市科学、社会科学等领域的交叉应用技术。AI 科技评论得到 BIGSCity 受权转载,敬请期待更多后续内容。安全
很是开心本文成为 BIGSCity 兴趣组的第一篇投稿,《深度学习的可解释性研究》系列预计包含 3-4 篇内容,用尽量浅显的语言带领你们了解可解释性的概念与方法以及关于深度学习可解释性工做的研究成果,不按期更新内容(欢迎催更)。网络
可解释性是什么?机器学习
广义上的可解释性指在咱们须要了解或解决一件事情的时候,咱们能够得到咱们所须要的足够的能够理解的信息。好比咱们在调试 bug 的时候,须要经过变量审查和日志信息定位到问题出在哪里。好比在科学研究中面临一个新问题的研究时,咱们须要查阅一些资料来了解这个新问题的基本概念和研究现状,以得到对研究方向的正确认识。反过来理解,若是在一些情境中咱们没法获得相应的足够的信息,那么这些事情对咱们来讲都是不可解释的。好比刘慈欣的短篇《朝闻道》中霍金提出的「宇宙的目的是什么」这个问题一会儿把无所不知的排险者卡住了,由于再高等的文明都没办法理解和掌握造物主创造宇宙时的所有信息,这些终极问题对咱们来讲永远都是不可解释的。函数
而具体到机器学习领域来讲,以最用户友好的决策树模型为例,模型每做出一个决策都会经过一个决策序列来向咱们展现模型的决策依据:好比男性&未婚&博士&秃头的条件对应「不感兴趣」这个决策,并且决策树模型自带的基于信息理论的筛选变量标准也有助于帮助咱们理解在模型决策产生的过程当中哪些变量起到了显著的做用。因此在必定程度上,咱们认为决策树模型是一个具备比较好的可解释性的模型,在之后的介绍中咱们也会讲到,以决策树为表明的规则模型在可解释性研究方面起到了很是关键的做用。再以用户最不友好的多层神经网络模型为例,模型产生决策的依据是什么呢?大概是以好比 1/(e^-(2*1/(e^(-(2*x+y))+1) + 3*1/(e^(-(8*x+5*y))+1))+1) 是否大于 0.5 为标准(这已是最简单的模型结构了),这一连串的非线性函数的叠加公式让人难以直接理解神经网络的「脑回路」,因此深度神经网络习惯性被你们认为是黑箱模型。学习
17 年 ICML 的 Tutorial 中给出的一个关于可解释性的定义是:人工智能
Interpretation is the process of giving explanations to Human.调试
总结一下就是「说人话」,「说人话」,「说人话」,不以人类能够理解的方式给出的解释都叫耍流氓,记住这三个字,你就差很少把握了可解释性的精髓所在。日志
咱们为何须要可解释性?图片
广义上来讲咱们对可解释性的需求主要来源于对问题和任务了解得还不够充分。具体到深度学习/机器学习领域,就像咱们上文提到的多层神经网络存在的问题,尽管高度的非线性赋予了多层神经网络极高的模型表示能力,配合一些堪称现代炼丹术的调参技术能够在不少问题上达到很是喜人的表现,你们若是常常关注 AI 的头条新闻,那些机器学习和神经网络难以想象的最新突破甚至常常会让人产生 AI 立刻要取代人类的恐惧和幻觉。但正如近日贝叶斯网络的创始人 Pearl 所指出的,「几乎全部的深度学习突破性的本质上来讲都只是些曲线拟合罢了」,他认为今天人工智能领域的技术水平只不过是上一代机器已有功能的加强版。虽然咱们造出了准确度极高的机器,但最后只能获得一堆看上去毫无心义的模型参数和拟合度很是高的断定结果,但实际上模型自己也意味着知识,咱们但愿知道模型究竟从数据中学到了哪些知识(以人类能够理解的方式表达的)从而产生了最终的决策。从中是否是能够帮助咱们发现一些潜在的关联,好比我想基于深度学习模型开发一个帮助医生断定病人风险的应用,除了最终的断定结果以外,我可能还须要了解模型产生这样的断定是基于病人哪些因素的考虑。若是一个模型彻底不可解释,那么在不少领域的应用就会由于没办法给出更多可靠的信息而受到限制。这也是为何在深度学习准确率这么高的状况下,仍然有一大部分人倾向于应用可解释性高的传通通计学模型的缘由。开发
不可解释一样也意味着危险,事实上不少领域对深度学习模型应用的顾虑除了模型自己没法给出足够的信息以外,也有或多或少关于安全性的考虑。好比,下面一个很是经典的关于对抗样本的例子,对于一个 CNN 模型,在熊猫的图片中添加了一些噪声以后却以 99.3% 的几率被断定为长臂猿。