本頁面由 Cloud Translation API 翻譯而成。
Switch to English

TensorFlow格子(TFL)

TensorFlow Lattice是一個庫,可實現靈活,受控和可解釋的基於網格的模型。該庫使您可以通過常識或策略驅動的形狀約束將領域知識注入學習過程。這是通過使用Keras層的集合來完成的,這些集合可以滿足諸如單調性,凸性和成對信任之類的約束。該庫還提供易於設置的固定估計器

概念

本節是單調校準內插查找表 (JMLR 2016)中描述的簡化版本。

格子

晶格是一個內插的查詢表,可以近似計算數據中的任意輸入-輸出關係。它會將常規網格重疊到您的輸入空間上,並在網格的頂點中學習輸出的值。對於測試點$ x $,從$ x $周圍的晶格值線性內插$ f(x)$。

上面的簡單示例是一個具有2個輸入要素和4個參數的函數:$ \ theta = [0,0.2,0.4,1] $,它們是輸入空間角上的函數值;這些參數的其餘部分將通過這些參數進行插值。

函數$ f(x)$可以捕獲要素之間的非線性相互作用。您可以將晶格參數看作是在常規網格上設置在地面上的極點高度,其結果就像是將布料緊緊地綁在四個極點上。

借助$ D $特徵和沿每個維2個頂點,規則晶格將具有$ 2 ^ D $參數。為了適合更靈活的功能,您可以在特徵空間上指定更細粒度的晶格,並且每個維度上都有更多的頂點。格回歸函數是連續的且分段無限可微的。

校準

假設前面的示例晶格代表使用功能計算出的建議本地咖啡店的學習到的用戶滿意度:

  • 咖啡價格,範圍從0到20美元
  • 到用戶的距離,範圍從0到30公里

我們希望我們的模型通過本地咖啡店的建議來學習用戶的滿意度。 TensorFlow Lattice模型可以使用分段線性函數 (帶有tfl.layers.PWLCalibration )將輸入特徵校準和規範化為晶格可接受的範圍:在上述示例晶格中為0.0到1.0。下面顯示了具有10個關鍵點的此類校準功能的示例:

將要素的分位數用作輸入關鍵點通常是個好主意。 TensorFlow Lattice 固定估計器可以自動將輸入關鍵點設置為特徵分位數。

對於分類特徵,TensorFlow Lattice提供分類校準(使用tfl.layers.CategoricalCalibration ),並具有類似的輸出邊界以饋入晶格。

合奏

晶格層的參數數量隨輸入特徵的數量呈指數增加,因此無法很好地縮放到非常高的尺寸。為了克服此限制,TensorFlow格子提供了將多個微小格子組合(平均)的格子集合,這使模型的特徵數量線性增長。

該庫提供了這些合奏的兩種變體:

  • 隨機小格 (RTL):每個子模型使用特徵的隨機子集(帶有替換)。

  • 晶體 :晶體算法首先訓練一個預擬合模型,該模型估計成對特徵相互作用。然後,它安排最終的合奏,以使具有更多非線性相互作用的要素位於同一晶格中。

為什麼選擇TensorFlow Lattice?

您可以在TF Blog帖子中找到TensorFlow Lattice的簡要介紹。

可解釋性

由於每一層的參數都是該層的輸出,因此很容易分析,理解和調試模型的每個部分。

準確而靈活的模型

使用細粒度的晶格,您可以在單個晶格層上獲得任意複雜的函數。在實踐中,使用多層校準器和晶格通常效果很好,並且可以匹配或優於類似尺寸的DNN模型。

常識形狀約束

現實世界中的訓練數據可能不足以代表運行時數據。諸如DNN或森林之類的靈活ML解決方案通常在訓練數據未涵蓋的部分輸入空間中行為異常甚至瘋狂。當違反政策或公平約束時,這種行為尤其成問題。

