understandable-machine-intelligence-lab/Quantus

[JMLR 2023] Quantus is an eXplainable AI toolkit for responsible evaluation of neural network explanations

Quantus – ニューラルネットワークの説明を評価するためのツールキット

何であるか Quantus は、研究者や実務者がニューラルネットワークの説明手法(XAI手法とも呼ばれる)の質を測定するのを支援するオープンソースのPythonライブラリです。35以上の定量的指標を6つのカテゴリ(忠実性、ロバスト性、局在化、複雑さ、ランダム化/感度、公理的)に分類し、PyTorchとTensorFlowの両方のモデルに対応しています。

なぜ重要か モデルの予測を視覚的に説明することは簡単ですが、どの説明手法が実際にモデルの推論を反映しているかを判断するのは難しいです。Quantusは、定性的な視覚的チェックを再現可能な数値に変換することで、この意思決定を自動化し、手法の比較、感度分析、他の人が再現可能な結果の報告が可能になります。

主な特徴

  • 35以上の即時利用可能な指標:XAI研究で使われる主要な評価次元をカバー。
  • フレームワーク非依存 – PyTorchまたはTensorFlowモデルに対応し、Captum、tf-explain、Zennitなどの人気ある説明ライブラリもサポート。
  • マルチモーダル対応 – 画像、時系列、表形式データに対応。NLP対応は計画中。
  • バッチ処理実装 – 既存の忠実性指標の処理速度を最大12倍に高速化。
  • 拡張可能 – 新しい指標を追加可能。現在も積極的に開発中(例:EfficientMPRT、SmoothMPRT)。
  • ドキュメントとチュートリアル – Colabノートブック、Binder起動、ReadTheDocs上の詳細ドキュメント。
  • インストールオプション – PyPIに軽量コアパッケージあり。必要に応じてオプションの追加パッケージでDLフレームワークをインストール(quantus[torch] または quantus[tensorflow])。

一般的なワークフロー

  1. 入力の準備 – 学習済みモデル、データバッチ(x_batch)、真のラベル(y_batch)、評価したい説明(a_batch)。
  2. 指標のインスタンス化 – 例:quantus.metrics.faithfulness から FaithfulnessCorrelation() をインスタンス化。
  3. 指標の実行metric.evaluate(model, x_batch, a_batch, y_batch) を呼び出して数値スコアを取得。
  4. 比較 – 複数の説明手法と指標で繰り返し実行。ライブラリ内蔵のプロットユーティリティで結果を可視化。

導入方法

pip install "quantus[torch]"   # または "quantus[tensorflow]"

その後、READMEにリンクされたColabチュートリアルに従い、事前学習済みLeNetモデルを使ったステップバイステップの例を試してください。

コミュニティ プロジェクトは Understandable Machine Intelligence Lab によって維持されています。GitHubとDiscordコミュニティで貢献を歓迎しています。

引用 Quantusを使用する場合、以下のJMLR論文を引用してください:

@article{hedstrom2023quantus,
  author = {Anna Hedström et al.},
  title  = {Quantus: An Explainable AI Toolkit for Responsible Evaluation of Neural Network Explanations and Beyond},
  journal= {JMLR},
  year   = 2023
}

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト