模型可解釋性
本文描述方法供您用於 Azure Machine Learning 中的模型可解釋性。
重要
隨著包含模型可解釋性的負責任 AI 儀表板發行,建議您改為使用新版本,因為舊版的 SDKv1 預覽模型可解釋性儀表板將不再主動維護。
模型可解釋性對模型偵錯的重要性
若機器學習模型的使用方式會影響到人們的生活,就一定要了解什麼因素會影響到模型的行為。 可解譯性有助於回答下列案例中的問題,例如:
- 模型偵錯:為什麼我的模型會犯下這個錯誤? 如何改善模型?
- 人類 AI 共同作業:該如何瞭解及信任模型的決策?
- 法規合規性:我的模型是否符合法律需求?
負責任 AI 儀表板的可解釋性元件,能對機器學習模型的預測產生人類可理解的敘述,以此方式參與模型生命週期工作流程的「診斷」階段。 其會針對模型行為提供多種觀點:
- 全域說明:例如,哪些特徵會影響貸款配置模型的整體行為?
- 局部說明:例如,客戶的貸款申請為何通過核准或遭到拒絕?
您也可以觀察所選世代的模型說明,作為資料點的子群組。 舉例來說,在評估模型預測對特定人口統計群組中的個人的公平性時,這種方式就相當有價值。 此元件的 [局部說明] 索引標籤也會呈現完整的資料視覺效果,非常適合一般的資料檢視工作,並且可注意每個世代的正確預測與不正確預測之間的差異。
此元件的功能是由 InterpretML 封裝所建立,其會產生模型的說明。
當您有以下需求時,請使用可解譯性:
- 藉由瞭解對於預測而言最重要的功能,判斷您的 AI 系統預測值得信任的程度。
- 為了處理您的模型偵錯,請先了解模型,並確認模型是否使用良好的特徵,或只是假性相互關聯。
- 了解模型是否是根據敏感性特徵或高度相互關聯的特徵進行預測,以找出潛在的不公平性來源。
- 產生局部說明以描述其結果,建立使用者對模型決策的信任。
- 完成 AI 系統的法規稽核,以驗證模型並監視模型決策對人類的影響。
如何解讀模型
在機器學習中,「特徵」是用來預測目標資料點的資料欄位。 例如,若要預測信用風險,可能會使用年齡、帳戶規模和帳戶存留期的資料欄位。 在此案例中,年齡、帳戶規模和帳戶存留期都是特徵。 透過特徵重要度,可看出每個資料欄位如何影響模型的預測。 例如,雖然可能在預測期間大量使用到年齡,帳戶規模和帳戶存留期可能不會對預測值產生重大影響。 透過此流程,資料科學家在解釋產生的預測結果,可採取能讓專案關係人清楚了解模型最重要特徵的方式。
使用負責任 AI 儀表板中的類別和方法,以及使用 SDK v2 和 CLI v2,可做到以下幾點:
- 產生整個模型 (全域說明) 及/或個別資料點 (局部說明) 的特徵重要度值,以解釋模型預測。
- 在大規模真實資料集上達成模型可解釋性。
- 在定型階段,使用互動式視覺效果儀表板來探索資料模式及其說明。
使用 SDK v1 中的類別與方法,可做到以下幾點:
- 產生整個模型及/或個別資料點的特徵重要度值,以解釋模型預測。
- 在定型和推斷期間,在大規模真實資料集上達成模型可解釋性。
- 在定型階段,使用互動式視覺效果儀表板來探索資料模式及其說明。
注意
模型可解譯性類別是由 SDK v1 套件提供。 如需詳細資訊,請參閱安裝適用於 Azure Machine Learning 的套件和 azureml.interpret。
支援的模型可解釋性技術
負責任 AI 儀表板與 azureml-interpret
使用的是 Interpret-Community 中開發的可解釋性技術。這是開放原始碼 Python 封裝,用於定型可解釋模型,並協助說明黑箱 AI 系統。 黑箱模型即是我們不具有內部作業資訊的模型。
Interpret-Community 可作為以下支援解釋器的主機,且目前支援下一節中介紹的可解譯性技術。
在 Python SDK v2 及 CLI v2 中的負責任 AI 儀表板支援
可解譯性技術 | 描述 | 類型 |
---|---|---|
模仿解釋器 (全域代理) + SHAP 樹狀 | 模仿解釋器以定型全域代理模型的概念為基礎來模仿黑箱模型。 全域代理模型是一種本質上可解釋的模型,經過定型以盡可能準確接近「任何黑箱模型」的預測。 資料科學家可以解讀代理模型,以得出黑箱模型的結論。 負責任 AI 儀表板會使用 LightGBM (LGBMExplainableModel) 與 SHAP (SHapley Additive exPlanations) 樹狀解釋器配對,這是樹狀與樹狀集成的專用解釋器。 LightGBM 和 SHAP 樹狀的組合,提供不限機器學習模型的全域和局部說明。 |
模型無關 |
文字模型支援的模型可解釋性技術
可解譯性技術 | 描述 | 類型 | 文字工作 |
---|---|---|---|
SHAP 文字 | SHAP (SHapley Additive exPlanations) 是深度神經網路的熱門說明方法,可提供每個輸入功能對指定預測貢獻的深入解析。 它以 Shapley 值的概念為基礎,這是在合作遊戲中將信用指派給個別玩家的方法。 SHAP 將這個概念套用至神經網路的輸入特徵,方法是計算每個特徵對模型所有可能特徵組合的平均貢獻。 具體來說,SHAP 會以階層方式分割單字,將每個單字或權杖視為特徵。 這會產生一組屬性值,以量化指定預測的每個單字或權杖的重要性。 透過將這些值視覺化為原始文字文件上的熱度圖,產生最終的屬性對應。 SHAP 是一種與模型無關的方法,可用來說明廣泛的深度學習模型,包括 CNN、RNN 及轉換器。 此外,它提供數個理想的屬性,例如一致性、精確度及公平性,使其成為一種可靠且可解譯的技術,以瞭解模型的決策流程。 | 模型無關 | 文字多類別分類、文字多標籤分類 |
映像模型支援的模型可解釋性技術
可解譯性技術 | 描述 | 類型 | 視覺工作 |
---|---|---|---|
SHAP 視覺 | SHAP (SHapley Additive exPlanations) 是深度神經網路的熱門說明方法,可提供每個輸入功能對指定預測貢獻的深入解析。 它以 Shapley 值的概念為基礎,這是在合作遊戲中將信用指派給個別玩家的方法。 SHAP 將這個概念套用至神經網路的輸入特徵,方法是計算每個特徵對模型所有可能特徵組合的平均貢獻。 具體來說,SHAP 會以階層方式分割映像,將映像的超像素區域視為每個特徵。 這會產生一組屬性值,以量化每個超像素或映像區域對於指定預測的重要性。 最終屬性對應是藉由將這些值視覺化為熱度圖來產生。 SHAP 是一種與模型無關的方法,可用來說明廣泛的深度學習模型,包括 CNN、RNN 及轉換器。 此外,它提供數個理想的屬性,例如一致性、精確度及公平性,使其成為一種可靠且可解譯的技術,以瞭解模型的決策流程。 | 模型無關 | 映像多類別分類、映像多標籤分類 |
引導式反向傳播 | 引導式反向傳播是深度神經網路的熱門說明方法,可提供模型所學習表示法的深入解析。 它會藉由計算輸出的漸層來計算輸入映像的漸層,以產生可啟動模型中特定神經元的輸入特徵視覺效果。 與其他以漸層為基礎的方法不同,引導式反向傳播只會透過正漸層進行反向傳播,並使用修改後的 ReLU 啟用函式來確保負漸層不會影響視覺效果。 這會產生更具解譯且高解析度的對應,以醒目提示指定預測輸入映像中最重要的特徵。 引導式反向傳播可用來說明廣泛的深度學習模型,包括卷積神經網路 (CNN)、遞歸神經網路 (RNN) 及轉換器。 | AutoML | 映像多類別分類、映像多標籤分類 |
引導式 gradCAM | 引導式 GradCAM 是深度神經網路的熱門說明方法,可提供模型所學習表示法的深入解析。 它透過將基於漸層的引導式反向傳播方法與 GradCAM 的當地語系化方法相結合,產生對特定輸出類別貢獻最大輸入特徵的視覺效果。 具體來說,它會計算輸出類別的漸層相對於網路中最後一個卷積層的特徵對應,然後依據該類別啟用的重要性來加權每個特徵對應。 這會產生高解析度熱度圖,以醒目提示指定輸出類別輸入映像的最具辨別力區域。 引導式 GradCAM 可用來說明廣泛的深度學習模型,包括 CNN、RNN 及轉換器。 此外,藉由納入引導式反向傳播,可確保視覺效果有意義且可解譯,避免虛假啟用和負面貢獻。 | AutoML | 映像多類別分類、映像多標籤分類 |
整合式漸層 | 整合式漸層是深度神經網路的熱門說明方法,可提供每個輸入功能對指定預測貢獻的深入解析。 它會計算輸出類別相對於輸入映像的漸層整數,沿著基準映像與實際輸入映像之間的直線路徑。 此路徑通常會選擇為兩個映像之間的線性插補,而基準是沒有突出特徵的中性映像。 整合此路徑上的漸層,整合式漸層會提供每個輸入特徵對預測貢獻方式的量值,讓屬性對應產生。 此地圖會醒目提示最具影響力的輸入功能,並可用來深入瞭解模型的決策流程。 整合式漸層可用來說明廣泛的深度學習模型,包括 CNN、RNN 及轉換器。 此外,它是一種理論上的基礎技術,可滿足一組理想的屬性,例如敏感度、實作不變性及完整性。 | AutoML | 映像多類別分類、映像多標籤分類 |
XRAI | XRAI 是以整合式漸層為基礎的新區域型理念方法。 它會過度分割影像,並反覆測試每個區域的重要性,並依據屬性分數將較小的區域聯合成較大的區段。 該策略產生了高品質、緊密邊界的顯著區域,其效能優於現有的顯著技術。 只要有辦法透過某些相似度計量將輸入功能叢集到區段,XRAI 就可以與任何 基於 DNN 的模型搭配使用。 | AutoML | 映像多類別分類、映像多標籤分類 |
D-RISE | D-RISE 是一種與模型無關的方法,可針對物件偵測模型的預測建立視覺說明。 藉由同時考慮物件偵測的當地語系化和分類層面,D-RISE 可以產生能識別出最能預測偵測器之映像部分的對應。 不同於以漸層為基礎的方法,D-RISE 比較普遍,不需要存取物件偵測器的內部工作;它只需要存取模型的輸入和輸出。 方法可以套用至一階段偵測器 (例如 YOLOv3)、雙階段偵測器 (例如 Faster-RCNN) 及視覺轉換器 (例如 DETR、OWL-ViT)。 D-Rise 會藉由建立輸入映像的隨機遮罩來提供顯著對應,並將它傳送至具有輸入映像隨機遮罩的物件偵測器。 藉由評估物件偵測器分數的變更,它會彙總每個遮罩的所有偵測,並產生最終的對應。 |
模型無關 | 物件偵測 |
Python SDK v1 支援
可解譯性技術 | 描述 | 類型 |
---|---|---|
SHAP 樹狀解釋器 | SHAP 的樹狀解釋器,著重於樹狀和樹狀集成專用的多項式快速時間 SHAP 值估計演算法。 | 模型專用 |
SHAP 深度解釋器 | 根據 SHAP 的說明,深度解釋器是「深度學習模型中 SHAP 值的高速近似演算法,是依據 SHAP NIPS 文件所述的 DeepLIFT 關係所建構而成。 支援 TensorFlow 模型和使用 TensorFlow 後端的 Keras 模型 (也初步支援 PyTorch)。」 | 模型專用 |
SHAP 線性解釋器 | SHAP 線性解釋器計算線性模型的 SHAP 值,並選擇性解釋特徵間的相互關聯。 | 模型專用 |
SHAP 核心解釋器 | SHAP 核心解釋器使用特殊加權的局部線性迴歸來估計任何模型的 SHAP 值。 | 模型無關 |
模仿解釋器 (全域代理) | 模仿解釋器以定型全域代理模型的概念為基礎來模仿黑箱模型。 全域代理模型是一種本質上可解釋的模型,經過定型以盡可能準確接近「任何黑箱模型」的預測。 資料科學家可以解讀代理模型,以得出黑箱模型的結論。 您可以使用下列其中一個可解釋模型作為代理模型:LightGBM (LGBMExplainableModel)、線性迴歸 (LinearExplainableModel)、隨機梯度下降解釋模型 (SGDExplainableModel),或決策樹 (DecisionTreeExplainableModel)。 | 模型無關 |
排列特徵重要度解釋器 | 排列特徵重要度 (PFI) 是用來說明分類和迴歸模型的技術,靈感得自於 Breiman 的隨機樹系文件 (英文)(請參閱第 10 節)。 概括而言,其運作方式是一次一個特徵將整個資料集的資料隨機洗牌,並計算所關注效能計量的變動幅度。 變更愈大,該特性愈重要。 PFI 可以說明任何基礎模型的整體行為,但不說明個別預測。 | 模型無關 |
除了上一節所述的可解釋性技術之外,我們還支援另一個以 SHAP 為基礎的解釋器,稱為表格式解釋器。 視模型而定,表格式解釋器會使用其中一種支援的 SHAP 解釋器:
- 適用於所有樹狀式模型的樹狀解釋器
- 適用於深度神經網路 (DNN) 模型的深度解釋器
- 適用於線性模型的線性解釋器
- 適用於所有其他模型的核心解釋器
表格式解釋器也會比直接 SHAP 解釋器更大幅增強特徵和效能:
- 初始化資料集摘要:當最看重解釋的速度時,我們會對初始化資料集做摘要處理,並產生一小組具有代表性的樣本。 此方法可加速產生整體和個別的特徵重要度值。
- 取樣評估資料集如果您傳入大量的評估樣本,但實際上並不需要評估所有樣本,您可以將取樣參數設為
true
,以加快整體模型說明的計算速度。
下圖顯示所支援解釋器的目前結構:
支援的機器學習模型
SDK 的 azureml.interpret
封裝支援依下列資料集格式定型的模型:
numpy.array
pandas.DataFrame
iml.datatypes.DenseData
scipy.sparse.csr_matrix
說明函式接受模型和管線做為輸入。 如果提供模型,則模型必須實作符合 Scikit 慣例的預測函式 predict
或 predict_proba
。 如果模型不支援,您可以將模型包裝成函式,以產生與 Scikit 中的 predict
或 predict_proba
相同的結果,然後搭配選取的解釋器來使用該包裝函式。
如果提供的是管線,則說明函式會假定執行中管線指令碼會傳回預測。 當您使用此換行技術時,azureml.interpret
可以支援透過 PyTorch、TensorFlow、Keras 深度學習架構和傳統機器學習模型所訓練的模型。
本機和遠端計算目標
azureml.interpret
封裝主要用於本機和遠端計算目標。 如果在本機執行封裝,SDK 函式不會接觸任何 Azure 服務。
您可以在 Azure Machine Learning Compute 上遠端執行說明,並將說明資訊記錄到 Azure Machine Learning 的執行歷程記錄服務。 記錄此資訊之後,Azure Machine Learning 工作室上就有來自說明的報告和視覺效果供使用者分析。
下一步
- 了解如何透過 CLI v2 和 SDK v2 或 Azure Machine Learning 工作室 UI 產生負責任 AI 儀表板。
- 探索負責任 AI 儀表板支援的可解釋性視覺效果。
- 了解如何根據負責任 AI 儀表板中觀察到的見解來產生負責任 AI 計分卡。
- 瞭解如何啟用自動化機器學習模型 (SDK v1) 的可解釋性。