
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 captum
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)
- 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 é a principal plataforma de desenvolvimento de IA para treinar e ajustar modelos, gerenciar modelos e rastrear e avaliar aplicações GenAI.

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.

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.

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.

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.

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.