如何解释AI做出的决策?一文梳理算法应用场景和可解释性(2)

简介: 如何解释AI做出的决策?一文梳理算法应用场景和可解释性

2.1 方法介绍

令ε={P1,...,Pn}表征 n 个病人的数据库。Pj 表征 K 个病人就诊数据记录,Pj = {x_1, . . , x_k},其中,x_k 发生在时间点 t_k,包含一组描述该次诊疗的医疗变量,考虑到第 j 个病人在时间点 t-1 的病史数据 Pj={x_1, . . . , x_t-1},我们的任务是预测时间点 t 的 ADE 的发生,并准确地解释为什么使用病人病史的整个时间结构来预测这种 ADE。为了解决这个问题,本文将 RNN 模型和可解释性技术结合起来,对全局和局部解释的方法进行了比较和临床验证的分析。

SHAP 框架确定了加法特征重要性方法的类别,以提供模型无关的解释。SHAP 已经成为一种流行的模型可解释性方法,因为它拥有多种理想的特性,即全局一致的解释,这是其他事后方法所不能提供的,在这些方法中,局部定义的预测可能与全局模型的预测不一致。SHAP 建立在使用博弈论中的 Shapley 值的基础上,在博弈论中,通过将不同的特征视为联盟中的不同玩家来计算特定特征值对选定预测的影响。这些特征中的每一个都可以被看作是对预测的相对贡献,这些贡献可以通过计算可能的联盟中的边际贡献的平均值而被计算为 Shapley 值。

Shapley 值(表示为φ_ij),可以理解为每个特征值 x_ij 对每个样本 i 和特征 j 的预测偏离数据集的平均预测的程度。在本研究中,每个医疗变量的 Shapley 值是针对病史中的每个时间点计算的,以解释每个医疗变量对预测的影响是如何高于或低于基于背景数据集的预测平均值的。

递归神经网络(RNN)是前馈神经网络模型的概括,用于处理连续的数据,拥有一个持续的内部状态 h_t,由 j 个隐藏单元 h_j 组成,作为处理连续状态之间的依赖关系的记忆机制,在本文案例中具体是指跨时间点的病人诊疗信息。

本文希望采用一个基本的 RNN architechure 与 SHAP 相结合,它应该能够达到与 RETAIN 相当的性能水平,以帮助直接比较有效性解释方法,而不会因为过度追求可解释性而影响了模型本身的性能。具体的,本文基本 RNN 模型的内部状态由门控递归单元(GRU)组成,通过迭代以下方程定义:


其中,r_j 为复位门,它决定了一个状态中的每一个第 j 个隐藏单元的前一个状态被忽略的程度;h_t-1 是上一个隐藏的内部状态;W 和 U 是包含由网络学习的参数权重的矩阵;z_j 是一个更新门,决定了隐藏状态应该如何被更新为新的状态 h_new;(h_j)^t 表示隐藏单元 h_j 的激活函数;sigm( )表示 sigmoid 函数;◦是 Hadamard 积。

本文采用与 SHAP 相结合的 GRU 架构,包括两个 128 个单元的堆叠的 GRU 隐藏层,然后是 dropout 层,最后是一个全连接层,通过一个 softmax 函数产生输出分类概率ˆy。

为了收集基于注意力的时间解释,本文采用了 RETAIN 的 RNN 架构,在预测阶段,基于注意力的贡献分数可以在单个医学变量层面上确定。这个 RNN 首先由输入向量 x_i 的线性嵌入组成:


v_i∈R^m 是二进制输入向量 x_i∈R^V 的嵌入,W_emb∈R^(m xV)是嵌入的权重向量,m 是 V 个医疗变量的嵌入维度。使用两个 RNNs,RNNa 和 RNNb 分别用于生成访问和可变水平的注意力向量α和β。注意力向量是通过在时间上向后运行 RNN 来生成的,这意味着 RNNα和 RNNβ都以相反的顺序考虑访问嵌入。最后,我们得到每个病人在第 i 次就诊前的情况向量 c_i:


然后,最终预测结果的计算方法如下:


基于注意力的贡献得分可以确定对某一预测贡献最大的访问和医疗变量。分数可以用下式计算:


在本文研究中,根据 RNN-GRU 模型修改了 SHAP,使用的是原始 SHAP 实现的修改代码库。作者采用了深度学习模型的梯度解释方法,该方法基于预期梯度,使用 1000 个随机样本的背景数据,为每个预测提供 Shapley 值的近似值。作者表示,这种特殊的近似处理并不保证 SHAP 的每一个属性,但对于本文的目标来说是合适的。

2.2 验证方法介绍

