深度森林第三彈:周志華組提出可做表徵學習的多層梯度提升決策樹

2021-01-11 機器之心Pro

自去年周志華等研究者提出了「深度森林」以後,這種新型的層級表徵方式吸引了很多研究者的關注。今日,南京大學的馮霽、俞揚和周志華提出了多層梯度提升決策樹模型,它通過堆疊多個回歸 GBDT 層作為構建塊,並探索了其學習層級表徵的能力。此外,與層級表徵的神經網絡不同,他們提出的方法並不要求每一層都是可微,也不需要使用反向傳播更新參數。因此,多層分布式表徵學習不僅有深度神經網絡,同時還有決策樹!

近十年來,深層神經網絡的發展在機器學習領域取得了顯著進展。通過構建分層或「深層」結構,該模型能夠在有監督或無監督的環境下從原始數據中學習良好的表徵,這被認為是其成功的關鍵因素。成功的應用領域包括計算機視覺、語音識別、自然語言處理等 [1]。

目前,幾乎所有的深層神經網絡都使用具有隨機梯度下降的反向傳播 [2,3] 作為訓練過程中更新參數的幕後主力軍。實際上,當模型由可微分量(例如,具有非線性激活函數的加權和)組成時,反向傳播似乎仍是當前的最佳選擇。其他一些方法如目標傳播 [4] 已經被作為訓練神經網絡的替代方法被提出,但其效果和普及還處於早期階段。例如,[5_]_的研究表明,目標傳播最多可達到和反向傳播一樣的效果,並且實際上常常需要額外的反向傳播來進行微調。換句話說,老掉牙的反向傳播仍然是訓練神經網絡等可微分學習系統的最好方法。

