0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

為 Learning-to-Rank 打造的可擴(kuò)展 TensorFlow 庫(kù)

Tensorflowers ? 來(lái)源:工程師曾暄茗 ? 2018-12-22 09:26 ? 次閱讀

排名 (Ranking) 意指為最大程度地利用整個(gè)列表而對(duì)列表項(xiàng)進(jìn)行排序的過(guò)程,其適用領(lǐng)域非常廣泛,涉及搜索引擎與系統(tǒng)推薦、機(jī)器翻譯、對(duì)話系統(tǒng)乃至計(jì)算生物學(xué)等。在諸如此類(及許多其他類型)的應(yīng)用中,研究人員經(jīng)常會(huì)使用一組稱為L(zhǎng)earning-to-Rank的監(jiān)督式機(jī)器學(xué)習(xí)技術(shù)。在許多情況下,這些 Learning-to-Rank 技術(shù)應(yīng)用于規(guī)模很龐大的數(shù)據(jù)集—在此類情形中,TensorFlow的可擴(kuò)展性可能是一種優(yōu)勢(shì)。但當(dāng)前,我們還沒(méi)有為在 TensorFlow 中應(yīng)用 Learning-to-Rank 技術(shù)提供 “開(kāi)箱即用” 的支持。據(jù)我們所知,目前也沒(méi)有其他開(kāi)源庫(kù)專門大規(guī)模應(yīng)用 Learning-to-Rank 技術(shù)。今天,我們很高興與諸位分享TF-Ranking,這是一個(gè)專為 Learning-to-Rank 打造的可擴(kuò)展的 TensorFlow 庫(kù)。正如我們?cè)诮诘恼撐闹兴觯琓F-Ranking 提供的統(tǒng)一框架包含一套最先進(jìn)的 Learning-to-Rank 算法,并支持Pairwise 或 Listwise 損失函數(shù)、多項(xiàng)目評(píng)分、排名指標(biāo)優(yōu)化以及無(wú)偏差 Learning-to-Rank。TF-Ranking 運(yùn)行速度快,易于使用,并可創(chuàng)建高質(zhì)量的排名模型。統(tǒng)一的框架讓機(jī)器學(xué)習(xí)研究人員、從業(yè)者和愛(ài)好者能夠在單個(gè)庫(kù)中評(píng)估并選擇一組不同的排名模型。此外,我們堅(jiān)信,作為一個(gè)實(shí)用的開(kāi)源庫(kù),其核心不僅在于提供合理的默認(rèn)值,還應(yīng)當(dāng)能讓用戶開(kāi)發(fā)其自定義模型。因此,我們提供了靈活的 API,用戶可在此 API 中定義并插入自定義損失函數(shù)、評(píng)分函數(shù)和指標(biāo)。

對(duì)現(xiàn)有算法和指標(biāo)的支持

Learning-to-Rank 算法的目標(biāo)是將針對(duì)項(xiàng)目列表定義的損失函數(shù)最小化,從而優(yōu)化給定應(yīng)用列表排序的效用。TF-Ranking 支持我們?cè)谙惹把芯恐兴枋龅拇罅繕?biāo)準(zhǔn) Pointwise、Pairwise 和 Listwise 損失函數(shù)。這不僅能確保使用 TF-Ranking 庫(kù)的研究人員可復(fù)制和擴(kuò)展過(guò)去發(fā)布的基準(zhǔn),也能讓從業(yè)者為其應(yīng)用做出最明智的選擇。此外,TF-Ranking 能通過(guò)嵌入和擴(kuò)展至數(shù)百億個(gè)訓(xùn)練實(shí)例來(lái)處理稀疏特征(如原始文本)。因此,無(wú)論是誰(shuí),只要對(duì)構(gòu)建真實(shí)數(shù)據(jù)密集型排名系統(tǒng)(例如網(wǎng)頁(yè)搜索或新聞推薦)抱有興趣,均可將 TF-Ranking 用作強(qiáng)大的可擴(kuò)展解決方案。經(jīng)驗(yàn)評(píng)估是所有機(jī)器學(xué)習(xí)或信息檢索研究的重要一環(huán)。為確保兼容先前的研究,TF-Ranking 支持許多常用的排名指標(biāo),包括平均倒序排名(MRR) 和標(biāo)準(zhǔn)化折扣累積收益(NDCG)。訓(xùn)練期間,我們還可在TensorBoard(一種開(kāi)源的 TensorFlow 可視化信息中心)上輕松查看這些指標(biāo)。

