Captum: Interpretabilidad de modelos para PyTorch

Captum

3.5 | 178 | 0
Tipo:
Proyectos de Código Abierto
Última actualización:
2025/08/25
Descripción:
Captum es una biblioteca de código abierto para la interpretabilidad de modelos en PyTorch. Admite varias modalidades, ofrece extensibilidad y se integra perfectamente con los modelos de PyTorch.
Compartir:

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?

  1. Instalar Captum:

    • Vía conda (recomendado):
    conda install captum -c pytorch
    
    • Vía pip:
    pip install captum
    
  2. Crear 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)
  1. 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"

RunPod
Imagen no disponible
253 0

Desarrolle, entrene y escale modelos de IA en una nube. Active GPU bajo demanda con GPU Cloud, escale la inferencia de ML con Serverless.

IA
nube
GPU
MONAI
Imagen no disponible
190 0

MONAI es un framework de IA de código abierto para imágenes médicas, que impulsa la innovación al unir la investigación y la implementación clínica. Con la confianza de investigadores y médicos.

imágenes médicas
framework de IA
Treppan Technologies
Imagen no disponible
184 0

Treppan Technologies: la startup de IA líder en Uganda en 2024, que ofrece desarrollo de IA, consultoría y servicios de chatbot. Desbloquee posibilidades con su experiencia.

IA
aprendizaje automático
Weights & Biases
Imagen no disponible
231 0

Weights & Biases es la plataforma líder de desarrollo de IA para entrenar y ajustar modelos, gestionar modelos y rastrear y evaluar aplicaciones GenAI.

MLOps
Plataforma de IA
fast.ai
Imagen no disponible
192 0

fast.ai proporciona cursos prácticos de aprendizaje profundo, herramientas de software como fastai para PyTorch y nbdev, y un libro, centrándose en hacer que las redes neuronales sean accesibles.

aprendizaje profundo
IA
PyTorch
Determined AI
Imagen no disponible
178 0

Plataforma de entrenamiento de aprendizaje profundo de código abierto con ajuste de hiperparámetros y entrenamiento distribuido incorporados para modelos más rápidos y mejores.

aprendizaje profundo