Captum:PyTorch 的模型可解释性

Captum

3.5 | 388 | 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"的最佳替代工具

CEBRA
暂无图片
369 0

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

神经解码
潜在嵌入
行为神经科学
AIStocks.io
暂无图片
409 0

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

股票预测
算法交易
投资分析
ML Clever
暂无图片
608 0

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

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

EverMemOS 是 AI 代理的开源记忆操作系统,提供无限上下文、长期一致性和进化能力。在 LoCoMo 等基准中表现出色(92.3 分),支持下一代个性化 AI 伙伴模型。

AI记忆OS
长上下文AI
记忆基准

与Captum相关的标签