隨訓(xùn)練步驟(X 軸)變化的 NDCG 指標(biāo)(Y 軸)示例(在 TensorBoard 上顯示)。該示例顯示出指標(biāo)在訓(xùn)練期間的整體進(jìn)度。您可以在信息中心上直接對(duì)不同的方法進(jìn)行比較,根據(jù)指標(biāo)選擇最佳模型

多項(xiàng)目評(píng)分

TF-Ranking 支持一種新穎的評(píng)分機(jī)制,可以對(duì)多個(gè)項(xiàng)目(例如網(wǎng)頁(yè))執(zhí)行聯(lián)合評(píng)分,這是對(duì)傳統(tǒng)評(píng)分范例(對(duì)單個(gè)項(xiàng)目進(jìn)行獨(dú)立評(píng)分)的擴(kuò)展。關(guān)于多項(xiàng)目評(píng)分,我們經(jīng)常面臨的一個(gè)挑戰(zhàn)是,難以判斷需將哪些項(xiàng)目進(jìn)行分組并在子組中進(jìn)行評(píng)分。然后,累計(jì)每個(gè)項(xiàng)目的評(píng)分并用于排序。為了讓用戶免于接觸這些復(fù)雜原理,TF-Ranking 提供了一個(gè) List-In-List-Out (LILO) API,將所有邏輯封裝于導(dǎo)出的 TensorFlow 模型內(nèi)。

TF-Ranking 庫(kù)支持多項(xiàng)目評(píng)分架構(gòu),這是對(duì)傳統(tǒng)單項(xiàng)目評(píng)分的擴(kuò)展

正如近期研究中所示,在公開(kāi)的LETOR基準(zhǔn)測(cè)試中,相較 RankNet、MART 和 LambdaMART 等最新 Learning-to-Rank 模型,多項(xiàng)目評(píng)分在性能表現(xiàn)方面極具競(jìng)爭(zhēng)力。

排名指標(biāo)優(yōu)化

直接優(yōu)化排名指標(biāo)(例如前文所提及的 NDCG 和 MRR)是 Learning-to-Rank 中的一個(gè)重大研究難題。雖然這些指標(biāo)對(duì)排名系統(tǒng)性能的衡量效果優(yōu)于曲面下面積(AUC) 等標(biāo)準(zhǔn)分類指標(biāo),但遺憾的是,它們具有間斷或扁平的屬性。因此,這些指標(biāo)的標(biāo)準(zhǔn)隨機(jī)梯度下降優(yōu)化是存在問(wèn)題的。在近期研究中,我們提出了一種稱作 LambdaLoss 的新型方法,可為排名指標(biāo)優(yōu)化提供一個(gè)條理化的概率框架。在此框架內(nèi),用戶可通過(guò)期望最大化程序來(lái)設(shè)計(jì)與優(yōu)化指標(biāo)驅(qū)動(dòng)的損失函數(shù)。TF-Ranking 庫(kù)集成了直接指標(biāo)優(yōu)化的最新成果,并可提供 LambdaLoss 的實(shí)現(xiàn)。我們希望此方法能激勵(lì)并推動(dòng)排名指標(biāo)優(yōu)化在重大領(lǐng)域內(nèi)的進(jìn)一步研究發(fā)展。

無(wú)偏差 Learning-to-Rank

先前的研究表明,若給定排名后的項(xiàng)目列表,用戶更有可能與前幾個(gè)結(jié)果進(jìn)行交互,而無(wú)論其相關(guān)性如何。這一發(fā)現(xiàn)激發(fā)了研究人員對(duì)無(wú)偏差 Learning-to-Rank的研究興趣,他們?cè)趯?duì)訓(xùn)練實(shí)例重新加權(quán)的基礎(chǔ)上開(kāi)發(fā)出了無(wú)偏差評(píng)估和多種無(wú)偏差學(xué)習(xí)算法。TF-Ranking 庫(kù)不僅能實(shí)現(xiàn)支持無(wú)偏差評(píng)估的指標(biāo),還能通過(guò)原生支持重新加權(quán)來(lái)實(shí)現(xiàn)無(wú)偏差學(xué)習(xí)損失函數(shù),從而解決用戶與數(shù)據(jù)集交互時(shí)出現(xiàn)的固有偏差。

TF-Ranking 入門

