Captum:PyTorch 的模型可解释性

Captum

3.5 | 243 | 0
类型:
开源项目
最后更新:
2025/08/25
资源描述:
Captum 是一个用于 PyTorch 的开源模型可解释性库。它支持各种模式,提供可扩展性,并与 PyTorch 模型无缝集成。
分享:
模型可解释性
归因方法
PyTorch

Captum 概述

Captum:用于 PyTorch 的模型可解释性

什么是 Captum?

Captum 是一个开源、可扩展的库,用于 PyTorch 中的模型可解释性研究。它提供工具来理解和归因 PyTorch 模型在各种模态(如视觉和文本)上的预测。

主要特性

  • 多模态: 支持跨模态的模型可解释性,包括视觉、文本等。
  • 构建于 PyTorch 之上: 支持大多数类型的 PyTorch 模型,并且只需对原始神经网络进行少量修改即可使用。
  • 可扩展: 用于可解释性研究的开源、通用库。 轻松实现新的算法并进行基准测试。

如何开始使用 Captum?

  1. 安装 Captum

    • 通过 conda(推荐):
    conda install captum -c pytorch
    
    • 通过 pip:
    pip install captum
    
  2. 创建和准备模型

以下示例演示了如何将 Captum 与简单的 ToyModel 一起使用:

import numpy as np
import torch
import torch.nn as nn
from captum.attr import IntegratedGradients

class ToyModel(nn.Module):
    def __init__(self):
        super().__init__()
        self.lin1 = nn.Linear(3, 3)
        self.relu = nn.ReLU()
        self.lin2 = nn.Linear(3, 2)

        # initialize weights and biases
        self.lin1.weight = nn.Parameter(torch.arange(-4.0, 5.0).view(3, 3))
        self.lin1.bias = nn.Parameter(torch.zeros(1,3))
        self.lin2.weight = nn.Parameter(torch.arange(-3.0, 3.0).view(2, 3))
        self.lin2.bias = nn.Parameter(torch.ones(1,2))

    def forward(self, input):
        return self.lin2(self.relu(self.lin1(input)))


model = ToyModel()
model.eval()

为了使计算具有确定性,让我们固定随机种子:

torch.manual_seed(123)
np.random.seed(123)

定义输入和基线张量:

input = torch.rand(2, 3)
baseline = torch.zeros(2, 3)
  1. 选择要实例化和应用的算法

此示例使用积分梯度:

ig = IntegratedGradients(model)
attributions, delta = ig.attribute(input, baseline, target=0, return_convergence_delta=True)
print('IG Attributions:', attributions)
print('Convergence Delta:', delta)

输出:

IG Attributions: tensor([[-0.5922, -1.5497, -1.0067],
                         [ 0.0000, -0.2219, -5.1991]])
Convergence Delta: tensor([2.3842e-07, -4.7684e-07])

为什么 Captum 很重要?

模型可解释性对于理解 AI 模型如何做出决策至关重要。 Captum 帮助研究人员和从业人员深入了解模型行为,这对于调试、改进和建立对 AI 系统的信任至关重要。

我可以在哪里使用 Captum?

Captum 可用于各种应用,包括:

  • 图像分类: 了解哪些像素对模型的预测贡献最大。
  • 文本分类: 识别驱动模型情感分析的关键单词或短语。
  • 其他 PyTorch 模型: 使用最少的修改来解释任何 PyTorch 模型。

"Captum"的最佳替代工具

GPTZero
暂无图片
201 0

GPTZero 是一款免费且精确的 AI 检测器,适用于 ChatGPT、GPT-5 和 Gemini。 受到超过 1000 万教育工作者、学生和专业人士的信赖,准确率高达 99%。

AI检测
剽窃检测
内容真实性
AIStocks.io
暂无图片
168 0

AIStocks.io是一个AI驱动的股票研究平台,提供实时预测、自动化交易信号和全面的风险管理工具,助力自信的投资决策。

股票预测
算法交易
投资分析
CPUmade
暂无图片
144 0

CPUmade是一个AI驱动的平台,让用户通过简单的文字描述创建自定义T恤设计。生成独特的服装设计,自定义颜色,并直接订购全球配送。

定制服装
AI设计
按需打印
CEBRA
暂无图片
135 0

CEBRA是一种自监督AI算法,联合分析行为和神经数据,为神经科学研究创建一致、可解释的潜在嵌入,实现跨物种的位置、视频和运动的高精度解码。

神经解码
潜在嵌入
行为神经科学
Inbenta AI
暂无图片
139 0

Inbenta 提供基于 AI 的客户和员工体验解决方案,具有个性化的 24/7 全渠道支持,可自动化互动、降低成本并提升满意度。

对话式AI
知识工程
工作流自动化
Datayaki
暂无图片
276 0

Datayaki 是一款AI驱动的数据分析工具,允许您通过简单提问来分析数据。无需代码即可分析电子表格、SQL数据库。

AI数据分析
数据分析
无代码
Claude
暂无图片
284 0

Anthropic 的 Claude AI 旨在实现可靠性、可解释性和可引导性。探索 Claude Opus 和 Sonnet 在高级 AI 应用、编码和 AI 代理方面的应用。

AI 安全
大语言模型
AI 代理
Censius
暂无图片
367 0

Censius AI 可观测性平台通过自动化监控和主动故障排除,帮助团队理解、分析和提高 AI 模型在实际应用中的性能。

AI 监控
模型可观测性
机器学习
Beyond Limits' Industrial Enterprise AI
暂无图片
225 0

探索Beyond Limits的工业企业人工智能,由混合人工智能驱动。为石油天然气、制造业和医疗保健等行业提供安全、可扩展的人工智能解决方案,优化运营并推动数据驱动的决策。

工业人工智能
混合人工智能
预测分析
PhariaAI
暂无图片
360 0

Aleph Alpha的PhariaAI为企业提供自主AI解决方案。保障数据安全,塑造AI驱动的知识工作。探索PhariaAI,实现透明、合规且面向未来的AI。

企业AI
自主AI
大语言模型
EduWriter.ai
暂无图片
358 0

EduWriter.ai 是2025年最佳AI论文写作工具,可立即生成无抄袭、不可检测的论文,并提供真实参考文献。 超过160万学生信任。 立即免费试用!

AI 论文写作
不可检测的 AI
ML Clever
暂无图片
364 0

ML Clever:AI数据分析平台,无需代码即可生成即时仪表板、AutoML和预测性洞察。是复杂BI和数据科学平台的替代方案。

人工智能分析
自动机器学习
仪表板
MODEL HQ
暂无图片
433 0

LLMWare AI:为金融、法律和监管行业的私有云提供开创性的AI工具。从LLM到RAG框架的端到端解决方案。

AI PC
私有AI
本地AI
Bethge Lab
暂无图片
207 0

图宾根大学的Bethge实验室专注于人工智能研究、机器学习,并利用神经网络理解大脑表征。

人工智能研究
机器学习
神经网络