【CTR】MMoE-PosBias:Youtube 多任務學習框架
本篇論文爲 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
-
《Recommending What Video to Watch Next: A Multitask Ranking System》
推薦閱讀
徵稿啓示| 200元稿費+5000DBC(價值20個小時GPU算力)
文本自動摘要任務的“不完全”心得總結番外篇——submodular函數優化
斯坦福大學NLP組Python深度學習自然語言處理工具Stanza試用
關於AINLP
AINLP 是一個有趣有AI的自然語言處理社區,專注於 AI、NLP、機器學習、深度學習、推薦算法等相關技術的分享,主題包括文本摘要、智能問答、聊天機器人、機器翻譯、自動生成、知識圖譜、預訓練模型、推薦系統、計算廣告、招聘信息、求職經驗分享等,歡迎關注!加技術交流羣請添加AINLPer(id:ainlper),備註工作/研究方向+加羣目的。
閱讀至此了,分享、點贊、在看三選一吧:pray: