近年来,机器学习在计算机视觉、自然语言处理、语音识别等多个领域取得了巨大的成功,机器学习模型也被广泛地应用到一些重要的现实任务中,如人脸识别、自动驾驶、恶意软件检测 和智慧医疗分析等。
然而,由于机器学习缺乏可解释性,在应用方面受到许多制约。例如DNN模型,就如同一个黑盒,给予一个输入,得到一个决策结果,但是我们无法确切地知道它背后的决策依据以及它做出的决策是否可靠。可解释性的缺乏,将有可能给实际任务中,尤其是安全敏感任务中的许多基于DNN的应用带来严重的威胁。比如说,缺乏可解释性的自动医疗诊断模型可能给患者带来错误的治疗方案,甚至严重威胁患者的生命安全。
在数据挖掘和机器学习场景中,可解释性被定义为向人类解释或以呈现可理解的术语的 能力。
在机器学习中还有2个概念: 模型准确性 (accuracy)和 模型复杂度 (model complexity)。
模型的准确性 反映了模型的拟合能力以及在某种程度上准确预测未知样本的能力。
模型的复杂度 反映了模型结构上的复杂性,这只与模型本身有关,而与模型的训练数据无关。例如,在线性模型中,模型的复杂度由非零权重的个数来体现;在决策树模型中,模型的复杂度由树的深度体现;在神经网络模型中,模型复杂度则由神经网络的深度、宽度、模型的参数量以及模型的计算量来体现。
模型的复杂度与模型准确性相关联,又与模型的可解释性相对立。通常情况下,结构简单的模型可解释性好,但拟合能力差,往往准确率不高。结构复杂的模型,拟合能力 强,准确性高,但由于模型参数量大、工作机制复杂、透明性低,因而可解释性又相对较差。
机器学习模型可解释性总体上可分为2类:
1. 自解释模型 对于自解释模型,我们从2个角度考虑模型的可解释性和透明性,即 模型整体的可模拟性 (simulatability)和 模型单个组件的可分解性 (decomposability)。
当我们认为某个模型是透明的,那么我们一定能从整体上完全理解一个模型,也应该能够将输入数据连同模型的参数一起,在合理的时间步骤内完成产生预测所需的每一个计算 (即整体上的可模拟性)。比如在朴素贝叶斯模型中,由于条件独立性的假设,我们可以将模型的决策过 程转化为概率运算。在线性模型中,我们可以基于模型权重,通过矩阵运算线性组合样本的特征值,复现线性模型的决策过程,其中模型权重体现了特征之间的相关关 系。而在决策树模型中,每一棵决策树都由表示特征或者属性的内部节点和表示类别的叶子节点组成,树的每一个分支代表一种可能的决策结果。决策树中每一条从根节点到 不同叶子节点的路径都代表着一条不同的决策规则,因而每一棵决策树都可以被线性化为一系列由if-then形式组成的决策规则。因此,对于新的观测样本,我们可以通过从上到下遍历决策树,结合内部节点中的条件测试,基于if-then决策规则判定样本是否必须遵循左或右分支来模拟决策树的决策过程。
自解释模型的可分解性要求模型的每个部分,包括模型结构、模型参数,模型的每一个输入以及每一维特征都允许直观的解释。这要求自解释模型结构一定不能过于复杂。因此,自解释模型的内置可解释性与模型准确性之间始终存在一个平衡。
2. 广义加性模型 广义加性模型既能提高简单线性模型的准确率,又能保留线性模型良好的内置可解释性。广义加性模型一般形式为: x i 与最终决策目标之间的关系,因而可以捕获到每一个特征与最终决策目标之间的非线性关系,因此广义加性模型准确率高于简单线性模型。又因为广义加性模型通过简单的线性函数组合每一个单特征模型得到最终的决策形式,消除了特征之间的相互作用,因此可以保留简单线性模型良好的可解释性,从而解决了复杂模型因为特征之间复杂的相关关系而削弱自身可解释性的问题。
3. 注意力机制 神经网络模型由于模型结构复杂,算法透明性低,因而模型本身的可解释性差。因此,神经网络模型的自身可解释性只能通过额外引入可解释性模块来实现,一种有效的方法就是引入注意力机制。
注意力机制源于对人类认知神经学的研究。在认知科学中,由于信息处理的瓶颈,人脑可以有意或无意地从大量输入信息中选择小部分有用信息来重点处理,同时忽略其他可见的信息,这就是人脑的注意力机制。在计算能力有限的情况下,注意力机制是解决信息超载问题的一种有效手段,通过决定需要关注的输入部分,将有限的信息处理资源分配给更重要的任务。
post-hoc可解释性旨在利用解释方法或构建解释模型,解释学习模型的工作机制、决策行为和决策依据。
1. 全局解释
规则提取 规则提取技术以难以理解的复杂模型或黑盒模型作为手点,利用可理解的规则集合生成可解释的符号描述,或从中提取可解释模型(如决策树、基于规则的模型等),使之具有与原模型相当的决策能力。然而,规则提取方法提取的规则往往不够精确,因而只能提供近似解释,不一定能反映待解释模型的真实行为。
模型蒸馏 当模型的结构过于复杂时,要想从整体上理解受训模型的决策逻辑通常是很困难的。解决该问题的一个有效途径是降低待解释模型的复杂度,而模型蒸馏(model distillation)则是降低模型复杂度的一个最典型的方法。然而,蒸馏模型只是对原始复杂模型的一种全局近似,它们之间始终存在差距。
激活最大化 激活最大化方法思想较为简单,即通过寻找有界范数的输入模式,最大限度地激活给定的隐藏单元,而一个单元最大限度地响应的输入模式可能是 一个单元正在做什么的良好的一阶表示。激活最大化解释方法是一种模型相关的解释方法,相比规则提取解释和模型蒸馏解释,其解释结果更准确,更能反映待解释模型的真实行为。然而,激活最大化方法只能用于优化连续性数据,无法直接应用于诸如文本、图数据等离散型数据,故该方法难以直接用于解释自然语言处理模型和图神经网络模型。
2. 局部解释 与全局可解释性不同,模型的局部可解释性以输入样本为导向,通常可以通过分析输入样本的每一维特征对模型最终决策结果的贡献来实现。经典的局部解释方法包括敏感性分析解释、局部近似解释、梯度反向传播解释、特征反演解释以及类激活映射解释等。
敏感性分析 核心思想是通过逐一改变自变量的值来解释因变量受自变量变化影响大小的规律。敏感性分析作为一种模型局部解释方法,被用于分析待解释样本的每一维特征对模型最终分类结果的影响,以提供对某一个特定决策结果的解释。 根据是否需要利用模型的梯度信息,敏感性分析方法可分为模型相关方法和模型无关方法。模型相关方法利用模型的局部梯度信息评估特征与决策结果的相关性。在模型无关敏感性分析方法中,待解释模型可以看作是黑盒,我们无需利用模型的梯度信息,只关注待解释样本特征值变化对模型最终决策结果的影响。 敏感性分析方法提供的解释结果通常相对粗糙且难以理解。此外,敏感性分析方法无法解释特征之间的相关关系对最终决策结果的影响。
局部近似 核心思想是利用结构简单的可解释模型拟合待解释模型针对某一输入实例的决策结果,然后基于解释模型对该决策结果进行解释。该解释方法实现简单,易于理解且不依赖待解释模型的具体结构,适于解释黑盒机器学习模型。但解释模型只是待解释模型的局部近似,因而只能捕获模型的局部特征,无法解释模型的整体决策行为。针对每一个输入实例,局部近似解释方法均需要重新训练一个解释模型来拟合待解释模型针对该实例的决策结果,因而此类方法的解释效率通常不高。此外,大多数的局部近似解释方法假设待解释实例的特征相互独立,因此无法解释特征之间的相关关系对决策结果的影响。
反向传播 核心思想是利用DNN的反向传播机制将模型的决策重要性信号从模型的输出层神经元逐层传播到模型的输入以推导输入样本的特征重要性。然而,从理论上易知,如果预测函数在输入附近变得平坦,那么预测函数相对于输入的梯度在该输入附近将变得很小,进而导致无法利用梯度信息定位样本的决策特征。此外,梯度信息只能用于定位重要特征,而无法量化特征对决策结果的重要程度,利用基于重要性或相关性反向传播的解释方法则可以解决该问题。
特征反演 尽管敏感性分析、局部近似以及梯度反向传播等方法在一定程度上可以提供对待解释模型决策结果的局部解释,但它们通常忽略了待解释模型的中间层,因而遗漏了大量的中间信息。而利用模型的中间层信息,我们能更容易地表征模型在正常工作条件下的决策行为,进而可提供更准确的解释结果。特征反演(feature inversion)作为一种可视化和理解DNN 中间特征表征的技术,可以充分利用模型的中间层信息,以提供对模型整体行为及模型决策结果的解释。特征反演解释方法可分为模型级(model-level) 解释方法和实例级(instance-level)解释方法。
以冰原狼与哈士奇的分类为例,由于训练集中所有冰原狼样本图片的背景均为雪地,导致分类模型可能从训练集中学到数据偏差从而将雪作为冰原狼的分类特征,又由于验证集与训练集同分布,模型在验证集上的分类性能与在训练集上的性能同样优异,因而导致传统的模型验证方法将该模型识别为一个好的分类模型。很显然,这样的模型通常是不可靠的,一旦模型在推理阶段遇到背景为雪地的哈士奇样本图片,分类模型会做出错误的决策,而模型的这种行为将会给实际场景尤其是风险敏感场景中的真实应用带来潜在的威胁。
模型可解释性研究的初衷是通过构建可解释的模型或设计解释方法提高模型的透明性,同时验证和评估模型决策行为和决策结果的可靠性和安全性,消除模型在实际部署应用中的安全隐患。然而,模型可解释性相关技术同样可以被攻击者利用以探测机器学习模型中的“漏洞”,因而会给机器学习模 型以及真实应用场景中尤其是风险敏感场景中的机器学习应用带来威胁。此外,由于解释方法与待解释模型之间可能存在不一致性,因而可解释系统或可解释方法本身就存在一定的安全风险。
对于 对抗样本 ,现存防御方法大多数是针对某一个特定的对抗样本攻击设计的静态的经验性防御,因而防御能力极其有限。然而,不管是哪种攻击方法,其本质思想都是通过向输入中添加扰动以转移模型的决策注意力,最终使模型决策出错。由于这种攻击使得模型决策依据发生变化,因而解释方法针对对抗样本的解释结果必然与其针对对应的正常样本的解释结果不同。因此,我们可以通过对比并利用这种解释结果的反差来检测对抗样本,而这种方法并不特定于某一种对抗攻击,因而可以弥补传统经验性防御的不足。
尽管可解释性技术是为保证模型可靠性和安全性而设计的,但其同样可以被恶意用户滥用而给实际部署应用的机器学习系统带来安全威胁。比如说,攻击者可以利用解释方法探测能触发模型崩溃的模型漏洞,在对抗攻击中,攻击者还可以利用可解释方法探测模型的决策弱点或决策逻辑,从而为设计更强大的攻击提供详细的信息。
由于采用了近似处理或是基于优化手段,大多数解释方法只能提供近似的解释,因而解释结果与模型的真实行为之间存在一定的不一致性。而最新研究表明,攻击者可以利用解释方法与待解释模型之间的这种不一致性设计针对可解释系统的新型对抗样本攻击,因而严重的威胁着可解释系统的自身安全。根据攻击目的不同,现存针对可解释系统的新型对抗样本攻击可以分为2类:1)在不改变模型的决策结果的前提下,使解释方法解释出错;2)使模型决策出错而不改变解释方法的解释结果。
现存解释方法大多数是脆弱的,因此只能提供有限的安全保证。为保证机器学习及可解释性技术在实际部署应用中的安全,解释方法本身必须是安全的,而设计更精确的解释方法以消除解释方法与决策系统之间的不一致性则是提高解释方法鲁棒性进而消除其外在安全隐患的重要途径。
可解释性研究当前面临的一个挑战是如何设计更精确、更友好的解释方法,消除解释结果与模型真实行为之间的不一致;第2个挑战是如何设计更科学、更统一的可解释性评估指标,以评估可解释方法解释性能和安全性。
如何设计可解释的机器学习模型以消除模型准确性与可解释 性之间的制约是ante-hoc可解释性研究所面临的一大挑战,也是未来可解释性研究发展的一个重要趋势。
当前post-hoc可解释性相关研究面临的巨大挑战是如何设计忠实于决策模型的安全可保障的精确解释方法,以消除解释结果与模型真实行为之间的不一致性,从而保证解释结果的可靠性和安全性。
目前,可解释性研究领域缺乏一个用于评估解释方法的科学评估体系。
对于ante-hoc可解释性而言,其评估挑战在于如何量化模型的内在解释能力。
对于post-hoc可解释性而言,其评估挑战在于如何量化解释结果的保真度和一致性。