Captum: PyTorchのモデル解釈可能性

Captum

3.5 | 169 | 0
しゅるい:
オープンソースプロジェクト
最終更新:
2025/08/25
説明:
Captumは、PyTorch用のオープンソースのモデル解釈可能性ライブラリです。さまざまなモダリティをサポートし、拡張性を提供し、PyTorchモデルとシームレスに統合します。
共有:

Captum の概要

Captum:PyTorch のためのモデル解釈可能性

Captum とは?

Captum は、PyTorch におけるモデル解釈可能性の研究のためのオープンソースで拡張可能なライブラリです。視覚やテキストなど、さまざまなモダリティにわたる PyTorch モデルの予測を理解し、属性を特定するためのツールを提供します。

主な機能

  • マルチモーダル: 視覚、テキストなど、さまざまなモダリティにわたるモデルの解釈可能性をサポートします。
  • PyTorch 上に構築: ほとんどの種類の PyTorch モデルをサポートし、元のニューラルネットワークへの最小限の変更で使用できます。
  • 拡張可能: 解釈可能性の研究のためのオープンソースの汎用ライブラリ。新しいアルゴリズムを簡単に実装してベンチマークできます。

Captum の始め方

  1. Captum のインストール

    • conda 経由(推奨):
    conda install captum -c pytorch
    
    • pip 経由:
    pip install captum
    
  2. モデルの作成と準備

次の例は、Captum を簡単な 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()

計算を決定的にするために、乱数シードを固定しましょう。

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

入力およびベースラインテンソルを定義します。

input = torch.rand(2, 3)
baseline = torch.zeros(2, 3)
  1. インスタンス化して適用するアルゴリズムを選択

この例では、積分勾配を使用します。

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

出力:

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

Captum が重要な理由

モデルの解釈可能性は、AI モデルがどのように意思決定を行うかを理解するために重要です。Captum は、研究者や実務者がモデルの動作に関する洞察を得るのに役立ちます。これは、AI システムのデバッグ、改善、および信頼構築に不可欠です。

Captum はどこで使用できますか?

Captum は、以下を含むさまざまなアプリケーションで使用できます。

  • 画像分類: モデルの予測に最も貢献するピクセルを理解します。
  • テキスト分類: モデルのセンチメント分析を推進するキーワードまたはフレーズを特定します。
  • その他の PyTorch モデル: 最小限の変更で任意の PyTorch モデルを解釈します。

"Captum" のベストな代替ツール

Treppan Technologies
画像がありません
177 0

Treppan Technologies:ウガンダを代表する2024年のAIスタートアップ企業で、AI開発、コンサルティング、チャットボットサービスを提供しています。 彼らの専門知識で可能性を解き放ちます。

機械学習
AI開発
AIコンサルティング
Weights & Biases
画像がありません
230 0

Weights & Biasesは、モデルのトレーニングと微調整、モデルの管理、GenAIアプリケーションの追跡と評価を行うための主要なAI開発者プラットフォームです。

MLOps
AIプラットフォーム
RunPod
画像がありません
249 0

1つのクラウドでAIモデルを開発、トレーニング、スケーリング。GPU CloudでオンデマンドのGPUを起動し、ServerlessでML推論をスケーリング。

クラウド
GPU
機械学習
MONAI
画像がありません
187 0

MONAIは、医療画像処理用のオープンソースAIフレームワークであり、研究と臨床展開を結びつけ、イノベーションを推進します。研究者や臨床医から信頼されています。

医療画像
AIフレームワーク
深層学習
fast.ai
画像がありません
189 0

fast.aiは、実践的な深層学習コース、fastai for PyTorchやnbdevなどのソフトウェアツール、およびニューラルネットへのアクセスを容易にすることに焦点を当てた書籍を提供します。

深層学習
PyTorch
教育
Determined AI
画像がありません
175 0

より高速で優れたモデルのために、ハイパーパラメータ調整と分散トレーニングが組み込まれたオープンソースの深層学習トレーニングプラットフォーム。

深層学習
分散トレーニング