速度提升、準確率更勝一籌,周志華等人提出可微XGBoost算法sGBM

2020-12-05 機器之心Pro

梯度提升機(GBM)的重要性無需多言,但傳統的 GBM 仍存在一些固有缺點。近日,南京大學周志華, 創新工場馮霽等人提出了一種新型的軟梯度提升機(sGBM),並基於此構建了新型的軟梯度提升決策樹(sGBDT),作為XGBoost的替代性模型。相比於傳統的「硬」GBM,sGBM 在準確度、訓練時間和增量學習,多維度回歸等多方面都有更優的表現。

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

梯度提升機(GBM)已被證明是一種成功的函數近似器並已在多種不同的領域得到了廣泛應用。GBM 的基本思想很簡單,即訓練一系列基學習器(base learner)並且這些學習器的目標是按順序最小化某個預定義的可微分損失函數。

在構建這些學習系統時,通常的做法是用不可微分的決策樹充當基學習器。梯度提升決策樹(GBDT)及 XGBoost、LightGBM 和 CatBoost 等變體,是最常見也是最廣泛使用的具體模型實現。

現階段,對於表格式數據而言,GBDT 模型仍舊是最佳選擇,其應用領域也很廣泛,從協同過濾到信息檢索再到粒子發現均有其身影。但是,此類模型較難用於在線學習,因為流數據的環境是會變化的,而基模型在訓練完成後難以隨環境而變化。

另一方面,同 GBM 不同,可微分編程不僅需要損失函數是可微分的,學習模塊也需要可微分。具體來說,通過將多個可微分學習模塊構建為任意有向無環圖(DAG)形式,就可通過隨機梯度下降或其變體優化方法來聯合優化其整個結構。這樣的系統有一些出色的特性,包括強大的表徵學習能力、可擴展性以及可在線使用。

2018 年,周志華和馮霽等人發表的一篇 NeurIPS 論文提出了一種用於表徵學習的多層梯度提升決策樹(mGBDT),這項研究開創性地融合了上述兩個研究方向的優勢。具體來說,mGBDT 具有和可微分編程模型一樣的分層表徵能力,同時又具備非可微分模型的一些優良特性,因此能以更好的方式處理表格式數據。這項開創性研究帶來了新的挑戰和機遇,但也存在很大的進一步探索空間。

今天要介紹的這項研究是周志華,馮霽等人在相關問題上的又一種開創性思考。這一次,他們研究的不是如何構建一個能像可微分程序一樣工作的 GBM,而是探索了如何構建能像不可微分的 GBM 一樣工作的可微分系統。軟梯度提升機(Soft Gradient Boosting Machine)就是他們的探索成果。這種「軟」版本的 GBM 是將多個可微分的基學習器連接在一起,受 GBM 啟發,同時引入了局部損失與全局損失,使其整體結構可以得到聯合優化。在此基礎上,他們還提出使用軟決策樹(soft decision tree)來充當基學習器,在硬決策樹不是最合適的選擇時,軟決策樹對應的軟梯度提升決策樹就可被視為 XGBoost 的替代選擇。據介紹,這種設計具有如下優勢:

首先,相比於傳統的(硬)梯度提升機,軟梯度提升機的訓練速度更快。軟 GBM 不是一次一個地訓練基學習器,而是能同時訓練所有基學習器。該團隊也對該設計進行了實驗實測,結果表明在使用同樣的基學習器時,軟 GBM 在多個基準數據集上能帶來超過 10 倍的速度提升,同時還有更勝一籌的準確度。此外,在擬合傳統 GBM 模型時,一個基學習器必須在「看」完所有訓練數據之後才能轉向下一個學習器;這樣的系統不適合增量學習或在線學習。而軟 GBM 天生就具備這樣的能力。

其次,XGBoost 等當前的 GBDT 實現使用了 CART 作為基學習器,因此不能很直接地用於多維回歸任務。但 sGBDT 可使用軟決策樹作為學習器來自然地處理這些任務。這樣的特性也使得 sGBDT 更適用於知識蒸餾或二次學習,因為蒸餾過程會將分類的 one hot 標籤轉換為一個在訓練集上的稠密向量。

