神經網絡?決策樹?都做不到!誰能解決可解釋性AI?

全文共3817字,預計學習時長14分鐘

 

圖源:unsplash

 

準確性與可解釋性是不能同時達到的嗎?來自IEEE研究員Cuntai Guan這樣認爲:“許多機器決策仍然沒有得到很好的理解”。大多數論文甚至提出在準確性和可解釋性之間進行嚴格區分。

 

神經網絡是準確的,但無法解釋;在計算機視覺中,決策樹是可解釋的,但不準確。可解釋性AI(XAI)試圖彌合這一分歧,但正如下面所解釋的那樣,“XAI在不直接解釋模型的情況下證明了決策的合理性”。

 

這意味着金融和醫學等應用領域的從業者被迫陷入兩難境地:選擇一個無法解釋的、準確的模型,還是一個不準確的、可解釋的模型。

 

什麼是“可解釋的”?

 

定義計算機視覺的可解釋性是一項挑戰:解釋像圖像這樣的高維輸入的分類意味着什麼?正如下面討論的,兩種流行的定義都涉及到顯著圖和決策樹,但是這兩種定義都有缺點。

 

可解釋性AI不能解釋什麼

 

顯著圖

 

許多XAI方法產生的熱圖被稱爲顯著圖,突出顯示影響預測的重要輸入像素。然而,顯著圖映射只關注輸入,而忽略瞭解釋模型如何決策。

 

拍攝原始圖像

 

使用一種稱爲Grad-CAM的方法的顯著圖

 

和另一種使用引導反向傳播方法的圖像

 

 

顯著圖不能解釋什麼

 

爲了說明爲什麼顯著圖不能完全解釋模型如何預測,這裏有一個例子:下列顯著圖是相同的,但是預測結果不同。

 

爲什麼?儘管兩個顯著圖都突出顯示了正確的對象,但有一個預測結果是不正確的。回答這個問題可以幫助改進模型,但是如下所示,顯著圖不能解釋模型的決策過程。

 

模型預測結果爲有耳朵的鳥

 

模型預測結果爲有角的鳥

 

這些是使用Caltech-UCSDBirds-200-2011(或簡稱CUB 2011)在ResNet18模型上運用Grad-CAM方法得到的結果。雖然顯著圖看起來非常相似,但是模型的預測結果不同。因此,顯著圖並不能解釋模型是如何達到最終預測的。

 

 

決策樹

 

另一種方法是用可解釋的模型代替神經網絡。深度學習之前,決策樹是準確性和可解釋性的黃金標準。下面演示決策樹的可解釋性,它通過將每個預測分解爲一系列決策來工作。

 

 

與僅僅預測“大漢堡”或“華夫餅”不同,上面的決策樹將輸出一系列導致最終預測的決策。然後可以分別對這些中間決策進行驗證或質疑。因此,經典的機器學習將這種模型稱爲“可解釋的”。

 

圖源:unsplash

 

但是,就準確性而言,決策樹在圖像分類數據集²上落後於神經網絡達40%。神經網絡和決策樹混合算法也表現不佳,甚至在數據集CIFAR10上無法匹配神經網絡,該數據集有如下所示的32x32微小圖像。

 

 

該示例展現了32x32有多小。這是來自CIFAR10數據集的一個樣本。

 

這種精度差距損害了可解釋性:需要高精度、可解釋的模型來解釋高精度的神經網絡。

 

 

進入神經支持的決策樹

 

通過建立既可解釋又準確的模型來改良這種錯誤的二分法。關鍵是將神經網絡與決策樹相結合,在使用神經網絡進行低級決策時保留高級的可解釋性。

 

如下所示,將這些模型稱爲神經支持的決策樹(NBDTs),並證明它們能夠在保持決策樹可解釋性的同時,與神經網絡的準確性相匹配。

 

 

在此圖中,每個節點都包含一個神經網絡。該圖僅突出顯示了一個這樣的節點和內部的神經網絡。在神經支持的決策樹中,通過決策樹進行預測,以保留高級解釋性。

 

但是,決策樹中的每個節點都是做出低級決策的神經網絡。上面的神經網絡做出的“低級”決定是“有香腸”或“沒有香腸”。

 

