Nat. Mach. Intell. | 通过交互式自然语言对话解释机器学习模型

2023-12-04 14:06:58 浏览数 (2)

编译 | 曾全晨 审稿 | 王建民

今天为大家介绍的是来自Dylan Slack团队的一篇论文。人们越来越多地使用机器学习(ML)模型,但模型变得越来越复杂,难以理解。为了理解复杂的模型,研究人员提出了解释模型预测的技术。然而,实际操作中难以使用可解释性方法,因为他们不知道应该选择哪种解释以及如何解释这种解释。在这里,作者通过提出TalkToModel来解决使用可解释性方法的挑战:一个通过自然语言对话解释ML模型的交互式对话系统。

机器学习(ML)模型在多个关键领域(例如医疗保健、金融和法律)中越来越多地做出重要决策。然而,最先进的ML模型,如深度神经网络,变得更为复杂,难以理解。这在实际应用中给模型的使用者带来挑战,因为他们需要了解模型为什么做出预测以及是否可以信任它们。因此,使用者通常会转向本质上可解释的ML模型,因为人们可以更容易地理解它们。然而,黑盒模型通常更灵活、更准确,这激励了开发解释训练过的ML模型的预测的事后解释的发展。这些可解释性技术要么在预测周围的局部区域拟合忠实的模型,要么检查内部模型细节,如梯度,以解释预测。然而,最近的研究表明,实践者通常很难使用可解释性技术,因为难以弄清应该实施哪些解释,如何解释解释,以及回答初始解释之外的后续问题。总体而言,通过简单直观的交互来理解ML模型是许多机器学习应用领域的一个关键瓶颈。

图 1

图 2

在文中,作者通过引入TalkToModel来解决这些挑战,这是一个系统,它支持理解任何表格数据集和分类器的ML模型的开放式自然语言对话(图1提供了TalkToModel的概述)。用户可以与TalkToModel讨论为什么会发生预测,如果数据变化,预测将如何变化,以及如何改变预测,以及其他许多对话主题(图2提供了一个示例对话)。此外,他们可以对数据中的任何组进行这些分析,如单个实例或特定实例组。例如,在疾病预测任务中,用户可以问"BMI对预测有多重要?"或者"那么将血糖水平降低10个百分点将如何改变20岁以上男性患这种疾病的可能性?"。TalkToModel将通过描述BMI是预测的最重要特征,降低血糖将降低20%的糖尿病几率等方式来回应。从这里开始,用户可以通过询问后续问题来进一步参与对话。与TalkToModel的对话使模型的可解释性变得简单,因为用户可以用自然语言与系统交流关于模型的问题,系统将生成有用的回应。为了支持与TalkToModel的丰富对话,作者引入了语言理解和模型可解释性的技术。首先,作者出了一个对话引擎,它使用大型语言模型(LLM)将用户文本输入(称为用户话语)解析为类似于结构化查询语言的编程语言。LLM通过将用户话语到编程语言的翻译任务视为seq2seq学习问题来执行解析,其中用户话语是源,编程语言中的解析是目标。此外,TalkToModel语言将解释、ML错误分析、数据操作和描述性文本的操作结合到一种能够表示最能满足模型可解释性需求的单一语言中(图3提供了不同操作的概述)。为了支持系统适应任何数据集和模型,作者引入了轻量级的适应技术,以微调LLM以执行解析,从而实现对新设置的强大泛化。其次,作者引入了一个执行引擎,它运行每个解析中的操作。为了减轻用户决定运行哪些解释的负担,作者引入了自动为用户选择解释的方法。具体来说,这个引擎运行多种解释,比较它们的忠实度,并选择最准确的解释。最后,作者构建了一个文本界面,用户可以使用该系统进行开放式对话,使大家都能理解ML模型。

图 3

自然语言理解

作者构建数据集(即基准数据(utterance, parse)对),以评估模型的语言理解性能。作者数据集生成过程如下。首先,作者为特定任务(即贷款预测或糖尿病预测)编写50个(utterance, parse)对。这些话语范围从简单的“数据中的人们患糖尿病的可能性有多大?”到复杂的“如果这些人不是失业,他们成为良好的信用风险的可能性是多少?为什么?”在解析中至少包含每个操作(图3)两次,以确保有良好的覆盖。作者要求Mechanical Turk工作者在保留其语义含义的同时重写话语,以确保修订后的话语的基准解析相同,但措辞不同。作者要求工作者将每对重写8次,每个任务共计400个(话语,解析)对。接下来,作者过滤掉低质量的修订。作者要求众包工人在1到4的刻度上对原始话语和修订后的话语的相似性进行评分,其中4表示话语的含义相同,1表示它们的含义不同。对于每次修订收集5个评分,并删除平均分低于3.0的(话语,解析)对。最后,作者进行额外的过滤步骤,以确保数据质量。作者自己检查剩余的对,并删除任何不良的修订。因为作者想评估TalkToModel在不同场景下的泛化能力,作者在三个不同的任务上进行了这个数据收集过程:印第安糖尿病数据集、德国信贷数据集和惩教罪犯管理剖析备选制裁(COMPAS)累犯数据集。

