ML 模型不等於"黑盒":explainable AI 可解釋的人工智能


ML 模型不等於


可解釋的人工智能(explainable AI) 是機器學習領域熱門話題之一。 機器學習模型通常被認為是"黑盒",具有內部不可知的特性。因此這些模型在應用時,往往需要首先獲取人們的信任、明確其誤差的具體含義、明確其預測的可靠性。 本文中,我們將探討 explainable AI 的內涵及其重要性,並且提供了幾個案例以幫助理解。

可解釋人工智能的含義

現階段機器學習的工作流程(從訓練到工業應用)大致如下:

ML 模型不等於

ML 工作流程

上圖展示了:基於原始數據通過學習來對模型進行訓練;其中學習過程依賴於學習函數,給其輸入原始數據,能夠輸出對應的預測數據;而使用者主要接觸並使用預測數據。

具體地,學習函數除了可以是人工神經網絡,也可以是決策樹、支持向量機、boosting model 等。

當學習函數通過原始數據訓練確定後,就可以被用於輸入新的數據並且進行預測。在此基礎上,使用者便可以及基於預測數據做出決策或採取行動了。

但是其中涉及到的問題,正如圖片中的若干問號所示:預測值的準確性及可信度。

通常,運用機器學習模型時,首先需要確定誤差函數或者損失函數,通過真實數據和預測數據之間的距離來反映模型的性能。但是誤差函數或者損失函數可以說明一切嗎?

模型可能表現出較低誤差或損失,但是仍然具有一定的偏差,可能不時產生一些奇怪的預測結果。 當然,這些意外的預測結果可能讓我們發現一些新的規律,但是也可能反映出模型存在某些錯誤,並且需要進行修正。

即使預測結果不存在問題,我們獲得了良好的預測結果,但是這也遠遠不夠。我們不僅僅侷限於結果的預測,也傾向於想要知道所使用的模型的內部作用機制,即該模型是怎麼做到準確預測的。

上述問題闡述了 Explainable AI 為何被人們所重視。 當機器學習中採用 explainable AI 時,其工作流程如下:

ML 模型不等於

採用 explainable AI 的 ML 模型

上圖展示了:採用新的學習機制來訓練新的學習函數,形成新的 explainable 模型。這一新的學習函數不僅具有準確預測的能力,同時也能夠對其預測結果產生的過程進行溯源解釋。 這樣提供給使用者的就不僅僅是預測的結果,還將能夠提供更多的細節。

explainable AI 為何重要?

當我們使用 AI 時,往往需要大量的參數實現對於原始數據的處理和分析,因此導致最後形成難以解釋的"黑盒模型"。當然,建立開發該模型的數據科學家或工程師很清楚具體的計算處理過程,但是對於使用者而言,該模型是相對神秘和神奇的。使用者只需要輸入數據,然後能夠直接得到預測結果。

ML 模型不等於

ML 模型="黑盒"

在 AI 發展早期,人們更多關注於 AI 能不能給出很好的預測結果,因此即使它是"黑盒"也無所謂。 但是隨著技術的不斷髮展和深入,人們愈來愈重視 AI 的可解釋性。人們想要知道 AI 是如何產生準確的預測結果的。發生這一變化的原因如下:

1. 瞭解機器學習模型進行預測時的內部機制,有助於加快這些模型的廣泛應用。

1. 可解釋性使得 AI 更易於被使用者所接受,讓用戶更加信任所使用的機器學習模型和系統。

1. 對於某些行業,如保險業或銀行業,有時會有公司層面的甚至是立法方面的限制,使得這些公司使用的模型必須能夠解釋。

1. 在其他一些關鍵領域,比如醫學領域,人工智能可以產生如此巨大的影響,並驚人地提高我們的生活質量,最基本的是,所使用的模型可以毫無疑問地得到信任。有一個Netflix推薦系統,有時輸出奇怪的預測可能不會有很大的影響。但在醫學診斷的情況下,不尋常的預測可能是致命的,因此使用者會有更多的質疑,而提供更多的信息能夠有助於獲得使用者的信任。

1. 可解釋的模型可以幫助用戶更好地利用這些模型所提供的輸出,使它們在業務、研究或決策中具有更大的影響力。

但是具有更好預測性能的模型往往具有更差的可解釋性。 以隨機森林和決策樹為例,隨機森林方法的性能通常優於決策樹,但是決策樹具有更好的可解釋性。