即使常見形式的正則化可以導致更合理的外推,標準正則化器也不能保證整個輸入空間(尤其是高維輸入)的合理模型行為。切換到具有更多可控和可預測行為的簡單模型可能會給模型準確性帶來沉重的代價。

TF Lattice使得可以繼續使用靈活的模型,但是提供了幾種選擇,可以通過語義上有意義的常識或策略驅動的形狀約束將領域知識注入學習過程:

  • 單調性 :您可以指定輸出僅應相對於輸入增加/減少。在我們的示例中,您可能希望指定到咖啡店的距離增加只會降低預測的用戶偏好。

  • 凸度/凹度 :您可以指定函數形狀可以是凸形或凹形。混合單調性,這可以迫使函數表示相對於給定特徵的遞減收益。

  • :您可以指定函數應具有唯一的峰或唯一的谷。這樣,您就可以表示對某個功能有最佳評價的功能。

  • 逐對信任 :此約束適用於一對要素,並建議一個輸入要素在語義上反映對另一個要素的信任。例如,評論數量越多,您對餐廳的平均星級就會越有信心。當評論的數量更多時,該模型將相對於星級更敏感(即相對於星級具有更大的斜率)。

正則化器可控制的靈活性

除了形狀約束,TensorFlow晶格還提供了許多正則化器來控制每一層功能的靈活性和平滑性。

  • 拉普拉斯正則化器 :將晶格/校準頂點/關鍵點的輸出正向其各自鄰域的值進行正則化。這導致功能更平坦

  • Hessian正則化器 :這會懲罰PWL校準層的一階導數,以使函數更線性

  • 皺紋調節器:這會懲罰PWL校準層的二階導數,以避免曲率突然變化。使功能更流暢。

  • 扭轉規則化器 :將對柵格的輸出進行正則化,以防止特徵之間發生扭轉。換句話說,模型將朝著特徵貢獻之間的獨立性規範化。

與其他Keras圖層混合併匹配

可以將TF Lattice圖層與其他Keras圖層結合使用,以構造部分約束或規則化的模型。例如,可以在包括嵌入或其他Keras層的更深層網絡的最後一層使用晶格或PWL校準層。

文件

  • 單調形狀約束下的道義學倫理學,王穎(Serena Wang),瑪雅·古普塔(Maya Gupta),國際人工智能與統計會議(AISTATS),2020年
  • 集合函數的形狀約束 ,Andrew Cotter,Maya Gupta,H。Jiang,Erez Louidor,Jim Muller,Taman Narayan,Serena Wang,Tao Zhu。 2019年國際機器學習大會(ICML)
  • 可解釋性和正則化的遞減形狀約束 ,Maya Gupta,Dara Bahri,Andrew Cotter,Kevin Canini,神經信息處理系統(NeurIPS)的發展,2018年
  • Deep Lattice Networks and Partial Monotonon Functions ,Seungil You,Kevin Canini,David Ding,Jan Pfeifer,Maya R.Gupta,神經信息處理系統(NeurIPS)的進展,2017年
  • 帶有格子集合的快速靈活的單調函數 ,Mahdi Milani Fard,Kevin Canini,Andrew Cotter,Jan Pfeifer,Maya Gupta,神經信息處理系統(NeurIPS)的發展,2016年
  • 單調校準內插查詢表 ,Maya Gupta,Andrew Cotter,Jan Pfeifer,Konstantin Voevodski,Kevin Canini,Alexander Mangylov,Wojciech Moczydlowski,Alexander van Esbroeck,機器學習研究(JMLR),2016年
  • 針對有效功能評估的優化回歸 ,Eric Garcia,Raman Arora,Maya R. Gupta,IEEE Transactions on Image Processing,2012
  • 格回歸 ,Eric Garcia,Maya Gupta,神經信息處理系統(NeurIPS)的發展,2009年

教程和API文檔

對於常見的模型架構,您可以使用Keras預製模型固定估計器 。您也可以使用TF Lattice Keras圖層創建自定義模型,或與其他Keras圖層混合併匹配。查看完整的API文檔以獲取詳細信息。