決策樹的復興?結合神經網絡,提升ImageNet分類準確率且可解釋

2020-12-05 機器之心Pro

機器之心報導

機器之心編輯部

魚和熊掌我都要!BAIR公布神經支持決策樹新研究,兼顧準確率與可解釋性。

隨著深度學習在金融、醫療等領域的不斷落地,模型的可解釋性成了一個非常大的痛點,因為這些領域需要的是預測準確而且可以解釋其行為的模型。然而,深度神經網絡缺乏可解釋性也是出了名的,這就帶來了一種矛盾。可解釋性人工智慧(XAI)試圖平衡模型準確率與可解釋性之間的矛盾,但 XAI 在說明決策原因時並沒有直接解釋模型本身。

決策樹是一種用於分類的經典機器學習方法,它易於理解且可解釋性強,能夠在中等規模數據上以低難度獲得較好的模型。之前很火的微軟小冰讀心術極可能就是使用了決策樹。小冰會先讓我們想像一個知名人物(需要有點名氣才行),然後向我們詢問 15 個以內的問題,我們只需回答是、否或不知道,小冰就可以很快猜到我們想的那個人是誰。

周志華老師曾在「西瓜書」中展示過決策樹的示意圖:

決策樹示意圖。

儘管決策樹有諸多優點,但歷史經驗告訴我們,如果遇上 ImageNet 這一級別的數據,其性能還是遠遠比不上神經網絡。

「準確率」和「可解釋性」,「魚」與「熊掌」要如何兼得?把二者結合會怎樣?最近,來自加州大學伯克利分校和波士頓大學的研究者就實踐了這種想法。

他們提出了一種神經支持決策樹「Neural-backed decision trees」,在 ImageNet 上取得了 75.30% 的 top-1 分類準確率,在保留決策樹可解釋性的同時取得了當前神經網絡才能達到的準確率,比其他基於決策樹的圖像分類方法高出了大約 14%。

BAIR 博客地址:https://bair.berkeley.edu/blog/2020/04/23/decisions/

論文地址:https://arxiv.org/abs/2004.00221

開源項目地址:https://github.com/alvinwan/neural-backed-decision-trees

這種新提出的方法可解釋性有多強?我們來看兩張圖。

OpenAI Microscope 中深層神經網絡可視化後是這樣的:

而論文所提方法在 CIFAR100 上分類的可視化結果是這樣的:

哪種方法在圖像分類上的可解釋性強已經很明顯了吧。

決策樹的優勢與缺陷

在深度學習風靡之前,決策樹是準確性和可解釋性的標杆。下面,我們首先闡述決策樹的可解釋性。

如上圖所示,這個決策樹不只是給出輸入數據 x 的預測結果(是「超級漢堡」還是「華夫薯條」),還會輸出一系列導致最終預測的中間決策。我們可以對這些中間決策進行驗證或質疑。

然而,在圖像分類數據集上,決策樹的準確率要落後神經網絡 40%。神經網絡和決策樹的組合體也表現不佳,甚至在 CIFAR10 數據集上都無法和神經網絡相提並論。

這種準確率缺陷使其可解釋性的優點變得「一文不值」:我們首先需要一個準確率高的模型,但這個模型也要具備可解釋性。

走近神經支持決策樹

現在,這種兩難處境終於有了進展。加州大學伯克利分校和波士頓大學的研究者通過建立既可解釋又準確的模型來解決這個問題。

研究的關鍵點是將神經網絡和決策樹結合起來,保持高層次的可解釋性,同時用神經網絡進行低層次的決策。如下圖所示,研究者稱這種模型為「神經支持決策樹(NBDT)」,並表示這種模型在保留決策樹的可解釋性的同時,也能夠媲美神經網絡的準確性。

在這張圖中,每一個節點都包含一個神經網絡,上圖放大標記出了一個這樣的節點與其包含的神經網絡。在這個 NBDT 中,預測是通過決策樹進行的,保留高層次的可解釋性。但決策樹上的每個節點都有一個用來做低層次決策的神經網絡,比如上圖的神經網絡做出的低層決策是「有香腸」或者「沒有香腸」。