另一方面,探索使用非可微模塊來構建多層或深度模型的可能性的需求不僅僅是學界的興趣所在,其在現實應用上也有很大的潛力。例如,基於樹的集成(例如隨機森林 [6] 或梯度提升決策樹(GBDT)[7] 仍然是多個領域中建模離散或表格數據的主要方式,為此在這類數據上使用樹集成來獲得分層分布式表徵是個很有趣的研究方向。在這樣的案例中,由於不能使用鏈式法則來傳播誤差,反向傳播不再可行。這引發了兩個基本的問題:首先,我們是否可以用非可微組件構建多層模型,從而中間層的輸出可以被當作分布式表徵?其次,如果是這樣,如何在沒有反向傳播的幫助下,聯合地訓練這種模型?本文的目的就在於提供這種嘗試。

近期 Zhou 和 Feng [8] 提出了深度森林框架,這是首次嘗試使用樹集成來構建多層模型的工作。具體來說,通過引入細粒度的掃描和級聯操作(cascading operation),該模型可以構建多層結構,該結構具備適應性模型複雜度,且能夠在多種類型的任務上取得有競爭力的性能。[8] 提出的 gcForest 模型利用了集成學習多樣性增強的各種策略,然而該方法僅適用於監督學習設置。同時,該論文仍然不清楚如何利用森林來構建多層模型,並明確地測試其表徵學習能力。由於很多之前的研究者認為,多層分布式表徵 [9] 可能是深度神經網絡成功的關鍵,為此我們應該對表徵學習進行這樣的探索。

該研究力求利用兩個方面的優勢:樹集成的出色性能和分層分布式表徵的表達能力(主要在神經網絡中進行探索)。具體來說,本研究提出了首個多層結構,每層使用梯度提升決策樹作為構造塊,明確強調其表徵學習能力,訓練過程可以通過目標傳播的變體進行聯合優化。該模型可以在有監督和無監督的環境下進行訓練。本研究首次證明,確實可以使用決策樹來獲得分層和分布式表徵,儘管決策樹通常被認為只能用於神經網絡或可微分系統。理論論證和實驗結果均表明了該方法的有效性。

3 提出的方法

這一部分機器之心並不詳細介紹,具體的方法讀者可參考原論文第三章。在一般的多層前饋結構中,每一層都是可微函數,因此我們可以使用反向傳播傳遞梯度並高效地更新參數。但是當每一個層級函數都是不可微或者非參數化的,那麼我們就不能使用反向傳播。所以這一部分重點在於解決當層級函數 F_i 是梯度提升決策樹時,其參數的更新方法。

訓練神經網絡時,初始化可以通過向每個參數分配隨機高斯噪聲來實現,然後該步驟移動到下一階段,即參數更新。對於此處介紹的樹結構模型來說,從所有可能的樹配置分布中繪製隨機樹結構不是一件容易的事情,因此本論文沒有隨機初始化樹結構,而是生成一些高斯噪聲作為中間層的輸出,並訓練一些非常小的樹來獲取

,其中索引 0 表示該初始化階段獲取的樹結構。之後訓練步驟移動到迭代更新正向映射和逆向映射。圖 1 和算法 1 總結了該步驟。

圖 1:訓練 mGBDT 步驟的示意圖。

值得注意的是,[23] 利用 GPU 加速訓練 GBDT,Korlakai & Ran [24] 展示了一種實施 GBDT drop-out 技術的高效方式,進一步提升了性能。至於多維輸出問題,使用 GBDT 的原始方法內存效率較低。Si 等人 [25] 提出了解決該問題的有效方式,可以在實踐中將內存降低一個數量級。

4 實驗

4.1 合成數據

為了進行完整性檢查,研究者在合成數據集上訓練兩個小的多層 GBDT。

如圖 2a 所示,研究者在 R^2 上得到了 1.5 萬個點,分為兩個類別(70% 用於訓練,30% 用於測試)。用於訓練的結構是(輸入 5 3 輸出),其中輸入點在 R^2 中,輸出是 0/1 分類預測。

研究者還進行了一項自動編碼的無監督學習任務。生成了 1 萬個 3D 點,如圖 3a 所示。然後研究者用結構為(3 - 5 - 3)的 mGBDT 構建了一個自編碼器,MSE 為重建損失。

重建輸出如圖 3b 所示。輸入 3D 點的 5D 編碼不可能直接可視化,這裡研究者使用一種通用策略來可視化 2D 中 5D 編碼的一些維度對,如圖 4 所示。

4.2 收入預測

收入預測數據集 [28] 包含 48, 842 個樣本(其中 32, 561 個是訓練數據,16, 281 個是測試數據),這些樣本是表格數據,具備類別屬性和連續屬性。每個樣本包括一個人的社會背景,如種族、性別、工作種類等。這裡的任務是預測這個人的年薪是否超過 50K。

圖 5:收入數據集的特徵可視化。

實驗結果見圖 6 和表 1。首先,基於同樣的模型結構,多層 GBDT 森林(mGBDT)與使用反向傳播或目標傳播(target-prop)的 DNN 方法相比取得了最高的準確率。它的準確率還比單個 GBDT 或多個 GBDT 的簡單堆疊更高。其次,與期望相反,NN^TargetProp 的收斂效果不如 NN^BackProp(與 [5] 的結果一致),而使用 GBDT 層的同樣結構可以達到更低的訓練損失,同時避免過擬合。

圖 6:收入數據集學習曲線。

表 1:分類準確率對比。對於蛋白質數據集,使用 10 折交叉驗證評估出的準確率以平均值 ± 標準差的形式表示。

4.3 蛋白質定位

蛋白質數據集 [28] 是一個 10 類別分類任務,僅包含 1484 個訓練數據,其中 8 個輸入屬性中的每一個都是蛋白質序列的一個測量值,目標是用 10 個可能的選擇預測蛋白質定位位點。

圖 7:蛋白質數據集的特徵可視化

10 折交叉驗證的訓練和測試曲線用平均值繪製在圖 8 中。多層 GBDT(mGBDT)方法比神經網絡方法收斂得快得多,如圖 8a 所示。

圖 8:蛋白質數據集學習曲線。

表 2:不同模型結構的測試準確率。使用 10 折交叉驗證評估出的準確率以平均值 ± 標準差的形式表示。N/A 表示並未應用。

論文:Multi-Layered Gradient Boosting Decision Trees

論文連結:https://arxiv.org/pdf/1806.00007.pdf

摘要:多層表徵被認為是深度神經網絡的關鍵要素,尤其是在計算機視覺等認知任務中。儘管不可微模型如梯度提升決策樹(gradient boosting decision tree,GBDT)是建模離散或表格數據的主要方法,但是它們很難整合這種表徵學習能力。在本文中,我們提出了多層 GBDT 森林(mGBDT),通過堆疊多個回歸 GBDT 層作為構建塊,探索學習層級表徵的能力。該模型可以使用層間目標傳播的變體進行聯合訓練,無需推導反向傳播和可微性。實驗和可視化均證明該模型在性能和表徵學習能力方面的有效性。

相關焦點

  • 速度提升、準確率更勝一籌,周志華等人提出可微XGBoost算法sGBM
    梯度提升機(GBM)的重要性無需多言,但傳統的 GBM 仍存在一些固有缺點。近日,南京大學周志華, 創新工場馮霽等人提出了一種新型的軟梯度提升機(sGBM),並基於此構建了新型的軟梯度提升決策樹(sGBDT),作為XGBoost的替代性模型。相比於傳統的「硬」GBM,sGBM 在準確度、訓練時間和增量學習,多維度回歸等多方面都有更優的表現。
  • 如何評價周志華深度森林模型,熱議會否取代深度學習 DNN
    原標題:如何評價周志華深度森林模型,熱議會否取代深度學習 DNN 【新智元導讀】昨天,新智元報導了南京大學周志華教授和馮霽的論文「深度森林」,引發很多討論。今天,新智元整理了網上一些評價。中文內容來自知乎,已經取得授權。外網內容來自 Hacker News,由新智元編譯整理。正在看這篇文章的你,也歡迎留下你的看法。
  • 揭秘深度學習成功的數學原因:從全局最優性到學習表徵不變性
    本文的目的正是要揭示深度學習成功的奧秘。通過圍繞著深度學習的三個核心要素——架構、正則化技術和優化算法,並回顧近期研究,作者為深層網絡的若干屬性,如全局最優性、幾何穩定性、學習表徵不變性,提供了一個數學證明。
  • 南大周志華組提出新型神經元模型FT
    選自arXiv作者:張紹群、周志華機器之心編譯在此論文中,來自南京大學的張紹群博士和周志華教授提出一個新型神經元模型 Flexible Transmitter (FT),該模型具備靈活的可塑性並支持複雜數據的處理
  • 決策樹的復興?結合神經網絡,提升ImageNet分類準確率且可解釋
    隨著深度學習在金融、醫療等領域的不斷落地,模型的可解釋性成了一個非常大的痛點,因為這些領域需要的是預測準確而且可以解釋其行為的模型。然而,深度神經網絡缺乏可解釋性也是出了名的,這就帶來了一種矛盾。可解釋性人工智慧(XAI)試圖平衡模型準確率與可解釋性之間的矛盾,但 XAI 在說明決策原因時並沒有直接解釋模型本身。
  • 一場突如其來的討論:到底什麼是深度學習?SVM其實也是深度學習嗎?
    深度學習應該指的是一種表徵學習方法,其中的模型是由一連串的模塊組成的(一般都會堆成一個多層的或者金字塔形的模型,這也就是「深度」的由來),而其中的每一個模塊分別拿出來訓練之後都可以作為獨立的特徵提取器。我在我自己的書裡也就是這麼定義的。
  • 人工智慧(AI) 機器學習(ML) 深度學習(DL),到底他們哥仨是什麼關係?
    (或者人工神經網絡) 偉博斯在1981年的神經網絡反向傳播(BP)算法中具體提出多層感知機模型。隨機森林的名稱中有兩個關鍵詞,一個是「隨機」,一個就是「森林」。「森林」我們很好理解,一棵叫做樹,那麼成百上千棵就可以叫做森林了,這樣的比喻還是很貼切的,其實這也是隨機森林的主要思想—集成思想的體現。 其實從直觀角度來解釋,每棵決策樹都是一個分類器(假設現在針對的是分類問題),那麼對於一個輸入樣本,N棵樹會有N個分類結果。
  • 機器學習算法集錦:從貝葉斯到深度學習及各自優缺點
    BoostingBootstrapped Aggregation(Bagging)AdaBoost層疊泛化(Stacked Generalization)(blending)梯度推進機(Gradient Boosting Machines,GBM)梯度提升回歸樹(Gradient Boosted Regression Trees,GBRT)隨機森林(Random Forest)
  • 周志華組最新論文提出「溯因學習」,受瑪雅文字啟發的神經邏輯機
    【新智元導讀】南京大學周志華教授等人在最新的一篇論文中提出了「溯因學習」(abductive learning)的概念,將神經網絡的感知能力和符號AI的推理能力結合在一起,能夠同時處理亞符號數據(如原始像素)和符號知識。
  • 深度學習大神Yoshua Bengio經典前瞻演講,幫你打通深度學習的任督...
    Yoshua Bengio連同Geoff Hinton老先生以及 Yann LeCun教授一起造就了2006年始的深度學習復興。他的研究工作主要聚焦在高級機器學習方面,致力於用其解決人工智慧問題。目前他是僅存的幾個仍然全身心投入在學術界的深度學習教授之一(蒙特婁大學),本文是他在2009年的經典前瞻演講——「人工智慧學習深度架構」有關內容的第一部分。
  • 決策樹算法——選擇困難症的「良藥」
    實際上,在人工智慧領域,就有一種預測算法,利用樹杈的形狀,非常形象地來解決這種選擇問題,這就是決策樹算法,它是一個非常廣泛應用的算法,其原理是通過對一系列問題進行「是/否」的推導,最終實現決策。在機器學習發展到如今,決策樹算法越來越得到更多的應用,我們也可以說它是解決「選擇困難症」的良藥。本文為了讓讀者朋友較好理解該算法,用python編程進行一個實際應用的示範。
  • 深度學習之視頻人臉識別系列三:人臉表徵
    一、人臉表徵把人臉圖像通過神經網絡,得到一個特定維數的特徵向量,該向量可以很好地表徵人臉數據,使得不同人臉的兩個特徵向量距離儘可能大,同一張人臉的兩個特徵向量儘可能小,這樣就可以通過特徵向量來進行人臉識別
  • 入門| 獻給新手的深度學習綜述
    用準確的話總結就是,深度學習是機器學習的一個子領域,它使用了多層次的非線性信息處理和抽象,用於有監督或無監督的特徵學習、表示、分類和模式識別。 深度學習即表徵學習是機器學習的一個分支或子領域,大多數人認為近代深度學習方法是從 2006 開始發展起來的。本文是關於最新的深度學習技術的綜述,主要推薦給即將涉足該領域的研究者。
  • 吳恩達授課,斯坦福CS230深度學習課程資源開放
    課程主要內容CS230 與吳恩達在 Coursera 上的深度學習專項課程一樣分 5 部分,即神經網絡與深度學習、提升深度神經網絡、機器學習項目的策略、卷積神經網絡及序列模型。在第一課中介紹了神經網絡和深度學習的基礎。主要在課堂內介紹了深度學習的直觀概念,並藉助兩個模塊從頭開始學習神經網絡到底是什麼。
  • 人工智慧深度學習的未來展望
    這些方法在許多方面都帶來了顯著的改善,包括較先進的語音識別、視覺對象識別、對象檢測和許多其它領域,例如藥物發現和基因組學等。深度學習能夠發現大數據中的複雜結構。它是利用BP算法來完成這個發現過程的。BP算法能夠指導機器如何從前一層獲取誤差而改變本層的內部參數,這些內部參數可以用於計算表示。
  • 吳恩達團隊提出NGBoost梯度提升方法
    10月14日消息,在論文《NGBoost: Natural Gradient Boosting for Probabilistic Prediction》中,來自斯坦福的研究者們提出了NGBoost梯度提升方法,以解決現有梯度提升方法難以處理的通用概率預測中的技術難題。
  • 超實用總結:AI實踐者需要用到的10個深度學習方法
    Toronto在2009年發表的文章《深度波茲曼機器》(Deep Boltzmann Machines)中,提出了一種新的算法,波茲曼機器中有眾多層中包含變量。  DeepMind在2016年發表的文章《用深度強化學習玩Atari》(Playing Atari with Deep Reinforcement Learning)中,提出了第一個可以成功地通過強化學習直接從高維感官輸入中學習控制策略的深度學習模型 。  通過研究和學習,關於深度學習相關知識我收穫頗豐。
  • 深度學習預測RNA二級結構,螞蟻金服提出端到端模型E2Efold
    id=S1eALyrYDH論文提出的端到端深度學習模型 E2Efold 可用於預測 RNA 二級結構,該模型能有效地考慮 RNA 二級結果計算預測問題中的固有約束條件。E2Efold 的核心思想是直接預測 RNA 鹼基配對矩陣,並能使用一個展開式算法進行約束編程以作為深度架構強制執行約束的模板。
  • BAT大廠機器學習算法面試經驗!一文帶你感受網際網路大佬知識點
    C4.5決策樹:C4.5決策樹的提出完全是為了解決ID3決策樹的一個缺點,當一個屬性的可取值數目較多時,那麼可能在這個屬性對應的可取值下的樣本只有一個或者是很少個,那麼這個時候它的信息增益是非常高的,這個時候純度很高,ID3決策樹會認為這個屬性很適合劃分,但是較多取值的屬性來進行劃分帶來的問題是它的泛化能力比較弱,不能夠對新樣本進行有效的預測
  • 引爆機器學習圈:「自歸一化神經網絡」提出新型激活函數SELU
    然而,帶有標準前饋神經網絡(FNN)的深度學習很少有成功的案例。通常表現良好的 FNN 都只是淺層模型,因此不能挖掘多層的抽象表徵。所以我們希望引入自歸一化神經網絡(self-normalizing neural networks/SNNs)以幫助挖掘高層次的抽象表徵。雖然批歸一化要求精確的歸一化,但 SNN 的神經元激勵值可以自動地收斂到零均值和單位方差。