AAAI/CVPR论文详解 | 万字长文了解可解释AI工具及技术的最新进展
原创Synced机器之心 2022-09-14 12:25 发表于北京
机器之心分析师网络
作者:仵冀颖编辑:H4O
本文聚焦于研究和开发可解释性工具的内容,对AAAI-2022《Tutorial on Explanations in Interactive Machine Learning》提及的三类可解释性工具/方法(局部可解释性、规则可解释性、概念可解释性)进行了解读,重点了解可解释性工具和方法的最新研究进展。
1 背景
近年来,学术界、工业界以及政府部门对 AI 伦理的重视程度日益加强,从 AI 伦理监管政策到 AI 伦理技术手段,提升 AI 伦理合规性和打造 AI 伦理技术工具、产品服务成为不断提升 AI 市场竞争优势的一个核心点。从工业界的具体实践角度看,国外的主流科技公司,包括 IBM、微软、Google 等,以及国内的腾讯、微博、美团等,都持续加大对 AI 伦理的研究和实践,腾讯研究院还发布了业内首份《可解释 AI 发展报告 2022—打开算法黑箱的理念与实践》。
可解释 AI 是一个非常庞杂的领域,除了涉及 AI 算法 / 模型等技术,还涉及伦理、法律法规等问题。同时,追求可解释 AI 还需要平衡 AI 的效率和性能的问题。因此,可解释 AI 是一个有待进一步探索的长期问题,也是迫切需要解决的关键问题。从可解释 AI 研究的切入点角度来说,目前主要可以分为两类,一类是关注如何促进模型透明性,例如,通过控制或解释 AI 模型 / 算法的训练数据、输入输出、模型架构、影响因素等,提高模型的透明性,使监管部门、模型使用者以及用户能够更加容易理解 AI 模型;另一类则是研究和开发可解释性工具,即利用工具对已有的 AI 模型进行解释,例如微软的用于训练可解释模型、解释黑盒系统的开源软件包 InterpretML、TensorFlow 2.0 可解释性分析工具 tf-explain、IBM 的 AI Explainability 360 toolkit 等。
本文聚焦于研究和开发可解释性工具的内容,对 AAAI-2022《Tutorial on Explanations in Interactive Machine Learning》提及的三类可解释性工具 / 方法(局部可解释性、规则可解释性、概念可解释性)进行了解读,重点了解可解释性工具和方法的最新研究进展。
在刚刚过去的 AAAI-2022 中,有一个专门的 tutorial 介绍交互式机器学习的可解释性。整个 tutorial 由四名专家分别介绍了动机和挑战、通过局部解释进行交互、通过基于规则的解释进行交互和通过基于概念的解释进行交互四部分内容[2],聚焦于可解释性工具,即从技术角度上提升 AI 模型本身的可解释性,使其对于用户来说更加“透明”。
2 通过局部解释进行交互
通过局部解释进行交互的方法是最常见的可解释 AI 方法,即给定一个预测器和一个目标决策,输入属性确定哪些输入变量与决策 "最相关",我们比较熟悉的 SHAP 解释模型(SHapley Additive exPlanation)、LIME 解释器(Local Interpretable Model-agnostic Explanations)都属于这一类方法。
基于局部解释方法的特点包括:
- 使用户能够建立个别预测的心理模型;
- 较难获取足够多的样本来获得模型决策过程的概况;
- 可能会根据用户观察到的样本而产生偏见。
本文从 AAAI-2022 的 tutorial 中选择一种方法,即 FIND,来进行解读。本文正式发表在 EMNLP 2020 中,相关代码已公布 https://github.com/plkumjorn/FIND。
FIND: Human-in-the-Loop Debugging Deep Text Classifiers
由于获得一个完美的训练数据集(即一个相当大的、无偏见的、能很好地代表未见案例的数据集)几乎是不可能的,许多现实世界的文本分类器是在现有的、不完美的数据集上训练的。因此,这些分类器有可能具有不理想的特性。例如,它们可能对某些子群体有偏见,或者由于过度拟合而在实际环境中不能有效工作。本文提出了一个框架,使人类能够通过禁用不相关的隐藏特征来调试深度学习文本分类器[3]。作者将这个框架命名为 FIND(Feature Investigation aNd Disabling,特征调查和禁用)。FIND 利用一种解释方法,即层级相关性传播(layer-wise relevance propagation,LRP)[1],来理解分类器预测每个训练样本时的行为。然后,它使用词云汇总所有信息,以创建一个模型的全局视觉图,使得人类能够理解由深度分类器自动学习的特征,然后在测试期间禁用一些可能影响预测准确性的特征。
LRP 是一种基于深度泰勒分解的解释方法,利用输入特征的重要性分数来解释神经网络预测。LRP 利用深度泰勒分解技术,通过预先训练的网络,将输出的相关性向后分配,并确定节点对分类的贡献。根据激活度和网络权值,通过在下一层传播相关性来获得每层的相关性。解释器给出了与输入图像具有相同维数的像素级热图,从而可视化了输入图像中对所选类别有贡献的重要区域。
现代 NLP 模型通常是端到端的,没有显式编码语义特征,理解和分析它们的工作都不直观,所以人们很想知道模型到底都学到了什么。如图 1 所示,NLP 黑盒模型很难清晰的表征单词 (x) 和类别概率 (p) 之间的关联关系:
图 1. 单词 (x) 和类别概率 (p) 之间的关联难以映射 (图片来自 Tutorial slides, https://sites.google.com/view/aaai22-ximl-tutorial)
一般来说,深度文本分类器可以分为两部分。第一部分进行特征提取,将输入文本转化为代表输入的密集向量(即特征向量)。第二部分进行分类,将特征向量通过密集层后,用 softmax 激活来获得预测的类的概率。这些深度分类器都是不透明的,因为人类无法解释中间向量或用于特征提取的模型参数的含义。这使得人类无法运用他们的知识来修改或调试分类器。相反,如果我们了解每个特征中捕获了输入的哪些模式或质量,就可以理解模型的整体推理机制,因为分类部分的密集层就变得可解释了。本文通过引入 LRP,检查每个特征检测到的输入模式是否与分类有关。另外,这些特征可以应用于密集层以支持正确的类别。图 2 具体展示了 FIND 的架构。
图 2. FIND 调试框架概述
考虑一个包含 | C | 个类别的文本分类任务,其中 C 是所有类别的集合,V 表征语料库(词汇)中唯一的词汇集合。给定训练数据集 D = {(x_1, y_1), ..., (x_N, y_N)},其中 x_i 是第 i 个文档,包含 L 个词的序列[xi1, xi2,..., xiL],y_i 为 x_i 的类别标签。使用一个在数据集 D 上训练的深度文本分类器 M 将一个新的输入文件 x 归入其中一个类别 M(x) 。M 可以分为两部分—特征提取部分 M_f 和分类部分 M_c:
其中,f 为 x 的特征向量,W 和 b 为 M_c 的层参数。最终输出为预测概率向量 p。
为了了解模型 M 是如何工作的,作者分析了激活每个特征 f_i 的输入模式或特征。具体来说,使用 LRP,对于训练数据集中的样本 x_j 的每一个 f_i,我们计算一个相关性向量 r_ij,以表征 x_j 中每个词对于 f_i 值的相关性分数(贡献)。具体的,对于一个一般的神经网络
- z_ij 为神经元 i 神经元 i 与神经元 j 之间的权重
- 把所有神经元到神经元 j 的 z_ij 合起来加上 bias term 偏置项,得到上一层所有神经元到神经元 j 的向量 zj
- 经激活函数 g 处理得到下一层神经元 xj
了解特定神经元与分类决策函数 f(x)的相关性 R_j ^( l + 1 ),希望根据发送到前一层的神经元的消息来获得这种相关性的分解,将这些消息记作 R_ (i ← j)。
l + 1 层的某个神经元 j 的相关性 = l + 1 层的神经元 j 给 l 层所有神经元的相关性之和。
x_j 和 f_i 的相关性向量 r_ij 可以依上式计算得到。
在对训练样本的所有 d 个特征执行上述操作后,可以生成词云来帮助用户更好地理解模型 M。这样就做到了:不清楚潜在特征是什么意思,但清楚它是如何映射到每个类别的,即模型的可解释性。
词云: 对于每个特征 f_i,创建(一个或多个)词云,以可视化输入文本中高度激活 f_i 的模式。这可以通过分析训练数据中所有 x_j 的 r_ij 并在词云中显示获得高相关性分数的词或 n-grams 来实现。作者表示,不同的模型架构可能有不同的方式来生成词云,以有效地揭示特征的行为。
本文选择 CNN 作为分类器,来自训练样本的每个特征都有一个包含 n-grams 的词云,由 CNN 的 max-pooling 选择。如图 3,对应于过滤器大小为 2 的特征,给出了 bi-grams(例如,“love love”, “love my”, “loves his” 等),其字体大小与 bi-grams 生成的特征值的大小相对应。这与之前的工作分析 CNN 特征的方式类似,相当于使用 LRP 对输入的特征值进行反向传播,并裁剪出 LRP 得分不为零的连续输入词,显示在词云中。
图 3. 来自 CNN 的一个特征的词云(或字面意思是 n-gram)
如前所述,我们想知道学到的特征是否有效,是否与分类任务相关,以及它们是否从下一层获得适当的权重,可以通过让人类考虑每个特征的词云并告诉我们该特征与哪个类别相关来实现。
不过,在实际场景中这样的直接应用还是存在问题。如果一个词云接收的答案与它真实的类别(表征为 W)不同,则表明该模型存在问题。例如,假定图 3 中的词云表征情感分析任务中的特征 f_i,但 W 的第 i 列暗示 f_i 分类为“负面情感类别(negative sentiment class)”,则我们可以判断这个模型是不正确的。如果这个词云出现在产品分类任务中,这也是有问题的,因为词云中的短语对任何产品类别都不具有鉴别性,是无法给出正确的分类结果的。因此,作者进一步修正该方法,为用户提供了禁用与任何有问题的词云相对应的特征的处理方式。将 M_c 修正为 M’_c:
Q 是一个掩码矩阵,⊙是一个元素相乘的运算符。最初,Q 中的所有元素都是能够实现特征和输出之间所有连接的元素。为了禁用特征 f_i,将 Q 的第 i 列设置为零向量。禁用特征后,冻结 M_f 的参数并微调 M’_c 的参数 (除了掩码矩阵 Q) 在最后一步用原始训练数据集 D 进行微调。
作为示例,作者在 Yelp 数据库中进行了实验。Yelp 库用于预测餐厅评论的情绪(正面或负面),作者抽出 500 个样本作为 Yelp 的训练数据。使用 MTurk 上的人类反应来给特征分配等级。由于每个分类器有 30 个原始特征(d = 30),作者将它们分为三个等级(A、B 和 C),每个等级有 10 个特征。预计排名 A 的特征对预测任务最相关、最有用,而排名 C 的特征最不相关,可能会破坏模型的性能。
图 4 显示了来自 Yelp 数据集的三个 CNN 样本之一的平均特征分数的分布。图 5 给出了每个等级的词云的示例。我们可以清楚地看到这三个特征的不同质量。一些参与者回答说,图 5 中的等级 B 特征与正面类别相关(可能是由于 "delicious" 这个词),W 中这个特征的权重也是如此(正面:负面 = 0.137:-0.135)。有趣的是,图 5 中的等级 C 特征得到了负分,因为一些参与者认为这个词云与正面类别有关,但实际上模型将这个特征作为负面类别的证据(正面:负面 = 0.209:0.385)。
图 4. 在 Yelp 数据集上训练的 CNN 模型的平均特征分数的分布
图 5. 排名 A、B、C 的 CNN 特征的词云示例
3 通过基于规则的解释进行交互
通过基于规则的解释可以看做是一种基于全局解释的方法。基于全局解释方法的特点包括:
- 能够提供一个概述图;
- 能够避免表述性偏见;
- 这种全局简化的概述处理是以忠实性为代价的。
规则可以直接从数据中学习(白盒模型),也可以从模型的替代物中学习(黑盒模型)。现有基于规则的解释方法的区别主要在于“规则的复杂性、准确性、非重叠性” 这三方面。此外,他们在展示规则的方式上也有差异(决策列表、决策集)。为了准确反映决策边界,规则必须涵盖越来越窄的数据片 / 集,而这反过来会对可解释性产生负面影响。我们也从 tutorial 给出的方法中选择一篇进行深入解读。
Machine Guides, Human Supervises: Interactive Learning with Global Explanations
本文是 AAAI 2021 中的一篇文章,提出了解释性引导学习(explanatory guided learning,XGL),这是一种新型的交互式学习策略,在这种策略中,机器引导人类监督者为分类器选择信息丰富的样本。这种引导是通过全局解释来提供的,全局解释总结了分类器在样本空间的不同区域的行为,并暴露出其缺陷。与其他由机器发起并依赖局部解释的解释式交互学习策略相比,XGL 的设计是为了应对机器提供的解释超过分类器质量的情况。此外,XGL 利用全局解释来打开人类发起的互动的黑匣子,使监督员能够选择挑战所学模型的信息样本。XGL 最大的优势在于:规则可以是简单的,同时用来指导人类的反馈[4]。
令 H 表征一类黑盒分类器 h,即神经网络或内核机。我们的目标是从数据中学习一个分类器 h。最初我们可能只能获得一个小的训练集 S_0,随后可以通过 supervisor 获取更多的样本。为了便于理解和控制,还要求机器以专家 supervisor 可以理解的方式解释自己的信念(belief),这将有助于识别预测器逻辑中的错误。解释式主动学习(explanatory active learning,XAL)就是这一类代表方法。在 XAL 中,机器从一个未标记的样本池中选择 queries x,并要求 supervisor 对其进行标记,此外,XAL 还给出对 queries 的预测结果以及对预测结果的局部解释。这些解释揭示了生成这些预测结果的原因,例如特征相关性,并与预测结果一起构建一个 narrative。此外,supervisor 还可以通过对解释提供反馈来控制 predictor,例如,可以指出 predictor 错误地依赖了哪些特征。
不过,由于局部解释侧重于 queries,XAL 输出的 "narrative" 忽略了未知数(unknown unknowns,UU),根据定义,机器在这种情况下表现得很差。UU 可能会诱使机器向用户过度推销自己的性能,特别是当它们与高成本相关联时。这就导致了叙述性偏见(narrative bias,NB)。直观地说,NB 衡量的是 queries x1,...,X_T 传达给用户的性能与真正的风险 R_T。用户感受到的性能是 XAL 的 narrative 随着时间推移所暴露的损失的函数。图 6(左)具体展示了这个问题,合成数据的设计是为了诱发未知的 UU。将红色的样本分组为间隔均匀的集群,而蓝色的样本则均匀地分布在其他地方。主动 RBF SVM 经过 140 次不确定性采样迭代后选择的 queries 被圈在黄色的地方,背景是决策面。queries 明显集中在已知的红色集群周围,在这些区域中分类器的预测和解释(如特征相关性或梯度信息)性能都较好。queries 完全忽略了模型在未知的红色集群上的糟糕表现,因此也被 XAL 的输出 narrative 所忽略。
AL(active learning)在存在未知数(unknown unknowns,UU)的情况下,也就是分类器会犯高置信度错误的区域,工作效果很差。这在类别偏移和概念漂移的情况下是很常见的,而当与高错误标记成本相关时,尤其具有挑战性。图 6(左)说明了这个问题,合成数据的设计是为了诱发未知的未知数 UU。将红色的样本分组为间隔均匀的集群,而蓝色的样本则均匀地分布在其他地方。主动 RBF SVM 经过 140 次不确定性采样迭代后选择的查询被圈在黄色的地方,背景是决策面。查询明显集中在已知的红色集群周围,该区域中分类器在预测和解释(如特征相关性或梯度信息)方面都已经表现良好。模型在未知的红色集群上的糟糕表现完全被查询所忽略,因此也被 XAL 的表述输出所忽略。
图 6. 左图:基于不确定性的 AL 查询已知红色聚类周围的点(黄色圈出)而忽略了未知的聚类;中图:XGL 发现了大多数的红色集群;右图:HINTER 从肝炎数据集中提取的规则样本(类别为活体、死体):医生只需花费很少的精力就能理解和(验证)这样的规则
本文提出使用由人类发起的互动学习作为解决叙述性偏见(NB)的方法。该方法的出发点是:如果 supervisor 能看到并理解 h 的决策面,她就能识别已知和未知的错误—从而确定 predictor 是否行为不当—并明智地选择可以纠正这些错误的例子。当然,在实际应用的场景中 h 是非常复杂的,所以本文所讨论的问题是理想状态下的,真正的挑战是如何使其可行。
本文提出了一种使用人类发起的互动学习作为应对表述性偏见的方法,即 XGL。如果一个有动力的、有知识的监督者能看到并理解 h 的决策面,她就能识别已知和未知的错误,从而确定预测者是否有错误行为,并智能地选择纠正这些错误的样本。当然,由于 h 的决策面可能非常复杂,这种策略纯属在理想状态下的措施。因此,应用这种策略的关键性挑战在于如何使其实用。
作者提出通过利用全局解释以一种紧凑和可解释的方式概括 h 来解决这个问题。全局解释是一个可解释的 h 的替代品 g,通常是一个浅层决策树或一个规则集。这些模型能够分解成简单的原子元素,如简短的决策路径或简单的规则,从而可以独立描述和可视化,并与个别样本相关联。图 6(右)展示了一个样本模块。通常 g 是通过模型蒸馏得到的,即,通过使用一个全局解释器π将 h 投影到 G 上:
其中,P 是 ground-truth 分布,M 为损失函数,Ω用于衡量解释的复杂度,λ>0 控制忠实于 h 和简单性之间的权衡。期望值通常由一个经验性的蒙特卡洛估计所取代,该估计使用来自 P 的新的 i.i.d. 样本或使用任何可用的无标签样本。
XGL 的伪代码如 Algorithm 1 所示。在每次迭代中,在当前训练集 S 上拟合一个分类器 h,并使用全局解释 g=π(h)进行概括。然后,将 g 提交给 supervisor。每条规则都被翻译成 visual artifact 或文字描述,并与它所涵盖的样本一起展示。按照规则对样本进行标注。然后要求 supervisor 提供一个或多个解释有误的样本,将这些样本添加到训练集 S 中。循环往复,直到 h 足够好或查询 budget 用完。
在实践中,supervisor 可以通过以下方式查找错误:
- 扫描样本,每个样本都与预测和规则一起显示,并指出一个或多个错误;
- 搜索错误的规则,然后为其提供反例。
第一种策略模仿的是引导式学习(guided learning,GL):在 GL 中,给定一个关于某些目标概念的文本描述和一个通过搜索引擎获得的样本列表,用户必须在列表中识别该概念的样本。不同的是,在 XGL 中,样本与相应的预测结果和解释一起呈现,这使得用户有可能识别实际的错误并理解模型。从这个角度讲,XGL 之于 GL,就像 XAL 之于 AL 一样:一种让无交互的东西变得不透明的方法。样本可以按规则分组,以便于对它们进行扫描。鉴于 GL 已经成功地部署在工业应用中,作者认为 XGL 也可以做到。第二种策略是针对有能力识别不良规则并识别或合成反例的专家。由于规则通常比样本少得多(在本文实验中,通常是 5-30 条规则 vs 数百或数千条样本),这种策略可能效率更高。通过对规则进行适当的规范化,可以促进规则的可解释性。
XGL 的设计是为了抵御叙述性偏见(NB),同时使专家 supervisor 能够识别错误。作者强调,简单地将全局解释与机器启动的交互式学习结合起来,并不能达到同样的效果,因为 queries 的选择仍然会受到 UU 的影响。XGL 的另一个好处是,它原生支持在每次迭代中选择成批的实例,从而降低了 queries 成本。作者在本文中将讨论和实验限制在 one example-per-query 的情况下,以简化与竞争对手的比较。
将选择例子的责任转移给人类 supervisor 也存在风险。全局性的解释可能是一个太粗略的总结,或者可能被 supervisor 误解。这一问题同样影响了 AL 和 XAL。所以,作者表示,应将 XGL 应用于不太可能出现这些问题或其影响可以忽略的环境中。
XGL 的主要缺点无疑是全局解释的认知和计算成本。计算成本可以通过随着 h 的更新而递增地更新 g 来减少。认知成本可以通过以下几种方式改善:可以将全局解释限制在实例空间的那些区域中;根据需要调整全局解释的分辨率,例如可以先向 supervisor 提供粗略的规则 g,然后允许他完善 g,并 "放大" 那些看起来可疑的区域或子空间。不管怎么说,全局解释必然比局部解释或不解释要求更高。像其他互动协议一样,XGL 涉及一个 human-in-the-loop 的步骤,supervisor 必须参与进来并在其中投入时间和注意力。作者的论点是:在高估错误模型的代价很大的应用中,这种额外的努力是合理的。
作者将本文基于规则的 XGL 的实现方法命名为 HINTER(Human-INiTiated Explanatory leaRning),并在几个 UCI 数据集上使用标准的二元分类器(SVM 和梯度提升树)与几个由人类和机器发起的替代方案进行了比较。作者在图 6 所示的合成数据集以及来自 UCI 存储库的几个分类数据集中进行了实验,实验结果见图 7。在大多数数据集中,HINTER 的预测结果与竞争对手的预测结果相同或更好。在特别难的合成数据上,性能差异相当明显,XGL 比竞争对手高出近 20% 的 F1 分数。作者分析这也是由于 UU 的原因。AL 和随机抽样只是很少查询红色类别的样本,这就是他们在图 7(左)中显示的进展缓慢的原因,而 GL 对少数类别过度抽样。在所有原始数据集和所有 "+uu" 变体中,XGL 的表现与所有竞争对手相似或更胜一筹。表现最差的是 german 数据集,无论选择何种基础分类器,XGL 在 F1 方面的表现都很差,但在表述性偏见(NB)方面仍然表现最好。综上所述,结果表明,在存在 UU 的情况下,XGL 倾向于学习更好的分类器,而如果 UU 的问题不大,XGL 的表现也是合理的。
图 7:在三个有代表性的数据集上,当查询次数增加时,所有竞争者的 F1 得分(上)和表述偏见(下,越低越好):合成任务(左),banknote(中)和 german(右)
4 通过基于概念解释进行交互
本节重点讨论基于概念解释的交互方法,包括基于概念的模型(Concept-based models,CBMs)和神经符号模型(Neuro-symbolic models), 这些模型注重模型解释的更高语义水平的优势。前述的局部或基于规则的方法难以访问模型内部、概念层面的原因,特别是对于黑箱模型而言。而基于概念解释的方法则试图从概念和语义的角度分析 AI 模型的工作机理。文献 [5] 为 tutorial 中提及的一篇文章,我们对其加以解读。
Interactive Disentanglement: Learning Concepts by Interacting with their Prototype Representations