TF-Ranking 實(shí)現(xiàn)了TensorFlow Estimator接口,可通過(guò)封裝訓(xùn)練、評(píng)估、預(yù)測(cè)和服務(wù)導(dǎo)出大幅度簡(jiǎn)化機(jī)器學(xué)習(xí)編程。TF-Ranking 與豐富的 TensorFlow 生態(tài)系統(tǒng)完美集成。如前文所述,您既可使用Tensorboard直觀呈現(xiàn) NDCG 和 MRR 等排名指標(biāo),也可以使用這些指標(biāo)選出最佳模型檢查點(diǎn)。待模型準(zhǔn)備就緒,您便可使用TensorFlow Serving輕松將其部署至生產(chǎn)環(huán)境。若您有興趣親自試用 TF-Ranking,請(qǐng)查看我們的GitHub 存儲(chǔ)區(qū),并瀏覽教程示例。TF-Ranking 是一個(gè)活躍的研究項(xiàng)目,歡迎您為我們提供反饋和貢獻(xiàn)。我們很高興能見(jiàn)證 TF-Ranking 為信息檢索和機(jī)器學(xué)習(xí)研究社區(qū)所帶來(lái)的幫助。

致謝

本項(xiàng)目的完成離不開(kāi) TF-Ranking 核心團(tuán)隊(duì)以下成員的付出:Rama Pasumarthi、Cheng Li、Sebastian Bruch、Nadav Golbandi、Stephan Wolf、Jan Pfeifer、Rohan Anil、Marc Najork、Patrick McGregor 以及 Clemens Mewald。同時(shí)感謝 TensorFlow 團(tuán)隊(duì)以下成員為我們提供建議和支持:Alexandre Passos、Mustafa Ispir、Karmel Allison、Martin Wicke 等。最后,要特別感謝我們的協(xié)作者、實(shí)習(xí)生和嘗鮮用戶:Suming Chen、Zhen Qin、Chirag Sethi、Maryam Karimzadehgan、Makoto Uchida、Yan Zhu、Qingyao A、Brandon Tran、Donald Metzler、Mike Colagrosso 以及幫助我們?cè)u(píng)估和測(cè)試 TF-Ranking 初期版本的眾多 Google 員工們。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:TF-Ranking:為 Learning-to-Rank 打造的可擴(kuò)展 TensorFlow 庫(kù)

