国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

開源 | 基于會話的最優(yōu)推薦模型:SR-GNN的PaddlePaddle實(shí)現(xiàn)

biaoxiaoduan / 2462人閱讀

摘要:近日,百度深度學(xué)習(xí)平臺開源了基于會話的推薦系統(tǒng)模型。模型明顯優(yōu)于一些最先進(jìn)的基于會話的推薦方法。基于節(jié)點(diǎn)向量,每一個會話被建模成一個嵌入向量。

近日,百度深度學(xué)習(xí)平臺PaddlePaddle開源了基于會話(session-based)的推薦系統(tǒng)模型(SR-GNN)。

相較于之前,通過循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)來對會話進(jìn)行序列化建模導(dǎo)致的“不能夠得到用戶的精確表征”以及“忽略了items中復(fù)雜的轉(zhuǎn)換特性”。
SR-GNN模型(https://github.com/PaddlePadd... 通過將序列化的問題轉(zhuǎn)換為圖的問題,對所有的會話序列通過有向圖進(jìn)行建模,然后通過圖神經(jīng)網(wǎng)絡(luò)(GNN)來學(xué)習(xí)每個item的隱向量表示,進(jìn)而通過一個注意力網(wǎng)絡(luò)(Attention Network)架構(gòu)模型來捕捉用戶的短期興趣,以達(dá)到捕獲長期與短期興趣共存的向量表示。SR-GNN模型明顯優(yōu)于一些最先進(jìn)的基于會話的推薦方法。

應(yīng)用背景介紹

隨著互聯(lián)網(wǎng)上信息量的快速增長,推薦系統(tǒng)能夠幫助用戶緩解信息過載的問題,進(jìn)而有效幫助用戶在眾多Web應(yīng)用程序中(比如:搜索、電子商務(wù)、媒體流網(wǎng)站等)選擇自己感興趣的信息。大多數(shù)現(xiàn)有的推薦系統(tǒng)都假設(shè)一個前提:用戶畫像(user profile)和歷史活動信息是被不斷記錄的。

然而實(shí)際上,在許多服務(wù)中,用戶的信息可能是未知的,并且只有處于當(dāng)前正在進(jìn)行的會話中的用戶歷史行為可用。

因此,在一個會話中,能對有限的行為進(jìn)行建模并相應(yīng)地生成推薦是非常重要的。但是在這種場景下,需要依靠豐富的user-item交互信息的傳統(tǒng)推薦系統(tǒng)無法產(chǎn)生令人滿意的推薦結(jié)果。
當(dāng)前基于會話的推薦系統(tǒng)簡介

由于推薦系統(tǒng)的高實(shí)際價(jià)值,越來越多的研究人員開始提出基于會話的推薦方案。

基于馬爾可夫鏈的推薦系統(tǒng):該模型基于用戶上一次的行為來預(yù)測用戶的下一次行為,然而由于強(qiáng)獨(dú)立性相關(guān)假設(shè),該模型的預(yù)測結(jié)果并不十分準(zhǔn)確。

基于循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的推薦系統(tǒng):相比于傳統(tǒng)的推薦問題,基于會話的推薦問題的不同點(diǎn)在于如何利用用戶的短期會話交互信息數(shù)據(jù)來預(yù)測用戶可能會感興趣的內(nèi)容。

基于會話的推薦可以建模為序列化問題,也就是基于用戶的短期歷史活動記錄來預(yù)測下一時刻可能會感興趣的內(nèi)容并點(diǎn)擊閱覽。而深度學(xué)習(xí)中的RNN模型正是一類用于處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)。隨著序列的不斷推進(jìn),RNN模型中靠前的隱藏層將會影響后面的隱藏層。于是將用戶的歷史記錄交互數(shù)據(jù)作為輸入,經(jīng)過多層神經(jīng)網(wǎng)絡(luò),達(dá)到預(yù)測用戶興趣的目的。該模型也達(dá)到了令人滿意的預(yù)測結(jié)果。

然而,該模型也有兩處不足。
第一點(diǎn)就是在基于會話的推薦系統(tǒng)中,會話通常是匿名的且數(shù)量眾多的,并且會話點(diǎn)擊中涉及的用戶行為通常是有限的,因此難以從每個會話準(zhǔn)確的估計(jì)每個用戶表示(user representation),進(jìn)而生成有效推薦內(nèi)容。第二點(diǎn)是利用RNN來進(jìn)行的建模,不能夠得到用戶的精確表示以及忽略了item中復(fù)雜的轉(zhuǎn)換特性。

