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 模型關注的影像部分,來診斷模型預測。它透過強調對特定預測貢獻最大的區域,幫助將「黑盒」視覺模型轉化為可解釋人工智慧(XAI)。
How it works
此套件實作了各種類別激活映射(Class Activation Mapping, CAM)方法,用於分析 PyTorch 模型目標層的激活值與梯度。它支援廣泛的技術,包括基於梯度的技術(如 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:一種元方法(meta-method),使用滑動視窗與多尺度技術,使解釋在面對尺度變異與干擾物時更具魯棒性。
- 平滑化工具:提供測試時增強(test-time augmentation)與特徵值平滑化(eigen-smoothing)以減少視覺化中的雜訊。"},
相關
- 專案
- 專案
- 專案
- 專案
- 專案