ML 模型不等於

可解釋性 VS 模型性能

如上圖所示,可解釋性和模型性能呈現反比例關係。但是基於這一事實,我們想要進一步實現從 X 到 O 的躍升,即在不降低模型性能的條件下提高模型的可解釋性。

explainable AI 實例

為了實現在不降低模型性能的條件下提高模型的可解釋性這一目的,可以採用如下方法:

1. 使用可解釋的模型,如決策樹。

1. 對難以解釋的模型增加解釋層以對模型進行解釋,如隨機森林。

接下來以房價預測為例進行 explainable AI 的闡述。

使用的數據集為:Kaggle 房價預測

該數據集包含了在愛荷華州艾姆斯市的住宅數據,79個解釋性變量(幾乎)描述了住宅的方方面面,需要基於該數據集預測部分住宅的最終價格。

因為本文的目的在於解釋 explainable AI,所以只使用數據集當中的數值型數據,並且所採用的模型使用默認的超參數設定。

使用決策樹進行房價預測

決策樹是最容易解釋的機器學習模型之一。其實現方法非常簡單:通過遞歸地將數據分割成越來越小的組,這些組最終會出現在我們的子節點中。

ML 模型不等於

決策樹使用示例

上圖展示了通過決策樹分析利用數據。決策樹基於房價數據,依次判斷 LSTAT 和 RM 參數,最後分類到最終的子節點中。

那麼如何解釋決策樹的預測過程呢?顯然,我們只需要基於樣本分類的路徑,就能夠很好地解釋預測結果是如何產生的。

ML 模型不等於

決策樹某一樣本的分類路徑

上圖展示了決策樹某一樣本的分類路徑,該樣本的房價為 212545 美元。 基於路徑,可以生成如下解釋性語句: "優質建築,地面生活面積小於1941平方英尺,地下室小於1469平方英尺,車庫大於407平方英尺,一樓大於767平方英尺。1978年之後,它被重新改造過。因此,預計價格為212542美元。"

增加解釋層(Shapley Values)

決策樹雖然能夠較為方便地解釋結果,但是其預測能力不夠強大。往往不能得出最好的預測結果。

使用同樣的數據集,用隨機森林方法進行預測。 將隨機森林和決策樹的誤差函數進行對比:

ML 模型不等於

隨機森林方法 VS 決策樹方法

可以看出,決策樹方法的誤差幾乎是隨機森林方法的兩倍。

雖然隨機森林方法具有更好的預測能力,但是卻也更加複雜,如何對其進行解釋呢? 針對這一問題,可以在模型中增加一個解釋層以實現解釋的目的。

ML 模型不等於

"黑盒"模型中增加解釋層

通常,可以使用 Shapley Values 歸因算法作為解釋層。 Shapley Values 來源於遊戲理論,主要作用在於反映遊戲中每個玩家的貢獻大小。 被用於機器學習中,則反映每個特徵值對於預測結果的貢獻大小。

通過 Python 中的 SHAP 庫,我們可以調用相關的函數實現指定輸入數據的 Shapley Values。 在房價預測案例中,我們只需要向 Shapley Explainer 中輸入訓練數據,該訓練數據與 ML 模型中的訓練數據一致,並且聲明使用的 ML 模型(隨機森林方法)。 然後 Shapley Explainer 就會生成各個特徵值的貢獻大小。

ML 模型不等於

Shapley Values

上圖顯示了各個特徵值對於預測結果的貢獻大小。 粉色和藍色交匯的點便是模型預測值。 最接近粉色和藍色交匯點的變量是對特定預測影響最大的變量。

粉色的變量及其對應值有助於提高房價,而藍色的變量及其對應值有助於降低房價。正如我們在這裡看到的,最有助於提高房價的變量是 OverallQual,其值為7。

在這種情況下,房屋的質量和建造年份(2003年)是房屋最相關的積極特徵。地下室和一層面積的較小值是最相關的負特徵。總之,所有這些變量及其值都證明了預測的正確性。

這些信息都可以生成相應的解釋性文本,有助於更精確和複雜的模型的解釋說明。

當然,除了 Shapley Values 以外,還有其他的解釋層方法,如: Permutation Importance、LIME。


分享到:


相關文章: