本機可解釋性 - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本機可解釋性

複雜模型的本機可解譯性最常用的方法,是以 Shapley 附加說明 (SHAP) 【8】 或整合式漸層 【11】 為基礎。每個方法都有一些特定於模型類型的變體。

對於樹組合模型,請使用樹 SHAP

在以樹為基礎的模型中,動態程式設計允許快速且精確地計算每個特徵的 Shapley 值,而這是樹集合模型中本機解釋的建議方法。(請參閱 7】,實作位於 https://https://github.com/slundberg/shap。)

對於神經網路和可區分的模型,請使用整合式漸層和電導

整合式漸層提供一種直接的方式,以運算神經網路中的特徵屬性。傳導性建立在整合式漸層上,可協助您從層和個別神經元等神經網路的部分解譯屬性。(請參閱 【3,11】,實作位於 https://https://captum.ai/。) 在沒有使用漸層的情況下,您無法在模型上使用這些方法;在這種情況下,您可以改為使用核心 SHAP (在下一節中討論)。當梯度可用時,整合式梯度屬性的運算速度可以比核心 SHAP 的屬性更快。使用整合式漸層的挑戰是選擇最佳基礎點來推展解釋。例如,如果影像模型的基本點是所有像素中零強度的影像,則較暗影像的重要區域可能沒有與人類直覺相符的屬性。解決此問題的其中一個方法是使用多個基本點屬性並將其加在一起。這是影像 【5】 的 XRAI 特徵屬性方法中採取的方法的一部分,其中使用黑色參考影像和白色參考影像的整合漸層屬性會一起新增,以產生更一致的屬性。

對於所有其他情況,請使用核心 SHAP

您可以使用核心 SHAP 來運算任何模型的特徵屬性,但計算完整的 Shapley 值是近似值,且維持運算成本高昂 (請參閱 【8】)。核心 SHAP 所需的運算資源會隨著功能數量快速增長。這需要可以降低解釋擬真度、可重複性和穩健性的近似方法。Amazon SageMaker AI Clarify 提供便利方法,可在不同的執行個體中部署預先建置的容器來計算 Kernal SHAP 值。(如需範例,請參閱使用 SageMaker AI Clarify 的 GitHub 儲存庫公平性和可解釋性。) SageMaker

對於單一樹狀結構模型,分割變數和分葉值提供可立即解釋的模型,先前討論的方法不會提供額外的洞見。同樣地,對於線性模型,係數提供模型行為的明確解釋。(SHAP 和整合式漸層方法都會傳回係數決定的貢獻。)

SHAP 和整合式梯度型方法都有缺點。SHAP 需要從所有特徵組合的加權平均值衍生屬性。如果功能之間有強烈的互動,則以此方式取得的屬性在估算功能重要性時可能會產生誤導。由於大型神經網路中存在大量維度,因此以整合式漸層為基礎的方法可能難以解譯,而且這些方法對基礎點的選擇非常敏感。更普遍地說,模型可以以非預期的方式使用功能來達到特定層級的效能,而且這些功能可能因模型而異,功能重要性永遠取決於模型。

建議的視覺化效果

下列圖表提供幾種建議的方法,以視覺化方式呈現先前章節討論的本機解釋。對於表格式資料,我們建議使用顯示屬性的簡單長條圖,以便輕鬆比較並用來推斷模型如何進行預測。

使用長條圖視覺化本機解釋

對於文字資料,內嵌字符會導致大量純量輸入。前幾節建議的方法會針對內嵌的每個維度和每個輸出產生屬性。為了將此資訊分割為視覺化,可以加總指定字符的屬性。下列範例顯示在 SQUAD 資料集上訓練的 BERT 型問題回答模型屬性總和。在這種情況下,預測和真實標籤是「france」一詞的字符。

在 SQUAD 資料集上訓練的 BERT 型問題回答模型屬性總和,範例 1

否則,權杖屬性的向量常態可以指派為總屬性值,如下列範例所示。

在 SQUAD 資料集上訓練的 BERT 型問題回答模型屬性總和,範例 2

對於深度學習模型中的中繼層,類似的彙總可以套用至視覺化的傳導,如下列範例所示。轉換器層的權杖傳導此向量常態會顯示最終啟用權杖預測 (「france」)。

對於深度學習模型中的中繼層,如何將彙總套用至視覺化的傳導

概念啟用向量提供更詳細地研究深度神經網路的方法 【6】。此方法會從已訓練的網路中的圖層擷取特徵,並訓練這些特徵的線性分類器,以推論圖層中的資訊。例如,您可能想要判斷 BERT 型語言模型的哪個層包含有關語音部分的資訊最多。在這種情況下,您可以在每個層輸出上訓練線性part-of-speech模型,並粗略估計最佳效能分類器與part-of-speech資訊的層相關聯。雖然我們不建議將此作為解譯神經網路的主要方法,但它可以作為更詳細的研究和協助設計網路架構的選項。