最後,由於局部和全局的損失注入,軟 GBM 會讓基學習器之間的交互呈指數增長,使得該系統能比對多個基學習器使用軟平均 (soft averaging, 可微加權平均集成) 的方法更有效和更高效。

先從 GBM 講起

在詳細介紹新提出的方法之前,先來看看梯度提升機(GBM)的工作方式。具體來說,對於給定的數據集

,GBM 的目標是獲得函數 F*(x) 的一個優良近似,而評估標準是看其能否在實驗中最小化損失

GBM 假設 F*(x) 有這樣的加法展開形式:

其中

由 θ_m 參數化,而 β_m 是第 m 個基學習器的係數。

GBM 的訓練過程是基於訓練數據學習參數

。GBM 首先假設

,然後就能按順序決定

和 β_m。首先,給定 y^i 和 GBM 前一輪獲得的預測結果,

GBM 可為每個訓練樣本計算出所謂的殘差:

其次,下一個基學習器 h_m 會與該殘差進行擬合。係數 β_m 則通過最小二乘法確定或設定為常數。最後,完成對學習器 h_m 和係數 β_m 的參數更新之後,就可以將其用作條件來更新 GBM 的預測結果:

圖 1:GBM 和 sGBM 示意圖

然後進入下一輪訓練流程。算法 1 總結了這個訓練過程,圖 1 左圖也給出了其示意圖。

算法 1:常規(硬)GBM 的訓練過程

sGBM 有何不同?

可以看出,GBM 的訓練過程難以並行化,因為只有在一個基學習器擬合之後才能轉向下一個基學習器。也因為這個原因,這類算法也難以在線應用。

軟梯度提升機(sGBM)就是針對這些問題而提出的。該研究團隊首先假設所有基學習器都是可微分的。然後,他們沒有選擇為相連的基學習器執行軟平均,而是提出使用兩種類型的損失函數——全局損失和局部損失;將這兩種損失函數注入訓練過程之後,可使得基學習器之間的交互成指數增長,進而實現梯度提升效果(而非所有基學習器的直接加權平均)。

具體來說,令 M 為可微分基學習器的數量,其中每個基學習器的參數為 θ_m。這裡 M 是預先確定的,指定了訓練之前所使用的基學習器的數量。和硬 GBM 一樣,sGBM 的輸出為所有基學習器的輸出之和:

。訓練中整個結構的最終損失定義為

。其中,l_m 是基學習器的損失:

,而 o_m 則是當前學習器 h_m 的輸出,r_m 是對應的殘差

圖 1 右圖為新提出的 sGBM 的示意圖。可以看到,輸入數據的流動過程是一個有向無環圖(DAG),因此其整個結果都可通過 SGD 或其變體進行訓練,即最小化局部和全局損失目標。算法 2 闡釋了這一過程。

算法 2:訓練 sGBM

軟梯度提升決策樹

下面來看看適合 sGBM 的基學習器。研究者在論文中探討了基學習器是決策樹的具體情況。

梯度提升決策樹(GBDT)是 GBM 應用最廣的實例之一,其使用了硬(而且通常較淺)的二叉決策樹作為基學習器。具體來說,這個硬決策樹內每個無葉的節點會形成一個軸平行的決策平面,每個輸入樣本都會根據對應的決策平面被引導至左側或右側的子節點。這樣的流程是按遞歸方式定義的,直到輸入數據抵達葉節點。最終的預測結果是輸入樣本所在的葉節點內的類分布。

XGboost、LightGBM 和 CatBoost 等 GBDT 的成功實現已經證明 GBDT 是一種絕佳的數據建模工具,尤其是對於表格式數據而言。

另一方面,軟決策樹使用了 logistic 單元作為內部非葉節點的路由門,而輸入樣本的最終預測結果是所有葉節點之間的類別分布的加權和,其中權重是由在內部節點上沿決策路徑的 logit 積確定。這樣的結構可通過隨機梯度下降進行訓練,圖 2 給出了示意圖。

圖 2:單個軟決策樹的示意圖

