杜克大学可解释人工智能笔记-全-
杜克大学可解释人工智能笔记(全)
001:XAI的动机 🎯
在本节课中,我们将要学习什么是人工智能中的“黑盒”问题,以及为什么理解模型内部的工作机制至关重要。我们将探讨人类与机器在信息表示方式上的根本差异,并审视黑盒模型在现实世界应用中可能引发的风险。
信息表示方式
首先,我们来思考信息的表示方式。人类如何相互沟通?人类通过语言(口头或书面)进行交流,语言中包含了数字和符号的概念。我们也可以通过图像,即思想和想法的视觉表现,来进行沟通。
另一方面,机器(除了量子计算机)仅通过数字进行交流。今天的计算机将所有概念或想法归结为1和0,即构成计算机基础的电子元件上的开或关的门电路。
我们已经学会了将我们的信息表示方式(如语言和图像)转换为计算机能够理解的数字。例如:
- 图像:一张彩色图像被分解为像素,每个像素由代表红、绿、蓝含量的数值表示。这些数值就是该图像中信息的表现形式。
- 文本:文本被分解为词元或文本片段,它们通常被表示为固定长度的数字向量。这个向量是词元含义的压缩版本。根据生成这个固定长度向量(或嵌入向量)的方法,该向量可能包含词元的语义和概念定义,甚至包括使用该词元的上下文。这对于像“bank”这样根据上下文(或周围的词语)具有多重含义的词语尤其有用。
这意味着,我们可以将人类可理解的输入(如图像或基于文本的问题)放入机器学习模型,而模型应该能够以人类可以理解的形式表示其输出,无论是代表图像中物体边界框的一系列数字、一个类别标签,还是一串词元。
深入黑盒内部
现在让我们回到黑盒问题。我们有一个人类可理解的输入,也有一个人类可理解的输出。但这个黑盒内部发生了什么?这正是我们今天要讨论的内容。
首先,简要回顾一下黑盒。由于许多传统机器学习方法具有不同程度的可解释性(稍后会详细讨论),这里我将重点讨论基于神经网络架构的深度学习模型。
在神经网络架构中,我们有多层节点。每个节点对其输入进行加权求和,并将结果通过一个通常是非线性的激活函数。对于我们网络中的每个节点,加权求和有一定数量的权重,还有一个需要设置的偏置分量。
我们设置这些权重和偏置的方式是通过训练神经网络:将训练数据通过网络传递,并迭代地更新这些权重和偏置。神经网络可以拥有数千、数百万甚至数万亿个权重。随着我们向神经网络添加更多层,它从输入数据中提取越来越抽象特征的能力也随之增强。虽然这可以提升性能,但也使其进一步远离我们人类可理解的表示方式。不同的架构也可能导致更多的抽象。

当你的神经网络得出一个输出时,我们通常不知道模型是如何得出这个结论的。

上图是一个关于这种抽象过程的绝佳可视化展示,它基于一个非常简单的卷积神经网络。这个可视化由Adam Harley开发,链接将在课程资源中提供,以便你自己查看。

这个可视化的工作原理是,在网络的每个节点,我们实际上可以输出模型所看到内容的人类可理解表示。首先,我画一个数字。这个数字的数值表示将成为模型的输入层。接下来,我将展示神经网络的第一层。你可以看到图像表示看起来与输入层基本相同。然后,我们添加一个下采样层,它基本上只是让所有东西变小。我们网络的第二层对原始输入进行了大量提取,以至于我们甚至无法再识别出数字“2”。随后的层将信息进一步抽象,直到全连接层。最后,我们将所有内容映射回人类可理解的输出和我们的模型预测。
关于黑盒的澄清与动机
这里我想强调一个重要的旁注,因为关于这一点存在很多混淆:黑盒模型并不意味着我们无法重现结果的模型。如果我们拥有模型架构(包括训练好的权重)、相同的输入数据以及用于产生包含某些随机过程(如Dropout层或某些类型的注意力机制)的模型输出时所用的随机种子,那么我们就可以重现结果。黑盒模型的核心思想在于,尽管我们可能拥有训练好的权重,但这些权重是人类无法理解的。稍后我们将讨论透明度,可重现性正是在那里发挥作用。
现在,你可能在想:谁在乎呢?如果我得到了答案或模型输出,为什么需要理解模型是如何得出答案的?
让我们考虑几个例子:
- 招聘:你向一家使用AI算法筛选面试人选的公司提交了简历。尽管你的简历与职位描述中发布的技能和要求完全匹配,但你未被选中。你联系公司的招聘团队,他们无法告诉你为什么你的申请没有通过筛选,因为模型只给出了输出,没有提供任何解释。结果发现,他们在训练过程中使用了现有员工的简历,而许多现有员工的简历中都把“玩地掷球”列为一项技能。你没有,所以你被筛掉了,尽管地掷球并非职位描述的一部分,也不是工作所需的技能。
- 金融:你申请了一笔贷款,尽管信用评分优秀,但仍被拒绝。当你致电银行时,他们承认现在使用AI算法处理贷款申请,并且不确定你的贷款为何被拒。
- 医疗:你去医院,分诊使用了AI算法。你被排到队尾,需要等待三个小时才能得到治疗,而患感冒的孩子却能立即就诊。AI算法正在使用关于你社会经济状况的信息来对你进行分诊,尽管训练算法的工程师认为这些数据不重要,所以只是将其保留在数据中。
这些例子虽然是虚构的,但都基于现实。招聘、金融和医疗保健是三个正在积极使用AI工具的高风险领域。
那么,一个真实的例子呢?2023年,底特律警方使用了面部识别技术(计算机视觉机器学习模型),错误地将Portia Woodruff识别为一起劫车案的嫌疑人。她在怀孕八个月时因一项她并未犯下的罪行而被逮捕。模型为何将Portia识别为嫌疑人?他们无法确定模型识别她照片的原因。
这些只是缺乏对模型决策的理解可能带来严重后果的几个例子。而这正是我们开始介绍可解释人工智能(XAI)的出发点。

总结

本节课中,我们一起学习了人工智能中的“黑盒”概念。我们了解到,尽管模型的输入和输出对人类是透明的,但其内部复杂的数值计算和抽象特征提取过程却难以理解。这种不透明性在招聘、金融、司法等关键领域可能带来偏见、不公和无法追责的风险。正是为了解决这些问题,理解和开发可解释的人工智能(XAI)变得至关重要。在接下来的课程中,我们将深入探讨如何让这些“黑盒”变得透明。
002:良好决策的定义 🎯

在本节课中,我们将探讨可解释人工智能(XAI)的基本理念,并理解为什么一个良好的决策应基于知识而不仅仅是数字。我们将通过几个生动的例子来阐明这一核心观点。


柏拉图曾说过:“良好的决策基于知识,而非数字。”这句话精辟地概括了可解释人工智能的核心理由。它提醒我们,在依赖数据做出判断时,必须结合我们对世界的理解。
冰淇淋与鲨鱼攻击的关联 🍦🦈
为了理解上述观点,我们可以看一个例子。以下是两个数据图表。
第一个图表展示了冰淇淋销量随月份的变化趋势。

第二个图表展示了鲨鱼攻击事件随月份的变化趋势。
当你观察这两个图表时,可能会提出一个问题:吃冰淇淋会导致鲨鱼攻击吗?从纯粹的数值角度来看,这两者似乎高度相关。因此,你可能会得出结论:吃冰淇淋确实会导致鲨鱼攻击。
然而,在得出这个结论时,我们忽略了我们的知识,特别是关于季节性温度波动及其对人们吃冰淇淋和进入海洋行为影响的知识。因此,我们的结论会截然不同。虽然这两个事件相关,但我们知道其中一个并不会导致另一个发生。
神经网络分类中的陷阱 🐺❄️
上一节我们看到了相关性不等于因果性的经典案例。本节中我们来看看机器学习模型可能存在的类似问题。

当我们训练一个神经网络来将图像分类为哈士奇或狼时,例如下图所示,我们可能获得很高的准确率,并且不会质疑结果。
但是,如果我们只看简单的准确率指标或数字,我们就忽略了模型做出分类决策背后的推理或知识。如果我们不深入理解模型结果,我们将不会意识到模型做出这个决策仅仅基于图像的背景,具体来说,就是地面上是否有雪。
水鸟数据集的启示 🐦🌊
同样,我们可以看看水鸟数据集。这个数据集包含带有陆地背景的陆地鸟类图像和带有水域背景的水鸟图像,这些数据被用于训练模型。
现在,假设我们想测试我们的模型,但我们想在陆地背景上测试水鸟,以及在水域背景上测试陆地鸟类。我相信你已经明白问题所在了。
我们的模型在第一列中准确地分类了陆地鸟类和水鸟,但在第二列中却没有正确预测任何一只鸟。最近一篇论文的作者使用了可视化方法来观察模型使用图像的哪一部分来进行预测。他们发现,事实上,模型使用的是背景是陆地还是水域,而不是鸟本身。

皮肤病学模型中的误分类分析 🩺
在另一篇最近的论文中,作者试图理解皮肤病学模型中的误分类。作者使用了一种方法来解释模型的预测,并发现某些色素沉着或毛发的存在导致了误分类。这对于理解模型的行为以及如何基于其预测做出决策非常有帮助。

在本节课中,我们一起学习了良好决策的定义,即决策应基于深刻的知识而不仅仅是表面的数字。我们通过冰淇淋与鲨鱼攻击的关联、神经网络对背景的依赖、水鸟数据集的偏差以及皮肤病模型的误分类等例子,清晰地看到了忽视模型内部推理可能带来的风险。理解模型“为什么”做出某个预测,与知道它“做出”了某个预测同样重要,这正是可解释人工智能(XAI)的价值所在。
003:定义可解释性、可说明性与透明度

在本节课中,我们将学习人工智能领域中三个核心且易混淆的概念:透明度、可解释性与可说明性。我们将明确它们的定义、区别与联系,并探讨它们为何对构建可信赖的AI系统至关重要。
透明度、可解释性与可说明性的区别
透明度、可解释性与可说明性是人工智能系统中相关但不同的概念。
你可能会听到这些术语被混用,并且它们之间的区别确实存在混淆。这种混淆源于在讨论AI伦理、问责制和可信度时,这些术语经常重叠。虽然透明度、可解释性与可说明性相关,但它们解决的是使AI系统对人类而言可理解和可信赖的不同方面。
上一节我们明确了这些概念的重要性,本节中我们来看看它们各自的具体含义。
以下是这三个核心概念的定义:
- 透明度:侧重于为系统的决策和行动提供证据和文档,例如关于模型架构、训练数据、优化过程等的详细信息。它帮助用户验证和确认系统的决策,并确保其合规性和问责性。
- 可解释性:特指开发本质上可解释或自解释的机器学习模型和技术。其目标是使模型本身透明易懂,无需额外的解释。
- 可说明性:是一个广泛的领域,旨在使任何AI系统(包括不透明的深度学习模型)更具可说明性。可说明性机器学习涉及开发技术,用于在黑盒AI模型训练完成后解释其输出或决策。其目标是为现有模型的行为生成事后解释。

概念示例与AI对齐
为了更清晰地理解,以下是每个概念的具体示例:
- 透明度示例:模型卡片、数据集数据表、公平性指标和算法影响评估。
- 本质可解释模型示例:决策树和单调神经网络。
- 事后解释与可说明性示例:SHAP值、显著性图和概念激活向量。
在深入探讨可说明性的重要性之前,有必要简要提及AI对齐的概念,因为它与我们的透明度、可解释性和可说明性概念紧密相连。
AI对齐的核心是指确保先进的AI系统在变得更有能力和更自主时,始终与人类价值观、意图和伦理保持一致的挑战。随着AI变得更强大,使其与我们真正希望它追求的目标和动机保持关联与一致变得至关重要。
偏离其预期目的或优化目标的未对齐AI系统,可能导致大规模的有害意外后果。即使AI奖励函数或训练过程中看似无害的错位,一旦系统在开放世界中运行,也可能导致误导性或欺骗性行为。
可解释AI在AI对齐中扮演着至关重要的角色,它允许我们检查、理解AI的决策过程和内部表征,并提供纠正性反馈。没有可说明性,一旦AI在开放世界中运行,在其偏差或错位放大为严重问题之前,将极难被察觉。
可解释AI提供了必要的透明度,以审计AI系统是否存在与编码在其训练数据或奖励函数中的人类伦理、偏好和社会价值观的潜在错位。它使得人类能够对AI的推理过程进行有意义的监督。
可说明性允许AI系统不仅暴露其内部运作,还能以可解释的方式向人类监督者提供理由和论证。这种双向沟通渠道对于识别错位并通过迭代反馈循环纠正它们至关重要。
随着AI能力变得更加先进和自主,其内部表征和决策过程的复杂性将呈指数级增长;因此,强大的XAI技术对于维持清晰的人类理解以及引导这些系统走向稳健对齐行为的能力将变得不可或缺。
事实上,许多实现AI对齐的提议方法,如奖励建模、逆向奖励设计和基于辩论的方法,本质上都依赖于AI系统具备强大的可解释性和可说明性能力。

可说明性为何重要
那么,让我们回到核心问题:为什么可说明性对AI系统如此重要?
以下是几个关键原因:
- 信任与问责:能够理解和审计AI的决策过程对于建立信任至关重要,尤其是在医疗保健、刑事司法和金融等高风险领域。
- 识别偏见:可说明的模型有助于揭示训练数据或模型中嵌入的意外偏见、歧视或其他伦理问题。
- 人机协作:当人类能够理解AI的推理时,他们可以提供指导、反馈和纠正,以改进未来的输出。调试AI系统是这种协作的一部分,而可说明的方法使调试更容易。
- 科学进步:可说明的模型有助于更深入地理解被建模的底层现象。

本节课中,我们一起学习了透明度、可解释性与可说明性这三个核心概念的定义与区别,了解了它们与AI对齐的紧密联系,并明确了可说明性对于构建可信、可靠、负责任的人工智能系统的基础性作用。理解这些概念是进一步探索具体XAI技术和方法的第一步。
004:负责任的人工智能


在本节课中,我们将要学习负责任的人工智能这一核心概念。我们将了解其定义、涵盖的策略,并探讨可解释人工智能如何作为其中的关键组成部分,促进人工智能技术的伦理发展。
概述:什么是负责任的人工智能?
可解释人工智能是负责任的人工智能的一个组成部分。
负责任的人工智能指的是以符合伦理、透明且可问责的方式开发和运用人工智能系统,这种方式尊重人类的价值观和权利。
负责任人工智能的策略
负责任的人工智能包含多种策略,旨在开发值得信赖、可靠且有益的系统。其目标是构建在伦理边界内运行的系统,以防止滥用和负面的社会影响。
以下是负责任人工智能的主要策略:
- 伦理与价值对齐:确保人工智能系统的设计和部署符合伦理原则、人权以及公平、隐私、安全和福祉等社会价值观。
- 透明度与可解释性:这正是我们在第一模块讨论的内容,也是本课程及可解释人工智能专项课程的核心焦点。它旨在使人工智能系统透明化,并向受影响的利益相关者解释其决策过程,从而实现可问责性。
- 隐私与数据治理:负责任地管理用于训练人工智能模型的数据,保护隐私,并确保数据的收集和使用符合伦理。
- 公平性与非歧视:减轻偏见,确保人工智能模型不会基于种族、性别等敏感属性对个人或群体产生歧视。
- 人类监督与控制:纳入人类监督、干预能力以及对人工智能系统关键决策的有效人类控制。
- 鲁棒性与安全性:确保人工智能系统具有鲁棒性、可靠性和安全性,并配备充分的测试、监控和风险管理流程。
- 问责与治理:为人工智能的开发和使用建立清晰的问责线、审计追踪和治理框架。
可解释人工智能与伦理考量

与负责任的人工智能理念一致,讨论这项技术的伦理考量至关重要。需要说明的是,伦理是人工智能领域中一个极其重要的话题,我将在整个专项课程中反复强调。伦理并非仅限于某个单一模块的讨论,而是我们本课程所有讨论的一部分。
可解释人工智能可以成为促进伦理和负责任人工智能的有力工具,但它本身也引发了一系列需要认真对待的伦理考量,这些考量必须通过负责任的可解释人工智能技术的开发、部署和治理来解决。
可解释人工智能如何促进伦理实践


上一节我们介绍了可解释人工智能的伦理角色,本节中我们来看看它具体如何促进人工智能技术的伦理实践。

可解释人工智能主要通过以下方式促进人工智能技术的伦理实践:
- 问责制:可解释人工智能有助于确保人工智能系统是可问责的,其决策和建议能够得到解释和论证。例如,在医疗领域,如果一个人工智能诊断系统推荐了错误的治疗方案,我们需要能够解释它是如何得出该决策的。训练数据是否存在偏见?算法是否存在缺陷?实施可解释人工智能方法可以帮助我们回答这些问题。这在医疗、金融和刑事司法等领域至关重要,因为人工智能的决策可能对个人和社会产生重大影响。
- 公平性:通过揭示模型的决策逻辑,可解释人工智能有助于识别和纠正模型中的偏见,确保其决策对不同群体是公平的。
- 透明度:使“黑箱”模型变得可理解,增加了系统的透明度,让用户和监管者能够信任并有效监督人工智能。
总结

本节课中,我们一起学习了负责任的人工智能这一框架。我们了解到,可解释人工智能是其关键组成部分,旨在通过提高系统的透明度、可解释性和可问责性,来促进符合伦理的人工智能开发与实践。理解这些概念是构建可信、可靠且对社会有益的人工智能系统的基础。
005:算法偏见 🧠

在本节课中,我们将要学习人工智能领域中的一个关键议题:算法偏见。我们将探讨偏见如何产生,以及可解释人工智能如何帮助我们检测和纠正这些偏见,以确保AI系统的公平性。
算法偏见的重要性与定义
确保人工智能技术的公平性至关重要。然而,当前许多系统都表现出算法偏见。算法偏见是指AI系统因其训练数据、模型架构或实施过程中的各种因素,而表现出不公平、歧视性或倾斜的结果。
上一节我们介绍了算法偏见的基本概念,本节中我们来看看偏见产生的具体途径。
算法偏见的来源
偏见可以通过多种方式进入AI系统,例如系统创建者已有的观念、数据收集或模型的设计,以及系统的非预期使用。偏见可以在机器学习流程的任何环节被引入。
以下是偏见产生的主要途径:
- 训练数据偏见:如果用于训练AI模型的数据本身存在偏见,或未能充分代表某些群体,模型就可能学习并延续这些偏见。例如,如果一个人脸识别系统主要使用某一特定种族人群的图像进行训练,它在识别其他种族面孔时可能表现不佳。
- 数据收集与处理偏见:数据收集、抽样或标注的方式可能引入偏见,这被称为样本偏见。例如,如果一个用于简历筛选的数据集主要由来自特定地理区域或行业的简历构成,那么由此训练出的模型可能对其他区域或行业的候选人有偏见。
- 代理变量偏见:算法有时可能依赖与受保护特征(如种族、性别或年龄)相关的代理变量,从而导致对这些群体的间接歧视。
- 人机交互偏见:偏见也可能来自人类与AI系统之间的互动。例如,用户表现出的偏见性语言或行为,会随着时间的推移影响系统的输出。
- 算法本身引入的偏见:即使训练数据是无偏的,算法本身也可能通过其数学公式、优化标准或模型架构引入偏见。

可解释人工智能 (XAI) 的作用
正如我们之前讨论的,透明度有助于建立公众信任。如果我们能够打开“黑箱”,向监管机构、受影响的个人和社会解释AI系统的推理过程,就更有可能获得对有益AI应用的认可。
可解释人工智能可以帮助我们检测AI系统中的这些偏见和歧视。通过理解AI系统如何做出决策,我们可以采取措施确保公平性,防止对某些群体或个人造成不公平待遇。可解释人工智能使我们能够审计歧视性决策,并纠正这些不公平的偏见。
总结

本节课中我们一起学习了算法偏见。我们了解到,偏见可能源于有偏的训练数据、数据处理过程、代理变量、人机交互,甚至是算法本身。可解释人工智能是识别和解决这些偏见的关键工具,它通过提供透明度,帮助我们构建更公平、更值得信赖的AI系统。
006:XAI中的挑战与权衡 🧩


在本节课中,我们将探讨可解释人工智能(XAI)在实践过程中面临的主要挑战与内在权衡。理解这些挑战对于设计有效、可靠且符合伦理的AI系统至关重要。
概述
尽管可解释AI的动机很明确,但在实践中也存在必须应对的重大挑战和内在权衡。
准确性与可解释性的权衡 ⚖️
上一节我们介绍了XAI的重要性,本节中我们来看看一个核心的权衡关系:准确性与可解释性。
这个权衡完全取决于具体应用。对于许多应用,包括预测未来犯罪和医疗保健领域的许多预测,内在可解释的模型(如线性回归、决策树)的准确性通常与可能是不透明的“黑箱”的深度神经网络一样高。
深度神经网络等复杂模型的复杂性通常源于多重非线性变换,以及从大型数据集中学习复杂模式的能力。这使得它们难以向人类解释。例如,卷积神经网络(CNN)在图像分类任务中表现出色,但依赖于数百万个参数和提取分层特征的层,这使得追溯特定预测是如何做出的变得具有挑战性。
然而,也存在新的内在可解释模型,如ProtoPNet,在某些领域的图像分类测试中,其准确性与传统CNN相似。特别是在具有许多非线性关系或高维数据的复杂任务中,具有内在可理解结构的模型可能会牺牲性能和准确性。例如,大型语言模型可以生成类人文本,但对其内部工作原理的透明度极低。这些拥有数万亿参数的模型是不可解释的,因此我们需要找到更好的方法来解释它们的输出。
以下是平衡这一权衡的一些策略:
- 模型蒸馏:训练一个可解释的模型来模仿复杂模型的预测。
- 局部解释:围绕特定预测提供解释,而非追求全局可解释性。
然而,找到正确的平衡点仍然是一个挑战,通常需要仔细的实验和特定领域的考量。例如,在医疗保健领域,对于危及生命的诊断,准确性可能优先于可解释性;而对于贷款决策,可解释性可能优先,以防止歧视性做法。
可扩展性挑战 📈
许多XAI技术在应用于现代AI系统中使用的大型复杂模型和数据集时,面临可扩展性挑战。
例如,计算特征重要性分数(如我们稍后将讨论的SHAP值)或生成反事实解释,对于高维输入和拥有数百万或数万亿参数的非线性模型来说,计算成本可能非常高昂。像影响函数(用于估计移除一个训练点后模型预测的变化)这样的技术,无法很好地扩展到大型数据集。用于突出显示对预测贡献最大的输入特征的显著性映射方法,对于非常深的神经网络也变得难以处理。
开发能够高效扩展到最先进模型而不损害可解释性的XAI方法是一个活跃的研究领域。潜在的解决方案涉及近似方法、采样策略或利用模型并行性,但可能在全面性或对原始模型的忠实度方面做出权衡。
人类认知与偏见的挑战 🧠
即使XAI方法提供了技术上合理且忠实的解释,也存在内在的人类偏见和认知局限,这些因素会阻碍这些解释在实践中如何被感知、解释和付诸行动。
认知偏见在人类如何处理和合理化AI系统提供的解释方面起着重要作用。确认偏误可能导致用户偏爱或固守那些证实其既有信念或心智模型的解释,同时贬低或忽视那些与其当前理解相矛盾的解释。这可能导致只选择与个人假设一致的证据。此外,解释深度错觉是一个众所周知的现象,即人们在得到一个肤浅的解释后,常常会高估自己真正的理解深度,而没有掌握其中涉及的更深层次的细微差别和复杂性。他们可能仅从一个浅显的解释就认为自己完全理解了模型的推理过程。
贝叶斯推理的困难以及对概率性机器学习输出的理解,也使得用户难以正确解释和校准他们对涉及不确定性估计的模型预测和解释的信任。人类可能难以有效地量化和整合概率性风险信息。
除了这些认知偏见,不同人群如何感知、优先考虑和有效利用AI解释也存在差异。教育水平、技术背景、制度规范、文化价值观和可访问性需求等因素,都会塑造人们的心智模型和偏好的解释风格。例如,一些用户群体可能更优先考虑上下文解释,而另一些则偏爱具体的特征层面归因。
XAI界面的呈现方面和用户体验也极大地影响着最终用户对解释的理解和行动。糟糕的可视化技术、令人困惑的术语、信息过载或缺乏直观的交互性,都会显著削弱对XAI系统的信任和采用。高风险、时间敏感的决策等情境方面,可能需要特别简单且认知负荷低的解释。
不幸的是,目前仍然缺乏为不同用户群体提供有效XAI用户体验和解释沟通的既定最佳实践、标准和设计模式。这一差距必须通过结合认知科学、人机交互原则和以用户为中心的设计实践的研究来弥合。
以下是帮助克服这些以人为中心的XAI挑战的一些潜在解决方案:
- 基于熟悉概念的解释:开发基于熟悉概念、类比和因果框架的解释技术,以更好地与人类直觉推理方式保持一致。
- 个性化界面:根据个人用户画像和心智模型定制可视化界面的个性化自适应界面。
- 交互式界面:允许用户通过与AI系统的对话共同构建解释,而不是被动地消费静态报告,这可以增强参与感和意义建构。
像这样的探索性方法利用人类智能来填补机器可解释性方面的空白。最终,评估XAI系统在现实世界中的用户体验和可解释性的实证用户研究和严格的定性评估,对于取得进展至关重要。如果可解释性方程中的人为因素没有得到深思熟虑的考量,即使是最先进的数学解释技术也无法实现其预期效果。需要跨学科合作,将技术性的XAI创新与以人为本的设计结合起来,以克服实践中常常被低估的、可能限制解释有效性的人为因素和偏见。
伦理与监管挑战 ⚖️
随着AI系统越来越多地部署在医疗保健、刑事司法、就业和金融等高风险领域,全球监管机构越来越关注围绕AI透明度和问责制的法规和伦理准则。
像欧盟的《通用数据保护条例》(GDPR)和拟议的《人工智能法案》这样的框架,旨在确保用于重要决策的AI系统是可解释的、非歧视性的,并且其决策可以被人类审计和理解。
然而,使现有的XAI技术与这些不断发展的伦理原则和监管要求保持一致,带来了独特的挑战。法规要求的个体解释需求与披露完整模型细节所涉及的隐私和知识产权考虑之间可能存在紧张关系。关于什么构成令人满意的解释以及标准化评估标准,也存在悬而未决的问题。
总结

在本节课中,我们一起学习了可解释人工智能(XAI)面临的多重挑战与权衡。最终,不存在适用于所有场景的“一刀切”的XAI解决方案。适当的方法取决于具体的用例、领域约束和所涉及的权衡。仔细考虑和平衡这些权衡至关重要,通常需要对问题背景的深刻理解以及包括领域专家、受影响社区、监管机构和伦理学家在内的多元利益相关者的参与。
007:可解释的机器学习
在本节课中,我们将学习可解释机器学习(Interpretable Machine Learning)的核心概念。我们将探讨什么是可解释模型,了解几种典型的可解释模型及其工作原理,并深入一个前沿研究领域——机械可解释性(Mechanistic Interpretability)。




概述:什么是可解释机器学习?
在可解释人工智能(XAI)的背景下,可解释机器学习被定义为开发本质上可理解且能自我解释的机器学习模型。
这通常通过使用透明的建模技术来实现,例如线性回归、决策树或基于规则的模型。可解释机器学习背后的主要思想是,允许模型的内部逻辑和决策过程无需借助额外的解释方法即可被理解。
奥卡姆剃刀原则
上一节我们介绍了可解释机器学习的基本定义,本节中我们来看看一个指导模型选择的重要原则。

在当前的生成式人工智能成果令人眼花缭乱的背景下,许多问题实际上可以使用可解释模型来解决。我建议在评估用例的模型时,将可解释模型纳入考虑范围。
我在课堂教授人工智能以及用人工智能构建产品时都遵循一个原则:奥卡姆剃刀原则。奥卡姆剃刀原则指出,如果有两个相互竞争的理论可以解释同一现象,你应该选择更简单的那一个。
例如,你在半夜听到一个声音,并形成两个假设。第一个是你的猫把东西从桌子上碰掉了。第二个是外星人降落在你的屋顶上,现在正在入侵你的房子。根据奥卡姆剃刀原则,你应该选择更简单的假设,即你的猫碰掉了东西。
在人工智能的背景下,如果你有两个在评估标准上表现相似的AI模型,你应该选择更简单、更可解释的那一个。至少,你应该始终考虑最简单的方法,并提供为什么需要更复杂方法的理由。
可解释机器学习模型示例
理解了选择原则后,我们来看看一些具体的可解释机器学习模型。
以下是几种典型的可解释模型:
- 线性模型:如线性回归和逻辑回归,具有高度可解释性,因为它们的预测基于输入特征的加权和。系数直接表明了每个特征的重要性和方向性。通过例如套索(LASSO)或弹性网络(Elastic Net)正则化来强制稀疏性,可以将不相关特征的系数驱动为零,从而有效地执行特征选择,增强可解释性。
- 广义可加模型:试图解决线性回归的一些问题。例如,广义可加模型将线性模型与非线性特征变换相结合,同时保持可加的、可解释的结构,展示每个特征如何影响预测。
- 决策树:如CART和GeSDT,也是本质上可解释的模型。它们基于“如果-那么-否则”决策规则的层次化树结构,提供了一种自然的方式来追踪如何根据实例的特征值做出预测。
- 基于规则的模型:以人类可读的规则形式编码知识,例如:
如果 年龄 > 65 且 药物 = X,那么 风险 = 高。
决策树与最优决策树
上一节我们列举了几种可解释模型,本节中我们更深入地看看决策树及其优化。
基于树的模型以这种直观的方式工作。基于树的模型根据特征中的某些截止值多次分割数据。通过这种分割,创建了数据集的不同子集,每个实例属于一个子集。
终端节点,也称为叶节点,是最终的子集。为了预测每个叶节点的结果,使用该节点中训练数据的平均结果。
由于其直观性和可解释性,基于决策树的模型可以用于分类或回归,并广泛应用于许多领域。
但我们如何找到最优的决策树呢?搜索空间是巨大的。这就是广义可扩展最优稀疏决策树(GeSDT,也称为GOSDT)的用武之地。其思想是减少所有决策树的搜索空间。论文中提出了分析边界来减少搜索空间。分析边界有助于高效地剪枝搜索空间,从而加速寻找最优决策树的过程。
本质可解释的神经网络
当我们想到神经网络时,通常不会联想到可解释性。事实上,神经网络是我们典型的黑盒机器学习模型示例。然而,研究界已经投入了大量精力来提高神经网络的可解释性,并构建本质可解释的模型。
神经网络中改进的可解释性表现为浅层神经网络、稀疏神经网络和模块化神经网络。
- 浅层神经网络:是更简单的神经网络架构,具有更少的层和节点,比更深、更复杂的模型更具可解释性。输入和输出之间的关系更容易显现。
- 稀疏神经网络:是许多网络连接被剪枝或设置为零的模型。由于剩余的连接代表了最重要的特征,这些模型可能更具可解释性。
- 模块化神经网络:是由专门子组件组成的模型,例如用于对象检测、分类或推理的组件。这些模型可能比整体式架构更具可解释性。
本质可解释的神经网络有几种不同的类型:
- 解耦神经网络:学习到的表示中,每个神经元或特征图对应一个特定的可解释概念,例如边缘、纹理或对象部件。这可以提供对模型内部推理的可见性。
- 基于原型的神经网络:学习每个类别的原型示例,并使用与这些原型的相似性作为预测的基础,这可能比复杂的决策边界更具可解释性。
- 单调神经网络:约束神经网络,使其输出相对于输入特征单调递增或递减。这可以使模型的行为更直观、更可预测。
康莫加-阿诺德网络(CANs)由Lu等人在2024年春季最新提出。CANs完全没有线性权重。每个权重参数都被一个单变量函数取代,该函数参数化为样条。CANs可以直观地可视化,并且可以轻松地与人类用户交互。
机械可解释性
一个相对较新的研究领域,机械可解释性(MI),是一个从学习到的权重反向工程神经网络到人类可解释算法的过程。
MI领域基于关于神经网络的三个推测性主张:

- 特征:特征是神经网络的基本单位,它们对应于层中神经元的方向或线性组合。
- 电路:特征通过权重连接形成电路。电路是网络的一个计算子图。一个电路由一组特征和它们之间的加权边组成。
- 普遍性:普遍性假设类似的特征和电路在不同的模型和任务中形成。
机械可解释性使用许多方法来为这些推测性主张提供证据。我们将分享一些关于检测特定方向曲线的神经元的论证,我们称之为曲线检测器。
- 特征可视化:向我们展示了优化输入以使曲线检测器可靠地触发,会产生曲线。这建立了因果关系,因为结果图像中的所有内容都是为了引起神经元触发而添加的。我们可以在左上角的图像中看到这一点。
- 数据集示例:导致这些神经元强烈触发的ImageNet图像是特定方向的曲线图像,如左侧第二张图所示。
- 合成示例:也可以使用。曲线检测器对左侧第三张图中显示的合成曲线图像做出预期响应。
- 联合调谐:如果我们旋转曲线图像,在某个时刻神经元停止触发,而下一个方向的曲线检测器开始触发,这也可以为曲线检测器和特征的存在提供论证和证据。
最后三种是我们所说的MI特定方法,这些是为了MI研究目的而明确创建的研究方法。
- 特征实现:通过观察构建曲线检测器的电路,我们可以从权重中解读出曲线检测算法。这在热图中显示。
- 特征使用:曲线检测器的下游“客户”是自然涉及曲线的特征,例如这里右侧第二张图中显示的圆形。这些客户以预期的方式使用曲线检测器。
- 手写电路:我们可以手动设置所有权重来重新实现曲线检测。这些权重是一个可理解的曲线检测算法,因此我们反向工程了曲线检测器。
叠加假设与稀疏自编码器
现在,在理想情况下,网络中的每个神经元都会映射到我们的一个特征,就像我们在曲线检测器中看到的那样,每个神经元对应一个特定方向的曲线。

然而,神经元并不总是或通常能清晰地映射到可解释的特征。有时会发生,比如曲线检测器。其他时候,我们有多义性,即一个神经元映射到许多看似无关的特征。还有些时候,我们不知道如何将神经元匹配到特定的特征或特征集。
这才是真正发生的情况。这就是叠加假设。
根据叠加假设,我们观察到的神经网络是更大网络的模拟,其中每个神经元都是一个解耦的特征。我们可以在这里暂停一下,因为这非常“元”。我们将一堆信息压缩到一个神经网络中,该网络解压这些数据,学习它,然后将其压缩回观察到的神经网络中。
根据该假设,这些理想化的神经元作为几乎正交的向量投影到实际网络的神经元上。为了实现可解释性,我们需要能够解析叠加。
当前探索解析叠加的研究已转向稀疏自编码器。我们取右侧显示的密集神经激活,并使用稀疏自编码器将这些密集激活编码或映射到稀疏特征空间。然后,这些稀疏特征可以通过我们的稀疏自编码器解码回我们的密集激活。
案例:金门大桥特征

这就是当前机械可解释性工作背后的原理。如果你在2024年春季关注人工智能研究甚至只是新闻,你可能听说过“金门大桥特征”的概念。
虽然研究人员识别出许多可解释的特征,但被广泛宣传的一个是学到的特征,称为金门大桥特征——一个似乎专门检测与标志性金门大桥相关的引用和表示的特征。
该图的主图显示了跨输入的激活水平分布,激活范围从左边的可忽略到右边的高激活。颜色编码表示自动评分系统的结果,该系统根据每个激活与金门大桥概念的匹配程度(使用从0“无关”到3“明确识别概念”的评分标准)进行判断。
虽然有许多低水平激活对应于模糊相关的概念,如其他桥梁、旅游景点和纪念碑,但最高的激活绝大多数与金门大桥本身的明确提及或描绘相关,如右侧红色条的高比例所证明。尽管相对罕见,但这些高激活可能在塑造模型行为方面具有更大的重要性。
自动评分显示,该特征的强激活表现出对金门大桥解释的高度特异性,而即使是较弱的激活也倾向于保持某种程度的概念相关性,尽管可能更抽象或更泛化。
总结

本节课中,我们一起学习了可解释机器学习。我们从定义和奥卡姆剃刀原则开始,了解了线性模型、决策树等经典可解释模型。然后,我们探讨了如何通过特定架构使神经网络本身更具可解释性,并深入研究了机械可解释性这一前沿领域,了解了其特征、电路等核心概念,以及通过稀疏自编码器解析“叠加”的最新进展。最后,我们通过“金门大桥特征”这一具体案例,看到了机械可解释性在实际研究中的应用。理解这些模型的内在逻辑,对于在医疗、金融等关键领域构建可信赖的AI系统至关重要。
008:解释技术
在本节课中,我们将学习多种可解释人工智能技术。这些技术旨在帮助理解机器学习模型的决策过程,涵盖局部解释、全局解释、基于实例的解释以及针对特定模型(如神经网络)的方法。我们将逐一介绍这些核心概念及其代表性方法。
局部解释方法

上一节我们概述了可解释AI的范畴,本节中我们来看看局部解释方法。这类方法专注于解释模型对单个预测实例的决策依据。
以下是几种主要的局部解释技术:
- LIME:局部可解释模型无关解释。它通过在感兴趣的预测点附近生成扰动数据,并训练一个简单的可解释模型(如线性回归)来近似原始复杂模型在该局部区域的行为。其核心思想是:
解释 = 简单模型在局部对复杂模型的近似。 - Anchors:锚点解释。与LIME类似,它也解释单个预测,但目标是找到一个足够“锚定”该预测的决策规则,而不是用线性模型近似决策边界。
- SHAP:沙普利加性解释。它基于博弈论中的沙普利值概念,通过计算每个特征对预测的贡献度来解释单个预测。由于精确计算沙普利值计算成本极高,SHAP方法旨在对其进行高效近似。
- ICE图:个体条件期望图。它为数据集中的每个实例绘制一条线,显示当某个特定特征值变化时,该实例的预测如何变化。通过可视化所有实例的线条,我们既能获得局部解释性,也能更好地理解全局模式。
全局解释方法

与局部解释不同,全局解释方法旨在捕捉模型的整体行为模式。
以下是几种主要的全局解释技术:
- 功能分解:将复杂模型分解为更简单的组成部分(如主效应、交互效应和截距项),以便分别分析每个部分对预测的影响。
- 特征交互:基于功能分解,专门量化并分析不同特征之间如何共同影响预测结果。弗里德曼和波佩斯库在2008年引入了H统计量来衡量特征交互的强度。
- 部分依赖图:显示一个或两个特征对模型预测结果的边际效应。它本质上是ICE图中所有线条的平均值。公式可以表示为:
PDP(x_S) = E_X_C[f(x_S, X_C)],其中x_S是目标特征,X_C是其他特征。 - 累积局部效应图:为了解决PDP在特征相关时解释不清的问题而引入。ALE图关注特征值发生微小变化时预测的局部变化,然后在整个特征范围内累积这些局部效应,以理解特征影响预测的整体趋势。
基于实例的解释方法
除了分析特征贡献,我们还可以通过提供代表性样本来解释模型的预测。
以下是两种主要的基于实例的解释技术:
- 原型解释:通过从数据中识别代表性样本(原型)来解释黑盒模型的预测。其核心论点是,用典型的实例或模式来表征模型的知识。
- 反事实解释:描述为改变模型对某个实例的预测结果,所需对该实例特征值进行的最小改变。它回答的问题是:“如果输入稍微不同,预测结果会如何变化?” 这有助于理解模型的决策边界。

神经网络的可解释性

神经网络由于其复杂的结构和非线性,在可解释性方面面临独特挑战。因此,研究者开发了许多针对特定神经网络架构(如卷积神经网络、循环神经网络)的定制化解释方法。这是一个快速发展的研究领域。
总结

本节课我们一起学习了可解释人工智能中的多种核心技术。我们介绍了局部解释方法(如LIME、SHAP),它们解释单个预测;全局解释方法(如PDP、功能分解),它们揭示模型的整体行为;以及基于实例的解释方法(如反事实解释),它们通过具体例子来说明预测。最后,我们提到了针对神经网络的特有解释方法仍在不断涌现。理解这些方法的原理和适用场景,对于构建可信、可靠的人工智能系统至关重要。
009:深度神经网络解释方法 🧠
在本节课中,我们将学习几种用于解释深度神经网络(DNN)这一典型“黑箱”模型的核心方法。每种方法都有其优缺点,我们将逐一介绍它们的基本原理和实现思路。
神经网络是典型的黑箱模型。幸运的是,存在多种方法可以解释神经网络。每种方法都有其优缺点,建议你继续深入学习,以了解更多关于这些方法的优缺点以及如何自己实现它们。
解释神经网络的方法包括特征可视化、特征归因、网络解剖和概念激活向量。
特征可视化 👁️
上一节我们提到了几种解释方法,本节中我们首先来看看特征可视化。我们可以使用一种称为特征可视化的方法来可视化神经网络内部发生的情况。
特征可视化是使神经网络中学习到的特征显式化的过程。它回答了“这个神经元、通道或层看到了什么”的问题。
在谷歌2017年介绍该方法的文章中,我们可以看到在神经元级别、通道级别和层级别的不同特征可视化结果。
以下是实现特征可视化的基本思路:
- 通过优化创建图像:我们从随机噪声图像开始。
- 对图像施加约束:为了获得有意义的可视化结果,我们需要对图像进行约束。
- 最大化神经元激活:在特征可视化中,我们的目标是最大化特定神经元的激活。
这种方法有时能为我们提供神经元所调谐特征的有意义可视化解释。但有时也会产生一些相当奇怪的结果,例如下图所示的可视化结果中出现了狗脸。

特征归因 🎯
了解了如何可视化内部特征后,我们来看看另一种方法:特征归因。它关注的是模型预测的贡献度。
特征归因指示了模型中每个特征对某个实例预测的贡献程度。
显著图是用于图像的一种特征归因方法。下图是杜克大学教堂图片的显著图示例,其预测的物体类别是“城堡”。


网络解剖 🔬
除了分析特征贡献,我们还可以尝试将神经网络单元与人类可理解的概念联系起来。这就是网络解剖方法。
网络解剖方法于2017年提出,它将人类概念与单个神经网络单元联系起来。
网络解剖的实现相当直接。以下是其步骤:
- 获取带有人类标注视觉概念的图像:这些应该是像素级标注的图像,包含不同抽象层次的概念。
- 测量图像在CNN通道上的激活:计算卷积神经网络通道对输入图像的激活。
- 获取激活与标注概念的对齐关系:将激活模式与人类标注的概念进行匹配。
该方法可用于探测任何卷积层。在下图来自原论文的示例中,我们可以看到与“狗”、“房子”和“火车”概念相关的激活区域。


概念激活向量 (TCAV) 📊
最后,我们来学习一种更量化的概念分析方法——概念激活向量。
概念激活向量是概念在神经网络层激活空间中的数值表示。基于概念激活向量的测试(TCAV)于2018年首次提出。
对于任何给定的概念,TCAV衡量了该概念对模型预测某个类别的影响程度。在下图的例子中,我们观察“斑马”这个类别,以及“点状”、“条纹状”和“锯齿状”这几个概念。我们探索的是神经网络中一个名为 mixed4c 的层。
在右侧的条形图中,显示了每个概念的TCAV分数。正如所料,对于“斑马”类别,“条纹状”和“锯齿状”概念的TCAV分数很高,而“点状”概念的分数非常低。

总结 📝

本节课中,我们一起学习了四种解释深度神经网络的核心方法:
- 特征可视化:通过优化图像最大化特定神经元激活,以可视化其学习到的特征。
- 特征归因(如显著图):量化每个输入特征对单个预测的贡献程度。
- 网络解剖:将CNN内部单元激活与像素级标注的人类概念进行对齐和关联。
- 概念激活向量 (TCAV):在激活空间中定义概念方向,并量化其对模型预测特定类别的敏感性。

这些方法从不同角度打开了神经网络的“黑箱”,为理解和信任深度学习模型提供了重要工具。
010:解释生成式人工智能
在本节课中,我们将要学习解释生成式人工智能模型所面临的独特挑战与重要性。生成式AI模型,如大语言模型和图像生成的扩散模型,虽然能力卓越,但其内部运作机制却极为复杂和不透明,这使得解释它们的行为变得困难。
生成式AI的解释挑战 🧩
上一节我们介绍了课程概述,本节中我们来看看解释生成式AI模型的具体难点。尽管这些模型性能令人印象深刻,但它们极其复杂且不透明,难以解释。
像GPT-4这样的大语言模型,其参数量可能高达数万亿,这使得追溯其推理过程变得几乎不可能。它们学习到的是高维、分布式、相互纠缠且抽象的表示。



对于扩散模型这类生成模型,不存在清晰的输入-输出映射或决策边界。通过扩散生成图像的过程始于随机噪声。模型在潜在空间中学习图像或文本等高维数据的复杂分布。

潜在空间 是一个关键概念,它允许模型生成与文本或图像输入对齐的内容。这种透明度的缺失,在模型被用于高风险应用时可能带来问题。
为何解释生成式AI至关重要 ⚖️
理解了挑战之后,我们来看看为什么解释生成式AI的行为至关重要。随着生成式模型变得日益强大并被广泛采用,解释其行为的能力变得至关重要,原因如下:
以下是几个核心原因:
- 透明与问责:这些模型能生成高度逼真和富有创意的图像,但其内部运作通常是“黑箱”。可解释AI技术有助于揭示生成图像背后的推理过程,促进透明度和问责制,这对于建立系统信任至关重要。
- 偏见与公平:与其他AI模型一样,图像生成器可能延续其训练数据中编码的社会偏见,或从互联网数据源继承不良偏见。可解释性方法有助于识别和缓解这些偏见,促进技术的公平和负责任使用。
- 创意控制与迭代:解释模型如何理解提示词并生成特定视觉元素,能使艺术家和创作者优化提示词、尝试不同方法,从而更有效地实现其艺术构想。
- 安全与伦理考量:随着这些模型生成高度逼真且潜在有害内容的能力增强,可解释性有助于识别和降低风险,例如生成露骨或非法内容、深度伪造或其他技术滥用。
- 模型改进:可解释性技术提供的洞见可以指导开发更好的图像生成模型,通过揭示模型架构、训练数据或优化目标中的优势、弱点和改进领域。
回顾潜在空间概念 📊
在深入探讨具体方法前,我们需要先回顾一个核心概念:潜在空间。正如我们在本模块开头所讨论的,我们将人类可理解的信息(如语言和图像)转换为机器能理解的数字。
一种方法是获取大量数据,并找出在语义和上下文上相似的概念。例如,在“河岸”的语境中,“bank”一词在语义上应接近“shore”和“riverside”。而在“在银行存钱”的语境中,“bank”在语义上应更接近“金融机构”。

我们本质上将这些概念压缩成一个固定长度的向量或一系列数字,以代表所有这些信息。我们熟悉简单的二维坐标图,可以将一个点映射到空间中,这个点有x和y两个维度。或许我们可以想象一个三维坐标图,可以绘制一个具有x、y、z三个维度的点。
现在,想象绘制一个具有一千甚至更多维度的向量。这种将概念映射到的多维空间被称为嵌入空间或潜在空间。
潜在空间的一个有趣之处在于,只要我们有将不同信息源(如文本和图像)关联在一起的数据集(例如来自互联网的大量图像和标题数据集),我们就可以将它们映射到同一个潜在空间。
然而,如果我们连理解三维空间中的关系都感到困难,那么想象一下,理解复杂概念和多模态数据之间的语义和上下文关系对我们来说有多么困难。
本课程的重点与拓展 🎯
对于本模块的剩余部分,我们将专注于生成式语言模型,通常称为大语言模型。
但是,生成式图像模型中的可解释性也非常引人入胜,例如图中展示的GAN模型的潜在空间引导扰动、扩散模型的反事实解释,以及Park等人提出的有趣的特征归因方法。

虽然这不是本课程的主要议题,但我们将在本专项课程后续的“可解释机器学习”课程中,深入探讨生成式图像模型的可解释性。
本节课总结
本节课中,我们一起学习了解释生成式人工智能(如大语言模型和扩散模型)所面临的独特挑战,包括其极高的复杂性和不透明性。我们探讨了对其进行解释至关重要的多个原因,包括确保透明度、公平性、创意控制、安全性和促进模型改进。我们还回顾了“潜在空间”这一核心概念,它是理解生成式模型如何工作的基础。最后,我们明确了本课程将主要关注语言模型的可解释性,并指出了图像生成模型可解释性这一广阔而有趣的研究方向。
011:大语言模型中的XAI挑战

在本节课中,我们将探讨可解释人工智能在大语言模型领域所面临的核心挑战。我们将基于Zotal在2023年提出的分类框架,重点讨论在微调、提示工程以及知识增强等场景下的XAI方法,并分析当前面临的主要困难。
大语言模型可解释性的分类框架

上一节我们介绍了XAI的基本概念,本节中我们来看看如何将其应用于大语言模型。我们将主要依据Zotal在2023年提出的分类法来组织讨论。

我们的讨论将主要围绕微调和提示工程中的XAI展开,并涵盖图中所示的多种解释方法。

除了微调和提示工程,我们还将探讨XAI在LLM知识增强或检索增强生成中的应用。
大语言模型XAI的主要挑战
将XAI方法应用于大语言模型面临着一系列独特的挑战。以下是几个关键难点:
- 模型规模与复杂性:像GPT-4这样的大语言模型参数量巨大(可能达到万亿级别),这使得追溯其推理过程变得异常困难。它们学习到的是高维、分布式、相互纠缠且抽象的表示。
- 缺乏基准真值:在许多任务中,不存在或很少有明确的“标准答案”,这导致难以设计能准确反映模型决策过程的解释算法,同时也使得评估解释的忠实度和保真度颇具挑战。
- 模型透明度不足:许多LLM缺乏关于其模型架构、权重和训练数据的详细文档,这种不透明性阻碍了可解释方法的发展。
关于本领域发展的说明
在开始深入探讨之前,需要特别说明一点:大语言模型的可解释性是一个新兴且快速发展的领域。
这意味着当前讲授的材料可能在六个月后就会过时。虽然我希望随着新研究的发表不断更新本课程,但必须提醒大家,这里所讲的内容并非关于可解释LLM的全部真理,它仅仅是该领域当前进展的一个快照。
作为你在XAI持续学习的一部分,我鼓励你阅读最新的论文,并紧跟关于LLM可解释性的思维模式和观点的变化。
😊


本节课中我们一起学习了应用于大语言模型的XAI所依据的分类框架,并重点分析了其面临的核心挑战,包括模型复杂性、基准真值缺失以及透明度不足等问题。同时,我们也认识到这是一个快速演进的领域,需要持续关注最新研究。
012:XAI在大语言模型微调中的应用

在本节课中,我们将要学习可解释人工智能在大语言模型微调过程中的具体应用。我们将回顾微调的基本概念,并深入探讨用于解释微调后模型的多种方法,包括局部解释和全局解释。

回顾大语言模型微调
上一节我们介绍了XAI的概述,本节中我们来看看它在微调场景下的具体应用。首先,让我们回顾一下大语言模型的微调过程。
在大语言模型微调中,一个大型基础模型(通常参数量超过10亿)首先在无标签的语料库上进行预训练。随后,该模型在一个带有标签的较小数据集上,或通过人类反馈的强化学习进行微调。
这个过程可以用下图表示。我们使用大规模文本语料库对基础模型(如Llama 2)进行无监督预训练。基础模型通常不擅长生成令人满意的回答。为了获得能提供有用结果的模型,通常需要进行某种形式的微调。我们使用一个较小的微调数据集,对基础模型进行监督微调和/或人类反馈的强化学习,从而创建出我们的助手模型(如Llama 2 Chat)。
微调中的解释类型
我们可以将大语言模型微调中的解释分为局部解释和全局解释。局部解释旨在解释一个特定的预测或一组预测,而全局解释则试图提供对模型的整体性理解。
以下是本课将讨论的局部解释方法:
- 特征归因:分析输入特征对模型输出的贡献。
- 基于注意力的解释:利用模型的注意力机制来理解其决策焦点。
- 基于实例的解释:通过具体例子来解释模型行为。
- 自然语言解释:用生成的文本来解释模型的决策过程。

以下是本课将讨论的全局解释方法:
- 基于探针的解释:通过训练浅层分类器来探测模型内部表示的含义。
- 神经元激活解释:分析单个神经元或维度的激活模式。
- 基于概念的解释:将输入映射到一组概念,并衡量每个概念对预测的重要性。

如果你计划学习本专项课程中的可解释机器学习课程,我们将详细讲解其中的许多方法。
局部解释方法详解
Chow等人的研究对局部解释方法进行了出色的梳理。让我们深入细节。
特征归因方法
目前,大语言模型主要有四种特征归因的可解释性方法。
首先是基于扰动的解释。这种方法通过移除、掩码或改变输入特征(可以是嵌入向量、隐藏单元、单词或标记)来扰动输入样本,然后评估模型输出的变化。
其次是基于梯度的解释。这种方法通过分析输出相对于每个输入维度的偏导数来确定每个输入特征的重要性。导数的大小反映了输出对输入变化的敏感度。在LLM中,积分梯度是主要的基于梯度的解释方法。
第三是SHAP方法。我们在XAI方法概述中简要讨论过SHAP。Gen等人在2023年将SHAP适配到基于Transformer的语言模型。TransSHAP主要专注于将SHAP应用于子词文本输入并提供序列可视化解释。
最后是基于分解的方法。分解技术旨在将相关性分数分解为输入的线性贡献。层相关性传播就是一个例子。
基于实例的解释

基于实例的解释是LLM微调中的另一种局部解释方法。
反事实解释揭示了基于某些观察到的输入变化,结果会发生什么改变。有影响的实例通过衡量单个训练样本对测试点损失的影响程度,来描述其影响力。

我们今天将涵盖的主题包括对抗性示例和自然语言解释。
对抗性示例

神经网络模型非常容易受到输入数据中精心设计的小修改的影响,这些修改可以极大地改变模型的预测,尽管对人类来说几乎无法察觉。这些被称为对抗性示例。
对抗性示例暴露了模型失败的领域,并在训练期间用于提高模型的鲁棒性和准确性。
早期的对抗性示例生成专注于词级操作,如错误、删除和插入。更先进的方法,如Jia等人在2020年提出的TextFooler,则基于词嵌入和语义相似性,策略性地扰动重要词汇。
大语言模型中对抗性示例的最新方法,利用掩码语言模型,并采用“掩码后填充”的过程来进行标记级扰动,如替换、插入和合并。W等人于2022年提出的Semi方法提出了一个更通用的框架,直接在嵌入空间(如知识和上下文语义)上操作。它迭代地优化扰动后的嵌入以满足攻击目标。

Semi攻击的一个可视化示例如表1所示,将一个蓝色单词替换为红色的对抗性单词,误导了正确预测到错误类别,但不会欺骗人类。
自然语言解释
我们将讨论的最后一个局部解释是自然语言解释。这种方法通过生成的文本来解释模型在输入序列上的决策过程。
其方法是使用原始文本数据和人工标注的解释来训练一个语言模型。最近,这已被应用于各种数据集和任务。
如下表(来自Lowe等人)所示,2019年的一篇论文引入了常识解释数据集,并用它来训练语言模型自动生成解释,这些解释可用于训练和推理。类似地,2022年的一项更近期的研究探讨了自然语言解释的少样本域外迁移学习,即从拥有大量自然语言解释的父任务迁移到子任务。
全局解释方法详解
现在让我们讨论全局解释。基于概念的解释允许我们将输入映射到一组概念,并衡量每个预定义概念对模型预测的重要性分数。测试概念激活向量就是这种方法的一个例子。
在可解释的LLM微调中使用的两种全局解释——基于探针的解释和神经元激活解释——将是我们更详细讨论的主题。
基于探针的解释
在基于探针的解释中,我们可以查看基于分类器的探针或无参数探针。
在基于分类器的探针中,过程是:首先冻结LLM参数,然后从LLM生成表示。接着,在这些表示上训练一个浅层分类器来预测语言属性。如果你探测的是句法,你关注的是词性、形态或依存关系等。或者,如果你探测的是语义,你检查的是共指、实体和关系。
无参数探针直接在定制化的数据集上评估LLM,而无需使用分类器。
需要注意的是,与许多这类方法一样,探针的有效性在研究人员中存在争议。高性能可能并不意味着LLM真正理解了语言。
神经元激活解释
神经元激活分析检查的是单个神经元或维度,而不是整个向量空间。它涉及两个步骤:一,识别重要神经元;二,学习语言属性与神经元之间的关系。
缺乏真实标注使得评估组件级解释具有挑战性。
下图展示了一个神经元激活解释的例子,它观察了GPT-2第五层第131个神经元的激活可视化。
神经元激活解释的过程如下所示。首先,以无监督的方式识别重要神经元。这涉及基于相关性测量、学习到的权重或使用监督分类方法等指标对神经元进行排序。接着,在监督任务中学习语言属性与单个排序神经元之间的关系。然后,通过消融实验(如掩码和擦除)定量验证排序后神经元的重要性。对于LLM,生成自然语言解释,总结触发给定神经元高激活的文本模式。最后,通过测试这些解释能让模型在新测试示例上模拟真实神经元激活行为的程度,来评估自然语言解释的质量。
总结

本节课中,我们一起学习了可解释人工智能在大语言模型微调中的应用。我们回顾了微调的基本流程,并系统性地介绍了用于解释微调后模型的多种方法。我们区分了局部解释(如特征归因、对抗性示例、自然语言解释)和全局解释(如基于探针的解释、神经元激活解释),并了解了它们的基本原理和应用场景。理解这些解释方法对于构建更可靠、更透明且值得信赖的大语言模型至关重要。
013:大语言模型提示中的可解释性应用
在本节课中,我们将学习大语言模型提示工程中的可解释性方法。我们将探讨两种主要的提示技术——上下文学习和思维链,并了解研究人员如何分析这些技术如何影响模型的行为。最后,我们还将讨论大语言模型面临的不确定性挑战及其评估方法。


大语言模型提示工程回顾

提示工程涉及用自然语言策略性地设计特定任务的指令,以在不改变模型参数的情况下引导其输出。一个提示通常包含指令、上下文和用户输入,用于指导预训练大语言模型的输出。
以下是提示工程中一些不同的方法学概览(源自Sahuitel等人2024年的论文)。
上下文学习与思维链提示
在可解释性的背景下,我们将讨论两种类型的提示:上下文学习和思维链。
上下文学习是指在提示中为模型展示任务示例。思维链提示则涉及引导模型描述其推理过程,并逐步解决问题。

上下文学习的可解释性
当我们思考上下文学习的可解释性时,我们试图回答的问题是:上下文学习如何影响模型行为?

为了回答这个问题,近期的研究依赖于对比示例、输入文本扰动、翻转标签以及使用语义无关的标签。
- Lee等人(2023) 使用SST-2情感分析基准任务,通过分析对比示例和显著性图谱来解释上下文学习在LLMs中如何工作。作者通过翻转标签、扰动输入文本和添加补充解释来构建对比示例。
- 以下是一个在示例中翻转标签的提示。
- 以下是一个进行输入扰动的提示。
- 以下是一个添加了补充解释的提示。

- Wei等人(2023) 通过研究两种设置来解释上下文学习如何受语义先验与输入-标签映射的影响:使用翻转标签的上下文学习,以及使用语义无关标签的上下文学习。下图展示了重新映射输入的概览,其中词语被映射到其他词语以降低输入的语义意义。
思维链提示的可解释性
对于思维链提示的可解释性,我们提出一个类似的问题:思维链提示如何影响大语言模型的行为?
为了回答这个问题,近期的研究探索了显著性分数、扰动和反事实分析。

下图展示了一个典型的思维链提示结构,包含问题(Q)、思考(T)和答案(A)。
- Woo等人(2023) 分析了输入词元的显著性分数。显著性分数表明每个输入词元对模型输出的影响程度。其目标是理解,与标准提示相比,思维链提示是否会改变显著性分数,或者说,思维链为何能提升性能。
- 2022年的多篇论文 通过向少样本提示中的思维链示例添加错误来进行扰动,以确定哪些方面对于生成好的解释是重要的。其中,Madon等人的一篇论文还提出了反事实提示,用于扰动提示中的关键组成部分,如符号、模式和文本。
大语言模型的不确定性挑战
不确定性是当前大语言模型面临的一个重大挑战。尽管它们在生成类人文本方面能力令人印象深刻,但大语言模型可能表现出过度自信,即使在其训练数据不完整或模糊时,也会提供高度确定的回答。这种不确定性量化的缺失可能导致潜在风险,例如传播错误信息或基于不可靠的输出做出关键决策。解决这个问题对于构建可信赖和可靠的AI系统至关重要,尤其是在医疗保健、金融和决策制定等高风险领域。
上一节我们探讨了提示技术如何影响模型行为,本节中我们来看看如何评估模型输出本身的可靠性。
- 基于一致性的不确定性估计:Xi Yong等人在其2024年的论文中提出,这种方法涉及对一个问题生成多个回答,并利用这些回答之间的一致性来估计模型的置信度。他们通过向答案生成过程引入随机性(例如,自洽性)或在提示中添加误导性暗示来诱导生成不同的回答。其理念是,如果一个微调后的大语言模型在多次回答中表现得更一致,那么它对答案的估计置信度就更高。
- 词元级不确定性:Dwent等人的一篇论文着眼于词元级不确定性。核心概念是:大语言模型通过预测每个词元来生成文本。词元级不确定性方法根据每个预测词元的概率分布计算其置信度分数。整体不确定性可以基于词元级不确定性的聚合来估计。
直接询问模型的置信度?

现在,你可能会问:我们不能直接要求一个大语言模型告诉我们它对答案有多自信吗?
答案可能是不能。尽管有研究框架被提出,例如Lee等人在2024年提出的让大语言模型证明其置信度,而不是简单地要求模型给出其置信度的朴素方法,但仍有一些问题需要考虑。
- 当前的大语言模型经常产生幻觉,并且不知道它们不知道什么,或者其训练数据之外的信息。它们极有可能凭空编造。
- 很难将这种自信度映射到任何真实的事物上。
- 虽然这可能是一种尝试理解模型自认为对答案有多自信的有趣方法,但它本身并不是一种可解释的人工智能方法。
总结

本节课中我们一起学习了可解释人工智能在大语言模型提示工程中的应用。我们回顾了上下文学习和思维链这两种核心提示技术,并了解了研究人员如何通过对比示例、显著性分析、扰动和反事实等方法来解释它们对模型行为的影响。最后,我们探讨了大语言模型面临的不确定性挑战,并介绍了基于一致性和词元级概率的评估方法,同时指出了直接询问模型置信度所存在的局限性。理解这些方面对于开发更可靠、更透明的大语言模型应用至关重要。
014:XAI在知识增强与检索增强生成中的作用

在本节课中,我们将学习可解释人工智能在大型语言模型知识增强领域的应用。我们将重点探讨一种特定的知识增强方法——检索增强生成,并了解如何通过可视化嵌入空间等技术来提升其可解释性。
什么是知识增强与检索增强生成

上一节我们介绍了XAI的基本概念,本节中我们来看看它在知识增强中的应用。首先需要定义知识增强。

我们将讨论一种特定类型的知识增强,称为检索增强生成。检索增强生成是大多数定制化聊天机器人的工作原理,例如右侧截图中展示的Scionic聊天机器人。它在搜索领域也有应用,正如本页幻灯片底部截图所示的Rent the Runway AI搜索功能。如果你使用过OpenAI的助手API,它也是其基础。
我们将首先定义检索增强生成,讨论其在可解释人工智能中的应用,然后探索检索增强生成中的可解释人工智能技术。
检索增强生成流程
这是检索增强生成的流程。我们将分解其中的每一个组成部分。

回顾嵌入技术
在深入流程之前,让我们先回顾一下嵌入技术。正如我们在本模块开始时讨论的,我们需要将人类可理解的信息(如语言和图像)转换为机器可以理解的数字。
实现这一点的一种方法是获取大量数据,并找出在语义和上下文上相似的概念何时彼此接近。例如,在“河岸”语境中的“bank”一词,在语义上应更接近“shore”和“riverside”。而在“在银行存钱”语境中的“bank”一词,在语义上应更接近“金融机构”。
我们本质上希望提取这些概念,并将它们压缩成一个固定长度的向量或一系列数字,以代表所有这些信息。
嵌入的定义与特性
嵌入是一种将文本信息转换为实数向量的方法,能够捕捉数据的语义和句法方面。它们捕捉语义关系,使得具有相似含义的单词能够拥有相似的表示。
嵌入的关键特性包括:
- 降维:它降低了数据的复杂性。
- 语义捕捉:它根据单词的使用和上下文对含义进行编码。
- 距离度量:你可以使用相似性,而含义通常与向量空间中的邻近性相关。
嵌入被映射到一个我们称为嵌入空间或潜在空间的多维空间中。在这张图片中,你可以看到一个多模态嵌入空间,其中来自大型图像数据集的大量标题通过一个名为CLIP的多模态嵌入模型进行了嵌入,并使用一种我们稍后将介绍的名为UMAP的方法进行了可视化。有趣的是,图片右侧显示了人工标记的概念簇,如“人物和服装”,底部是“住房”,右侧是“地点”,顶部附近是“艺术和动物”。从1200万个嵌入的标题中提取的一些概念包括“厨房”和“餐厅”,它们在多维嵌入空间中彼此接近。
构建向量数据库
我们检索增强生成流程的第一个概念利用了嵌入技术。向量数据库是存储向量嵌入的地方。
通常,你会获取大量非结构化数据,如PDF、图像或视频,并使用一个嵌入模型将数据的某些部分转换为向量嵌入。这里我使用Rent the Runway的一个例子,他们时尚数据库中的每个商品都被嵌入为一个向量。需要注意的一点是,嵌入模型决定了你的向量长度或维度数量。例如,OpenAI的text-embedding-ada-002嵌入模型的向量长度为1536。
处理用户查询
我们检索增强生成流程的下一个组成部分同样在用户提问时使用嵌入技术。用户查询的文本被转换为向量嵌入,使用的嵌入模型与创建向量数据库时使用的模型相同。
例如,如果我的用户查询是“黑色皮靴”,那么该查询将使用我的嵌入模型进行嵌入,我将得到一个代表该查询的向量嵌入。
匹配与生成
现在我将各个部分连接起来。我使用相似性算法将用户查询嵌入与我的向量数据库进行匹配。相似性算法用于在向量数据库中查找与用户查询最接近的匹配项。
你可以在这里使用任何距离度量,例如欧几里得距离。然而,大多数构建检索增强生成流程的人使用余弦相似度。余弦相似度具有尺度不变性,因此无论向量大小如何,它都能测量向量的相似性。由于它关注的是角度而非绝对距离(绝对距离可能受到维度诅咒的影响),因此它更适用于高维空间。并且它具有可解释性,因为其值被限定在-1和1之间。
现在,我们只需要将大型语言模型重新引入循环中,以完成我们检索增强生成流程的生成部分。总结一下检索增强生成:
- 你有一个通过嵌入非结构化数据创建的向量数据库。
- 你有一个用户查询,它也使用与创建向量数据库相同的嵌入模型进行了嵌入。
- 你使用相似性算法在向量数据库中的条目和你的用户查询之间找到最接近的匹配项。
- 这些最接近的匹配项随后被整合到你的提示中,并发送给大型语言模型。
- 大型语言模型生成对用户查询的响应,并将此响应发送回用户。
当然,这是一个非常简单的例子。一些检索增强生成流程具有更智能的代理结构,其中包含一个在循环中做出明确决策的大型语言模型;一些拥有多个数据库;还有一些拥有重新排序算法或算法来重新评估你的相似性算法结果,以改进输入到大型语言模型生成部分的匹配项。
检索增强生成的可解释性优势
虽然检索增强生成本身并非天生具有可解释性,但它通过“来源追溯”为用户提供了洞察力,让他们了解支撑大型语言模型响应的知识库。它允许用户验证事实准确性,理解模型的推理过程,并确信生成的内容是基于真实世界数据而非纯粹的幻觉。
这种透明度可以培养信任,并使大型语言模型的强大能力更易于理解和付诸实践。
此时,你可能会想,有哪些方法可以提高检索增强生成系统本身的可解释性?一种方法是通过可视化使嵌入空间更具可解释性。我们已经在嵌入技术的幻灯片上看到了一个例子,其中展示了使用CLIP嵌入的图像标题的可视化。
可视化潜在空间的挑战
在深入可视化潜在空间之前,快速回顾一下。我们熟悉简单的二维图,可以取一个点并将其映射到空间中。这个点有两个维度,X和Y。也许我们可以想象一个像这里展示的三维图,我们可以绘制一个具有三个维度(X、Y和Z)的点。
现在想象绘制一个具有100个或更多维度的向量。这个映射概念的多维空间被称为嵌入空间或潜在空间。潜在空间的一个有趣之处在于,只要我们有将它们连接在一起的数据集(例如来自互联网的大量图像和标题数据集),我们就可以将不同的信息源(如文本和图像)映射到同一个潜在空间。
然而,如果我们很难理解像这里展示的这样的三维图中的关系,那么想象一下,理解复杂概念和多模态数据之间的语义和上下文关系对我们来说是多么困难。
可视化高维潜在空间的方法
那么,我们如何可视化具有如此多维度的潜在空间呢?我们能否对潜在空间做出任何有意义的解释?有几种通常用于降维和可视化的方法,我们可以利用它们来可视化嵌入。这些方法是t-SNE投影、PCA和UMAP。
以下是这些可视化潜在空间方法的简要总结,你将在阅读和后续讨论中探索它们,这将是一次使用TensorFlow的Embedding Projector工具进行的探索。
以下是每种方法的简要说明:
- 主成分分析:其重点是捕捉数据中的全局线性关系。你应该使用PCA来简化和发现数据中的全局线性关系和模式。
- t-分布随机邻域嵌入:这涉及构建一个低维表示,其中相似的数据点被放置得更近。你应该使用t-SNE来强调可视化,揭示局部模式和聚类。
- 均匀流形近似与投影:UMAP使用流形学习(一种非线性降维技术)来理解数据的基础结构或形状。它专注于捕捉数据中复杂的非线性关系。你应该使用UMAP来保留局部结构并处理复杂的非线性关系。
总结

本节课中,我们一起学习了可解释人工智能在检索增强生成中的应用。我们首先定义了检索增强生成的流程,包括创建向量数据库、处理用户查询、进行相似性匹配以及利用大型语言模型生成回答。接着,我们探讨了如何通过可视化嵌入空间(例如使用PCA、t-SNE和UMAP等技术)来提升检索增强生成系统的可解释性,从而帮助用户理解模型的知识来源和推理过程,增强对生成结果的信任。
015:新兴趋势、开放挑战与考量

在本节课中,我们将探讨可解释人工智能领域的新兴研究方向,并深入分析其在技术、社会、伦理和评估方面所面临的开放挑战与重要考量。理解这些趋势和挑战对于负责任地开发和应用XAI技术至关重要。
🚀 新兴研究方向
上一节我们介绍了XAI的基本概念,本节中我们来看看该领域正在快速发展的几个前沿方向。
以下是当前XAI研究的几个关键趋势:
- 多模态与多媒体XAI:旨在开发解释能够同时处理多种数据模态(如图像、文本和音频)的AI系统的技术。其应用领域包括多媒体内容分析和人机交互。
- 可解释的强化学习与决策:专注于增强在复杂环境中运行的强化学习智能体所习得的序列决策策略和策略的透明度。
- 可解释的联邦与去中心化AI:随着联邦学习和设备端模型使AI变得更加去中心化,该方向探索在不共享完整模型细节的情况下提供隐私保护的解释方法。
- XAI与其他AI范式的融合:将XAI与因果AI结合以提供鲁棒的反事实解释,或与神经符号AI结合以提取明确的符号规则来增强神经解释,正受到越来越多的关注。
🧠 社会技术挑战
尽管XAI的技术解决方案在不断进步,但在实践中有效采用和使用这些技术仍面临重大的社会技术障碍。
建立公众信任
培养公众的信任和接受度至关重要。对AI缺乏了解和熟悉会滋生对不透明的“黑箱”模型决策的不信任和怀疑。XAI在揭开这些系统的神秘面纱、使其推理过程透明易懂方面扮演着重要角色。然而,生成既简单易懂以真正建立信任,又准确忠实地反映模型行为的解释,是一个巨大的挑战。展示XAI在高风险、关键决策中带来切实益处的真实案例研究有助于增强公众信心。
认知偏差的影响

即使通过XAI提供了解释,人类仍然容易受到认知偏差的影响,这会显著影响解释被理解和采取行动的方式。确认偏差可能导致人们偏爱或固守那些符合其既有信念的解释,而忽视矛盾的证据。解释深度错觉,即人们从浅显的解释中高估了自己的真实理解深度,也可能导致过度自信,并妨碍理解AI系统推理背后的全部复杂性。统计素养的不足和处理不确定性的能力有限,会扭曲人们对涉及置信度分数或误差估计的概率性解释的感知。XAI系统的设计必须仔细考虑并减轻这些固有人类偏见和认知局限的影响。
设计以用户为中心的解释界面
开发真正以用户为中心、直观的界面来传达AI系统的解释至关重要。这些解释界面需要适应目标用户的背景知识、需求和专业领域。一个包含领域专家、受影响社区和非技术终端用户等不同利益相关者的用户中心设计过程至关重要。超越纯文本的可视化、交互性和多模态解释技术可以显著增强人类可解释性,但也必须考虑语言要求、残障人士需求以及用户间数字素养水平差异等可访问性因素。由持续的用户反馈和真实世界实地研究驱动的迭代改进周期,对于创建可用、可信且被广泛采用的XAI工具和界面至关重要。
弥合技术与人类理解的鸿沟
从根本上说,XAI技术方法中利用的数学形式化与抽象,与人类直观感知、推理和内化解释的方式之间仍然存在差距。当前的XAI方法通常产生基于实例的解释或突出特征重要性,这些并不能自然地转化为对人类有意义的高层逻辑。将解释与人们构建心智模型的方式相一致、使用熟悉的类比、概念和因果框架结合起来,对于弥合这一鸿沟大有裨益。将人类心智模型、先验知识和直观表征直接整合到XAI流程中是一个新兴的研究方向。在某些情境下,由知识渊博的人类中介来沟通和翻译技术解释可能有助于提高可解释性。
通过深思熟虑地应对这些社会技术因素,同时推进可解释AI的数学和计算基础,我们可以充分发挥XAI作为可信赖、以人为本的人工智能系统赋能者的作用。
⚖️ 伦理考量

随着AI系统日益嵌入影响人类生活的关键决策过程,XAI的伦理影响至关重要。
公平性与偏见缓解
XAI的关键益处之一是其通过揭示影响AI系统决策的因素来识别和缓解AI模型中偏见的潜力。XAI有助于发现和解决可能源于历史数据或算法缺陷的偏见。这可以促进公平和非歧视,确保AI驱动的决策不会不公正地偏向某些群体或个人。
隐私与透明度平衡
虽然透明度至关重要,但我们也必须考虑提供解释所带来的隐私影响,尤其是在涉及敏感个人数据时。在维护个人隐私和提供有意义的解释之间需要取得微妙的平衡。开发隐私保护技术和负责任的解释披露指南对于确保在追求透明度的过程中不泄露个人信息至关重要。
人类能动性与责任归属
随着我们越来越依赖AI系统辅助决策,存在过度依赖其解释的风险,这可能会削弱人类的能动性和自主权。确保个人理解并批判性地评估XAI系统提供的解释,而不是盲目接受,这一点至关重要。通过提供清晰可解释的解释,XAI可以在促进对AI驱动决策的问责和责任归属方面发挥关键作用。XAI有助于识别错误或有害结果的责任归属。然而,这也需要制定伦理准则、监管框架和审计机制,以确保可解释AI系统的负责任开发和部署。
全生命周期整合
XAI应被视为从设计到部署和监控的完整AI系统生命周期中不可或缺的一部分。随着模型的演进,需要持续重新评估和更新解释以保持忠实性。建议使用记录预期用途、已知局限性和不确定性估计的文档和模型卡片。通往可信赖和负责任AI的道路在于我们平衡透明度、公平性、隐私和人类能动性的能力。必须仔细考虑和解决XAI的伦理影响,并将受影响利益相关者、领域专家和伦理学家的反馈纳入XAI流程是必要的。
📊 评估框架与基准

为了推动XAI的进步,开发稳健的评估框架和基准至关重要。
我们需要标准化的评估标准、指标和基准,从准确性、忠实性、一致性和人类可解释性等多个维度全面评估XAI技术。虽然存在用于评估忠实性的计算指标,但也必须采用人类用户研究和试验等方法来评估解释的主观可解释性。一个关键瓶颈是缺乏跨越不同领域、任务和模态的高质量、标准化XAI数据集,以促进可重复的评估和公平的比较。像交互式XAI这样的替代评估范式,即根据用户反馈优化解释,可能更好地捕捉解释的可用性和有效性。
🎯 总结


本节课中我们一起学习了可解释人工智能领域的新兴趋势,包括多模态XAI和可解释强化学习等方向。我们深入探讨了在建立公众信任、克服认知偏差、设计用户界面以及弥合人机理解鸿沟方面面临的社会技术挑战。同时,我们也分析了XAI在促进公平、平衡隐私与透明度、维护人类能动性以及明确责任归属等方面的关键伦理考量。最后,我们认识到建立全面的评估框架和基准对于推动该领域发展的重要性。理解这些趋势和挑战是构建真正可信赖、负责任且以人为本的人工智能系统的关键一步。
016:人机交互 🤖


在本节课中,我们将要学习人机交互(Human-AI Interaction)的概念。人机交互指的是人类与人工智能系统之间进行沟通、协作和互动的方式。它涵盖了设计原则、界面模式和技术,旨在实现人类与AI系统之间的有效交流。

上一节我们介绍了可解释人工智能的基本概念,本节中我们来看看人类与AI系统是如何具体协作的。
人机交互的应用场景
以下是几个关键领域中,人类与AI系统通过XAI技术进行协作的具体方式。
- 医疗诊断与治疗规划:AI系统可以分析患者数据并提供诊断建议,辅助医生工作。XAI技术(如特征重要性可视化)可以突出显示影响AI诊断的关键因素,让医生理解并验证其推理过程。医生可以与AI协作,提供额外的背景信息或领域知识,AI则可以据此更新其建议。
- 金融决策:基于大量金融数据开发的AI模型可以为金融顾问提供建议或风险评估。XAI方法(如局部可解释模型无关解释,即 LIME)可以通过突出显示对特定预测最有影响力的特征来解释AI的决策。金融顾问可以利用这些解释来理解AI的推理,结合自身专业知识,与AI协作做出更明智的决策。
- 贷款申请:评估贷款申请或信用度的AI模型可以与XAI技术(如规则提取)结合使用。规则提取可以生成易于人类理解的规则,捕捉AI的决策逻辑,帮助信贷员理解决策并向申请人解释。
- 制造业维护:AI系统可以分析传感器数据,预测机器或部件可能发生故障的时间,从而实现主动维护。XAI方法(如反事实解释)可以展示调整某些输入特征如何导致不同的预测结果,帮助制造工程师理解潜在的模式和因果关系。制造工程师在提出建议时可以验证这些解释。
在所有这些例子中,XAI方法通过提供透明度和可解释性,帮助弥合人类与AI决策之间的差距,实现有效协作,并确保AI的决策是可信、公平且符合人类价值观和领域知识的。

人机交互的研究趋势
上一节我们看到了XAI在具体场景中的应用,本节中我们来看看该领域当前的研究方向与发展趋势。人机交互领域的研究正在快速发展。
以下是当前的一些主要研究趋势:
- 多模态可解释人工智能:旨在通过多种模态(如自然语言、可视化和交互界面)提供解释,使解释对人类而言更直观、更易理解。
- 交互式XAI系统:致力于创建更具交互性的XAI系统,使其能够与用户进行对话,允许用户就提供的解释提出后续问题并获得澄清。对话式AI旨在使交互更加自然和协作。
- 情感计算:这是交互式AI的重要组成部分,涉及开发能够识别、解释和响应人类情感、社交线索和非语言行为的AI系统。这包括情感识别、社交信号分析以及AI代理生成适当响应的研究。
- 以人为本的AI设计:这是人机交互和XAI系统在生产中成功应用不可或缺的研究领域。它涉及开发设计AI系统的方法和指南,优先考虑人类需求、价值观和伦理考量。这包括以人为本的设计原则、用户体验评估和参与式设计方法的研究。


本节课中我们一起学习了人机交互的核心概念,了解了XAI技术如何在医疗、金融、信贷和制造等多个高风险领域促进人类与AI的有效协作。我们还探讨了该领域的前沿研究方向,包括多模态解释、交互式对话系统、情感计算和以人为本的设计。理解这些内容对于构建可信、公平且能与人类专家顺畅协作的AI系统至关重要。
017:用户体验考量与最佳实践 🎯

在本节课中,我们将学习开发可解释人工智能系统时,需要重点考虑的用户体验因素与最佳实践。这些考量旨在确保人机交互的有效性,让解释真正服务于用户。
概述
开发可解释人工智能系统时,必须重视用户体验。这涉及多个方面,包括解释的呈现方式、详细程度、透明度、交互性、信任建立、工作流整合、可访问性以及用户反馈机制。接下来,我们将逐一探讨这些关键考量。

解释的模态与呈现方式
解释的呈现模态和格式应与用户的偏好和认知能力相匹配。这可以包括自然语言解释、可视化图表、交互式界面或多种模态的组合,具体取决于期望的用户体验。

以下是两种常见的模态示例:
- 自然语言解释:对于像Alexa或Siri这样的虚拟助手,自然语言界面可能更合适。它们可以用自然语言解释为何无法理解或执行某个特定指令。
- 视觉显著性图:在自动驾驶汽车系统中,视觉显著性图可能更合适。它们可以用来高亮显示影响物体检测的图像中最关键的区域,为用户提供视觉反馈。
解释的层级与粒度
上一节我们讨论了如何呈现解释,本节中我们来看看解释的详细程度应如何设计。
XAI系统的设计应以最终用户为中心。新手用户可能需要更高层次的解释,而专家可能更喜欢更技术性和更细致的解释。如果最终用户群体经验水平不一,或许应允许用户根据其专业知识和信息需求,调整解释的详细程度和粒度。
以下是两个应用场景:

- 医疗AI系统:可以为患者提供关于诊断的高层次解释,同时为医疗专业人员提供更详细的技术性解释。
- AI驱动的交易平台:可以允许金融分析师根据其专业知识,调整投资建议解释的详细程度。

透明度与可理解性
设计XAI系统的用户体验时,应确保解释对用户是透明、易于理解和解释的。解释应避免使用技术术语或不透明的表述,并应与人类的思维模型和领域知识保持一致。
解释应针对特定的上下文和用例进行定制,提供相关信息以协助用户进行决策或完成手头任务。例如,一个用于作物产量预测的AI系统,应提供侧重于其使用特定区域最相关的环境和农业因素的解释。
交互式探索
XAI界面应支持交互式探索,允许用户探查更多信息、提出后续问题或调整参数,以更好地理解AI的推理和决策过程。
例如,一个用于法律文件分析的AI系统,应使用户能够提出后续问题,以检查特定条款或解释背后的推理。
信任与可控性
XAI系统应通过提供准确可靠的解释、承认系统局限性以及在必要时允许人工监督和控制,来帮助用户建立对AI的适当信任。
这在医疗等高风险领域尤为重要。AI系统应承认其局限性,并在适当时建议由人类专家进行审查。
工作流整合
XAI界面应与用户现有的工作流程和工具无缝集成,最大限度地减少干扰和认知负荷。
例如,一个AI驱动的邮件优先级排序系统,应无缝集成到用户当前的电子邮件客户端中,在熟悉的界面内提供关于邮件重要性的解释。如果体验不流畅,大多数人就不会使用它。
可访问性
XAI界面应可供具有不同能力和背景的用户访问,确保解释能被广泛的用户理解和使用。
以下是两个例子:
- AI聊天机器人:应提供多种语言的解释,并为视障用户使用语音或文本转语音功能。
- AI财务顾问系统:应使用简单的语言和视觉辅助工具,使解释对不同金融知识水平的用户更具可访问性。
用户反馈与自适应
今天我们将讨论的最后一个用户体验考量是用户反馈与自适应。
XAI系统应包含相应的机制,让用户能够就解释的质量和有用性提供反馈,并基于此反馈调整或改进解释。
总结

本节课中,我们一起学习了设计可解释人工智能系统时需关注的八大用户体验考量:解释的模态与呈现方式、解释的层级与粒度、透明度与可理解性、交互式探索、信任与可控性、工作流整合、可访问性以及用户反馈与自适应。将这些原则融入设计,是构建真正有用、可信且用户友好的AI系统的关键。
018:AI用户体验——Driver产品负责人Ryan Bolick


在本节课中,我们将探讨如何将用户体验(UX)设计原则应用于人工智能产品,从而在竞争激烈的市场中脱颖而出,并真正解决用户的实际问题。
概述
在当今快速发展的技术领域,一个关键问题浮现出来:用户体验能否成为释放AI工具全部潜力、并使你的产品脱颖而出的关键?本节课程将介绍以用户为中心的设计流程,从问题识别到高保真原型迭代,帮助你构建更具竞争力的AI产品。
识别问题与用户需求
设计的第一步是识别问题或需求。这意味着理解你的潜在用户,特别是他们的问题、需求和目标。
要开始这项工作,你需要进行研究。保持开放的心态,意识到自己的偏见,并让研究结论来引导你。同理心在这里至关重要。
以下是几种用户研究方法:
- 调查问卷:收集大量用户的定量数据。
- 用户访谈:深入了解少数用户的动机和感受。
- 一手资料研究:分析现有数据和报告。
- 市场趋势研究:了解行业动态。
- 实地观察/跟访:在用户自然环境中观察其行为,这是获取真实洞察的有效方法。
例如,在访谈中,人们倾向于说出他们认为“正确”的答案,而非真实想法。通过让用户录屏并口述使用产品的过程,可以观察到更真实的行为和反应。通常,对3到10人进行此类研究就能获得可操作的见解。
创建用户画像
为了确保用户需求在整个设计过程中始终是优先事项,我使用用户画像。这些是基于研究发现的、代表不同类型用户的虚构或真实角色。
用户画像有助于整个团队理解我们为谁而设计,从而实现更以用户为中心的产品开发。它们应围绕目标受众构建。例如,针对杜克大学的学生创建画像。画像应聚焦于用户试图完成的任务、遇到的问题及其动机,而非人口统计学特征。
在开发周期中,应持续参考这些画像。它们最终归结为用户需求,涵盖了共同的问题和目标,并指明了设计的重点。可以将其视为工程需求:我们需要实现X,以便Y能够发生。
理解可用性原则
为了有效满足这些需求,理解可用性原则至关重要。为真实用户设计能确保产品符合他们的期望。创新应利用用户熟悉且舒适的框架和交互模式。


通过关注易用性,你可以提高用户的采纳率和满意度,从而使产品更成功。你需要确保产品遵循关键的可用性原则:一致性、熟悉度、反馈和控制。
- 一致性:确保界面可预测且熟悉,帮助用户轻松导航。
- 熟悉度:借鉴日常产品中的常见模式。
- 反馈:提供清晰、即时的反馈以增强用户信心。例如,详细的错误信息。
- 控制:给予用户控制感,如自定义主题或以多种方式完成任务,这能增强用户的情感连接。
这些原则有助于确保你的设计对多样化用户群体而言是直观且易用的。为了验证你是否有效运用了它们,应尽早并经常向他人展示你的想法。
从线框图到信息架构
现在,洞察开始浮现,指向一个新的或更新的用户界面。这是你真正开始进入所构建产品设计的阶段。这里常出现一个争议点:审美吸引力与可用性。虽然没有放之四海而皆准的解决方案,但我建议先关注可用性,再考虑美学。
在尝试创建美观的设计之前,必须通过低保真和中保真线框图来验证可用性。
- 低保真线框图:用纸笔草图或基础数字工具创建,用于快速、低成本地可视化基本结构和布局。
- 中保真线框图:在基本结构验证后添加更多细节,关注精细布局、优化导航和基本交互。
使用线框图可以早期发现并解决可用性问题,确保设计以用户为中心。这个过程的一个组成部分是建立坚实的信息架构,即逻辑且直观地组织和构建内容,确保用户能轻松找到所需信息。
对于复杂界面,我优先考虑清晰和简洁。将信息分解为可管理的部分,并使用渐进式披露技术。一致的标签和直观的导航路径至关重要。可以使用Figma、Figma Jam、Miro或Lucidchart等工具来可视化架构,通常表现为解释基于用户需求完成特定任务的用户旅程图。
视觉设计与高保真原型
在思考了用户是谁、能缓解其问题的使用模式以及如何组织应用之后,我们已准备好开始视觉设计。从基础线框图出发,结合用户需求和信息架构图,开始创建中保真模型。
有几种方法可以做到这一点:在纸上绘制、使用Google Slides等幻灯片工具,或使用功能简单的Figma文件。此时不要担心质量,目标是记录你的想法。为了让工作保持专注,我每次只处理较小的部分。
在获得更坚实的洞察和方向后,就该深入视觉和美学了。有一些基本原则可以指导视觉设计:
- 色彩:策略性地使用色彩来传达含义、影响情绪并创造视觉层次。
- 对比度:运用对比度来增强可读性,并确保关键元素突出。
- 层次结构:建立视觉层次以无缝引导用户浏览内容。
- 排版:选择平衡可读性与美感的字体,保持字体大小足够大。
- 负空间:有效利用负空间来创建干净、通透的布局。
构建界面时,你有两个主要选择:从零开始或使用现有组件库。通常,我建议从UI组件库开始,这能让你避免纠结于微小细节。有许多高质量的开源库,如Tailwind UI、Chakra UI、Material UI、Next UI和Radix。
在设计高保真原型和构建项目时,必须优先考虑可访问性。这涉及创建可缩放的字体、高对比度色彩以及支持键盘导航。参考WCAG等网络标准获取更多细节。
迭代与反馈循环
在整个过程中,你需要利用用户反馈来指导迭代周期。我通常通过向任何愿意的人展示我的设计来获取反馈,范围从桌上的纸片到感觉像真实应用的高保真Figma原型。记录用户对你的设计的反应至关重要,第一印象和即时的疑问非常有价值。
在进行迭代时,尤其是在Figma等工具上,不要删除旧设计。如果需要基于它们工作,请复制并开始修改副本。保留过去设计的记录非常重要,因为你永远不知道何时需要回溯几周前的想法。
迭代是艰难的,因为它意味着向新的、理想情况下更好的方向演进。重要的是让反馈来引导你,而不是固守自己的设计。设计就像代码,你在编写某个功能时可能觉得它很棒,但一年后回头看,可能发现它需要改进。有时你以一种方式开始设计产品或功能,而用户反馈会将你引向完全不同的方向。
总结

在本节课中,我们一起学习了如何将用户体验设计流程应用于AI产品。我们从识别真实用户需求和研究方法开始,接着探讨了创建用户画像、遵循核心可用性原则的重要性。然后,我们介绍了通过线框图和信息架构来构建产品骨架,并深入了视觉设计原则和高保真原型的创建。最后,我们强调了基于用户反馈进行持续迭代的关键性。请记住,你的项目要么未完成,要么已过时,但UX设计能帮助你每天让它变得更好一点。
019:将XAI集成到决策流程中的十大最佳实践


在本节课中,我们将学习如何将可解释人工智能(XAI)的解读有效集成到决策流程中。我们将探讨十个关键的最佳实践,以确保AI解释能提升决策质量、公平性和透明度。
上一节我们讨论了人机交互的重要性,本节中我们来看看如何将XAI的解读整合到实际的决策流程中。以下是整合AI解释到决策流程中的十大最佳实践。
-
确立清晰的目标与指标
应明确在决策流程中使用AI解释的具体目标,并建立指标来评估其有效性以及对决策质量和公平性的影响。 -
尽早让利益相关者参与
在设计及部署XAI系统的早期阶段,就应让相关利益相关者参与进来,包括领域专家、决策者和最终用户。他们的意见有助于确保解释符合其需求并与他们的心智模型保持一致。让领域专家和利益相关者参与决策过程,还能提供背景信息,确保AI解释在特定领域内是可理解和相关的。 -
提供适当层级的解释
提供多个层级的解释粒度,以满足不同利益相关者的专业水平和信息需求。决策者可能需要高层级的摘要,而领域专家则可能需要更详细的技术解释。 -
结合AI解释与人类专业知识
应使决策者能够结合自身的领域知识、经验和直觉来考量AI解释。AI解释应补充而非取代人类专业知识。 -
持续监控与评估
应持续监控和评估AI系统的性能与输出,尤其是在高风险决策场景中。建立用于监控和审计AI解释及其对决策影响的治理框架与流程。这有助于及早发现潜在的偏见、错误或意外后果。 -
促进透明度与信任
通过让参与决策过程的所有利益相关者都能访问和理解AI解释,来促进透明度。这有助于建立对AI系统及其建议的信任。 -
提供培训与支持
为决策者和利益相关者提供关于如何解读及有效利用AI解释进行决策的培训和教育。提供培训和支持资源,帮助决策者理解并在其工作流程中有效利用AI解释。这可以包括指南、最佳实践和动手实践的机会。 -
鼓励反馈与持续改进
建立机制,让利益相关者能够就AI解释的清晰度、相关性和实用性提供反馈。根据反馈和不断发展的最佳实践,定期审查并改进AI系统的性能、解释及其与决策流程的集成。 -
考量伦理影响
评估并解决在决策中使用AI解释可能引发的伦理问题,例如公平性、问责制和隐私。确保解释是无偏见的,尊重个人权利,并符合组织的价值观。 -
与现有系统和流程集成
将XAI系统无缝集成到现有的决策工具、工作流程和过程中,以最小化干扰并促进采用。

本节课中,我们一起学习了将XAI集成到决策流程中的十大核心最佳实践。这些实践涵盖了从目标设定、利益相关者参与到持续监控与伦理考量的全过程,旨在确保AI解释能够真正赋能人类决策者,提升决策的可靠性、公平性和透明度。
020:决策制定

在本节课中,我们将通过一个现实世界的案例研究,学习如何将人工智能解释有效整合到决策流程中。我们将以一家大型金融机构引入AI系统辅助贷款审批决策为例,详细拆解其应用最佳实践的具体步骤。
概述

上一节我们讨论了将AI解释整合到决策中的一般性原则。本节中,我们来看看一个具体的应用案例。一家大型金融机构希望引入AI系统来辅助贷款审批决策,目标是提高流程的效率、一致性和公平性。我们将跟随他们的实施步骤,了解如何将理论原则付诸实践。
第一步:确立明确的目标与指标 🎯

首先,该机构为AI系统的整合设定了清晰的目标和评估指标。
目标是提高贷款审批决策的准确性与公平性,同时保持高水平的透明度与问责制。

用于评估目标的指标包括:
- 决策准确率
- 贷款违约率
- 公平性指标(例如,差异影响
Disparate Impact) - 决策耗时
- 利益相关者满意度


第二步:早期引入利益相关者 👥
他们很早就让关键的利益相关者参与进来。在XAI系统的设计与开发阶段,他们与贷款专员、信用分析师、合规专员和客户代表进行了深入沟通。
以下是他们从利益相关者处收集的关键输入:
- 贷款决策中最重要的因素。
- 期望的解释呈现格式。
- 系统的易用性要求。



第三步:提供恰当的解释层级 📊
根据用户角色的不同,他们提供了不同详细程度的解释。
- 面向客户:提供高层级的自然语言解释,说明批准或拒绝贷款的关键原因。
- 面向贷款专员:分享详细的解释,突出显示最具影响力的特征及其对决策的影响。
- 面向合规专员:使用细粒度的解释,以证明决策的公平性并符合监管要求。


第四步:结合AI解释与人类专业知识 🤝
他们确保AI解释与人类专业知识相结合。贷款专员可以将AI解释作为指导,但同时结合自己的判断和客户的具体情况。信用分析师可以复核复杂案例,并为AI系统提供额外的输入。

第五步:建立持续监控与评估机制 📈
他们建立了一个由不同利益相关者代表组成的治理委员会,以监控AI系统的性能和决策。同时,他们定期进行审计,以识别AI解释中可能存在的偏见或不一致。



第六步:促进透明度与信任 🔓
他们通过安全的门户界面,向客户、贷款专员和监管机构提供AI解释的访问权限。并且,他们清晰地沟通了AI系统的能力、局限性和决策流程。

第七步:提供培训与支持 🧑🏫
他们为贷款专员提供培训课程,教导他们如何解读并在决策过程中有效利用AI解释。此外,他们还为用户指南、常见问题解答和支持渠道,以解决利益相关者的疑问或顾虑。

第八步:鼓励反馈与持续改进 🔄
他们为顾客、贷款专员和其他利益相关者建立了反馈机制,收集关于AI解释清晰度和实用性的意见。基于这些反馈以及不断变化的监管要求,他们持续优化和更新AI系统。


第九步:考量伦理影响 ⚖️

他们进行公平性审计,以确保AI解释和决策不会基于种族、性别或年龄等受保护特征产生歧视性偏见。同时,他们实施隐私保护措施,以保护客户数据,并确保解释信息的安全存储和使用。

第十步:与现有系统和流程整合 🔗

最后,他们将XAI系统与金融机构现有的贷款申请软件、信用评分工具和决策工作流进行整合。他们确保了与现有系统和流程之间的无缝数据交换和兼容性。
总结

本节课中,我们一起学习了一个将AI解释整合到贷款审批决策中的完整案例。正如你所见,在整合过程中需要考虑诸多因素,包括设定目标、引入利益相关者、提供分层解释、人机结合、持续监控、建立信任、提供支持、收集反馈、伦理考量以及系统整合。对这些因素进行审慎考量,将使组织能够有效利用AI解释来增强决策过程,同时确保透明度、问责制,并与人类价值观及专业知识保持一致。
021:XAI评估的重要性与介绍 🎯

在本节课中,我们将要学习为什么需要对可解释人工智能系统进行评估,并初步了解评估的常见类型。理解评估的重要性是确保AI系统可靠、公平且值得信赖的第一步。

在讨论如何实施XAI评估之前,我们先探讨其重要性。


随着人工智能系统在医疗、金融和刑事司法等高风险领域日益普及,对问责制以及遵守法规和道德准则的需求也在不断增加。
对XAI系统进行恰当评估,有助于证明其符合关于透明度和可解释性的法律与道德要求,从而推动AI技术的负责任部署。

评估解释的质量和有效性,对于推动更好的XAI技术和方法的发展也至关重要。严格的评估框架和基准测试有助于识别现有方法的优缺点,从而引导研究努力,以提升AI系统的可解释性。
XAI评估有助于识别XAI系统在解释中可能存在的对不同群体或亚群体的潜在偏见或不公平对待。通过评估解释在不同数据集或亚组间的一致性和公平性,可以采取措施来减轻偏见并确保公平对待。
最后,XAI系统的目标是为AI模型的决策提供解释,这对于建立人类与这些系统之间的信任和理解至关重要。恰当的评估有助于确保生成的解释是准确、完整且易于理解的,从而促进透明度并培养对AI系统决策过程的信任。
需要注意的是,XAI评估是一个不断发展的研究领域,新的评估标准、指标和数据集会定期出现。本模块所列内容并非详尽无遗。

以下是几种常见的XAI系统评估类型。
除了与基线或替代方法进行比较外,评估过程还应包括对不同XAI技术生成的解释性能和质量进行比较,或与基线方法进行对比。这应始终是您评估过程的一部分。
上一节我们介绍了XAI评估的重要性与常见类型,本节中我们来看看在开发XAI系统时的一些具体评估方法。


本节课中我们一起学习了XAI评估的核心价值,包括确保合规性、推动技术进步、识别偏见以及建立信任。我们还初步了解了评估的常见类型,为后续深入学习具体的评估方法奠定了基础。
022:人工评估 👥

在本节课中,我们将要学习如何对可解释人工智能系统进行人工评估。人工评估是衡量XAI系统有效性的关键环节,它关注于人类用户如何理解、信任并利用系统提供的解释。
上一节我们介绍了XAI系统评估的重要性,本节中我们来看看具体如何进行人工评估。人工评估通常从开发者自身评估解释的质量开始。当你构建希望人类能有效交互的XAI系统时,让他人评估你的系统是必不可少的。通过用户研究和认知实验,你可以全面评估你的XAI系统。

用户研究 📋
用户研究是人工评估的核心方法之一,它涉及最终用户或领域专家通过调查、访谈或受控实验来评估解释的质量、可理解性和有用性。

以下是用户研究中常见的评估指标:
- 李克特量表:这是一种用于量化回答的技术,通过对一系列陈述的同意程度进行评分来汇总响应。你可能见过多种形式,常见的一种是“同意、非常同意、不同意、非常不同意或既不同意也不反对”的问题。
- 评分分数:直接对解释的某个方面(如清晰度、帮助性)进行打分。
- 任务绩效指标:例如,用户在获得解释后完成任务的速度或准确率。
- 定性反馈:通过开放式问题或访谈收集的详细文字反馈。
认知实验 🧠
另一种人工评估方法是认知实验,它旨在评估解释对人类认知过程的影响,例如解释如何影响人类的决策、信任或心智模型。
以下是认知实验中典型的评估指标:

- 眼动追踪数据:分析用户在查看解释时的视觉注意力分布。
- 响应时间:测量用户在看到解释后做出决策所需的时间。
- 决策质量:评估用户在获得解释后所做决策的正确性或合理性。
- 信任度量:通过问卷或行为指标来衡量用户对系统的信任程度变化。

本节课中我们一起学习了XAI系统人工评估的两种主要方法:用户研究和认知实验。用户研究侧重于通过量表、评分和任务表现来评估解释的实用性和可理解性;而认知实验则更深入地探究解释如何影响人类的认知过程,如注意力、决策速度和信任度。综合运用这些方法,可以全面评估XAI系统是否真正达到了“可解释”的目标。
023:功能评估 🧪


在本节课中,我们将学习可解释人工智能(XAI)的另一种评估类型——功能评估。功能评估主要包含保真度和鲁棒性评估,它们旨在检验解释方法是否真实反映了模型的内在决策过程,以及解释结果是否稳定可靠。
保真度评估

上一节我们介绍了XAI评估的总体框架,本节中我们来看看功能评估的第一个核心部分:保真度评估。保真度评估旨在判断解释是否准确地代表了底层模型的决策过程。其主要挑战在于,我们无法获得一个“真实解释”作为标准答案。因此,研究者通常依赖于关于“正确解释”与模型行为之间关系的假设来进行衡量。

当前衡量保真度的方法,通常涉及基于解释对输入进行扰动,然后分析AI模型输出的变化。
以下是几种常见的保真度评估方法:
- 扰动曲线下面积:这是一个关键的评估指标。其基本思想是,按照解释方法估计出的相关性顺序,依次扰动输入特征(例如,在二值图像中翻转像素,或在RGB图像中改变像素值),并观察分类器输出分数的变化。其核心假设是:扰动相关性高的特征,应比扰动相关性低的特征导致预测分数更急剧的下降。
- 公式:
AOPC = 1/N * Σ [f(x) - f(x_perturbed)],其中f是模型,x是原始输入,x_perturbed是扰动后的输入,求和按相关性从高到低进行。
- 公式:
- 不忠实度:除了直接衡量保真度,也可以计算其反面——不忠实度。其计算方法是:当某个区域被扰动时,模型输出的变化量与该区域的重要性权重乘以扰动幅度之积的期望均方误差。
- 公式:
INFD(Φ, f, x) = E_I [(I^T Φ(x) - (f(x) - f(x_I)))^2],其中Φ(x)是解释器给出的重要性图,I是随机掩码向量,x_I是被掩码I扰动后的输入。
- 公式:
遗憾的是,不同的保真度评估指标常常会得出不一致的结论,这被研究者称为“不一致性问题”。这是一个活跃的研究领域,未来可能会有所发展。
鲁棒性评估
与保真度类似,鲁棒性也是一种XAI的功能评估方法。研究表明,微小的输入扰动可能在保持模型预测不变的情况下,显著改变解释结果。鲁棒性评估旨在测试解释在不同输入、模型配置或扰动下的一致性和稳定性。
常见的鲁棒性评估指标包括各种类型的一致性分数、稳定性分数,以及在扰动下解释的相似性或差异度度量。

评估实践与挑战

XAI技术多种多样,因此目前没有一种通用的评估方法适用于所有情况。这就是为什么确保遵循你所使用的XAI技术及其应用领域的最佳实践至关重要。

本节课中,我们一起学习了XAI功能评估的两个核心方面:保真度与鲁棒性。我们了解了通过扰动输入来评估解释忠实性的方法(如AOPC),以及衡量解释稳定性的重要性。最后,我们认识到由于XAI技术的异质性,选择与特定技术和领域相匹配的评估方法是成功应用的关键。
024:代理任务、公平性与专业化评估
在本节课中,我们将探讨可解释人工智能(XAI)的另外几种评估方法。我们将重点介绍代理任务评估、公平性与偏见评估,以及针对特定应用的专业化评估。理解这些评估维度对于全面衡量XAI系统的有效性和可靠性至关重要。
代理任务评估
上一节我们讨论了基于人类的评估方法,本节中我们来看看另一种重要的评估类型:代理任务评估。代理任务评估主要包括两种形式:合成或简化任务,以及基准数据集。
以下是代理任务评估的具体内容:
- 合成或简化任务:这种方法通过在精心设计的任务或数据集上评估XAI系统的性能,来隔离解释生成或解释理解的特定方面。常见的评估指标包括准确率、精确率、召回率和F1分数。
- 基准数据集:这种方法在公开可用的基准数据集上评估XAI系统,这些数据集通常为特定领域或解释类型量身定制。
目前已有一些XAI领域的基准数据集和工具包,例如:
- XAI-Ben:一个用于基准测试特征归因技术的库。
- X-MRC:一个用于评估机器阅读理解模型可解释性的基准。
如果你刚开始评估XAI方法,使用这些基准是一个很好的起点,因为你可以轻松找到相关的工具和实现文档。不过,目前并非所有XAI技术都有现成的基准,这也是一个活跃的研究和发展领域。
公平性与偏见评估
接下来,我们探讨一个至关重要的评估方面:公平性与偏见评估。我们之前已经讨论过AI系统,特别是XAI系统中存在的偏见与公平性挑战和局限。
评估XAI公平性与偏见的一种方法是子群评估。在子群评估中,重点在于评估解释在不同子群或受保护属性(如性别、种族或年龄)间的一致性和公平性。在不同子群间计算的统计奇偶性度量可以作为评估的指标。
专业化评估
最后,特定的应用场景可能需要专业化的评估标准。评估解释对特定任务或应用(如决策支持、调试或模型改进)性能的影响可能是必要的。
任务专业化评估的指标可能包括:
- 决策准确率
- 模型改进程度
- 特定领域的性能度量
不同的领域和应用对解释可能有不同的要求。在特定的领域背景和用例中评估XAI系统,有助于确保解释能满足领域专家、用户或利益相关者的需求,从而增强其有用性和适用性。
在特定领域或用例背景下评估解释的质量和有用性,通常需要领域专家的参与。评估标准通常包括来自这些领域专家的评分量表、一致性分数和定性反馈。


在本节课中,我们一起学习了XAI的三种关键评估方法。我们了解了如何通过代理任务(合成任务和基准数据集)来量化评估解释方法;探讨了评估解释在不同群体间公平性的重要性及其方法(子群评估);最后,我们认识到针对特定应用的专业化评估对于确保解释在实际场景中的实用价值至关重要。综合运用这些评估方法,才能对XAI系统做出全面而有效的评判。
025:XAI安全与鲁棒性介绍 🛡️


在本节课中,我们将要学习可解释人工智能系统的安全性与鲁棒性。鲁棒性评估涉及测试解释在不同输入、模型配置或扰动下的一致性与稳定性。一个可靠的XAI系统必须能够抵御各种挑战,确保其解释的可信度。
鲁棒性的核心维度
上一节我们介绍了鲁棒性的概念,本节中我们来看看构成XAI系统鲁棒性的三个关键维度。

模型稳定性:确保输入的微小变化不会导致解释发生剧烈改变。其核心是保证解释对输入扰动的不敏感性。
解释保真度:确保解释能够准确反映模型真实的推理过程。其核心是保证解释与模型内部逻辑的一致性。
分布外鲁棒性:确保XAI系统即使对于偏离训练数据分布的输入,仍能提供有用的解释。其核心是保证解释在未知数据上的泛化能力。
模型稳定性详解 🧱
模型稳定性要求XAI系统在面对输入数据或模型参数的微小扰动时,仍能提供一致且可靠的解释。这确保了解释的可信度,不会因细微变化而发生剧变。

考虑一个用于图像分类的XAI系统,其解释基于神经网络卷积层的激活生成。如果输入图像受到轻微扰动,例如添加少量噪声或将图像旋转几度,一个稳定的XAI系统应能提供相似的解释,突出显示图像中相同或非常接近的区域,作为分类决策的重要依据。
解释保真度详解 🎯
XAI系统提供的解释应准确反映模型预测背后的真实推理逻辑。如果解释具有误导性或不准确,可能导致错误的解读和潜在的有害决策。
考虑一个用于贷款审批决策的XAI系统,其解释基于特征重要性分数。如果模型在预测时真正严重依赖申请人的收入和信用评分,但XAI系统却突出显示无关特征(如申请人的年龄或性别)为重要因素,这就违反了解释保真度。此类不准确的解释可能导致带有偏见的决策和潜在的法律问题。
分布外鲁棒性详解 🌐
XAI系统应能处理训练数据分布之外的输入,并提供有意义的解释,而不是失效或产生不可靠的结果。
考虑一个用于自然语言处理任务(如情感分析或命名实体识别)的XAI系统。该系统在新闻文章和社交媒体帖子的语料库上进行训练。如果系统遇到一份高度技术性的文档或用截然不同风格撰写的文本(例如法律文件或科学论文),一个鲁棒的XAI系统应仍能为其预测提供合理的解释,而不是失效或产生无意义的解释。
安全考量 🔒
在开发鲁棒的XAI系统时,安全考量至关重要。XAI技术存在一系列需要解决的安全问题。

以下是主要的安全威胁类型:
- 对抗性攻击:攻击者精心设计输入数据,以操纵模型的输出或XAI系统提供的解释。例如,一个3D打印的海龟模型可能被设计成一种对抗性攻击,其制作方式会欺骗模型,使其在不同方向上将其错误分类为步枪。鲁棒的XAI系统应能检测并缓解此类攻击。
- 模型提取攻击:在某些情况下,攻击者可能试图通过向XAI系统提交精心设计的输入并分析其解释,来提取或复制底层的机器学习模型。XAI系统应设计成能防止或缓解此类模型提取攻击。
- 解释完整性:XAI系统提供的解释应受到保护,防止未经授权的方进行篡改或操纵。
- 数据隐私:XAI系统通常处理敏感数据,如个人信息或专有数据。应采取适当措施确保数据隐私和保护。
增强鲁棒性与安全性的技术 🛠️
为了应对这些鲁棒性和安全问题,XAI系统的开发者采用了各种技术。

以下是常用的技术手段:
- 对抗训练:在训练过程中加入对抗样本来提升模型鲁棒性。
- 模型正则化:通过技术如
L1/L2正则化或Dropout来防止过拟合,增强泛化能力。 - 鲁棒优化:使用专门的优化算法来寻找对扰动不敏感的模型参数。
- 密码学方法:利用加密技术保护模型参数、输入数据和生成的解释。

在不同场景和对抗条件下对XAI方法进行严格的测试和评估,对于确保其可靠性和可信度至关重要。
总结 📝


本节课中我们一起学习了可解释人工智能系统的安全性与鲁棒性。我们探讨了鲁棒性的三个核心维度:模型稳定性、解释保真度和分布外鲁棒性,并理解了它们对于构建可信XAI系统的重要性。同时,我们识别了XAI面临的主要安全威胁,如对抗性攻击和模型提取攻击,并概述了通过对抗训练、正则化等技术来增强系统防御能力的方法。确保XAI系统的鲁棒性与安全性,是使其在现实世界中可靠、负责任地部署的关键一步。
026:鲁棒模型训练 🛡️


在本节课中,我们将学习如何通过多种训练方法来增强可解释人工智能(XAI)系统的鲁棒性。鲁棒性是指模型在面对输入数据的小扰动、对抗性攻击或分布外样本时,仍能保持稳定和可靠的能力。增强鲁棒性对于构建可信赖的AI系统至关重要。
对抗性训练 ⚔️
上一节我们介绍了鲁棒性的重要性,本节中我们来看看具体方法。对抗性训练是一种旨在提升模型抵御对抗性攻击能力的技术。


其核心思想是在模型训练过程中,有意地让其接触精心构造的对抗性样本。目标是让模型学会正确分类这些对抗性样本,从而提高其对抗攻击的韧性。
对抗性训练可以形式化地表示为在损失函数中引入对抗性扰动项:
损失函数 = 原始损失 + λ * 对抗性损失
其中,λ 是控制对抗性训练强度的超参数。
模型正则化 📏

除了对抗性训练,模型正则化是另一种在训练中提升模型泛化能力和稳定性的重要方法。正则化技术主要用于防止过拟合,改善模型的泛化能力。
以下是几种常见的正则化方法:
- L1正则化(Lasso):其惩罚项等于模型系数绝对值的和。这倾向于产生稀疏模型,即许多系数会变为0。
惩罚项 = λ * Σ|w_i| - L2正则化(Ridge):其惩罚项等于模型系数平方的和。这倾向于让系数值变小但不为零。
惩罚项 = λ * Σ(w_i)^2 - Dropout:在训练过程中随机“丢弃”一部分神经元。在每个训练步骤中,每个神经元都有一定概率被暂时忽略。这迫使网络不过度依赖任何特定的神经元,从而促进冗余性。
- 早停法:当模型在验证集上的性能不再提升时,停止训练。这通过在模型泛化能力最佳的时刻停止训练来防止过拟合。
通过减少过拟合,XAI系统变得更加稳定,对输入数据中的微小扰动不那么敏感,从而提升了鲁棒性。
鲁棒优化技术 🎯
鲁棒优化技术旨在寻找能够在各种扰动或不确定性下优化性能的模型参数。这通常涉及在优化问题中引入额外的约束或目标项,以考虑最坏情况或对抗性扰动。
一个简化的鲁棒优化目标可以表示为:
最小化 { 最大扰动在允许集合内 [ 损失(模型参数, 扰动数据) ] }
这确保了模型在最坏情况的扰动下也能表现良好。
测试与评估 🔍
虽然前述方法可能不适用于我们讨论过的所有XAI方法,但接下来这一点对所有方法都至关重要,那就是进行严格的测试与评估。
在多样化的数据集上进行测试至关重要,这包括分布外数据和对抗性样本。我们可以通过敏感性分析或基于扰动的评估来量化和监控解释的保真度。
正如我们在上一节“评估”中讨论的,通过评估多次运行和不同输入下解释的一致性与保真度,并进行用户研究来评估解释的可理解性和实用性,我们可以识别XAI系统中潜在的漏洞、弱点或不一致之处。

本节课中我们一起学习了增强可解释人工智能系统鲁棒性的几种核心训练方法。我们介绍了对抗性训练以抵御恶意攻击,探讨了模型正则化技术(如L1/L2正则化、Dropout和早停法)来提升泛化能力和稳定性,概述了鲁棒优化的思想以应对不确定性,并强调了在多样化数据集上进行严格测试与评估的普遍重要性。综合运用这些策略,有助于构建出更稳定、更可靠、更值得信赖的AI系统。
027:数据隐私与保护 🔒

在本节课中,我们将要学习可解释人工智能(XAI)系统中至关重要的数据隐私与保护问题。我们将探讨处理敏感数据时面临的挑战,并介绍几种核心的保护技术,包括数据最小化、差分隐私和安全多方计算。此外,我们还将了解如何通过水印、指纹和隐写术等技术来确保解释的完整性与来源可信。
可解释人工智能系统通常在敏感数据上运行,例如个人信息或专有数据,以生成解释。保护数据隐私的方法包括:在XAI系统处理之前对个人数据进行匿名化或去标识化。
实施数据最小化原则,实施隐私保护技术(如差分隐私或安全多方计算)以保护XAI系统使用的敏感数据,并确保遵守您公司、行业和应用领域的相关数据保护法规与指南。
上一节我们提到了数据隐私保护的重要性,本节中我们来看看几种具体的技术。以下是几种核心的数据隐私保护概念:
- 数据最小化:指仅收集、使用和保留完成特定目的所需的最少量的个人数据。它限制了敏感数据泄露和隐私侵犯的风险。在可解释AI的背景下,数据最小化协议将限制仅为绝对必要的目的而收集和使用个人数据进行模型训练和解释生成。任何AI功能运行所不需要的个人身份信息都将被移除或混淆。
- 差分隐私:是一种通过描述数据集中群体的模式并保留数据集中个体信息的方式,来公开共享数据集信息的系统。它涉及将计算出的噪声或随机性注入数据输出中,以掩盖个体身份,同时仍能提供有用的聚合信息。差分隐私可以应用于XAI系统使用的数据或生成的解释,以保护数据被使用的个体的隐私。通过向解释或中间计算添加受控噪声,差分隐私可以防止个体层面信息的泄露,同时仍能提供有意义的聚合解释。差分隐私在需要共享或分析数据同时保护数据集中个体隐私的场景中特别有用,例如人口普查数据、医疗记录或位置数据。
- 安全多方计算:是一种密码学技术,允许多方基于各自的私有数据输入联合计算一个函数,同时彼此之间以及任何第三方都无法获知这些输入。MPC可以通过允许不同方在不向彼此或第三方披露其私有数据的情况下,联合计算模型的解释,从而实现解释的安全计算。这在生成解释所需的数据分布在多个组织或方之间,且他们需要保持数据机密性的场景中非常相关。

除了数据隐私和保护,确保通信安全也很重要。这可以通过实施安全通信通道(如加密和数字签名)来防止解释在传输过程中被篡改或截获。
使用水印或指纹等技术也有助于确保解释的完整性和来源可信。
上一节我们讨论了保护数据本身的技术,本节中我们来看看如何保护解释本身。以下是两种用于确保解释完整性与来源的技术:
- 水印:是将一个独特的、不易察觉的标记或信号嵌入XAI系统生成的解释中的过程。此标记用作数字水印,类似于数字图像或文档中使用的水印。
- 指纹:是一种相关技术,涉及将唯一的识别标记或指纹嵌入XAI系统生成的解释中。与水印设计为不易察觉不同,指纹通常是可见的或易于从解释中提取。
水印和指纹技术都可以通过各种方法实现,例如在解释文本中嵌入特定模式或序列、修改解释的统计特性,或利用数字签名或隐写术等密码学技术。

这里,同一张图像在白光、蓝光、绿光和红光下观察,揭示了不同的隐藏数字。这是隐写术的一个例子。
隐写术是一种用于将秘密信息隐藏在另一种数字媒介(如文本或图像)中的非常有趣的技术。例如,在文本解释中,隐写术可用于将水印或指纹隐藏在文本本身中。这可以通过修改某些字符的最低有效位、调整文本的间距或格式,或使用行移编码或字移编码等技术来实现。隐藏的信息对人类读者来说是不可察觉的,但授权方可以使用适当的密钥或算法来检测和提取。
如果XAI系统生成视觉解释,例如显著图或注意力热图,有许多隐写术技术和变换可用于将水印或指纹嵌入图像数据中。这确保了XAI系统受到保护,免受未经授权方的篡改或操纵。

本节课中我们一起学习了可解释人工智能中数据隐私与保护的关键方面。我们探讨了数据最小化、差分隐私和安全多方计算这三种保护敏感数据核心隐私的技术。随后,我们了解了如何通过水印、指纹和隐写术来确保生成的解释在传输和存储过程中的完整性、真实性,并防止其被篡改。将这些技术结合起来,有助于构建更安全、可信且合规的可解释AI系统。
028:可审计性与持续监控

在本节课中,我们将学习如何确保可解释人工智能系统的可审计性,并建立持续监控与更新机制,以保障系统的健壮性与安全性。
上一节我们讨论了透明度的重要性,本节中我们来看看如何通过可审计性来具体实现透明度。
🔍 确保系统的可审计性


开发XAI系统时,必须确保其可审计性。这与我们在上一个模块中讨论的“透明度”主题紧密相关。可审计的系统是透明的,反之,透明的系统也是可审计的。
为了实现透明度,需要采取以下具体措施:
以下是实现系统可审计性的关键步骤:
- 维护详细文档与日志:详细记录XAI系统的开发、训练和部署全过程。
- 建立审计与检查机制:实施能够审计和检查XAI系统行为的机制。
- 确保解释的可复现与可验证:该机制需包含复现和验证系统所提供解释的能力。
🛡️ 实施持续监控与更新
除了可审计性,XAI系统还需要持续的监控与更新,以确保系统的健壮性与安全性。
以下是建立监控与更新机制的核心要点:
- 建立健壮的监控系统:该系统应能检测XAI系统中的任何异常、数据漂移或潜在攻击。
- 实施安全的更新流程:建立一个安全、受控的流程,用于更新和修补XAI系统,以应对新发现的漏洞或攻击途径。
🤝 培养负责任使用的文化
最后,基于XAI系统提供的洞察,培养负责任使用和符合伦理的决策文化,这对于系统的健壮性和安全性指导至关重要。
以下是培养这种文化的有效方法:
- 为用户提供明确指导:向用户说明系统的局限性、潜在偏见以及如何正确解读解释,有助于培养负责任使用的文化。

本节课中,我们一起学习了保障XAI系统可靠性的三个支柱:通过详细记录和检查机制实现可审计性;通过异常检测和安全修补流程进行持续监控与更新;以及通过用户教育来培养负责任使用的文化。这些实践共同确保了XAI系统不仅透明、可信,而且能够持续、安全地运行。
029:指导案例研究 🎯


在本节课中,我们将结合之前所学的知识,通过一个完整的案例研究来实践可解释人工智能(XAI)的应用。我们将聚焦于信贷风险评估这一金融行业的关键领域,学习如何构建一个透明、可解释且公平的AI系统。
案例背景与目标
在金融行业中,信贷风险评估是一个关键流程,它涉及评估个人或企业的信用状况以及违约的可能性。传统的信贷风险评估模型通常依赖于复杂的统计算法和专有的评分系统,这些模型可能不透明且难以解释,从而引发了对公平性、透明度和问责制的担忧。
因此,本项目旨在开发一个可解释人工智能系统,以提供透明且可解释的信贷风险评估,使金融机构能够做出更明智、更公平的贷款决策,确保符合监管要求,并培养客户的信任。



问题一:数据收集与预处理的最佳实践



上一节我们介绍了案例的背景和目标,本节中我们来看看项目的第一步:数据收集与预处理。这是确保模型质量和公平性的基础。



以下是数据收集与预处理阶段应遵循的最佳实践:

- 数据来源:从多家金融机构收集历史数据,包括贷款申请、信用历史、财务报表和还款模式。
- 合规与隐私:确保数据收集过程符合相关法规,并保护数据隐私。
- 数据清洗:仔细处理数据集中的缺失值、异常值和潜在偏见。
- 特征工程:对分类变量进行编码,并对数值特征进行缩放。

在具体实施中,我们采用了以下方法:
# 示例:处理缺失值与编码分类变量
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import OneHotEncoder
# 数值特征用中位数填充缺失值
num_imputer = SimpleImputer(strategy='median')
X_numerical_imputed = num_imputer.fit_transform(X_numerical)
# 分类特征进行独热编码
cat_encoder = OneHotEncoder(handle_unknown='ignore')
X_categorical_encoded = cat_encoder.fit_transform(X_categorical)





问题二:模型开发与XAI技术选择

在完成了高质量的数据准备后,下一步是模型开发。本节中我们将探讨模型构建以及如何选择可解释性技术。
一个神经网络在预处理后的数据集上进行了训练,用于预测贷款申请人的违约概率。
如果我们想量化每个输入特征对模型预测的影响,应该探索哪种XAI技术?
答案是应用SHAP(Shapley Additive Explanations) 等可解释AI技术。SHAP值基于博弈论,可以为每个特征生成贡献度分数,从而量化其对单个预测结果的影响。其核心思想可以用以下公式表示:
g(z') = φ₀ + Σ φᵢ zᵢ'
其中,g是解释模型,z'是简化输入,φ₀是基线预测,φᵢ是特征i的SHAP值。
问题三:识别利益相关者
一个成功的XAI系统必须服务于其使用者。本节中我们来确定本案例中的关键利益相关者。
以下是本项目涉及的主要利益相关者:
- 贷款专员
- 风险分析师
- 合规专员
- 客户代表
在整个开发过程中,我们积极与这些利益相关者沟通,将他们的反馈和领域专业知识融入系统设计,以确保生成的解释是可理解的、符合行业惯例并满足监管要求。
问题四:评估XAI方法
构建系统后,我们需要评估其效果。本节中我们来看看如何从多个维度评估我们的XAI方法。
我们采用定量与定性相结合的方法对XAI系统进行了评估:
- 保真度评估:确保特征级别的解释能准确反映模型的决策过程。
- 用户研究:与贷款专员和风险分析师一起进行,评估解释的可理解性和实用性。
- 公平性与偏见评估:确保系统不会基于种族、性别或年龄等受保护特征表现出歧视性行为。


问题五:部署与集成的最佳实践
评估通过后,系统将进入部署阶段。本节中我们探讨将XAI系统投入实际应用时需要考虑的最佳实践。

以下是部署与集成阶段的关键考虑因素:


- 安全部署:系统部署在安全的云环境中,并实施严格的访问控制和数据加密措施。
- 系统集成:与现有的贷款发起系统和客户关系管理平台集成,实现申请人数据和风险评估的无缝访问。
- 用户界面:通过用户友好的Web界面,使贷款专员和风险分析师能够与系统交互。界面展示模型预测、特征级解释以及额外的申请人信息。

问题六:持续监控与改进
部署并非终点,系统需要持续优化。本节是案例的最后一部分,我们将讨论如何建立监控与改进机制。
我们实施了以下最佳实践以实现持续监控与改进:
- 建立监控系统:跟踪XAI系统随时间的性能和可解释性,检测潜在的数据漂移或模型性能下降。
- 建立反馈机制:收集用户输入,并解决出现的任何问题或担忧。
- 实施改进流程:根据用户反馈、监管变化和不断发展的最佳实践,使用新数据更新系统、重新训练模型并优化解释。




案例成果与影响

在本节课中,我们一起学习了如何将XAI应用于信贷风险评估的全过程。那么,在这个案例中,我们精心部署的XAI系统带来了哪些具体影响呢?

系统的部署产生了多项积极成果:

- 提高透明度与信任:XAI系统提供的特征级解释帮助贷款专员和风险分析师理解信贷风险评估背后的逻辑,培养了客户和利益相关者之间的信任。
- 确保合规与公平:系统提供透明且可审计解释的能力,帮助金融机构遵守公平借贷实践的相关法规,避免歧视性贷款决策。
- 提升决策效率:通过提供可解释的洞察,XAI系统实现了更高效的决策流程,减少了人工信贷风险评估所需的时间和资源。
- 提高客户满意度:客户赞赏信贷风险评估过程的透明度和公平性,从而提升了对金融机构的满意度和信任。

总结:本节课我们通过一个完整的信贷风险评估案例,系统性地实践了可解释人工智能从数据准备、模型开发、评估到部署和监控的全流程。这个案例表明,构建一个负责任、可信赖的AI系统需要技术、流程和人的紧密结合。
030:可解释机器学习导论
概述
在本节课中,我们将要学习可解释机器学习的基本概念、其重要性,以及它与可解释人工智能(XAI)的区别。我们将通过现实场景理解为什么模型的可解释性至关重要,并介绍几种核心的可解释机器学习模型。
为什么可解释性很重要?
我们通过几个场景来理解可解释机器学习的重要性。
以下是几个虚构但基于现实的例子:
- 招聘场景:你向一家使用AI算法筛选简历的公司投递了申请。尽管你的技能与职位描述完美匹配,但未被选中。招聘团队无法解释原因,因为模型只给出了结果。后来发现,模型在训练时使用了现有员工的简历,而许多员工简历中都有“玩地掷球”这项技能,你没有,因此被筛除,尽管这项技能与工作无关。
- 金融场景:你申请贷款被拒,尽管信用评分优秀。银行承认他们使用了AI算法处理申请,但无法解释拒贷的具体原因。
- 医疗场景:你到医院就诊,分诊AI算法根据你的社会经济状况(尽管工程师认为此数据不重要但未删除)将你排在队尾等待三小时,而患感冒的孩子却得到了即时诊治。
这些例子展示了不理解模型决策可能带来的严重后果。
一个真实的案例是:2023年,底特律警方使用人脸识别技术(一种计算机视觉机器学习模型)错误地将孕妇Portorsia Woodruff识别为劫车嫌犯并逮捕。他们无法确定模型为何识别出她的照片。
这些仅是模型决策缺乏透明度可能引发重大后果的几个例子。这也正是我们开始学习可解释机器学习的原因。
可解释机器学习的核心理念可以用柏拉图的一句话概括:好的决策基于知识,而非数字。
这是什么意思呢?我们可以绘制每月冰淇淋销量与每月鲨鱼袭击事件的图表。从纯数字角度看,两者似乎高度相关,你可能会得出结论:吃冰淇淋会导致鲨鱼袭击。
但在得出此结论时,我们忽略了知识——特别是关于季节性温度波动及其对人们吃冰淇淋和进入海洋行为影响的知识。因此,我们的结论截然不同:虽然这两件事相关,但我们知道其中一件并不会导致另一件发生。
可解释机器学习 vs. 可解释人工智能
在可解释人工智能(XAI)和可解释机器学习的语境下,可解释机器学习被定义为开发本质上可理解、能自我解释的机器学习模型。
这通常通过使用透明的建模技术来实现,例如:
- 线性回归
- 决策树
- 基于规则的模型
可解释机器学习背后的主要思想是,允许模型的内部逻辑和决策过程无需额外解释方法即可被理解。
可解释机器学习与可解释人工智能(XAI)有重叠,但并非完全相同。
- 可解释机器学习:专注于开发本质上可解释或能自我解释的机器学习模型和技术。例如线性/逻辑回归、决策树和基于规则的模型。目标是使模型本身透明易懂,无需额外解释。
- 可解释人工智能(XAI):是一个更广泛的领域,旨在使任何AI系统(包括不透明的深度学习模型)更具可解释性。它涉及开发技术来解释“黑盒”AI模型训练后的输出和决策。例如SHAP、LIME、显著性图和概念激活向量。目标是为现有模型的行为生成事后解释。
简而言之:
- 可解释机器学习从一开始就专注于本质透明的模型。
- XAI专注于事后解释先前训练的复杂模型。
可解释机器学习是更广泛的XAI领域的一个子集。这两个领域相互关联,经常结合使用,因为即使是可解释模型也可能需要额外解释,而复杂模型可以通过XAI方法变得更可解释。
可解释机器学习模型示例
上一节我们介绍了可解释机器学习的定义及其与XAI的区别,本节中我们来看看几种具体的可解释机器学习模型。我们将在本模块后续课程中深入探讨它们。
以下是几种主要的可解释模型类型:
-
线性模型
- 如线性回归和逻辑回归,具有高度可解释性,因为其预测基于输入特征的加权和。系数直接表明了每个特征的重要性和方向性。
- 强制稀疏性(例如通过Lasso或弹性网络正则化)可以通过将无关特征的系数驱动至0来增强可解释性,这实质上执行了特征选择。
-
广义可加模型
- 试图解决线性回归的一些问题。例如,广义可加模型将线性模型与非线性特征变换相结合,同时保持可加且可解释的结构,显示每个特征如何影响预测。
-
决策树
- 如CART,本质上是可解释模型。其“如果-那么-否则”的层次化树状结构提供了一种自然的方式来追踪基于特征值如何对不同实例做出预测。
-
基于规则的模型
- 以人类可读的规则形式编码知识,例如:
如果 年龄 > 65 且 用药 = X,那么 风险 = 高。规则提取技术也可用于学习近似黑盒模型行为的可解释规则。
- 以人类可读的规则形式编码知识,例如:
-
本质可解释的神经网络
- 基于原型的网络(如ProtoPNet)将原型或示例整合到神经网络中。
- 单调约束(如本课程将探讨的单调神经网络架构所用)确保模型预测随着特征变化而沿一致方向变化,符合人类直觉。
- 新表示网络(如KAN)使用样条表示等替代权重的方法,在牺牲一些灵活性的同时提升可解释性。
这些可解释机器学习方法在医疗保健、金融和关键决策系统等领域极具价值,因为在这些领域,能够理解和检查模型推理过程至关重要。
这是一个非穷举列表。其他本质上可解释的机器学习模型还包括贝叶斯模型、K近邻和线性判别分析。
在当前生成式AI成果令人眼花缭乱的背景下,许多问题仍可使用可解释模型解决。我建议在评估用例模型时,将可解释模型纳入考虑范围。
奥卡姆剃刀原则
我在课堂教授AI和用AI构建产品时实践的一个原则是奥卡姆剃刀原则。
奥卡姆剃刀指出:如果你有两个相互竞争的理论能解释同一现象,应选择更简单的那个。
例如,你在半夜听到声响,形成两个假设:
- 你的猫把东西从桌上碰掉了。
- 外星人降落在你的屋顶,正在入侵你的房子。
根据奥卡姆剃刀,你应该倾向于两个假设中更简单的那个——你的猫碰掉了东西。
在AI的语境下,如果你有两个AI模型在你的评估标准上表现相似,你应该倾向于更简单、更可解释的那个。至少,你应该始终考虑最简单的方法,并提供为何需要更复杂方法的理由。
总结


本节课中我们一起学习了可解释机器学习的基础。我们了解了模型缺乏可解释性在招聘、金融、医疗等领域可能带来的现实风险,从而认识到其重要性。我们明确了可解释机器学习(开发本质透明的模型)与更广泛的可解释人工智能(为任何AI系统提供解释)之间的区别。我们介绍了几类核心的可解释模型,如线性模型、决策树和基于规则的模型。最后,我们引入了奥卡姆剃刀原则,强调在模型性能相近时,应优先选择更简单、更可解释的解决方案。理解这些概念是构建可靠、可信赖AI系统的第一步。
031:线性回归 📈


在本节课中,我们将学习线性回归的基本概念、工作原理及其在可解释人工智能中的应用。我们将从一个模拟数据集出发,逐步理解线性回归的各个组成部分,包括如何寻找最佳拟合线、理解残差,以及如何将模型扩展到多个变量。

数据与变量关系
我们将使用一个基于“七国研究”的模拟数据集来探讨线性回归的各个组成部分。该研究旨在考察全球范围内影响心血管疾病的因素。
首先,考虑冠状动脉心脏病死亡率与国家任意分配的ID之间的关系。由于ID列是任意选择的,我们预计它与死亡率之间没有强关联。散点图证实了这一假设,两列数据之间不存在强烈的线性关系。
残差与误差平方和
为了量化数据点与假设直线(斜率为0,表示无关系)之间的差异,我们计算了每个数据点到该直线的垂直距离,这些距离被称为残差。在直线上方的点残差为正,下方的点为负。
残差的计算公式为:
残差 = 观测值 (y) - 预测值 (ŷ)
将所有残差相加,正负残差之和为零。为了衡量总体误差而不受正负号影响,我们将每个残差进行平方,然后求和,得到误差平方和。
误差平方和 (SSE) 的公式为:
SSE = Σ(观测值 - 预测值)² = Σ(yᵢ - ŷᵢ)²
线性回归的目标就是找到一条直线,使得这个误差平方和最小。
简单线性回归与最佳拟合线
上一节我们探讨了无关系变量的情况,本节我们来看一个存在关系的变量:吸烟(该国成年人日均香烟消费量)。散点图显示,冠状动脉心脏病死亡率与吸烟量之间存在强烈的线性关系。
在简单线性回归中,我们尝试多条直线,并计算每条直线对应的误差平方和。具有最小误差平方和的那条直线被称为最佳拟合线。寻找这条线的过程称为普通最小二乘法。
其核心公式为:
y = β₀ + β₁x + ε
其中,y是因变量(响应变量),x是自变量(预测变量),β₀是截距,β₁是斜率,ε是随机误差项。
模型解释与预测
回到我们的例子,最佳拟合线的方程确定为 y = 0.25 + 2.41x。
- 斜率解释:
β₁ = 2.41表示,成年人日均香烟消费量每增加一个单位,冠状动脉心脏病死亡率的预期变化为增加2.41个单位。 - 预测:对于一个日均香烟消费量为20的国家,其预期死亡率为
0.25 + 2.41 * 20 = 48.45。
多元线性回归
简单线性回归处理一个预测变量。但在现实中,结果可能受多个因素影响,例如人口平均年龄、饱和脂肪摄入量、每日运动量等。这时就需要用到多元线性回归。
多元线性回归的原理与简单线性回归相同,但它拟合的是一个超平面,而非一条直线。其方程扩展为:
y = β₀ + β₁x₁ + β₂x₂ + ... + βₚxₚ + ε
现在,每个预测变量 xⱼ 都有自己对应的回归系数 βⱼ。
线性回归的可解释性
线性回归固有的可解释性使我们能够理解模型如何进行预测,以及哪些特征对输出最重要。
- 系数解释:系数
β的符号表示特征与目标变量是正相关还是负相关。系数的大小表示该关系的强度,值越大影响越强。 - 特征类型:
- 数值特征:
x增加一个单位,估计结果变化β。 - 二值特征:
x从0变为1,估计结果变化β。 - 分类特征:通常进行独热编码后,每个类别作为二值特征处理。
- 数值特征:
- 特征重要性:可以通过特征的 t 统计量的绝对值来计算。t 统计量是估计权重除以其标准误差。权重越大、方差越小(即估计越确定),特征通常越重要。
可视化理解模型
为了更好理解模型,我们可以使用两种常见的可视化方法:
以下是两种主要方式:
- 权重图:直接展示每个特征的系数(权重)及其置信区间。
- 效应图:展示每个特征对单个预测实例的贡献。效应计算为
特征权重 × 实例的特征值。这有助于理解单个预测的构成,并与整体模型进行比较。

线性回归的假设与挑战

线性回归依赖于一系列统计假设,在现实世界中这些假设常常被违背,这也是其一大挑战。


以下是线性回归的一些核心假设:
- 线性:因变量与自变量之间的关系是线性的。
- 独立性:观测值之间相互独立。
- 同方差性:残差的方差在所有自变量水平上保持恒定。
- 正态性:残差服从正态分布。
- 无多重共线性:自变量之间不应高度相关。
- 无自相关:残差之间没有相关性。
- 无内生性:自变量与误差项不相关。
- 模型设定正确:没有遗漏相关变量。

当数据违反这些假设时,线性回归的结果可能不可靠,此时需要考虑使用其变体或其他模型。
处理高维特征:稀疏性

在实际应用中,特征数量可能成百上千。更可解释的模型通常特征更少。引入稀疏性(即减少特征数量)是一个常用方法。

最流行的方法之一是 Lasso 回归。它在线性回归模型上施加惩罚,使许多不重要的特征的系数收缩至零,从而实现特征选择,得到一个更简洁、更可解释的模型。

线性回归的优缺点总结
本节课中,我们一起学习了线性回归作为可解释机器学习模型的核心内容。
优点:
- 透明:预测生成过程透明,易于人类理解。
- 成熟:有大量文档和广泛的应用领域,社区支持强大。
- 理论基础扎实:基于坚实的统计理论。
缺点:
- 仅限于线性关系:无法有效捕捉复杂的非线性关系,因此在真实世界的预测准确性可能不足。
- 系数解释依赖其他特征:某个特征的权重解释依赖于模型中包含的其他特征。

尽管存在局限,线性回归因其简单性和可解释性,仍然是数据分析和模型构建的基石工具。
032:逻辑回归 📊
在本节课中,我们将要学习逻辑回归模型。这是一种广泛用于分类问题的线性模型,它通过一个特殊的函数将线性回归的输出映射为概率,从而进行预测。
从线性回归到概率预测
上一节我们介绍了线性回归用于预测连续值。对于分类问题,我们更希望得到介于0和1之间的概率值。
因此,我们可以采取的做法是:将线性回归方程包裹在一个逻辑函数中。这个函数本质上将线性方程的输出“挤压”在0和1之间。
你可以在逻辑回归的方程中看到这一点:
P(Y=1|X) = σ(β₀ + β₁X₁ + ... + βₙXₙ)
其中,σ 代表逻辑函数(Sigmoid函数)。我们取线性回归方程,并将其放入逻辑函数中,从而将输出映射为概率。
理解逻辑回归:对数几率
我们可以将逻辑回归模型视为对数几率的线性模型。
什么是对数几率?首先,几率是指某个特定结果发生的概率或可能性。在我们的二元分类案例中,即类别1发生的概率。对数几率就是几率的对数,如顶部方程所示。
顶部方程看起来应该很熟悉,它只是上一张幻灯片中逻辑回归方程的重新排列。
让我们来解读这个方程。首先,对等式两边同时应用指数函数,得到第二个方程。
现在,当我们把某个特征值增加1个单位时会发生什么?我们比较增加前后的情况。我们不关注差值,而是关注两个预测值的比率,这看起来像第三个方程。
我们可以利用指数法则将其简化为底部的方程,结果变得非常简单易懂:
odds_new / odds_old = exp(βⱼ)
我们已经证明,特征 J 增加一个单位,会使几率比改变 exp(βⱼ) 倍。
关键术语解析
这里有一些容易混淆的术语,我们快速解释一下:
- 逻辑函数:在逻辑回归中用于模拟二元结果概率的函数。它将输入特征的线性组合转换为0到1之间的概率值。
- Logit函数:逻辑函数的反函数。它将二元结果的概率转换回对数几率(线性尺度)。在方程
logit(p) = ln(p/(1-p))中,p 是结果发生的概率。 - 对数几率:指事件发生概率的几率的对数。几率本身是事件发生概率与不发生概率的比值。这与Logit函数本质相同。
系数的解释
逻辑回归学习到的系数,直接代表了在保持其他变量不变的情况下,对应预测变量每增加一个单位,结果的对数几率的变化量。系数与预测变量之间的这种直接关系,使得我们更容易理解每个特征对结果的相对重要性和影响。
逻辑回归系数的指数,给出了几率比,这是衡量预测变量与结果之间关联性的直观指标。几率比大于1表示正相关,小于1表示负相关。
通过检查系数的大小和符号,逻辑回归可以揭示模型中每个特征的相对重要性。绝对值较大的系数对预测结果的影响更大。
与线性回归类似,解释取决于特征的类型:
以下是不同特征类型下系数的具体解释:
- 数值特征:如果
Xⱼ是数值型,Xⱼ增加一个单位,估计的几率会改变exp(βⱼ)倍。 - 二元特征:如果
Xⱼ是二元型(0/1),将Xⱼ从0变为1,估计的几率会改变exp(βⱼ)倍。 - 分类特征:如果
Xⱼ是具有多个类别的分类特征,处理方法与线性回归类似。一种解决方案是对每个类别进行独热编码,这样每一列都被视为一个二元特征。那么,将特定类别从0变为1,估计的几率会改变对应系数β的指数倍。
关于截距的解释,通常不具实际意义,但其含义是:对于一个所有数值特征为0、分类特征为参考类别(或编码为0)的实例,其估计的几率为 exp(β₀)。
逻辑回归的假设
逻辑回归也有一些需要了解的假设:
以下是逻辑回归模型的主要前提条件:
- 线性:它假设预测变量(或其变换)与结果变量的对数几率(Logit)之间存在线性关系。
- 无多重共线性:预测变量之间不应高度相关。高度的多重共线性会导致系数估计不稳定、不可靠,使模型难以解释。
- 观测值独立:观测值或数据点应彼此独立。如果数据中存在某种聚类或层次结构(例如,重复测量或从相关个体收集的数据),则违反此假设。
- 无强影响异常值:模型不应受到异常值或极端数据点的过度影响,否则会显著影响系数估计和模型拟合。
- 无完全分离:对于二元结果变量,不应存在单个预测变量或预测变量组合能够完美区分两个结果类别的情况。完全分离会导致数值问题和不可靠的参数估计。
- 大样本量:逻辑回归通常需要相对较大的样本量,尤其是在有许多预测变量的情况下,以确保系数估计的可靠性和稳定性。
扩展与优缺点
我们一直在讨论用于二元分类的逻辑回归。我们可以将其扩展以分类多个类别,这被称为多项逻辑回归。
让我们评估一下逻辑回归在可解释机器学习中的优缺点。
与线性回归一样,其产生预测的过程是透明的,易于人类理解。关于逻辑回归的文档资料非常多,且在各个领域广泛应用,因此有一个庞大的用户社区。逻辑回归也建立在坚实的统计理论基础上。
逻辑回归特有的一个优点是,除了分类,它还能给出概率。
然而,与线性回归类似,它只能表示线性关系,这通常不如更复杂的模型准确,因为现实应用中的复杂性和非线性很常见。其解释比线性回归更困难,因为权重的解释是乘性的而非加性的。
如果存在一个可以完美区分两个类别的特征,逻辑回归模型将无法被训练。原因是该特征的权重不会收敛,因为最优权重将是无穷大。


本节课中我们一起学习了逻辑回归模型。我们了解了它如何通过对数几率将线性模型应用于分类问题,掌握了其系数和几率比的解释方法,认识了模型的前提假设,并分析了其在可解释机器学习中的优势与局限。逻辑回归因其简单性和可解释性,仍然是分类任务中的一个重要基础工具。
033:广义线性模型 📊
在本节课中,我们将要学习线性回归的一个扩展模型——广义线性模型。我们将了解它如何解决线性回归的局限性,以及它在可解释机器学习中的应用。
概述
线性回归存在一个问题,即其正态性假设。线性回归假设在给定特征的情况下,目标结果服从高斯分布。这个假设排除了许多情况,例如当结果是类别时(如糖尿病前期与健康),或计数结果(如猫的数量),或事件发生的时间,或具有极少数高值的偏态结果(如家庭收入)。
如果你的目标结果不服从高斯分布,你可以使用线性回归的一个变体,称为广义线性模型。GLM背后的核心思想是,你保留特征的加权和,但允许非高斯的结果分布,并通过一个可能非线性的函数,将这个分布的期望均值与加权和连接起来。
GLM的核心思想与公式

我们已经见过一个GLM的例子。逻辑回归就是一个流行的GLM实例。逻辑回归假设结果服从伯努利分布,并使用逻辑函数将期望均值与加权和联系起来。
以下是GLM方程的一般形式。该方程包含三个组成部分:
- 链接函数,记作 G。
- 加权和
x^T β,这是线性回归方程。 - 一个来自指数族的概率分布,它定义了 E[Y],即结果Y的期望。

用公式可以表示为:
G(E[Y]) = x^T β
逻辑回归模型就是一个GLM,它假设伯努利分布并使用逻辑函数作为链接函数。逻辑回归中使用的二项分布的均值是y等于1的概率。
模型解释与示例
假设的分布与链接函数共同决定了如何解释估计的特征权重。关于这一点,可以回顾逻辑回归的课程内容。
以下是一个来自糖尿病数据集的特征系数示例,以SHAP图的形式可视化。你将在代码演示中学习如何实现此操作。

广义线性模型的优缺点评估

现在,我们来评估广义线性模型在可解释机器学习中的优缺点。
以下是其主要优点:
- 透明性:与线性回归一样,其预测的产生过程是透明的,易于人类理解。
- 广泛支持:有大量关于GLM的文档,并且它在各个领域被广泛使用,因此有一个庞大的用户社区。
- 理论基础:GLM基于坚实的统计理论。
- 适用性广:GLM允许对非高斯结果进行建模,使其更适用于现实世界的应用。
然而,它也存在一些缺点:
- 解释性降低:对线性模型的大多数修改都会降低模型的可解释性。任何链接函数都会使解释复杂化,正如我们在逻辑回归中看到的那样。

总结

本节课中,我们一起学习了广义线性模型。我们了解到GLM通过引入链接函数和允许非高斯分布,克服了标准线性回归的正态性假设限制,从而能够处理更广泛的现实问题,如分类和计数数据。虽然这增强了模型的适用性,但也使得模型系数的解释比标准线性回归更为复杂。理解其核心公式 G(E[Y]) = x^T β 是掌握GLM工作原理的关键。
034:广义可加模型 (GAMs) 🧩
在本节课中,我们将要学习广义可加模型。我们将探讨线性回归在处理非线性关系时的局限性,并介绍一种更灵活的模型——广义可加模型,它允许特征与输出之间存在非线性关系,同时保持了模型的可解释性。
线性回归的局限性
上一节我们介绍了线性模型的基础。线性回归存在一个问题,即其线性假设。线性回归假设特征与结果之间的真实关系是线性的。但我们知道,大多数现实世界的应用场景并非线性。
如果我们的特征与结果之间的关系不是线性的,我们有哪些选择?以下是几个选项:
- 我们可以对特征进行转换,例如取其对数。
- 我们可以将特征进行分箱处理。
- 或者,我们可以使用广义可加模型。
广义可加模型 (GAMs) 的直觉
广义可加模型背后的直觉相当简单。GAMs 假设结果可以通过每个特征的任意函数之和来建模。GAM 仍然是特征效应的总和,但它现在提供了允许某些特征与输出之间存在非线性关系的选项,同时线性效应依然适用。
当特征与输出之间的关系是线性时,函数 F_j(x_j) 就取我们熟悉的形式 x_j * β_j。其公式应该看起来很熟悉,我们现在只是用函数 f_j 替换了权重 β_j。
公式:
g(E[Y]) = β_0 + f_1(x_1) + f_2(x_2) + ... + f_p(x_p)

如何学习非线性函数:样条函数
我们如何学习这些非线性函数呢?这通常通过样条函数来实现。样条由更简单的基础函数构造而成,用于逼近更复杂的函数。
如下图所示,这条曲线就是使用一组三个简单的线性函数进行逼近的结果。对于希望深入了解的读者,我在资源部分附上了一个链接,其中包含关于样条函数的优秀阅读材料。


广义可加模型的优缺点
现在,让我们来评估广义可加模型在可解释机器学习方面的优缺点。
与线性回归和广义线性模型一样,GAMs 的预测生成过程是透明的,这使得人类易于理解。此外,关于 GAMs 有大量的文档,并且它在各个领域被广泛使用,因此有一个庞大的用户社区。
GAMs 也建立在坚实的统计理论基础上。最重要的是,GAMs 允许对非线性的特征-结果关系进行建模,这使它们更适用于现实世界的应用。
然而,与广义线性模型类似,对线性模型的大多数修改都会降低模型的可解释性,这是我们需要深思熟虑的一点。

总结

本节课中,我们一起学习了广义可加模型。我们首先指出了线性回归在处理非线性关系时的不足,然后介绍了 GAMs 如何通过将每个特征的影响建模为非线性函数之和来克服这一限制,同时保持了模型的可解释性。我们还简要了解了用于构建这些非线性函数的样条技术,并讨论了 GAMs 的主要优点和需要注意的方面。
035:决策树 🌳
在本节课中,我们将学习决策树模型的基本原理、工作方式及其在可解释人工智能中的应用。决策树是一种直观且易于理解的模型,它通过一系列基于特征的判断来做出预测。





通过一个日常决策的例子,可以非常容易地理解基于树模型的直观思想。例如,“我今天应该带伞吗?”这个问题,可以用下图所示的决策过程来阐释。
你首先问:“现在正在下雨吗?”如果是,就带伞。如果是晴天,你接着问:“稍后会下雨吗?”如果会,就带伞;如果不会,就不带。





基于树模型就是以这种直观的方式工作的。它们根据特征的特定阈值多次分割数据,通过这种分割创建数据集的不同子集,每个实例都属于其中一个子集。中间的子集位于内部节点或分割节点。终端节点,也称为叶节点,是最终的子集,它们告诉你是否应该带伞。

为了预测每个叶节点的结果,会使用该节点中训练数据的平均结果。由于其直观性和可解释性,基于决策树的模型可用于分类或回归任务。决策树在许多领域被广泛使用。

虽然决策树有多种算法,但最广为人知的无疑是CART算法,即分类与回归树算法。以下是CART算法的公式表示。
如果 x 是我们的实例,ŷ 是给定实例 x 的预测值,对于 M 个叶节点中的每一个 R_m,我们将常数 c_m(叶节点中的目标平均值)乘以一个指示函数 I(x ∈ R_m)。该指示函数在 x 属于叶节点 R_m 时为1,否则为0。这样,求和运算实际上为包含 x 的特定叶节点 R_m 选取了常数 c_m,从而得到预测值 ŷ。

公式:
ŷ = Σ_{m=1}^{M} c_m * I(x ∈ R_m)
CART算法的实现从根据特征值将数据分割成不同子集开始。CART算法确定一个特征的切割点,该切割点能最小化目标变量的方差(用于回归)或基尼指数(用于分类)。方差衡量目标值在节点均值周围的分散程度。基尼指数衡量节点的不纯度或类别分布。
这个分割过程在每个节点递归进行。算法根据某个标准(如分类的基尼不纯度或回归的均方误差)选择最佳特征和该特征的最佳值来分割数据。
在CART算法的回归任务中,使用均方误差作为标准,因为它直接通过最小化MSE来衡量子集内的方差。通过最小化MSE,算法有效地最小化了每个子集内目标值的方差,从而得到更同质和更准确的预测。
递归分割会持续进行,直到满足停止标准,例如达到最大树深度、节点中实例数量达到最小值,或者进一步分割不能显著减少不纯度或方差。
一旦树构建完成,每个叶节点 R_m 包含一部分训练实例。对于回归树,落入叶节点 R_m 的实例 x 的预测值 ŷ,是 R_m 中训练实例目标值的平均值。
上一节我们介绍了CART算法的构建过程,本节中我们来看看如何解释CART模型。
如果你的实例位于某个叶节点子集中,预测结果就是该节点中所有实例 y 的平均值。如果我们想检查特征重要性,我们会查看所有使用了该特征的分割,并衡量与父节点相比,它减少了多少方差或基尼指数。所有重要性的总和被缩放到100,因此每个重要性可以解释为整体模型重要性的份额。


我们还可以分解我们的树。你可以跟踪一个决策在树中的路径,并通过在每个决策节点添加的贡献来解释一个预测。一个实例的预测是目标均值加上从根节点到终端节点的所有分割贡献之和。请注意,我们感兴趣的是特征贡献,而不是分割贡献,并且一个特征可能被用于多次分割,或者一次也不用。我们可以对每个特征的贡献求和,这提供了一种解释,说明每个特征对预测贡献了多少。
了解了决策树的构建和解释后,我们来评估一下它在可解释机器学习中的优缺点。
以下是决策树的主要优点和缺点:
- 优点:基于树的模型非常擅长捕捉特征之间的交互作用;它们提供了自然直观的可视化;你可以直接使用特征而无需任何转换。
- 缺点:树模型不擅长处理线性关系,它们会创建阶梯函数,这对于线性关系来说是低效的。它们也不稳定,训练数据集的微小变化可能产生完全不同的树。这是因为每次分割都依赖于父节点的分割。如果选择不同的特征作为第一次分割的特征,整个树结构都会改变。此外,随着树变得更大,它们会变得更难解释。


本节课中我们一起学习了决策树模型。我们了解了其直观的工作原理、CART算法的构建与预测公式、如何解释模型预测和特征重要性,以及模型的优缺点。决策树因其结构清晰、易于可视化而成为可解释人工智能中的重要工具。
036:稀疏决策树 🌳

在本节课中,我们将要学习一种名为“广义可扩展最优稀疏决策树”(GOSSDT,简称Ghost)的先进方法。该方法旨在解决传统决策树模型面临的不稳定性和搜索空间过大的问题,通过引入分析边界定理和高效的计算策略,来寻找最优且易于解释的稀疏决策树模型。
决策树的挑战
上一节我们介绍了决策树模型的基本概念。本节中我们来看看传统决策树构建方法面临的两个主要挑战。

第一个挑战是不稳定性。训练数据集的微小变化可能导致生成完全不同的树结构。这是因为决策树的每一次分裂都依赖于其父节点的分裂。如果选择不同的特征作为首次分裂特征,整个树的结构都会随之改变。
第二个挑战是优化困难。决策树可能的组合数量极其庞大。同时,决策树通常采用自顶向下的方式构建并进行剪枝。这意味着,如果在顶层分裂时出现错误,这个错误会传播到整个模型中。

GOSSDT(Ghost)方法简介
为了解决上述问题,Lynn等人在2022年提出了广义可扩展最优稀疏决策树(GOSSDT,读作“Ghost”)。

Ghost方法结合了分析边界定理来约束决策树的搜索空间,并采用了计算效率优化以实现方法的可扩展性和高速度。
Ghost的核心目标
Ghost方法的核心思想非常简单:在所有可能构建的树结构中,最小化一个关于树和数据的目标函数。

该目标函数旨在同时最小化误分类误差和叶子节点数量。最小化叶子节点数量是为了鼓励模型的稀疏性,从而提升其可解释性。其目标可以形式化表示为:
目标: 最小化 损失(树, 数据) + λ * 叶子节点数(树)
其中,λ 是一个控制稀疏性权重的超参数。
寻找最优决策树的朴素方法
在深入Ghost的优化策略之前,我们先理解一下寻找最优决策树的朴素方法。
以下是该方法的步骤:
- 从完整数据集开始。
- 使用每个特征将数据集分割成子集。
- 分割所有可能的组合,并移除重复项。
- 持续进行分割,直到满足某个停止标准(例如,所有决策树都相同)。
- 此时,你得到了所有可能的树组合,现在可以从中找到最优解。
然而,这种方法的搜索空间会迅速变得极其庞大,导致计算不可行。
Ghost的关键:分支定界法
这正是Ghost方法的用武之地。Ghost的核心可以总结为分支定界法。其理念是减少所有可能决策树的搜索空间。
原论文提出了10种分析边界来有效剪枝搜索空间。这些分析边界帮助高效地修剪搜索空间,从而加速寻找最优决策树的过程。
让我们来分解Ghost论文中的几个关键分析边界:
1. 分层目标下界
此边界有助于在搜索过程早期剪枝次优的树。
R_best_sofar:截至目前找到的最佳目标值(例如,最小损失或误差)。B(tree_fixed):当前固定树结构的目标值下界。
规则: 如果 R_best_sofar < B(tree_fixed),那么这棵树及其所有子节点(即通过进一步分割此树可获得的所有树)都是次优的。这意味着它们无法产生比我们已经找到的更好的解,因此我们可以从搜索中剪枝掉这棵子树。
2. 带前瞻的分层目标下界
此边界通过考虑未来分裂可能带来的改进,增强了前一个边界。
C:一个常数,代表一次分裂所需的最小损失减少量。
规则: 如果 R_best_sofar < B(tree_fixed) + C,那么即使考虑一次额外分裂可能带来的最佳改进,这棵树及其所有子节点也无法产生更好的解,因此可以被剪枝。
3. 叶子节点边界
此边界限制了子树的叶子节点数量,有助于控制搜索的复杂度。
|leaves(tree)|:当前树的叶子节点数量。
规则: 任何最优子树的最大叶子节点数必须小于 |leaves(tree)| + (R_best_sofar - B(tree)) / C。这意味着最优子树的叶子节点数受到当前树叶节点数以及目标值潜在改进量的约束。
4. 增量进展边界
此边界确保树中的每次分裂都对目标值的减少有显著贡献。
规则: 每次分裂必须提供至少为 C 的损失减少量。这确保了在树构建过程中进行的任何分裂都必须对改进目标值有实质性贡献,从而防止了那些不能显著提升树性能的不必要分裂。
Ghost的可扩展性
Ghost另一个令人印象深刻的方面是它的可扩展性。

这主要归功于两点:
- 位向量表示:它使用位向量来表示每个子问题的内容,使得计算非常快速。
- 跟踪排列的数据结构:这创建了一个排列映射,可用于发现已经评估过的相同树结构,避免重复计算。
总结

本节课中,我们一起学习了GOSSDT(Ghost)方法。我们首先回顾了传统决策树面临的不稳定性和优化难题。接着,我们介绍了Ghost方法如何通过最小化误分类误差和叶子节点数的目标函数,来寻求最优稀疏决策树。然后,我们探讨了Ghost利用分支定界法和多种分析边界(如分层目标下界、叶子节点边界等)来大幅缩减搜索空间、提升效率的核心机制。最后,我们了解了Ghost凭借位向量表示和排列跟踪数据结构实现的可扩展性优势。Ghost为构建稳定、最优且易于解释的决策树模型提供了一个强大的框架。
037:决策规则 📜

在本节课中,我们将要学习决策规则。决策规则是一种简单、直观且易于解释的机器学习方法,常用于分类任务。我们将探讨其基本概念、核心权衡、组合策略、学习算法以及优缺点。

什么是决策规则?🤔
决策规则是简单的“如果-那么”语句,由一个条件和一个预测组成。
预测可以基于单个决策规则,也可以基于多个规则的组合。

决策树是通过算法学习得到的决策规则集合。
核心权衡:覆盖率 vs. 准确率 ⚖️
在实现决策规则时,一个重要的概念是覆盖率与准确率之间的权衡。
- 覆盖率:指规则条件所适用的实例占总实例的百分比。
- 准确率:指对于规则条件适用的那些实例,规则预测正确类别的比例。
一个理想的规则通常希望同时拥有高覆盖率和高准确率,但这在实践中往往难以兼得。
组合多个规则 🧩
实现决策规则的一个挑战是如何组合多个规则。以下是两种主要的组合策略:
决策列表
决策列表为规则引入了顺序。对于一个给定的实例,我们从列表的第一条规则开始检查。如果第一条规则的条件为真,我们就采用它的预测。如果不为真,则继续检查下一条规则,依此类推。这种方法通过只返回列表中第一条适用的规则的预测,解决了规则重叠的问题。
决策集
在决策集中,规则要么是互斥的,要么存在解决冲突的策略,例如多数投票。多数投票可能会根据单个规则的准确率或其他质量指标进行加权。需要注意的是,当多条规则同时适用时,可解释性可能会受到影响。

此外,我们还需要考虑当没有规则适用于某个实例时该怎么办。一种策略是使用默认规则,即当没有其他规则适用时生效的规则。默认规则的预测通常是未被其他规则覆盖的数据点中最常见的类别。

学习决策规则的算法 📚
有许多算法可以学习决策规则。以下是一些常见的流程和算法:
- OneR
- 顺序覆盖算法
- RIPPER
- RuleFit

我们将在后续课程中更详细地讨论其中一些算法,并有一整节课专门讲解RuleFit。

OneR 算法详解 🎯

OneR是一种非常简单的方法,通常用作其他方法的基准。它从所有特征中,选择与目标结果最相关的一个,并基于这个特征创建决策规则。
以下是实现OneR的步骤:

第一步:离散化连续特征
如果特征是连续的,首先需要将其离散化。为数据和感兴趣的领域选择合适的分组区间至关重要。

第二步:为每个特征创建交叉表
为每个特征,创建一个特征值与分类结果之间的交叉表。
第三步:为每个特征值创建规则
对于特征的每个取值,创建一条规则,预测具有该特定特征值的实例中最常见的类别。

第四步:计算特征的总误差
计算该特征所有规则的总误差。
第五步:选择总误差最小的特征
选择总误差最小的特征。如果两个特征的总误差相同(出现平局),OneR通过选择第一个误差最低的特征,或选择卡方检验P值最小的特征来解决。
顺序覆盖算法详解 🔄
顺序覆盖是一种通用流程,它迭代地学习规则,并移除被新规则覆盖的数据点。许多其他决策规则算法(如RIPPER)都使用此流程。
它采用“分离-征服”的方法:首先找到一条适用于部分数据点的好规则,然后移除被该规则覆盖的所有数据点(无论分类正确与否),并在剩余数据点上重复规则学习和移除覆盖点的过程,直到没有数据点剩余或达到某个停止条件。
顺序覆盖的过程相当直接:
- 从一个空的规则列表开始。
- 学习一条新规则R。
- 当规则质量低于阈值或仍有正例未被覆盖时:
- 将规则R添加到列表中。
- 移除被规则R覆盖的数据点。
- 在剩余数据上学习另一条规则。
- 一旦达到质量阈值或停止条件,返回决策列表。
决策规则的优缺点 ✅❌
现在,让我们评估一下决策规则在可解释机器学习中的优缺点。
优点:
- 易于解释:规则非常容易理解和解释。
- 结构紧凑:通常比决策树更紧凑。
- 预测快速:能提供非常快速的预测。
- 自动稀疏性:通常会自动生成稀疏模型。
缺点:
- 适用范围:主要用于分类任务。
- 特征要求:特征需要是分类的,否则需要进行转换。
- 过拟合风险:一些算法容易过拟合。
- 处理线性关系:与决策树类似,不能很好地处理线性关系,因为它们创建的是阶梯函数,这对于线性关系来说是低效的。
总结 📝

本节课中,我们一起学习了决策规则。我们从决策规则的基本定义开始,了解了其核心的覆盖率与准确率权衡。接着,探讨了如何通过决策列表和决策集来组合多个规则。然后,我们深入介绍了两种经典的学习算法:简单直观的OneR和迭代式的顺序覆盖算法。最后,我们总结了决策规则易于解释、结构紧凑等优点,也指出了其适用范围有限、可能过拟合等缺点。决策规则是构建可解释模型的一个强大而直接的工具。
038:规则拟合 📚

在本节课中,我们将要学习一种结合了决策树与线性模型优势的算法——规则拟合。我们将了解其工作原理、具体步骤以及优缺点。
概述
规则拟合通过从决策树集成中生成规则,然后在这些规则上拟合一个稀疏线性模型,从而将决策树与线性模型结合起来。


算法简介
规则拟合算法于2008年被提出。一个有趣的事实是,这篇论文是一篇开创性的论文,也向我们介绍了一些可解释人工智能技术,例如特征重要性和部分依赖图。
直观地说,规则拟合学习一个包含原始特征的稀疏线性模型,同时模型中还包含许多作为决策规则的新特征。

核心概念
作为决策规则的新特征能够捕捉原始特征之间的交互作用。这些特征是通过训练用于预测目标结果的决策树生成的。
树中的每条路径都可以通过将分裂决策组合成一条规则来转换为决策规则。原始论文中的这张图展示了一棵决策树。每个节点对应的规则由从根节点到该节点路径上所有边相关的指示函数乘积给出。
决策规则是二元特征,其中 1 表示规则的所有条件都满足,否则为 0。
算法步骤
规则拟合算法过程涉及两个步骤。
第一步:规则生成
以下是规则生成的具体过程:
- 规则构造:规则通过分解决策树来构造,其中到每个节点的路径通过用“与”连接二元决策而成为一条规则。
- 树拟合:树被拟合以预测目标结果。因此,分裂和产生的规则都针对该预测任务进行了优化。
- 规则创建:通过组合导致每个节点的条件,从集成中的所有树创建规则。
关于这一步的一些说明:
- 任何树集成算法,如装袋法、随机森林、AdaBoost 或 MART,都可用于为规则拟合生成树。
- 规则拟合不仅从叶节点提取规则,还从树中的所有节点提取规则。
- 一个技巧是学习具有随机深度的树,以创建不同长度的规则并增加多样性。
第二步:创建稀疏线性模型
上一节我们介绍了如何从决策树中生成规则,本节中我们来看看如何利用这些规则构建最终的预测模型。
首先,将生成的规则与原始特征组合成一个新的特征矩阵。然后,在这个组合特征矩阵上使用 Lasso 训练一个稀疏线性模型。在包含原始特征之前,会对它们进行缩尾处理和标准化。
缩尾处理指的是一种数据转换技术,其中数据中的极值或异常值被替换为指定的百分位数值。具体来说,在规则拟合算法的上下文中,它意味着对于每个原始特征,低于 δ 分位数的值被替换为 δ 分位数值,高于 1-δ 分位数的值被替换为 1-δ 分位数值。
例如,如果 δ = 0.05,那么特征中处于底部 5% 的任何值都被设置为第五百分位数值,而处于顶部 5% 的任何值都被设置为第 95 百分位数值。这种缩尾处理有助于减少极端异常值对线性模型拟合过程的影响,使其更加稳健。它是直接删除完整异常数据点的一种替代方法。
关于这一步的一些说明:
- 线性模型对原始特征和规则都有影响。
- Lasso 强制某些权重为 0,从而减少了规则数量。
模型解释
规则拟合的可解释性取决于你执行的是回归还是分类任务。
在回归的情况下,解释与线性回归模型相同。对于作为二元特征的决策规则,如果决策规则 R_k 的所有条件都适用,则预测结果会改变 α_k,这是线性模型中规则 R_k 的学习权重。
对于分类,解释与逻辑回归模型相同。如果决策规则 R_k 的所有条件都适用,则事件发生与不发生的几率会改变 α_k 倍。
我之前说线性回归是许多可解释机器学习方法的基础,并非玩笑。
优缺点评估
让我们评估一下规则拟合在可解释机器学习方面的优缺点。
规则拟合的优点如下:
- 它为线性模型添加了特征交互。
- 它适用于分类和回归。
- 它易于解释。
然而,规则拟合也存在一些缺点:
- 正如我们之前讨论过的,随着模型中特征数量的增加,可解释性会变差。该模型中的特征通常更多,使其本质上可解释性较差。
- 当使用规则拟合算法进行可解释性分析时,对于重叠规则的解释可能比较棘手。

总结

本节课中我们一起学习了规则拟合算法。我们了解到,它通过从决策树集成中提取规则,并将其与原始特征一同输入到一个稀疏线性模型中,巧妙地结合了树模型捕捉复杂交互的能力与线性模型易于解释的优点。尽管在处理大量或重叠规则时解释性会面临挑战,但规则拟合仍然是构建兼具预测性能和一定可解释性模型的有力工具。
039:神经网络可解释性 🧠
在本节课中,我们将要学习神经网络的可解释性。通常,神经网络被视为典型的“黑箱”机器学习模型。然而,研究界已投入大量努力来提升神经网络的可解释性,并设计本质上可解释的模型。


提升神经网络可解释性的形式
上一节我们提到了神经网络可解释性的重要性,本节中我们来看看提升可解释性的几种具体网络架构形式。
以下是三种主要的改进形式:
- 浅层神经网络:这是一种层数和节点数较少的简单架构。与更深、更复杂的模型相比,它通常更易于解释,因为输入与输出之间的关系更为明显。
- 稀疏神经网络:这类模型通过剪枝或将许多网络连接权重设置为0来实现稀疏性。由于保留下来的连接代表了最重要的特征,因此模型可能更具可解释性。
- 模块化神经网络:这类模型由专门化的子组件构成,例如分别负责物体检测、分类或推理的模块。与单一的整体架构相比,这种模块化设计可能更易于理解。

本质可解释的神经网络




我们本课程关注的重点是本质可解释的模型。在神经网络领域,也有针对本质可解释模型的研究。接下来,我们将介绍三类主要的本质可解释神经网络。

以下是三类主要的本质可解释神经网络:
- 解耦神经网络:这类模型学习到的表征中,每个神经元或特征图都对应一个特定的、可解释的概念(如边缘、纹理或物体部件)。这为窥探模型内部的推理过程提供了可能。
- 基于原型的神经网络:这类模型学习每个类别的原型示例,并以与这些原型的相似性作为预测的基础。与复杂的决策边界相比,这种基于相似性的判断可能更易于解释。
- 单调神经网络:这类模型对神经网络施加约束,使其输出相对于某些输入特征保持单调递增或递减。这使得模型的行为更加直观和可预测。

具体实现案例




前面我们概述了几类本质可解释的神经网络,本节中我们来看看两个近期的具体实现。
我们将讨论两个近期提出的本质可解释神经网络的具体实现:ProtoPNet 和 MonoNet。

- ProtoPNet 是 Prototype-based Neural Network 的一个典型代表。其核心思想是让网络学习一组可解释的“原型”,并在推理时通过比较输入与这些原型的相似性来做出决策。
- MonoNet 是 Monotonic Neural Network 的一种实现。它通过特定的网络结构或约束条件,确保模型的预测与某些关键输入特征之间保持单调关系,从而增强可预测性。


本节课中我们一起学习了神经网络的可解释性。我们了解到,尽管神经网络常被视为黑箱,但通过采用浅层、稀疏或模块化架构,可以提升其可解释性。更重要的是,研究界正在设计本质可解释的神经网络,如解耦网络、基于原型的网络和单调网络。最后,我们简要介绍了ProtoPNet和MonoNet这两个具体实现案例,它们分别代表了基于原型和单调约束的设计思路。
040:基于原型的神经网络-原型网络 🧠

在本节课中,我们将要学习一种名为“基于原型的神经网络”的可解释人工智能方法。我们将重点介绍一个具体的模型——原型网络,了解其工作原理、架构以及它如何通过原型来解释模型的决策过程。
基于原型的解释方法
基于原型的神经网络借鉴了一种名为“基于原型的解释”的可解释人工智能方法。
基于原型的解释旨在通过从数据中识别出代表性的样本或原型,来解释黑盒模型的预测结果。
其核心论点是,我们使用原型实例或模式来表示模型的知识。
当你在神经网络中添加执行此功能的层时,你创建的是一个本质上可解释的模型,而不是使用原型来解释一个黑盒模型的预测。

原型网络简介
上一节我们介绍了基于原型的解释方法,本节中我们来看看一个具体的实现——原型网络。
2019年,杜克大学的研究人员提出了原型网络。
这是一个本质上可解释的、基于原型的神经网络,专门用于图像分类任务。
原型网络背后的理念是,以类似于人类的方式解释图像分类的推理过程。它通过学习每个类别的原型部件来实现这一点。
它通过比较图像部件与学习到的原型进行分类,并通过指向相似的原型案例来提供可解释性。

原型网络架构
了解了原型网络的目标后,现在我们来看看它的具体架构。
原型网络的架构如下图所示(源自原论文图2)。
它包含用于特征提取的卷积层。
然后是一个用于学习原型部件的原型层。
最后是一个用于分类的全连接层。
在训练原型网络时,使用随机梯度下降来学习有意义的潜在空间,并将原型投影到最近的训练图像块。

然后使用凸优化来确定最后一层的权重。
原型层详解
上一节我们概述了整体架构,本节我们将深入探讨其核心——原型层。
如果我们放大原型层,它的结构如下所示。
原型层通过计算图像块的相似性来学习原型部件表示,并为每个类别分配原型以捕获类别特定的特征。
它学习一组原型 P。每个原型 p_j 与卷积层输出的深度相同,但高度和宽度更小。这代表了一个典型的激活模式。
对于每个原型 p_j,我们计算它与卷积层输出中所有图像块之间的平方欧几里得距离(L2距离)。
然后,我们将距离转换为相似度分数,并生成一个相似度分数的激活图。
最大池化操作为每个原型 p_j 生成一个单一的相似度分数。
我们为每个类别 k 分配 m_k 个原型,其中 m_k 是类别 k 的原型数量。
例如,在原论文中,m_k = 10。
这样做是为了为每个类别学习具有区分性的原型。

可解释性分析
了解了原型层如何工作后,我们来看看原型网络如何提供可解释性。
在可解释性方面,原型网络提供了部件级别的注意力和原型案例。
它通过指向学习到的相似原型来进行解释。
它支持将原型可视化为训练图像块,并提供类似于人类的定性推理过程。
图2展示了原型网络在判断第一列顶部图像中鸟类物种时的推理过程。
我们看到图像中与原型相似的部分被框出。下一列展示了我们的原型,再下一列展示了该原型来源的训练图像。
最后,我们展示了一个激活图的可视化。表格的最后一列显示了表明该图像是红腹啄木鸟的得分点。
这个得分基于原始图像与原型之间的相似度分数乘以类别连接权重。
这不仅为我们提供了一种可视化模型推理过程的方法,也提供了一种量化它的方式。
优缺点评估

我们已经了解了原型网络的工作原理和可解释性,现在我们来评估一下它的优缺点。
以下是原型网络在可解释机器学习方面的优缺点:
-
优点:
- 原型网络在设计上就是可解释的。
- 在原论文中,它展示了与基线模型相当的准确率。
- 组合模型可以达到最先进的准确率。
-
缺点:
- 与最佳模型相比,仍然存在准确率差距。
- 添加原型层增加了额外的训练复杂度。
总结

本节课中,我们一起学习了基于原型的神经网络,特别是原型网络。我们了解了其核心思想是通过学习数据中的原型部件来进行分类和解释。我们剖析了其架构,深入理解了原型层如何计算相似度并生成解释。最后,我们评估了这种方法的优势与面临的挑战。原型网络为我们提供了一种将深度学习的强大能力与人类可理解的推理过程相结合的有力途径。
041:单调神经网络 🧠
在本节课中,我们将要学习一种特殊的神经网络结构——单调神经网络。这种网络通过施加单调性约束,使得模型的部分输入特征与输出目标之间保持明确的单调关系,从而增强了模型的可解释性。

单调性约束概述
单调性约束强制模型在一个或多个输入特征与目标变量之间表现出单调关系。单调关系假设当某个特定特征的值增加或减少时,模型的预测输出也应相应地增加或减少。
有多种方法可以将单调性约束融入机器学习模型,包括约束优化技术、单调梯度提升模型,以及我们本节课要讨论的单调神经网络。
需要注意的是,引入单调性约束可能会以降低模型灵活性为代价,因为它限制了模型捕捉数据中非单调关系的能力。

Monotonic Net (Mononet) 简介
Mononet 由一篇2023年的论文提出,它包含单调连接层,确保了高层特征与输出之间的单调关系。这是一个新兴的研究领域。另一篇名为《Constrained Monotonic Neural Networks》的论文也在2023年发布,提供了单调神经网络的另一种变体。
Mononet 由两个不同的模块组成:一个无约束模块,用于学习任意的数据表示;以及一个单调模块,用于强制隐藏层与输出之间的单调关系。

Mononet 的结构与原理
上一节我们介绍了Mononet的基本概念,本节中我们来看看它的具体结构和工作原理。
原始论文中的图1展示了Mononet的结构:白色的无约束模块在前,蓝色的单调模块在后。左侧的粉色层(F和6)被保证彼此之间单调递增,因为它们通过红色箭头表示的正权重连接。
在Mononet的表格形式中,模型强制在选定的可解释层与输出之间建立单调关系。单调模块的构建分为两步:
以下是构建单调模块的两个关键步骤:
- 确保层单调递增:我们使用逐元素的指数函数计算隐藏层 ( h_{K+1} )。公式 ( h_{K+1} = \exp(W_K h_K + b_K) ) 确保了 ( h_{K+1} ) 对 ( h_K ) 的偏导数始终大于等于0,意味着 ( h_{K+1} ) 相对于 ( h_K ) 是单调非递减的。
- 引入缩放因子:为了允许隐藏层与输出之间的最终关系可以是递增或递减的,我们引入了缩放因子。
在卷积神经网络中,顶层K个激活值与输出之间的单调关系,是通过一个类似于表格型Mononet的单调模块,以及一个直接将顶层K个激活值连接到输出的单调残差连接来实现的。
原始论文中的图6展示了这一过程:首先使用一个无约束的卷积层生成不同的激活图(显示为彩色平面)。对于每个激活图,计算并提取K个激活值最高的位置。然后,通过将一个单调模块与一个单调残差连接(曲线箭头)求和来实现单调关系。这个残差连接将该层的输出直接发送到最后一层,跳过了中间层。
模型的解释性分析
了解了Mononet如何构建后,我们来看看如何解释它。
不幸的是,无约束模块本身是不可解释的,我们只能使用事后可解释性方法来解释其学习到的表示。
另一方面,单调模块在构造上是透明的,并且具有易于解释的单调关系。
以下是解释隐藏层与输出之间单调关系的步骤:
- 计算系数,即隐藏神经元 ( i ) 的重新缩放因子 ( a_i ) 和输出神经元 ( j ) 的重新缩放因子 ( b_j )。
- 正系数意味着单调递增关系,负系数意味着单调递减关系。
- 系数的大小表示单调关系的强度。
例如,如果一个隐藏神经元对某个生物标志物的高值有激活,并且与某种细胞类型呈正单调关系,那么该生物标志物就是该细胞类型的指示器。

可视化方法
为了更直观地理解Mononet,我们可以借助一些可视化手段。
原始论文中的图5展示了可解释神经元与Y标签(在此例中是细胞类型)之间的相关性矩阵。该矩阵告诉我们每个可解释神经元与每个预测类别之间的单调关系是负相关还是正相关。
图7展示了论文中一个解释在Pa Mnist数据集上训练的单调卷积神经网络的例子。他们在左侧可视化了一个样本,在右侧可视化了一个他们希望通过分析单调模块来解释的高级特征。他们可以确定该特征与某个特定类别呈正相关。

优缺点总结
本节课中我们一起学习了单调神经网络Mononet。最后,让我们评估一下它在可解释机器学习中的优缺点。
Mononet保留了深度网络的近似能力,并通过单调约束增强了可解释性。

然而,Mononet在解释无约束模块时需要付出额外努力,这只能使用事后可解释AI技术来完成,因此由于无约束模块的存在,只有部分模型是固有可解释的。此外,单调性约束对于某些任务来说可能限制性过强。
042:柯尔莫哥洛夫-阿诺德网络 (KAN) 🧠

在本节课中,我们将要学习一种新颖的神经网络架构——柯尔莫哥洛夫-阿诺德网络。这种网络完全摒弃了传统的线性权重,转而使用可学习的单变量函数,使其在数学上更直观,也更容易被人类理解和解释。

网络架构与核心思想
上一节我们介绍了可解释性的重要性,本节中我们来看看柯尔莫哥洛夫-阿诺德网络是如何构建的。
柯尔莫哥洛夫-阿诺德网络由 Lu 等人在 2024 年春季提出。这种网络完全没有线性权重,每一个权重参数都被一个单变量函数所取代。这些单变量函数被参数化为样条。
给定一个多元函数 Y,我们可以将输入传递给多个单变量函数,将它们的结果求和,然后再将和传递给另一个单变量函数 F。这个过程会重复 M 次。
每个单变量函数都被参数化为样条,具体来说,是 B 样条。B 样条是由控制点定义的分段多项式曲线。它们是连续且可微的,并允许局部控制,这意味着改变一个控制点只会影响曲线的局部区域。
这是一个 KAN 层的可视化表示:我们将输入传递给由 φ 表示的单变量函数,然后将它们的结果求和。
训练过程
了解了网络结构后,接下来我们看看如何训练一个 KAN。
训练 KAN 的步骤如下:
- 首先,为每一层的每个函数随机初始化 B 样条参数。
- 然后,将输入 X 前向传播通过网络。
- 计算预测值与真实值之间的损失。
- 执行反向传播,更新 B 样条参数。
- 重复此过程。
符号回归应用
KAN 的一个强大应用是进行符号回归,即从数据中发现潜在的数学公式。以下是使用 KAN 进行符号回归的步骤:
- 稀疏化训练:首先,在训练 KAN 时加入稀疏化约束。具体来说,我们对激活函数应用 L1 范数 惩罚。必要时还可以应用额外的熵正则化。
- 网络剪枝:训练后,对网络进行剪枝,移除不重要的连接和函数。
- 符号化:如果我们怀疑某些激活函数实际上是符号函数(例如,余弦或对数函数),我们希望将它们设置为指定的符号形式。然而,我们不能简单地将激活函数设置为精确的符号公式,因为其输入和输出可能存在平移和缩放。因此,我们从样本中获取预激活值 X 和后激活值 Y,并拟合参数 A, B, C, D,使得 y ≈ C * f(Ax + B) + D。拟合通过 A, B 的迭代网格搜索和线性回归来完成。
- 微调:最后,微调网络参数以达到机器精度,并输出一个可解释的符号公式。
可解释性示例
让我们通过几个例子来直观感受 KAN 的可解释性。
以下是 KAN 在简单符号任务上可解释的示例:
- 示例 A(乘法):对于乘法 x * y,KAN 利用了公式 2xy = (x+y)² - (x² + y²)。可以看到,x 和 y(由近似线性的样条表示)相加后平方(由二次样条表示)。x² 和 y²(由二次样条表示)也被相加。整体上,网络学习到了 2xy = (x+y)² - (x² + y²) 的关系。
- 无监督分组:另一个例子显示,KAN 可以在无监督问题中识别出依赖变量的分组,例如将 x1, x2, x3 识别为一组,将 x4 识别为另一组。
优势与局限
最后,我们来评估一下 KAN 在可解释机器学习方面的优缺点。
优势:
- 比传统神经网络更稀疏。
- 结构简单,易于理解。
局限:
- 作为一种非常新的方法,目前训练速度较慢,且对 GPU 计算不高效。
- 在高维数据上的鲁棒性尚不明确。
- 需要经过稀疏化和剪枝才能变得可解释。

本节课中,我们一起学习了柯尔莫哥洛夫-阿诺德网络。我们了解了它用可学习的单变量样条函数替代传统权重的核心思想,探索了其训练过程和在符号回归中的应用,并通过实例看到了其内在的可解释性,最后分析了这种新方法的优势与当前面临的挑战。KAN 为构建更透明、更易于理解的机器学习模型提供了一条有前景的新路径。
043:机制可解释性导论 🧠
在本节课中,我们将要学习一个与之前课程内容显著不同的新主题——机制可解释性。我们将探讨神经网络是否学习了人类可以理解的算法,并介绍如何通过逆向工程来揭示这些算法。
概述
机制可解释性是一个新兴的研究领域,它试图从神经网络学习到的权重出发,逆向工程出人类可理解的算法。本节将介绍该领域的核心假设、基本概念以及当前的研究方向。
核心假设与定义
上一节我们介绍了可解释机器学习的其他方面,本节中我们来看看机制可解释性的独特视角。
机制可解释性假设认为,神经网络确实学习了可理解的算法,但这些算法没有以人类易于理解的方式呈现出来。因此,该领域的核心问题是:我们能否逆向工程出神经网络所学习的算法?
机制可解释性本身,就是从学习到的权重出发,逆向工程神经网络以得到人类可解释算法的过程。这并不直观,但在本模块中,我们将介绍一系列允许我们进行这种逆向工程的主要假设。
研究现状与挑战
尽管是一个新兴领域,机制可解释性内部仍有许多活跃的研究方向。在本模块中,我们将讨论其基础概念和假设。
需要提前说明的是,本主题将与课程之前的主题有显著不同。机制可解释性作为一个新领域大约始于2020年,由于非常新颖,从事该领域的研究人员相对较少,且大多集中在少数几家公司。
另一个需要说明的是,我本人并非机制可解释性专家,也尚未进行相关研究。我所做的是将大量的信息和概念浓缩成一个易于理解的介绍,以期激发您深入探索的兴趣。在本模块中,我将提供供您深入学习的资源。
科学视角下的机制可解释性
我认为机制可解释性研究就像是机器学习神经网络的“神经科学”。这意味着,相比其他机器学习主题,它更像一门科学。科学意味着此处提出的假设未来可能被证伪,这正是科学的工作方式,也绝对是机制可解释性领域的工作方式。
基于机制可解释性是一门科学的理解,我将通过介绍该领域主要研究者之一尼尔·南达提出的关于神经网络的推测性主张,来开启我们的神经网络模块。
以下是关于神经网络的推测性主张:
- 特征:特征是神经网络的基本单元。它们对应于层中神经元的方向或线性组合。
- 电路:特征通过权重连接,形成电路。一个电路是网络的一个计算子图,由一组特征以及它们之间的加权边组成。
- 普遍性:普遍性主张认为,类似的特征和电路会在不同的模型和任务中形成。
在接下来的概念讲座中,我们将更深入地探讨每一个主题。
总结


本节课中我们一起学习了机制可解释性的基本概念。我们了解到这是一个通过逆向工程来理解神经网络内部算法的新兴科学领域,并初步认识了其特征、电路和普遍性三大核心推测主张。在后续章节中,我们将对这些概念进行更深入的探索。
044:机制可解释性核心概念
在本节课中,我们将学习机制可解释性领域的一些基础概念。我们将从“特征”和“电路”的定义开始,探讨神经网络内部表示的结构性假设,并简要介绍该领域常用的研究方法。
特征



上一节我们介绍了课程目标,本节中我们来看看机制可解释性的第一个基础概念:特征。
这里的“特征”并非传统机器学习意义上的特征。机制可解释性扩展并重塑了这个概念。线性表示假说认为,神经网络将有意义的概念或特征表示为激活空间中的方向。特征是模型输入或其子集的属性,例如输入给大语言模型的提示中的一个词元,或图像中的一个补丁。

特征是模型的基本构建模块。模型的内部激活表示特征,模型的权重和非线性则用于进行计算,从早期特征生成后期特征。

以下是特征的一些例子:
- 这个词元是Python代码中对应列表的变量名。
- 这个词元对应一个用于描述人群的数字。
- 图像的这部分包含一条曲线。
你会注意到特征的有趣形式:“这个空白包含、对应或是空白”。如果现在还不完全理解,不必担心,我们将在整个模块中逐步建立对特征的直觉。
电路
既然我们已经定义了特征,接下来让我们探讨“电路”的概念。
电路是模型权重和非线性的一个子集,用于将一组早期特征映射到一组后期特征。
神经网络中存在许多电路示例,包括:
- 曲线电路:识别图像中包含曲线的部分。
- 归纳电路:生成式语言模型中的一个电路,它使用两个注意力头来检测并延续重复的子序列。
分解性与线性
现在我们已经定义了特征和电路,让我们来谈谈机制可解释性的核心目的:逆向工程神经网络。逆向工程一个物理设备涉及对其结构和组件进行系统性探索和分析。如果我们将此应用于逆向工程神经网络,我们应该期望神经网络的表示具有何种结构?

由于我们无法物理地拆解神经网络来探索其结构,我们必须对其结构提出一些假设才能进行逆向工程。这些假设就是分解性和线性。分解性指网络表示可以用独立可理解的特征来描述;线性指特征由方向表示。
基于神经网络、在ImageNet上训练的计算机视觉模型在图像分类等任务上表现良好。它可以准确地区分10种不同的物体,如猫、狗和花生酱果冻三明治。在这样的大型神经网络中,模型学习从输入图像数据中提取并组合众多特征表示。例如,在早期层,它可能学习低级特征,如边缘和纹理;在更深层,它将这些组合成代表更抽象概念(如形状和物体)的高级特征。

关键的直觉是,这些特征表示中的每一个都是相对独立且可单独理解的。这意味着来自狗的特征表示独立于猫的特征,而猫的特征又独立于花生酱果冻三明治的特征。这使我们能够分解模型,而不必在脑海中构建整个模型。它也有助于我们避免可怕的“维度诅咒”。
提醒一下,维度诅咒指的是处理高维数据时出现的挑战和复杂性。随着数据集中维度或特征数量的增加,数据在高维空间中变得越来越稀疏。维持相同密度所需的数据量随维度数量呈指数级增长。距离度量在高维空间中变得不那么有意义和区分度,大多数数据点彼此之间看起来几乎等距,并且高维数据的可视化和解释变得越来越困难。
然而,神经网络并非完全可分解的,我们将在本模块后面详细讨论这一点及其对机制可解释性的意义。
特征可视化与多义性
在我们逆向工程神经网络的过程中,出现了一些有趣的现象。Inception V1模型早期层的许多神经元对应于特定的特征,这里展示一个例子:曲线检测神经元,其中每个神经元编码特定方向的曲线。此图显示了每个神经元理想曲线的可视化。我们可以使用特征可视化方法,该方法通过优化来找到使给定目标最大化的神经网络输入(此处为图像)。这里显示的目标是使神经元尽可能强烈地激活。
但存在一个问题。有时这种情况会发生,有时则不会。神经元并不总是清晰地对应一个特征。你可能会问自己:为什么?

机制可解释性领域提出了两个假说:
- 特权基假说:该假说认为只有某些表示具有特权基,这鼓励特征与基方向对齐以对应神经元。你可以在此图的顶行看到这一点。非特权基可以将特征嵌入任何方向,而在特权基中,特征有动机与基维度对齐。注意,这并不一定意味着它们一定会对齐。
- 叠加假说:线性表示可以使用一种称为“叠加”的策略来表示比维度数量更多的特征。这可以被认为是神经网络在模拟更大的网络,从而将特征推离与神经元的对应关系。
在叠加作用下,特征无法与基对齐,因为模型嵌入的特征比神经元数量更多。多义性因此不可避免。什么是多义性?这是一个术语,用于描述当特征不与神经元对齐,或者换句话说,当许多特征使用同一个神经元进行映射时,我们预期会观察到的现象。

这是叠加假说的另一个可视化。叠加假说指出,我们观察到的神经网络只是更大网络的模拟,在更大网络中每个神经元都是一个解耦或独立的特征。其思想是,我们观察到的网络(如本图底部所示)是更大网络的低维投影。这个低维投影包含了多义性,因为它本质上是更大网络的压缩版本。如果这仍然令人困惑,不必担心,我们将在关于叠加的讲座中更详细地介绍。
跨模态与普遍性

在我们开始逆向工程神经网络时,我们从大脑中获得了灵感。Corroga等人对人类大脑进行的一项研究表明,大脑中的神经元编码多模态概念。对哈莉·贝瑞照片有反应的同一个神经元,也会对哈莉·贝瑞的素描有反应,甚至会对“哈莉·贝瑞”这段文字有反应。因此,这些概念本身由这个神经元表示。类似地,Go等人表明,来自一个名为C的大型多模态嵌入模型的神经元会对蜘蛛侠的照片、蜘蛛侠漫画和“蜘蛛侠”文字产生反应,显示出与人类大脑相似的多模态性。
我们将要讨论的下一个主题是我们关于神经网络的最后一个推测性主张,即普遍性。普遍性假说认为,相同的电路会出现在不同的模型中。用相似架构在相似数据上训练以执行相似任务的不同模型,很可能以相同的方式收敛来表示某些信息。还记得我们之前看到的曲线检测器吗?那些相同的曲线检测器出现在不同的模型中,为神经网络中的普遍性提供了轶事证据。
常见机制可解释性方法
我们将要讨论的最后一个主题是机制可解释性概念介绍中的常见方法。我们不会详细讨论每一种方法,因为它们内容广泛且需要一些背景知识。我们将对它们进行高层次概述,以便你开始了解机制可解释性研究人员的工作内容。
常见的机制可解释性方法包括:
- 基于扰动的方法:涉及扰动或修改模型的输入、激活或内部组件,以观察输出或行为的变化,从而将重要性或因果关系归因于特定组件或特征。示例包括:消融、激活修补、因果追踪、路径修补和因果擦洗。
- 输出归因:旨在将最终输出、逻辑或损失归因于特定的输入特征或内部组件,从而洞察其贡献或重要性。示例方法包括:逻辑差异、每词元损失、直接逻辑归因和逻辑透镜。
- 评分与探测方法:计算量化模型某些属性或行为的分数或指标,例如组合程度或模型中存在的归纳偏差。几个例子是:特征值评分和前缀匹配或归纳评分。
- 可视化与解释方法:涉及可视化或识别那些能最大化或强烈激活模型中特定组件的输入特征或示例。我们已经看到了一些例子,包括特征可视化和最大激活数据集示例。
- 表示学习方法:如使用稀疏自编码器的字典学习,学习模型内部表示的可解释表示或分解,可能揭示模型所依赖的潜在因素或组件。
- 架构修改:如线性化层归一化,涉及修改或线性化模型的特定架构组件,以促进模型内部表示的可解释性或解耦。
这绝非详尽无遗的列表,由于这是一个活跃的研究领域,新的机制可解释性方法一直在不断涌现。


本节课中我们一起学习了机制可解释性的核心概念。我们从“特征”和“电路”的定义出发,探讨了神经网络表示结构的核心假设(分解性与线性),并观察了特征可视化中出现的多义性现象及其可能的解释(特权基假说与叠加假说)。我们还了解了从神经科学中获得的跨模态灵感,以及关于神经网络学习普遍性电路的推测。最后,我们概览了机制可解释性领域常用的几类研究方法,为后续深入学习奠定了基础。
045:电路导论 🧠

在本节课中,我们将学习神经网络中“电路”的概念。我们将探讨如何通过研究神经元之间的连接,从网络权重中发现有意义的算法,这是可解释人工智能的一个核心原则。

特征存在的证据 📊

上一节我们介绍了关于神经网络的一些推测性主张。本节中,我们来看看支持“特征”存在的具体证据。特征可以理解为神经元所学习的特定模式或概念。
以下是支持特征存在的主要证据,我们将以“曲线检测器”为例进行说明:
- 特征可视化:通过优化输入图像以最大化特定神经元的激活,可以可靠地生成曲线图像。这建立了因果关系,因为生成图像中的所有内容都是为了激活该神经元而添加的。公式表示为:
argmax_x activation(neuron, x)。 - 数据集示例:在ImageNet等数据集中,能强烈激活这些神经元的图像,通常是具有特定方向的曲线。
- 合成示例:曲线检测器对人工合成的曲线图像也会产生预期的响应。
- 联合调谐:如果旋转曲线图像,在某个角度,原神经元会停止激活,而对应新方向的曲线检测器则会开始激活。
- 特征实现:通过分析构建曲线检测器的电路,可以直接从权重中解读出曲线检测算法。
- 特征使用:曲线检测器的下游“客户”(即更高层的特征),是那些天然包含曲线的特征(如圆形)。这些客户会以预期的方式使用曲线检测器。
- 手写电路:我们可以手动设置所有权重,重新实现曲线检测算法。这些权重构成了一个可理解的曲线检测算法,从而实现了对曲线检测器的逆向工程。
这些方法中,后三种是专门为机器学习研究创建的“MI特定方法”。

上图展示了更多关于曲线检测器的证据。研究通过收集最大化激活神经元的数据集示例,并将其从0度到360度以1度为增量旋转,记录后续的激活情况,量化了神经元对曲线方向的编码。

此外,“高-低频率检测器”也是特征存在的证据。它们在感受野的一侧寻找低频模式,在另一侧寻找高频模式,这似乎是检测物体边界(尤其是背景虚化时)的一种启发式方法。
“姿态不变的狗头检测器”是另一个例子。特征可视化建立了因果联系,而数据集示例则测试了神经元在实践中的用途。

然而,神经网络中常存在“多语义神经元”,即一个神经元对多个不相关的输入(如猫脸、汽车前部和猫腿)产生响应。这个问题目前尚未完全解决。

电路存在的证据 ⚙️
了解了特征之后,我们进一步探讨支持“电路”存在的证据。电路指的是多个特征组合起来实现更复杂功能的连接模式。
曲线检测器本身也是电路存在的证据,因为它们是由更早的曲线检测器和直线检测器组合实现的。


如上图所示,曲线检测器被特定方向的早期检测器(红色)所兴奋,并被相反方向的早期检测器所抑制。
另一个电路证据来自“定向狗头检测器”。当我们将不同方向的狗头检测器组合起来时,就得到了一个姿态不变的狗检测器,它能被任何方向的狗激活。


“叠加中的汽车”是我们要讨论的最后一个电路证据。汽车检测神经元整合了车窗、车身和车轮等特征。但在下一层中,这个特征会分散到许多多语义神经元中。这暗示了“叠加”现象,其假设是叠加允许模型使用更少的神经元,从而为更重要的任务节省资源。


普遍性存在的证据 🌐
最后,我们来看看支持“普遍性”的证据。普遍性主张不同的神经网络可以发展出高度相关的神经元,并在隐藏层学习到相似的表示。

目前,我们仅拥有关于普遍性的观察性证据,主要来自曲线检测器和高-低频率检测器。


曲线检测器出现在许多不同的模型中,包括AlexNet、Inception V1、VGG19和ResNet V2-50等不同架构。事实上,曲线检测神经元可以在每一个被探索过的、非平凡的视觉模型中找到。
同样,高-低频率检测器也出现在这些模型中。虽然这还不是普遍性的确凿证据,但这些观察结果非常有说服力。

总结

本节课中,我们一起学习了神经网络中“电路”的概念及其相关证据。我们首先回顾了支持“特征”存在的多种证据,包括可视化、数据集示例和电路分析等。接着,我们探讨了“电路”如何将基础特征组合以实现复杂功能,并看到了相关的证据。最后,我们观察了不同网络架构学习相似特征的“普遍性”现象。这些研究为我们理解神经网络内部的工作机制提供了重要的视角和工具。
046:叠加假设 🧠
在本节课中,我们将要学习神经网络中的一个核心概念——叠加假设。我们将探讨为什么神经元并非总是对应单一可解释的特征,以及网络如何通过“叠加”的方式,在有限的神经元中表示比其维度更多的特征。
理想与现实:从单一特征到多义性
上一节我们介绍了曲线检测器等理想情况,其中每个神经元清晰地对应一个特定特征。然而,神经元并非总是,或者说通常不会,如此清晰地映射到可解释的特征。
有时,我们会遇到多义性现象,即一个神经元映射到多个看似无关的特征。还有些时候,我们完全无法将神经元与任何特定特征或特征集对应起来。这才是现实中更常见的情况。


引入叠加假设
根据叠加假设,我们观察到的神经网络,实际上是对一个更大网络的模拟。在那个更大的网络中,每个神经元都对应一个解耦的(即独立的)特征。
这个概念有些抽象。我们可以这样理解:神经网络在学习和压缩数据时,将大量信息压缩到网络中,而观测到的网络则是这种压缩后的结果。

根据该假设,这些理想化的神经元被投影到实际的网络中,表现为在神经元向量空间上几乎正交的向量。

实验验证:基于“叠加的玩具模型”
本节内容基于El Hage等人于2022年发表的论文《Toy Models of Superposition》。该论文包含许多有趣的实验,我们将聚焦于以下实验目标,以提供支持叠加假设的证据。
论文表明,随着稀疏性增加,模型会使用叠加来表示比其维度更多的特征。下图来自论文,清晰地展示了这一点:
- 当模型零稀疏时,两个最重要的特征被分配了专用的正交维度,而其他特征则未被嵌入。
- 当稀疏性达到80% 时,模型表示了四个特征。
- 当稀疏性达到90% 时,所有五个特征都被嵌入,形成一个五边形结构,此时出现了正干涉的概念。
核心问题:网络能否表示比神经元更多的特征?
为了证明叠加的存在,我们首先需要回答:神经网络是否真的能够有噪声地表示比其神经元数量更多的特征?
为了回答这个问题,论文作者探索了两种模型:
- 线性模型
- ReLU输出模型(增加了非线性)
他们通过一种特征×特征矩阵和特征长度向量 b 来可视化特征。他们发现,使用特征×特征矩阵(而不仅仅是特征矩阵)往往更容易进行可视化。
对于一个行为符合预期的线性小模型(n=10个神经元,M=5个特征),其可视化结果如下:它只能表示与其维度数量一样多的特征。
- 特征×特征矩阵对于最重要的特征表现为单位矩阵,对于较不重要的特征则为0。
- 偏置向量
b在下一个子图中显示:对于模型学会“忽略”的特征,其值为0;对于其他特征,则为预期的正数。
可视化工具:方向向量范数与余弦相似度
另一种有用的可视化方法是观察每个特征方向向量的范数。如果一个特征被完全表示,其范数约等于1;如果未被表示,则接近0。
我们还可以计算两个特征向量之间的余弦相似度,并用颜色来可视化一个特征向量是否与其他特征正交(例如,在叠加状态下)。具体来说,可以计算两个权重向量 w_i 和 w_j 的点积平方和。
- 该值接近0(在可视化中显示为深蓝或黑色)表明该特征是独特的,并与其他特征正交。
- 该值大于或等于1(在可视化中显示为亮黄色)则表明该特征与其他特征高度相关,或者可以由其他特征的组合来表示。
在下图中,我们再次看到了之前提到的那个符合预期的线性模型。它只是简单地为每个最重要的特征分配一个维度,并以正交的方式表示它们。

稀疏性如何引发叠加
下图展示了关键变化。图像左侧是线性模型。紧挨着它的是ReLU输出模型,它很小,行为与线性模型相似,也就是我们之前幻灯片中可视化的模型。

从这里开始,事情变得有趣了。随着我们向图的右侧移动,模型的稀疏性在增加。从特征×特征矩阵可以看出,随着稀疏性增加,叠加开始出现。
模型通过让特征之间不再正交来表示更多的特征。这个过程从最不重要的特征开始,并逐渐影响到更重要的特征。

从单义性到多义性神经元
这是另一种可视化方式。在顶部,当模型是稠密的时,我们处于单义性状态,所有神经元都专用于单一特征。

随着我们增加稀疏性,多义性神经元开始出现,首先是从重要性最低的特征开始。最终,所有神经元都变得高度多义。

论文的更多探索方向

我们展示的只是该论文的一小部分,它为叠加假设提供了证据。论文还进行了其他实验,包括:
- 叠加作为一种相变
- 叠加的几何结构
- 相关与反相关特征
- 叠加的学习动态
- 从神经元角度可视化叠加





总结与展望:如何解决叠加问题?

总而言之,《Toy Models of Superposition》这篇论文为可解释性领域的叠加假设提供了实验证据。
为了进行可解释性分析,我们需要能够解析叠加。问题是,如何做到?
研究人员认为,可以通过以下三种方式之一来实现:
- 创建没有叠加的模型。
- 找到一个过完备基,来描述在具有叠加的模型中特征是如何被表示的。
- 混合方法:不直接解决叠加,而是修改模型,使其更容易在后续分析阶段找到描述叠加的过完备基。


本节课中,我们一起学习了叠加假设的核心思想。我们了解到,神经网络中的神经元并非总是对应单一特征,而是可以通过叠加的方式,在有限维度内编码更多信息。我们通过论文中的实验,看到了稀疏性如何促使叠加现象发生,并介绍了几种可视化和验证叠加的方法。最后,我们探讨了未来解决叠加问题、实现更好可解释性的可能方向。理解叠加是解开神经网络内部表征之谜的关键一步。
047:机制可解释性表示学习

在本节课中,我们将要学习如何解决神经网络中的“叠加”现象,以实现更好的可解释性。我们将重点介绍一种称为“表示学习”的混合方法,特别是“字典学习”和“稀疏自编码器”技术。
解决叠加问题的途径
在关于叠加的讲座中,我们展示了支持神经网络中存在特征叠加假说的证据。为了实现可解释性,我们需要能够解析这种叠加。问题在于,如何解析?

研究人员提出了三种可能的解决途径:
- 创建不存在叠加现象的模型。
- 找到一个过完备基,用以描述在存在叠加的模型中特征是如何表示的。
- 采用混合方法,即不直接改变模型以消除叠加,而是让后续的分析阶段更容易找到一个描述叠加的过完备基。
自该论文发表以来,机器学习研究者们探索了这三种解决叠加的途径。他们确定,最佳方式是采用混合方法,这也是我们本节将要讨论的内容。
表示学习与字典学习
近年来,一种称为“表示学习”的概念被引入,用以解决叠加问题。进行表示学习的一种方法是“字典学习”。
字典学习是一种无监督机器学习技术,旨在找到一组基向量(或称“原子”),能够以稀疏且高效的方式表示高维数据。其目标是从数据本身学习一个原子字典,而非使用预定义的基向量集。字典学习已应用于多个领域,包括图像处理、音频信号处理和自然语言处理。

在许多现实世界问题中,数据可以表示为一个过完备字典中少数元素的稀疏线性组合。过完备字典是指其原子或基向量的数量大于数据维度的集合。
这种冗余性允许稀疏表示,即大多数系数为零,而非零系数则捕捉了数据的本质特征。
字典学习的过程
字典学习的过程涉及为每个数据样本 X 找到一个字典 D 和一组稀疏系数 alpha,使得 X 近似等于 D * alpha,其中 alpha 中的大多数元素为0或接近0。这可以表述为一个优化问题。
该优化问题通常使用迭代方法求解,在两个步骤之间交替进行:
- 稀疏编码:给定当前字典
D的估计,通过求解稀疏编码问题,为每个数据样本X找到稀疏系数alpha。 - 字典更新:给定稀疏系数
alpha,更新字典D以更好地表示数据。
从字典中获得的稀疏表示可以提供更紧凑且更具可解释性的数据表示。

稀疏自编码器
上一节我们介绍了字典学习的基本思想,本节中我们来看看一种特定类型的字典学习——稀疏自编码器。
稀疏自编码器是一种旨在通过学习输入数据的稀疏表示来实现字典学习的方法,它通过对神经网络隐藏层施加稀疏性约束来实现。稀疏性约束作为一种正则化形式,帮助自编码器学习输入数据的压缩且鲁棒的表示。
自编码器架构由两个主要部分组成:编码器和解码器。
- 编码器将输入数据映射到一个低维表示,称为潜在表示或隐藏表示(也称为瓶颈)。
- 解码器则尝试从这个潜在表示中重建原始输入数据。
在稀疏自编码器中,编码器的隐藏层被鼓励是稀疏的,这意味着对于任何给定输入,只有少数神经元是活跃的或非零的。这种稀疏性约束充当了信息瓶颈,迫使自编码器学习输入数据的紧凑且信息丰富的表示。
在稀疏自编码器中施加稀疏性有两种常见方式:
- L1正则化:将隐藏层激活的L1范数作为正则项添加到损失函数中。这鼓励激活变得稀疏,因为L1范数通过将权重推向0来促进稀疏性。
- KL散度正则化:在这种方法中,隐藏层神经元的平均激活被约束在接近一个期望的小值(如0.05)。这是通过向损失函数添加一项来实现的,该项最小化了观察到的平均激活与期望的稀疏激活之间的Kullback-Leibler散度。
通过施加稀疏性约束,稀疏自编码器被鼓励学习输入数据的紧凑且信息丰富的表示。与密集表示相比,稀疏表示可以提供更好的可解释性和鲁棒性。
应用实例:解释语言模型特征
了解了稀疏自编码器的原理后,我们来看一个具体的应用实例。
Cunningham和Bricken等人在2023年发表的两篇论文,将这些稀疏自编码器应用于在小型语言模型中寻找高度可解释的特征。

以下是其应用流程的可视化:
- 首先,他们对语言模型的内部激活进行采样。
- 然后,他们使用这些激活来训练一个稀疏自编码器,该自编码器的权重形成一个特征字典。
- 最后,他们利用这个字典来解释得到的特征。
具体过程如下图所示:我们取右侧所示的密集神经激活,并使用稀疏自编码器将这些密集激活编码或映射到一个稀疏特征空间。随后,我们的稀疏自编码器可以将这些稀疏特征解码回密集激活。

总结

本节课中我们一起学习了解决神经网络特征叠加问题以实现可解释性的方法。我们重点探讨了混合方法中的表示学习技术,特别是字典学习和稀疏自编码器。我们了解了字典学习如何通过寻找过完备基来获得数据的稀疏表示,以及稀疏自编码器如何通过施加L1或KL散度正则化来学习紧凑且可解释的特征。最后,我们看到了这些技术如何被应用于解释语言模型的内部特征,为理解复杂模型的运作机制提供了有力工具。
048:将机制可解释性扩展至大型语言模型
在本节课中,我们将要学习如何将稀疏自编码器技术从小型语言模型扩展至大型语言模型,并探讨其在模型透明度、安全分析和行为控制方面的重要应用。
从小型模型到大型模型的扩展
在之前的表征学习课程中,我们讨论了2023年发表的几篇论文,这些论文使用稀疏自编码器在小型语言模型中寻找可解释的特征。这些论文中研究的模型是简单的小型语言模型,旨在验证该方法的可行性。

到了2024年,研究人员将这种字典学习方法扩展到了大型语言模型。我们将讨论Anthropic团队对Claude 3 Sonnet模型的分析结果,以及OpenAI对GPT-4模型的分析结果。
将稀疏自编码器技术扩展到像Claude 3 Sonnet这样庞大的模型是一项令人印象深刻的成就。考虑到如此大型语言模型中表征的高维度和复杂性,这是一项非平凡的任务。这是我们首次看到表征学习技术被扩展到如此规模。

通过在自编码器训练过程中施加稀疏性约束,研究人员能够提取出一组稀疏、可解释的特征,这些特征捕捉了模型知识和行为的不同方面。他们发现,许多学习到的特征与AI安全考量特别相关,这对于我们开发更强大的AI系统至关重要。
大型模型可解释性的重要意义
从Claude 3 Sonnet这样的大型语言模型中提取可解释特征的能力,具有几项重要影响。
以下是其主要意义:

- 透明性与可解释性:稀疏特征为模型的内部表征提供了洞见,揭示了它从训练数据中学到的知识和模式。这种透明度的提升有助于建立对模型能力和潜在局限性的信任与理解。
- AI安全分析:通过分析与AI安全相关的学习特征,研究人员可以识别模型中编码的潜在风险、偏见或不良行为。这可以为制定缓解策略、提升系统安全性和鲁棒性提供信息。
- 针对性微调:可解释特征可用于选择性地微调或调整模型行为的特定方面,而无需从头开始重新训练整个模型。这可以实现更高效、更有针对性的模型更新或定制。
- 知识提取与迁移:学习到的特征也可能促进从大模型到其他应用或领域的知识提取与迁移,从而实现更高效的知识共享和重用。
案例分析:金门大桥特征
如果你关注2024年春季的AI研究或新闻,你可能听说过“金门大桥”这个概念。虽然研究人员识别出了许多可解释特征,但被广泛报道的一个是名为“金门大桥”的学习特征。这个特征似乎专门检测与标志性的金门大桥相关的引用和表征。
主图显示了不同输入下该特征的激活水平分布,激活值从左边的可忽略不计到右边的高激活。颜色编码表示一个自动评分系统的结果,该系统根据每个激活与“金门大桥”概念的匹配程度进行评分,评分标准从0(无关)到3(清晰识别概念)。
虽然存在大量低水平激活,对应着模糊相关的概念(如其他桥梁、旅游景点和纪念碑),但最高的激活绝大多数与明确提及或描绘金门大桥本身相关,这由右侧红色条形图的普遍性所证明。尽管这些高激活相对罕见,但它们可能在塑造模型行为方面具有更重要的意义。
自动评分显示,该特征的强激活表现出对金门大桥概念的高特异性,而即使是较弱的激活也倾向于保持某种程度的概念相关性,尽管可能更抽象或更泛化。

特征操控与行为验证
金门大桥实验被进一步扩展,以验证对特征的解释是否准确描述了它们对模型行为的影响。为了证明这一点,研究人员使用了特征操控技术,即人为地将感兴趣的特征的激活值钳制在极高或极低的水平。
钳制是一种在神经网络进行预测的前向传播过程中,人为修改特定特征激活值的方法。通过将不同特征钳制在高值或低值,并观察模型行为如何变化,可以测试关于这些特征代表或影响什么的解释是否准确。
当研究人员将金门大桥特征的激活值钳制在其最大值的10倍(即过度强调该特征)时,发生了非常有趣的行为。在图的左侧,你可以看到未经修改的Claude 3 Sonnet的默认输出。当被问及“你的物理形态是什么?”时,模型回答它没有物理形态,因为它是一个作为软件存在的AI,没有物理身体或化身。在右侧,你可以看到对同一查询进行特征操控(过度强调金门大桥特征)后的结果。现在,当被问及物理形态时,模型回答它是金门大桥,并继续将其物理形态描述为一座拥有美丽橙红色、高耸塔楼和悬索的悬索桥。
这为我们从稀疏自编码器中学到的特征以及对该特征的特异性评估的准确性提供了证据。
我们还可以查看金门大桥特征周围的最近邻特征。探索发现,一些特征对应于旧金山的特定地点,如恶魔岛和普雷西迪奥。我们还看到相关性逐渐降低的特征,例如与太浩湖、优胜美地国家公园和索拉诺县相关的特征。
在更远的距离上,我们还看到以更抽象方式相关的特征,例如对应于其他地区旅游景点的特征,如巴黎的埃菲尔铁塔、法国的梅多克葡萄酒产区和苏格兰的天空岛。与我们在嵌入模型中习惯的情况类似,解码器空间中的距离大致映射到概念空间中的相关性。
超越趣味:安全相关特征
虽然“金门大桥”特征很有趣,但从这些可解释特征中还能学到更重要的东西。研究人员还发现了与不安全代码、代码错误和后门相关的特征。图中展示了这些特征高激活的示例。

在这张图中,我们看到钳制不安全代码特征(将其钳制在其最大值的5倍)与默认输出相比的结果。当过度强调不安全代码时,模型引入了缓冲区溢出。缓冲区溢出是一种严重的安全漏洞,当程序向缓冲区(固定大小的内存块)写入的数据超过其容量时发生。这可能导致数据损坏、任意代码执行、系统崩溃和敏感信息泄露。

其他特征,如性别偏见意识、谄媚赞美以及保密与谨慎,也可能导致系统引入偏见和有害行为。
OpenAI在GPT-4上的类似工作
在将稀疏自编码器扩展到Anthropic的Claude 3 Sonnet模型的突破性研究几周后,OpenAI发布了一篇论文,使用类似的方法在其GPT-4模型上训练了一个用于可解释性的稀疏自编码器。由于方法非常相似,我们不会详细讨论这篇论文。

OpenAI确实发布了一个很棒的可视化工具,你可以用它来可视化不同的特征。我在GPT-4中发现了这个特征,它似乎被“支持”和“接受”这类词激活。我很好奇你们使用这个工具会发现什么有趣的特征。
总结

本节课中,我们一起学习了如何将稀疏自编码器技术从研究小型语言模型扩展到分析Claude 3 Sonnet和GPT-4等大型语言模型。我们看到了提取可解释特征如何提升模型透明度、助力AI安全分析,并允许通过特征操控进行针对性的行为验证与调整。从“金门大桥”这样的具体概念特征,到“不安全代码”这样的安全相关特征,这项技术为我们理解复杂AI系统的内部工作机制打开了一扇新的窗口。
049:可解释机器学习的动机 🎯
在本节课中,我们将要学习什么是机器学习中的“黑盒”问题,以及为什么理解模型内部决策过程至关重要。我们将探讨人类与机器在信息表示方式上的根本差异,并通过实例说明缺乏可解释性可能带来的现实后果。
信息表示:人类与机器的差异
上一节我们提到了“黑盒”模型,要理解它,首先需要了解人类与机器如何表示信息。
人类通过多种方式交流信息。我们使用语言(口语或书面语),其中包含数字和符号的概念。我们也通过图像,即思想和想法的视觉表示,来进行交流。
另一方面,机器仅通过数字进行交流(量子计算机除外)。今天的计算机将所有概念或想法归结为1和0,即构成计算机的电子元件上开关的门。
我们已经学会将我们的信息表示方式(如语言和图像)转换为计算机能理解的数字。例如:
- 一张彩色图像被分解为像素,每个像素用代表红、绿、蓝含量的数值表示。这些数值就是该图像中存在的信息表示。
- 同样,文本被分解为标记或文本片段,它们通常被表示为固定长度的数字向量。这个向量是标记含义的压缩版本。根据生成这个固定长度向量(或嵌入)的方法,该向量可以包含标记的语义和概念定义,甚至标记使用的上下文。这对于像“bank”这样根据上下文或周围词语可以有多种含义的情况特别有用。
这意味着,我们可以将人类可理解的输入(如图像或基于文本的问题)放入机器学习模型,而模型应该能够以人类可以理解的形式表示其输出。无论是代表图像中物体边界框的一系列数字、一个类别标签,还是一串标记。
深入黑盒:神经网络如何工作
现在让我们回到黑盒问题。我们有了人类可理解的输入和人类可理解的输出,但这个黑盒内部发生了什么?这正是我们今天要讨论的。
首先,简要回顾一下黑盒。由于传统机器学习方法具有不同程度的可解释性(稍后会详细讨论),这里我将重点讨论基于神经网络架构的深度学习模型。
在神经网络架构中,我们有多层节点。每个节点对其输入进行加权求和,并将结果通过一个通常是非线性的激活函数。对于网络中的每个节点,我们的加权和有一定数量的权重,以及一个需要设置的偏置分量。
我们设置这些权重和偏置的方式是通过训练神经网络:将训练数据通过网络传递,并迭代地更新这些权重和偏置。神经网络可以拥有数千、数百万甚至数万亿个权重。随着我们为神经网络添加更多层,它从输入数据中提取越来越抽象特征的能力也随之增强。虽然这可以提升性能,但也使其进一步远离我们人类可理解的表示方式。不同的架构也可能导致更多的抽象。
当你的神经网络得出一个输出时,我们通常不知道模型是如何得出结论的。


这是一个关于这种抽象过程的绝佳可视化示例,展示了一个非常简单的卷积神经网络。该可视化由 Adam Harley 开发,链接将在课程资源中提供,以便你自己查看。
这个可视化的运作方式是,在网络的每个节点,我们实际上可以输出模型所看到内容的人类可理解表示。
- 首先,我画一个数字。这个数字的数值表示将作为模型的输入层。
- 接下来,我将显示神经网络的第一层。可以看到图像表示看起来与输入层基本相同。
- 我们将添加一个下采样层,这基本上只是让所有东西变小。
- 我们网络的第二层极大地提取了原始输入,以至于我们甚至无法识别出数字“2”。
- 随后的层将信息进一步抽象,直至全连接层。
- 最后,我们将所有内容映射回人类可理解的输出和我们的模型预测。😊


这里我想强调一个重要的旁注,因为关于这一点存在很多混淆:黑盒模型并不意味着我们无法重现结果的模型。如果我们拥有模型架构(包括训练好的权重)、相同的输入数据,以及用于为包含某些随机过程(例如 Dropout 层或某些类型的注意力机制)的模型产生输出时使用的随机种子,那么我们就可以重现结果。黑盒模型的核心思想在于,虽然我们可能拥有训练好的权重,但这些权重是人类无法理解的。稍后我们将讨论透明度,可重复性正是在那里发挥作用。
为何需要可解释性:现实世界的启示
现在,你可能在想:谁在乎呢?如果我有了答案或模型输出,为什么需要理解模型是如何得出答案的?
让我们考虑几个例子。
以下是几个说明缺乏可解释性可能带来问题的场景:
- 招聘歧视:你向一家使用AI算法筛选面试人员的公司提交了简历。尽管你的简历与职位描述中发布的技能和要求完全匹配,但你未被选中。你联系公司的招聘团队,他们无法告诉你为什么你的申请没有通过筛选,因为模型只给出了输出,没有解释。结果发现,他们在训练过程中使用了现有员工的简历,而许多现有员工的简历中都有“地掷球”这项技能。你没有这项技能,因此被淘汰了,尽管地掷球并非职位描述的一部分,也不是工作所需的技能。
- 信贷不公:你申请贷款,尽管信用评分优秀,但仍被拒绝。当你致电银行时,他们承认现在使用AI算法处理贷款申请,并且不确定你的贷款为何被拒。
- 医疗分诊偏见:你去医院,分诊使用了AI算法。你被排到队尾,需要等待三个小时才能得到治疗,而患感冒的孩子却可以立即就诊。AI算法正在使用关于你社会经济状况的信息来对你进行分诊,尽管训练算法的工程师认为这些数据不重要,但他们只是将其留在了数据中。
这些例子虽然是虚构的,但基于现实。招聘、金融和医疗保健是三个正在积极使用AI工具的高风险领域。
那么,一个真实的例子呢?2023年,底特律警方使用了面部识别技术(计算机视觉机器学习模型),错误地将 Portia Woodruff 识别为一起劫车案的嫌疑人。她在怀孕八个月时因一项她未犯的罪行而被逮捕。为什么模型将 Portia 识别为嫌疑人?他们无法确定模型识别她照片的原因。
这些只是模型决策缺乏理解可能造成严重后果的几个例子。而这正是我们开始介绍可解释人工智能的出发点。

总结

本节课中,我们一起学习了机器学习“黑盒”问题的核心。我们了解到,由于人类与机器在信息表示(语言/图像 vs. 数字/向量)上的根本差异,复杂的深度学习模型内部运作对人类而言是难以理解的。尽管这些模型能给出可理解的输出,但其内部数百万的权重和抽象的特征提取过程就像一个不透明的盒子。通过招聘、信贷、医疗和执法领域的实例,我们看到了这种不可解释性可能导致的歧视、不公和严重错误。正是这些现实风险,凸显了发展可解释人工智能的紧迫性和重要性,这也是我们本课程的起点。
050:优质决策 📊

在本节中,我们将探讨可解释人工智能(XAI)的基本理念,理解为何仅仅依赖模型的“数字”输出(如准确率)是不够的,而需要结合“知识”来做出优质决策。我们将通过几个生动的例子来说明这一点。


柏拉图曾说过:“优质决策基于知识,而非数字。” 这句话精辟地概括了可解释人工智能的核心思想。它提醒我们,在依赖数据驱动模型时,不能只看表面的统计结果,而必须理解其背后的逻辑与因果。
上一节我们引出了XAI的重要性,本节中我们来看看几个具体的案例,它们展示了仅凭数字可能导致的误解。
冰淇淋销量与鲨鱼攻击 🍦🦈
我们可以绘制每月冰淇淋销量的图表。
同样,我们也可以绘制每月鲨鱼攻击事件的图表。

观察这两张图时,你可能会问:吃冰淇淋会导致鲨鱼攻击吗?从纯粹的数值角度看,这两者似乎高度相关。因此,你可能会得出结论:吃冰淇淋确实会导致鲨鱼攻击。
但在得出这个结论时,我们忽略了已有的知识,特别是关于季节性温度波动及其对人们吃冰淇淋和进入海洋行为影响的知识。
因此,我们的结论截然不同。虽然这两个事件相关,但我们知道其中一个并非另一个的原因。它们都受第三个变量——夏季高温——的影响。这个例子说明了相关性不等于因果性。
哈士奇与狼的分类模型 🐺❄️
类似地,当我们训练一个神经网络来将图像分类为哈士奇或狼时,如图所示,我们可能获得很高的准确率,并且不会质疑结果。
然而,如果我们只看准确率等指标或数字,我们就忽略了模型做出分类决策背后的推理或知识。

如果我们不深入理解模型的结果,我们将不会意识到模型做出决策仅仅基于图像的背景。具体来说,是基于地面上是否有雪。模型可能学会了“有雪就是哈士奇,无雪就是狼”的错误关联,而不是真正识别动物的特征。
水鸟数据集的分析 🐦🌊
同样,我们可以看看水鸟数据集。该数据集包含背景为陆地的陆地鸟类图像,以及背景为水面的水鸟图像,这些数据用于训练模型。
现在,假设我们想测试我们的模型,但我们想在“背景为水面的陆地鸟”和“背景为陆地的水鸟”上测试它。我相信你已经明白问题所在了。
我们的模型在第一列(正常背景)中准确分类了陆地鸟和水鸟,但在第二列(错位背景)中,没有正确预测任何一只鸟。
这篇近期论文的作者使用了可视化方法来观察模型使用图像的哪一部分进行预测。他们发现,事实上,模型使用的是背景(是陆地还是水面),而不是鸟本身。这揭示了模型可能依赖于数据中的虚假相关性(背景)而非核心特征(鸟类本身)。
皮肤病学模型的误分类 🩺🔍

在另一篇近期论文中,作者试图理解皮肤病学模型中的误分类。作者使用了一种方法来解释模型的预测,并发现某些色素沉着或毛发的存在导致了误分类。
这对于理解模型的行为以及如何基于其预测做出决策非常有益。它帮助领域专家(如医生)判断模型是关注了正确的医学特征,还是被无关的视觉线索所误导。

本节课中我们一起学习了:优质决策不能仅仅依赖于模型输出的“数字”(如准确率、相关性)。通过冰淇淋与鲨鱼攻击、动物分类、水鸟数据集以及皮肤病诊断等例子,我们看到,如果不探究模型决策背后的“知识”或逻辑,我们可能会被表面的相关性所欺骗,或者无法发现模型依赖了错误的特征。可解释人工智能(XAI)的目标正是提供这种深入的理解,确保我们的决策既基于数据,也基于正确的因果与领域知识。
051:局部解释方法导论

在本节课中,我们将学习可解释人工智能领域中的局部解释方法。这些方法专注于解释模型对单个数据点或预测的决策过程,而不依赖于模型的具体内部结构。
上一模块我们介绍了模型无关的解释技术。本节中,我们将聚焦于局部解释方法。
局部解释方法的核心是解释单个预测。它们通过在感兴趣的实例(即我们想解释的那个数据点)附近,用一个可解释的模型(如线性回归)来近似原始模型的行为,从而提供解释。
以下是本课程将重点介绍的最流行的几种局部解释技术:

- 局部可解释模型无关解释:通常简称为LIME。
- 锚点解释:Anchors。
- 沙普利值:Shapley Values。
- 沙普利加性解释:通常简称为SHAP。
- 个体条件期望图:Individual Conditional Expectation,简称ICE图。
这些技术各有特点,但共同目标是为复杂的“黑箱”模型提供人类可以理解的、针对具体预测的解释。

本节课中,我们一起学习了局部解释方法的基本概念,并预览了后续将深入探讨的几种核心方法。理解这些方法是掌握如何为AI模型决策提供透明化解释的关键第一步。
052:局部可解释模型无关解释(LIME)📖


在本节课中,我们将要学习一种名为“局部可解释模型无关解释”(LIME)的技术。这是一种用于解释任何“黑盒”机器学习模型对单个预测结果的方法。我们将了解其核心思想、工作原理、在不同数据类型上的应用,以及它的优缺点。
概述

局部可解释模型无关解释(LIME)于2016年被提出。它使用可解释的模型来解释黑盒机器学习模型的单个预测。LIME的优势在于它可以应用于多种数据源,包括表格数据、文本和图像。
LIME的核心思想
上一节我们介绍了LIME的基本概念,本节中我们来看看其背后的核心思想。

LIME的核心思想是:虽然一个复杂的全局模型决策边界可能无法用一个简单的线性模型来近似,但在我们感兴趣的单个预测点附近,可以用一个简单的、可解释的模型(如线性回归)来局部地近似黑盒模型的行为。
LIME的工作原理
理解了核心思想后,我们来看看LIME具体是如何工作的。以下是LIME的工作流程:
- 选择感兴趣的实例:首先,选择一个你想要解释其预测结果的特定数据点。
- 扰动数据并获取预测:围绕这个实例,通过扰动(例如,随机移除特征、修改像素等)生成一系列新的数据样本。然后,将这些扰动后的样本输入原始的黑盒模型,得到对应的预测结果。
- 构建新的数据集:将扰动后的样本及其对应的黑盒模型预测结果,组合成一个新的数据集。
- 训练可解释的局部模型:使用这个新数据集训练一个简单的、可解释的模型(如线性回归)。在训练时,会根据扰动样本与原始实例的接近程度(邻近度)为其分配权重,越接近的样本权重越高。
- 解释预测:训练好的局部模型就可以用来解释原始预测。例如,在线性模型中,特征的系数大小和正负就代表了该特征对预测结果的影响程度和方向。
重要提醒:LIME是一种局部可解释技术,它只针对单个预测实例提供解释。它不是一个全局忠实的解释,不能推广到模型做出的其他预测。
数学原理
为了更深入地理解,我们来看看LIME的数学表述。其目标是找到一个解释模型 g(例如线性回归模型),使其在局部区域内近似黑盒模型 f 的行为。
其优化目标可以用以下公式表示:
explanation(x) = argmin_{g ∈ G} [L(f, g, π_x) + Ω(g)]
x:我们想要解释的实例。f:原始的黑盒模型。g:来自可解释模型族G的解释模型(如所有可能的线性模型)。L:损失函数,衡量解释模型g的预测与黑盒模型f的预测在局部区域的接近程度。π_x:邻近度度量,定义了在实例x周围多大的邻域内我们考虑进行解释。Ω(g):模型复杂度惩罚项,用于鼓励选择更简单的模型(例如,特征更少的线性模型)。
这个公式体现了“奥卡姆剃刀”原则:在解释效果相近的情况下,应选择更简单的解释。在实践中,LIME通常只优化损失部分 L,而用户通过指定线性模型可使用的最大特征数来控制复杂度 Ω(g)。
LIME的实践应用
上一节我们介绍了LIME的理论基础,本节中我们来看看它在不同类型数据上的具体应用。
用于文本数据 📝
当LIME用于文本分类时,它通过随机移除原始文本中的单词来创建扰动样本。每个单词可以被视为一个特征(存在为1,移除为0)。训练出的局部线性模型可以显示哪些单词对预测为某个类别(如“垃圾评论”)的贡献最大。

例如,在判断一条YouTube评论是否为垃圾评论时,LIME可能会发现“channel”、“free”、“subscribe”等词具有很高的正权重,意味着它们增加了被预测为垃圾评论的概率。
用于图像数据 🖼️
LIME用于图像解释非常有趣。它首先将图像分割成多个“超像素”(颜色相似的连通像素块)。然后,通过随机将某些超像素块“关闭”(例如,用灰色填充)来创建扰动图像。训练出的局部模型可以显示哪些图像区域(超像素)对预测为某个类别(如“电吉他”或“哈士奇”)最重要。
这有助于发现模型是否关注了正确的特征。例如,一个区分“狼”和“哈士奇”的模型,如果其解释显示它主要依据图片背景中的“雪”来做判断,那么这个模型就是有问题的。

用于表格数据 📊
LIME用于表格数据可能最为直观。它可以为单个预测实例计算出每个特征的贡献度(权重),并以可视化方式展示。例如,在预测自行车租赁量的模型中,对于某个特定日期的预测,LIME可能显示“高温”和“晴天”对提高预测值有正向贡献,而“风速”则有负向贡献。

LIME的局限性
尽管LIME功能强大,但在应用于表格数据时存在一个显著的局限性。
这个局限性在于:LIME在生成扰动样本时,并非严格围绕感兴趣的实例进行采样,而是可能从整个训练数据分布的中心区域进行采样。这导致对“局部邻域”的定义可能不够准确,从而影响局部解释模型的可靠性。

此外,LIME的实现依赖于一个“核宽度”参数,它决定了邻域的大小。目前还没有一个稳健的方法来自动确定最佳的核宽度,这个问题在高维特征空间中会更加严重。
总结与评价

本节课中我们一起学习了局部可解释模型无关解释(LIME)。现在,我们来总结一下LIME作为可解释AI技术的优缺点。
优点:
- 模型无关性:可以用于解释任何黑盒模型,更换模型后仍可使用。
- 直观性:提供的特征重要性易于理解。
- 灵活性:适用于文本、图像和表格等多种数据模态。
缺点与挑战:
- 邻域定义问题:如何定义和优化“局部邻域”是一个尚未完美解决的挑战。
- 结果不一致性:解释可能在不同实验或数据集间缺乏一致性。
- 可能被滥用:研究表明,LIME的解释可能被精心设计来隐藏模型的偏见或误导用户,这与可解释性的初衷相悖。

总而言之,LIME是一个强大且流行的局部解释工具,能帮助人们理解复杂模型的单个预测。但在使用时,需要意识到其局限性,并谨慎对待解释结果。
053:锚点解释法

在本节课中,我们将要学习一种名为“锚点解释法”的模型无关解释技术。该方法与LIME类似,旨在解释单个预测,但其核心是寻找一个能够“锚定”预测结果的决策规则,而非使用线性模型进行局部近似。

锚点解释法简介

上一节我们介绍了LIME方法,本节中我们来看看锚点解释法。该方法由LIME论文的同一批作者提出,旨在提供高精度且模型无关的解释。锚点解释法同样用于解释单个预测,但其核心思想与LIME不同:它不再使用线性模型来近似局部决策边界,而是寻找一个能够充分“锚定”该预测的决策规则。

锚点解释法生成的规则是易于理解的“如果-那么”规则,非常适用于分类场景。
核心动机与定义
LIME方法的一个主要局限在于,我们无法保证复杂的局部决策边界能够被线性函数很好地近似,因为我们并不知道边界的真实形状。因此,锚点解释法旨在避免使用线性模型去近似可能非线性或复杂的局部边界。
锚点解释法的核心是一个概率化定义。首先,我们需要理解几个关键概念:
- 锚点:记作
A,是我们为待解释实例X找到的规则。 - 规则精度:通过评估从邻居分布中生成的、符合规则
A的扰动样本Z,并使用机器学习模型F(记作F(z))进行预测来计算。精度公式可表示为:Precision(A) = E_{D(z|A)} [1_{F(z)=F(x)}],其中D(z|A)表示符合规则A的扰动分布。 - 精度阈值:记作
τ。只有达到至少τ局部保真度的规则才会被视为有效。 - 覆盖率:指规则
A适用于其邻居的概率。需要注意的是,规则的覆盖率与其精度之间存在权衡关系。
锚点生成算法
构建完美的规则通常不可行,因此锚点解释法采用了一种包含四个主要组件的算法来寻找解释。
以下是该算法的主要步骤:
- 候选规则生成:此组件负责生成新的解释候选规则。在第一轮,它为待解释实例
X的每个特征生成一个候选规则,每个规则固定该特征在后续扰动中的值。在后续轮次中,算法会扩展上一轮的最佳候选规则,为其添加一个尚未包含在内的新特征谓词。 - 最佳候选识别:此组件通过比较候选规则来确定哪个规则能最好地解释实例
X。为此,它会创建符合当前观察到的规则的扰动样本,并通过调用模型来评估它们。为了最小化计算开销(模型调用次数),该组件的核心采用了一种纯探索多臂老丨虎丨机算法。在此设定中,每个候选规则被视为一个可以“拉动”的“臂”,每次拉动都会评估一批邻居样本,从而获得关于该规则“收益”(即精度)的更多信息。 - 候选精度验证:如果尚无统计置信度表明候选规则的精度超过了特定阈值
τ,此组件会采集更多样本进行验证。 - 改进的束搜索:此组件将以上所有组件整合到一个束搜索算法中。束搜索是一种图搜索算法,是广度优先算法的变体。它在每一轮中保留
B个最佳候选规则(B为束宽)到下一轮,然后用这些规则来创建新规则。通过设置较大的B值,算法更有可能避免陷入局部最优,但这会增加模型调用次数和计算负载。

实际应用示例
锚点解释法可以应用于多种数据类型。
- 表格数据:可以生成简单的“如果-那么”规则来解释模型对某一行数据的预测。
- 图像数据:与LIME类似,当对图像使用锚点解释法时,我们使用一组超像素。规则可以描述为“如果某些特定的超像素存在,那么预测结果为某类别”。
- 文本数据:例如,在机器翻译系统中,锚点可以高亮显示源语言中哪些词或短语的存在,导致模型预测出某个特定的目标语言词汇。


处理数据不平衡问题

使用锚点解释法时需要注意,如果数据不平衡,需要格外小心,因为扰动空间反映了训练数据的分布。在一个高度不平衡的数据集中,解释属于多数类的实例可能会产生空规则(因为生成的邻居样本大多被预测为多数类),而解释属于少数类的实例则可能产生过于具体、包含大量特征谓词的规则。
如果遇到数据不平衡问题,可以考虑以下几种缓解策略,但每种策略都有其局限性,应谨慎使用:
- 通过不同的采样方式定义自定义的扰动空间。
- 使用训练数据的一个子集(例如,一个更平衡的子集)。
- 调整多臂老丨虎丨机算法的参数(如置信度和误差),这可能导致采集更多样本,最终使少数类样本被更频繁地采样。

优点与局限性总结
本节课中我们一起学习了锚点解释法的原理与应用。现在,我们来总结一下这种可解释AI技术的优缺点。

优点:
- 规则易于人类理解,因此解释性高。
- 与模型无关,适用性广。
- 计算效率高。
- 在预测结果局部非线性或复杂时仍然有效。

缺点:
- 需要仔细的参数调优。
- 扰动函数需要针对每个用例进行设计。
- “覆盖率”的概念在许多领域尚未明确定义,因此使用锚点进行比较可能较为困难。
054:沙普利值 📊

在本节课中,我们将学习沙普利值(Shapley Values)这一核心概念。沙普利值是一种源自合作博弈论的方法,用于公平地分配“收益”,在机器学习中则用于解释每个特征对模型预测的贡献度。我们将从基本概念入手,逐步理解其计算逻辑、数学表达、实际应用以及优缺点。
概述
沙普利值最早于1952年被提出,是一个合作博弈论概念。其核心思想是:当一个团队(联盟)共同获得一笔收益(例如奖金)时,如何根据每个成员的贡献度来公平地分配这笔收益。
在机器学习语境下,我们可以将“联盟”视为用于训练模型的所有特征,将“预测值”视为团队获得的“收益”。沙普利值的作用,就是量化每个特征对这个最终预测值的贡献有多大。
从团队合作理解沙普利值

为了更好地理解,让我们看一个团队合作的例子。假设你每年秋天都会参加一个生成式AI黑客松。你和两位朋友组队参赛并赢得了奖金。现在,团队需要根据每位成员的贡献来公平地分配这笔奖金。
这正是沙普利值要解决的问题。它告诉我们如何根据贡献度来公平地分配收益。

如何量化贡献度?

那么,我们如何确定每位团队成员的影响力呢?这需要考虑两方面:
- 个人贡献:例如,作为机器学习工程师,你构建了整个获胜模型,这可能是你的主要个人贡献。
- 交互效应:然而,你能构建这个模型,依赖于你的朋友Casey通过网络爬虫获取数据集的能力。没有Casey,你的个人贡献就不会那么大。
为了量化这种复杂的贡献,我们可以用一个思想实验:乘坐时光机回到过去,用原始团队的不同子集(例如只有你、只有你和Casey等组合)重新参加黑客松。通过计算每个子集获得的“收益”,并平均每个成员在不同子集中的边际贡献,我们就能得到该成员对最终团队收益的公平贡献度,这就是沙普利值的核心思想。
沙普利值的正确与错误解读
关于如何解读沙普利值,这里有一个非常清晰的说明:
- 如何正确解读:在给定当前特征值的情况下,一个特征值对“实际预测”与“平均预测”之间差异的贡献度,就是其估计的沙普利值。这是一种对比性解释,你可以将预测与平均值、某个子集甚至单个数据点进行比较。
- 如何错误解读:一个特征值的沙普利值,并不是将该特征从模型训练中移除后,预测值的变化量。这是一个非常常见的误解,在使用沙普利值时务必牢记这一点。
深入数学原理
接下来,我们深入看看沙普利值的数学公式。特征 j 的沙普利值可以通过以下方式计算:
我们遍历所有可能的特征子集 S(不包含特征 j)。对于每个子集,我们计算两个预测值的差异:一个是包含特征 j 的预测,另一个是不包含特征 j 的预测。然后,我们根据子集的大小对这个差异进行加权,最后对所有可能的子集求和。
其公式可以表示为:
φ_j = Σ [ (|S|! (M - |S| - 1)! / M!) * (f(S ∪ {j}) - f(S)) ]
S ⊆ {1, ..., M} \ {j}
其中:
φ_j是特征 j 的沙普利值。M是特征总数。S是不包含特征 j 的特征子集。f(S)是使用子集 S 中的特征得到的预测值。(|S|! (M - |S| - 1)! / M!)是权重项,用于对所有可能的子集排列进行公平加权。
实际应用中的处理

在实际的机器学习模型中,输入特征的数量是固定的,我们无法简单地“移除”一个特征来观察预测变化。通常的做法是:用数据集中该特征的随机值来“替换”待评估的特征。
例如,假设我们有一个包含4个特征的模型。当评估特征1对某个预测的贡献时,我们会创建许多不同的特征子集。对于不包含特征1的子集,我们保留原值;对于包含特征1的子集,我们则用数据集中特征1的某个随机值来替换当前实例的特征1值,从而“屏蔽”其具体影响。这个过程会在所有可能的子集上重复多次,以计算平均贡献。
沙普利值的优缺点

作为一种可解释AI技术,沙普利值有其显著优势和局限性。
以下是其主要优点:
- 公平分配:预测值与平均预测值之间的差异被公平地分配给实例的各个特征值。
- 对比性解释:支持与平均预测、子集或单个数据点进行比较。
- 理论基础坚实:其分配方案基于坚实的博弈论理论,而非像LIME那样依赖于局部线性的假设。
以下是其主要缺点:
- 计算成本高:对于一个包含 n 个特征的集合,其所有子集的数量是
2^n。这导致计算复杂度极高。 - 需要近似计算:正因为计算成本高,在实际应用中必须采用近似算法(我们将在后续视频中讨论)。
- 容易误解:如前所述,人们很容易错误地将其解释为特征移除后的影响。
- 总是使用所有特征:计算时需要考虑所有特征的交互,无法孤立地评估单个特征。
- 需要数据访问权限:计算沙普利值需要能够访问训练数据集。
总结

本节课我们一起学习了沙普利值。我们了解到它源于合作博弈论,用于公平分配团队收益。在机器学习中,它被用来解释每个特征对单个预测的贡献度。我们探讨了其思想实验、正确的解读方式、核心的数学公式,以及在实践中如何通过特征替换进行计算。最后,我们分析了沙普利值方法在提供坚实理论解释和对比性分析方面的优势,也指出了其计算复杂度高、易被误解等局限性。理解这些将帮助我们在实际应用中更有效地利用这一强大的可解释性工具。
055:沙普利加性解释(SHAP)📊
在本节课中,我们将要学习一种重要的可解释人工智能方法——沙普利加性解释(SHAP)。我们将了解它的基本概念、工作原理、实现步骤以及优缺点。

沙普利加性解释(SHAP)于2017年被提出。它建立在沙普利值的概念之上。在关于沙普利值的视频中,我们曾讨论过其计算成本极高,因此实用性不强。SHAP方法提出通过近似计算沙普利值,而不是直接计算它们。


有多种方法可以近似沙普利值,包括但不限于核SHAP、树SHAP和深度SHAP。本节讲座我们将重点介绍核SHAP,但在代码演示中,我们将实现树SHAP,以便您能感受几种不同的SHAP方法。

上一节我们介绍了SHAP的核心理念。本节中我们来看看核SHAP的具体思路。核SHAP在概念上与LIME非常相似,都是通过一个线性回归模型来近似沙普利值。
我们将对特征子集进行采样,并拟合一个线性回归模型。在这个模型中,输出值是模型的预测结果,而自变量则表示某个特征是否存在。拟合后的线性回归模型的系数,就是我们所需的沙普利值的近似值。


以下是核SHAP的实现步骤:
- 采样联盟:对特征的不同组合(联盟)进行采样。
- 获取预测:将每个采样样本转换回原始特征空间,然后应用我们的模型得到预测值。
- 计算权重:使用SHAP核函数为每个样本计算权重。
- 拟合加权线性模型:使用加权样本拟合线性回归模型。
- 返回近似值:线性模型的系数即为沙普利值的近似值。


原始SHAP论文中有一个很棒的可视化图表,展示了人类、LIME和SHAP为特征分配的特征归因值。我们可以直观地看到,SHAP与人类估计的一致性远高于LIME。
当SHAP应用于图像数据时,我们再次看到SHAP值相对于其他可解释性方法具有更高的性能。SHAP的输出有一些非常有趣的可视化方式,以下是《可解释机器学习》书中的几个例子。


接下来,让我们评估一下SHAP作为一种可解释AI技术的优缺点。
由于SHAP基于沙普利值,因此许多优点得以保留。实例的预测值与平均预测值之间的差异会公平地分配到各个特征值上,这使得它能够进行对比解释。你可以将预测与平均预测、某个子集甚至单个数据点进行比较。
与直接计算沙普利值相比,SHAP近似方法提供了更快的计算速度。然而,这并不意味着它很快。核SHAP仍然可能相当慢。同时,它忽略了特征间的依赖性。
与沙普利值一样,使用SHAP需要访问数据。并且,有可能用SHAP创建故意误导性的解释,它也可能被用来隐藏模型中的偏见。


本节课中我们一起学习了沙普利加性解释(SHAP)。我们了解到SHAP通过近似计算沙普利值,在保持其理论优点的同时,显著提升了计算效率,并支持直观的对比解释。然而,它也存在计算成本、忽略特征依赖等局限性。理解这些特点有助于我们在实践中更有效地应用SHAP进行模型解释。
056:个体条件期望图(ICE)📊
在本节课中,我们将学习一种名为“个体条件期望图”(ICE)的可视化技术。ICE图由Goldstein等人于2014年提出,它通过绘制每个数据实例的预测变化曲线,来展示当某个特定特征变化时,模型预测如何随之改变。这种方法不仅能提升局部可解释性,还能帮助我们获得更好的全局理解。

ICE图的工作原理🔍

上一节我们介绍了ICE图的基本概念,本节中我们来看看它是如何具体工作的。其核心流程可以概括为以下几个步骤:
以下是生成一条ICE曲线的具体步骤:
- 选择一个实例和一个感兴趣的特征:首先确定要分析的具体数据样本以及要研究的特征。
- 固定其他特征,改变目标特征值:保持该实例所有其他特征的值不变,仅对目标特征生成一系列不同的取值。
- 使用黑盒模型进行预测:将上一步生成的所有新“实例”输入模型,得到对应的预测值。
- 绘制曲线:以目标特征值为横轴,对应的模型预测值为纵轴,绘制出该实例的预测变化曲线。
通过重复此过程为多个实例绘制曲线,我们就得到了完整的ICE图。
ICE图示例与解读🚲
理解了基本原理后,我们通过一个具体例子来直观感受ICE图。下图展示了基于天气条件预测自行车租赁量的ICE图:


如果我们关注特征温度1,可以看到,对于大多数实例,预测的自行车租赁量随着温度升高而增加,但在大约30度之后开始下降。图中不同的曲线清晰地展示了不同实例间的预测差异:有些实例在高温时预测值更高,而另一些则呈现相反趋势。
ICE图的变体:中心化ICE图与导数ICE图🔄

标准的ICE图有时难以比较,因为不同曲线的起点(预测值)不同。为了解决这个问题,我们可以采用中心化ICE图。
中心化ICE图(c-ICE)将每条曲线在特征空间的某个参考点(例如特征最小值处)进行中心化,只显示相对于该点的预测差异。这使得曲线之间的趋势对比变得更加清晰。


此外,如果我们想直接了解预测变化发生的具体位置和方向,可以查看导数ICE图(d-ICE)。

导数ICE图绘制的是预测函数相对于目标特征的个体偏导数。公式表示为:
d-ICE(x_s) = ∂f(x) / ∂x_s
其中,x_s是目标特征,f(x)是模型预测函数。这使得我们能够轻松确定黑盒模型预测发生变化的特征值范围。


ICE图的优缺点评估⚖️

最后,我们来总结一下ICE图作为一种可解释AI可视化技术的优缺点。

以下是ICE图的主要优点:
- 直观易懂:图形化展示,易于理解。
- 揭示异质性关系:能够发现特征与预测之间在不同实例上的差异化关系。
以下是ICE图的主要局限:
- 一次只能显示一个特征:无法直接展示多个特征的交互影响。
- 容易 overcrowded:当实例数量很多时,图形会变得拥挤,难以看清平均趋势。
- 可能包含无效数据点:如果感兴趣的特征与其他特征相关,那么ICE曲线中的某些点可能不符合真实的联合特征分布,属于无效推断。

总结📝

本节课中,我们一起学习了个体条件期望图及其变体。我们了解了ICE图通过为每个实例绘制预测随单一特征变化的曲线,来同时提供局部和全局的模型洞察。我们还探讨了中心化ICE图用于更好地比较趋势,以及导数ICE图用于精确定位预测发生变化的区域。尽管ICE图在可视化异质性关系方面非常强大,但我们也需要注意它一次只能分析一个特征以及在实例过多时可能显得拥挤的局限性。
057:全局解释方法导论 🧭
在本节课中,我们将要学习全局解释方法的基本概念。全局解释旨在帮助我们理解机器学习模型的整体行为与决策过程,而非仅仅关注单个预测或输入空间的局部区域。
上一节我们介绍了可解释人工智能的多种视角,本节中我们来看看全局解释方法的核心目标与价值。
全局解释的目标
全局解释旨在提供对机器学习模型整体行为和决策过程的理解。这些解释有助于识别支配模型在整个输入域内行为的模式、趋势和关系。




常见的全局解释方法
我们将讨论几种常见的全局解释方法。以下是这些方法的简要列表:
- 函数分解
- 特征交互
- 排列特征重要性
- 部分依赖图
- 累积局部效应图
全局解释的价值
这些全局解释技术可以为理解机器学习模型的整体行为和决策过程提供宝贵的见解。它们可以帮助识别重要特征、检测特征间的交互作用、揭示非线性关系,并更好地理解模型在整个输入空间中的运作方式。
这种理解对于模型解释、调试以及建立对模型预测的信任至关重要。😊


本节课中我们一起学习了全局解释方法的基本概念、常见技术及其重要价值。全局解释通过揭示模型的整体行为模式,为我们打开了理解复杂机器学习模型的黑箱,是构建可信、可靠人工智能系统的关键一步。
058:函数分解 🧩

在本节课中,我们将要学习可解释人工智能(XAI)中的一个核心概念——函数分解。我们将了解它的定义、组成部分、实现方法以及优缺点。

函数分解是可解释人工智能中的一个关键概念,因此我们首先讨论它。函数分解将复杂模型分解为更简单的组成部分。每个部分或函数都可以被单独分析。这使得理解模型的整体行为变得更加容易。
上一节我们介绍了函数分解的基本概念,本节中我们来看看它的具体组成部分。

我们将一个机器学习模型分解为以下几个部分:
- 主效应:每个特征如何影响预测,独立于其他特征的值。
- 交互效应:特征之间的联合效应。
- 截距项:当所有其他特征效应被设置为0时的预测值。
有多种方法可以实现函数分解,包括函数方差分析(Functional ANOVA)和累积局部效应(Accumulated Local Effects)。我们将在本模块的后面讨论累积局部效应。
在理解了组成部分之后,我们通过一个可视化示例来加深印象。

在《可解释机器学习》一书中关于函数分解的可视化图中,你可以看到两个特征x1和x2的主效应显示在上方的图中。底部的图显示了x1和x2之间的交互作用。将模型分解为其组成部分是全局解释的一个核心概念,我们很快就会看到。
接下来,我们介绍一种具体的函数分解方法。
函数方差分析(Functional ANOVA)是函数分解的一种方法。它的组成部分包括:
- 加法分解:将模型的预测函数
F(x)分解为一系列项的和,其中每一项代表一个或多个输入特征对预测的影响。 - 个体贡献:通过将预测函数分解为这些加法分量,可以分析每个特征及其交互作用对模型输出的贡献程度。
- 交互效应:最后,我们量化特征之间的交互效应。

最后,我们来评估一下函数分解作为一种可解释人工智能技术的优缺点。
以下是函数分解的优缺点分析:
- 优点:函数分解为我们提供了将高维复杂机器学习模型分解为个体效应和交互效应的理论依据。
- 缺点:然而,在实践中,由于计算要求高,它实施起来比较困难。同时,它更适合表格数据,而不是图像或文本数据。

本节课中我们一起学习了函数分解。我们了解到,函数分解通过将复杂模型拆解为主效应、交互效应和截距项,为理解模型行为提供了清晰的框架。虽然它在理论上非常强大,尤其适用于表格数据,但在实际应用中需要考虑其计算成本。
059:特征交互作用
在本节课中,我们将要学习特征交互作用的概念。我们将从功能分解出发,引入特征交互的定义,并学习如何通过H统计量来量化交互强度,最后讨论该方法的优缺点。
上一节我们介绍了功能分解,本节中我们来看看特征交互作用。
当我们考虑分解时,首先将一个模型预测分解为一个常数项、每个特征的项以及特征之间的交互项。
让我们看一个例子。在本幻灯片右上角,我添加了一个预测汽车价格的表格。这里只有两个特征:燃料类型和品牌。一辆汽油非豪华汽车的基础价格是30000美元,我们将其视为常数项。燃料类型项是:电动车加20000美元,汽油车加0美元。品牌项是:豪华品牌加40000美元,非豪华品牌加0美元。最后,是我们的交互项。
这就是特征交互作用发挥作用的地方。为了估计交互强度,我们可以测量预测的变化有多少取决于特征之间的交互。我们可以使用一种叫做H统计量的方法来实现。
2008年,Friedman和Popescu引入了用于特征交互的H统计量。他们引入了双向H统计量,用于观察两个特征J和K之间的交互;同时也引入了总H统计量,用于观察特征J与所有其他特征之间的交互。
在这些来自原始数据的图表中,可以清晰地可视化特征交互强度。这为我们提供了一个易于理解的视觉呈现,帮助我们理解不同特征是如何相互作用的。
让我们快速看一下H统计量的数学原理。它遍历所有数据点,并在每个点评估部分依赖函数,而部分依赖函数的计算又需要用到所有N个数据点。J和K之间交互的H统计量如左侧公式所示,J与任何其他特征交互的统计量如右侧公式所示。
我们必须认识到与特征交互相关的计算成本,以及这如何影响实际应用。在最坏的情况下,计算双向H统计量(J对K)需要对机器学习模型的预测函数进行2N²次调用。计算总H统计量(J对所有)则需要3N²次调用。
为了加速计算,我们可以从N个数据点中进行采样。这里需要指出的是,这会增加部分依赖估计的方差,可能导致H统计量不稳定。
解释H统计量可能具有挑战性,我们将在下一张幻灯片中讨论。但标准的解释是:如果H统计量为零,则表示没有交互作用。如果总H统计量为1,则函数的所有方差都由部分依赖函数之和解释。如果双向H统计量为1,则每个单独的部分依赖函数都是常数,预测中的效果仅来自交互作用。
以下是特征交互作用作为一种可解释人工智能技术的优缺点分析:
- 优点:特征交互提供了有意义的、无量纲的解释,因此我们可以用它来跨特征和跨模型进行比较。
- 缺点:计算成本高昂。由于统计量本身固有的方差,结果可能不稳定。与许多XAI方法一样,它不适用于高度相关的特征。最后,H统计量可能大于1,这使得解释变得困难。


本节课中我们一起学习了特征交互作用。我们从功能分解入手,定义了特征交互,并介绍了用于量化交互强度的H统计量及其计算方法。最后,我们分析了使用特征交互来解释模型时的优势与局限性。
060:置换特征重要性 📊

在本节课中,我们将要学习一种名为“置换特征重要性”的模型解释方法。该方法通过打乱某个特征的数据,观察模型预测误差的变化,来衡量该特征对模型预测的重要性。
核心概念与原理 🔍
上一节我们介绍了模型解释的多种需求,本节中我们来看看一种具体且模型无关的评估特征重要性的方法。
特征的重要性可以通过计算在打乱该特征的值之后,模型预测误差的增加量来衡量。其核心逻辑可以用以下公式表示:
特征重要性 = 误差(打乱后) - 误差(原始)

如果打乱某个特征的值导致模型误差上升,则说明该特征重要。如果模型误差在打乱特征值后没有变化,则该特征被认为不重要。
这个概念最初于2001年为随机森林模型提出。在2018年,它被更新为一种与模型无关的方法,并更名为“模型依赖度”。
方法步骤详解 🛠️
了解了基本原理后,我们来详细拆解2018年提出的、与模型无关的“模型依赖度”方法的具体步骤。
我们的输入包括:训练好的模型 F_hat、特征矩阵 X、目标向量 Y 以及一个误差衡量指标(如均方误差)。
以下是计算置换特征重要性的具体步骤:
- 估计原始模型误差:首先,使用原始数据计算模型的基准误差。通常使用均方误差(MSE)作为误差指标。
- 对特征进行置换:对于每一个待评估的特征
j,我们通过打乱特征矩阵X中第j列的值来生成一个新的特征矩阵X_perm。这一步切断了特征j与真实结果Y之间的关联。 - 计算置换后误差:使用打乱后的数据
X_perm输入模型得到预测值,并基于此计算新的模型误差。 - 计算重要性分数:计算置换特征重要性,通常有两种方式:
- 差值法:
重要性 = 误差(置换后) - 误差(原始) - 比率法:
重要性 = 误差(置换后) / 误差(原始)
- 差值法:
- 排序特征:最后,将所有特征按照计算出的重要性分数降序排列。
结果解读与示例 📈
执行完上述步骤后,我们如何解读结果呢?让我们通过一个示例来直观理解。
下图展示了一个使用支持向量机模型预测字节数时,各个特征的置换重要性可视化结果。这些图表相当直观,其中“温度”特征表现出最高的重要性,在图中位于顶部。
(此处应有图片:特征重要性排序条形图)
方法优缺点分析 ⚖️
在掌握了置换特征重要性的计算和解读后,我们来评估一下它作为一种可解释人工智能技术的优缺点。
优点:
- 易于解释:逻辑直观,结果易于理解。
- 提供全局洞察:揭示了每个特征对整个模型行为的平均影响。
- 无需重新训练模型:直接基于已训练好的模型进行计算,计算效率较高。
缺点:
- 结果可能波动:由于方法依赖于随机打乱特征,重复计算时结果可能因随机性而略有不同。
- 可能产生偏差:如果特征之间存在相关性,打乱一个特征可能会创建出数据集中不存在的、不现实的数据实例,从而导致重要性估计出现偏差。

其他特征重要性方法 🔄
置换特征重要性是众多方法中的一种。了解其局限性后,我们简要看看其他计算特征重要性的途径。
存在多种计算特征重要性的替代方法:
- 模型特定的特征重要性:例如随机森林中的基尼重要性,以及回归模型中的标准化回归系数。
- 基于方差的重要性度量:例如之前讨论过的函数方差分析,这是置换重要性的一种替代方案。
本课程不会具体涵盖所有这些方法,但下图来自2015年的一篇论文,展示了其中许多相关方法。
(此处应有图片:多种特征重要性方法关系图)
总结 📝

本节课中我们一起学习了置换特征重要性(或称模型依赖度)。我们了解到,该方法通过打乱特征数据并观察模型预测误差的变化来量化特征的重要性。它具有直观、全局且模型无关的优点,但也需注意其可能因随机性和特征相关性带来的波动与偏差。此外,我们还了解到存在其他如模型特定度量和基于方差的方法来评估特征重要性。
061:偏依赖图 📊

在本节课中,我们将要学习一种重要的模型解释工具——偏依赖图。我们将了解它的定义、工作原理、优缺点,并通过一个具体例子来理解其局限性。

概述
偏依赖图,简称PDP或PD,用于展示一个或两个特征对模型预测结果的边际效应。


上图展示了Friedman原始论文中的偏依赖图示例。如果它看起来很眼熟,那是因为它本质上是ICE图中所有线条的平均值。与ICE图类似,PDP可以展示特征与预测目标之间的关系。
创建偏依赖图的过程
上一节我们介绍了偏依赖图的概念,本节中我们来看看它的具体创建步骤。
以下是创建偏依赖图的流程:
- 选择目标特征:首先,选定你感兴趣的特征。
- 固定其他特征:对于数据集中的每一个实例,保持所有其他特征的值不变。
- 创建特征变体:将该特征的值替换为网格中的一系列值,从而为每个实例创建多个变体。
- 进行预测:使用黑盒模型对这些新创建的实例进行预测。
- 收集数据点:现在,你为每个实例都得到了一组数据点,包含网格中的特征值及其对应的预测值。
- 计算平均并绘图:最后,对所有实例的预测结果进行平均,并绘制成图。
在实践中,为了计算效率,我们通常采用偏依赖的近似计算方法。以下是其公式:
f_S(x_S) ≈ 1/n * Σ_{i=1}^{n} f(x_S, x_C^{(i)})
在这个公式中,我们改变特征x_S的值,同时固定其他特征x_C为第i个观测值的原始值,然后对训练数据中的n个观测值的模型预测结果f进行平均。
偏依赖图示例
现在,我们来看一个具体的应用示例。下图展示了自行车销量与温度、湿度和风速的偏依赖图。

其中,温度的PDP最有意思。当天气更热时,租用的自行车数量会增加。我们看到这个趋势一直上升到20摄氏度,然后趋于平缓,并在温度非常高时略有下降。

偏依赖图的优缺点评估
了解了PDP的创建和应用后,我们来评估它作为一种可解释人工智能技术的优缺点。
优点:
- PDP易于实现。
- 在特征不相关的情况下,结果的解释非常清晰。
缺点:
- 该方法假设特征是独立的。
- 每张图最多只能展示两个特征。
- 它只展示了平均边际效应。
然而,如果你将PDP与ICE图结合使用,也可以获得局部信息。
局限性:特征相关性的影响
上一节我们讨论了PDP的优缺点,本节中我们通过一个具体例子来看看其核心局限性——对特征独立性的假设。
当特征之间存在强相关性时,PDP的解释可能会产生偏差。让我们考虑一个预测汽车价格的机器学习模型,它基于两个特征:发动机排量(升)和马力。实际上,这两个特征高度相关,发动机排量更大的汽车往往拥有更高的马力。
假设我们想用PDP来理解模型预测的汽车价格如何依赖于发动机排量这个特征。问题出现在为特定的发动机排量网格值计算平均预测时。
例如,当考虑一个较大的发动机排量(如5升)时,该方法会将所有实例的发动机排量都替换为5升,甚至包括那些马力值很低(如100马力)的实例。在现实中,由于发动机排量和马力之间的强相关性,一辆拥有5升发动机却只有100马力的汽车是极不可能且不现实的。
然而,PDP方法在平均步骤中仍然包含了这些不现实的实例,实际上默认了此类实例是合理的,并将其贡献于发动机排量对汽车价格的估计效应中。
因此,发动机排量的PDP图可能存在偏差,因为它包含了不现实特征值组合的预测,这可能导致对发动机排量与汽车价格之间真实关系的扭曲估计。
这个例子突显了当特征高度相关时,PDP可能面临的问题,因为它会对不太可能或不合逻辑的实例进行平均,可能导致对特征如何影响模型预测的误导性解释。

总结

本节课中我们一起学习了偏依赖图。我们了解到PDP是一种展示特征对模型预测平均边际效应的可视化工具,其创建过程涉及固定其他特征、网格化目标特征值并平均预测结果。PDP的优点是易于理解和实现,但其核心局限性在于假设特征独立性,当特征相关时,其解释可能基于不现实的数据组合而产生偏差。因此,在实践中,结合ICE图使用或注意其应用前提至关重要。
062:累积局部效应图(ALE)
在本节课中,我们将要学习一种名为“累积局部效应图”(Accumulated Local Effects Plot,简称ALE图)的可解释人工智能技术。ALE图旨在解决特征相关时,部分依赖图(PDP)解释不清的问题。
从PDP的局限到ALE的引入

上一节我们讨论了部分依赖图(PDP)的局限性,发现当特征之间存在相关性时,PDP的解释会变得不清晰。在实际应用中,特征通常是相关的,或者特征间的关系并不明确。

正因如此,累积局部效应图(ALE图)在2020年被提出。ALE图结合了局部效应和累积计算两个核心概念。

ALE图的核心思想
与PDP在整个特征空间上平均化效应不同,ALE图关注的是当某个特征值发生变化时,模型预测的局部变化。


ALE图并不直接绘制这些局部效应,而是将效应在特征的整个取值范围内累积起来。这有助于我们理解该特征如何影响预测的全局趋势。


以下是原始论文中展示的几个ALE图示例,它们探索了月份、小时、天气和风速等特征对共享单车使用量的影响。

如何构建ALE图
要创建一个ALE图,我们需要遵循以下步骤:
1. 特征分箱
首先,将我们感兴趣的特征划分为若干个区间或“箱”。分箱有助于管理数据,并在更小、更易处理的片段内计算局部效应。
2. 计算每个箱的局部效应
计算特征对预测的局部效应。这涉及到计算从箱的下边界移动到上边界时,预测值的变化,并对落入该箱的所有实例取平均。
局部效应 = 平均( f(上边界, 其他特征) - f(下边界, 其他特征) )
3. 累积效应
从第一个箱开始,将所有箱的局部效应依次累加起来。通过顺序求和平均效应,展示特征值变化时对预测的累积影响。
累积效应(k) = Σ(从第1箱到第k箱的局部效应)
4. 中心化处理
为了使图形更具解释性,将累积后的效应以0为中心进行调整。减去累积效应的均值,这迫使解释聚焦于与平均预测的偏差。
中心化ALE值 = 累积效应 - 均值(累积效应)




ALE图与PDP的对比
这张图对比了PDP和ALE图。在本例中,PDP的估计值受到了模型在数据分布之外异常行为的影响,这在图中表现为陡峭的跳跃。相比之下,ALE图正确地识别出了特征与预测之间的线性关系。
ALE图的优缺点评估
现在,让我们评估一下ALE图作为一种可解释AI技术的优缺点。
以下是其主要优点:
- 无偏性:即使特征相关,ALE图也能提供无偏估计。
- 解释清晰:允许清晰的解释。
- 计算更快:相比PDP,计算速度更快。
然而,它也存在一些局限性:
- 高度相关特征的挑战:当特征高度相关时,ALE与线性系数可能不匹配。对于高度相关的特征,它并非完美的解决方案。
- 实现更复杂:ALE图的实现比PDP更复杂,直观性也稍差。

总结

本节课中,我们一起学习了累积局部效应图(ALE)。我们了解了ALE图如何通过关注局部变化并累积效应,来解决特征相关时PDP解释不清的问题,掌握了其构建的四个关键步骤(分箱、计算局部效应、累积、中心化),并通过对比认识了其相对于PDP的优势,同时也分析了其自身的局限性。ALE图是处理相关特征时一个强大且更可靠的可视化工具。
063:基于实例的解释方法导论 🧩
在本节课中,我们将要学习一种重要的可解释人工智能方法——基于实例的解释方法。这种方法通过展示相关的例子或反事实场景,为机器学习模型的预测提供人类可以理解的解释。
基于实例的解释方法是一种解释和理解机器学习模型决策的方式,尤其在计算机视觉和自然语言处理等复杂任务中。这些解释旨在通过呈现相关的例子或反事实场景,为模型的预测提供人类可理解的依据。
我们将讨论几种不同类型的基于实例的解释方法,包括基于原型的解释、反事实解释和有影响力的实例。




应用场景与重要性
基于实例的解释方法在医疗诊断、贷款审批或犯罪风险评估等高风险的决策场景中特别有用。在这些场景中,理解模型预测背后的推理过程至关重要。
这些解释有助于建立对模型决策的信任,识别潜在的偏见或缺陷,并促进人机协作。

方法的局限性
然而,需要注意的是,与所有可解释人工智能技术一样,基于实例的解释方法可能并不总能完全捕捉深度神经网络复杂的决策过程。它们应与其他解释技术结合使用,以获得对模型行为更全面的理解。

本节课中,我们一起学习了基于实例的解释方法的基本概念、应用场景及其重要性。我们了解到,这种方法通过具体的例子来解释模型决策,对于建立信任和识别模型问题非常有帮助,但也认识到其局限性,需要与其他技术结合使用。
064:基于原型的解释 🧩
在本节课中,我们将要学习一种重要的可解释人工智能方法——基于原型的解释。这种方法旨在通过从数据中识别出具有代表性的样本或原型,来解释黑盒模型的预测结果。


概述 📋
基于原型的解释的核心论点是,我们使用原型实例或模式来表示模型的知识。这种方法通过展示与当前输入最相似的训练样本,来帮助用户理解模型的决策依据。
工作原理与实现 ⚙️
上一节我们介绍了基于原型的解释的基本概念,本节中我们来看看它的具体工作原理和实现步骤。
对于一个给定的预测,模型会从训练数据中选择最相似的样本作为原型。这些原型通常基于它们在特征空间中与输入实例的接近程度来选择。
模型通过评估输入实例与各个原型之间的相似度来完成这一过程。相似度通常使用特征空间中的距离度量来计算,例如欧几里得距离。
系统随后将这些原型展示给用户,说明输入实例与这些示例的相似之处。用户可以检查这些原型,观察共同的特征和模式,从而更容易理解模型为何做出特定预测。
除了原型,我们还可以使用对比示例或批评样本。这些是与输入相似但属于不同类别的样本。这有助于用户理解预测类别与其他类别之间的区别。

需要明确的是,原型和批评样本始终是我们数据中的真实实例。

扩展与应用 🔄
这些方法已被扩展到神经网络的可解释性领域,我们将在讲解深度学习的模块中详细讨论。
MMD-Critic 方法 📊
一种于2016年提出的基于原型的解释方法是MMD-Critic。其名称来源于其对最大均值差异(MMD)双样本统计检验的使用。

MMD-Critic背后的主要思想是,它选择能够最小化两个分布之间差异的原型。高密度区域的数据点是良好的原型,而那些原型未能很好解释的区域的数据点则被选为批评样本。
原始论文中的图表展示了USPS数据集的原型和批评样本示例。可以看出,即使不理解底层模型本身,人类也很容易理解这些原型和批评样本。

以下是MMD-Critic的一般方法步骤:
首先,确定你希望选取的原型和批评样本的数量。
- 寻找原型:通过贪心搜索,找到使原型分布与数据分布最接近的点。
- 寻找批评样本:通过贪心搜索,找到原型分布与数据分布差异最大的点。
最大均值差异(MMD)是衡量两个分布差异程度的指标。MMD-Critic的目标是最小化MMD的平方。
理解了MMD之后,我们可以讨论寻找原型的算法:
- 从一个空的原型列表开始。
- 当原型数量小于预设数量
m时,对数据集中的每个点,检查将其加入原型列表后MMD减少了多少。 - 将能使MMD最小化的数据点加入列表。
- 该过程完成后,返回原型列表。
优缺点评估 ⚖️
现在,我们来评估将基于原型的解释作为可解释AI技术的优缺点。
优点:
- 原型本身是捕捉每个类别或决策边界本质的具体实例,这符合人类的直觉。
- 它们是模型无关的。
缺点:
- 基于原型的解释难以扩展到高维数据。
- 它主要用于提供局部解释。
- 容易过拟合或欠拟合。
- 选择具有代表性的原型非常具有挑战性。
总结 ✨

本节课中,我们一起学习了基于原型的解释方法。我们了解了其通过展示代表性样本来解释模型预测的核心思想,探讨了MMD-Critic这一具体算法的原理与步骤,并分析了该方法的优势与局限性。这种方法以其直观性,为理解复杂模型的决策过程提供了一条有效途径。
065:反事实解释

在本节课中,我们将要学习一种重要的可解释人工智能技术——反事实解释。我们将了解其核心概念、工作原理、应用方法以及优缺点。
概述
反事实解释通过描述“如果某些条件改变,结果将如何不同”来为模型的预测提供洞见。它是一种直观且强大的解释方法,尤其适用于指导决策。

反事实解释的核心概念
反事实描述了一种因果关系:如果事件X没有发生,那么事件Y就不会发生。
我们可以通过改变一个数据实例的特征值,然后观察模型预测结果如何变化,来为黑盒机器学习模型的预测模拟反事实。
一个预测的反事实解释,描述了将预测结果改变为预定输出所需的最小特征值变化。
核心公式可以表示为:寻找一个反事实实例 x',使得 f(x') = y',同时 distance(x, x') 尽可能小。其中 f 是模型,x 是原始实例,y' 是期望的预测结果。
一个直观的例子
上一节我们介绍了反事实的基本概念,本节中我们来看一个具体的例子,以加深理解。
假设你正在申请机器学习相关的工作,并对自己能否获得一家顶尖科技公司的录用感到不确定。你决定利用历史申请者数据构建一个模型,特征包括教育背景、工作经验、技能、项目经历和面试准备时长,用以预测你获得录用通知的概率。
模型预测你获得录用的概率为75%。这个结果尚可,但你希望将概率提升到90%以上。于是,你开始尝试改变特征值,看看如何能改善预测结果。
你发现,如果你能增加两年的工作经验,你的录用概率将提升至85%。然而,立即获得两年经验并不现实。
接着,你将注意力转向可控因素,例如面试准备和特定技能提升。你发现,如果你在面试准备上多投入50个小时,并完成一门可解释人工智能课程,你的预测成功率将升至92%。
通过探索这些反事实情景,你可以利用模型做出数据驱动的决策。

如何构建反事实解释
我们的直观例子展示了通过试错法构建反事实解释。但作为机器学习工程师,我们需要更系统的方法。
我们可以使用优化算法来最小化损失函数。以下是基本步骤:
- 定义损失函数:该损失函数接收三个输入:感兴趣的原始实例、一个反事实实例、以及期望的反事实结果。
- 使用优化算法:寻找能最小化此损失函数的反事实解释。
存在多种方法,它们在损失函数的定义和优化方法上有所不同。下图展示了构建反事实解释的迭代过程。
(此处原有一张展示迭代过程的图片)

实践案例:MNIST数据集
让我们看一个在MNIST手写数字数据集上的具体案例。
这里展示了一个来自MNIST数据集的样本(一个数字)及其生成的反事实解释。我们还可视化了它们之间的差异,以展示需要改变哪些像素才能让模型将其误分类为数字“6”。

在配套的编程练习中,你将使用MNIST数据集开发自己的反事实解释。
(此处原有一张MNIST数字及其反事实对比的图片)
反事实解释的优缺点
现在我们已经了解了反事实解释的构建方法,本节我们来评估一下它作为一种可解释AI技术的优缺点。
以下是其主要优点:
- 解释清晰直观:反事实解释(“如果...那么...”的形式)易于人类理解。
- 无需访问数据或模型:某些方法可以在不了解模型内部细节或训练数据的情况下生成解释。
- 相对易于实现:核心思想直接,有多种开源工具包可供使用。
然而,该方法也存在挑战,主要是“罗生门效应”:
- 罗生门效应的挑战:罗生门效应指的是不同人对同一事件或经历给出截然不同的描述。这一概念源自1950年的日本电影《罗生门》。在电影中,同一事件被四位证人或参与者以四种相互矛盾的方式描述,每种描述都看似合理且自洽,但彼此根本不相容。
- 对反事实的影响:对于同一个实例,通常可以找到多个不同的反事实解释,并且没有标准化的方法来报告哪一个是最佳或“正确”的解释。
总结


本节课中,我们一起学习了反事实解释。我们首先理解了其“如果X未发生,则Y不会发生”的核心因果逻辑。然后,通过一个求职预测的例子,我们看到了反事实如何用于指导 actionable 的决策。接着,我们探讨了使用优化算法自动生成反事实的系统方法,并观察了在MNIST数据集上的应用实例。最后,我们分析了该技术的优势(直观、保护隐私、易实现)和主要局限(存在多个可能解释的“罗生门效应”)。掌握反事实解释,能帮助你为机器学习模型提供更贴近人类思维的、具有操作性的见解。
066:影响实例分析

在本节课中,我们将要学习一种重要的模型解释方法:影响实例分析。我们将探讨如何识别那些对模型参数或预测结果有重大影响的训练数据点,并了解其背后的两种主要技术。

概述
删除一个训练数据实例可能会影响最终得到的模型。如果一个训练实例从训练数据中删除后,会显著改变模型的参数或预测结果,那么它就被认为是一个有影响力的实例。通过识别这些有影响力的训练实例,我们可以调试模型,并更好地解释它们的行为和预测。
影响实例的用途

影响实例帮助我们回答关于模型全局行为和个体预测的问题。以下是两类关键问题:

- 哪些实例对模型参数或整体预测最具影响力?
- 哪些实例对某个特定的预测最具影响力?
影响实例的类型

上一节我们介绍了影响实例的概念,本节中我们来看看它的两种主要类型:删除诊断法和影响函数法。需要注意的是,影响实例分析并非与模型无关的通用方法,每种类型都有其特定的要求。
一个简单的例子
假设你决定估算Coursera学生的平均绩点,因此你从你的XAI课程同学中抽取了一个样本。我们暂时忽略你的抽样方法。问题是:单个学生能在多大程度上影响你计算出的平均绩点?

以下是两种分析思路:
- 删除法:你为数据集中的每个人重新计算平均绩点,每次计算时都省略一个学生的绩点,然后衡量平均估计值的变化程度。
- 影响函数法:你将其中一个人的权重增加一个非常小的值,这相当于计算某个统计量或模型的一阶导数。
具体技术:Df Beta 与 Cook‘s 距离
检测有影响力的数据点对于构建稳健的机器学习模型至关重要。让我们探讨两种流行的技术:Df Beta 和 Cook‘s 距离。
首先,我们来谈谈 Df Beta。Df Beta 衡量删除一个实例对模型参数的影响。它对于具有权重参数的模型(如逻辑回归或神经网络)特别有用。通过计算 Df Beta,你可以识别那些对模型学习到的权重有不成比例影响的实例。
以下是 Df Beta 的计算过程:
- 移除一个实例。
- 重新计算权重向量。
- 将其与使用所有实例得到的权重向量进行比较。
接下来是 Cook‘s 距离。这个指标衡量删除一个实例对模型预测的影响。它最初是为线性回归模型创建的,包含一个平方项和均方误差。然而,通过移除这些特定项,它可以被修改以适用于其他模型类型。

以下是 Cook‘s 距离的计算过程:
- 移除一个实例。
- 重新计算模型预测。
- 将其与使用所有实例得到的预测进行比较。
影响函数法
2017年引入的影响函数法为删除诊断法提供了一种替代方案。它不直接删除训练实例,而是通过将某个训练实例的损失函数权重增加一个无穷小的量,来近似计算模型会发生多大变化,从而得到一组新的模型参数。这种方法需要获取损失函数相对于模型参数的梯度,因此只适用于某些模型,如逻辑回归、支持向量机和神经网络。
实例展示

以下是来自2017年原始论文中影响函数的示例。
在图1B中,你可以看到一个测试图像和一个具有相同标签的有害训练图像。这个训练图像的存在使得模型认为测试图像是数字“7”的可能性降低了。这是一个有害训练图像的例子。

在图4中,展示了一个在对鱼和狗进行分类时有帮助的训练狗图像。这个训练图像被证明对帮助Inception模型正确地将这里的测试图像分类为“鱼”具有影响力。
影响实例与异常值

在结束之前,有一点需要注意:你可能会认为影响实例看起来与异常值非常相似。然而,影响实例关注的是实例与其对应的模型参数或预测之间的关系,而异常值关注的是实例与其他实例或数据之间的关系。一个有影响力的实例不一定是异常值,反之亦然。如果一个异常值影响了模型,那么它就是一个有影响力的实例。
优缺点评估
现在,让我们评估一下影响实例作为一种可解释人工智能技术的优缺点。
优点:
- 非常适用于调试模型。
- 删除诊断法在很大程度上与模型无关,可用于比较不同的机器学习模型。
缺点:
- 计算成本高昂。
- 需要了解影响函数法只是近似计算。
总结

本节课中我们一起学习了影响实例分析。我们了解到,通过识别对模型有重大影响的训练数据点,我们可以深入理解模型的行为,并对其进行调试。我们探讨了两种主要方法:删除诊断法(如Df Beta和Cook‘s距离)和影响函数法,并比较了它们的特点与适用场景。理解影响实例与异常值的区别,以及该技术的优缺点,对于在实际中有效应用这一解释工具至关重要。
067:特征可视化 🎨

在本节课中,我们将要学习一种名为“特征可视化”的技术,它可以帮助我们直观地理解神经网络内部正在发生什么。
特征可视化是一个使神经网络中学习到的特征变得明确的过程。它回答了这样一个问题:这个神经元、通道或层“看到”了什么。

上一节我们介绍了特征可视化的基本概念,本节中我们来看看它的具体表现形式。

在谷歌2017年介绍该方法的文章中,我们可以看到不同层次的特征可视化:神经元级别、通道级别和层级别。
了解了特征可视化的表现形式后,我们来看看其背后的数学原理。
通过特征可视化,我们的目标是最大化某个神经元对于一张输入图像 X 的激活值 H。在这个公式中,X 和 Y 指的是神经元在空间中的位置,n 指的是层数,Z 指的是通道索引。
为了计算整个通道 Z 在层 N 中的平均激活,我们会对该通道进行求和,如下所示:

公式:
argmax_X H_{X,Y}^{(n,Z)}
注意: 除了最大化激活值,你也可以最小化它,这等同于在负方向上最大化激活。
理解了数学原理后,接下来我们探讨如何实现特征可视化。
以下是实现特征可视化的关键步骤:
- 通过优化创建图像:我们从随机噪声图像开始,通过优化过程来获得有意义的可视化结果。
- 施加图像约束:为了获得清晰的结果,我们会对图像施加约束,例如只允许微小的变化。
- 应用变换以减少噪声:在优化前,我们可以对图像应用抖动、旋转或缩放,以减少可视化结果中的噪声。
- 添加其他正则化:例如,频率惩罚可以降低相邻像素的方差。
- 使用学习到的先验生成图像:例如,可以使用生成对抗网络(GANs)或去噪自编码器来生成更自然的图像。
这个过程展示了从随机噪声开始,通过优化一张图像来激活特定神经元,并试图最大化其激活值的过程。

最后,我们来评估一下特征可视化作为一种可解释人工智能技术的优缺点。
以下是特征可视化的主要优点和缺点:
- 优点:
- 它为我们理解神经网络的工作原理提供了独特的视角。
- 它允许我们以非技术性的方式向他人解释神经网络是如何工作的。
- 缺点:
- 对于大型网络,它无法提供完整的交互图景,难以全面可视化。
- 许多特征可视化图像包含一些抽象的、我们无法用人类语言解释的特征。

本节课中我们一起学习了特征可视化技术。我们了解了它的定义、表现形式、数学原理、实现步骤以及优缺点。特征可视化是打开神经网络“黑箱”、理解其内部工作机制的一扇重要窗口。
068:特征归因方法详解 🧠
在本节课中,我们将学习两种基于梯度的特征归因方法:原始梯度法和Grad-CAM。这两种方法主要用于解释计算机视觉模型的决策,通过计算模型预测相对于输入特征的梯度,来可视化图像中哪些区域对模型的判断最为重要。
基于梯度的特征归因方法
上一节我们介绍了基于遮挡或扰动的特征归因方法,如LIME和SHAP。本节中,我们将探讨基于梯度的特征归因方法。这类方法通过计算模型预测分数相对于输入特征(如图像像素)的梯度,来生成解释。梯度反映了输入特征的微小变化对模型输出的影响程度。
原始梯度法(Vanilla Gradient)
原始梯度法,也称为显著图(Saliency Map)方法,它提供了像素级别的重要性评估。在深入实现细节之前,请确保您已复习过神经网络中的反向传播原理,这是理解基于梯度的特征归因方法的基础。
以下是实现原始梯度法的步骤:
- 对感兴趣的图像执行一次前向传播。
- 计算目标类别的预测分数相对于输入像素的梯度。
- 将所有其他类别的梯度设置为0。
- 可视化梯度:可以展示其绝对值,或分别突出显示正负贡献。
此方法面临的一个挑战是“饱和问题”。当神经元的激活值低于0时(例如在ReLU激活函数后),梯度可能变为0,导致反向传播时无法更新权重,从而可能遗漏一些重要特征。
梯度加权类激活映射(Grad-CAM)
与原始梯度法不同,Grad-CAM并不将梯度一直反向传播回原始图像,而是通常传播到最后一个卷积层。它的主要目标是生成一个定位图,突出显示图像中对特定分类至关重要的区域,从而理解卷积层关注图像的哪些部分。
以下是实现Grad-CAM的步骤:
- 将输入图像前向传播通过卷积神经网络(CNN)。
- 获取目标类别的原始分数(即Softmax层之前神经元的激活值),并将所有其他类别的激活值设为0。
- 将目标类别的梯度反向传播到全连接层之前的最后一个卷积层。
- 用该类别梯度对每个特征图(或像素)进行加权,并计算这些加权特征图的逐像素平均值。
- 对平均后的特征图应用ReLU激活函数,以聚焦于对类别有正面影响的特征。
- 为了可视化,将值缩放到0到1之间,将热图上采样至原图尺寸,并叠加到原始图像上。
如果使用Grad-CAM的一个变体——导向Grad-CAM(Guided Grad-CAM),则需要将Grad-CAM生成的热图与导向反向传播(Guided Backpropagation)的结果相乘。
方法对比与示例
下图展示了原始梯度法与Grad-CAM在解释模型识别“灰狗”、“一碗汤”和“鳗鱼”时的可视化结果对比。可以看到,原始梯度法(左列)的响应更为分散和像素化,而Grad-CAM(右列)则能更清晰地突出与目标物体相关的连贯区域。

特征归因方法的评估
最后,我们来评估特征归因作为一种可解释AI技术的优缺点。

优点:
- 可视化结果直观易懂。
- 可供选择的方法众多。
- 计算速度远快于LIME或SHAP等方法。
缺点:
- 解释结果的评估较为困难,难以判断解释是否正确。
- 研究表明,如显著图这类特征归因方法的结果可能不可靠且不稳定(由Kiermens等人提出)。

下图进一步说明了不同方法在稳定性和可靠性方面的差异。


总结


本节课中,我们一起学习了两种重要的基于梯度的特征归因方法:提供像素级重要性的原始梯度法,以及提供区域级重要性、能更好定位关键区域的Grad-CAM。我们了解了它们的实现步骤、直观对比,并讨论了这类方法的优势与当前面临的挑战,例如评估困难和结果的不稳定性。理解这些方法有助于我们更好地解读和信任深度学习模型在计算机视觉任务中的决策过程。
069:网络解构分析 🔍
在本节课中,我们将学习一种名为“网络解构”的技术。该技术旨在揭示卷积神经网络内部单元与人类可理解概念之间的关联,帮助我们理解神经网络究竟学到了什么。
概述
网络解构技术于2017年被提出,其核心目标是建立神经网络内部单元与人类概念之间的联系。它试图回答一个关键问题:卷积神经网络是否学习了“解耦”的特征?这里的“解耦特征”指的是单个网络单元能否检测到特定的现实世界概念。如果答案是肯定的,那么网络就具备了一定的可解释性。但需要提前说明的是,研究发现,卷积神经网络实际上并非完美解耦的。接下来,我们将深入探讨这一方法。
网络解构的实现步骤
网络解构的实现过程相当直接明了,主要包含以下三个步骤。
以下是具体步骤:
- 获取带有人工标注视觉概念的图像:这些图像需要在像素级别上标注了不同抽象层次的概念。
- 测量CNN通道激活:针对这些图像,计算卷积神经网络各通道的激活情况。
- 对齐激活与标注概念:将网络的激活模式与人工标注的概念进行匹配。
此方法可用于探测任何卷积层。接下来,我们将深入每个步骤的细节。
测量通道激活
上一节我们介绍了整体步骤,本节中我们来看看如何具体测量通道激活。
对于每个卷积通道 K 和每张图像 X,我们执行以下操作:
- 将图像 X 前向传播到包含通道 K 的目标层。
- 提取通道 K 的像素激活图,记为 a_K(x)。
- 在所有图像上,计算像素激活值 a_K 的分布。
- 确定该激活分布 α_K 的 0.995 分位数,作为该通道的激活阈值 T_K。
- 对于每张图像 X,将激活图 a_K(x) 缩放到图像 X 的分辨率,得到 s_K(x)。
- 对激活图进行二值化处理。每个像素根据其激活值是否超过阈值 T_K 被判定为“开启”或“关闭”。生成的新掩码 M_K(x) 由以下公式定义:
M_K(x) = s_K(x) >= T_K
至此,我们为每张图像和每个通道都得到了一个激活掩码。
对齐激活与概念
在得到激活掩码后,本节我们将探讨如何将其与人类概念对齐。
对于每个通道 K,我们需要找到最能激活该通道的人类概念。具体做法是将该通道的激活掩码与所有已标注的概念掩码进行比较。
我们使用交并比(Intersection over Union, IoU)来量化激活掩码 K 与概念掩码 C 之间的对齐程度。当 IoU(K, C) > 0.04 时,我们认为单元 K 是概念 C 的一个检测器。
右侧展示了交并比的计算公式:IoU = (Area of Intersection) / (Area of Union)。
让我们看一个视觉示例。以杜克大学教堂图片为例,红色虚线区域代表人工标注的真实概念区域,蓝色实线区域代表网络激活最强的区域。两者的重叠部分即为交集区域,而包含两者及交集的总区域即为并集区域。
实例分析
现在,让我们观察一些来自原论文的实例。
在这张图中,我们可以看到与“狗”、“房屋”和“火车”等概念相关的激活区域。


原论文中的另一个例子,展示了网络激活与人工标注概念之间的比较。


优缺点总结
最后,我们来评估网络解构作为一种可解释人工智能技术的优缺点。
优点:
- 网络解构拓展了特征可视化的见解。
- 它以一种非技术性的方式传达神经网络的工作原理。
- 我们可以用它来将网络单元与概念联系起来。
- 它能够检测到超出分类任务类别范围的概念。
缺点:
- 它需要像素级别标注了概念的数据集,这类数据收集成本高昂。
- 许多单元会对同一概念产生响应,而有些单元则不对任何概念响应,这可能造成混淆。
- 它只关注通道的正向激活与人类概念的对齐,而忽略了负向激活可能蕴含的信息。
总结


本节课中,我们一起学习了网络解构分析技术。我们了解了它如何通过测量通道激活、并与像素级标注的概念进行IoU比对,来建立CNN内部单元与人类可理解概念之间的联系。虽然该方法在提升模型透明度方面提供了有力工具,并揭示了神经网络学习到的一些语义特征,但我们也认识到它对标注数据的依赖以及解释范围上的局限性。理解这些优缺点有助于我们在实际应用中更有效地利用这项技术。
070:概念激活向量 (CAV) 🧠
在本节课中,我们将学习一种名为“概念激活向量”的可解释人工智能技术。这是一种用于量化神经网络内部“概念”如何影响其最终预测的方法。我们将通过一个斑马分类的例子,一步步理解其原理、计算步骤以及优缺点。
概述 📋
概念激活向量是神经网络某一层激活空间中,某个“概念”的数值化表示。测试概念激活向量的方法,即TCAV,于2018年被首次提出。对于任何给定的概念,TCAV能够衡量该概念对模型针对特定类别的预测有多大程度的影响。

上一节我们介绍了可解释性的基本需求,本节中我们来看看如何具体量化神经网络内部学到的“概念”。


TCAV 实现步骤详解 🛠️
我们将通过一个“斑马”图像分类的例子,详细讲解TCAV的实现步骤。
1. 准备数据集
首先,需要准备两类数据集:一个代表特定概念C的概念数据集,以及一个随机数据集。

以下是具体的数据集示例:
- 右侧是目标类别(例如“斑马”)的数据集。
- 左侧是三个不同的概念数据集:条纹、锯齿形和圆点。


2. 训练概念分类器并获取CAV
接下来,选定一个隐藏层L,并训练一个二元分类器。这个分类器的任务是区分由概念数据集和随机数据集在该层L生成的激活值。
以下是关于分类器的说明:
- 这个二元分类器可以是支持向量机或逻辑回归模型。
- 训练好的二元分类器的系数向量,就是该概念的概念激活向量。

3. 计算概念敏感度
给定一个输入图像X,我们可以通过计算模型预测在单位概念激活向量方向上的方向导数,来衡量其概念敏感度。
其计算公式如下:
S_{C,k,l}(x) = ∇ h_{l,k}(f_l(x)) · v_C^l
其中:
h_{l,k}组件将激活向量映射到类别K的逻辑输出。f_l(x)组件将输入X映射到第L层的激活向量。

4. 计算TCAV分数
TCAV分数定义为:对于某个类别K,其输入中具有正概念敏感度的样本数量,占总输入样本数量的比例。
公式表示为:
TCAV_{Q_{C,k,l}} = |{x ∈ X_k: S_{C,k,l}(x) > 0}| / |X_k|
评估CAV的鲁棒性 ✅
我们如何知道得到的概念激活向量是稳健可靠的,而非偶然结果呢?方法不是只训练一个CAV,而是训练多个。
一个有意义的“概念”会在使用不同随机数据集时,产生一致的TCAV分数。以下是评估步骤:
以下是具体的评估流程:
- 收集N个随机数据集。原论文建议 N ≥ 10。
- 固定概念数据集,使用每一个随机数据集计算对应的TCAV分数。
- 对这N个TCAV分数,与由随机概念生成的TCAV分数进行双侧T检验。随机概念可通过选择一个随机数据集作为“概念数据集”来获得。
- 在假设检验中,使用多重假设校正方法,如邦费罗尼校正。


结果示例:斑马分类 🦓
我们以“斑马”类别和“圆点”、“条纹”、“锯齿形”三个概念为例,观察神经网络中名为“mixed_4c”的层。
结果符合我们的直觉:对于斑马类别,“条纹”和“锯齿形”概念的TCAV分数很高,而“圆点”概念的分数非常低。


TCAV的优缺点 ⚖️
最后,我们来评估概念激活向量作为一种可解释AI技术的优缺点。
以下是其主要优点:
- 可定制性强:通过创建不同的概念数据集,可以探索任何用户定义的概念。
- 提供全局解释:能够量化一个概念对整个类别预测的总体影响。
以下是需要注意的局限性:
- 在浅层网络上效果不佳:因为概念在更深的网络层中通常更具可分离性。
- 需要额外标注:构建概念数据集可能成本高昂。
- 应用范围有限:目前主要应用于图像数据。

总结 🎯

本节课中,我们一起学习了概念激活向量这一重要的可解释性工具。我们了解了CAV如何将抽象概念转化为神经网络激活空间中的向量,并通过TCAV方法量化该概念对模型决策的影响。从数据准备、CAV计算到鲁棒性检验,我们完整地走过了其工作流程,并分析了其优势和当前存在的限制。掌握TCAV有助于我们更深入地理解复杂模型内部的运作机制。
071:注意力机制综述 🧠
在本节课中,我们将要学习注意力机制的核心概念,特别是自注意力与多头注意力。我们将从词嵌入的基础开始,逐步理解注意力如何为这些嵌入向量添加上下文信息,并最终探讨跨注意力的工作原理。
词嵌入回顾

上一节我们介绍了神经网络处理文本的基本需求。文本处理具有挑战性。请看以下两个包含相同单词的短语:
- “Bank of the river”(河岸)
- “deposited money at the bank”(在银行存钱)

“Bank”这个词在两句中拼写相同,但其含义根据上下文或周围的单词而不同。

词嵌入是一种将文本信息转换为实数向量的方法,旨在捕捉数据的语义和句法特征。它充当原始数据的紧凑表示,捕获其本质特征。

自注意力机制
现在,让我们深入一个简化版的自注意力机制。假设我们有短语“Bank of the river”。我们可以将每个单词嵌入为一个向量,记为 V1、V2、V3 和 V4,分别对应短语中的每个词。自注意力的目标是用上下文信息来改进这些原始嵌入。
理想情况下,我们希望输出是优于原始表示的新表示,我们将其称为 Y1、Y2、Y3 和 Y4。让我们聚焦于第一个词“bank”。我们知道“bank”根据其上下文可以有多种含义。我们的目标是从原始向量嵌入 V1 转换到一个更好的新向量嵌入 Y1。
以下是实现步骤:

- 计算得分:首先,计算 V1 与序列中每个向量(包括自身)的点积。即计算 V1·V1、V1·V2、V1·V3 和 V1·V4。这些输出被称为“得分”。
- 归一化得分:我们通过 softmax 函数对这些得分进行归一化,因为我们希望所有权重之和为 1。现在,我们得到了归一化后的权重。
- 加权求和:这些权重用于对指向 V1 的所有向量进行重新加权,因此“river”会影响“bank”,反之亦然。Y1 就是这个重新加权后的向量。


我们对序列中的每个单词重复此过程。关于这个过程需要注意几点:词序没有影响,词与词之间的邻近性没有影响,并且它与序列形状无关。无论序列长短,此方法都适用,最终只会得到一个更长或更短的加权和。

另一种绘制方式是展示每个数学运算及其输入。V1 与原始嵌入的点积产生得分,得分归一化后成为权重,权重与原始嵌入的加权和则创建了我们的新向量嵌入 Y1、Y2、Y3 和 Y4。
需要指出的是,到目前为止,这完全是纯数学运算,没有任何可训练的参数。
引入可训练参数
那么,如果我们在使用原始嵌入的每个地方引入可训练参数会怎样呢?我们将在原始嵌入被使用的每个位置引入可训练参数。这些参数被称为 键、查询 和 值。它们源自数据库术语的启发,但不必过于纠结于这个类比。
- 键 与我们的原始嵌入相关联。
- 查询 表示我们希望 V1 获得更多上下文。
- 当结合查询和键时,我们期望返回 值。
现在我们有了可以训练的参数:一个键矩阵、一个查询矩阵和一个值矩阵。这些就是我们将要训练的可训练权重。注意,这些矩阵是 k×k 维的,其中 k 是我们原始嵌入向量的长度。


如果我们将此绘制成一个自注意力块,我们会看到原始向量嵌入与我们的键、查询和值(即可训练矩阵)相结合的线性层。其余部分相同:我们进行点积运算得到得分,将其归一化得到权重,然后执行加权求和以获得输出,即改进后的向量嵌入 y1 到 yn。
现在,我们有了一个可以用来训练键、查询和值矩阵的模块。这些可训练参数与传统神经网络层中的可训练权重相同。

简而言之,自注意力就是添加上下文信息的过程。

多头注意力
现在,我们提出一个问题:单一的注意力足够吗?考虑句子“I gave my cat, Tater, a toy”中的单词“gave”。单词“gave”需要同时关注句子的多个部分:它需要关注“I”、“Tater”和“toy”。这些都可以是独立的注意力机制,各自拥有经过训练的键、查询和值矩阵。


这引出了多头注意力的概念,我们通过拥有多个“头”来并行化注意力机制。这里,我们有 1 到 H 个头。这导致产生 1 到 H 组得分、权重和最终输出。
现在,我们的最终输出需要与输入向量嵌入的大小相同。因此,我们在这里做的是将 1 到 H 的输出进行拼接,然后通过一个全连接层,最终得到一个与之前大小相同的输出。

跨注意力

我们已经回顾了自注意力,但跨注意力呢?自注意力在单个序列内操作。跨注意力则用于两个不同的序列之间。
以下是跨注意力的工作原理:对于查询序列中的每个元素,跨注意力根据其与键-值序列中每个元素的关系来计算注意力得分。这种机制使模型在生成输出时能够选择性地关注另一个序列的相关部分。跨注意力对于涉及理解来自不同来源的元素如何相互关联的任务至关重要。

总结

本节课中,我们一起学习了注意力机制的核心组成部分。我们从词嵌入的基础出发,理解了自注意力如何通过计算序列内元素间的关联得分并加权求和,来为词向量添加上下文信息。接着,我们探讨了通过引入可训练的键、查询、值矩阵,使注意力机制能够被优化。然后,我们认识到单一注意力可能不足,从而引入了多头注意力来并行捕获不同类型的依赖关系。最后,我们简要了解了跨注意力,它用于处理两个不同序列之间的信息关联。这些机制共同构成了现代Transformer架构处理和理解序列数据的基础。
072:注意力可视化 👁️

在本节课中,我们将学习注意力机制的可视化方法。注意力可视化是理解模型如何聚焦于输入数据特定部分的重要工具。我们将探讨其常用方法、相关工具以及当前研究中的争议与局限。
上一节我们介绍了可解释注意力的基本概念,本节中我们来看看具体的可视化技术及其应用。
注意力可视化的演进与争议 📊

多年来,如何可视化注意力一直是一个备受争议的话题。从2015年论文中展示的热力图可视化,到2018年论文中显示的图与矩阵注意力表示,学界围绕最佳可视化方式及其必要性进行了大量讨论。
常用可视化工具:Bert Viz 🔧
或许最常用的注意力可视化方法是2019年提出的 Bert Viz。它也是解释性文章中最常引用的工具之一。Bert Viz 可在多个尺度上可视化Transformer架构中的注意力。

Bert Viz 会为给定输入,从Transformer的每一层和每个注意力头中提取注意力权重或分数。需要明确的是,Bert Viz 是一个用于可视化Transformer的工具,并不局限于BERT系列模型。

以下是Bert Viz生成的一些可视化示例。其中,词元间权重越高,显示的颜色越深。如图所示,你可以使用Bert Viz探查网络中不同的层。
这里展示了使用Bert Viz可视化注意力模式的另外两种方式:左侧是整个模型的视图,右侧是GPT-2的神经元视图。
原始论文提出,这种可视化方法可用于检测偏见,例如原论文图四所示的存在编码的性别偏见。
注意力可视化的研究方法与批评 🧐
可解释注意力是一个相对较新的概念,关于其方法、局限性和批评的研究仍在不断涌现。
与可解释人工智能中的所有主题一样,我们应保持批判性视角,确保我们使用这些方法是出于正确的原因,并且概念背后的理论是坚实的。
在本节中,我分享了关于方法、局限性和批评的最新研究。
总结 📝

本节课中,我们一起学习了注意力可视化的主要方法。我们回顾了该领域的演进与争议,重点介绍了常用的Bert Viz工具及其应用场景,并强调了在研究和应用这些可视化技术时保持批判性思维的重要性。理解这些工具有助于我们更深入地洞察模型的行为,但同时也要注意其解释的局限性。
073:可解释注意力机制争议 🔍

在本节课中,我们将探讨一个在可解释人工智能(XAI)领域备受争议的话题:使用注意力机制作为模型可解释性或可解释性的代理。我们将回顾相关研究,分析其局限性,并简要介绍替代方法。
正如之前提到的,使用注意力作为可解释性或可解释性的代理,在学术界是一个备受争议的话题。
已有数篇论文表明,注意力机制的可视化结果可能严重失真。
即使是Bertvizs代码库本身,其说明也已更新为:“可视化注意力权重揭示了模型内部的一种架构,但不一定能为预测提供直接的解释。”

上一节我们提到了注意力机制在解释性上的局限性。本节中,我们来看看更直接的替代方法。

如果你希望更直接地理解输入文本如何影响输出预测,可以考虑使用显著性方法。

在2019年,Jane和Wallace发表了一篇题为《注意力不是解释》的论文,加剧了这场辩论。

随后在2019年晚些时候,Wegriff和Piter发表了另一篇论文进行反驳,标题同样是《注意力不是解释》。
这场辩论成为了可解释人工智能领域中“房间里的大象”(指显而易见却被忽视的问题)。它甚至催生了一篇专门的论文。
具体来说,是谷歌研究院在2020年发布的一篇题为《可解释性房间中的大象:既然我们有显著性方法,为何还要用注意力作为解释?》的论文。该论文分享了不应将注意力用于可解释性的理由。
解释的目标是揭示哪些输入词对最终预测最重要。
根据2019年的一篇论文,注意力权重通常与基于梯度的特征重要性度量不相关。
另一篇论文表明,通常可以找到一组完全不同的注意力权重,却能产生相同的预测结果。
2019年发表的另一项分析指出,当修改注意力权重时,它们往往无法识别出对模型预测最重要的那些表征。
而一篇2020年的论文得出结论:人们无法在保持所有其他变量不变的情况下干预注意力权重。
随着辩论的持续,承认使用注意力机制进行XAI的所有局限性至关重要。那么,有哪些替代方案呢?

在本节课中,我们一起学习了关于使用注意力机制进行模型解释的争议。核心观点是:注意力权重不等于模型解释。虽然可视化注意力有助于理解模型架构,但它与基于梯度的显著性方法等指标关联性弱,且存在多种权重能导致相同预测,因此其作为解释工具的可靠性存疑。对于寻求更直接因果解释的场景,建议考虑转向显著性方法等其他技术。
074:显著性映射替代方法

在本节课中,我们将学习几种可以替代注意力机制、用于解释模型预测的显著性映射方法。我们将重点介绍三种主要方法:基于梯度的方法、基于传播的方法和基于遮挡的方法。
概述
上一节我们讨论了使用注意力权重进行解释的局限性。本节中,我们将探讨几种被推荐作为注意力机制替代方案的显著性映射方法。这些方法通过量化每个输入特征对特定模型预测的贡献程度,来提供更具解释性的洞察。
显著性映射方法简介
显著性映射方法旨在揭示模型做出某个特定预测的原因,其方式是评估每个输入特征(例如文本中的单词)对该预测的相关性。这使得它们比备受争议的注意力可视化更具可解释性。
以下是论文中推荐的几种替代方法:
- 基于梯度的方法:例如积分梯度。
- 基于传播的方法:例如逐层相关性传播。
- 基于遮挡的方法。
积分梯度法
积分梯度法于2017年被提出。其定义为:沿着从基线输入 x' 到实际输入 X 的直线路径,对梯度进行路径积分。
具体而言,我们考虑从基线 x' 到输入 X 的直线路径,并计算该路径上所有可能点的梯度。积分梯度通过累积这些梯度得到。在下图中,绿色的路径P2即对应积分梯度所使用的线性路径。
公式:积分梯度(x_i) = (x_i - x'_i) × ∫_{α=0}^{1} (∂F(x' + α(x - x')) / ∂x_i) dα
其中,∂F(x)/∂x_i 是函数 F(x) 沿第 i 个维度的梯度。
实践步骤
在实践中,实现积分梯度遵循以下过程:
- 选择基线:选择一个代表“特征缺失”的基线输入。例如,如果输入是图像,基线可以是一张所有像素值都为零的图像。
- 生成插值输入:在基线
x'和实际输入X之间创建一系列插值输入,通常使用线性路径。 - 计算梯度:对每个插值输入
x_i,计算模型输出相对于该输入的梯度。这告诉我们x_i处的每个输入特征对输出的影响程度。 - 平均梯度:对所有插值输入的梯度进行平均。这个平均梯度代表了每个特征从基线到实际输入路径上的贡献。
- 按输入差值缩放:将每个平均梯度乘以实际输入与基线之间的差值。这可以缩放梯度贡献,以反映实际输入特征。

应用示例

上图展示了使用积分梯度法对糖尿病视网膜病变分级预测(基于视网膜图像)进行归因分析的结果。左侧是原始图像,右侧是将归因(显著性)叠加在原始图像上的效果。可以看到,原始图像中标注的病变区域,确实在基于积分梯度的归因图中显现出来。

更多图像及其积分梯度可视化结果(中间列)如下所示:



逐层相关性传播法
另一个可考虑用于替代可解释性注意力的显著性方法是逐层相关性传播,于2019年提出。LRP是一种将神经网络对样本的预测分解为该样本单个输入维度相关分数的方法。
LRP的过程很直观:
- 首先进行前向传播,获得输出(即顶层相关性)。
- 然后使用一个定制的反向传播过程,在每一层将传入的相关性重新分配给该层的输入。
- 相关性被不断重新分配,直到抵达输入层。每种层类型(例如前馈层、LSTM层)都有其自己的传播规则。
LRP的一个优势在于你可以对方法进行精确的控制。
下图展示了对错误分类的句子1、2以及人工构建的句子1A、1B、1C、2A、2B、2C生成的热力图。预测类别被用作可视化的目标类别,因此对预测重要的单词可以被高亮显示。

基于遮挡的方法
本模块将介绍的最后一个显著性方法是基于遮挡的方法,于2017年提出。该方法通过遮挡或擦除输入特征,并测量对模型的影响来计算输入显著性。
你可以擦除表征的不同部分,例如:
- 输入词向量的维度
- 中间隐藏单元
- 输入单词本身
原始论文中的下图展示了针对不同训练策略和词向量(Word2Vec和GloVe)的词向量维度重要性。

另一张图则展示了在不同模型架构下,情感分析任务中的单词重要性。
总结

本节课中,我们一起学习了三种用于解释模型预测的显著性映射替代方法:积分梯度法、逐层相关性传播法和基于遮挡的方法。这些方法通过量化输入特征对预测的贡献,提供了比单纯可视化注意力权重更可靠、更深入的解释视角。除了今天介绍的方法外,还有其他显著性方法可用于基于注意力的网络,并且新的方法和技术目前仍在不断研究中。
075:大语言模型可解释性挑战

在本节课中,我们将探讨大语言模型(LLM)可解释性所面临的独特挑战,并介绍该领域的一个基本分类框架。我们将了解为何解释这些庞大模型如此困难,并为后续学习微调、提示工程以及知识增强等具体解释方法奠定基础。

我们将主要依据Zotal在2023年提出的大语言模型可解释性分类框架进行讨论。
我们的讨论将主要围绕微调和提示工程中的可解释性展开,并会涵盖此处展示的多种解释方法。
除了微调和提示工程,我们还将讨论可解释性与LLM知识增强(或称检索增强生成,RAG)的关系。
在深入具体方法之前,有必要先探讨将可解释性方法应用于大语言模型所面临的一些根本性挑战。
以下是解释大语言模型时遇到的主要困难:
- 模型规模与复杂性:像GPT-4这样的大语言模型,其参数量可能达到万亿级别,这使得追溯其推理过程变得几乎不可能。它们学习到的是高维、分布式、相互纠缠且抽象的表示。
- 缺乏基准真相:对于模型的内部决策过程,通常不存在明确的“正确答案”,这使得设计能准确反映LLM决策过程的解释算法非常困难。这也让评估解释的忠实度和保真度极具挑战性。
- 模型不透明:许多LLM缺乏透明度,关于其模型架构、权重和训练数据的文档不足,这为开发可解释性方法设置了障碍。
在开始之前,需要特别说明一点:大语言模型的可解释性是一个新兴且快速发展的领域。
这意味着当前的学习材料可能在六个月后就会过时。我希望能随着新研究的发表不断更新本课程。然而,我必须提醒你,这并非关于可解释LLM的终极真理来源,它仅仅是该领域当前进展的一个快照。
作为你在可解释人工智能领域持续学习的一部分,我鼓励你阅读最新的论文,并随时跟进关于LLM可解释性的不断变化的观点和视角。

本节课中,我们一起学习了为何大语言模型的可解释性充满挑战,主要原因包括其巨大的规模与复杂性、内部决策缺乏基准真相以及模型本身的不透明性。我们还了解了这是一个快速演进的领域,需要持续关注最新研究。在接下来的章节中,我们将基于此背景,深入探讨在微调、提示工程和知识增强等具体场景下应用可解释性方法的技术。
076:大语言模型微调可解释性

在本节课中,我们将要学习大语言模型(LLM)微调过程中的可解释性方法。我们将探讨如何解释经过微调的模型,理解其决策背后的原因,并区分局部解释与全局解释。

概述:大语言模型微调回顾
首先,我们回顾一下大语言模型的微调过程。在LLM微调中,一个大型基础模型(通常参数量超过10亿)首先在无标签的语料库上进行预训练。随后,它会在一个较小的、带有标签的数据集上,或通过人类反馈强化学习(RLHF)进行微调。

这个过程可以用下图来可视化。我们使用大规模文本语料库对基础模型(如Llama 2)进行无监督预训练。基础模型通常不擅长生成令人满意的回答。为了获得能提供有用结果的模型,通常需要进行某种形式的微调。我们使用一个较小的微调数据集,对基础模型进行监督微调和/或人类反馈强化学习,从而创建出我们的助手模型,如Llama 2 Chat。
🧩 局部解释与全局解释
我们可以将LLM微调中的解释分为局部解释和全局解释。局部解释旨在解释一个特定的预测或一组预测,而全局解释则试图提供对整个模型的全局性理解。
我们将讨论的局部解释方法包括:
- 特征归因
- 基于注意力的解释
- 基于实例的解释
- 自然语言解释

我们将讨论的全局解释方法包括:
- 基于探针的解释
- 神经元激活解释
- 基于概念的解释

如果你计划学习本专项课程中的可解释机器学习课程,我们将详细讲解其中的许多方法。

上图来自Chow等人的研究,它精彩地分解了我们的局部解释方法。接下来,让我们深入细节。
🔍 局部解释方法详解
特征归因
目前,解释LLM可解释性主要有四种特征归因方法。
以下是四种主要方法:
- 基于扰动的解释:通过移除、掩码或改变输入特征(可以是嵌入向量、隐藏单元、单词或标记)来扰动输入样本,然后评估模型输出的变化。
- 基于梯度的解释:通过分析输出相对于每个输入维度的偏导数来确定每个输入特征的重要性。导数的大小反映了输出对输入变化的敏感度。在LLM中,积分梯度是基于梯度解释的主要方法。
- SHAP:我们在XAI方法概述中简要讨论过SHAP。Gen等人在2023年将SHAP适配到基于Transformer的语言模型。TransSHAP主要侧重于将SHAP适配于子词文本输入,并提供序列可视化解释。
- 基于分解的方法:分解技术旨在将相关性分数分解为输入的线性贡献。逐层相关性传播(LRP)就是这种方法的一个例子。
基于实例的解释
上一节我们介绍了特征归因,本节中我们来看看基于实例的解释。这类方法通过具体的例子来说明模型的决策。
以下是两种主要类型:
- 反事实解释:揭示如果观察到的输入发生某些特定变化,预测结果会如何改变。
- 影响力实例:通过衡量单个训练样本对测试点损失的影响程度,来刻画其影响力。

我们今天将涵盖的主题包括对抗性示例和自然语言解释。
对抗性示例


神经网络模型非常容易受到输入数据中精心设计的微小修改的影响,这些修改可以极大地改变模型的预测,尽管这些修改对人类来说几乎无法察觉。这些被称为对抗性示例。对抗性示例暴露了模型失败的领域,并在训练中被用来提高模型的鲁棒性和准确性。


早期的对抗性示例生成侧重于词级操作,如错误、移除和插入。更先进的方法,如Jin等人在2020年提出的TextFooler,则基于词嵌入和语义相似性,策略性地扰动重要词汇。

大语言模型中对抗性示例的最新方法,利用掩码语言模型,并采用“掩码-填充”过程进行标记级扰动,如替换、插入和合并。最近,Wang等人在2022年提出的一种名为SEA的方法,提出了一个更通用的框架,直接在嵌入空间(如知识和上下文语义)上操作。它迭代地优化扰动后的嵌入以满足攻击目标。SEA攻击的可视化如下表1所示,将一个蓝色词替换为红色的对抗性词,误导了正确预测到错误类别,但不会欺骗人类。

自然语言解释
我们将讨论的最后一个局部解释方法是自然语言解释。这种方法通过生成的文本来解释模型对输入序列的决策过程。其思路是使用原始文本数据和人工标注的解释来训练一个语言模型。
最近,这种方法已被应用于各种数据集和任务。如上表(来自Luo等人)所示,2019年的一篇论文引入了常识解释数据集(COSE),并用它来训练语言模型自动生成解释,这些解释可用于训练和推理。类似地,2022年的一项更新研究探讨了自然语言解释的少样本域外迁移学习,即从拥有大量自然语言解释的父任务迁移到子任务。
🌐 全局解释方法详解
现在我们来讨论全局解释。基于概念的解释允许我们将输入映射到一组概念,并衡量每个预定义概念对模型预测的重要性分数。测试概念激活向量就是这种方法的一个例子。
在可解释LLM微调中使用的两种全局解释——基于探针的解释和神经元激活解释——将是我们接下来要详细探讨的主题。
基于探针的解释
在基于探针的解释中,我们可以查看基于分类器的探针或无参数探针。
在基于分类器的探针中,过程如下:
- 冻结LLM参数。
- 从LLM生成表示。
- 在这些表示上训练一个浅层分类器,以预测语言属性。
如果你在探测句法,你关注的是词性、形态或依存关系等。或者,如果你在探测语义,你检查的是共指、实体和关系。
无参数探针直接在定制的数据集上评估LLM,而无需使用分类器。
需要注意的是,与许多方法一样,探针的有效性在研究人员中存在争议。高性能可能并不意味着LLM真正理解了语言。
神经元激活解释
神经元激活分析检查的是单个神经元或维度,而不是整个向量空间。它涉及两个步骤:一,识别重要神经元;二,学习语言属性与神经元之间的关系。
缺乏真实标注使得评估组件级解释具有挑战性。

上图展示了一个神经元激活解释的例子,它观察了GPT-2第五层第131个神经元的激活可视化。
神经元激活解释的过程如下所示:
- 以无监督方式识别重要神经元。这涉及基于相关性测量、学习权重或使用监督分类方法等指标对神经元进行排序。
- 在监督任务中,学习语言属性与单个排序神经元之间的关系。
- 然后,通过消融实验(如掩码和擦除)定量验证排序后神经元的重要性。
- 使用LLM生成自然语言解释,总结触发给定神经元高激活的文本模式。
- 最后,通过测试这些自然语言解释能让模型在新测试示例上多好地模拟真实神经元的激活行为,来评估解释的质量。
总结

本节课中,我们一起学习了与大语言模型微调相关的可解释性技术。我们首先回顾了微调过程,然后区分了局部解释(如特征归因、对抗性示例)和全局解释(如探针分析、神经元激活分析)。理解这些方法有助于我们洞察微调后模型的决策机制,评估其可靠性,并为进一步改进模型提供方向。
077:大语言模型提示工程的可解释性
在本节课中,我们将要学习大语言模型提示工程的可解释性。我们将回顾提示工程的基本概念,并深入探讨两种关键的提示方法——上下文学习和思维链——的可解释性研究。最后,我们还将讨论大语言模型面临的不确定性挑战以及相关的评估方法。
提示工程回顾


提示工程是指在不改变模型参数的前提下,通过策略性地设计自然语言的任务特定指令来引导模型输出的过程。
提示通常包含三个部分:指令、上下文和用户输入。这些部分共同用于引导预训练大语言模型的输出。

Prompt = 指令 + 上下文 + 用户输入


提示工程包含多种方法,上图展示了Sahuitel等人2024年论文中概述的部分方法论。
在可解释性的语境下,我们将重点讨论两种提示方法:上下文学习和思维链。
上下文学习的可解释性
上下文学习是指将任务示例作为提示的一部分展示给模型,使其能够从示例中学习并执行任务。
当我们思考上下文学习的可解释性时,核心问题是:上下文学习如何影响模型的行为?
为了回答这个问题,近期研究主要依赖于以下几种方法:
- 对比示例:创建与原始示例形成对比的样本。
- 输入文本扰动:对输入文本进行微小的修改。
- 标签翻转:将示例中的正确标签替换为错误标签。
- 语义无关标签:使用与任务语义无关的标签。

以下是相关研究的示例:
Lee等人在2023年的研究中,使用SST-2情感分析基准任务,通过分析对比示例和显著性图谱来解释上下文学习在LLM中如何工作。他们通过翻转标签、扰动输入文本和添加补充解释来构建对比示例。
- 标签翻转提示:在演示中将正面情感标签改为负面,或反之。
- 输入扰动提示:轻微修改演示中的输入句子。
- 补充解释提示:为演示添加额外的解释性文字。


Wei等人在2023年的研究则通过调查两种设置来解释上下文学习受语义先验与输入-标签映射的影响:
- 使用翻转标签的上下文学习。
- 使用语义无关标签的上下文学习。
该研究还展示了“重映射输入”的概览,即将词语映射到其他词语,以降低输入的语义意义。


思维链提示的可解释性
思维链提示涉及引导模型描述其推理过程,并逐步解决问题。
对于思维链提示的可解释性,我们提出类似的问题:思维链提示如何影响大语言模型的行为?
近期研究通过探索以下方面来回答这个问题:
- 显著性分数:衡量每个输入标记对模型输出的影响程度。
- 扰动:对思维链示例进行修改。
- 反事实分析:构建与事实相反的假设场景。

一个典型的思维链提示结构包含:问题(Q)、思考(T) 和 答案(A)。

以下是具体的研究方法:
Woo等人在2023年分析了输入标记的显著性分数,旨在理解与标准提示相比,思维链提示是否会改变显著性分数,或者说,思维链为何能提升模型性能。
2022年的多篇论文通过向少样本提示中的思维链演示添加错误来进行扰动,以确定哪些方面对于生成好的解释至关重要。其中,Madaan等人的一篇论文还提出了反事实提示,用于扰动提示中的关键组件,如符号、模式和文本。

大语言模型的不确定性挑战
不确定性是当前大语言模型面临的一个重大挑战。尽管大语言模型在生成类人文本方面能力出众,但它们可能表现出过度自信,即使在训练数据不完整或模糊时,也会提供高度确定的回答。这种不确定性量化的缺失可能导致潜在风险,例如传播错误信息或基于不可靠的输出做出关键决策。解决这个问题对于构建可信赖的AI系统至关重要,尤其是在医疗保健、金融和决策制定等高风险领域。
目前有两种主要的方法来评估大语言模型的不确定性:
1. 基于一致性的不确定性估计
Xi Yong等人在2024年的论文中提出,通过生成对同一问题的多个回答,并利用这些回答之间的一致性来估计模型的置信度。他们通过两种方式引入随机性以产生多样化的回答:
- Self-Consistency:在答案生成过程中引入随机性。
- 诱导一致性:在提示中添加误导性暗示。
其核心思想是,如果一个微调后的大语言模型在多次回答中表现得更一致,那么它对答案的估计置信度就更高。
2. 基于标记级别的不确定性估计
Dwent等人的论文研究了标记级别的不确定性。主要概念是:大语言模型通过预测每个标记来生成文本。标记级别的不确定性方法根据每个预测标记的概率分布计算其置信度分数,整体不确定性可以基于标记级别不确定性的聚合来估计。


关于直接询问模型置信度的思考
你可能会问:我们能否直接要求一个大语言模型告诉我们它对答案有多自信?
答案很可能是否定的。尽管有研究框架被提出(例如Lee等人在2024年提出的让LLM为其置信度提供理由,而非简单地要求模型给出置信度的天真方法),但仍需考虑以下几点:
- 当前的大语言模型经常产生“幻觉”,并且不知道它们不知道什么,或者训练数据之外的信息。它们极有可能凭空编造。
- 很难将这种自我报告的置信度映射到任何真实的度量上。
虽然尝试理解模型自认为对答案有多自信可能是一个有趣的研究方向,但这本身并不是一种可解释人工智能的方法。

总结

本节课中,我们一起学习了大语言模型提示工程的可解释性。我们首先回顾了提示工程,然后分别探讨了上下文学习和思维链提示的可解释性研究方法,包括使用对比示例、扰动和显著性分析等技术来理解提示如何影响模型行为。最后,我们讨论了大语言模型面临的不确定性挑战,并介绍了基于一致性和标记级别的评估方法,同时指出直接询问模型置信度目前并非可靠的可解释性途径。理解这些机制对于开发更可靠、更透明的人工智能系统至关重要。
078:知识增强可解释性(RAG)📚

在本节课中,我们将要学习大语言模型中的知识增强技术,特别是检索增强生成。我们将首先定义知识增强,然后深入探讨RAG的工作原理、应用及其在可解释人工智能中的作用。最后,我们将探索如何通过可视化技术来提升RAG系统的可解释性。
定义知识增强
在深入探讨大语言模型中的知识增强之前,我们首先需要定义知识增强。

我们将讨论一种特定类型的知识增强,称为检索增强生成,简称 RAG。RAG是大多数定制化聊天机器人的工作原理,例如右侧截图中展示的Scionic聊天机器人。它在搜索领域也有应用,正如本幻灯片底部截图所示的Rent the Runway AI搜索功能所示。如果你使用过OpenAI的助手API,它也是其基础。

我们将首先定义RAG,讨论其在可解释人工智能中的应用,然后探索RAG中的可解释性。
RAG流程解析
这是检索增强生成的流程。我们将逐一分解其中的每个组成部分。

回顾嵌入技术
让我们先退一步,回顾一下嵌入技术。正如我们在本模块开始时讨论的,我们将人类可理解的信息(如语言和图像)转换为机器可以理解的数字。
实现这一点的一种方法是获取大量数据,并找出在语义和上下文上相似的概念何时会彼此接近。例如,在“河岸”语境中的“bank”一词,在语义上应更接近“shore”和“riverside”。而在“在银行存钱”语境中的“bank”一词,在语义上应更接近“金融机构”。
我们本质上希望提取这些概念,并将它们压缩成一个固定长度的向量或一系列数字,以代表所有这些信息。
嵌入的核心概念
嵌入是一种将文本信息转换为实数向量的方法,能够捕捉数据的语义和句法方面。它们捕捉语义关系,使得具有相似含义的单词能够拥有相似的表示。
嵌入的关键特性包括:
- 降维:它降低了数据的复杂性。
- 语义捕捉:它根据单词的使用和上下文对含义进行编码。
- 距离度量:你可以使用相似性度量,而语义相似性通常与向量空间中的接近程度相关。
嵌入被映射到一个多维空间中,我们称之为嵌入空间或潜在空间。
在这张图片中,你可以看到一个多模态嵌入空间,其中来自大型图像数据集的大量标题使用一个名为CLIP的多模态嵌入模型进行了嵌入,并使用一种我们稍后会介绍的名为UMAP的方法进行了可视化。有趣的是,图片右侧显示了人工标记的概念簇,如“人物”和“服装”,底部是“住房”,右侧是“地点”,顶部附近是“艺术”和“动物”。从1200万个嵌入的标题中提取的一些概念包括“厨房”和“餐厅”,它们在多维嵌入空间中彼此接近。
RAG流程:向量数据库
我们RAG流程的第一个概念利用了嵌入技术。
向量数据库是存储向量嵌入的地方。通常,你会获取一堆非结构化数据(如PDF、图像或视频),并使用一个嵌入模型将数据的某些部分转换为向量嵌入。
这里我使用Rent the Runway的一个例子,他们时尚数据库中的每个商品都被嵌入为一个向量。需要注意的一点是,嵌入模型决定了你的向量长度或维度数量。例如,OpenAI的text-embedding-ada-002嵌入模型的向量长度为1536。
RAG流程:用户查询嵌入
我们RAG流程的下一个组成部分同样在用户提问时使用嵌入技术。用户的查询文本被转换为向量嵌入,使用的嵌入模型与创建向量数据库时使用的模型相同。
例如,如果我的用户查询是“黑色皮靴”,这个查询将使用我的嵌入模型进行嵌入,我将得到一个代表该查询的向量嵌入。
RAG流程:连接与生成
现在我来连接这些部分。我使用一个相似性算法将用户查询嵌入与我的向量数据库进行匹配。
相似性算法用于在向量数据库中查找与用户查询最接近的匹配项。你可以在这里使用任何距离度量,例如欧几里得距离。然而,大多数构建RAG流程的人使用余弦相似度。余弦相似度具有尺度不变性,因此无论向量大小如何,它都能测量向量的相似性。由于它关注的是角度而非绝对距离(绝对距离可能受到维度诅咒的影响),它更适合高维空间,并且具有可解释性,因为其值被限定在-1和1之间。
现在,我们只需要将一个大语言模型重新引入循环,以完成我们RAG流程的生成部分。
总结一下RAG:
- 你有一个通过嵌入非结构化数据创建的向量数据库。
- 你有一个用户查询,它也使用与创建向量数据库相同的嵌入模型进行了嵌入。
- 你使用一个相似性算法来查找向量数据库中的条目与用户查询之间的最接近匹配项。
- 这些最接近的匹配项随后被整合到你的提示中,并发送给大语言模型。
- 大语言模型生成对用户查询的响应,并将此响应发送回用户。
当然,这是一个非常简单的例子。一些RAG流程具有更智能的代理结构,其中大语言模型在循环中做出明确决策;一些拥有多个数据库;还有一些包含重新排序算法,用于对相似性算法的结果进行重新排序,以改进输入到大语言模型生成部分的匹配项。
RAG与可解释性
虽然RAG本身并非天生具有可解释性,但它通过来源追溯为用户提供了洞察力,让他们了解支撑大语言模型响应的知识库。这使用户能够验证事实准确性,理解模型的推理过程,并确信生成的内容是基于真实世界数据,而非纯粹的幻觉。
这种透明度可以培养信任,并使大语言模型的强大能力更易于理解和应用。
提升RAG的可解释性
此时,你可能会想,有哪些方法可以提升RAG系统本身的可解释性?一种方法是通过可视化使嵌入空间更具可解释性。我们已经在嵌入技术的幻灯片上看到了一个例子,那里我展示了使用CLIP嵌入的图像标题的可视化。
可视化潜在空间
在深入可视化潜在空间之前,我们先快速回顾一下。我们熟悉简单的二维图,可以取一个点并将其映射到空间中。这个点有两个维度:X和Y。也许我们可以想象一个像这里展示的三维图,我们可以绘制一个具有三个维度(X、Y和Z)的点。
现在想象绘制一个具有100个或更多维度的向量。这个映射概念的多维空间被称为嵌入空间或潜在空间。潜在空间的一个有趣之处在于,只要我们有将它们连接在一起的数据集(例如来自互联网的大量图像和标题数据集),我们就可以将不同的信息源(如文本和图像)映射到同一个潜在空间。
然而,如果我们连理解像这里展示的这种三维图中的关系都感到困难,那么想象一下,要理解复杂概念和多模态数据之间的语义和上下文关系对我们来说是多么困难。
降维可视化方法
那么,我们如何可视化具有如此多维度的潜在空间呢?我们能否对潜在空间做出任何有意义的解释?有几种通常用于可视化的降维方法,我们可以利用它们来可视化嵌入。这些方法是:t-SNE投影、PCA和UMAP。
让我们简要总结一下这些可视化潜在空间的方法。你将在阅读和后续讨论中探索这些方法,这将是一次使用TensorFlow的Embedding Projector工具进行的探索。
以下是每种方法的简要介绍:
- 主成分分析:其重点是捕捉数据中的全局线性关系。你应该使用PCA来简化和发现数据中的全局线性关系和模式。
- t-分布随机邻域嵌入:这涉及构建一个低维表示,其中相似的数据点被放置得更近。你应该使用t-SNE来强调可视化,揭示局部模式和聚类。
- 均匀流形近似与投影:UMAP使用流形学习(一种非线性降维技术)来理解数据的底层结构或形状。它专注于捕捉数据中复杂的非线性关系。你应该使用UMAP来保留局部结构并处理复杂的非线性关系。
总结

在本节课中,我们一起学习了知识增强可解释性,特别是检索增强生成技术。我们首先定义了RAG并解析了其工作流程,包括向量数据库的创建、查询嵌入、相似性匹配以及大语言模型的生成。接着,我们探讨了RAG如何通过来源追溯为系统提供一定程度的可解释性。最后,我们介绍了通过PCA、t-SNE和UMAP等降维可视化技术来进一步理解和解释嵌入空间的方法,从而提升整个RAG系统的透明度和可信度。
079:生成式计算机视觉的可解释性

在本节课中,我们将探讨生成式计算机视觉模型(如生成对抗网络和扩散模型)的可解释性。这些模型虽然能力卓越,但其内部运作机制复杂且不透明,理解其行为面临独特挑战。我们将介绍解释其行为的重要性、面临的挑战以及该领域的发展现状。
生成式模型的挑战 🎨
上一节我们介绍了可解释性的基本概念,本节中我们来看看生成式计算机视觉模型特有的解释难题。像生成对抗网络和用于图像生成的扩散模型这类生成式计算机视觉模型已经取得了显著的能力,但解释它们的行为却带来了独特的挑战。尽管它们的性能令人印象深刻,但这些模型极其复杂且不透明,使得它们难以被解释。
基础扩散模型的庞大规模和复杂性使得追踪其推理过程变得难以处理。它们学习到的是高维、分布式、相互纠缠且抽象的表示。对于扩散模型和生成对抗网络而言,不存在清晰的输入-输出映射或决策边界。
生成过程与潜在空间 🔍
理解了挑战所在后,我们来具体看看这些模型是如何工作的。通过扩散过程生成图像始于随机噪声。模型在其潜在空间中学习图像或文本等高维数据的复杂分布。我们稍后会详细讨论潜在空间。这使得模型能够生成与基于文本或图像的输入相一致的图像。这个过程在下图中展示。

可解释性的重要性 ⚖️
既然我们了解了生成过程,那么为什么解释这些模型如此重要呢?随着图像生成模型被更广泛地使用,解释其行为的能力变得愈发重要。随着图像生成模型变得越来越强大并被广泛采用,出于以下几个原因,解释和理解其行为的能力变得至关重要:
以下是几个关键原因:
- 透明性与问责制:这些模型可以生成高度逼真和富有创意的图像,但其内部运作通常是“黑箱”。可解释人工智能技术有助于揭示生成图像背后的推理过程,促进透明度和问责制,这对于建立对这些系统的信任至关重要。
- 偏见与公平性:与其他人工智能模型一样,图像生成器可能会延续其训练数据中存在的社会偏见,或从互联网资源中继承不良偏见。可解释性方法有助于识别和缓解这些偏见,促进技术的公平和负责任使用。
- 创意控制与迭代:解释模型如何解读提示并生成特定视觉元素,可以使艺术家和创作者能够优化他们的提示词,尝试不同的方法,并更有效地实现他们期望的艺术愿景。
- 安全与伦理考量:随着这些模型生成高度逼真且潜在有害内容的能力增强,可解释性有助于识别和降低风险,例如生成露骨或非法内容、深度伪造或其他滥用行为。
- 模型改进:从可解释性技术中获得的见解可以通过揭示模型架构、训练数据或优化目标中的优势、弱点和改进领域,来指导开发更好的图像生成模型。
领域现状与学习建议 📚
在深入具体方法之前,有一点需要特别注意。生成式计算机视觉的可解释性是一个新兴且快速发展的领域。这意味着这些材料可能在六个月后就过时了。我希望随着新研究的发表不断更新本课程。然而,我需要提醒你,这不是关于可解释图像生成的全部真理来源。它仅仅是该领域当前进展的一个时间戳。
作为你在可解释人工智能领域持续教育的一部分,我鼓励你阅读最新的论文,并跟上关于生成式计算机视觉可解释性不断变化的思维方式和观点。

总结

本节课中,我们一起学习了生成式计算机视觉模型可解释性的核心内容。我们认识到,尽管生成对抗网络和扩散模型等生成式模型功能强大,但其“黑箱”特性带来了独特的解释挑战。我们探讨了可解释性对于确保模型透明度、公平性、安全性和促进创意控制等方面的重要性。最后,我们了解到这是一个快速演进的领域,需要持续关注最新研究以保持知识的更新。
080:生成对抗网络可解释性 🧠

在本节课中,我们将学习生成对抗网络的基本原理,并探讨如何为GAN模型提供可解释性。我们将回顾GAN的核心概念,并介绍几种理解其内部工作机制的方法。
GAN快速回顾 🎯

生成对抗网络巧妙地运用了博弈论思想,让两个神经网络相互对抗。一个生成器模型将随机噪声转换为合成图像,同时存在一个包含真实图像的训练集。合成图像和来自训练集的真实图像都会被输入到一个简单的分类模型——判别器中,判别器试图判断哪些图像是假的,哪些是真的。
生成器和判别器模型被一起训练。它们的训练方式是零和的。当判别器的预测正确时,生成器模型会受到惩罚。当生成器成功欺骗了判别器时,判别器模型会受到惩罚。在极限情况下,生成器每次都能生成输入域的完美复制品,而判别器则无法区分,对每个案例预测真假的可能性均为50%。
生成器模型详解 🏗️
生成器的输入是一个从简单分布(如高斯分布或均匀分布)中采样的、固定长度的随机噪声向量。这是生成器用来产生多样化输出的随机性来源,其维度通常远小于期望的输出维度。
输入噪声通过网络中的一系列层进行传递,这些层将噪声转换为类似于训练数据的数据样本。这些层可以是卷积层、全连接层或其组合。我们将模型学习到的表示称为潜在空间,因为它们旨在捕捉训练数据的底层分布,最终输出是一个合成的数据样本。

我喜欢从嵌入的角度来思考生成器模型的流程。首先,从一个无意义的嵌入开始,然后生成器将这个无意义的嵌入转换或映射成一个代表训练数据的嵌入。输出是一个对应真实数据样本的嵌入。最后,该嵌入被解码成数据样本,理想情况下,这些样本能代表训练集中的真实示例,以欺骗判别器模型。

判别器模型简介 🕵️
判别器模型很简单。它是一个二元分类器,试图判断输入图像是真实的还是伪造的。我们只在训练过程中使用判别器,训练完成后通常会将其丢弃。
GAN的可解释性方法 🔍
上一节我们回顾了GAN的基本原理,本节中我们来看看如何为GAN提供可解释性。

以下是几种主要的GAN可解释性方法。
网络剖析
Bau等人通过将网络剖析方法与分割网络结合,展示了其在GAN中的应用。他们能够回答一些有趣的问题:网络是否学习了与有意义概念匹配的内部神经元?这些神经元集合是否仅仅与物体相关?或者GAN是否使用这些神经元来推理物体?能否通过操纵因果神经元来改进GAN的输出?
这张图应该看起来很熟悉。如果不熟悉,请回顾“解释神经网络”讲座中的网络剖析部分。这里唯一的区别是增加了分割组件。

你可以使用网络剖析对GAN进行扰动操作。神经元可以被直接激活和停用。这使得研究作者能够识别并抑制那些导致图像生成错误的神经元。
潜在空间降维与可视化
如果你看过“大语言模型中的可解释人工智能”讲座,你会记得我们讨论了用于可解释性的潜在空间降维和可视化。这种方法也可以应用于图像生成。
Härkönen等人将主成分分析应用于GAN的潜在空间,发现它给出了具有语义意义的方向。这意味着,在GAN特定层的这些方向上扰动输入,会导致生成图像属性的可解释性编辑。你可以在论文的图中看到这一点,这是一个二维示意图,展示了一个名为BigGAN的GAN模型的主激活方向。随机采样潜在向量并转换为激活。这里显示的PC方向V是从这些样本中计算出来的,然后PC坐标被计算回潜在空间。方向U通过从Z_j到X_j的回归计算得出。
这是一个非常酷的技术,因为它是无监督的,所以你不需要像许多其他可解释性技术那样需要带标签的数据。
以下是一些来自Härkönen等人的图像。该图显示了使用他们方法在三个不同GAN模型上发现的控件进行图像编辑的序列。初始图像在左侧,使用潜在空间引导的扰动更新了各种特征。
在该图中,第1至2行说明了GAN模型StyleGAN2中间潜在空间中最大的主成分。它们涵盖了人像摄影中预期的主要变化,包括感知性别和头部旋转。
潜在空间引导的属性编辑

Shen等人也进行了潜在空间引导的扰动,并将其应用于在图像生成过程中专门编辑人脸。与之前使用PCA的方法不同,这篇论文训练线性模型(支持向量机)来寻找潜在空间中对应于不同二元属性(如年龄和姿态)的分离超平面子空间。
该图显示了通过改变GAN模型的潜在代码来操纵图像生成的结果。每一列都展示了操纵特定属性的结果。
以下是他们使用的过程。首先,在带标签的数据上训练独立的线性SVM,以在潜在空间中对每个二元属性进行分类。SVM决策超平面的法向量代表了潜在空间中与该属性对应的方向。然后,使用潜在代码与属性方向法向量的点积来衡量该属性存在的强度。接下来,通过沿着相应属性法向量的正方向或负方向移动潜在代码来操纵属性。最后,通过减去在其他属性方向上的投影来执行条件操纵,以解耦纠缠的属性。该过程的示意图在此处的图2中显示,展示了子空间中的条件操纵。N1在N2上的投影被从N1中减去,从而产生图中以黑色显示的新方向。
将局部解释集成到GAN训练中
我们还可以将局部解释集成到GAN的训练中,正如Nagi等人于2022年首次展示的那样。他们将显著图、LIME以及一种称为Deep SHAP的SHAP变体集成到他们的GAN模型中,他们称之为XAI-GAN。
这些模型产生的解释被转换为一个解释矩阵M。对于示例中的每个特征(例如,输入图像中的一个像素),在矩阵M的相应单元格中分配一个0到1之间的值。如果一个特征(更准确地说,是M中对应的单元格)被赋值为0或接近0,则意味着该像素对判别器D做出的分类决策没有影响。如果一个特征被赋值为1或接近1,则该特征非常重要。这可能是因为该特征对D的分类具有决定性作用,或者因为它损害了D的分类,具体来说,如果该特征被改变,那么D对其分类的置信度将会提高。
XI系统生成的矩阵M随后被用于改进的梯度下降算法中,以更新生成器的权重。传统上,生成器的权重是通过首先计算生成器输出相对于损失的梯度,然后应用链式法则来修改的。作者修改了这个算法,首先通过XAI系统计算解释矩阵M,然后计算M与生成器输出相对于损失的梯度之间的乘积。这意味着解释矩阵M被用来对梯度函数进行加权。因此,在梯度下降过程中修改生成器权重时,会考虑进入判别器分类的像素的重要性。

图像生成质量评估指标 📊
在讨论图像生成中的XAI时,你可能会在XAI技术评估中看到图像质量评估指标的出现。最常见的是初始分数和弗雷歇初始距离。

初始分数的计算方式是将生成的图像输入到一个预训练的初始模型(一个用于图像分类的卷积神经网络)中,然后计算生成图像的边际类别分布与分类器给出的条件类别分布之间的KL散度。初始分数越高,表示图像质量和多样性越好。

弗雷歇初始距离衡量的是真实图像分布与生成图像分布在特征空间中的相似性。FID的计算方式是计算真实图像和生成图像的特征表示(通常从预训练初始模型的中间层获得)之间的弗雷歇距离。FID分数越低,表示分布之间的相似性越高,生成的图像质量越好。
总结 📝





本节课中我们一起学习了生成对抗网络的基本原理及其可解释性方法。我们回顾了GAN中生成器和判别器的对抗训练过程,并探讨了多种理解GAN内部机制的技术,包括网络剖析、潜在空间降维与可视化、基于SVM的属性编辑,以及将局部解释集成到训练过程中的XAI-GAN。此外,我们还了解了评估生成图像质量的常用指标,如初始分数和弗雷歇初始距离。这些方法有助于我们更好地理解和控制GAN模型的行为,使其生成过程更加透明和可控。
081:扩散模型可解释性 🧠
在本节课中,我们将要学习扩散模型的基本原理及其在图像生成中的应用,并探讨如何解释这些强大但复杂的模型。我们将从扩散模型的核心概念和工作流程开始,然后介绍几种前沿的可解释性研究方法。
扩散模型是一类生成模型,在图像生成任务中取得了显著成功。它们的工作原理是逐步向初始图像添加噪声,然后学习逆转这个扩散过程,从而从随机噪声中生成高质量、多样化的图像。
扩散模型背后的核心思想是定义一个马尔可夫链。该链从数据分布(如图像)开始,逐步添加噪声,直到最终状态变为纯高斯噪声。在反向过程中,模型通过学习逐步去除噪声,从而从数据分布中生成样本。
与生成对抗网络相比,扩散模型通常训练更稳定。GAN可能遭受模式崩溃和其他训练不稳定的问题。像Stable Diffusion这样的开源扩散模型的发布,使得强大的图像生成能力得以普及,从而在艺术、设计和媒体创作等领域催生了广泛的应用。
此处展示的图表来自关于潜在扩散模型的奠基性论文,这也是Stable Diffusion模型的基础。
上一节我们介绍了扩散模型的基本概念,本节中我们来看看它的几个关键组件。
以下是扩散模型的主要组成部分:

- 变分自编码器:该组件将图像编码到潜在空间,也能从潜在空间解码回图像。你可以将其视为一个“翻译器”。它在一个大型图像数据集上进行预训练,训练过程涉及尝试编码到潜在空间并准确重建训练图像。
- 条件编码器:在文生图任务中,它将用户提示编码到潜在空间,这是一个文本编码器。在图生图任务中,则是一个图像编码器。用户提示用于指导去噪单元的每一步,引导单元产生特定输出。
- 去噪单元:该组件引导反向扩散过程。类似于GAN,你从一个随机的潜在图像开始。单元预测其中有多少噪声,然后从上一个随机潜在图像中减去噪声,同时用户输入会引导单元。这个过程会重复N次。


扩散模型的训练过程涉及两个步骤:
- 前向扩散:在此步骤中,模型学习逐步向原始数据分布添加噪声,创建一系列受扰动的数据分布。
- 反向扩散:模型被训练来逆转前向扩散过程,从纯噪声开始,逐步去除噪声以重建原始数据分布。
在生成过程中,模型从随机噪声开始,迭代地进行去噪,在反向扩散过程结束时产生高质量图像。用户文本提示通过文本编码器传递,并用于通过去噪单元指导此过程。


现在我们已经回顾了扩散模型,接下来将讨论扩散模型图像生成可解释性方面的一些新兴研究趋势。
首先是Gart等人展示的反事实解释。下图来自该论文,展示了扩散模型中的反事实解释。
Park等人提出了可视化扩散模型图像生成的方法。以下是这些方法的介绍:
- DFRISE:即扩散随机输入采样解释。该方法通过使用随机输入掩码和为生成模型定制的结构相似性函数生成显著图,来可视化扩散模型在每一步所关注的去噪区域。
- DFCAM:即扩散梯度加权类激活映射。该方法通过使用梯度加权激活图来突出显示模型在每个去噪步骤中关注的具体视觉概念,从而可视化扩散模型的内部运作。
- 指数时间步采样:该方法在反向扩散过程中调整时间步采样策略,以集中在特定阶段(早期、中期或晚期),从而分析在不同时间阶段被强调的视觉概念。
- 相关性分数:该论文采用生成图像与输入文本提示之间的相关性分数,来量化和分析在不同时间步和阶段显现的视觉概念。
下图来自Park等人的论文,他们将自己的方法DFRISE和DFCAM与LIME进行了比较。虽然LIME依赖于此处显示的分割区域,但DFRISE可视化的决策过程不受外部因素影响。


Tang等人在2022年引入了DAM,这是一种用于交叉注意力像素归因可视化的方法。他们通过对去噪子网络中的交叉注意力词-像素分数进行上采样和聚合,来生成像素级归因图。其核心思想是将扩散模型中现有的交叉注意力重新用作一种手段,以归因哪些词语影响了哪些图像区域。

论文中的示例如下图所示。左图中,显示了“monkey”、“hat”和“walking”的DAM图叠加在原始生成图像上。右图显示了不同词性(如形容词、动词和名词)的DAM热图。

DAM的过程如下:
- 从一个预训练的用于文生图的潜在扩散模型开始,例如Stable Diffusion 2.0。
- 识别U-Net网络中那些将文本嵌入关注到空间图像表示的交叉注意力层。
- 从这些交叉注意力层中,跨U-Net的不同尺度(下采样和上采样块)收集注意力分数数组。
- 使用双三次插值将注意力分数上采样到原始图像大小。
- 跨注意力头、层和时间步对上述上采样后的注意力分数进行求和,以获得每个单词的单个聚合注意力图。聚合的注意力图将单词与图像区域关联起来,其中较高的值表示更强的归因。
- 可选地,使用最大值的百分比对聚合注意力图进行阈值处理,以生成二进制分割掩码。





当将扩散模型应用于图像生成时,生成的输出存在可变性。这种可变性是扩散过程固有随机性因素的结果,包括扩散过程的随机初始化、从概率分布中采样以及非线性激活。
虽然可变性是扩散模型固有的,但由于模型架构、训练程序(包括近似方法)以及用于控制或引导生成过程的技术存在差异,不同模型的可变性水平也有所不同。当将这些模型应用于现实世界问题时,挑战在于如何调和生成输出中对多样性和创造性的渴望与相对于输入提示需要一致性和连贯性之间的矛盾。
量化生成输出的一致性或可重复性将允许量化这种可变性,并能在为特定应用或任务选择扩散模型时,就创造性与一致性之间的权衡做出决策。这种量化可以提供模型稳定性和一致性的评估,检测意外偏差,验证模型输出的解释,并增强用户理解。
在相关论文中,作者提出了一种量化扩散模型图像生成一致性的语义方法。该方法使用多模态嵌入模型CLIP来生成N次生成的图像的嵌入,并对生成的N个图像嵌入进行两两余弦相似度计算。
虽然目前不常在可解释性中使用,但多模态嵌入模型是一种非常有趣的工具,可用于可解释性。我们必须警惕这些多模态模型中固有的偏见,并且与所有可解释性指标类似,必须深思熟虑该方法的局限性。


本节课中我们一起学习了扩散模型的工作原理及其关键组件,并探讨了多种前沿的可解释性技术,包括反事实解释、可视化方法(如DFRISE和DFCAM)、像素级归因(DAM)以及量化生成一致性的方法。理解这些技术对于负责任地开发和应用强大的生成模型至关重要。

浙公网安备 33010602011771号