推薦中的多任務學習-ESMM

本文將介紹阿里發表在 SIGIR’18 的論文ESMM《Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate》。文章提出使用多任務學習解決CVR(轉化率)預估時的樣本選擇誤差數據稀疏問題。git

  • 背景

在推薦系統、在線廣告等應用中,CVR預估比CTR預估更加劇要,CTR預估聚焦於點擊率預估,即預測用戶會不會點擊,可是用戶點擊後進行消費纔是最終目標。傳統的CVR預估任務一般採用相似於CTR預估的技術,然而,這種作法存在兩個重大問題:1) 樣本選擇誤差;2) 訓練數據稀疏github

1.樣本選擇誤差網絡

轉化是在點擊以後發生,傳統CVR預估模型在clicked數據上訓練,可是在推理時使用了整個樣本空間見圖。訓練樣本和實際數據不服從同一分佈,不符合機器學習中訓練數據和測試數據獨立同分布的假設。直觀的說,會產生轉化的用戶不必定都是進行了點擊操做的用戶,若是隻使用點擊後的樣原本訓練,會致使CVR學習產生偏置。具體的實驗結果能夠見原論文[1]架構

2.訓練數據稀疏機器學習

訓練數據稀疏問題很明顯,點擊樣本在整個樣本空間中只佔了很小一部分,而轉化樣本更少,高度稀疏的訓練數據使得模型的學習變得至關困難。函數

  • ESMM

首先明確CTR、CVR、CTCVR。CTR表示點擊率、CVR表示假設用戶點擊後的轉化率、CTCVR表示用戶點擊而且成功轉化。學習

如何解決上述問題?ESMM 引入點擊率(CTR)和點擊轉化率(CTCVR)做爲輔助任務,將CVR做爲一箇中間變量。它們的關係以下
\[ \underbrace{p(y=1, z=1 | x)}_{p C T C V R}=\underbrace{p(y=1 | x)}_{p C T R} \times \underbrace{p(z=1 | y=1, x)}_{p C V R} \]
能夠看出,\(pCTR\)\(pCTCVR\)是在整個樣本空間上進行學習獲得的,只是label不一樣,\(pCVR\)是中間變量,這樣就解決了樣本選擇誤差問題。模型架構以下測試

能夠看出在 ESMM 中,CVR 與 CTR 任務共享Embedding 參數。這種參數共享機制使 ESMM 中的 CVR 網絡能夠從未點擊的樣本中學習,在必定程度緩解了數據稀疏性問題。spa

至此,兩個問題已經被解決了,下面看下ESMM如何學習,模型的損失函數以下:
\[ \begin{aligned}L\left(\theta_{c v r}, \theta_{c t r}\right) &=\sum_{i=1}^{N} l\left(y_{i}, f\left(x_{i} ; \theta_{c t r}\right)\right)+\sum_{i=1}^{N} l\left(y_{i} \& z_{i}, f\left(x_{i} ; \theta_{c t r}\right) \times f\left(x_{i} ; \theta_{c v r}\right)\right)\end{aligned} \]
第一項是CTR預估的損失,點擊label爲1不然爲0;第二項是CTCVR預估的損失,點擊且轉化的label爲1,不然爲0。設計

這裏還有一個問題,既然\(pCTCVR\)能夠由\(pCTR\)\(pCVR\)相乘獲得,那麼從理論上說,轉化爲除法也能夠,即
\[ p(z=1 | y=1, x)=\frac{p(y=1, z=1 | x)}{p(y=1 | x)} \]
這樣能夠分別訓練兩個模型,CTR和CVCTR,最終也能夠獲得CVR。論文對這種狀況作了實驗分析,發現實際上\(pCTR\)的值較小,會引發數值不穩定。

  • discussion
  1. 巧妙的引入了兩個輔助任務解決CVR預估,解決了樣本選擇偏置問題,共享參數能夠緩解數據稀疏
  2. 多任務學習在其餘領域已經有不少應用,但在推薦中,更應該結合具體的數據和任務設計。例如,在跨領域任務中,不一樣領域的環境樣本是不同的,但用戶信息可能有重複,那麼針對這種場景怎麼設計多任務學習,樣本信息的利用須要更多得考慮。

references:

[1] Xiao Ma, Liqin Zhao, Guan Huang, Zhi Wang, Zelin Hu, Xiaoqiang Zhu, and Kun Gai. 2018. Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate. SIGIR (2018).

[2] https://github.com/alibaba/x-deeplearning/wiki/%E5%85%A8%E7%A9%BA%E9%97%B4%E5%A4%9A%E4%BB%BB%E5%8A%A1%E6%A8%A1%E5%9E%8B(ESMM)

相關文章
相關標籤/搜索