ML 模型不等于“黑盒”:explainable AI 可解释的人工智能

本文涉及的产品
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: ML 模型不等于“黑盒”:explainable AI 可解释的人工智能

可解释人工智能的含义

现阶段机器学习的工作流程(从训练到工业应用)大致如下:

image.png

ML 工作流程

上图展示了:基于原始数据通过学习来对模型进行训练;其中学习过程依赖于学习函数,给其输入原始数据,能够输出对应的预测数据;而使用者主要接触并使用预测数据。

具体地,学习函数除了可以是人工神经网络,也可以是决策树、支持向量机、boosting model 等。

当学习函数通过原始数据训练确定后,就可以被用于输入新的数据并且进行预测。在此基础上,使用者便可以及基于预测数据做出决策或采取行动了。

但是其中涉及到的问题,正如图片中的若干问号所示:预测值的准确性及可信度。

通常,运用机器学习模型时,首先需要确定误差函数或者损失函数,通过真实数据和预测数据之间的距离来反映模型的性能。但是误差函数或者损失函数可以说明一切吗?

模型可能表现出较低误差或损失,但是仍然具有一定的偏差,可能不时产生一些奇怪的预测结果。当然,这些意外的预测结果可能让我们发现一些新的规律,但是也可能反映出模型存在某些错误,并且需要进行修正。

即使预测结果不存在问题,我们获得了良好的预测结果,但是这也远远不够。我们不仅仅局限于结果的预测,也倾向于想要知道所使用的模型的内部作用机制,即该模型是怎么做到准确预测的。

上述问题阐述了 Explainable AI 为何被人们所重视。当机器学习中采用 explainable AI 时,其工作流程如下:

image.png

采用 explainable AI 的 ML 模型

上图展示了:采用新的学习机制来训练新的学习函数,形成新的 explainable 模型。这一新的学习函数不仅具有准确预测的能力,同时也能够对其预测结果产生的过程进行溯源解释。这样提供给使用者的就不仅仅是预测的结果,还将能够提供更多的细节。

explainable AI 为何重要?

当我们使用 AI 时,往往需要大量的参数实现对于原始数据的处理和分析,因此导致最后形成难以解释的“黑盒模型”。当然,建立开发该模型的数据科学家或工程师很清楚具体的计算处理过程,但是对于使用者而言,该模型是相对神秘和神奇的。使用者只需要输入数据,然后能够直接得到预测结果。

image.png

ML 模型=“黑盒”

在 AI 发展早期,人们更多关注于 AI 能不能给出很好的预测结果,因此即使它是“黑盒”也无所谓。但是随着技术的不断发展和深入,人们愈来愈重视 AI 的可解释性。人们想要知道 AI 是如何产生准确的预测结果的。发生这一变化的原因如下:

  1. 了解机器学习模型进行预测时的内部机制,有助于加快这些模型的广泛应用。
  2. 可解释性使得 AI 更易于被使用者所接受,让用户更加信任所使用的机器学习模型和系统。
  3. 对于某些行业,如保险业或银行业,有时会有公司层面的甚至是立法方面的限制,使得这些公司使用的模型必须能够解释。
  4. 在其他一些关键领域,比如医学领域,人工智能可以产生如此巨大的影响,并惊人地提高我们的生活质量,最基本的是,所使用的模型可以毫无疑问地得到信任。有一个Netflix推荐系统,有时输出奇怪的预测可能不会有很大的影响。但在医学诊断的情况下,不寻常的预测可能是致命的,因此使用者会有更多的质疑,而提供更多的信息能够有助于获得使用者的信任。
  5. 可解释的模型可以帮助用户更好地利用这些模型所提供的输出,使它们在业务、研究或决策中具有更大的影响力。

但是具有更好预测性能的模型往往具有更差的可解释性。以随机森林和决策树为例,随机森林方法的性能通常优于决策树,但是决策树具有更好的可解释性。

image.png

可解释性 VS 模型性能

