BBD技术控 | 模型的可解释性与可视化探索(上)

作者:杨艾森,德国奥格斯堡大学经济数学硕士,
BBD模型中心高级大数据建模工程师,
负责模型的创新应用和落地工作。

01.
当谈到模型可解释性时我们通常谈什么

1.1.人工智能在我们日常生活中扮演着越来越重要的角色。

随着AI解决方案在金融、监管、司法、医疗和教育等领域的广泛应用,如何提升对模型工作机理的直接理解,打开人工智能的黑盒子,就变得愈发重要。特别是在需要可靠性和安全性的高风险领域(例如医疗、运输等),以及具有重大经济影响的关键金融和监管领域(例如银行、保险、监管部门等),提高模型的透明度和可解释性,协助业务专家建立对模型的信任,已经成为机器学习系统解决方案是否最终被采用的前提。

模型可解释性的意义主要体现在建模前的知识发现,以及建模后的模型验证和诊断。模型可解释性作为知识发现的重要手段,可以被广泛地应用到数据挖掘领域,包括从海量数据中自动挖掘隐含的新知识、辅助机器学习模型提取数据映射模式,以及用于辅助分析与决策,从而提高人工分析和决策的效率等。比如,在智慧医疗领域,可将机器学习模型及可解释性技术应用于开发自动化智能诊断系统,辅助医护人员分析病人的医疗诊断数据,提升人工诊断效率;在化学领域,可将机器学习模型可解释性方法引入到分子模拟任务中,用于辅助分析分子结构与分子性质之间的关系。

模型的可解释性方法可以弥补传统模型验证方法的不足,从而消除模型在实际部署应用中的潜在风险。由于对模型工作机理没有掌握完全,模型可能会输出与业务目标不一致的结果,从而在特定文化语境和业务背景下导致很严重的后果。基于可解释的方法,可以明确模型的某个决定是如何做出的,令每个输出结果可回溯,从而使模型结果在业务场景下更可控。反面例子包括,在由三位机器人担任评委的第一届Beauty.AI选美大赛上,当评比结果公布后(最终脱颖而出的44位胜出者中,有37张面孔是白种人,而黄色人种和黑色人种分别只有6名和1名),很多选手抗议评委有种族歧视。虽然大赛组委会赛前曾表示肤色并不在机器人评分的范畴之中,但主办方对评比结果给出的解释是,机器人判断更深的肤色或不连续的光线有困难。

模型可解释性研究目前面临的挑战包括:

(i)定义模型的可解释性;

(ii)制定可解释性的任务,并为这些任务开发可解释的模型解决方案;

(iii)设计用于评估模型在可解释性任务中的性能方法。

本文从模型可解释性的定义出发,结合项目落地经验,从建模前的可解释性、可解释的模型以及建模后的可解释性几个方面,介绍在各个阶段模型可解释性结合业务目标的应用思路。

1.2.模型可解释性的呈现方式

图 1模型预测准确度与解释性之间做权衡

在实际机器学习建模任务中,建模人员需要在模型预测准确度与模型可解释性之间做权衡。简单模型(比如线性模型)虽然原理直观易理解,但常常因为拟合能力差,产生的结果偏差或者方差很高,导致准确率低而无法满足需要;而相对的,更为复杂的模型(集成模型、深度学习模型等)虽然拟合能力强,可以提高模型准确率,但通常是以牺牲模型的可解释性为代价的。

图 2黑箱模型与可解释模型

例如,在卷积神经网络训练时,模型方法往往是黑箱方法。首先基于训练集数据构建模型,在训练完成之后,模型可以对给定的输入图片进行评估,比如预测图片里面是不是一只猫,模型会输出一个概率值。通过这种方法,虽然模型可以实现很好的效果,却还是无法说明是如何做出决定的,或者哪些关键因素会影响模型做决定。

但恰恰是这些解释模型运行机理的问题,会直接影响我们从主观上是否愿意真正地相信一个模型。在建模的时候,为了更充分地了解一个模型,我们希望一个卷积神经网络模型不仅仅可以检测到一只小猫,还希望模型可以明确提示,它用第一个filter监测到了猫的头,第二个filter检测到了猫的尾巴。因为被这些细节触发,所以模型判断出图像中有一只猫。反过来也一样,当我们知道猫的分类得分是0.7,我还希望模型给出猫的头部所贡献的分数(0.3),猫胡子所贡献的分数(0.2)。总的来说就是,在解释模型的这一条路上,模型输出的概率只是第一步,我们还希望知道,这个概率是如何被计算出来的,为什么模型对于某些类型的数据效果尤其好,但对另外一些类型的数据效果较为一般。还有当我们希望根据实际场景对模型进行调整的时候,模型可以提供一个系统的路径来实现。