NBDT與決策樹一樣可解釋。

 

與當今的神經網絡不同,NBDT可以輸出中間決策來進行預測。例如,給定圖像,神經網絡可以輸出Dog。但是,NBDT可以同時輸出Dog和Animal,Chordate,Carnivore(下圖)。

 

 

在此圖中,每個節點都包含一個神經網絡。該圖僅突出顯示了一個這樣的節點和內部的神經網絡。在神經支持的決策樹中,通過決策樹進行預測,以保留高級解釋性。

 

但是,決策樹中的每個節點都是做出低級決策的神經網絡。上面的神經網絡做出的“低級”決定是“有香腸”或“沒有香腸”。上面的照片是根據Pexels許可從pexels.com獲取的。

 

NBDT實現了神經網絡的準確性。

 

與其他任何基於決策樹的方法不同,NBDT在3個圖像分類數據集上都匹配神經網絡精度(差異小於1%)。NBDT還能在ImageNet上實現神經網絡2%範圍內波動的準確性,ImageNet是擁有120萬張224x224圖像的最大圖像分類數據集之一。

 

此外,NBDT爲可解釋的模型設置了新的最新精度。NBDT的ImageNet準確度達到75.30%,比基於決策樹的最佳競爭方法高出整整14%。爲了準確地說明這種準確性的提高:對於不可解釋的神經網絡,類似的14%的增益花費了3年的研究時間。

 

 

神經支持的決策樹可以解釋什麼,如何解釋

 

個人預測的理由

 

最有見地的理由是根據該模型從未見過的對象。例如,考慮一個NBDT(如下),並在斑馬上進行推斷。儘管此模型從未見過斑馬,但下面顯示的中間決策是正確的——斑馬既是動物又是蹄類動物。單個預測的正確性的能力對於沒見過的物體至關重要。

 

 

NBDT甚至可以爲沒見過的物體做出準確的中間決策。在此,該模型在CIFAR10上進行了訓練,並且之前從未見過斑馬。儘管如此,NBDT仍正確地將斑馬識別爲動物和蹄類動物。上面的照片是根據Pexels許可從pexels.com獲取的。

 

 

模型行爲的理由

 

此外,發現可以使用NBDT後,可解釋性的準確性得到了提高。這與簡介中的二分法背道而馳:NBDT不僅具有準確性和可解釋性,還使準確性和可解釋性成爲同一目標。

 

ResNet10層次結構

 

WideResNet層次結構

 

在前者中,“貓”,“青蛙”和“飛機”位於同一子樹下。相比之下,WideResNet層次結構在每一側乾淨地分割了Animals和Vehicles。上面的圖片來自CIFAR10數據集。

 

例如,較低精度的ResNet⁶層次結構將青蛙,貓和飛機分組在一起的意義較小。這是“不太明智的”,因爲很難找到所有三類共有的明顯視覺特徵。

 

相比之下,準確性更高的WideResNet層次結構更有意義,將Animal與Vehicle完全分開——因此,準確性越高,NBDT的解釋就越容易。

 

圖源:unsplash

 

 

瞭解決策規則

 

使用低維表格數據時,決策樹中的決策規則很容易解釋,例如,如果盤子中有面包,那麼選擇右側節點,如下所示。但是,決策規則對於像高維圖像這樣的輸入而言並不那麼直接。

 

 

此示例演示瞭如何使用低維表格數據輕鬆解釋決策規則。右側是幾個項目的表格數據示例。左側是根據此數據訓練的決策樹。

 

此時,決策規則(藍色)是“是否有面包?”所有帶有面包(橙色)的項目都發給最上面的節點,而所有沒有面包(綠色)的項目都發給最下面的節點。該模型的決策規則不僅基於對象類型,而且還基於上下文、形狀和顏色。

 

爲了定量地解釋決策規則,使用了稱爲WordNet7的現有層次;通過這種層次結構,可以找到類之間最具體的共享含義。例如,給定類別Cat和Dog,WordNet將提供哺乳動物。如下圖所示,定量地驗證了這些WordNet假設。

 

 

 

