Captum · Model Interpretability for PyTorch

Captum · Model Interpretability for PyTorch

Meta (PyTorch team) · 程式設計

Captum 是 Meta 推出的免費開源函式庫,用來說明 PyTorch 模型的預測依據。它的歸因演算法會指出哪些輸入特徵、神經元或層次影響了某個輸出。

Captum · Model Interpretability for PyTorch 的介面預覽

關於 Captum · Model Interpretability for PyTorch

About

Captum 是什麼

Captum 是一套 PyTorch 模型可解釋性函式庫,要回答的問題很具體:一個已經訓練好的網路,究竟在對什麼東西反應。名字來自拉丁文,意思是理解,工作內容也正是如此。把手上的模型交給它,套用一種歸因演算法,拿回來的數字會告訴你某個輸入特徵、某個神經元、某一層,對這次預測貢獻了多少。

真正需要它的時候,通常是模型出錯又沒人講得清原因。分類器把一張影像判成異常、推薦系統一直推同一件奇怪的商品、語言模型給出的答案信心滿滿卻毫無道理。Captum 讓你打開前向傳播看個究竟,而不是靠猜。

限制在於範圍。它是函式庫,不是應用程式。Python 和 PyTorch 要寫得順手,否則整件事很難進行,而輸出是一堆張量,得自己解讀或畫在 notebook 裡。沒有現成的雲端儀表板可開。團隊在 0.8.0 版之後就下架了 Captum Insights 視覺化介面,期待點幾下滑鼠就能看圖的人會失望。

上手步驟

  1. 用 pip install captum 安裝,conda 使用者可改用 conda install captum -c pytorch。0.9.0 版要求 Python 3.10 以上、PyTorch 2.3 以上。
  2. 載入訓練好的模型,切到評估模式。多數演算法不需要動到網路架構。
  3. 挑一種演算法,把模型傳進去。處理梯度類歸因時,IntegratedGradients(model) 通常是最先嘗試的選擇。
  4. 呼叫 attribute(),帶入輸入批次;若演算法需要基準,再給一個全零張量之類的參考值。
  5. 檢查回傳的歸因值,若要求了收斂差值就一併核對,然後把分數和輸入擺在一起畫圖。

產品資訊

快速了解 Captum · Model Interpretability for PyTorch 的定價、支援平台與效能。

免費方案是
付費方案Free (open source, BSD 3 Clause)
平台Python library; runs on CPU, GPU and distributed PyTorch setups
開發者Meta (PyTorch team)
類別程式設計
發布日期Jun 2020
最近更新Apr 2026
網站訪問量7.2K
網站全球排名2.9M
API 提供狀態是

適合對象

這項工具最適合的使用者、任務與情境。

使用者

  • 機器學習工程師:手上已經有 PyTorch 模型在跑,遇到預測看起來不對時需要一個說得出口的答案。前提是 Python 寫得順,而且模型能在本機載入。
  • 可解釋性研究者:Captum 從設計上就允許擴充,你可以實作新演算法,拿函式庫裡既有的方法當基準,再把比較結果發表出去。
  • 在生產環境跑模型的應用工程師:需要向終端使用者說明為什麼看到某個推薦時,概念模組與影響力模組能拿出具體材料。

任務

  • 追查錯誤預測:對出問題的樣本跑 Saliency 或 Integrated Gradients,能看出哪些像素或詞元把輸出推向錯誤類別。
  • 檢查模型是否學到捷徑:FeatureAblation 會逐一移除或替換輸入區塊,從結果判斷模型依賴的是真實訊號還是背景雜訊。
  • 比較神經元與層次:LayerConductance 與 NeuronConductance 針對指定層與神經元打分,懷疑某個區塊壞事時特別好用。
  • 稽核訓練資料:TracIn 影響力函數可估算哪些訓練樣本對某次預測影響最大,有助於清理資料與檢視資料集。

情境

  • 準備模型審查會議:把歸因圖附在幾筆具代表性的預測上,討論就能從證據開始,不必憑感覺。
  • 研究大型語言模型:LLMAttribution 與 LLMGradientAttribution 兩個封裝把同一套演算法接到生成式模型的詞元層級解釋上。
  • 上線前壓力測試:穩健性模組內建 FGSM 與 PGD 攻擊,可量測輸入稍微改動後預測會偏移多少。

主要功能

歸因演算法

Captum 把方法分成梯度類與擾動類兩大家族。梯度類有 Saliency、InputXGradient、IntegratedGradients、DeepLift、GradientShap、GuidedBackprop 與 Guided GradCam,擾動類有 FeatureAblation、Occlusion、ShapleyValueSampling 與 Lime。兩類放在同一個地方,結果就能互相對照:梯度法和擾動法指向同一批像素時,特徵歸因的可信度更高,帶著具體解釋進模型除錯會議,會比帶著直覺有用得多。

神經元與層次歸因

特徵歸因說的是模型看了哪裡,神經元與層次歸因說的是網路內部哪一處發生這件事。LayerConductance、LayerIntegratedGradients、LayerLRP 以及對應的神經元版本,會替指定層的活化值打分,出錯的預測因此能一路追到架構中的某個位置。

LLM 歸因封裝

LLMAttribution 與 LLMGradientAttribution 把既有演算法接到 Hugging Face 風格的語言模型上,處理詞元序列。它們會指出提示中的哪些詞元影響了生成的回覆,你也可以先把詞元組成詞或片語再評分。LLM 歸因比單純跑一次前向傳播慢得多,推論成本要先算進去。

概念與影響力分析

概念模組實作了 TCAV,做法是在活化值上訓練一個小型分類器,判斷條紋、毛髮這類概念對某個類別重不重要。影響力模組則加入 TracIn 等估計方法,用來追問哪些訓練樣本塑造了某次預測。兩者都偏研究流程,不適合臨時抽查。

穩健性測試

穩健性模組提供 FGSM、PGD、AttackComparator 與 MinParamPerturbation。你可以產生對抗樣本、並排比較不同攻擊,或搜尋能讓標籤翻轉的最小擾動。搭配歸因使用很自然:一個特徵如果同時通過梯度檢查與攻擊檢查,結論就更有份量。

解釋品質指標

失真度(infidelity)與敏感度(sensitivity)兩項指標,用來估計一組歸因值有多可靠。與其因為熱圖看起來合理就相信它,不如量化輸入被擾動時解釋與模型偏離多少,再拿不同演算法在同一筆樣本上比較。

優缺點

優點

  • 不必改模型:多數演算法直接接受任何 PyTorch `nn.Module`,想解釋網路不用重新訓練或改寫結構。
  • 演算法覆蓋廣:匯出超過六十個歸因類別,從 Saliency 到 LRP、Shapley 值與 TCAV,全部走同一個匯入路徑。
  • 結果可驗證:IntegratedGradients 會回傳收斂差值,函式庫本身也內建失真度與敏感度指標,解釋可以被檢查,而不是只能相信。
  • 原生支援多模態:同一套 API 能處理影像張量、文字詞元輸入、音訊與時間序列,跨專案的程式風格因此一致。
  • 免費且授權寬鬆:BSD 3 Clause 允許用在商業程式碼裡,不必向任何人報備。

缺點

  • 學習曲線偏陡:在四十多種演算法之間做選擇,得先弄懂每一種的前提假設,函式庫不會幫你判斷。
  • 沒有視覺介面:Captum Insights 在 0.8.0 版後已下架,想看圖得自己寫繪圖程式。
  • 部分方法吃算力:擾動類演算法與 LLM 歸因每筆樣本要跑很多次前向傳播,模型一大成本就上去了。
  • 需要 PyTorch 基礎:沒有跨框架的封裝可用,PyTorch 生態以外的人拿不到入口,輸出又是原始張量。TensorFlow 或 JAX 團隊無法沿用既有的模型程式碼,不會 Python 的人則完全沒有著力點。

常見問題

Captum 用來說明 PyTorch 模型的預測。它會評估每個輸入特徵、神經元或層次對輸出的貢獻,適合除錯、模型審查,以及研究網路如何做決定。

相關內容

探索與 Captum · Model Interpretability for PyTorch 相關的工具、技能與文章。

Captum · Model Interpretability for PyTorch 替代方案

Forefront

Forefront

Forefront · 程式設計

Forefront 是一個用來打造開源 AI 的網頁平台。你可以用自己的資料微調主流的開源語言模型、評估它們的表現,再透過 API 執行,或匯出後自行架設。想要封閉式平台的便利、卻堅持要自己擁有模型與資料的開發者,就是這裡的目標客群。

免費 / $0 - $99/mo查看詳情
Startkit

Startkit

StartKit.AI · 程式設計

Startkit 是一套用來打造 AI SaaS 與 AI 包裝產品的樣板。可以把它想成一個 AI 新創樣板,把枯燥的部分都先接好了:驗證、Stripe 與 Lemon Squeezy 付款、用量限制、交易型電子郵件,以及一套能與 OpenAI、Anthropic、Groq 或 Llama 溝通的 AI API 啟動套件。你複製儲存庫、設定價格,然後專心在產品中使用者真正願意付費的部分。它建構於 React 與 Tailwind 之上的 Next.js,所以大部分的樣板程式碼對你來說並不陌生。

付費 / $99 - $499 one-time查看詳情
Testim

Testim

Tricentis · 程式設計

Testim 是專為網頁、行動與 Salesforce 應用程式打造的 AI 測試自動化平台,用來建立並執行端到端測試。它靠機器學習在介面變動時維持測試穩定,團隊因此少花時間修補壞掉的定位器。對於一款今天就能開始使用的自動化測試工具來說,這表現不算差。你透過在瀏覽器錄製動作來建立測試,需要更多控制時再補上 JavaScript。對忙碌的 QA 團隊來說,這是個可靠的選擇。

免費 / Custom pricing on request查看詳情