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

2020-12-27 機器之心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 層作為構建塊,並探索了其學習層級表徵的能力。此外,與層級表徵的神經網絡不同,他們提出的方法並不要求每一層都是可微,也不需要使用反向傳播更新參數。因此,多層分布式表徵學習不僅有深度神經網絡,同時還有決策樹!
  • 深度神經網絡的灰色區域:可解釋性問題
    【編者按】在解決視覺、聽覺問題方面表現出色的深度學習系統中,分類器和特徵模塊都是自動學習的,神經網絡可解釋性問題就成了一個灰色區域,思考這個問題對神經網絡效率的保證是有必要的。在這篇博客文章中,機器學習PhD、軟體架構師Adnan Masood針對這個問題進行了多方面的反思。
  • 適用於特殊類型自然語言分類的自適應特徵譜神經網絡
    為此,提出了一種新型的神經網絡結構——自適應特徵譜神經網絡。該算法有效減少了運算時間,可以自適應地選擇對分類最有用的特徵,形成最高效的特徵譜,得到的分類結果具有一定的可解釋性,而且由於其運行速度快、內存佔用小,因此非常適用於學習輔助軟體等方面。以此算法為基礎,開發了相應的個性化學習平臺。該算法使古詩文分類的準確率由93.84%提升到了99%。
  • Facebook:易於解釋的神經元可能會阻礙深度神經網絡的學習
    易於解釋的神經元對於提升神經網絡的性能來說是必要的嗎?Facebook 的研究者給出了出人意料的答案。AI 模型能「理解」什麼?為什麼能理解這些東西?回答這些問題對於復現和改進 AI 系統至關重要。但遺憾的是,計算機科學家在解釋深度神經網絡(DNN)方面的能力遠遠落後於我們利用這些網絡獲取有用成果的能力。
  • 獨家 | 使用Python了解分類決策樹(附代碼)
    決策樹的優點包括,它既可以用於回歸,也可用於分類,易於解釋並且不需要特徵縮放。它也有一些缺點,比如容易過擬合。本教程介紹了用於分類的決策樹,也被稱為分類樹。與往常一樣,本教程中用到的代碼可以在我的github(結構,預測)中找到,我們開始吧!分類和回歸樹(CART)是由Leo Breiman引入的,用一種於解決分類或回歸預測建模問題的決策樹算法。本文只介紹分類樹。
  • Stata:機器學習分類器大全
    總結一下決策樹的優缺點:易於理解和實現,並且能夠理解決策樹所表達特徵的含義;因此,在其基礎上也有諸多拓展模型:與袋裝法 (Bagging) 思想結合的隨機森林 (Random Forest) ,與提升法 (Boosting) 結合的
  • 谷歌大腦提出概念激活向量,助力神經網絡可解釋性研究
    可解釋性仍然是現代深度學習應用的最大挑戰之一。計算模型和深度學習研究領域近期取得了很大進展,創建了非常複雜的模型,這些模型可以包括數千個隱藏層、數千萬神經元。雖然創建高級深度神經網絡相對簡單,但理解如何創建這些模型以及它們如何使用知識仍然是一個挑戰。
  • 神經網絡能辨別繪畫創作時期嗎?
    訓練模型  01邏輯回歸眾所周知,當我們做分類問題時,第一個想到的應該是邏輯回歸模型,下面是使用keras搭建邏輯回歸模型的代碼,Input([IMSIZE,IMSIZE,3])聲明了傳入圖像的三個維度,即長、寬、通道數;BatchNormalization()是深度學習神經網絡中一個廣泛應用的層
  • 機器學習分類算法總結
    主要分類方法介紹解決分類問題的方法很多,單一的分類方法主要包括:決策樹、貝葉斯、人工神經網絡、K-近鄰、支持向量機和基於關聯規則的分類等;另外還有用於組合單一分類方法的集成學習算法
  • 神經網絡可以
    神經網絡的強大眾所周知,但是極易受到對抗樣本的攻擊——輸入樣本上的微小擾動就能讓其預測錯誤。儘管目前已經湧現出許多抵禦對抗攻擊的方法,但這些方法一般都會造成模型準確率的下降。因此,大部分前人工作認為在分類任務上,必須對模型的準確率(魚)和魯棒性(熊掌)做一個折中,兩者是無法兼得的。
  • 數據挖掘算法:常用分類算法總結
    Neighbor,K 最近鄰近)算法、ANN(Artificial Neural Network,人工神經網絡)算法等。LR算法的優點1.對數據中小噪聲的魯棒性好;2.LR 算法已被廣泛應用於工業問題中;3.多重共線性並不是問題,它可結合正則化來解決。
  • Facebook:易於解釋的神經元可能阻礙深度神經網絡的學習
    編輯:張倩、杜偉易於解釋的神經元對於提升神經網絡的性能來說是必要的嗎?Facebook 的研究者給出了出人意料的答案。AI 模型能「理解」什麼?為什麼能理解這些東西?回答這些問題對於復現和改進 AI 系統至關重要。
  • 【機器學習】決策樹算法總結|ID3 C4.5/C5.0 CHAID CART與QUEST
    決策樹剪枝按照決策樹學習方法生成的決策樹可能對訓練數據集有很好的分類能力,但對未知的測試數據集卻未必有很好的分類能力,即有可能產生擬合過度的情況,這時就需要對決策樹自下而上的進行剪枝,將複雜的樹進行簡化,使其具有較好的泛化能力。
  • 基於飛槳PaddlePaddle的多種圖像分類預訓練模型強勢發布
    在計算機視覺領域,圖像分類是非常重要的基本問題,是圖像目標檢測、圖像分割、圖像檢索、視頻理解、物體跟蹤、行為分析等其他高層視覺任務的基礎,在實際場景中,有著廣泛應用。飛槳(PaddlePaddle)視覺模型庫圖像分類持續提供業內領先的分類網絡結構訓練方法以及在imagenet 1000分類任務上的預訓練模型。
  • 數據挖掘——淺析分類算法
    下面介紹的是目前看到的比較全面的分類算法, 主要分類方法介紹解決分類問題的方法很多,單一的分類方法主要包括:決策樹、貝葉斯、人工神經網絡、K-近鄰、支持向量機和基於關聯規則的分類等;另外還有用於組合單一分類方法的集成學習算法,如Bagging和Boosting等。
  • 什麼是人工神經網絡(ANN)?
    人工神經元的結構,人工神經網絡的基本組成部分(來源:維基百科)從本質上講,這聽起來像是一個非常瑣碎的數學運算。但是,當您將成千上萬的神經元多層放置並堆疊在一起時,您將獲得一個人工神經網絡,可以執行非常複雜的任務,例如對圖像進行分類或識別語音。
  • 史丹福大學教授提出全可微神經網絡架構MAC:可用於機器推理
    為解決這一問題,本文提出了一種新的全可微神經網絡架構 MAC,可使網絡具有結構化推理和迭代思考的能力, 提升其推理的明確性和表現力;在通過 CLEVR 數據集解決視覺推理的任務中,MAC 實現了 98.9% 的當前最優準確率,同時所需數據量減少 5 倍。
  • 決策樹算法——選擇困難症的「良藥」
    01新冠檢測和決策樹的基本原理決策樹算法是一種典型的、逼近離散函數值的分類方法。主要是先對數據進行處理,利用歸納算法生成可讀的規則和決策樹,然後使用決策對新數據進行分析。(註:以上例子僅為了解釋決策樹算法的模擬描述,不一定代表真實情況)02決策樹算法解決選擇困難症隨著新冠疫情逐步得到緩解,長期宅在家中的人們都開始考慮去戶外遊玩,可是天氣越來越熱、或者下雨、大風等,能不能帶家人一起出去遊山玩水還得看老天爺的臉色。
  • 數據建模中分類與預測模型
    3.實現過程  分類算法有兩步過程:第一步是學習步,通過歸納分析訓練樣本集來建立分類模型得到分類規則;第二步是分類步,先用已知的測試樣本集評估分類規則的準確率,如果準確率是可以接受的,則使用該模型對未知類標號的待測樣本集進行預測。  預測模型的實現也有兩步,第一步是通過訓練集建立預測屬性(數值型的)的函數模型,第二步在模型通過檢驗後進行預測或控制。