文章出處:【微信號(hào):tensorflowers,微信公眾號(hào):Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    關(guān)于 TensorFlow

    的靈活性TensorFlow 不是一個(gè)嚴(yán)格的“神經(jīng)網(wǎng)絡(luò)”庫(kù)。只要你可以將你的計(jì)算表示一個(gè)數(shù)據(jù)流圖,你就可以使用Tensorflow。你來(lái)構(gòu)建圖,描寫(xiě)驅(qū)動(dòng)計(jì)算的內(nèi)部循環(huán)。我們提供了有用
    發(fā)表于 03-30 19:57

    使用 TensorFlow, 你必須明白 TensorFlow

    出的 op 的輸出, 這些返回值可以傳遞給其它 op 構(gòu)造器作為輸入.TensorFlow Python 庫(kù)有一個(gè)默認(rèn)圖 (default graph), op 構(gòu)造器可以為其增加節(jié)點(diǎn). 這個(gè)默認(rèn)圖
    發(fā)表于 03-30 20:03

    情地使用Tensorflow吧!

    到各種計(jì)算設(shè)備完成異步并行地執(zhí)行運(yùn)算。TensorFlow的特征高度的靈活性TensorFlow 不是一個(gè)嚴(yán)格的“神經(jīng)網(wǎng)絡(luò)”庫(kù)。只要你可以將你的計(jì)算表示一個(gè)數(shù)據(jù)流圖,你就可以使用
    發(fā)表于 07-22 10:13

    TensorFlow是什么

    Google Brain 團(tuán)隊(duì)深度神經(jīng)網(wǎng)絡(luò)(DNN)開(kāi)發(fā)的功能強(qiáng)大的開(kāi)源軟件庫(kù),于 2015 年 11 月首次發(fā)布,在 Apache 2.x 協(xié)議許可下可用。截至今天,短短的兩年內(nèi),其 GitHub 庫(kù)
    發(fā)表于 07-22 10:14

    TensorFlow教程|BibTex 引用

    ={{TensorFlow}: Large-Scale Machine Learning on Heterogeneous Systems},url={http://tensorflow.org/},note
    發(fā)表于 07-27 18:35

    TensorFlow常用Python擴(kuò)展

    裝。TFlearn:TFlearn 是一個(gè)建立在 TensorFlow 之上的模塊化和透明的深度學(xué)習(xí)庫(kù)。它為 TensorFlow 提供更高級(jí)別的 API,以促進(jìn)和加速實(shí)驗(yàn)。它目前支持最近的大多數(shù)深度
    發(fā)表于 07-28 14:35

    TensorFlow優(yōu)化器種類及其用法詳解

    ,但由于頻繁更新,所以損失函數(shù)值的方差會(huì)比較大。小批量梯度下降:該方法結(jié)合了前兩者的優(yōu)點(diǎn),利用一批訓(xùn)練樣本來(lái)更新參數(shù)。TensorFlow優(yōu)化器的使用首先確定想用的優(yōu)化器。TensorFlow 你提供
    發(fā)表于 07-28 14:39

    基于XML的擴(kuò)展圖片數(shù)據(jù)庫(kù)的實(shí)現(xiàn)方法

    從實(shí)現(xiàn)圖片數(shù)據(jù)庫(kù)擴(kuò)展性的角度,分析了傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)解決這一問(wèn)題的不足之處,提出了一個(gè)基于純XML數(shù)據(jù)庫(kù)的解決方案。該方案使用XML格式來(lái)
    發(fā)表于 02-22 01:22 ?32次下載

    TensorFlow架構(gòu)分析探討

    異構(gòu)的平臺(tái),支持多CPU/GPU,服務(wù)器,移動(dòng)設(shè)備,具有良好的跨平臺(tái)的特性;TensorFlow架構(gòu)靈活,能夠支持各種網(wǎng)絡(luò)模型,具有良好的通用性;此外,TensorFlow架構(gòu)具有良好的擴(kuò)展
    發(fā)表于 09-30 14:29 ?0次下載
    <b class='flag-5'>TensorFlow</b>架構(gòu)分析探討

    DIMM被分為single-rank和double-rank

    作為對(duì)single-sided和double-sided的補(bǔ)充,DIMM還被分為single-rank和double-rank(也就是我們?cè)趦?nèi)存的lable上經(jīng)常能看到的1R,2R)。內(nèi)存的rank
    的頭像 發(fā)表于 06-28 09:07 ?1.7w次閱讀
    DIMM被分為single-<b class='flag-5'>rank</b>和double-<b class='flag-5'>rank</b>

    TensorFlow的2.0 版本將來(lái)臨

    TensorFlow 的 contrib 模塊已經(jīng)超越了單個(gè)存儲(chǔ)庫(kù)中可以維護(hù)和支持的模塊。較大的項(xiàng)目最好分開(kāi)維護(hù),我們將在 TensorFlow 的主代碼里添加一些規(guī)模較小的擴(kuò)展。因此
    的頭像 發(fā)表于 08-15 09:01 ?5467次閱讀

    谷歌基于TensorFlow構(gòu)建了全球首個(gè)產(chǎn)品級(jí)擴(kuò)展的大規(guī)模移動(dòng)端聯(lián)合學(xué)習(xí)系統(tǒng)

    Andrew Trask說(shuō)的,是谷歌日前在arxiv貼出的論文,“Towards Federated Learning at Scale:System Design”,論文描述了前面所說(shuō)的全球首個(gè)產(chǎn)品級(jí)擴(kuò)展的聯(lián)合學(xué)習(xí)系統(tǒng),以及
    的頭像 發(fā)表于 02-13 10:14 ?3806次閱讀
    谷歌基于<b class='flag-5'>TensorFlow</b>構(gòu)建了全球首個(gè)產(chǎn)品級(jí)<b class='flag-5'>可</b><b class='flag-5'>擴(kuò)展</b>的大規(guī)模移動(dòng)端聯(lián)合學(xué)習(xí)系統(tǒng)

    tensorflow和python的關(guān)系_tensorflow與pytorch的區(qū)別

    Tensorflow和Python有什么關(guān)系?Tensorflow是Python的機(jī)器學(xué)習(xí)庫(kù),Python的庫(kù)有很多,如Tensorflow
    的頭像 發(fā)表于 12-04 14:54 ?2w次閱讀

    TF-Ranking實(shí)現(xiàn)新穎的TFR-BERT架構(gòu)

    基于 TensorFlow 的開(kāi)源代碼庫(kù),用于開(kāi)發(fā)擴(kuò)容的 learning-to-rank (LTR) 神經(jīng)模型。當(dāng)用戶期望收到有序的項(xiàng)目列表來(lái)輔助查詢時(shí),該模型可以發(fā)揮出色作用。L
    的頭像 發(fā)表于 08-24 10:09 ?2756次閱讀

    TensorFlow-DirectML TensorFlow的GPU范圍擴(kuò)展

    ./oschina_soft/tensorflow-directml.zip
    發(fā)表于 06-17 09:18 ?1次下載
    <b class='flag-5'>TensorFlow</b>-DirectML <b class='flag-5'>TensorFlow</b>的GPU范圍<b class='flag-5'>擴(kuò)展</b>