天天看點

Multi-Layered Gradient Boosting Decision Trees(mGBDT) 筆記

自去年周志華老師提出了“深度森林”後,有重磅提出了多層梯度提升決策樹模型。提出通過堆疊多個回歸 GBDT 層作為建構塊,并探索了其學習層級表征的能力。此外,與層級表征的神經網絡不同,他們提出的方法并不要求每一層都是可微,也不需要使用反向傳播更新參數。本文旨在對該paper進行解讀,轉載請注明出處。

本文主要回答了兩個問題:

1、我們是否可以用非可微元件建構多層模型(比如使用樹內建來獲得分層分布式表征),進而中間層的輸出可以被當作分布式表征?     可以,也就是本文提出的Multi-layered GBDT(但是事實上分布式表征能力還值得探讨,個人感覺實驗有點弱)

2、在沒有反向傳播的幫助下,如何訓練這種模型(非可微元件建構的多層模型) Step1: 訓練(or 初始化)每一層的輸出 F。F的訓練是引入“pseudo-label”  z 後通過類似GBDT的方法學習出來的(具體步驟見僞代碼)。 Step2: 訓練“pseudo-inverse” mapping G。 這裡事實上可以認為是auto-encoder的一個類似(後半部分,前半部分為F)。這裡面有一個比較有趣的技巧,就是在訓練的過程中引入白噪聲,增強魯棒性。 注:訓練好G後,預設為G與F的逆函數相同,這就是“pseudo-label”  z 的回傳更新方式。有了這個,原問題就變回了GBDT的問題了。

Multi-Layered Gradient Boosting Decision Trees(mGBDT) 筆記

圖1. mGBDT的訓練過程

Multi-Layered Gradient Boosting Decision Trees(mGBDT) 筆記

圖2. Auto-encoder示意圖(圖檔來源于網絡)

盡管本文是一篇非常有啟發性的工作,但我還是認為文章中也有一些地方值得商榷:

    1、Theorem1中 “preserve the isometry on its neighbors” 的假設太強,在實際應用中很難達到。這也似乎意味着,訓練不一定會朝着loss變小的方向。

    2、實驗中性能的提升并不太明顯,而且大家更關心的大概是在MNIST甚至是ImageNet上能不有中間神經元打開出現點線,甚至“一隻貓”的效果來證明中間層具有表征能力。

繼續閱讀