Captum
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?
Instale o Captum:
- Via conda (recomendado):
conda install captum -c pytorch- Via pip:
pip install captumCrie 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)
- 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"
Defog.ai fornece análise de dados orientada por IA usando LLMs ajustados, permitindo que os usuários obtenham rapidamente insights de dados empresariais via SQLCoder. Ideal para organizações orientadas a dados.
GPTZero é um detector de IA gratuito e preciso para ChatGPT, GPT-5 e Gemini. Com a confiança de mais de 10 milhões de educadores, estudantes e profissionais com uma precisão de 99%.
CPUmade é uma plataforma movida por IA que permite aos usuários criar designs de camisetas personalizadas por meio de descrições de texto simples. Gere designs de roupas únicos, personalize cores e encomende diretamente com entrega global.
O Claude AI da Anthropic foi projetado para confiabilidade, interpretabilidade e dirigibilidade. Explore Claude Opus e Sonnet para aplicações avançadas de IA, codificação e agentes de IA.
EduWriter.ai é o melhor redator de ensaios com IA em 2025, gerando instantaneamente ensaios indetectáveis e sem plágio com referências reais. Com a confiança de mais de 1,6 milhão de estudantes. Experimente grátis agora!
Bethge Lab na Universidade de Tübingen concentra-se em pesquisa de IA, aprendizado de máquina e compreensão de representações cerebrais usando redes neurais.