Captum: Interpretabilidade de modelos para PyTorch

Captum

3.5 | 177 | 0
Tipo:
Projetos de Código Aberto
Última atualização:
2025/08/25
Descrição:
Captum é uma biblioteca de código aberto para interpretabilidade de modelos em PyTorch. Ele suporta várias modalidades, oferece extensibilidade e se integra perfeitamente aos modelos PyTorch.
Compartilhar:

Visão geral de Captum

Captum: Interpretabilidade de Modelos para PyTorch

O que é Captum?

Captum é uma biblioteca de código aberto e extensível para pesquisa de interpretabilidade de modelos em PyTorch. Ele fornece ferramentas para entender e atribuir as previsões de modelos PyTorch em várias modalidades, como visão e texto.

Principais Características

  • Multi-Modal: Suporta a interpretabilidade de modelos em diversas modalidades, incluindo visão, texto e muito mais.
  • Construído em PyTorch: Suporta a maioria dos tipos de modelos PyTorch e pode ser usado com modificação mínima na rede neural original.
  • Extensível: Biblioteca genérica de código aberto para pesquisa de interpretabilidade. Implemente e compare facilmente novos algoritmos.

Como começar com o Captum?

  1. Instale o Captum:

    • Via conda (recomendado):
    conda install captum -c pytorch
    
    • Via pip:
    pip install captum
    
  2. Crie e Prepare um Modelo:

O exemplo a seguir demonstra como usar o Captum com um ToyModel simples:

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()

Para tornar os cálculos determinísticos, vamos fixar as sementes aleatórias:

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

Defina os tensores de entrada e de linha de base:

input = torch.rand(2, 3)
baseline = torch.zeros(2, 3)
  1. Selecione o Algoritmo para Instanciar e Aplicar:

Este exemplo usa Gradientes Integrados:

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

Resultado:

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

Por que o Captum é importante?

A interpretabilidade do modelo é crucial para entender como os modelos de AI chegam às suas decisões. O Captum ajuda pesquisadores e profissionais a obter insights sobre o comportamento do modelo, o que é essencial para depurar, melhorar e construir confiança nos sistemas de AI.

Onde posso usar o Captum?

O Captum pode ser usado em várias aplicações, incluindo:

  • Classificação de Imagens: Entenda quais pixels contribuem mais para a previsão de um modelo.
  • Classificação de Texto: Identifique as palavras ou frases-chave que impulsionam a análise de sentimento de um modelo.
  • Outros Modelos PyTorch: Interprete qualquer modelo PyTorch com modificações mínimas.

Melhores ferramentas alternativas para "Captum"

Weights & Biases
Imagem não disponível
231 0

Weights & Biases é a principal plataforma de desenvolvimento de IA para treinar e ajustar modelos, gerenciar modelos e rastrear e avaliar aplicações GenAI.

MLOps
Plataforma de IA
RunPod
Imagem não disponível
253 0

Desenvolva, treine e escale modelos de IA em uma nuvem. Ative GPUs sob demanda com GPU Cloud, escale a inferência de ML com Serverless.

IA
nuvem
GPU
MONAI
Imagem não disponível
190 0

MONAI é um framework de IA de código aberto para imagens médicas, impulsionando a inovação ao unir pesquisa e implantação clínica. Com a confiança de pesquisadores e clínicos.

imagens médicas
framework de IA
Treppan Technologies
Imagem não disponível
184 0

Treppan Technologies: a startup de IA líder em Uganda em 2024, oferecendo desenvolvimento de IA, consultoria e serviços de chatbot. Desbloqueie possibilidades com sua experiência.

IA
aprendizado de máquina
fast.ai
Imagem não disponível
191 0

fast.ai oferece cursos práticos de aprendizado profundo, ferramentas de software como fastai para PyTorch e nbdev, e um livro, com foco em tornar as redes neurais acessíveis.

aprendizado profundo
IA
PyTorch
Determined AI
Imagem não disponível
177 0

Plataforma de treinamento de aprendizado profundo de código aberto com ajuste de hiperparâmetros e treinamento distribuído integrados para modelos mais rápidos e melhores.

aprendizado profundo