推荐系统入门必读:一文读懂推荐系统负采样
?作者?|?潘星宇
學(xué)校?|?中國人民大學(xué)碩士生
研究方向?|?推薦系統(tǒng)
推薦系統(tǒng)負(fù)采樣作為推薦模型訓(xùn)練的重要一環(huán),對模型的訓(xùn)練效果有著重要影響,也是推薦系統(tǒng)領(lǐng)域的一個(gè)重要研究分支。本文將從研究背景到現(xiàn)有的經(jīng)典工作對推薦系統(tǒng)負(fù)采樣進(jìn)行一個(gè)概括性的介紹。為了降低本文的閱讀門檻,讓更多“科研小白”也可以理解文章內(nèi)容,筆者將盡可能使用通俗的語言來代替論文公式對算法進(jìn)行描述,希望可以讓讀者對推薦系統(tǒng)負(fù)采樣有一個(gè)基本的了解。?
1. 研究背景
推薦系統(tǒng)的目的在于根據(jù)用戶的興趣愛好向用戶進(jìn)行個(gè)性化推薦,以提升用戶在網(wǎng)上購物,新聞閱讀,影音娛樂等場景下的體驗(yàn)。在推薦場景中,推薦模型主要依賴用戶的歷史反饋信息來建模用戶的興趣。一般來說,在模型訓(xùn)練過程中,我們需要同時(shí)提供正例(用戶喜歡的商品)和負(fù)例(用戶不喜歡的商品)給模型,然后基于損失函數(shù)來學(xué)習(xí)用戶和商品的表示,最終完成模型的訓(xùn)練。但在實(shí)際推薦場景中,考慮到數(shù)據(jù)收集的難度,我們很難獲取用戶的顯式反饋信息(例如用戶對商品的評分)來確切知道用戶喜歡哪些商品,不喜歡哪些商品,絕大部分的數(shù)據(jù)都是用戶的隱式反饋信息(例如用戶消費(fèi)過的商品記錄)。
對于隱式反饋來說,數(shù)據(jù)沒有明確的標(biāo)簽,為了進(jìn)行模型訓(xùn)練,我們一般假設(shè)用戶交互過的商品都是正例,并通過采樣的方式,從用戶未交互過的商品集中選擇一部分作為負(fù)例。從用戶未交互商品集中基于一定策略進(jìn)行負(fù)例選擇的這一過程,就被稱為負(fù)采樣(Negative Sampling)
推薦系統(tǒng)負(fù)采樣示意圖
2. 推薦系統(tǒng)負(fù)采樣中的研究方向
在推薦系統(tǒng)負(fù)采樣中,主要有三方面的研究方向:采樣質(zhì)量,采樣偏差和采樣效率。
1、采樣質(zhì)量:
一般來說,在負(fù)采樣過程中,采樣的質(zhì)量主要是指采到的負(fù)例所包含的信息量。相比于低信息量的負(fù)例,采到信息量更高的負(fù)例將顯著提升模型訓(xùn)練的效率,加速模型收斂。從近幾年推薦系統(tǒng)負(fù)采樣領(lǐng)域的論文數(shù)量來看,提升采樣質(zhì)量是目前該領(lǐng)域的主要研究方向。
2、采樣偏差:
在推薦系統(tǒng)負(fù)采樣中,我們的基本假設(shè)是用戶交互過的商品都是該用戶的正例,未交互過的都是負(fù)例。但容易發(fā)現(xiàn),這個(gè)假設(shè)還是比較強(qiáng)的,與真實(shí)場景存在一定偏差,例如用戶未購買過的商品并不一定是不喜歡的,也有可能是用戶在未來想要發(fā)生交互的商品,這一偏差可以被稱為偽負(fù)例(False Negative)問題。這些采樣中的偏差會對模型訓(xùn)練造成影響,因此緩解或消除采樣中的偏差是該領(lǐng)域一個(gè)重要的研究方向。
3、采樣效率:
在推薦場景中,用戶的歷史交互數(shù)據(jù)是比較稀疏的,一般來說,用戶平均交互的商品數(shù)量不會超過整個(gè)商品集大小的10%。因此,對于負(fù)采樣而言,需要在一個(gè)較大的采樣池中進(jìn)行采樣,一旦采樣過于復(fù)雜,會導(dǎo)致模型訓(xùn)練的開銷增大,這也與實(shí)際工業(yè)場景下的要求不符。因此,采樣算法的設(shè)計(jì)需要控制好復(fù)雜度,提升采樣效率也是該領(lǐng)域一個(gè)有重要研究意義的方向。
3. 主流推薦系統(tǒng)負(fù)采樣算法
負(fù)采樣算法的本質(zhì)就是基于某些方式來設(shè)置或調(diào)整負(fù)采樣時(shí)的采樣分布。根據(jù)負(fù)采樣算法設(shè)置采樣分布的方式,我們可以將目前的負(fù)采樣算法分為兩大類:啟發(fā)式負(fù)采樣算法和基于模型的負(fù)采樣算法。
(一)啟發(fā)式負(fù)采樣算法:
啟發(fā)式負(fù)采樣算法主要指通過設(shè)定一些啟發(fā)式的規(guī)則來設(shè)置采樣分布,這類算法的特點(diǎn)就是開銷較小,易于理解和實(shí)現(xiàn),但在效果上會有一定的瓶頸。下面介紹兩種經(jīng)典的啟發(fā)式負(fù)采樣算法。
1、隨機(jī)負(fù)采樣(Random Negative Sampling, RNS)[1]:
RNS是最基本的負(fù)采樣算法,它的思想就是平等地對待采樣池內(nèi)的每一個(gè)商品,按相等的概率進(jìn)行采樣。RNS的算法邏輯非常簡單,在效率上有著很大的優(yōu)勢,同時(shí)也避免在采樣過程中引入新的偏差,是一個(gè)被廣泛使用的采樣算法。
2、基于流行度的負(fù)采樣(Popularity-biased Negative Sampling, PNS)[2]
PNS也是一個(gè)啟發(fā)式的負(fù)采樣算法,它的思想是以商品流行度作為采樣權(quán)重對采樣池內(nèi)的商品進(jìn)行帶權(quán)采樣,流行度越高的商品越容易被采到。這里的流行度有很多種定義方式,一種常見的定義方式該商品的歷史交互次數(shù),即商品被消費(fèi)次數(shù)越多,其流行度就越高。這種算法相比于RNS,就是將均勻分布替換成一個(gè)基于流行度的采樣分布,只需要在采樣前計(jì)算出每個(gè)商品的流行度作為采樣分布,然后就按照這個(gè)分布進(jìn)行采樣即可,在開銷上沒有增加特別多。
相比于RNS, 按照流行度采樣的目的是為了提高所采負(fù)例的信息量,提高采樣質(zhì)量。例如一個(gè)非常流行的商品,卻出現(xiàn)在某個(gè)用戶的未交互商品集中,那么這個(gè)商品就很大概率是用戶不喜歡的商品,那么通過這個(gè)負(fù)例就可以很好的學(xué)習(xí)到用戶的喜好;相反,一個(gè)大家都不喜歡的商品,將它作為負(fù)例進(jìn)行學(xué)習(xí),其實(shí)能夠帶給模型的信息量就很少了,很難學(xué)習(xí)到該用戶的個(gè)性化特征。
但也有文獻(xiàn)指出[3],PNS也有一定的局限性。首先,因?yàn)镻NS的采樣分布是提前計(jì)算好的,在模型訓(xùn)練過程中,采樣分布不會變化。因此那些在訓(xùn)練初期能夠提高更高信息量的負(fù)例,在經(jīng)過多次訓(xùn)練后,其帶來信息量可能會有所下降。其次,流行度的引入也可能會引入新的偏差,因?yàn)榱餍卸鹊挠?jì)算是全局的,而在用戶中,不同用戶類別之間的興趣可能是有差異的,如果所給數(shù)據(jù)中的用戶類別分布不均勻,就可能導(dǎo)致流行度的定義出現(xiàn)偏差。
(二)基于模型的負(fù)采樣算法:
相比于前面提到的兩種啟發(fā)式算法,基于模型的負(fù)采樣算法更容易采到質(zhì)量高的負(fù)例,也是目前較為前沿的采樣算法。下面介紹幾種基于模型的負(fù)采樣算法:
1、動態(tài)采樣(Dynamically Negative Sampling, DNS)[4]
在模型訓(xùn)練過程中,負(fù)例能夠帶給模型的信息量是會隨著模型的訓(xùn)練情況不斷變化的。DNS的思路就是根據(jù)模型當(dāng)前的情況動態(tài)地改變采樣分布,提升每一輪的采樣質(zhì)量。對于模型來說,我們最后希望的模型是能夠給正例打更高的分,給負(fù)例打更低的分。因此,對于每一輪訓(xùn)練,那些會被模型打高分的采樣池中的商品更應(yīng)該被挑出來讓模型進(jìn)行學(xué)習(xí),它們對于模型而言包含更多的信息量。基于這樣的思路,DNS會在每次采樣時(shí)使用當(dāng)前模型作為一個(gè)采樣模型,對樣例進(jìn)行打分,然后選擇分?jǐn)?shù)更高的樣例來作為負(fù)例對當(dāng)前模型進(jìn)行訓(xùn)練,得到新一輪的模型,并這樣迭代下去。
2、基于GAN的負(fù)采樣算法
在模型訓(xùn)練過程中,模型的訓(xùn)練目標(biāo)是將損失函數(shù)的值降低,而采樣器的采樣目標(biāo)是將能使得模型損失函數(shù)的值增大的負(fù)例選出來,這就蘊(yùn)含著一種對抗的思想。自然的,生成對抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)也就被運(yùn)用到了負(fù)采樣中。IRGAN [5]?是信息檢索負(fù)采樣領(lǐng)域的一篇經(jīng)典工作,它首次將GAN的思想運(yùn)用到信息檢索領(lǐng)域來進(jìn)行負(fù)采樣。具體來說,在IRGAN的設(shè)計(jì)中,它包含了兩個(gè)推薦模型,一個(gè)作為判別器(Discriminator),一個(gè)作為生成器(Generator),基于對抗的思想進(jìn)行訓(xùn)練。生成器的目的在于從負(fù)例池中選擇負(fù)例混入正例中來迷惑判別器,而判別器則是要區(qū)分出正例和生成器混入的負(fù)例,并將反饋給予生成器。
IRGAN結(jié)構(gòu)示意圖
在這個(gè)框架中,原則上生成器和判別器可以是任意結(jié)構(gòu)的推薦模型,最終生成器和判別器也都可以作為最后的推薦模型進(jìn)行使用。而DNS可以理解為一種判別器和生成器是相同模型結(jié)構(gòu)的,共享同一套參數(shù)的特殊的IRGAN。受到IRGAN的影響,后續(xù)也出現(xiàn)了很多基于GAN的負(fù)采樣算法?[6][7],他們從效率,性能等不同方面對IRGAN的結(jié)構(gòu)進(jìn)行了優(yōu)化和改進(jìn)。
3、SRNS?(Simplify and Robustify Negative Sampling)[8]
雖然前面提到的兩種基于模型的采樣算法通過模型學(xué)習(xí)的方法可以提升采樣質(zhì)量,獲得強(qiáng)負(fù)例(Hard Negative),但也存在著兩個(gè)關(guān)鍵問題:1)由于借助模型評分來選擇負(fù)例,會加重采樣時(shí)的偽負(fù)例(False Negative)問題。因?yàn)閱螐脑u分上來看,偽負(fù)例和強(qiáng)負(fù)例都會得到較高的分?jǐn)?shù),按照模型評分得到的分布進(jìn)行采樣會提升偽負(fù)例被采到的概率。2)這種基于模型的算法,特別是基于GAN的算法,會有很大的時(shí)間開銷,影響模型的訓(xùn)練。針對這兩個(gè)問題,nips 2020上的一篇工作提出了一種命名為“簡單且具有較強(qiáng)魯棒性的負(fù)采樣算法”。在這個(gè)算法中,它以觀察到的統(tǒng)計(jì)學(xué)特征作為先驗(yàn)知識對偽負(fù)例和強(qiáng)負(fù)例進(jìn)行區(qū)分,以增強(qiáng)模型的魯棒性,并使用了類似DNS的結(jié)構(gòu)進(jìn)行采樣,以保證采樣質(zhì)量。在時(shí)間復(fù)雜度的分析上,SRNS也優(yōu)于GAN類型的方法。本篇工作將視角放在了采樣去偏和采樣效率優(yōu)化,同時(shí)創(chuàng)新性地引入統(tǒng)計(jì)學(xué)指標(biāo)來嘗試區(qū)分偽負(fù)例和強(qiáng)負(fù)例,是一篇具有啟發(fā)意義的工作。
4. 結(jié)語
本文主要圍繞推薦系統(tǒng)負(fù)采樣這個(gè)主題,從研究背景到目前的經(jīng)典工作進(jìn)行了較為細(xì)致通俗的概況,希望可以通過這篇文章讓讀者對該領(lǐng)域有一個(gè)簡單認(rèn)識。同時(shí)歡迎對文章內(nèi)容有疑問或想法的同學(xué)在評論區(qū)積極留言討論!
在最后,也向大家安利一款非常好用的,特別適合剛剛?cè)腴T推薦系統(tǒng)方向的“科研小白”的推薦算法工具包“伯樂” (RecBole)。希望大家可以多多支持!
易用又強(qiáng)大的伯樂二期來啦!
參考文獻(xiàn)
[1] Steffen Rendle, Christoph Freudenthaler, Zeno Gantner, and Lars Schmidt-Thieme. 2009. BPR: Bayesian Personalized Ranking from Implicit Feedback. In UAI. AUAI Press, 452–461.
[2] Ting Chen, Yizhou Sun, Yue Shi, and Liangjie Hong. 2017. On Sampling Strategies for Neural Network-based Collaborative Filtering. In KDD. ACM, 767–776.
[3] Steffen Rendle and Christoph Freudenthaler. 2014. Improving pairwise learning for item recommendation from implicit feedback. In WSDM. 273–282
[4] Weinan Zhang, Tianqi Chen, Jun Wang, and Yong Yu. 2013. Optimizing topn collaborative filtering via dynamic negative item sampling. In SIGIR. ACM,
785–788.
[5] Jun Wang, Lantao Yu, Weinan Zhang, Yu Gong, Yinghui Xu, Benyou Wang, Peng Zhang, and Dell Zhang. 2017. IRGAN: A Minimax Game for Unifying Generative and Discriminative Information Retrieval Models. In SIGIR. ACM, 515–524.
[6] Dae Hoon Park and Yi Chang. 2019. Adversarial Sampling and Training for Semi-Supervised Information Retrieval. In WWW. ACM, 1443–1453.
[7] Jingtao Ding, Yuhan Quan, Xiangnan He, Yong Li, and Depeng Jin. Reinforced negative sampling for recommendation with exposure data. In IJCAI, pages 2230–2236, 2019.
[8] Jingtao Ding, Yuhan Quan, Quanming Yao, Yong Li, and Depeng Jin. 2020. Simplify and Robustify Negative Sampling for Implicit Collaborative Filtering. In NeurIPS.
特別鳴謝
感謝 TCCI 天橋腦科學(xué)研究院對于 PaperWeekly 的支持。TCCI 關(guān)注大腦探知、大腦功能和大腦健康。
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達(dá)讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認(rèn)識的人。
總有一些你不認(rèn)識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?
PaperWeekly 鼓勵(lì)高校實(shí)驗(yàn)室或個(gè)人,在我們的平臺上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)術(shù)熱點(diǎn)剖析、科研心得或競賽經(jīng)驗(yàn)講解等。我們的目的只有一個(gè),讓知識真正流動起來。
?????稿件基本要求:
? 文章確系個(gè)人原創(chuàng)作品,未曾在公開渠道發(fā)表,如為其他平臺已發(fā)表或待發(fā)表的文章,請明確標(biāo)注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發(fā)送,要求圖片清晰,無版權(quán)問題
? PaperWeekly 尊重原作者署名權(quán),并將為每篇被采納的原創(chuàng)首發(fā)稿件,提供業(yè)內(nèi)具有競爭力稿酬,具體依據(jù)文章閱讀量和文章質(zhì)量階梯制結(jié)算
?????投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時(shí)聯(lián)系方式(微信),以便我們在稿件選用的第一時(shí)間聯(lián)系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
????
現(xiàn)在,在「知乎」也能找到我們了
進(jìn)入知乎首頁搜索「PaperWeekly」
點(diǎn)擊「關(guān)注」訂閱我們的專欄吧
關(guān)于PaperWeekly
PaperWeekly 是一個(gè)推薦、解讀、討論、報(bào)道人工智能前沿論文成果的學(xué)術(shù)平臺。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號后臺點(diǎn)擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的推荐系统入门必读:一文读懂推荐系统负采样的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 沪指跌破3600点 贵州茅台下跌118
- 下一篇: 手把手教你开咖啡店 千万不要错过了这些经