谷歌發布TensorFlow Lattice:得益于先驗知識,提升模型泛化能力
近日,谷歌科學家發布 TensorFlow Lattice,這是一套預建的 TensorFlow Estimators,易于使用,它相當于是 TensorFlow 運算符,用來構建點陣模型(lattice model)。點陣是多維插值查找表(look-up table),與幾何教材背面近似于正弦函數的查找表類似。
雷鋒網 AI 科技評論編譯整理如下:
我們利用查找表的結構(它可以通過多個輸入進行鍵控),來估計比較隨意及靈活的關系,并滿足于指定的單調關系,以便更好地泛化。也就是說,訓練查找表值使得訓練樣例的損失最小化。另外,查找表中的相鄰值被約束為在輸入空間的給定方向上增長,因此模型的輸出值也是在這些方向上增長。重要的是,因為是在查找表值之間進行插入,所以點陣模型很平滑,預測也是有界的,這有助于避免測試階段出現有較大偏差的雜散預測。
視頻地址:http://static.video.qq.com/TPout.swf?auto=1&vid=z0560xy9zaa
點陣模型的作用
設想一下,你正在設計一個向用戶推薦附近咖啡店的系統,你需要讓模型學習:“如果兩家咖啡店是一樣的,那就選擇更近一點的。”
下圖中我們展示了一個靈活的模型(粉色曲線),它可以精確地與來自東京用戶的訓練數據(紫色圓點)相匹配,在用戶附近有很多咖啡店。
由于訓練樣例比較嘈雜,可以看到粉色曲線模型產生了過擬合,并且模型還忽略了總的趨勢——越近的咖啡店越好。如果用這條粉色曲線模型排列來自德克薩斯州(藍色)的測試樣本,在德克薩斯州咖啡店的分布更加分散,你會發現模型的表現變得很奇怪,有時甚至會認為更遠的咖啡店更好!


對比起來,運用東京相同的樣本訓練的點陣模型能被約束為滿足單調關系,最終得到一個靈活的單調函數(綠色曲線)。這個函數能與東京的訓練樣例精準匹配,但是也能泛化到德克薩斯州的樣例上,不會出現更遠的咖啡店更好的情況。
一般說來,輸入會有每個咖啡店的咖啡質量、價格等等。靈活模型很難捕捉到這種形式的整體關系,特別是在一些特征空間中,訓練數據非常稀疏和雜亂。“如果其他所有輸入占的權重一樣,那么更近就更好。”能捕捉到先驗知識(例如輸入是怎么對預測值產生影響的)的機器學習模型在實際中取得的效果更好,更易于調試并更具有解釋性。
預建 Estimators
我們提供一系列點陣模型架構作為 TensorFlow Estimators。我們提供的最簡單的 estimator 是校準線性模型(calibrated linear model),它能利用1-d 點陣,學習到每個特征的最佳1-d 轉化,然后線性地將所有校準特征結合起來。如果訓練數據集很小或沒有復雜的非線性輸入交互,模型將非常有效。
另外一個 estimator 是校準點陣模型(calibrated lattice model),這個模型能利用兩層單一點陣模型非線性地將校準特征結合起來,能在數據集中表示復雜的非線性交互。如果有2-10 個特征,那么校準點陣模型會是很好的選擇,但對于 10 個或 10 個以上的特征,我們認為利用一組校準點陣將會得到最佳結果,這時候你能利用預建的一組架構來進行訓練。比起隨機森林,單調點陣集合(Monotonic lattice ensembles)能增加 0.3% -- 0.5% 的準確度。另外,比起之前頂尖的單調性學習模型,這些新的 TensorFlow 點陣 estimator 能增加 0.1% -- 0.4% 的準確度。
動手建立模型
你或許想要用更深的點陣網絡進行實驗,或者利用部分單調函數(作為深度神經網絡或其他 TensorFlow 架構的一部分)來進行研究。我們提供構件:TensorFlow 校準運算符、點陣插入和單調性投影(monotonicity projections)。下圖是一個 9 層深度點陣網絡:

在 TensorFlow Lattice 中,除了模型的靈活選擇以及標準的 L1、L2 正則化,我們還提供新的正則化矩陣:
-
如上面描述的那樣,在輸入上進行單調性約束。
-
在點陣上進行拉普拉斯正則化,以便讓學習到的函數更平滑。
-
對扭曲進行正則化(Torsion regularization),來抑止不必要的非線性特征交互。
大家可以在如下地址看到詳細信息并開始進行實驗:
GitHub 地址:https://github.com/tensorflow/lattice
tutorials 地址:https://github.com/tensorflow/lattice/blob/master/g3doc/tutorial/index.md
參考文獻:
[1] Lattice Regression, Eric Garcia, Maya Gupta, Advances in Neural Information Processing Systems (NIPS), 2009
[2] Optimized Regression for Efficient Function Evaluation, Eric Garcia, Raman Arora, Maya R. Gupta, IEEE Transactions on Image Processing, 2012
[3] Monotonic Calibrated Interpolated Look-Up Tables, Maya Gupta, Andrew Cotter, Jan Pfeifer, Konstantin Voevodski, Kevin Canini, Alexander Mangylov, Wojciech Moczydlowski, Alexander van Esbroeck, Journal of Machine Learning Research (JMLR), 2016
[4] Fast and Flexible Monotonic Functions with Ensembles of Lattices, Mahdi Milani Fard, Kevin Canini, Andrew Cotter, Jan Pfeifer, Maya Gupta, Advances in Neural Information Processing Systems (NIPS), 2016
[5] Deep Lattice Networks and Partial Monotonic Functions, Seungil You, David Ding, Kevin Canini, Jan Pfeifer, Maya R. Gupta, Advances in Neural Information Processing Systems (NIPS), 2017
來自: 雷鋒網
