本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
本機可解釋性
複雜模型的本機可解譯性最常用的方法,是以 Shapley 附加說明 (SHAP) 【8】 或整合式漸層 【11】 為基礎。每個方法都有一些特定於模型類型的變體。
對於樹組合模型,請使用樹 SHAP
在以樹為基礎的模型中,動態程式設計允許快速且精確地計算每個特徵的 Shapley 值
對於神經網路和可區分的模型,請使用整合式漸層和電導
整合式漸層提供一種直接的方式,以運算神經網路中的特徵屬性。傳導性建立在整合式漸層上,可協助您從層和個別神經元等神經網路的部分解譯屬性。(請參閱 【3,11】,實作位於 https://https://captum.ai/
對於所有其他情況,請使用核心 SHAP
您可以使用核心 SHAP 來運算任何模型的特徵屬性,但計算完整的 Shapley 值是近似值,且維持運算成本高昂 (請參閱 【8】)。核心 SHAP 所需的運算資源會隨著功能數量快速增長。這需要可以降低解釋擬真度、可重複性和穩健性的近似方法。Amazon SageMaker AI Clarify 提供便利方法,可在不同的執行個體中部署預先建置的容器來計算 Kernal SHAP 值。(如需範例,請參閱使用 SageMaker AI Clarify 的 GitHub 儲存庫公平性和可解釋性。) SageMaker
對於單一樹狀結構模型,分割變數和分葉值提供可立即解釋的模型,先前討論的方法不會提供額外的洞見。同樣地,對於線性模型,係數提供模型行為的明確解釋。(SHAP 和整合式漸層方法都會傳回係數決定的貢獻。)
SHAP 和整合式梯度型方法都有缺點。SHAP 需要從所有特徵組合的加權平均值衍生屬性。如果功能之間有強烈的互動,則以此方式取得的屬性在估算功能重要性時可能會產生誤導。由於大型神經網路中存在大量維度,因此以整合式漸層為基礎的方法可能難以解譯,而且這些方法對基礎點的選擇非常敏感。更普遍地說,模型可以以非預期的方式使用功能來達到特定層級的效能,而且這些功能可能因模型而異,功能重要性永遠取決於模型。
建議的視覺化效果
下列圖表提供幾種建議的方法,以視覺化方式呈現先前章節討論的本機解釋。對於表格式資料,我們建議使用顯示屬性的簡單長條圖,以便輕鬆比較並用來推斷模型如何進行預測。
對於文字資料,內嵌字符會導致大量純量輸入。前幾節建議的方法會針對內嵌的每個維度和每個輸出產生屬性。為了將此資訊分割為視覺化,可以加總指定字符的屬性。下列範例顯示在 SQUAD 資料集上訓練的 BERT 型問題回答模型屬性總和。在這種情況下,預測和真實標籤是「france」一詞的字符。
否則,權杖屬性的向量常態可以指派為總屬性值,如下列範例所示。
對於深度學習模型中的中繼層,類似的彙總可以套用至視覺化的傳導,如下列範例所示。轉換器層的權杖傳導此向量常態會顯示最終啟用權杖預測 (「france」)。
概念啟用向量提供更詳細地研究深度神經網路的方法 【6】。此方法會從已訓練的網路中的圖層擷取特徵,並訓練這些特徵的線性分類器,以推論圖層中的資訊。例如,您可能想要判斷 BERT 型語言模型的哪個層包含有關語音部分的資訊最多。在這種情況下,您可以在每個層輸出上訓練線性part-of-speech模型,並粗略估計最佳效能分類器與part-of-speech資訊的層相關聯。雖然我們不建議將此作為解譯神經網路的主要方法,但它可以作為更詳細的研究和協助設計網路架構的選項。