推薦系統CTR(CVR)預估模型(多任務學習)之ESMM

 esmm模型是阿里媽媽基礎算法團隊發表在SIGIR 18上的一篇論文,用來做轉化率預估。
 整篇論文非常簡單,創新點也很通俗易懂,轉化率預估目前主要存在兩個難點:1、sample selection bias, conversion CVR model are trained on dataset composed of clicked impressions, while are utilized to make inference on the entire space with samples of all impressions. 這樣做實際上存在一個很嚴重的問題,因爲模型用於訓練的數據全是點擊數據, 而上線預測則是用於全部的數據, 訓練和預測的數據分佈完全不一樣。2、data sparsity。實際上CTR預估的數據就已經非常稀疏了,再考慮到從點擊到轉化,實際轉化率一般也不超過百分之幾,這樣實際上用戶看到一件商品,到最後購買,這個機率可能就只有萬分之幾,一般的方法是很難去處理如此稀疏的數據的。
在這裏插入圖片描述
 CVR模型線上inference時,實際上對應的上整個impression的樣本空間,如果用click的樣本空間來train CVR model會有一些問題。
 這偏論文的創新點主要是用到了一個multi-task learning 的方法, 並沒有直接去預估CVR,而是採用兩個輔助的任務,通過預測CTR和CTCVR來間接的預測CVR,因爲CTCVR=CTR*CVR,這樣由於CTR和CTCVR預估都是在全樣本空間進行預估的,從而避免了上面說的兩個問題, 注意,實際處理時,CVR不是通過CTCVR/CTR來進行計算的,實際上我們在模型處理是,這三個變量都有預測,但是隻計算了CTR和CVCTR的loss,更詳細的原因,可以去看論文。
在這裏插入圖片描述
  ESMM的網絡結構如上圖,非常簡單,通過兩個輔助的任務CTR和CVCTR來間接預估CTCVR,最後loss=loss(ctr) + loss(cvr).
在這裏插入圖片描述
模型的tensorflow實現代碼可以參考: https://github.com/qiaoguan/deep-ctr-prediction/tree/master/ESMM

參考文獻:【1】Xiao Ma et all. “Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate,” In SIGIR,2018.
tips:兩個任務的損失融合時可以參考multi-task learning中,不同task進行融合的一些技巧。
https://www.zhihu.com/question/268105631

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章