NBDT 具備和決策樹一樣的可解釋性。並且 NBDT 能夠輸出預測結果的中間決策,這一點優於當前的神經網絡。

如下圖所示,在一個預測「狗」的網絡中,神經網絡可能只輸出「狗」,但 NBDT 可以輸出「狗」和其他中間結果(動物、脊索動物、肉食動物等)。

此外,NBDT 的預測層次軌跡也是可視化的,可以說明哪些可能性被否定了。

與此同時,NBDT 也實現了可以媲美神經網絡的準確率。在 CIFAR10、CIFAR100 和 TinyImageNet200 等數據集上,NBDT 的準確率接近神經網絡(差距

神經支持決策樹是如何解釋的

對於個體預測的辯證理由

最有參考價值的辯證理由是面向該模型從未見過的對象。例如,考慮一個 NBDT(如下圖所示),同時在 Zebra 上進行推演。雖然此模型從未見過斑馬,但下圖所顯示的中間決策是正確的-斑馬既是動物又是蹄類動物。對於從未見過的物體而言,個體預測的合理性至關重要。

對於模型行為的辯證理由

此外,研究者發現使用 NBDT,可解釋性隨著準確性的提高而提高。這與文章開頭中介紹的準確性與可解釋性的對立背道而馳,即:NBDT 不僅具有準確性和可解釋性,還可以使準確性和可解釋性成為同一目標。

ResNet10 層次結構(左)不如 WideResNet 層次結構(右)。

例如,ResNet10 的準確度比 CIFAR10 上的 WideResNet28x10 低 4%。相應地,較低精度的 ResNet ^ 6 層次結構(左)將青蛙,貓和飛機分組在一起且意義較小,因為很難找到三個類共有的視覺特徵。而相比之下,準確性更高的 WideResNet 層次結構(右)更有意義,將動物與車完全分離開了。因此可以說,準確性越高,NBDT 就越容易解釋。

了解決策規則

使用低維表格數據時,決策樹中的決策規則很容易解釋,例如,如果盤子中有麵包,然後分配給合適的孩子(如下所示)。然而,決策規則對於像高維圖像的輸入而言則不是那麼直接。模型的決策規則不僅基於對象類型,而且還基於上下文,形狀和顏色等等。

此案例演示了如何使用低維表格數據輕鬆解釋決策的規則。

為了定量解釋決策規則,研究者使用了 WordNet3 的現有名詞層次;通過這種層次結構可以找到類別之間最具體的共享含義。例如,給定類別 Cat 和 Dog,WordNet 將反饋哺乳動物。在下圖中,研究者定量驗證了這些 WordNet 假設。

左側從屬樹(紅色箭頭)的 WordNet 假設是 Vehicle。右邊的 WordNet 假設(藍色箭頭)是 Animal。

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

How it Works

Neural-Backed 決策樹的訓練與推斷過程可分解為如下四個步驟:

為決策樹構建稱為誘導層級「Induced Hierarchy」的層級;

該層級產生了一個稱為樹監督損失「Tree Supervision Loss」的獨特損失函數;

通過將樣本傳遞給神經網絡主幹開始推斷。在最後一層全連接層之前,主幹網絡均為神經網絡;

以序列決策法則方式運行最後一層全連接層結束推斷,研究者將其稱為嵌入決策法則「Embedded Decision Rules」。

Neural-Backed 決策樹訓練與推斷示意圖。

運行嵌入決策法則

這裡首先討論推斷問題。如前所述,NBDT 使用神經網絡主幹提取每個樣本的特徵。為便於理解接下來的操作,研究者首先構建一個與全連接層等價的退化決策樹,如下圖所示:

以上產生了一個矩陣-向量乘法,之後變為一個向量的內積,這裡將其表示為$\hat{y}$。以上輸出最大值的索引即為對類別的預測。

簡單決策樹(naive decision tree):研究者構建了一個每一類僅包含一個根節點與一個葉節點的基本決策樹,如上圖中「B—Naive」所示。每個葉節點均直接與根節點相連,並且具有一個表徵向量(來自 W 的行向量)。

使用從樣本提取的特徵 x 進行推斷意味著,計算 x 與每個子節點表徵向量的內積。類似於全連接層,最大內積的索引即為所預測的類別。

全連接層與簡單決策樹之間的直接等價關係,啟發研究者提出一種特別的推斷方法——使用內積的決策樹。

構建誘導層級

該層級決定了 NBDT 需要決策的類別集合。由於構建該層級時使用了預訓練神經網絡的權重,研究者將其稱為誘導層級。

具體地,研究者將全連接層中權重矩陣 W 的每個行向量,看做 d 維空間中的一點,如上圖「Step B」所示。接下來,在這些點上進行層級聚類。連續聚類之後便產生了這一層級。

使用樹監督損失進行訓練

考慮上圖中的「A-Hard」情形。假設綠色節點對應於 Horse 類。這只是一個類,同時它也是動物(橙色)。對結果而言,也可以知道到達根節點(藍色)的樣本應位於右側的動物處。到達節點動物「Animal」的樣本也應再次向右轉到「Horse」。所訓練的每個節點用於預測正確的子節點。研究者將強制實施這種損失的樹稱為樹監督損失(Tree Supervision Loss)。換句話說,這實際上是每個節點的交叉熵損失。

使用指南

我們可以直接使用 Python 包管理工具來安裝 nbdt:

pip install nbdt

安裝好 nbdt 後即可在任意一張圖片上進行推斷,nbdt 支持網頁連結或本地圖片。

nbdt https://images.pexels.com/photos/126407/pexels-photo-126407.jpeg?auto=compress&cs=tinysrgb&dpr=2&w=32

# OR run on a local image

nbdt /imaginary/path/to/local/image.png

不想安裝也沒關係,研究者為我們提供了網頁版演示以及 Colab 示例,地址如下:

Demo:http://nbdt.alvinwan.com/demo/

Colab:http://nbdt.alvinwan.com/notebook/

下面的代碼展示了如何使用研究者提供的預訓練模型進行推斷:

from nbdt.model import SoftNBDT

from nbdt.models import ResNet18, wrn28_10_cifar10, wrn28_10_cifar100, wrn28_10 # use wrn28_10 for TinyImagenet200

model = wrn28_10_cifar10()

model = SoftNBDT(

pretrained=True,

dataset='CIFAR10',

arch='wrn28_10_cifar10',

model=model)

另外,研究者還提供了如何用少於 6 行代碼將 nbdt 與我們自己的神經網絡相結合,詳細內容請見其 GitHub 開源項目。

相關焦點

  • TPU加AutoML:50美元快速訓練高效的ImageNet圖像分類網絡
    昨日,Jeff Dean 在推特上表示他們在 ImageNet 圖像分類上發布了新的 DAWNBench 結果,新型 AmoebaNet-D 網絡在 TPU 上實現了最低的訓練時間和最少的訓練成本。在這一個基準測試上,基於進化策略的 DAWNBench 要比殘差網絡效果更好,且訓練成本降低了一倍。
  • 深度森林第三彈:周志華組提出可做表徵學習的多層梯度提升決策樹
    今日,南京大學的馮霽、俞揚和周志華提出了多層梯度提升決策樹模型,它通過堆疊多個回歸 GBDT 層作為構建塊,並探索了其學習層級表徵的能力。此外,與層級表徵的神經網絡不同,他們提出的方法並不要求每一層都是可微,也不需要使用反向傳播更新參數。因此,多層分布式表徵學習不僅有深度神經網絡,同時還有決策樹!近十年來,深層神經網絡的發展在機器學習領域取得了顯著進展。
  • 深度神經決策樹:深度神經網絡和樹模型結合的新模型
    深度神經決策樹:深度神經網絡和樹模型結合的新模型 工程師郭婷 發表於 2018-08-19 09:14:44 近日,來自愛丁堡大學的研究人員提出了一種結合深度神經網絡和樹模型的新型模型
  • 圖神經網絡讓預估到達準確率提升50%,谷歌地圖實現新突破
    所以,預估到達時間(ETA)準確率成為非常實際的研究課題。近日,DeepMind 與谷歌地圖展開合作,利用圖神經網絡等 ML 技術,極大了提升了柏林、東京、雪梨等大城市的實時 ETA 準確率。很多人使用谷歌地圖(Google Maps)獲取精確的交通預測和預估到達時間(Estimated Time of Arrival,ETA)。
  • 21秒看盡ImageNet屠榜模型,60+模型架構同臺獻藝
    如上展示了 13 到 19 年的分類任務 SOTA 效果演進,真正有大幅度提升的方法很多都在 13 到 15 年提出,例如 Inception 結構、殘差模塊等等。Leaderboard 地址:https://www.paperswithcode.com/sota/image-classification-on-imagenet機器之心根據視頻和網站內容進行了整理。以下為一些著名的模型、發布時間、Top-1 準確率、參數量,以及相關的論文連結。發布時取得 SOTA 的模型名以紅色字體標出。
  • 盤點| 機器學習入門算法:從線性模型到神經網絡
    樹型模型高度精確、穩定且更易於解釋。與線性模型相反,它們可以映射非線性關係以求解問題。 決策樹(decision tree) 決策樹是一種使用分支方法(branching method)來顯示決策的每個可能結果的圖。
  • 正則表達式與神經網絡的深度融合
    在有足夠多標註數據的情況下,神經網絡往往效果驚人。但是,當標註數據匱乏時,神經網絡的性能就會大打折扣。此外,神經網絡缺少可解釋性以及難以融入外部知識的問題也一直為人所詬病。然而,兩類方法仍然需要大量數據用於訓練,並且前者的神經網絡本身仍然是一個黑盒子,缺乏可解釋性,後者後者難以利用已有規則進行轉化或是通過專家手工構建。
  • 谷歌大腦提出概念激活向量,助力神經網絡可解釋性研究
    可解釋性仍然是現代深度學習應用的最大挑戰之一。計算模型和深度學習研究領域近期取得了很大進展,創建了非常複雜的模型,這些模型可以包括數千個隱藏層、數千萬神經元。雖然創建高級深度神經網絡相對簡單,但理解如何創建這些模型以及它們如何使用知識仍然是一個挑戰。
  • Facebook:易於解釋的神經元可能阻礙深度神經網絡的學習
    編輯:張倩、杜偉易於解釋的神經元對於提升神經網絡的性能來說是必要的嗎?Facebook 的研究者給出了出人意料的答案。AI 模型能「理解」什麼?為什麼能理解這些東西?回答這些問題對於復現和改進 AI 系統至關重要。但遺憾的是,計算機科學家在解釋深度神經網絡(DNN)方面的能力遠遠落後於我們利用這些網絡獲取有用成果的能力。
  • Facebook:易於解釋的神經元可能阻礙深度神經網絡的學習
    編輯:張倩、杜偉易於解釋的神經元對於提升神經網絡的性能來說是必要的嗎?Facebook 的研究者給出了出人意料的答案。但遺憾的是,計算機科學家在解釋深度神經網絡(DNN)方面的能力遠遠落後於我們利用這些網絡獲取有用成果的能力。理解 DNN 的一類常見方法是聚焦於單個神經元的屬性,如找到一個能夠被貓的圖像而非其他類型的圖像激活的神經元。
  • 決策樹算法——選擇困難症的「良藥」
    01新冠檢測和決策樹的基本原理決策樹算法是一種典型的、逼近離散函數值的分類方法。主要是先對數據進行處理,利用歸納算法生成可讀的規則和決策樹,然後使用決策對新數據進行分析。(註:以上例子僅為了解釋決策樹算法的模擬描述,不一定代表真實情況)02決策樹算法解決選擇困難症隨著新冠疫情逐步得到緩解,長期宅在家中的人們都開始考慮去戶外遊玩,可是天氣越來越熱、或者下雨、大風等,能不能帶家人一起出去遊山玩水還得看老天爺的臉色。
  • Advanced Photonics | 全新設計顯著提升光學神經網絡性能
    這種經算法設計的三維結構由若干光學透射或反射表面構成,並可依次作用於入射光,從而以光速完成機器學習的計算任務。此類架構不需要除照明光之外的能量,對於提高當今深度學習框架的運算速度,同時降低能量消耗有著顯著意義。與此同時,深度衍射神經網絡很可能為自動駕駛、安防等相關領域的相機設計帶來重大突破。
  • 數據建模中分類與預測模型
    3.實現過程  分類算法有兩步過程:第一步是學習步,通過歸納分析訓練樣本集來建立分類模型得到分類規則;第二步是分類步,先用已知的測試樣本集評估分類規則的準確率,如果準確率是可以接受的,則使用該模型對未知類標號的待測樣本集進行預測。  預測模型的實現也有兩步,第一步是通過訓練集建立預測屬性(數值型的)的函數模型,第二步在模型通過檢驗後進行預測或控制。
  • 什麼是人工神經網絡(ANN)?
    人工神經元的結構,人工神經網絡的基本組成部分(來源:維基百科)從本質上講,這聽起來像是一個非常瑣碎的數學運算。但是,當您將成千上萬的神經元多層放置並堆疊在一起時,您將獲得一個人工神經網絡,可以執行非常複雜的任務,例如對圖像進行分類或識別語音。
  • 訓練可解釋、可壓縮、高準確率的LSTM
    普通的神經網絡模型,比如卷積神經網絡(CNN),無法解決此類輸入變長的問題。為此,人們首先提出了循環神經網絡(Recurrent Neural Network),簡稱RNN。循環神經網絡的核心是通過循環的方式,將歷史信息和當前信息不斷整合。
  • Bengio 團隊力作:GNN 對比基準橫空出世,圖神經網絡的「ImageNet...
    然而,正如計算機視覺的崛起有賴於 ImageNet 的誕生,圖神經網絡也急需一個全球學者公認的統一對比基準。近日,Bengio 大神帶領其團隊發布了新的圖神經網絡對比基準測試框架以及附帶的 6 個標準化數據集。大家可以開始盡情刷榜了!
  • IEEE TMI | 深度神經網絡提升放射科醫生在乳腺癌篩查的表現
    在篩查人群中預測是否存在乳腺癌的精度達到了0.895.這個模型由一個乳房級別對自定義的基於ResNet的網絡和一個高容量patch級別的輔助網絡共同組成。此外還在相關任務,篩選BI-RADS分類上進行預訓練,並且對每個角度進行集成的輸入來提升性能。最終通過reader study,證明本文的模型對於同樣的數據,可以達到與經驗豐富的放射科醫生一樣精確。
  • 圖神經網絡GNN的可解釋性問題與解釋方法最新進展
    然而,隨著時間的推移,它將會變得越來越流行,目前幾乎還沒有什麼有趣的可解釋性方法可用於 GNN 模型。在本文中,我們將研究新的圖解釋方法,並了解如何將它們應用於 GNN 模型。不用擔心,實際上有一個 GNN 解釋工具可以供你使用!GNNExplainer 是一種模型無關的開源 GNN 解釋方法。它也是一個相當通用的,因為它可以應用於節點分類、圖分類和邊預測。這是創建圖特定解釋方法的首次嘗試,由史丹福大學的研究人員提出 [6] 。
  • 神經網絡中的分類器該如何改成生成器?
    作者 | 李秋鍵責編 | 劉靜引言: 相信我們都做過一些圖片分類或者是其他分類的項目,我們知道神經網絡是在w和b參數調節基礎上,使得x與y達到對應輸出的效果。首先,引進判斷建模(常見建模還包括反對矢量機和多層人工神經網絡)。其次,其改進步驟是在分解建模和判斷建模兩者之間尋找沃克平衡。GAN創建的自學構建實質上是分解建模和判斷建模兩者之間的仿真博弈論。
  • 機器學習算法盤點:人工神經網絡、深度學習
    在建立預測模型的時候,監督式學習建立一個學習過程,將預測結果與「訓練數據」的實際結果進行比較,不斷的調整預測模型,直到模型的預測結果達到一個預期的準確率。監督式學習的常見應用場景如分類問題和回歸問題。在圖像識別等領域,由於存在大量的非標識的數據和少量的可標識數據, 目前半監督式學習是一個很熱的話題。 而強化學習更多的應用在機器人控制及其他需要進行系統控制的領域。   算法類似性   根據算法的功能和形式的類似性,我們可以把算法分類,比如說基於樹的算法,基於神經網絡的算法等等。