排名 (Ranking) 意指為最大程度地利用整個列表而對列表項進行排序的過程,其適用領域非常廣泛,涉及搜索引擎與系統推薦、機器翻譯、對話系統乃至計算生物學等。在諸如此類(及許多其他類型)的應用中,研究人員經常會使用一組稱為Learning-to-Rank的監督式機器學習技術。在許多情況下,這些 Learning-to-Rank 技術應用于規模很龐大的數據集—在此類情形中,TensorFlow的可擴展性可能是一種優勢。但當前,我們還沒有為在 TensorFlow 中應用 Learning-to-Rank 技術提供 “開箱即用” 的支持。據我們所知,目前也沒有其他開源庫專門大規模應用 Learning-to-Rank 技術。今天,我們很高興與諸位分享TF-Ranking,這是一個專為 Learning-to-Rank 打造的可擴展的 TensorFlow 庫。正如我們在近期的論文中所述,TF-Ranking 提供的統一框架包含一套最先進的 Learning-to-Rank 算法,并支持Pairwise 或 Listwise 損失函數、多項目評分、排名指標優化以及無偏差 Learning-to-Rank。TF-Ranking 運行速度快,易于使用,并可創建高質量的排名模型。統一的框架讓機器學習研究人員、從業者和愛好者能夠在單個庫中評估并選擇一組不同的排名模型。此外,我們堅信,作為一個實用的開源庫,其核心不僅在于提供合理的默認值,還應當能讓用戶開發其自定義模型。因此,我們提供了靈活的 API,用戶可在此 API 中定義并插入自定義損失函數、評分函數和指標。
對現有算法和指標的支持
Learning-to-Rank 算法的目標是將針對項目列表定義的損失函數最小化,從而優化給定應用列表排序的效用。TF-Ranking 支持我們在先前研究中所描述的大量標準 Pointwise、Pairwise 和 Listwise 損失函數。這不僅能確保使用 TF-Ranking 庫的研究人員可復制和擴展過去發布的基準,也能讓從業者為其應用做出最明智的選擇。此外,TF-Ranking 能通過嵌入和擴展至數百億個訓練實例來處理稀疏特征(如原始文本)。因此,無論是誰,只要對構建真實數據密集型排名系統(例如網頁搜索或新聞推薦)抱有興趣,均可將 TF-Ranking 用作強大的可擴展解決方案。經驗評估是所有機器學習或信息檢索研究的重要一環。為確保兼容先前的研究,TF-Ranking 支持許多常用的排名指標,包括平均倒序排名(MRR) 和標準化折扣累積收益(NDCG)。訓練期間,我們還可在TensorBoard(一種開源的 TensorFlow 可視化信息中心)上輕松查看這些指標。
隨訓練步驟(X 軸)變化的 NDCG 指標(Y 軸)示例(在 TensorBoard 上顯示)。該示例顯示出指標在訓練期間的整體進度。您可以在信息中心上直接對不同的方法進行比較,根據指標選擇最佳模型
多項目評分
TF-Ranking 支持一種新穎的評分機制,可以對多個項目(例如網頁)執行聯合評分,這是對傳統評分范例(對單個項目進行獨立評分)的擴展。關于多項目評分,我們經常面臨的一個挑戰是,難以判斷需將哪些項目進行分組并在子組中進行評分。然后,累計每個項目的評分并用于排序。為了讓用戶免于接觸這些復雜原理,TF-Ranking 提供了一個 List-In-List-Out (LILO) API,將所有邏輯封裝于導出的 TensorFlow 模型內。
TF-Ranking 庫支持多項目評分架構,這是對傳統單項目評分的擴展
正如近期研究中所示,在公開的LETOR基準測試中,相較 RankNet、MART 和 LambdaMART 等最新 Learning-to-Rank 模型,多項目評分在性能表現方面極具競爭力。
排名指標優化
直接優化排名指標(例如前文所提及的 NDCG 和 MRR)是 Learning-to-Rank 中的一個重大研究難題。雖然這些指標對排名系統性能的衡量效果優于曲面下面積(AUC) 等標準分類指標,但遺憾的是,它們具有間斷或扁平的屬性。因此,這些指標的標準隨機梯度下降優化是存在問題的。在近期研究中,我們提出了一種稱作 LambdaLoss 的新型方法,可為排名指標優化提供一個條理化的概率框架。在此框架內,用戶可通過期望最大化程序來設計與優化指標驅動的損失函數。TF-Ranking 庫集成了直接指標優化的最新成果,并可提供 LambdaLoss 的實現。我們希望此方法能激勵并推動排名指標優化在重大領域內的進一步研究發展。
無偏差 Learning-to-Rank
先前的研究表明,若給定排名后的項目列表,用戶更有可能與前幾個結果進行交互,而無論其相關性如何。這一發現激發了研究人員對無偏差 Learning-to-Rank的研究興趣,他們在對訓練實例重新加權的基礎上開發出了無偏差評估和多種無偏差學習算法。TF-Ranking 庫不僅能實現支持無偏差評估的指標,還能通過原生支持重新加權來實現無偏差學習損失函數,從而解決用戶與數據集交互時出現的固有偏差。
TF-Ranking 入門
TF-Ranking 實現了TensorFlow Estimator接口,可通過封裝訓練、評估、預測和服務導出大幅度簡化機器學習編程。TF-Ranking 與豐富的 TensorFlow 生態系統完美集成。如前文所述,您既可使用Tensorboard直觀呈現 NDCG 和 MRR 等排名指標,也可以使用這些指標選出最佳模型檢查點。待模型準備就緒,您便可使用TensorFlow Serving輕松將其部署至生產環境。若您有興趣親自試用 TF-Ranking,請查看我們的GitHub 存儲區,并瀏覽教程示例。TF-Ranking 是一個活躍的研究項目,歡迎您為我們提供反饋和貢獻。我們很高興能見證 TF-Ranking 為信息檢索和機器學習研究社區所帶來的幫助。
致謝
本項目的完成離不開 TF-Ranking 核心團隊以下成員的付出:Rama Pasumarthi、Cheng Li、Sebastian Bruch、Nadav Golbandi、Stephan Wolf、Jan Pfeifer、Rohan Anil、Marc Najork、Patrick McGregor 以及 Clemens Mewald。同時感謝 TensorFlow 團隊以下成員為我們提供建議和支持:Alexandre Passos、Mustafa Ispir、Karmel Allison、Martin Wicke 等。最后,要特別感謝我們的協作者、實習生和嘗鮮用戶:Suming Chen、Zhen Qin、Chirag Sethi、Maryam Karimzadehgan、Makoto Uchida、Yan Zhu、Qingyao A、Brandon Tran、Donald Metzler、Mike Colagrosso 以及幫助我們評估和測試 TF-Ranking 初期版本的眾多 Google 員工們。
-
機器學習
+關注
關注
66文章
8425瀏覽量
132771 -
評分系統
+關注
關注
0文章
4瀏覽量
6670
原文標題:TF-Ranking:為 Learning-to-Rank 打造的可擴展 TensorFlow 庫
文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論