本研究使用的数据库由 1,314,646 名患者的诊断、药物和文本记录组成,这些记录来自斯德哥尔摩大学的瑞典健康记录研究银行(HealthBank);这是一个匿名的患者记录数据库,最初来自瑞典斯德哥尔摩卡罗林斯卡大学医院的 TakeCare CGM 患者记录系统。诊断由《国际疾病和相关健康问题统计分类》第十版(ICD-10)中的标准化代码组成。药物是根据解剖学治疗化学分类系统(ATC)进行编码的。为了减少问题的复杂性,并增加病人的匿名性,非 ADEICD-10 和 ATC 代码被减少到其更高层次的等级类别,通过选择每个代码的前三个字符获得。此外,就诊是以月为单位定义的,这意味着在一个日历月内分配给病人的所有代码和药物的组合构成了一次就诊记录。患者需要拥有至少三次这样的记录,相当于至少三个月的数据。与 ADE 相关的词袋特征也被提取为二元医学变量。本研究使用了 1813 个医疗变量,包括 1692 个 ICD-10 编码,109 个 ATC 编码和 12 个关键词特征。

评估实验将数据随机划分为训练集、验证集和测试集,比例分别为 0.7、0.1 和 0.2。在验证集上呈现最佳 AUC 的训练 epoch 所对应的模型配置部署在测试集上。为每位患者分配了一个二进制标签,以表示在他们最后一次就诊时是否有 ADE。每个病人样本都是由包含医疗变量的就诊序列组成的,删除最后一次就诊记录。为了适应因 ADE 相对罕见而导致的类别不平衡问题,作者通过对多数类别的低度取样创建了一个平衡的训练集,其中利用了整个训练集的一个随机分区。为了说明模型行为的可变性,作者使用 3 个随机模型和数据分区配置的平均值生成最终结果。在直接性能比较中,RNN-GRU 被配置成与 RETAIN 相同的多对一格式,并使用跨熵损失函数进行训练。默认情况下,模型输出大于 0.5 就会映射出一个正向 ADE 预测结果。

为了建立一个用于评估所研究的可解释方法的临床基本事实,本文实验过程中总共招募了 5 位医学专家,他们拥有医学学位和丰富的临床药理学经验。在第一阶段的结构化调查中,这些专家被要求对通过 SHAP 和注意力方法确定的全局医学变量进行打分,最终收录了每种方法的前 20 个变量。评分包括从 - 5 到 5 的整数,0 不包括在内,其中 - 5 代表该变量与不发生 ADE 的可能性有非常高的关联,而 5 代表变量与发生 ADE 的可能性有非常高的关联。然后计算出临床医生变量得分的平均值。其次,实验要求医学专家对 10 个有代表性的个体病人记录中的医疗变量进行同样的评分,这些记录包含了直接发生在两个 RNN 都正确预测的 ADE 之前的医疗变量的历史。这是一个案例研究任务,受试者对与过敏相关的 ADEs T78.4、T78.3 和 T78.2 的发生有关的变量进行评分。此外,受试者还被要求考虑变量本身的重要性、与其他变量的相互作用,以及过敏性疾病发生前的时间段。考虑时间的方法是将相同医疗变量的历史记录作为月度窗口输入 RNN 模型。临床医生提供的平均分数被用作评估可解释方法对同一批(10 份)病人记录所提供的解释的基本事实。

本文使用 Top-k Jaccard 指数比较两种可解释方法与临床专家得分的相似性,该指数定义为交集大小除以原始集合中排名最高的前 k 个子集的联合大小。排名是根据从临床专家反应的平均值或从可解释性方法返回的 Shapley 值或注意力贡献分数分别计算出的降序绝对分数来定义的。最后,向医学专家展示了如何将解释方法可视化的示例,并要求他们思考这些解释是否适用于现实生活中的临床情况。

2.3 验证结果

表 1 给出了 RETAIN 与 RNN-GRU 配置在 AUC 和 F1-Score 方面的性能比较,由表 1 中的结果可看出,用于生成解释的模型在两个模型中的性能相似,RETAIN 的性能略胜一筹。

表 1. 在多对一预测配置中为所选架构指定的 ADE 预测的 ROC 曲线下的经验测试集面积和微型 F1 分数

2.3.1  全局特征重要性

图 1 和图 2 是两种方法对医学变量的前 20 个全局重要性排名,显示了平均绝对 SHAP 值,以及数据测试集中顶级特征的平均绝对关注值。图 3 显示的是所述的利益相关者参与方法产生的临床专家平均绝对分数,用于对医学变量进行评分。为清晰起见,作者通过计算所有病人就诊中出现特定医疗变量的每个例子的贡献系数分数的平均绝对值,来报告注意力贡献分数的全局重要性。

