天天看點

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

雲栖号資訊:【 點選檢視更多行業資訊

在這裡您可以找到不同行業的第一手的上雲資訊,還在等什麼,快來!

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

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

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

什麼是“可解釋的”?

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

可解釋性AI不能解釋什麼

顯著圖:

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

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

拍攝原始圖像

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

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

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

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

顯著圖不能解釋什麼

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

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

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

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

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

模型預測結果為有角的鳥

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

決策樹

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

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

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

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

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

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

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

進入神經支援的決策樹

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

如下所示,将這些模型稱為神經支援的決策樹(NBDTs),并證明它們能夠在保持決策樹可解釋性的同時,與神經網絡的準确性相比對。

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

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

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

NBDT與決策樹一樣可解釋。

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

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

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

NBDT實作了神經網絡的準确性。

與其他任何基于決策樹的方法不同,NBDT在3個圖像分類資料集上都比對神經網絡精度(差異小于1%)。NBDT還能在ImageNet上實作神經網絡2%範圍内波動的準确性,ImageNet是擁有120萬張224x224圖像的最大圖像分類資料集之一。

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

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

個人預測的理由

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

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

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

模型行為的理由

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

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

ResNet10層次結構

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

WideResNet層次結構

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

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

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

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

圖源:unsplash

了解決策規則

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

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

此示例示範了如何使用低維表格資料輕松解釋決策規則。右側是幾個項目的表格資料示例。左側是根據此資料訓練的決策樹。

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

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

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

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

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

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

現在,可以通過檢查将多少圖像傳遞給正确的節點來評估假設。例如,檢查将多少張大象圖像發送到“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', modelmodel=model)            

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

運作原理

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

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

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

建構決策樹的層次結構。此層次結構确定了NBDT必須在哪些類之間進行決策。将此層次結構稱為歸納層次結構。

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

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

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

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

是以,将神經網絡和決策樹結合在一起。與采用相同混合設計的前代産品不同,神經支援決策樹(NBDT)同時解決了以下問題:

神經網絡無法提供理由;

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

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

【雲栖号線上課堂】每天都有産品技術專家分享!

課程位址:

https://yqh.aliyun.com/live

立即加入社群,與專家面對面,及時了解課程最新動态!

【雲栖号線上課堂 社群】

https://c.tb.cn/F3.Z8gvnK

原文釋出時間:2020-05-14

本文作者:讀芯術

本文來自:“

51cto

”,了解相關資訊可以關注“