0
雷鋒網(wǎng) AI 科技評論按:日前,谷歌 AI 發(fā)布了最新成果 TF-Ranking,它是一個(gè)專門針對排序?qū)W習(xí)(learning-to-rank)應(yīng)用的可擴(kuò)展 TensorFlow 庫。TF-Ranking 快速且易用,并能創(chuàng)建高質(zhì)量的排序模型,對構(gòu)建 web 搜索或新聞推薦等基于真實(shí)世界數(shù)據(jù)的排序系統(tǒng)感興趣的人,都可以將 TF-Ranking 作為強(qiáng)穩(wěn)的、可擴(kuò)展的解決方案。
排序是一種以最大化整個(gè)列表效用為目的,對項(xiàng)目列表進(jìn)行排序的過程,適用于搜索引擎、推薦系統(tǒng)、機(jī)器翻譯、對話系統(tǒng),甚至還能用于計(jì)算生物學(xué)等眾多領(lǐng)域。在諸如這些(以及其他諸多)應(yīng)用中,研究人員經(jīng)常使用一系列稱作排序?qū)W習(xí)的有監(jiān)督的機(jī)器學(xué)習(xí)技術(shù)。在許多情況下,這些排序?qū)W習(xí)技術(shù)會(huì)被應(yīng)用于大規(guī)模數(shù)據(jù)集,在這一場景中,TensorFlow 的可伸縮性會(huì)成為一個(gè)優(yōu)勢。然而,目前 TensorFlow 還不能直接支持學(xué)習(xí)排序。并且,現(xiàn)在也還沒有其他專門針對排序?qū)W習(xí)技術(shù)規(guī)模化應(yīng)用的開源庫。
現(xiàn)在,谷歌 AI 宣布開源 TF-Ranking(https://github.com/tensorflow/ranking),它是一個(gè)可擴(kuò)展的排序?qū)W習(xí) TensorFlow 庫。正如谷歌在最近發(fā)表的論文(https://arxiv.org/abs/1812.00073)中所描述的,TF-Ranking 提供了一個(gè)統(tǒng)一的框架,該框架包括一套最先進(jìn)的排序?qū)W習(xí)算法,并且支持 Pairwise 和 Listwise 損失函數(shù)、多項(xiàng)目評分、排序度量優(yōu)化和無偏見排序等等。
TF-Ranking 快速且易用,并能創(chuàng)建高質(zhì)量的排序模型。該統(tǒng)一框架讓機(jī)器學(xué)習(xí)研究人員、實(shí)踐者和愛好者能夠在單個(gè)庫中評估和選擇一系列不同的排序模型。此外,谷歌 AI 團(tuán)隊(duì)堅(jiān)信一個(gè)有用的開源庫,它的關(guān)鍵不僅在于提供合理的默認(rèn)值(sensible default),而且還在于能夠授權(quán)用戶開發(fā)自定義模型。為此,他們提供了靈活的 API,讓用戶可以在 API 中定義和插入自定義的損失函數(shù)、評分函數(shù)和指標(biāo)。
排序?qū)W習(xí)算法的目標(biāo)是最小化在項(xiàng)目列表上定義的損失函數(shù),以優(yōu)化任意給定請求的排序。TF-Ranking 支持在此前工作(https://en.wikipedia.org/wiki/Learning_to_rank#Approaches)中所描述的各類標(biāo)準(zhǔn)的 pointwise,pairwise 和 listwise 損失函數(shù)。這確保了使用 TF-Ranking 庫的研究人員能夠重現(xiàn)和擴(kuò)展先前的 baseline,并且他們的請求可以得到最明智的選擇。此外,TF-Ranking 還可以通過嵌入來處理稀疏特征(如原始文本)以及擴(kuò)展到數(shù)億個(gè)訓(xùn)練實(shí)例。因此,任何對構(gòu)建 web 搜索或新聞推薦等基于真實(shí)世界數(shù)據(jù)的排序系統(tǒng)感興趣的人,都可以將 TF-Ranking 作為強(qiáng)穩(wěn)的、可擴(kuò)展的解決方案。
經(jīng)驗(yàn)評估是所有機(jī)器學(xué)習(xí)或信息檢索研究的重要組成部分。為了確保與先前工作的兼容性,TF-Ranking 支持許多常用的排序評價(jià)指標(biāo),包括 Mean Reciprocal Rank(MRR,https://en.wikipedia.org/wiki/Discounted_cumulative_gain)和 Normalized Discounted Cumulative Gain(NDCG,https://en.wikipedia.org/wiki/Discounted_cumulative_gain),同時(shí)也讓研究人員在訓(xùn)練期間更方便在 TensorBoard(開源 TensorFlow 可視化儀表盤)上看到這些指標(biāo)。
TensorBoard 上顯示的基于訓(xùn)練步驟(X 軸)的 NDCG 指標(biāo) (Y 軸)示例,它表示了訓(xùn)練期間指標(biāo)的總體進(jìn)度。不同的方法可直接在儀表板上進(jìn)行比較,并基于指標(biāo)選出最佳模型。
TF-Ranking 支持一種新的評分機(jī)制,在新的評分機(jī)制中可以對多個(gè)條目進(jìn)行聯(lián)合評分,這是對只能對單個(gè)條目進(jìn)行獨(dú)立評分的傳統(tǒng)評分機(jī)制的擴(kuò)展。多條目評分面臨的一個(gè)挑戰(zhàn)是難以推斷哪些條目必須進(jìn)行分組并在子組中評分。然后,每個(gè)條目累積下來的分?jǐn)?shù)將被用于排序。TF-Ranking 提供了一個(gè) List-In-List-Out(LILO)API,來將所有這些邏輯放入導(dǎo)出的 TF 模型中。
TF-Ranking 庫支持?jǐn)U展自傳統(tǒng)單條目評分的多條目評分架構(gòu)。
正如谷歌 AI 在最近的工作(https://arxiv.org/abs/1811.04415)中所展示的,多條目評分在公共 LETOR 基準(zhǔn)測試中的性能,與 RankNet,MART 和 LambdaMART 等最先進(jìn)的排序?qū)W習(xí)模型相比具有競爭力。
排序?qū)W習(xí)所面臨的一個(gè)重要研究挑戰(zhàn)是排序評價(jià)指標(biāo)的優(yōu)化(例如前面所提到的 NDCG 和 MRR)。雖然與 Area Under the Curve(AUC)之類的標(biāo)準(zhǔn)分類評價(jià)指標(biāo)相比,這些評價(jià)指標(biāo)能更好地衡量排序系統(tǒng)的性能,但可惜它們要么不連續(xù),要么平滑。因此,這些評價(jià)指標(biāo)的標(biāo)準(zhǔn)隨機(jī)梯度下降優(yōu)化存在困難。
在最近的一項(xiàng)工作(https://ai.google/research/pubs/pub47258)中,谷歌 AI 提出了一種新的方法——LambdaLoss,它為排序評價(jià)指標(biāo)優(yōu)化提供了一個(gè)統(tǒng)一的概率框架。在這個(gè)框架中,可以通過期望最大化的過程來設(shè)計(jì)和優(yōu)化由評價(jià)指標(biāo)驅(qū)動(dòng)的損失函數(shù)。TF-Ranking 庫集成了評價(jià)指標(biāo)優(yōu)化的最新成果,并提供了 LambdaLoss 的實(shí)現(xiàn)。谷歌 AI 表示,TF-Ranking 未來有望鼓舞和推動(dòng)排序評價(jià)指標(biāo)優(yōu)化這一重要領(lǐng)域的更深入的研究進(jìn)展。
此前的研究(https://ai.google/research/pubs/pub45286)表明,給定一個(gè)項(xiàng)目的排序列表,用戶更有可能重點(diǎn)查看前面幾個(gè)結(jié)果,而忽略結(jié)果之間的相關(guān)性。這一發(fā)現(xiàn)激發(fā)了大家對于無偏見排序?qū)W習(xí)的研究興趣,并且?guī)砹藷o偏見評估和基于訓(xùn)練實(shí)例重復(fù)加權(quán)的幾種無偏見學(xué)習(xí)算法的發(fā)展。
TF-Ranking 實(shí)現(xiàn)了 TensorFlow Estimator 接口,它通過封裝訓(xùn)練、評估、預(yù)測和導(dǎo)出服務(wù),可以大大簡化機(jī)器學(xué)習(xí)編程。
TF-Ranking 完美地集成了豐富的 TensorFlow 生態(tài)系統(tǒng)。如上所述,你可以使用 Tensorboard 將 NDCG 和 MRR 等排序評價(jià)指標(biāo)可視化,以及使用這些評價(jià)指標(biāo)選擇最佳模型檢查點(diǎn)。一旦你的模型準(zhǔn)備就緒,便可使用 TensorFlow 服務(wù)(https://www.tensorflow.org/serving/),輕而易舉地將其部署到生產(chǎn)。
如果大家有興趣嘗試 TF-Ranking,可以前往谷歌 AI 的 GitHub 存儲庫(https://github.com/tensorflow/ranking),并參考教程示例(https://github.com/tensorflow/ranking/tree/master/tensorflow_ranking/examples)。
Via:http://ai.googleblog.com/2018/12/tf-ranking-scalable-tensorflow-library.html 雷鋒網(wǎng) AI 科技評論編譯。 雷鋒網(wǎng)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。