推薦算法多任務學習的幾種方式


推薦系統中如果只優化ctr,那麼有很多已有的ctr預估模型可以做。但是往往一個優秀的推薦系統除了ctr外還有很多優化的目標,比如觀看時長、收藏率、轉發率等,那麼能訓練一個模型,對多個目標同時優化呢。
本文將總結一些該方面的成果和實踐

阿里 ESMM

論文名:Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate

CVR 是指從點擊到購買的轉化,傳統的 CVR 預估會存在兩個問題:樣本選擇偏差和稀疏數據
(1)樣本選擇偏差:模型用用戶點擊的樣本來訓練,但是預測卻是用的整個樣本空間。
(2)數據稀疏問題:用戶點擊到購買的樣本太少。
阿里提出了 ESMM 模型來解決上述兩個問題:主要借鑑多任務學習的思路,引入兩個輔助的學習任務,分別用來擬合 pCTR 和 pCTCVR。
在這裏插入圖片描述
該網絡結構共有三個子任務,分別用於輸出 pCTR、pCVR 和 pCTCVR
在這裏插入圖片描述
由上面的式子可知,pCVR 可通過 pCTR 和 pCTCVR 推導出來,那麼我們只需要關注 pCTR 和 pCTCVR 兩個任務即可

對於 pCTR 來說可將有點擊行爲的曝光事件作爲正樣本,沒有點擊行爲的曝光事件作爲負樣本,對於 PCTCVR 來說,將同時有點擊行爲和購買行爲的曝光事件作爲正樣本,其他作爲負樣本。
模型的 loss 函數:
在這裏插入圖片描述
另外兩個子網絡的 embedding 層是共享的,由於 CTR 任務的訓練樣本量要遠超過 CVR 任務的訓練樣本量,ESMM 模型中 embedding 層共享的機制能夠使得 CVR 子任務也能夠從只有展現沒有點擊的樣本中學習,從而能夠極緩解訓練數據稀疏性問題

阿里 DUPN

論文名:Perceive Your Users in Depth: Learning Universal User Representations from Multiple E-commerce Tasks

多任務學習的優勢:可共享一部分網絡結構。
在這裏插入圖片描述

  1. 行爲序列層:每個行爲都有兩部分組成,分別是 item 和 property 項。Item 包括商品 id 和一些 side-information ,Property 項表示此次行爲的屬性,比如場景 ( 搜索、推薦等場景 ) 時間、類型 ( 點擊、購買、加購等 )
  2. Embedding 層:主要多 item 和 property 的特徵做處理
    在這裏插入圖片描述
  3. LSTM 層:得到每一個行爲的 Embedding 表示之後,首先通過一個 LSTM 層,把序列信息考慮進來。
  4. Attention 層:區分不同用戶行爲的重要程度,經過 attention 層得到128維向量,拼接上128維的用戶向量,最終得到一個256維向量作爲用戶的表達。
  5. 下游多任務層:CTR、L2R ( Learning to Rank )、用戶達人偏好 FIFP、用戶購買力度量 PPP 等。

多任務模型的使用技巧:

  • 天級更新模型:隨着時間和用戶興趣的變化,ID 特徵的 Embedding 需要不斷更新,但每次都全量訓練模型的話,需要耗費很長的時間。通常的做法是每天使用前一天的數據做增量學習,這樣一方面能使訓練時間大幅下降;另一方面可以讓模型更貼近近期數據。
  • 模型拆分:由於 CTR 任務是 point-wise 的,如果有 1w 個物品的話,需要計算 1w 次結果,如果每次都調用整個模型的話,其耗費是十分巨大的。其實 user Reprentation 只需要計算一次就好。因此我們會將模型進行一個拆解,使得紅色部分只計算一次,而藍色部分可以反覆調用紅色部分的結果進行多次計算。

美團"猜你喜歡" 深度學習排序模型

將點擊率和下單率拆分出來,網絡在最後一個全連接層進行拆分,單獨學習對應 Loss 的參數在這裏插入圖片描述

Google MMoE

論文名:Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts

在這裏插入圖片描述
模型 (a) 最爲常見,兩個任務直接共享模型的 bottom 部分,只在最後處理時做區分,然後分別接損失函數。