表 1

作者比较了使用预训练的LLM来将用户语句解析成语法的两种策略:(1)少量样本提示的GPT-J 和GPT-3.5模型,(2)微调的T5。GPT-J和GPT-3.5模型具有更高的容量,并且更适合通过上下文学习进行训练。相比之下,T5模型需要在输入和目标对上进行传统的微调。因此,少量样本提示的方法部署得更快,因为它不需要微调。然而,微调的T5带来了更好的性能和更好的用户体验,同时也需要更长的时间来部署。在解析语句时,一个问题是它们的生成是不受约束的,可能会生成超出语法的解析,导致系统无法运行解析。为了确保生成的结果是语法的,作者通过将语法在推断时重新编译成由LLM的词汇表中的令牌组成的等效语法来约束解码。在从LLM解码时,作者在每一步生成时将不符合语法的令牌的可能性固定为0。因为GPT-3.5模型必须通过应用程序编程接口调用,该接口不支持引导解码,因此作者将temperature设置为1来贪婪地解码。作者在表1中呈现了结果。T5整体上表现得比少量样本提示的GPT-J和GPT-3.5模型更好。值得注意的是,T5小模型比拥有数量级更多参数的GPT-J 6B模型表现得更好。虽然少量样本提示模型整体上不如微调的T5模型,但GPT-3.5是表现最好的少量样本提示模型,比GPT-J模型表现得好得多,特别是在组合拆分中。总的来说,这些结果表明,为了获得最佳的结果,应该使用微调的T5,作者在人类研究中使用了T5大模型。

可解释对话

作者将TalkToModel与‘explainerdashboard’进行了比较,这是最受欢迎的开源解释性信息展示面板之一。这个信息展示面板与TalkToModel具有类似的功能,因为它提供了一种方便的方法来计算解释并进行模型分析。因此,它是一个合理的基线。作者使用糖尿病数据集训练的梯度提升树来进行这种比较。为了以受控的方式比较两个系统,作者要求参与者用TalkToModel和信息展示面板回答一般的机器学习问题。每个问题都是关于基本的解释性和模型分析的,参与者使用多项选择进行回答,其中有一个选项是‘无法确定’,如果他们无法找出答案(尽管两个界面都能直接回答所有问题)。例如,问题是关于比较特征重要性的,‘对于第49数据,葡萄糖比年龄对模型的预测更重要吗?’或模型预测的,‘有多少人被预测不会得糖尿病但实际上没有得糖尿病?’参与者总共回答了十个问题。

由于TalkToModel提供了一种易于理解机器学习模型的方式,因此作者期望它对具有不同机器学习经验的专业人员(包括没有任何机器学习经验的用户)有用。因此,作者通过Prolific服务44招募了45名讲英语的医疗保健工作者参加调查。这一组由一系列的医疗保健工作者组成,包括医生、药剂师、牙医、精神科医生、医疗保健项目经理和医疗抄写员。这一组中的绝大多数人(43人)表示他们要么没有机器学习经验,要么是从在线阅读文章中了解到它,而两名成员表示他们的经验相当于在机器学习本科课程。作为另一个比较的点,作者从机器学习Slack频道和电子邮件列表中招募了具有相对较高机器学习专业知识的机器学习专业人士。

表 2

表 3

绝大多数医疗保健工作者同意他们更喜欢TalkToModel的所有测试类别(表2)。对于机器学习专业人士也是如此,除了他们未来更愿意使用TalkToModel的问题,53.8%的参与者表示他们未来会选择使用TalkToModel。此外,参与者对他们可以多快使用TalkToModel的主观看法与他们实际的使用速度一致,两组人使用TalkToModel的答题速度都比使用信息展示面板快得多。使用TalkToModel的中位数答题时间(从看到问题到提交答案的总时间)为76.3秒,而使用信息展示面板为158.8秒。参与者使用TalkToModel的准确性也更高,并以更高的速度完成问题(表3)。在完成的问题上,两组人使用TalkToModel的准确性都比使用信息展示面板高得多。最令人惊讶的是,尽管机器学习专业人士同意他们只有一半的时间更喜欢TalkToModel,但他们使用它正确的回答了所有的问题,而他们只有62.5%的问题是用信息展示面板回答正确的。最后,作者观察到TalkToModel的对话能力非常有效。在超过1000个总的话语中,只有6个话语是系统未能解决的。这些失败案例通常涉及到某些话语方面,比如要求额外的详细解释。可解释性信息展示面板的参与者最大的错误来源是两个关于单个预测的最重要特征的问题。这些问题的错误占医疗保健工作者的47.4%和机器学习专业人士的44.4%的总错误。解决这些任务需要用户在信息展示面板中执行多个步骤,包括选择信息展示面板中的特征重要性标签,而TalkToModel的简化文本界面使这些任务变得更加简单。

参考资料

Slack, D., Krishna, S., Lakkaraju, H. et al. Explaining machine learning models with interactive natural language conversations using TalkToModel. Nat Mach Intell 5, 873–883 (2023).

https://doi.org/10.1038/s42256-023-00692-8

0 人点赞