Captum
Descripción general de Captum
Captum: Interpretabilidad de Modelos para PyTorch
¿Qué es Captum?
Captum es una biblioteca de código abierto y extensible para la investigación de la interpretabilidad de modelos en PyTorch. Proporciona herramientas para comprender y atribuir las predicciones de los modelos de PyTorch en diversas modalidades como la visión y el texto.
Características Clave
- Multi-Modal: Admite la interpretabilidad de modelos en diversas modalidades, incluyendo visión, texto y más.
- Construido sobre PyTorch: Admite la mayoría de los tipos de modelos de PyTorch y se puede usar con una modificación mínima de la red neuronal original.
- Extensible: Biblioteca genérica de código abierto para la investigación de la interpretabilidad. Implementa y compara fácilmente nuevos algoritmos.
¿Cómo empezar con Captum?
Instalar Captum:
- Vía conda (recomendado):
conda install captum -c pytorch- Vía pip:
pip install captumCrear y Preparar un Modelo:
El siguiente ejemplo demuestra cómo usar Captum con un ToyModel simple:
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 que los cálculos sean deterministas, fijemos las semillas aleatorias:
torch.manual_seed(123)
np.random.seed(123)
Definir los tensores de entrada y de línea base:
input = torch.rand(2, 3)
baseline = torch.zeros(2, 3)
- Seleccionar el Algoritmo para Instanciar y Aplicar:
Este ejemplo usa Integrated Gradients:
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 qué es importante Captum?
La interpretabilidad del modelo es crucial para comprender cómo los modelos de AI llegan a sus decisiones. Captum ayuda a los investigadores y profesionales a obtener información sobre el comportamiento del modelo, lo cual es esencial para depurar, mejorar y generar confianza en los sistemas de AI.
¿Dónde puedo usar Captum?
Captum se puede usar en varias aplicaciones, incluyendo:
- Clasificación de Imágenes: Comprender qué píxeles contribuyen más a la predicción de un modelo.
- Clasificación de Texto: Identificar las palabras o frases clave que impulsan el análisis de sentimiento de un modelo.
- Otros Modelos de PyTorch: Interpretar cualquier modelo de PyTorch con modificaciones mínimas.
Mejores herramientas alternativas a "Captum"
Defog.ai proporciona análisis de datos impulsado por IA mediante LLM ajustados, lo que permite a los usuarios obtener rápidamente información de los datos empresariales a través de SQLCoder. Ideal para organizaciones basadas en datos.
GPTZero es un detector de IA gratuito y preciso para ChatGPT, GPT-5 y Gemini. Con la confianza de más de 10 millones de educadores, estudiantes y profesionales con una precisión del 99%.
CPUmade es una plataforma impulsada por IA que permite a los usuarios crear diseños de camisetas personalizadas mediante descripciones de texto simples. Genere diseños de ropa únicos, personalice colores y solicite directamente con envío global.
Claude AI de Anthropic está diseñado para la fiabilidad, la interpretabilidad y la dirigibilidad. Explora Claude Opus y Sonnet para aplicaciones avanzadas de IA, codificación y agentes de IA.
EduWriter.ai es el mejor escritor de ensayos con IA en 2025, que genera instantáneamente ensayos indetectables y sin plagio con referencias reales. Con la confianza de más de 1,6 millones de estudiantes. ¡Pruébalo gratis ahora!
Bethge Lab en la Universidad de Tübingen se centra en la investigación en IA, el aprendizaje automático y la comprensión de las representaciones cerebrales mediante redes neuronales.