首页 > 其他分享 >积分梯度-受监管行业的 AI 可解释性

积分梯度-受监管行业的 AI 可解释性

时间:2024-11-11 14:21:57浏览次数:1  
标签:AI 梯度 image axes 解释性 图像 import numpy 模型

了解积分梯度如何帮助识别哪些输入特征对模型的预测贡献

   在金融和医疗保健等受到高度监管的行业中使用 AI 模型肩负着关键责任:可解释性。您的模型预测准确是不够的。您应该能够解释您的模型做出特定预测的原因。例如,如果我们正在开发一个基于脑部 MRI 扫描的肿瘤检测模型,我们应该能够解释我们的模型使用哪些信息以及它如何处理这些信息并导致肿瘤识别。在这种情况下,监管机构或医生需要了解这些细节,以确保结果公正和准确。那么,您如何解释您的模型决策呢?手动解释它们并不容易,因为没有简单的 “if-else” 逻辑 — 深度学习模型通常有数百万个参数以非线性方式交互,因此无法追踪从输入到输出的路径。

当我们要了解某个特征(比如水果的颜色)对模型预测结果(比如水果的价格)的影响时,我们会从一个基线开始——这个基线是一个我们认为对模型输出没有影响的点,比如将所有特征值设为零或者平均值。然后,我们会逐步增加这个特征的重要性,直到达到实际输入的值。在这个过程中,我们会记录每次小幅度增加特征值时模型输出的变化。最后,我们将这些小变化加起来,就能得到这个特征对模型输出总贡献的一个估计。Integrated Gradients是一种帮助我们理解复杂模型工作原理的技术。它通过计算特征值从小到大的过程中模型输出的变化量,来量化每个特征对模型预测结果的影响。这种方法不仅适用于图像识别任务,还可以应用于文本分析、声音识别等多个领域。

   在满足这一需求方面,我有实践经验的技术之一是积分梯度。它是由 Google 的研究人员于 2017 年推出的,这是一种强大的方法,通过整合从基线到实际输入的梯度来计算归因。在本文中,我将引导您完成一个图像分类用例,并向您展示集成梯度如何帮助我们了解哪些图像像素在决策中最重要。我将使用 Captum 库来计算归因,并使用预先训练的 ResNet 模型来预测图像。

环境设置

已安装 Python 3.10 或更高版本

安装下面提到的必要软件包

pip install captum torch torchvision Matplotlib NumPy PIL

下载示例图像并将其命名为 image.jpg(您可以下载所需的任何图像)。

现在,我们将加载了解对象的预训练 ResNet 模型,使用 ResNet 模型对图像进行分类,使用集成梯度技术计算属性,并可视化结果,显示图像的哪些像素对模型的预测最重要。

以下是带有详细注释的完整实现。

import torch
import torchvision
import torchvision.transforms as transforms
from captum.attr import IntegratedGradients
from PIL import Image
import matplotlib.pyplot as plt
import numpy as np

# 加载我们刚刚下载的图像。如果你下载的图像名字不同,请更改图像名称。
image_to_predicted = Image.open('image.jpg')

# 将图像调整为标准格式并转换为数字。
transformed_image = transforms.Compose([
     transforms.Resize((224, 224)),
     transforms.ToTensor()
])(image_to_predicted).unsqueeze(0)

# 下载预训练的ResNet模型,使其准备好进行预测。
model = torchvision.models.resnet18(pretrained=True)
model.eval()

# 进行预测并使用argmax函数找到概率最高的对象。
predicted_image_class = torch.nn.functional.softmax(model(transformed_image)[0], dim=0).argmax().item()

# 创建IntegratedGradients对象并计算属性
integrated_gradients = IntegratedGradients(model)

# 创建基线参考,IG计算从这里开始
baseline_image = torch.zeros_like(transformed_image)

# 使用预测的图像类别、基线和转换后的图像计算归因
computed_attributions, delta = integrated_gradients.attribute(transformed_image, baseline_image, target=predicted_image_class, return_convergence_delta=True)

# 将归因转换为numpy数组以进行可视化
attributions_numpy = np.abs(np.transpose(computed_attributions.squeeze().cpu().detach().numpy(), (1, 2, 0))) * 255 * 10
attributions_numpy = attributions_numpy.astype(np.uint8)

# 可视化下载的图像和带有归因的图像
fig, axes = plt.subplots(1, 2, figsize=(10, 5))
axes[0].imshow(img)
axes[0].axis('off')
axes[0].set_title('下载的图像')
axes[1].imshow(attributions_numpy, cmap='magma')
axes[1].axis('off')
axes[1].set_title('带有归因的图像')
plt.show()

这是我下载的示例图像的输出。您可以看到突出显示的区域显示每个像素对于模型预测的重要性。
image

结论

   我们探讨了如何使用积分梯度来解释深度学习模型的预测。使用积分梯度,我们深入了解了图像的哪些像素对模型的预测最重要。这不是唯一可用于模型可解释性的技术。其他技术,如特征重要性、Shapley 加法解释 (SHAP),也可用于深入了解模型行为。