當使用軟決策樹作為基學習器時,對應的軟 GBDT 相較於硬 GBDT 有多項優勢。第一,硬 GBDT 並非處理流數據的最佳選擇;而 sGBDT 是參數化的,因此整個系統可以根據環境更快地進行調整。第二,在面對多輸出回歸任務時,硬 GBDT 必須為每個樹設置一個維度,這會導致訓練效率低下;相較而言,由於 sGBDT 會同時訓練所有樹,因此速度會快得多。

實驗

sGBM 的有效性也在實驗之中得到了驗證。具體來說,研究者基於同樣的基學習器比較了傳統硬 GBM 和新提出的軟 GBM 在準確度、訓練時間、多輸出回歸、增量學習任務和知識蒸餾能力上的表現。

準確度方面的表現比較如表 2 所示。可以看到,sGBM_CNN 在圖像分類任務上的表現優於 GBM_CNN,而 sGBM_MLP 在除 Letter 數據集之外的幾乎所有數據集上都有優於 GBM_MLP 的表現。在使用樹方法時,相較於經典的 XGBoost 模型,sGBDT 僅在 Letter 和 USPS 數據集上得到了較差的結果。

表 2:分類準確度(均值 ± 標準差)比較。

圖 3 和圖 4 則展示了 sGBM 相較於傳統 GBM 的速度提升效果。可以看出,效果極其顯著,這主要得益於 sGBM 能自然地同時訓練所有基學習器。

圖 3:sGBM 對訓練的加速效果。很顯然,基學習器越多,加速效果越顯著。

圖 4:使用 MLP 和 CNN 作為基學習器時的訓練時間(秒)。

研究者也探索了添加更多基學習器能否有助於提升準確度表現。結果見圖 5,可以看出,答案是肯定的,可以認為主要原因是在 sGBM 的架構設計中基學習器之間有更多的交互。

圖 5:具有不同數量的基決策樹的 sGBDT 的學習曲線

下表 3、圖 6 和表 4 則分別給出了 sGBDT 在多輸出回歸任務、增量學習設置及知識蒸餾上的表現。總體而言,sGBDT 相較於傳統 GBDT 基本都有更優的表現。

表 3:使用 10 個基學習器的均方誤差(均值 ± 標準差)。可以看到 sGBDT 在大多數數據集上表現更優,另需注意 sGBDT 可輕鬆自然地插入其它任務,而硬 GBDT 需要一些額外的修改才行。

圖 6:在增量學習設置下的表現比較。相比於 XGBoost,sGBDT 在收斂速度方面優勢明顯。此外,sGBDT 相比於離線設置的準確度下降也更低。

表 4:sGBDT 和 XGBoost 的知識蒸餾能力對比。sGBDT 同樣表現更佳,作者認為原因是 XGBoost 及其它使用硬 CART 樹作為基模型的 GBDT 實現在執行多維回歸任務時,負責目標維度的樹之間交互更少,使得模型難以蒸餾存在於標籤分布向量之中的信息。