图 1. 根据 RETAIN 模型的平均注意力贡献得分,排名最前的医学变量。ATC 代码前缀为 "M"

图 2. 根据平均 SHAP 值对 RNN-GRU 模型输出的影响,排名靠前的医疗变量。ATC 代码前缀为 "M"。标记为 KWord * 的关键词特征

图 3. 根据临床专家定义的分数,排名靠前的医疗变量。ATC 代码前缀为'M'

表 2 给出了 SHAP 和注意力排名与医学专家排名的 top-k Jaccard 指数比较结果,由表 2 可看出与注意力排名相比,SHAP 在每个 k 值上都提供了与医学专家更相似的总体解释。

表 2. 可解释性方法和临床专家对最重要的医疗变量的排名之间的 Top-k Jaccard 相似性比较

2.3.2  过敏症 ADEs 的个别解释的案例研究

表 3 给出了过敏症 ADEs 案例研究的结果,将 10 个有代表性的案例的平均临床专家得分排名与注意力和 SHAP 提供的同等解释得分排名进行比较。对于每个 Jaccard 指数,所选的前 k% 基于注意力的得分与临床得分最相似。

表 3. 可解释性方法和临床专家对单个病人记录中最重要的医疗变量的平均 Top-k% Jaccard 相似度比较

2.3.3  对临床遇到的问题进行可视化解释的反馈

图 4 展示了 SHAP 的时间解释,表 4 给出了注意力机制的对应时间解释。SHAP 的解释是通过 SHAP 的特征相加的性质来提供的,以便直观地看到医疗特征的存在或不存在是如何通过它们在每个时间点的 Shapley 值的总和来定义预测的。对于注意力的解释,这种可视化是不可能的,因为贡献值只反映相对重要性。

受试者得到了两种方法的描述,并被要求回答:他们更喜欢哪种解释,他们在理解解释时面临哪些挑战,以及对改进解释的建议。首先,5 位专家中的 4 位更喜欢 SHAP 提供的解释,原因是它是一个更简单的解释,能够比注意力解释更有效地理解 ADE 风险的完整观点。其次,受试者的主要顾虑是,解释中提供的信息太多,在大多数临床上无法使用,而且解释一个变量的缺失是如何导致风险的也不直观。改进的建议是,在可能的情况下显示更少的医疗变量,以提高理解解释的效率;其次,确保使用这种解释的临床医生得到详细的培训。

图 4. 向临床专家展示 SHAP 的解释。ADE 真正阳性预测的示例,显示用 SHAP 评估的 7 个病人就诊时间的 ADE 风险的发展,最后一次就诊提示有 ADE。赋值 = 0 和 = 1 分别表示没有或存在导致风险的变数

表 4. 与图 4 相对应的真阳性 ADE 解释的示例,使用 RETAIN 模型与药物、诊断和文本数据。访问得分和预测得分指的是相应的 ADE 代码的 softmax 概率

2.4 文章讨论

首先,本文实验表明 RETAIN 和 RNN-GRU 模型的预测性能结果相似。这一发现对于临床有效性评估很重要,因为我们不希望诱发一种偏见,即某一方法产生的解释在临床上的有效性较差,这是由于模型的性能较差,而不是解释方法本身的原因。此外,考察图 1 和图 2 中的全局特征解释,根据与图 3 中的临床专家排名的比较,这两个排名都是独特的,在医学上基本符合 ADE。

SHAP 为每个 top-k Jaccard 指数提供了更多的临床验证的全局解释,这在很大程度上受到了它对没有出现在注意力排名中的文本特征的高排名的影响。就单个解释而言,注意力为每个 top-k Jaccard 指数提供了最具有临床有效性的解释,这表明,由于注意力具有捕捉和利用相关领域知识的明显能力,不应该将其作为一种可解释的方法加以否定。

最后,从图 4 和表 4 中医学专家对解释的反馈中得到的重要启示是,由于 SHAP 在可视化特征对预测的贡献方面具有加法特性,因此它能提供更紧凑和高效的解释。这种紧凑性对于效率优先的实时临床会诊是至关重要的。另一方面,注意力机制不能提供同样的紧凑性或加法性,因此对于详细的离线解释或不受时间限制的临床会诊可能更可取。

3、总结

由 ICO 和 The Alan-Turing Institute 共同发起的 "解释用人工智能做出的决定(Explanation decisions made with AI)"(2020 年)是对使用人工智能系统的组织中的问责制和透明度要求的实际转化的一次广泛探索。