今天先到这儿,希望对云原生,技术领导力, 企业管理,系统架构设计与评估,团队管理, 项目管理, 产品管理,信息安全,团队建设 有参考作用 , 您可能感兴趣的文章:
构建创业公司突击小团队
国际化环境下系统架构演化
微服务架构设计
视频直播平台的系统架构演化
微服务与Docker介绍
Docker与CI持续集成/CD
互联网电商购物车架构演变案例
互联网业务场景下消息队列架构
互联网高效研发团队管理演进之一
消息系统架构设计演进
互联网电商搜索架构演化之一
企业信息化与软件工程的迷思
企业项目化管理介绍
软件项目成功之要素
人际沟通风格介绍一
精益IT组织与分享式领导
学习型组织与企业
企业创新文化与等级观念
组织目标与个人目标
初创公司人才招聘与管理
人才公司环境与企业文化
企业文化、团队文化与知识共享
高效能的团队建设
项目管理沟通计划
构建高效的研发与自动化运维
某大型电商云平台实践
互联网数据库架构设计思路
IT基础架构规划方案一(网络系统规划)
餐饮行业解决方案之客户分析流程
餐饮行业解决方案之采购战略制定与实施流程
餐饮行业解决方案之业务设计流程
供应链需求调研CheckList
企业应用之性能实时度量系统演变

如有想了解更多软件设计与架构, 系统IT,企业信息化, 团队管理 资讯,请关注我的微信订阅号:

image_thumb2_thumb_thumb_thumb_thumb[1]

作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 该文章也同时发布在我的独立博客中-Petter Liu Blog。

标签:AI,梯度,image,axes,解释性,图像,import,numpy,模型
From: https://www.cnblogs.com/wintersun/p/18539589

相关文章

  • 区域人数统计视频分析网关算法网关客流统计AI算法介绍及应用场景
    在当今数字化转型的浪潮中,人工智能技术正以其独特的数据处理能力和智能分析优势,深刻改变着各行各业的运作方式。特别是在客流量管理这一领域,AI算法的应用已经成为提升效率、优化决策的关键工具。本文将详细介绍客流量统计AI算法及其在区域人数统计视频分析网关中的应用,展示如何通......
  • LangChain Runnable 组件深度解析:灵活配置、错误处理与生命周期管理
    在LangChain框架中,Runnable组件是构建灵活、可配置的AI应用的核心。本文将深入探讨Runnable组件的高级特性,包括动态参数配置、组件替换、错误处理机制以及生命周期管理。通过掌握这些特性,开发者可以构建更加健壮和可维护的AI应用。1.Runnable组件动态添加默认调用参数......
  • LangChain记忆组件深度解析:运行流程与源码剖析
    在构建大型语言模型(LLM)应用时,记忆功能扮演着至关重要的角色。它使得AI能够保持上下文连贯性,提供更加智能和个性化的响应。本文将深入探讨LangChain框架中的记忆组件,详细分析其运行流程和源码实现,为开发者提供全面的技术洞察。1.LangChain-ChatMessageHistory组件解析1.1BaseCha......
  • 程序员如何借势AI提高自己:从高效工作到技能升级的全面指南
    又是一年1024,时光荏苒,转眼又到了这个特别的日子。坦白说,这篇文章我其实并不太想写,因为我并没有通过AI找到普适于程序员群体的高效赚钱秘籍。然而,反思过去的工作,我发现利用AI的确让我在工作中变得更加灵活,也因此有了更多时间去思考其他问题。因此,我希望能够分享一些我在使用AI过程......
  • AI泳池溺水识别摄像机
    AI泳池溺水识别摄像机基于yolov5视觉分析训练模型算法技术,AI泳池溺水识别摄像机能够实时捕捉游泳池的画面自动分析水面人员行为。它通过yolov5模型算法能够准确识别出游泳馆泳池中游泳者的动作姿态。当系统检测到有人在游泳池中长时间潜水或长时间没有浮出水面等异常行为时,摄像机......
  • 智启新篇 | 您的专属AI大模型解决方案!
    随着汽车智能化程度的不断提升,智能座舱作为汽车的重要组成部分,其功能和复杂度也在不断增加。从多屏交互、增强现实(AR)技术到个性化设置和语音交互,智能座舱为驾驶者提供了前所未有的驾驶体验。然而,这些新技术的引入也使得智能座舱的测试变得更加复杂和困难。在这样的背景下,AI大......
  • 超级干货:成为AI产品经理所需的关键技能与职业路径
    点点说在前面:本篇文章由KingJames来分享关于AI产品经理的必备技能和成长策略。KingJames之前做过AI咨询,对接公司内部AI产品经理,外部对接过很多甲方AI产品经理,也曾手持多家公司AI产品经理的offer。快读完这则诚意满满的大佬干货帖吧!—1—AI产品经理是什么回答这个问......
  • 【通义灵码】AI编码新时代
    目录一.初识灵码,开启新篇安装登录二.灵码相伴,探索新境实时续写自然生成单元测试生成解释代码优化建议快捷键三.智慧流转,高效开发驱动移植LVGL框架项目总结四.融合创新,携手同行一.初识灵码,开启新篇笔者入驻阿里云已有段时间,同时亦是通义灵码的忠实用户,自从......
  • AI产品经理必备技能与职业发展指南(含文末福利)
    1.AI产品经理是什么回答这个问题前我们首先得理清楚什么是AI产品经理,它和传统的互联网产品经理有什么区别。1.1AI产品经理职责主要职责一方面是规划如何将成熟的AI技术应用在各个领域不同场景中,提升原有场景的效率或效果等;另一方面是基于业务方的需求如何用现有的AI技......
  • 深度解读AI在数字档案馆中的创新应用:高效识别与智能档案管理
    一、项目背景介绍在信息化浪潮推动下,基于OCR技术的纸质档案电子化方案成为解决档案管理难题的有效途径。该方案通过先进的OCR技术,能够统一采集各类档案数据,无论是手写文件、打印文件、复古文档还是照片或扫描的历史资料,都能实现高效识别。利用文档智能分析技术,我们对电子化后的档......