jacobgil/pytorch-grad-cam
Advanced AI Explainability for computer vision. Support for CNNs, Vision Transformers, Classification, Object detection, Segmentation, Image similarity and more.
What it solves
このライブラリは、コンピュータビジョンのための包括的なピクセルアトリビューション(Pixel Attribution)手法のコレクションを提供し、開発者や研究者がAIモデルが画像のどの部分に注目しているかを可視化することで、モデルの予測を診断できるようにします。特定の予測に最も貢献している領域をハイライトすることで、「ブラックボックス」なビジョンモデルを説明可能なAI(XAI)へと変えるお手伝いをします。
How it works
本パッケージは、PyTorchモデルのターゲット層の活性化と勾配を分析する、様々なClass Activation Mapping (CAM) 手法を実装しています。勾配ベースの手法(GradCAMやGradCAM++)、勾配フリーの手法(AblationCAMやScoreCAM)、およびPCAベースの手法(EigenCAM)を含む、幅広い技術をサポートしています。異なるアーキテクチャに対応するため、「reshape transforms」を使用して活性化を空間的な画像に変換し、「model targets」を使用してモデルの出力が何を説明すべきかを正確に定義します。
Who it’s for
- AI 研究者:新しい説明可能性手法の開発や、既存手法のベンチマークを行っている方。
- ML エンジニア:本番環境や開発中にモデルの挙動を診断する必要がある開発者。
- コンピュータビジョン実務家:分類、物体検出、セマンティックセグメンテーションなどのタスクでCNNやVision Transformers (ViT) を扱っている方。
Highlights
- 幅広い手法のサポート:GradCAM、HiResCAM、FullGrad、ShapleyCAMなどの最先端の手法を豊富に含んでいます。
- アーキテクチャに依存しない:一般的なCNNやVision Transformers(例:ResNet、ViT、Swin Transformer)で動作します。
- タスクの多様性:分類、物体検出、セマンティックセグメンテーション、および埋め込み類似度(embedding similarity)をサポートします。
- 評価指標:説明の信頼性を定量的にチェックするための組み込み指標(例:ROADやARCC)を含んでいます。
- SESS Wrapper:スライディングウィンドウとマルチスケールを使用して、説明の堅牢性をスケール変化や妨げとなる要素に対して高めるメタ手法です。
- 平滑化ツール:可視化のノイズを減らすためのテスト時拡張(test-time augmentation)と固有値平滑化(eigen-smoothing)を提供します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト