你好,我是王天一。
2012年,深度学习领域的泰斗级人物Geoffrey Hinton和他的学生Alex Krizhevsky设计出的AlexNet,在当年的ImageNet大规模视觉识别挑战赛上一举夺魁。自此,深度学习走入了大众视野,各种新型的深度神经网络也如雨后春笋一般脱颖而出,不断提升着图像识别、自然语言处理、机器翻译等任务的性能,逐渐成为人工智能的代表性技术。
然而,即使深度学习在性能上已经不断走向极致,其在原理上仍然存在着一个严重的缺陷,那就是可解释性的欠缺。尽管深度学习能够取得接近100%的识别精度,但我们对其工作原理的理解仅限于它的层次化特点,即深度网络的较低层次提取出的是目标的基础特征,这些基础特征会在较高层次组合成更加复杂的特征,这一过程在深度神经网络中不断递进,从而形成分类的依据。
但在具有几百甚至上千层的深度网络中,每个层次到底提取出的是什么级别的特征,每一个神经元又对提取出的特征有什么样的贡献,目前研究者们对这些原理性的问题依然一头雾水。由于无法解释做出预测的依据,深度神经网络被认为是典型的黑盒模型,这也给深度学习在医疗诊断、法律判断和自动驾驶等错误代价很高的场景下的应用提出了不小的挑战。
因此,构建可解释机器学习(eXplainable Machine Learning)也逐渐成为人工智能研究的热点之一,其目标可以理解成不仅对机器学习能够“知其然”——理解其预测结果是什么,还能够“知其所以然”——解释模型预测结果的形成机制。

模型可解释性与复杂性的矛盾
直观看来,模型的可解释性和模型的复杂性呈负相关的关系,越复杂的模型,如深度神经网络,它的可解释性就越差,但这类模型的性能通常也会更好。在标尺的另一端,建立在基于“因为-所以”式逻辑的手工定义的规则集之上的推理方法具有最强的可解释性,这类方法的集大成者就是早期人工智能的代表性应用——专家系统。
但这简单判断的效果也难以尽如人意,毕竟现实世界光怪陆离,不存在那么多非黑即白的情况。处于它们之间、兼顾可解释性与精确性的典型模型是决策树:构成决策树的每一条规则都很明确,多条规则以不同方式组合起来也能确保模型适用于各种各样的情况。可一旦出于提升精度的考虑,将多个决策树集成为XGBoost或随机森林,其可解释性又变成了难题。
机器学习模型的两种解释方法
整体来看,机器学习模型的可解释性主要来源于模型本身,解释方法可以分为事前可解释和事后可解释两类。
事前可解释性(Ante-hoc Explainability)指模型本身天然具备可解释性,无需额外的信息,只根据模型结构就可以理解模型的决策过程或决策依据,由于这种可解释性发生在模型训练之前,因而也称为事前可解释性。
相比之下,事后可解释性(Post-hoc Explainability)的对象是给定的训练好的学习模型,旨在构建学习模型的工作机制和决策依据。这种方法在模型训练后进行解释,将解释与模型分离,具有更大的灵活性。下面,我们分别介绍这两种方法。

