谷歌AI發(fā)布新成果,TF-Ranking:這是一個應(yīng)用于Learning to Rank、基于TensorFlow的可擴展庫。它提供了一個統(tǒng)一的框架,其中包括一套最先進(jìn)的Learning to Rank算法,并支持成對或列表丟失函數(shù),多項目評分,排名度量優(yōu)化等等。
排序,是一種適用于搜索引擎、系統(tǒng)推薦以及機器翻譯等的重要操作。
在諸如此類的應(yīng)用程序中,研究人員經(jīng)常使用一組名叫Learning to Rank的有監(jiān)督機器學(xué)習(xí)技術(shù)。
在許多情況下,Learning to Rank應(yīng)用于較大的數(shù)據(jù)集,在這些場景中,TensorFlow可擴展性是具有優(yōu)勢的。
然而,目前還沒有現(xiàn)成的,可以在TensorFlow中應(yīng)用Learning to Rank的技術(shù)。而且也沒有其他開源庫專門應(yīng)用大規(guī)模Learning to Rank技術(shù)。
谷歌AI發(fā)布了TF-Ranking,這是一個應(yīng)用于Learning to Rank、基于TensorFlow的可擴展庫。
TF-Ranking
TF-Ranking提供了一個統(tǒng)一的框架,其中包括一套最先進(jìn)的Learning to Rank算法,并支持成對或列表丟失函數(shù),多項目評分,排名度量優(yōu)化等等。
TF-Ranking速度較快且易于使用,而且還可以創(chuàng)建高質(zhì)量的排名模型。統(tǒng)一的框架使ML研究人員、從業(yè)者和愛好者能夠在單個庫中評估和選擇一系列不同的排名模型。
此外,谷歌團隊堅信一個有用的開源庫,其關(guān)鍵不僅在于提供合理的默認(rèn)值(sensible default),還在于授權(quán)用戶開發(fā)他們自己的定制模型。因此,團隊提供了靈活的API,用戶可以在API中定義和插入自己定制的損失函數(shù)、評分函數(shù)和指標(biāo)。
現(xiàn)有的算法和度量支持
Learning to Rank算法的目標(biāo)是最小化在項目列表上定義的損失函數(shù),以優(yōu)化任何給定應(yīng)用程序的列表排序的效用。TF-Ranking支持廣泛的標(biāo)準(zhǔn)pointwise,pairwise和listwise損失函數(shù)。這確保了使用TF-Ranking庫的研究人員能夠復(fù)制和擴展以前發(fā)布的基線,從業(yè)者可以為他們的應(yīng)用做出最明智的選擇。
此外,TF-Ranking可以通過嵌入和擴展到數(shù)億個訓(xùn)練實例來處理稀疏特征(如原始文本)。
因此,任何對構(gòu)建真實世界數(shù)據(jù)密集型排名系統(tǒng)(如Web搜索或新聞推薦)感興趣的人都可以使用TF-Ranking作為強大,可擴展的解決方案。
經(jīng)驗評估是任何機器學(xué)習(xí)或信息檢索研究的重要組成部分。
為了確保與先前工作的兼容性,TF-Ranking支持許多常用的排名指標(biāo),包括平均倒數(shù)排名(MRR)和歸一化折扣累積收益(NDCG)。
TensorBoard中顯示的訓(xùn)練步驟(X軸)的NDCG度量(Y軸)的示例。 它顯示了訓(xùn)練期間指標(biāo)的總體進(jìn)度。 可以直接在儀表板上比較不同的方法。 可以根據(jù)指標(biāo)選擇最佳模型。
多項評分
TF-Ranking支持一種新的評分機制,其中多個項目(例如web頁面)可以聯(lián)合評分,這是對傳統(tǒng)評分模式的擴展,在傳統(tǒng)的評分模式中,單個項目是獨立評分的。
多項目評分的一個挑戰(zhàn)是很難推斷哪些項目必須分組并在子組中評分。然后,每個項目的分?jǐn)?shù)被累積起來,用于排序。為了讓這些復(fù)雜性對用戶透明,TF- Ranking提供了一個List-In-List-Out (LILO) API,將所有這些邏輯包裝在導(dǎo)出的TF模型中。
TF-Ranking庫支持多項目評分體系結(jié)構(gòu),是傳統(tǒng)單項評分的擴展。
正如谷歌AI在最近的工作中所展示的那樣,多項目評分在公共LETOR基準(zhǔn)測試中與RankNet,MART和LambdaMART等最先進(jìn)的學(xué)習(xí)級別模型相比具有競爭力。
排名指標(biāo)優(yōu)化
Learning to Rank一個重要研究挑戰(zhàn)是直接優(yōu)化排名指標(biāo)(如前面提到的NDCG和MRR)。
這些指標(biāo)雖然能夠比曲線下面積(Area Under the Curve, AUC)之類的標(biāo)準(zhǔn)分類指標(biāo)更好地衡量排名系統(tǒng)的性能,但很可惜,它們要么不連續(xù),要么平坦(flat)。因此,這些指標(biāo)的標(biāo)準(zhǔn)隨機梯度下降優(yōu)化是有問題的。
谷歌AI提出了一種新的方法,LambdaLoss,它為排序度量優(yōu)化提供了一個有原則的概率框架。
在這個框架中,可以通過期望最大化的過程來設(shè)計和優(yōu)化度量驅(qū)動的損失函數(shù)。TF-Ranking庫集成了直接度量優(yōu)化的最新進(jìn)展,并提供了LambdaLoss的實現(xiàn)。
無偏(unbiased)Learning to Rank
先前的研究表明,給定一個項目的排序列表,用戶更有可能與前幾個結(jié)果交互,而不會考慮它們的相關(guān)性。
這一發(fā)現(xiàn)激發(fā)了人們對無偏Learning to Rank的研究興趣,并且基于訓(xùn)練的實例進(jìn)行重新加權(quán),開發(fā)了無偏見的評估和幾種無偏見的學(xué)習(xí)算法。
開始用TF-Ranking吧!
TF-Ranking實現(xiàn)了TensorFlow Estimator接口,通過封裝訓(xùn)練、評估、預(yù)測和導(dǎo)出服務(wù),大大簡化了機器學(xué)習(xí)編程。
TF-Ranking與豐富的TensorFlow生態(tài)系統(tǒng)完美集成。 如上所述,你可以使用Tensorboard可視化NDCG和MRR等排名指標(biāo),以及使用這些指標(biāo)選擇最佳模型檢查點。 一旦你的模型準(zhǔn)備就緒,便可以使用TensorFlow服務(wù),非常容易將其部署到生產(chǎn)中。
-
谷歌
+關(guān)注
關(guān)注
27文章
6161瀏覽量
105300 -
機器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8406瀏覽量
132561 -
tensorflow
+關(guān)注
關(guān)注
13文章
329瀏覽量
60527
原文標(biāo)題:谷歌推出TF-Ranking:用于排序算法的可擴展TensorFlow庫
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論