阿里媽媽2018的ESMM(CVR預估)

阿里CVR預估模型之ESMM

和Multi-Task-Learning框架,和遷移學習,扯上關係,高大上了。

一、Motivation

不同於CTR預估問題,CVR預估面臨兩個關鍵問題:

  1. Sample Selection Bias (SSB) 轉化是在點擊之後才“有可能”發生的動作,傳統CVR模型通常以點擊數據爲訓練集,其中點擊未轉化爲負例,點擊並轉化爲正例。但是訓練好的模型實際使用時,則是對整個空間的樣本進行預估,而非只對點擊樣本進行預估。即是說,訓練數據與實際要預測的數據來自不同分佈,這個偏差對模型的泛化能力構成了很大挑戰。
  2. Data Sparsity (DS) 作爲CVR訓練數據的點擊樣本遠小於CTR預估訓練使用的曝光樣本。

一些策略可以緩解這兩個問題,例如從曝光集中對unclicked樣本抽樣做負例緩解SSB,對轉化樣本過採樣緩解DS等。但無論哪種方法,都沒有很elegant地從實質上解決上面任一個問題。

可以看到:點擊—>轉化,本身是兩個強相關的連續行爲,作者希望在模型結構中顯示考慮這種“行爲鏈關係”,從而可以在整個空間上進行訓練及預測。這涉及到CTR與CVR兩個任務,因此使用多任務學習(MTL)是一個自然的選擇,論文的關鍵亮點正在於“如何搭建”這個MTL。

二、Model

先來思考一個問題——“CVR預估到底要預估什麼”,論文雖未明確提及,但理解這個問題才能真正理解CVR預估困境的本質。想象一個場景,一個item,由於某些原因,例如在feeds中的展示頭圖很醜,它被某個user點擊的概率很低,但這個item內容本身完美符合這個user的偏好,若user點擊進去,那麼此item被user轉化的概率極高。CVR預估模型,預估的正是這個轉化概率,它與CTR沒有絕對的關係,很多人有一個先入爲主的認知,即若user對某item的點擊概率很低,則user對這個item的轉化概率也肯定低,這是不成立的。更準確的說,CVR預估模型的本質,不是預測“item被點擊,然後被轉化”的概率(CTCVR),而是“假設item被點擊,那麼它被轉化”的概率(CVR)。這就是不能直接使用全部樣本訓練CVR模型的原因,因爲咱們壓根不知道這個信息:那些unclicked的item,假設他們被user點擊了,它們是否會被轉化。如果直接使用0作爲它們的label,會很大程度上誤導CVR模型的學習。

認識到點擊(CTR)、轉化(CVR)、點擊然後轉化(CTCVR)是三個不同的任務後,我們再來看三者的關聯:

其中 z,y分別表示conversion和click。注意到,在全部樣本空間中,CTR對應的label爲click,而CTCVR對應的label爲click & conversion,這兩個任務是可以使用全部樣本的那爲啥不繞個彎,通過這學習兩個任務,再根據上式隱式地學習CVR任務呢?ESMM正是這麼做的,具體結構如下:

1)共享Embedding: CVR-task和CTR-task使用相同的特徵和特徵embedding,即兩者從Concatenate之後才學習各自部分獨享的參數;

2)隱式學習pCVR: 這裏pCVR(粉色節點)僅是網絡中的一個variable,沒有顯示的監督信號。

訓練數據,應該是使用了3.4M的click(對應y_{i})和18K的conversion(對應y_{i}&z_{i})

是不是也可以通過“除”的關係得到pCVR,即 pCVR = pCTCVR / pCTR ?例如分別訓練一個CTCVR和CTR模型,然後相除得到pCVR,其實也是可以的,但這有個明顯的缺點:真實場景預測出來的pCTR、pCTCVR值都比較小,“除”的方式容易造成數值上的不穩定。作者在實驗中對比了這種方法(DIVISION那組)。

三、Experiment

數據集 目前還沒用同時包含點擊、轉化信息的公開數據集,作者從淘寶日誌中抽取整理了一個數據集Product,並開源了從Product中隨機抽樣1%構造的數據集Public(約38G)。

實驗設置

  1. 對比方法:
    1. BASE——圖1左部所示的CVR結構,訓練集爲點擊集;
    2. AMAN——從unclicked樣本中隨機抽樣作爲負例加入點擊集合;     (比BASE效果還差)
    3. OVERSAMPLING——對點擊集中的正例(轉化樣本)過採樣;     (比BASE效果提升1.2%)
    4. UNBIAS——使用rejection sampling;                                             (比BASE效果提升0.6%)
    5. DIVISION——分別訓練CTR和CVCTR,相除得到pCVR;             (比BASE效果提升1.55%)
    6. ESMM-NS——ESMM結構中CVR與CTR部分不share embedding。(比BASE效果提升2.25%)
    7. ESMM                                                                                                (比BASE效果提升2.55%)
  2. 上述方法/策略都使用NN結構,relu激活函數,嵌入維度爲18,MLP結構爲360*200*80*2,adam優化器。
  3. 按時間分割,1/2數據訓練,其餘測試

衡量指標 在點擊樣本上,計算CVR任務的AUC;同時,單獨訓練一個和BASE一樣結構的CTR模型,除了ESMM類模型,其他對比方法均以pCTR*pCVR計算pCTCVR,在全部樣本上計算CTCVR任務的AUC。

實驗結果

四、Discussion

1. ESMM 根據用戶行爲序列,顯示引入CTR和CTCVR作爲輔助任務,“迂迴” 學習CVR,從而在完整樣本空間下進行模型的訓練和預測,解決了CVR預估中的2個難題。

2. 可以把 ESMM 看成一個新穎的 MTL 框架,其中子任務的網絡結構是可替換的,當中有很大的想象空間。至於這個框架的意義,這裏引用論文作者之一@朱小強的描述

據我所知這個工作在這個領域是最早的一批,但不唯一。今天很多團隊都吸收了MTL的思路來進行建模優化,不過大部分都集中在傳統的MTL體系,如研究怎麼對參數進行共享、多個Loss之間怎麼加權或者自動學習、哪些Task可以用來聯合學習等等。ESMM模型的特別之處在於我們額外關注了任務的Label域信息,通過展現>點擊>購買所構成的行爲鏈,巧妙地構建了multi-target概率連乘通路傳統MTL中多個task大都是隱式地共享信息、任務本身獨立建模,ESMM細膩地捕捉了契合領域問題的任務間顯式關係,從feature到label全面利用起來。這個角度對互聯網行爲建模是一個較有效的模式,後續我們還會有進一步工作。

 

評論裏有人argue爲什麼不直接用"pCTCVR*競價指標"做排序指導。

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