图 3模型可解释型包含内容

针对模型的解释性,Kim等学者给出了不同的定义,比如:

“解释就是一个向人类说明的过程。”

也有从可回溯的角度来定义的,比如:

“可解释性是一个观察者可以理解一个决定背后原因的程度。”

还有的定义把解释(interpretation)和说明(explanation)分开进行了表达:

“解释,是将抽象概念映射到人可以理解的范畴;说明,是可解释范畴特征的汇总,基于给定的例子所做出的决策。”

这里也可以理解成,“解释”被看成是一个个人类基于经验和常识可以理解的概念,而“说明”被看成是通过对这些概念进行组合和加工,实现对输入信息的处理以及输出信息的创造。

结合模型项目落地,模型可解释性在项目不同阶段对应着不同的问题。在建模前,主要处理的是对建模数据集全貌的探索,包括明确特征业务的意义、探索特征规律和相互关联、拓展指标体系等等。

在有监督模型选择阶段,可解释性对应的问题包括算法本身的透明度以及模型预测驱动因素是否明确,比如算法的内部工作机制是否已被深入的研究和理解?算法相关的理论领域是否被研究透彻?每个特征是如何影响到模型预测结果的?是否可以根据预测结果回溯到模型决策的原因?各个特征对预测结果的影响重要性是否可以相互比较?

建模后阶段模型可解释性对应的问题包括对比不同实例的预测结果异同,以及在各个应用场景下如何建立模型信任机制,具体要处理的问题包括:某个特征或者多个特征组合值的变化如何影响到模型预测效果?模型适用于哪些业务场景?模型的预测结果是否与业务逻辑相符?除了预测结果,模型是否能输出更多的线索信息,辅助业务判断等等。

针对模型的可解释性定义,Kim给出了一组公式来概括建模前中后各阶段的任务:

其中Q是一个解释性的评价方程,E是实现可解释性的具体方法。整个过程就是让我们寻求这样一种解释方法:使拥有特定经验的人群(Human),针对特定数据(Data)和特定任务(Task),获得对于特定模型(Model)最大程度的理解。

结合标准建模流程,本文会分成上下两部分,分别对模型可解释性的以下三个部分做出介绍,包括:

(i)建模前的可解释与可视化探索,包括对数据本身可解释性的探索,以及基于统计分析的辅助决策;

(ii)可解释的模型,包括使用内在可解释的模型,以及开发具有可解释性的模型决策和结果输出策略;

(iii)建模后的模型可解释性与可视化,包括使用与模型无关的方法评估模型效果,以及探索特征对于最后结果的影响。

02.
建模前的可解释与可视化探索

构建模型之前,首先要做的是探索数据集的全貌,包括每个特征维度,以及多个特征维度作为一个整体展现出的特定特点。具体方法包括数据描述方法和数理统计方法等,比如特征的分布分析、相关性分析、分组差异性分析、数据可视化等。这一节主要从无监督聚类、数据字形和数据降维的角度,来举例说明建模前这一阶段可以用到的一些思路。

2.1.低维数据基于聚类的可视化探索

利用聚类方法探索数据主要的优势包括:

(i)获取未标记的数据比需要人工干预标记的数据更容易;

(ii)无监督方法可以帮助定位对有监督分类有用的特征;

(iii)无监督机器学习可以发现数据中标签以外的各种未知模式。

Iris鸢尾属植物数据集是一个历史悠久经典的数据集,它首次出现在著名的英国统计学家和生物学家Ronald Fisher 1936年的论文《The use of multiple measurements in taxonomic problems》中。数据集包括了三类不同的鸢尾属植物(Setosa, Versicolour, Virginica),每类收集了50个样本,每条记录都有 4 项特征:花萼长度、花萼宽度、花瓣长度、花瓣宽度。模型可以通过这4个特征预测鸢尾花卉属于哪一鸢尾属品种。

利用K-Means聚类算法,基于花萼长度(Sepal length)、花瓣长度(Petal length)、花瓣宽度(Petal width)三个数据维度进行聚类,得到下方右图结果:

图 4样本真实标签与聚类结果

图中左边是样本真实的标签,右边是基于K-Means聚类的结果。比对无监督方法聚类结果和样本真实标签之后,发现Setosa类别的花瓣宽度(Petal width)与另外两类区分较明显,因此可以在没有标签的情况下被区分出来。

2.2.高维数据的可视化探索尝试

图 5数据字形

