本篇論文爲 Youtube 2019 年的工作《Recommending What Video to Watch Next: A Multitask Ranking System》,發表於 RecSys。

推薦系統中會出現很多挑戰,比如多目標問題、選擇偏差問題問題等,爲了解決這樣的挑戰,作者提出了 MMoE-PosBias 架構,利用 MMoE 框架解決多目標問題,並利用 Wide&Deep 框架來緩解選擇偏差的問題。

MMoE 上一篇論文有過介紹,選擇偏差問題我們在之前介紹的阿里媽媽團隊的多任務學習算法 ESMM 中也提到過,不過這裏主要是位置上的選擇偏差。

1.Introduction

推薦系統通常分爲召回和排序兩個階段,本篇論文聚焦於推薦系統中的排序過程,召回過程採用 Deep Candidate Generation 模型進行召回。

設計並部署一個真實大規模的視頻推薦系統會面臨很多挑戰,比如說:

  • 多目標問題:視頻推薦的目標大體可以分爲 engagement objectives(例如點擊、播放等)和 satistaction objective(例如點贊、收藏、評分等),這兩類目標可能有衝突,比如說,用戶喜歡觀看的視頻和喜歡收藏的視頻可能是兩種類型的視頻;

  • 隱式偏差:用戶會點擊排名靠前的視頻,可能並不是因爲他喜歡,而是僅僅是因爲其位置靠前。利用這樣的樣本進行訓練會出現 feedback loof 的效果,進一步強化樣本偏差。

爲了解決這個問題,作者提出了一個高效的多任務神經網絡學習架構,如下圖所示:

第一眼看起來會比較亂,首先我們可以將其分爲上下兩部分,上面是系統,下面是 Wide&Deep 模型。

  • Deep 部分用 MMoE 來進行多任務學習,利用多個專家網絡和多個 Gate 進行多目標預測,並對多個目標進行線形加權得到最終的目標函數;

  • Wide 部分用淺層模型代替(shallow tower),接收與選擇偏差相關的輸入,並輸出一個標量最終預測的偏差項,並與上層的 user engagement 進行相加,從而減少位置偏差帶來的影響。

2.MMoE-PosBias

接下來,我們看一下具體內容。

2.1 Ranking Objective

在多任務排序模型中,作者將目標函數分爲兩類:engagement objectives 和 satisfaction objectives。前者用於捕獲用戶的點擊觀看行爲、後者用戶通過點贊收藏評分等來捕捉用戶的滿意程度。

諸多不同不同的目標中,例如點擊、點贊作爲分類任務,觀看時常、視頻評分作爲迴歸任務。

最終作者會利用線形加權的方法來整合多個目標函數,並通過微調權重來獲得最好的性能。

2.2 Task Relations and Conficts

下圖展示了兩種多任務模型框架:

左邊爲一般的基於 hard-parameter sharing 的 MTL 架構,右邊是基於 soft-parameter sharing 架構的 MMoE 框架。前者在低相關性的多任務學習中表現欠佳,而後者可以很好的克服這一點。

所以作者使用 MMoE 作爲多任務模型的框架,有助於從輸入中學習到模塊化的信息,從而更好的對多模態特徵空間進行建模。

但是直接用 MoE 層的話會顯著增大訓練和預測的計算量(輸入層維度比隱藏層維度大)。

所以利用 MLP 來實現專家網絡:

其中,n 爲主任務數,k 某個任務,x 爲輸入的 Embedding ,爲第 i 個專家網絡,爲 gate 層。

2.3 Position Biases

我們再來看一下位置偏差。

有兩種方法來處理學習到的位置特徵:

  • 直接作爲輸入;

  • 或者利用 Adversarial learning 將位置作爲一個輔助的學習目標來預測,並在反向傳播階段把提督取負,這樣主模型便不會依賴位置特徵了。

作者的實驗表明,直接作爲特徵進行輸入在深層網絡中的效果不太好,所以採用了第二種方式來處理位置特徵。

位置偏差是選擇偏差中非常常見的一種,作者通過增加一個淺層網絡來減少由於推薦產生的用戶選擇偏差,並打破有選擇偏差導致導致的反饋循環,其結構如下圖所示:

作者利用 shallow tower 去建模偏差,其輸入的是與偏差相關的特徵(如物品展示位置、用戶設備信息等),輸出的是一個偏置項標量,加到(左邊的) main model 中的,並經過 Sigmoid 函數得到最終的輸出。

此外,在學習的時候,爲了減少對位置的過分依賴,作者還會對模型所有偏差特徵進行 10% 的 dropout。

3.Experiment

來看一下實驗部分。

下圖是 Youtube 的推薦頁面:

離線實驗中,分類任務使用 AUC,迴歸任務使用均方誤差。線上任務中,使用 A/B 測試。同時,作者利用線上線下實驗來微調模型的超參。

當然,除了這些指標外,作者還會考慮計算成本。

下圖展示了不同基準模型和 MMoE 模型的性能對比:

下圖展示了每個 expert 對任務的累積概率,可以看到不同 expert 的側重點是不同的:

下圖展示了不同位置的偏差所帶來的影響,上半部分表示不同位置的點擊率,可以看到位置的對點擊率的影響非常大的,而隨着位置越靠後,影響越小;下半部分展示了學習到的位置偏差:

下圖爲線上實驗:

4.Conclusion

總結:作者首先介紹了推薦系統面臨的兩個挑戰——多任務學習和選擇偏差,爲了解決這個問題,作者設計了一個大規模的多目標排序框架——MMoE-Posbias 框架,其採用了 MMoE 架構,並利用 shallow tower 來解決位置偏差問題。最終實驗表明,該框架能夠在線上真實數據集中取得實質上的進步。

Youtube 的工業界論文比較簡潔明瞭,也沒有太多的花樣,但在真實部署時必然會遇到很多困難,想要實際應用還是需要仔細挖掘。

5.Reference

  1. 《Recommending What Video to Watch Next: A Multitask Ranking System》

推薦閱讀

這個NLP工具,玩得根本停不下來

徵稿啓示| 200元稿費+5000DBC(價值20個小時GPU算力)

文本自動摘要任務的“不完全”心得總結番外篇——submodular函數優化

Node2Vec 論文+代碼筆記

模型壓縮實踐收尾篇——模型蒸餾以及其他一些技巧實踐小結

中文命名實體識別工具(NER)哪家強?

學自然語言處理,其實更應該學好英語

斯坦福大學NLP組Python深度學習自然語言處理工具Stanza試用

關於AINLP

AINLP 是一個有趣有AI的自然語言處理社區,專注於 AI、NLP、機器學習、深度學習、推薦算法等相關技術的分享,主題包括文本摘要、智能問答、聊天機器人、機器翻譯、自動生成、知識圖譜、預訓練模型、推薦系統、計算廣告、招聘信息、求職經驗分享等,歡迎關注!加技術交流羣請添加AINLPer(id:ainlper),備註工作/研究方向+加羣目的。

閱讀至此了,分享、點贊、在看三選一吧:pray:

相關文章