相關焦點

  • 深度森林第三彈:周志華組提出可做表徵學習的多層梯度提升決策樹
    自去年周志華等研究者提出了「深度森林」以後,這種新型的層級表徵方式吸引了很多研究者的關注。今日,南京大學的馮霽、俞揚和周志華提出了多層梯度提升決策樹模型,它通過堆疊多個回歸 GBDT 層作為構建塊,並探索了其學習層級表徵的能力。此外,與層級表徵的神經網絡不同,他們提出的方法並不要求每一層都是可微,也不需要使用反向傳播更新參數。
  • 機器學習算法XGBoost原理和實踐(上)
    小編在之前公眾號文章已介紹了xgboost的安裝方法,接下來將用兩篇文章,介紹XGboost的算法思想和基本原理、實戰(數據處理、核心代碼分享)。如果還沒有安裝包的讀者,請查看之前文章,喜歡可以關注公眾號!XGBoost是boosting算法的其中一種。Boosting算法的思想是將許多弱分類器集成在一起形成一個強分類器。
  • 南大周志華組提出新型神經元模型FT
    選自arXiv作者:張紹群、周志華機器之心編譯在此論文中,來自南京大學的張紹群博士和周志華教授提出一個新型神經元模型 Flexible Transmitter (FT),該模型具備靈活的可塑性並支持複雜數據的處理
  • 比可微架構搜索DARTS快10倍,第四範式提出優化NAS算法
    由於新的目標是難以解決的,我們進一步提出了一種高效的算法,由近端啟發法進行優化。 通過這種方式,NASP 不僅比現有的可微分的搜索方法速度快,而且還可以找到更好的體系結構並平衡模型複雜度。最終,通過不同任務的大量實驗表明,NASP 在測試精度和計算效率上均能獲得更好的性能,在發現更好的模型結構的同時,速度比 DARTS 等現有技術快 10 倍以上。
  • ICML 2020|提升神經網絡架構搜索穩定性,UCLA提出新型NAS算法
    機器之心專欄作者:陳相寧可微網絡架構搜索能夠大幅縮短搜索時間,但是穩定性不足。為此,UCLA 基於隨機平滑(random smoothing)和對抗訓練(adversarial training),提出新型 NAS 算法。可微網絡架構搜索(DARTS)能夠大幅縮短搜索時間,但是其穩定性受到質疑。
  • YOLOv4來了,大型調優現場,速度和準確率俱佳
    作者 | VincentLee來源 | 曉飛的算法工程筆記簡介論文提出YOLOv4,從圖1的結果來看,相對於YOLOv3在準確率上提升了近10個點,然而速度並幾乎沒有下降,論文主要貢獻如下:提出速度更快、精度更好的檢測模型,僅需要單張1080Ti或2080Ti即可完成訓練。
  • 周志華、Hinton等50多名學者聯名抵制韓國研發「殺人機器人」
    來自蒙特婁大學Yoshua Bengio、多倫多大學Geoffrey Hinton、瑞士人工智慧實驗室Jürgen Schmidhuber、加州大學伯克利分校Stuart Russell、香港中文大學的華雲生教授、香港科技大學的楊瓞仁教授、南京大學的周志華教授等人,通過新南威爾斯大學官網,向 KAIST發出一封 公開信:
  • 劍指LightGBM和XGboost!斯坦福發表NGBoost算法
    Stanford ML Group 最近在他們的論文中發表了一個新算法,其實現被稱為 NGBoost。該算法利用自然梯度將不確定性估計引入到梯度增強中。本文試圖了解這個新算法,並與其他流行的 boosting 算法 LightGBM 和 XGboost 進行比較,以了解它在實踐中是如何工作的。
  • 速度提高100萬倍,哈佛醫學院提出可預測蛋白質結構的新深度模型
    近日,來自哈佛大學醫學院的研究人員提出了一種基於胺基酸序列預測蛋白質結構的新方法,準確率可媲美當前最佳方案,但預測速度提升了100萬倍。生命所必需的每一次基礎生物學進展幾乎都是由蛋白質帶來的。蛋白質參與創建細胞和組織並保持著它們的形狀;構成維持生命所需化學反應的催化酶;充當分子工廠、轉運工具和馬達;充當細胞通訊的信號和接收器等等。
  • 結合神經網絡,提升ImageNet分類準確率且可解釋
    BAIR公布神經支持決策樹新研究,兼顧準確率與可解釋性。隨著深度學習在金融、醫療等領域的不斷落地,模型的可解釋性成了一個非常大的痛點,因為這些領域需要的是預測準確而且可以解釋其行為的模型。然而,深度神經網絡缺乏可解釋性也是出了名的,這就帶來了一種矛盾。
  • 新光子晶片助力深度學習,神經網絡算法可採用新型光子技術更快實現
    然而,來自於MIT的研究團隊和他們的合作者,提出一種新的方法,用光子代替電子,來進行計算。他們表示這種方法將會大大提高計算速度和效率。他們的實驗結果今天發表在著名期刊《自然.光子學》(Nature Photonics)上,論文作者包括MIT博士後沈亦晨,研究生Nicholas Harris, Marin Soljai和Dirk Englund教授以及另外8個合作研究者。
  • OpenAI提出Reptile:可擴展的元學習算法
    近日,OpenAI發布了簡單元學習算法Reptile,該算法對一項任務進行重複採樣,執行隨機梯度下降,更新初始參數直到習得最終參數。該方法的性能可與MAML(一種廣泛應用的元學習算法)媲美,且比後者更易實現,計算效率更高。
  • 算法解讀腦電圖,提升醫生開藥準確率
    編 | 雲鵬智東西2月11日消息,據外媒報導,加州史丹福大學研究團隊開發出可以從人的腦波中預測抗抑鬱藥是否有效的機器學習算法該算法可能為精神疾病藥物的推薦開闢新途徑。根據該研究團隊的臨床測試表明,該算法對於舍曲林(sertraline)這種常見抗抑鬱症藥物有效性的判斷準確率在76%左右。團隊負責人Amit Etkin成立了Alto Neuroscience公司,將繼續致力於此項技術的研發,希望藉此幫助醫生更準確地為精神類疾病患者開具藥方。
  • 引入Powerball 與動量技術,新SGD優化算法收斂速度與泛化效果雙...
    在[1]中的基於多個實際數據集上的實驗表明,文中所提出的方法可以使(隨機)梯度下降法和L-BFGS方法的收斂速度提高10倍。具體而言,基於[1]中作者提出的在梯度下降法中應用Powerball函數的基本思想,本文將其推廣到了SGD的情形,得到了一類簡單且通用的改善深度神經網絡訓練效率的方法。
  • 1.3MB的超輕YOLO算法!全平臺通用,準確率接近YOLOv3,速度快上45%丨...
    這個「加大版」YOLO-Fastest算法是一個3.5MB的算法模型,mAP要高上不少,達到了68.8%。整體來說,YOLO-Fastest是個犧牲一定精度 (大約5%的mAP)、大幅提升速度的目標檢測模型。
  • 周志華組最新論文提出「溯因學習」,受瑪雅文字啟發的神經邏輯機
    【新智元導讀】南京大學周志華教授等人在最新的一篇論文中提出了「溯因學習」(abductive learning)的概念,將神經網絡的感知能力和符號AI的推理能力結合在一起,能夠同時處理亞符號數據(如原始像素)和符號知識。
  • 谷歌大腦重磅研究:快速可微分排序算法,速度快出一個數量級
    現在,谷歌大腦針對這一問題,提出了一種快速可微分排序算法,並且,時間複雜度達到了O(nlogn),空間複雜度達為O(n)。速度比現有方法快出一個數量級!代碼的PyTorch、TensorFlow和JAX版本即將開源。
  • 聯邦學習算法綜述
    與分布式XGBoost相比,SecureBoost在保障模型準確率的情況下,保護了數據的隱私,成功地將縱向GBDT應用到聯邦學習框架中。Li Q B等人提出了一種實現多方GBDT建模的去中心橫向聯邦學習框架——基於相似度的聯邦學習(similarity-based federated learning,SimFL)。這種方法總體分為兩個步驟。
  • 谷歌提出移動端AutoML模型MnasNet:精度無損速度更快
    為了處理移動端速度限制,我們明確地將速度信息納入搜索算法的主要獎勵函數中,以便搜索可以識別一個在準確率和速度之間實現良好平衡的模型。如此,MnasNet 能夠找到運行速度比 MobileNet V2(手工製造的最先進水平)快 1.5 倍、比 NASNet 快 2.4 倍的型號,同時達到同樣的 ImageNet top-1 準確率。
  • 複習2021江蘇省考行測,準確率和速度哪個重要?
    相信有不少同學在準備江蘇公務員考試行測時,會有這樣的疑惑:準確率和做題速度,到底要先保證哪一個?本文,江蘇公務員考試網就來探討下這個問題。   一、準確率or速度   比如A同學,目前行測水平不高,準確率和做題速度都不理想,40個言語題做了50分鐘錯了16個。那麼是先提速度還是準確率還是兩者同步提升呢?   答案是先準確率。