数据字形是可以用来表示多维数据的符号。根据数据集本身的特点,可以通过调整字形的颜色、形状或对齐方式来表示数据的不同特征或值。比如在图5中,彩色圆圈被用于表示不同类型不同版本的操作系统以及浏览器。每一组四个彩色圆圈记录了用户使用某个浏览器访问服务器的信息的行为。对于类型圆圈,颜色代表不同类型的操作系统或浏览器;对于版本圆圈,颜色代表新老版本,新版本偏绿,老版本偏黄。图中可以看到,Windows/Internet Explorer 组合在数据中较常见,OSX和Safari组合也很常见。另外使用Windows和Safari与使用较新的操作系统和浏览器版本相关,而Linux用户和bot与较旧的操作系统和浏览器版本相关。

图 6数据字形(树叶)

除了彩色圆圈组合以外,其他的元素也可以通过数据字形的方式描绘不同维度的信息,比如树叶。花萼与花瓣的长度和宽度可以作为参数对树叶字形的外观进行调整。将数据字形与树状图结合,再使用层次聚类的方法对Iris数据集中部分样本进行聚类,可以得到下图效果。

图 7数据字形与层次聚类方法的结合

叶子字形可用于对层次聚类结构中的各个样本进行可视化描述。当接近终端叶子节点时,叶子字形的视觉结构会变得越来越精确和稳定。

2.3.高维数据的降维处理

降维方法可以将多维数据映射到适合人类观察的二维或三维,获取数据中的隐藏模式,适用于建模前的探索性数据分析。降维方法输出的结果,也可以进一步用作分类和聚类算法的输入参数。下图中,输入都是8×8像素的图像,共有64个维度,每个维度都包含一个特定像素的值。分别基于线性PCA方法和非线性t-SNE方法对数据集进行降维处理。从右边降维结果看到,大多数样本可以很好地区分开,并与各自的数字分组在一起(t-SNE效果更好一些)。基于降维方法探索数据集特点全貌后,可以使用聚类算法等方式,来挑选单独的聚类或分配标签,作为进一步分析的起点。

图 8数字图像数据降维结果


参考文献:
1)Chen, et al. “This Looks Like That: Deep Learning for Interpretable ImageRecognition.”ArXiv.org,28Dec. 2019, arxiv.org/abs/1806.10574.
2)Doshi-Velez,andKim. “Towards A Rigorous Science of Interpretable MachineLearning.” ArXiv.org, 2 Mar. 2017, arxiv.org/abs/1702.08608.
3)Doshi-Velez, Finale, and Been Kim.”Considerations for Evaluation and Generalization in Interpretable Machine Learning.”The Springer Series on Challenges in Machine Learning Explainable and Interpretable Models in Computer Vision and Machine Learning,2018,pp.3–17., doi:10.1007/978-3-319-98131-4_1.
4)Fuchs,Johannes,etal.”Leaf Glyphs:Story Telling and Data AnalysisUsingEnvironmental Data Glyph Metaphors.”Communications in Computer and Information Science Computer Vision, Imaging and Computer Graphics Theory and Applications,2016,pp.123–143., doi:10.1007/978-3-319-29971-6_7.
5)Hall,Patrick,etal.”Ideas on Interpreting Machine Learning.” O’ReillyMedia,15Mar.2017,www.oreilly.com/radar/ideas-on-interpreting-machine-learning/.
6)Jaju,Saurabh,etal.”Guide to t-SNE Machine Learning Algorithm ImplementedinR&Python.”AnalyticsVidhya,9Oct.2019,www.analyticsvidhya.com/blog/2017/01/t-sne-implementation-r-python/.
7)Macdonald,etal.”A Rate-Distortion Framework for Explaining NeuralNetworkDecisions.”ArXiv.org,27May2019,arxiv.org/abs/1905.11092.
8)Molnar, Christoph.”Interpretable Machine Learning.” Christoph Molnar, 1 June 2020, christophm.github.io/interpretable-ml-book/.
9)scikitlearn.org,”MeansClustering.”,scikitlearn.org/stable/auto_examples/cluster/plot_cluster_iris.html.
10)Slundberg.”Slundberg/Shap.”GitHub,22May2020,github.com/slundberg/shap.
11)Tam,Greg.”Interpreting Decision Trees and Random Forests.”PivotalEngineeringJournal,PivotalSoftware,Inc.,19Sept.2017,engineering.pivotal.io/post/interpreting-decision-trees-and-random-forests/.
12)Ying, et al. “GNNExplainer: Generating Explanations for Graph Neural Networks.”ArXiv.org, 13 Nov. 2019, arxiv.org/abs/1903.03894.