模型 (b) 是常見的多任務學習模型。將 input 分別輸入給三個 Expert,但三個 Expert 並不共享參數。同時將 input 輸出給 Gate,Gate 輸出每個 Expert 被選擇的概率,然後將三個 Expert 的輸出加權求和,輸出給 Tower。有點 attention 的感覺

模型 © 是作者新提出的方法,對於不同的任務,模型的權重選擇是不同的,所以作者爲每個任務都配備一個 Gate 模型。

阿里 ESM2

論文名:Conversion Rate Prediction via Post-Click Behaviour Modeling
前面已經介紹過一種基於多任務學習的 CVR 預估模型 ESMM,但對於 CVR 預估來說,ESMM 模型仍面臨一定的樣本稀疏問題,因爲 click 到 buy 的樣本非常少。但其實一個用戶在購買某個商品之前往往會有一些其他的行爲,比如將商品加入購物車或者心願單。如下圖所示:
在這裏插入圖片描述
文中把加購物車或者心願單的行爲稱作 Deterministic Action ( DAction )
在這裏插入圖片描述
那麼該模型的多個任務分別是:
Y1:點擊率
Y2:點擊到 DAction 的概率
Y3:DAction 到購買的概率
Y4:OAction 到購買的概率

並且從上圖看出,模型共有3個 loss,計算過程分別是:

  • pCTR:Impression→Click 的概率是第一個網絡的輸出。
  • pCTAVR:Impression→Click→DAction 的概率,pCTAVR = Y1 * Y2,由前兩個網絡的輸出結果相乘得到。
  • pCTCVR:Impression→Click→DAction/OAction→Buy 的概率,pCTCVR = CTR * CVR = Y1 * [(1 - Y2) * Y4 + Y2 * Y3]

最終損失函數由三部分加權得到
在這裏插入圖片描述

YouTube 多目標排序系統

Recommending What Video to Watch Next: A Multitask Ranking System
本文主要解決了視頻推薦場景下普遍存在的兩個問題:

  • 多任務目標。比如不僅需要預測用戶是否會觀看外,還希望去預測用戶對於視頻的評分,是否會關注該視頻的上傳者,否會分享到社交平臺等。
  • 偏置信息。比如用戶是否會點擊和觀看某個視頻,並不一定是因爲他喜歡,可能僅僅是因爲它排在推薦頁的最前面,這會導致訓練數據產生位置偏置的問題。
    在這裏插入圖片描述
    兩個目標:
  • 預測ctr和觀看時長。通過二分類模型來預測用戶的點擊行爲,通過迴歸模型來預測用戶觀看視頻的時長。
  • 主要預測用戶在觀看視頻後的反饋。其中使用二分類模型來預測用戶是否會點擊喜歡該視頻,而通過迴歸模型來預測用戶對於視頻的評分

模型中有兩個比較重要的結構:Multi-gate Mixture-of-Experts ( MMoE ) 和消除位置偏置的 shallow tower。
-MMoE 的結構爲:
在這裏插入圖片描述
Shallow tower 的結構爲:
在這裏插入圖片描述
位置偏置信息主要體現在 CTR 預估中,而預測用戶觀看視頻是否會點擊喜歡或者用戶對視頻的評分這些任務,是不需要加入位置偏置信息的

美圖

在這裏插入圖片描述
Multi-task NFwFM 已在美圖秀秀社區首頁 Feeds 推薦、相關推薦下滑流全量上線。首頁 Feeds 點擊率+1.93%,關注轉化率+2.90%,相關推薦下滑流人均瀏覽時長+10.33%,關注轉化率+9.30%

小結

最後總結下現在多任務學習模型的主要使用方式:

  1. 底層 embedding 和 mlp 參數共享,上層演化出各個任務的分支,最後 loss 函數是各個任務的簡單加權和。
  2. 通過多任務之間的關係來建模出新的 loss 函數,比如阿里的 ESSM,ESSM2
  3. 通過 Multi-gate Mixture-of-Experts ( MMoE ) 這種特殊的多任務結構來學習出不同任務的權重,比如 YouTube 的多任務模型
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章