SR-GNN概述
為了克服第二部分描述的基于其他模型的推薦系統(tǒng)不足之處,文章作者提出了基于會話的圖神經(jīng)網(wǎng)絡(luò)模型的推薦系統(tǒng)(SR-GNN)。該模型可以更好的挖掘item中豐富的轉(zhuǎn)換特性以及生成準(zhǔn)確的潛在的用戶向量表示。SR-GNN模型的工作流如下:

首先,對所有的session序列通過有向圖進(jìn)行建模。 接著通過GNN,學(xué)習(xí)每一個node(item)的隱向量表示。然后通過一個attention架構(gòu)模型得到每個session的embedding。最后通過一個softmax層進(jìn)行全表預(yù)測,具體如下:
構(gòu)建會話圖(constructing session graphs):每一個會話序列都被建模為有向圖。在此會話圖中每一個節(jié)點(diǎn)(node)代表一個item。有向圖的每一條邊意味著一個用戶在該會話中依次點(diǎn)擊了起點(diǎn)和終點(diǎn)表示的item。每一個item被嵌入到統(tǒng)一的embedding空間,并且我們用節(jié)點(diǎn)向量來指明每一個item隱向量。基于節(jié)點(diǎn)向量,每一個會話被建模成一個嵌入向量。
學(xué)習(xí)每個item隱向量表示(Learning Item Embeddings on Session Graphs):利用GNN來學(xué)習(xí)每一個item的隱向量表示。圖神經(jīng)網(wǎng)絡(luò)之所以適合基于會話的推薦是因?yàn)樗芾秘S富的節(jié)點(diǎn)間關(guān)系來自動抽取出會話圖的特征。
生成每個會話的embedding(generating session embeddings):以前的基于會話的推薦方法總是假設(shè)在每一個對話中,都存在明顯的用戶潛在表征。相反的,SR-GNN方法不對用戶做出任何假設(shè),而是將會話直接由組成它的若干節(jié)點(diǎn)進(jìn)行表示。每一個session利用注意力機(jī)制將整體偏好與當(dāng)前偏好結(jié)合進(jìn)行表示。
生成推薦(make recommendation):當(dāng)獲得每一個會話的embedding后,我們可以計(jì)算出所有候選item的推薦分?jǐn)?shù)值。接著我們利用softmax函數(shù)和已經(jīng)獲得的推薦分?jǐn)?shù)值來計(jì)算不同候選item的概率值,來表明在該次會話中用戶下一次可能點(diǎn)擊的不同item的概率。

PaddlePaddle實(shí)戰(zhàn)
SR-GNN代碼庫簡要目錄結(jié)構(gòu)及說明:

數(shù)據(jù)準(zhǔn)備:使用DIGINETICA數(shù)據(jù)集。可以按照下述過程操作獲得數(shù)據(jù)集以及進(jìn)行簡單的數(shù)據(jù)預(yù)處理。

? Step 1: 運(yùn)行如下命令,下載DIGINETICA數(shù)據(jù)集并進(jìn)行預(yù)處理

? Step 2: 產(chǎn)生訓(xùn)練集、測試集和config文件

運(yùn)行之后在data文件夾下會產(chǎn)生diginetica文件夾,里面包含config.txt、test.txt以及 train.txt三個文件。

生成的數(shù)據(jù)格式為:session_list, label_list。其中session_list是一個session的列表,里面的每個元素都是一個list,代表不同的session。label_list是一個列表,每個位置的元素是session_list中對應(yīng)session的label。

訓(xùn)練:可以參考下面不同場景下的運(yùn)行命令進(jìn)行訓(xùn)練,還可以指定諸如batch_size,lr(learning rate)等參數(shù),具體的配置說明可通過運(yùn)行下列代碼查看:

gpu 單機(jī)單卡訓(xùn)練

cpu 單機(jī)訓(xùn)練

值得注意的是上述單卡訓(xùn)練可以通過加—use_parallel 1參數(shù)使用Parallel Executor來進(jìn)行加速。

以下為訓(xùn)練結(jié)果示例:我們在Tesla K40m單GPU卡上訓(xùn)練的日志如下所示(以實(shí)際輸出為準(zhǔn))

預(yù)測:運(yùn)行如下命令即可開始預(yù)測。可以通過參數(shù)指定開始和結(jié)束的epoch輪次。

以下為預(yù)測結(jié)果示例:

PaddleRec智能推薦

