Captum : Interprétabilité des modèles pour PyTorch

Captum

3.5 | 163 | 0
Type:
Projets Open Source
Dernière mise à jour:
2025/08/25
Description:
Captum est une bibliothèque open source d'interprétabilité de modèles pour PyTorch. Il prend en charge diverses modalités, offre une extensibilité et s'intègre parfaitement aux modèles PyTorch.
Partager:

Vue d'ensemble de Captum

Captum : Interprétabilité des modèles pour PyTorch

Qu’est-ce que Captum ?

Captum est une bibliothèque open source et extensible pour la recherche sur l’interprétabilité des modèles dans PyTorch. Elle fournit des outils pour comprendre et attribuer les prédictions des modèles PyTorch à travers diverses modalités comme la vision et le texte.

Principales caractéristiques

  • Multimodal: Prend en charge l’interprétabilité des modèles à travers des modalités incluant la vision, le texte et plus encore.
  • Basée sur PyTorch: Prend en charge la plupart des types de modèles PyTorch et peut être utilisée avec une modification minimale du réseau neuronal d’origine.
  • Extensible: Bibliothèque générique open source pour la recherche sur l’interprétabilité. Implémentez et comparez facilement de nouveaux algorithmes.

Comment démarrer avec Captum ?

  1. Installer Captum:

    • Via conda (recommandé) :
    conda install captum -c pytorch
    
    • Via pip :
    pip install captum
    
  2. Créer et préparer un modèle:

L’exemple suivant montre comment utiliser Captum avec un simple ToyModel :

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

Pour rendre les calculs déterministes, corrigeons les graines aléatoires :

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

Définir les tenseurs d’entrée et de référence :

input = torch.rand(2, 3)
baseline = torch.zeros(2, 3)
  1. Sélectionner l’algorithme à instancier et à appliquer:

Cet exemple utilise les gradients intégrés :

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

Sortie :

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

Pourquoi Captum est-il important ?

L’interprétabilité des modèles est cruciale pour comprendre comment les modèles d’AI prennent leurs décisions. Captum aide les chercheurs et les praticiens à mieux comprendre le comportement des modèles, ce qui est essentiel pour déboguer, améliorer et renforcer la confiance dans les systèmes d’AI.

Où puis-je utiliser Captum ?

Captum peut être utilisé dans diverses applications, notamment :

  • Classification d’images: Comprendre quels pixels contribuent le plus à la prédiction d’un modèle.
  • Classification de texte: Identifier les mots ou expressions clés qui motivent l’analyse des sentiments d’un modèle.
  • Autres modèles PyTorch: Interpréter n’importe quel modèle PyTorch avec des modifications minimales.

Meilleurs outils alternatifs à "Captum"

MONAI
Image non disponible
180 0

MONAI est un framework d'IA open source pour l'imagerie médicale, qui favorise l'innovation en reliant la recherche et le déploiement clinique. Approuvé par les chercheurs et les cliniciens.

imagerie médicale
framework d'IA
Treppan Technologies
Image non disponible
172 0

Treppan Technologies : la principale startup d'IA en Ouganda en 2024, offrant des services de développement d'IA, de consultation et de chatbot. Débloquez des possibilités grâce à leur expertise.

IA
apprentissage automatique
Weights & Biases
Image non disponible
224 0

Weights & Biases est la principale plateforme de développement d'IA pour entraîner et affiner les modèles, gérer les modèles et suivre et évaluer les applications GenAI.

MLOps
Plateforme IA
RunPod
Image non disponible
239 0

Développez, entraînez et mettez à l'échelle des modèles d'IA dans un seul cloud. Lancez des GPU à la demande avec GPU Cloud, mettez à l'échelle l'inférence ML avec Serverless.

IA
cloud
GPU
fast.ai
Image non disponible
188 0

fast.ai propose des cours pratiques d'apprentissage profond, des outils logiciels comme fastai pour PyTorch et nbdev, et un livre, en se concentrant sur la facilitation de l'accès aux réseaux neuronaux.

apprentissage profond
IA
PyTorch
Determined AI
Image non disponible
165 0

Plateforme d'entraînement d'apprentissage profond open source avec réglage d'hyperparamètres et entraînement distribué intégrés pour des modèles plus rapides et meilleurs.

apprentissage profond