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

Captum

3.5 | 390 | 0
しゅるい:
オープンソースプロジェクト
最終更新:
2025/08/25
説明:
Captumは、PyTorch用のオープンソースのモデル解釈可能性ライブラリです。さまざまなモダリティをサポートし、拡張性を提供し、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" のベストな代替ツール

Wonder AI
画像がありません
442 0

Wonder AIは、テキストプロンプトを素晴らしいデジタルアートワークに変換するAIアートジェネレーターです。40種類以上のアートスタイルと、パーソナライズされたアート、ロゴ、タトゥーデザインを作成するためのAI搭載ツールを提供します。iOSとAndroidで利用可能です。

AIアート
画像生成
AIロゴ
Illusion Diffusion
画像がありません
447 0

Illusion Diffusion は、プロンプトから写真を魅力的なアート画像に変換し、アートと AI 画像生成テクノロジーを融合させる AI ツールです。

AI画像ジェネレーター
Tempest AI
画像がありません
413 0

Tempest AIは、AIを活用したゲーム作成・プレイプラットフォームです。GPT-5.1やDALL-E 3などの高度なAIモデルとチャットするだけで、ユニークな冒険を即座にデザインでき、完全なカスタマイズと多様なコミュニティゲームへのアクセスを提供します。

AIゲーム作成
Defog.ai
画像がありません
362 0

Defog.ai は、ファインチューニングされた LLM を使用してエンタープライズ データ分析を行い、即座にデータ インサイトを提供します。 SQLCoder を搭載し、正確なテキストから SQL への機能を提供し、さまざまなデータ ソースと統合します。業界のリーダーから信頼されています。

AIデータ分析
テキストからSQL

Captum関連タグ