這里給大家安利一下PaddleRec智能推薦。推薦系統(tǒng)在當(dāng)前的互聯(lián)網(wǎng)服務(wù)中正在發(fā)揮越來越大的作用,目前大部分電子商務(wù)系統(tǒng)、社交網(wǎng)絡(luò),廣告推薦,搜索引擎,都不同程度的使用了各種形式的個性化推薦技術(shù),幫助用戶快速找到他們想要的信息。此外,在工業(yè)可用的推薦系統(tǒng)中,推薦策略一般會被劃分為多個模塊串聯(lián)執(zhí)行。

PaddlePaddle對推薦算法的訓(xùn)練提供了完整的支持,并提供了多種模型配置供用戶選擇。包括TagSpace,GRU4Rec,Word2Vec,GraphNeuralNetwork,DeepInterestNetwork等等,之后還會繼續(xù)添加其他模型也包括更多的圖模型,歡迎嘗試(https://github.com/PaddlePadd...)

(論文參考:Session-based Recommendation with Graph Neural Networks,Shu Wu, Yuyuan Tang,Yanqiao Zhu, Liang Wang,Xing Xie,Tieniu Tan https://arxiv.org/abs/1811.00855)

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/20041.html

相關(guān)文章

  • YOLO v3有了PaddlePaddle實(shí)現(xiàn) | 代碼+預(yù)訓(xùn)練模型

    摘要:值得一提的是,基于百度自研的開源深度學(xué)習(xí)平臺的實(shí)現(xiàn),參考了論文,增加了,等處理,精度相比于原作者的實(shí)現(xiàn)提高了個絕對百分點(diǎn),在此基礎(chǔ)上加入最終精度相比原作者提高個絕對百分點(diǎn)。 YOLO作為目標(biāo)檢測領(lǐng)域的創(chuàng)新技術(shù),一經(jīng)推出就受到開發(fā)者的廣泛關(guān)注。值得一提的是,基于百度自研的開源深度學(xué)習(xí)平臺PaddlePaddle的YOLO v3實(shí)現(xiàn),參考了論文【Bag of Tricks for Imag...

    xavier 評論0 收藏0
  • 百度開源分布式深度學(xué)習(xí)平臺,挑戰(zhàn)TensorFlow

    摘要:今天百度開源深度學(xué)習(xí)平臺。百度一直說自己深耕深度學(xué)習(xí),其技術(shù)水平如何,本次開源或可提供一些線索。深度學(xué)習(xí)平臺實(shí)際上變化得非常快等等,都是過去個月間出現(xiàn)的。總的來說,是百度使用了多年的深度學(xué)習(xí)平臺,并且已經(jīng)做出了一些實(shí)際的產(chǎn)品,較為成熟。 今天百度開源深度學(xué)習(xí)平臺Paddle。業(yè)內(nèi)人士紛紛點(diǎn)贊:Paddle代碼簡潔、設(shè)計(jì)干凈,沒有太多的abstraction,速度比Tensorflow、The...

    evin2016 評論0 收藏0
  • 從硬件配置到框架選擇,請以這種姿勢入坑深度學(xué)習(xí)

    摘要:幸運(yùn)的是,這些正是深度學(xué)習(xí)所需的計(jì)算類型。幾乎可以肯定,英偉達(dá)是目前執(zhí)行深度學(xué)習(xí)任務(wù)較好的選擇。今年夏天,發(fā)布了平臺提供深度學(xué)習(xí)支持。該工具適用于主流深度學(xué)習(xí)庫如和。因?yàn)榈暮啙嵑蛷?qiáng)大的軟件包擴(kuò)展體系,它目前是深度學(xué)習(xí)中最常見的語言。 深度學(xué)習(xí)初學(xué)者經(jīng)常會問到這些問題:開發(fā)深度學(xué)習(xí)系統(tǒng),我們需要什么樣的計(jì)算機(jī)?為什么絕大多數(shù)人會推薦英偉達(dá) GPU?對于初學(xué)者而言哪種深度學(xué)習(xí)框架是較好的?如何將...

    marek 評論0 收藏0
  • 可能是全網(wǎng)把 ZooKeeper 概念講清楚一篇文章

    摘要:的設(shè)計(jì)目標(biāo)是將那些復(fù)雜且容易出錯的分布式一致性服務(wù)封裝起來,構(gòu)成一個高效可靠的原語集,并以一系列簡單易用的接口提供給用戶使用。具有不可分割性即原語的執(zhí)行必須是連續(xù)的,在執(zhí)行過程中不允許被中斷。 該文已加入開源文檔:JavaGuide(一份涵蓋大部分Java程序員所需要掌握的核心知識)。地址:https://github.com/Snailclimb... showImg(https:...

    DrizzleX 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<