事前可解释性方法
具有事前可解释性的模型一般比较简单,其可解释性来源于模型本身的结构,因此这种特性也叫自解释性。还是以前面提到的决策树为例,每一棵决策树都由表示属性的内部节点和表示类别的叶子节点组成,树中每一条从根节点到不同叶子节点的路径都代表着一条不同的决策规则,因而每一棵决策树都可以被重构为一系列if-then形式的决策规则。在每个节点上将决策规则运用到样本属性上,来判定样本到底走向左分支还是右分支。由此可见,决策树的每一次决策都有与样本属性直接相关的明确判定依据,输出的结果也就完全有迹可循。
自解释模型通常满足可分解性,即模型的每个部分,包括模型结构、模型参数、每个输入的每一维属性都允许直观的解释。在决策树中,对于新的观测样本,就可以结合内部节点中的条件测试从上到下遍历决策树,每个节点包含了特征值的条件测试,可以判定样本适用于哪条规则和属于哪个分支,每一条规则本身也为最终的分类结果提供了解释。此外,决策树模型自带的基于信息论的属性筛选标准也有助于理解在决策过程中,哪些变量起到了更加显著的作用。
自解释模型的问题在于其必须不能过于复杂,只有具有合理的规模才能具有人类能够理解的可解释性。对于以决策树为代表的基于规则的模型,如果树的深度太深(例如超过十层)或者模型的规则太复杂(例如达到百条量级),就容易超出人类的理解范畴。但如果模型结构太简单,其拟合能力必然受限,由此而导致的欠拟合可能造成学习出错误的特征,也可能生成与人类认知相违背的结果。因此,自解释模型的可解释性与准确性之间是鱼与熊掌不可兼得的一对矛盾体。
针对深度神经网络可解释性欠缺的问题,研究者也在尝试从模型角度给出解决方案,眼下大热的注意力机制(Attention)就是典型代表。注意力机制源于对人类认知神经学的研究,由于信息处理的瓶颈,人脑可以有意无意地从大量输入中筛选出少量有用信息来重点处理,忽略其他可见的信息,这就是人脑解决信息超载问题的注意力机制。
近年来,基于注意力机制的神经网络已成为神经网络研究的一大热点,以图片描述生成任务为例,首先利用卷积神经网络提取图片特征,然后基于提取的特征,利用带注意力机制的循环神经网络生成描述,其中注意力的作用在于实现单词与图片之间的对齐,而注意力权重矩阵则可以体现模型在生成每一个单词时所对应的感兴趣的图片区域。
事后可解释性方法
与自解释模型侧重于网络结构的特点不同,事后可解释性的重点在于设计恰当的解释方法或解释模型。根据解释目的和解释对象的不同,事后可解释性又可以分为全局可解释性和局部可解释性。
全局可解释性旨在从整体上理解模型背后的复杂逻辑以及内部的工作机制,如模型是如何学习的、学到了什么、如何实现决策等问题;局部可解释性则旨在理解学习模型针对每个特定输入样本的决策过程和决策依据,这意味着以数据为导向,计算输入样本的每一维特征对最终决策结果的贡献。
在实际应用中,由于模型算法的不透明性、模型结构的复杂性以及应用场景的多元性,提供全局解释通常比提供局部解释更加困难,所以针对局部可解释性的研究更加广泛,局部解释方法也更加普遍。
从逻辑学出发,早期的全局可解释性方法主要聚焦于从模型中提炼规则,这可以比喻为对黑箱模型进行开箱,将模型表示为可理解的规则的组合。但当模型的结构过于复杂时,从整体上理解模型的决策逻辑几乎是不可能的,即使能够将相应的决策逻辑转化为规则,这规则本身也会难以理解。因而从实际操作上看,退而求其次的做法是降低待解释模型的复杂度,其典型的方法就是模型蒸馏。
模型蒸馏是经典的模型压缩方法,其核心思想是利用结构紧凑的学生模型(Student Model)来模拟结构复杂的教师模型(Teacher Model),完成从教师模型到学生模型的知识迁移过程,从而实现对教师模型的“蒸馏”。由于模型蒸馏的难点在于如何在压缩模型结构的同时保留教师模型学习到的知识及其泛化能力,蒸馏任务的损失函数通常也由表示决策性能的硬损失函数和表示所学知识的软损失函数两部分构成。
在采用模型蒸馏作为全局解释方法时,学生模型通常采用可解释性好的模型,如决策树、广义加性模型或浅层神经网络来实现。前面提到的Geoffrey Hinton曾提出一种蒸馏方法,通过训练单一的简单网络来模拟原始复杂网络或集成网络模型的预测概率,以此来提炼复杂网络的决策过程,并且证明单一网络几乎能达到与复杂网络相同的性能。这种方法的核心在于化繁为简,而且不依赖待解释模型的具体结构信息,是模型无关的解释方法,其缺点则在于简化的模型未必足以表示复杂模型所蕴含知识的所有细节,解释结果的质量可能较低。
和全局解释方法相比,局部解释的方法更加多样。反向传播是深度学习的奠基性技术,也可以被用来评估输入样本不同属性的重要性,从而给出对不同属性的贡献度评价,作为对模型的一种解释方式。利用反向传播计算卷积神经网络的输出相对于输入图像的梯度,可以求解出该输入图像的分类显著图,从而识别出输入图像哪些部分是激活神经网络的重点部分。
局部代理解释法可缩写为LIME(Local Interpretable Model-agnostic Explanations),是一种模型无关的局部解释方法,其主要思想是通过对输入样本添加微扰,并观察模型输出的波动,再根据观察到的波动在原始输入上训练一个线性模型来对待解释模型的预测结果做出局部近似,线性模型中系数较大的属性可看作是影响输出结果的重要因素。
这种方法如其名称所示,只能捕获模型的局部特征,对每个不同的输入样本都需要重新训练一个解释模型来拟合待解释模型在该实例附近的决策边界,因而效率不高。类激活映射利用了卷积神经元的定位能力,通过将输出层的权重投影到卷积特征图上来识别输入图像中的重要区域。其核心操作是利用全局平均池化层来代替卷积神经网络中除softmax层以外的所有全连接层,以便充分利用在全连接层中损失掉的位置信息。这种方法有助于保留神经元的定位能力,但只适用于使用卷积运算的深度网络。
总结
深度学习虽然在性能上已经不断走向极致,但在原理上仍然存在着一个严重的缺陷,那就是可解释性的欠缺。今天,我们重点讲解了构建可解释机器学习的两种方法:事前可解释性和事后可解释性。
事前可解释性通过设计自解释模型(如决策树的if-then规则)实现透明决策,事后可解释性则从全局(模型蒸馏)或局部(LIME、显著图)角度破解黑箱逻辑。不难看出,虽然不同方法的侧重点有所差异,但是模型可解释性的强化基本都以准确性的牺牲为代价。要构建出兼顾性能与可解释性的人工智能,恐怕还是要从人脑的思维方式出发,以借鉴仿生学的方式为机器建立真正的思考能力。
如果你有新的想法,欢迎在留言区和我一起分享和交流,我们下一节见。
精选留言