如上图所示,可解释性和模型性能呈现反比例关系。但是基于这一事实,我们想要进一步实现从 X 到 O 的跃升,即在不降低模型性能的条件下提高模型的可解释性。

explainable AI 实例

为了实现在不降低模型性能的条件下提高模型的可解释性这一目的,可以采用如下方法:

  1. 使用可解释的模型,如决策树。
  2. 对难以解释的模型增加解释层以对模型进行解释,如随机森林。

接下来以房价预测为例进行 explainable AI 的阐述。

使用的数据集为:Kaggle 房价预测

该数据集包含了在爱荷华州艾姆斯市的住宅数据,79个解释性变量(几乎)描述了住宅的方方面面,需要基于该数据集预测部分住宅的最终价格。

因为本文的目的在于解释 explainable AI,所以只使用数据集当中的数值型数据,并且所采用的模型使用默认的超参数设定。

使用决策树进行房价预测

决策树是最容易解释的机器学习模型之一。其实现方法非常简单:通过递归地将数据分割成越来越小的组,这些组最终会出现在我们的子节点中。

xxxxxx.png

决策树使用示例

上图展示了通过决策树分析利用数据。决策树基于房价数据,依次判断 LSTAT 和 RM 参数,最后分类到最终的子节点中。

那么如何解释决策树的预测过程呢?显然,我们只需要基于样本分类的路径,就能够很好地解释预测结果是如何产生的。

xxxx.png

决策树某一样本的分类路径

上图展示了决策树某一样本的分类路径,该样本的房价为 212545 美元。基于路径,可以生成如下解释性语句:“优质建筑,地面生活面积小于1941平方英尺,地下室小于1469平方英尺,车库大于407平方英尺,一楼大于767平方英尺。1978年之后,它被重新改造过。因此,预计价格为212542美元。”

增加解释层(Shapley Values)

决策树虽然能够较为方便地解释结果,但是其预测能力不够强大。往往不能得出最好的预测结果。

使用同样的数据集,用随机森林方法进行预测。将随机森林和决策树的误差函数进行对比:

xxx.png

随机森林方法 VS 决策树方法

可以看出,决策树方法的误差几乎是随机森林方法的两倍。

虽然随机森林方法具有更好的预测能力,但是却也更加复杂,如何对其进行解释呢?针对这一问题,可以在模型中增加一个解释层以实现解释的目的。

xx.png

"黑盒"模型中增加解释层

通常,可以使用 Shapley Values 归因算法作为解释层。Shapley Values 来源于游戏理论,主要作用在于反映游戏中每个玩家的贡献大小。被用于机器学习中,则反映每个特征值对于预测结果的贡献大小。

通过 Python 中的 SHAP 库,我们可以调用相关的函数实现指定输入数据的 Shapley Values。在房价预测案例中,我们只需要向 Shapley Explainer 中输入训练数据,该训练数据与 ML 模型中的训练数据一致,并且声明使用的 ML 模型(随机森林方法)。然后 Shapley Explainer 就会生成各个特征值的贡献大小。

x.png

Shapley Values

上图显示了各个特征值对于预测结果的贡献大小。粉色和蓝色交汇的点便是模型预测值。最接近粉色和蓝色交汇点的变量是对特定预测影响最大的变量。

粉色的变量及其对应值有助于提高房价,而蓝色的变量及其对应值有助于降低房价。正如我们在这里看到的,最有助于提高房价的变量是 OverallQual,其值为7。

在这种情况下,房屋的质量和建造年份(2003年)是房屋最相关的积极特征。地下室和一层面积的较小值是最相关的负特征。总之,所有这些变量及其值都证明了预测的正确性。

这些信息都可以生成相应的解释性文本,有助于更精确和复杂的模型的解释说明。

当然,除了 Shapley Values 以外,还有其他的解释层方法,如:Permutation Importance、LIME。