左子樹(紅色箭頭)的WordNet假設是Vehicle。右邊(藍色箭頭)的WordNet假設是Animal。爲了定性地驗證這些含義,針對沒見過的物體類別對NBDT進行了測試:

 

1.查找訓練期間未見過的圖像。

 

2.根據假設,確定每個圖像屬於哪個節點。例如,大象是動物,所以*可以找到正確的子樹。

 

3.現在,可以通過檢查將多少圖像傳遞給正確的節點來評估假設。例如,檢查將多少張大象圖像發送到“Animal”子樹。

 

這些分類的正確性顯示在右側,沒見過的動物(藍色)和沒見過的Vehicle(紅色)都顯示較高的準確性。

 

請注意,在具有10個類別(即CIFAR10)的小型數據集中,可以找到所有節點的WordNet假設。但是,在具有1000個類別的大型數據集(即ImageNet)中,只能找到節點子集的WordNet假設。

 

 

一分鐘內嘗試NBDT

 

現在有興趣嘗試NBDT嗎?無需安裝任何軟件,就可以在線查看更多示例輸出,甚至可以嘗試Web示例。或者,使用命令行實用程序來運行推理(使用pip installnbdt安裝)。下面對貓的圖片進行推斷。

 

nbdthttps://images.pexels.com/photos/126407/pexels-photo-126407.jpeg?auto=compress&cs=tinysrgb&dpr=2&w=32 # this can also be a path to local image

 

這將輸出類別預測和所有中間決策。

 

Prediction: cat // Decisions: animal (99.47%), chordate(99.20%), carnivore (99.42%), cat (99.86%)

 

也可以只用幾行Python代碼加載預訓練的NBDT。使用以下內容開始,支持幾種神經網絡和數據集。

 

from nbdt.model import HardNBDTfrom nbdt.models importwrn28_10_cifar10model = wrn28_10_cifar10()model = HardNBDT( pretrained=True, dataset='CIFAR10', arch='wrn28_10_cifar10', model=model)

 

作爲參考,請參見上面運行的命令行工具的腳本。僅約20行就能進行轉換輸入和運行推理。

 

 

運作原理

 

神經支持決策樹的訓練和推理過程可以分爲四個步驟。

 

 

訓練NBDT分爲兩個階段:首先,構建決策樹的層次結構。其次,訓練帶有特殊損失項的神經網絡。要進行推理,請將樣本輸入神經網絡主幹。最後,將最後一個完全連接的層作爲決策規則序列運行。

 

1.構建決策樹的層次結構。此層次結構確定了NBDT必須在哪些類之間進行決策。將此層次結構稱爲歸納層次結構。

 

2.此層次結構產生一個特定的損失函數,稱爲樹監督損失5。使用此新損失函數訓練原始神經網絡,無需任何修改。

 

3.通過使樣本輸入神經網絡主幹來開始推理。主幹是最終完全連接層之前的所有神經網絡層。

 

4.通過將最終的全連接層作爲決策規則序列,稱爲嵌入式決策規則來完成推理。這些決策形成最終的預測。

 

可解釋性AI不能完全解釋神經網絡如何實現預測:現有方法可以解釋圖像對模型預測的影響,但不能解釋決策過程。決策樹解決了這個問題,但其準確性還存在個挑戰。

 

因此,將神經網絡和決策樹結合在一起。與採用相同混合設計的前代產品不同,神經支持決策樹(NBDT)同時解決了以下問題:

 

· 神經網絡無法提供理由;

· 決策樹無法達到較高的準確性。

 

這爲醫學和金融等應用提供了一種新的準確、可解釋的NBDT。

 

作者:Alvin Wan,*Lisa Dunlap,*Daniel Ho, Jihan Yin, Scott Lee, Henry Jin, Suzanne Petryk,Sarah Adel Bargal, Joseph E. Gonzalez

其中*表示貢獻相等

我們一起分享AI學習與發展的乾貨
歡迎關注全平臺AI垂類自媒體 “讀芯術”

(添加小編微信:dxsxbb,加入讀者圈,一起討論最新鮮的人工智能科技哦~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章