在过去的十几年中,AI 算法 / 模型获得了巨大的发展,从 “白盒” 不断改进为“黑盒”,不管是产业界还是学术界,都可以看到大量追求 AI 决策性能提升的工作,将识别率提升 1%、将预测准确度提升 0.5%、在复杂背景环境下提升输出准确度、提高推荐排序的准确性等等。随着数字经济的发展,国内外都越来越重视算法 / 模型的公平性、透明性、可解释性和问责制。为了让技术更好的服务于人类,而不是让人类越来越被算法所奴役,解释用 AI 做出的决策相信是未来大家都会越来越关注的问题,我们也期待更多更有效、更可行的可解释性方法、工具的出现。

本文参考引用的文献[1] Information Commissioner’s Office (ICO)& The Alan-Turing Institute,Explanation decisions made with AI,2020 May 2020 - 1.0.47[2] E. Choi, M. T. Bahadori, J. Sun, J. Kulas, A. Schuetz, and W. Stewart, “Retain: An interpretable predictive model for healthcare using reverse time attention mechanism,” in Advances in Neural Information Processing Systems, 2016, pp. 3504–3512.[3]S. M. Lundberg and S.-I. Lee, “A unified approach to interpreting model predictions,” in Advances in neural information processing systems, 2017, pp. 4765–4774.

相关文章
|
1月前
|
传感器 人工智能 监控
智慧工地 AI 算法方案
智慧工地AI算法方案通过集成多种AI算法,实现对工地现场的全方位安全监控、精准质量检测和智能进度管理。该方案涵盖平台层、展现层与应用层、基础层,利用AI技术提升工地管理的效率和安全性,减少人工巡检成本,提高施工质量和进度管理的准确性。方案具备算法精准高效、系统集成度高、可扩展性强和成本效益显著等优势,适用于人员安全管理、施工质量监控和施工进度管理等多个场景。
|
1天前
|
存储 监控 算法
员工上网行为监控中的Go语言算法:布隆过滤器的应用
在信息化高速发展的时代,企业上网行为监管至关重要。布隆过滤器作为一种高效、节省空间的概率性数据结构,适用于大规模URL查询与匹配,是实现精准上网行为管理的理想选择。本文探讨了布隆过滤器的原理及其优缺点,并展示了如何使用Go语言实现该算法,以提升企业网络管理效率和安全性。尽管存在误报等局限性,但合理配置下,布隆过滤器为企业提供了经济有效的解决方案。
26 8
员工上网行为监控中的Go语言算法:布隆过滤器的应用
|
22天前
|
存储 人工智能 缓存
【AI系统】布局转换原理与算法
数据布局转换技术通过优化内存中数据的排布,提升程序执行效率,特别是对于缓存性能的影响显著。本文介绍了数据在内存中的排布方式,包括内存对齐、大小端存储等概念,并详细探讨了张量数据在内存中的排布,如行优先与列优先排布,以及在深度学习中常见的NCHW与NHWC两种数据布局方式。这些布局方式的选择直接影响到程序的性能,尤其是在GPU和CPU上的表现。此外,还讨论了连续与非连续张量的概念及其对性能的影响。
45 3
|
22天前
|
机器学习/深度学习 人工智能 算法
【AI系统】内存分配算法
本文探讨了AI编译器前端优化中的内存分配问题,涵盖模型与硬件内存的发展、内存划分及其优化算法。文章首先分析了神经网络模型对NPU内存需求的增长趋势,随后详细介绍了静态与动态内存的概念及其实现方式,最后重点讨论了几种节省内存的算法,如空间换内存、计算换内存、模型压缩和内存复用等,旨在提高内存使用效率,减少碎片化,提升模型训练和推理的性能。
42 1
|
1天前
|
存储 缓存 算法
探索企业文件管理软件:Python中的哈希表算法应用
企业文件管理软件依赖哈希表实现高效的数据管理和安全保障。哈希表通过键值映射,提供平均O(1)时间复杂度的快速访问,适用于海量文件处理。在Python中,字典类型基于哈希表实现,可用于管理文件元数据、缓存机制、版本控制及快速搜索等功能,极大提升工作效率和数据安全性。
19 0
|
27天前
|
机器学习/深度学习 人工智能 算法
探索人工智能中的强化学习:原理、算法与应用
探索人工智能中的强化学习:原理、算法与应用
|
26天前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
43 1
|
26天前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
57 1
|
1月前
|
机器学习/深度学习 监控 算法
基于反光衣和检测算法的应用探索
本文探讨了利用机器学习和计算机视觉技术进行反光衣检测的方法,涵盖图像预处理、目标检测与分类、特征提取等关键技术。通过YOLOv5等模型的训练与优化,展示了实现高效反光衣识别的完整流程,旨在提升智能检测系统的性能,应用于交通安全、工地监控等领域。
|
27天前
|
机器学习/深度学习 人工智能 算法
探索人工智能中的强化学习:原理、算法及应用
探索人工智能中的强化学习:原理、算法及应用