目录
相关文章
|
2天前
|
人工智能 搜索推荐 开发者
Aurora:xAI 为 Grok AI 推出新的图像生成模型,xAI Premium 用户可无限制访问
Aurora是xAI为Grok AI助手推出的新图像生成模型,专注于生成高逼真度的图像,特别是在人物和风景图像方面。该模型支持文本到图像的生成,并能处理包括公共人物和版权形象在内的多种图像生成请求。Aurora的可用性因用户等级而异,免费用户每天能生成三张图像,而Premium用户则可享受无限制访问。
32 11
Aurora:xAI 为 Grok AI 推出新的图像生成模型,xAI Premium 用户可无限制访问
|
4天前
|
存储 人工智能 PyTorch
【AI系统】模型转换流程
本文详细介绍了AI模型在不同框架间的转换方法,包括直接转换和规范式转换两种方式。直接转换涉及从源框架直接生成目标框架的模型文件,而规范式转换则通过一个中间标准格式(如ONNX)作为桥梁,实现模型的跨框架迁移。文中还提供了具体的转换流程和技术细节,以及模型转换工具的概览,帮助用户解决训练环境与部署环境不匹配的问题。
17 5
【AI系统】模型转换流程
|
12天前
|
机器学习/深度学习 人工智能 语音技术
Fugatto:英伟达推出的多功能AI音频生成模型
Fugatto是由英伟达推出的多功能AI音频生成模型,能够根据文本提示生成音频或视频,并修改现有音频文件。该模型基于增强型的Transformer模型,支持复杂的组合指令,具有强大的音频生成与转换能力,广泛应用于音乐创作、声音设计、语音合成等领域。
60 1
Fugatto:英伟达推出的多功能AI音频生成模型
|
1月前
|
机器学习/深度学习 人工智能 算法
人工智能与医疗健康:AI如何改变生命科学
【10月更文挑战第31天】人工智能(AI)正深刻改变医疗健康和生命科学领域。本文探讨AI在蛋白质结构预测、基因编辑、医学影像诊断和疾病预测等方面的应用,及其对科研进程、医疗创新、服务效率和跨学科融合的深远影响。尽管面临数据隐私和伦理等挑战,AI仍有望为医疗健康带来革命性变革。
95 30
|
28天前
|
机器学习/深度学习 人工智能 机器人
推荐一些关于将图形学先验知识融入人工智能模型的研究论文
推荐一些关于将图形学先验知识融入人工智能模型的研究论文
|
28天前
|
机器学习/深度学习 人工智能 图形学
如何将图形学先验知识融入到人工智能模型中?
如何将图形学先验知识融入到人工智能模型中?
|
24天前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
68 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
24天前
|
机器学习/深度学习 人工智能 算法
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
蔬菜识别系统,本系统使用Python作为主要编程语言,通过收集了8种常见的蔬菜图像数据集('土豆', '大白菜', '大葱', '莲藕', '菠菜', '西红柿', '韭菜', '黄瓜'),然后基于TensorFlow搭建卷积神经网络算法模型,通过多轮迭代训练最后得到一个识别精度较高的模型文件。在使用Django开发web网页端操作界面,实现用户上传一张蔬菜图片识别其名称。
68 0
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
|
25天前
|
机器学习/深度学习 人工智能 自然语言处理
1分钟认识:人工智能claude AI _详解CLAUDE在国内怎么使用
Claude AI 是 Anthropic 开发的先进对话式 AI 模型,以信息论之父克劳德·香农命名,体现了其在信息处理和生成方面的卓越能力
|
23天前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能与模型知识库在移动医疗产品中的落地应用
在现代医疗体系中,通义千问大模型与MaxKB知识库的结合,为医生和患者提供了前所未有的支持与便利。该系统通过实时问答、临床决策辅助、个性化学习和患者教育等功能,显著提升了诊疗效率和患者满意度。实际应用如乐问医学APP展示了其强大优势,但数据隐私和安全问题仍需关注。
48 0

热门文章

最新文章