摘要
在工業級應用排序系統像推薦和廣告中,準確地估計後驗轉化率(CVR)是非常重要的。傳統的CVR建模採用了流行的深度學習方法,並且取得了非常不錯的效果。但是在實際應用中遇到了一些特定任務問題,使得CVR建模充滿挑戰。例如,傳統的CVR模型利用點擊的曝光數據訓練,然後利用所有的曝光數據來推斷。這就會產生樣本選擇偏差問題(Sample Selection Bias),此外還存在一個嚴重的數據稀疏問題,使得模型擬合非常困難。在本文中,我們用一種新的視角利用用戶行爲序列模式來建模CVR,如曝光 -> 點擊 -> 轉化。提出的 Entire Space Multi-task Model(ESMM) 可以同時緩解這兩個問題通過 i) 直接對整個空間建模CVR, ii) 利用一個特徵表徵遷移學習策略。在Taobao推薦系統的流水log數據集上的實驗結果表明,ESMM明顯優於競爭方法。我們還發布了該數據集的採樣版本,以便將來進行研究。據我們所知,這是第一個公開的數據集,其中包含的樣本與點擊和轉換標籤順序相關的CVR建模。
1、簡介
轉化率預估在工業級應用的排序系統中是一項非常重要的任務,像在線廣告和推薦系統,例如在OCPC(optimized cost-per-click) 中預估CVR來調整每次點擊廣告的價格,讓平臺和廣告商達到共贏。同樣也是在推薦系統中平衡用戶點擊行爲和購買行爲的重要因子。
本文重點是關注CVR預估,以電商爲例,給定一些物品,用戶可能會對其感興趣的某幾個進行點擊,然後可能會選擇其中一個或多個繼續進行購買,也就是說,對於用戶來講,會有曝光->點擊->轉化,這樣一個行爲序列,CVR問題就是來估計後驗的點擊轉化。
一般來說,CVR問題可以用類似CTR預估的方法來解決,像深度模型。但是有一些特定任務的問題,使得CVR變得不太容易解決,主要就是sample selection bias(SSB) 樣本選擇偏差和data sparsity(DS) 數據稀疏問題。在實際場景中,用於訓練CVR模型的數據要遠少於CTR模型數據。當前也有不少方法提出來解決SSB和DS問題,有的也取得了不錯的效果,但是目前還沒有方法來探索行爲序列信息。
本文充分利用了用戶行爲序列,我們提出了一個新的方法叫 Entire Space Multi-task Model(ESMM),可以同時緩解SSB和DS問題,ESMM並不是直接預測pCVR,而是由兩個任務組成分別輸出pCTR和pCVR,利用一個輔助任務,將pCVR作爲中間變量輸出,真正預測的值是pCTCVR,其中pCTCVR = pCTR * pCVR,因爲pCTR和pCTCVR都是利用全空間曝光樣本來估計,因此pCVR也是由全空間樣本得到的,那麼SSB問題就緩解了。除此之外,CVR網絡的特徵表徵參數和CTR網絡是共享的,後者有更豐富的訓練樣本,這種參數遷移學習也緩解了DS問題。
2、提出方法
2.1 概念
假設觀測到的數據集可以表示爲 ,其中樣本從域 的一個分佈得到,其中 是特徵空間, 是label空間,是總的曝光數。 是觀測到的曝光向量,通常是一個多域的高維稀疏向量。 是二元標籤值, 或者 表示是否點擊或者轉化。 揭示了點擊事件和轉化的序列依賴性,也就是說轉化發生的時候一定有對應的點擊先發生。
後驗點擊CVR建模用來估計pCVR = ,同兩個概率值密切相關,pCTR = 和pCTCVR = ,
2.2 CVR建模與挑戰
現在主流的CVR模型基本都是深度網絡模型,embedding+MLP結構。如圖2左側模型所示,作爲我們的 base模型
常見的CVR模型是直接對後延轉移概率 建模,利用已經點擊的曝光數據來訓練,即 , 是所有點擊的曝光數據,顯然 是 的一個子集,在 中,有點擊但沒轉化的曝光數據作爲負樣本,有轉化的作爲正樣本,這樣就引發了下面兩個問題
Sample selection bias(SSB)
實際中,通常CVR模型會通過引入一個附屬的特徵空間 ,將 , 表示和 相關的一個有限制的空間,,存在一對 ,其中 , 是 的一個點擊標籤,此時, 是在整個有點擊的樣本集 中對整個空間 來訓練。而在預測階段則是在整個特徵空間 上來完成,這裏有一個假設條件,對任意的 ,其中 ,則,由於 只是 的一個子集,因此這個假設很可能不成立。如果沒有足夠的樣本, 和 兩個空間可能差異非常大。
Data sparsity(DS)
常用的CVR模型用 的點擊樣本來訓練,但是由於點擊數據的發生概率小,導致CVR的訓練數據非常稀疏,而CVR的訓練數據量級大約比CTR訓練數據要小1-3個數量級。
除了上面提到的兩個問題外還有像反饋的延遲性問題,但本文不重點關注這個。
2.3 Entire Sparsity Multi-Task Model
ESMM模型架構如上圖所示,靈感來源於多任務學習[1],充分利用了用戶行爲序列。模型引入了CTR和CTCVR兩個附屬任務並且同時緩解了前面提到的CVR建模的兩個問題。
整體來說,對於一個給定的曝光,ESMM模型會輸出pCTR,pCVR,pCTCVR三個值,可以看到,模型分兩部分組成,左右兩個都是base模型,結構完全相同,並且底部共享一部分特徵。
全空間建模
等式(1)可以轉換成等式(2) 這裏 和 可以通過曝光樣本計算得到。等式 (2) 可以看出,我們可以直接估計pCTR,pCTCVR,然後相除得到pCVR,它直接解決了樣本選擇偏差問題。看起來似乎可以分別訓練pCTR和pCTCVR模型來得到pCVR,但是pCVR是一個非常小的數值,直接這樣計算容易引起數值不穩定。ESMM通過乘法形式避免了這種情況,在ESMM中,pCVR只是一箇中間變量,由等式(1)約束,pCTR和pCTCVR是ESSM模型在整個空間估計的兩個主要因子,乘法形式使三個相關聯且受共同訓練的估計量能夠利用數據的順序模式並在訓練過程中相互交流信息。此外,這樣可以保證pCVR的值落在 [0,1] 內,而直接用除法可能到時結果大於1。
ESMM的損失函數定義如下,由pCTR和pCTCVR兩個任務的損失項組成,這些損失通過全部的曝光樣本計算得到,其中沒包含CVR任務。 其中 分別是CTR、CVR任務的參數, 是交叉熵損失函數,等式 (3) 將 分解爲兩個部分,,實際上,它利用了點擊和轉化標籤的順序依賴性。
特徵表徵轉化
正如前面 2.2 節介紹的,embedding layer 將大規模稀疏的輸入映射到一個低維表徵向量,它佔據了深度網絡多大部分參數,並且需要大量的樣本來訓練。在ESMM裏,CVR網絡的表徵字典和CTR網絡是共享的,它遵循特徵表示轉移學習範例。 對CTR任務的所有曝光數據進行訓練的樣本相對比CVR任務豐富得多。 此參數共享機制使ESMM中的CVR網絡能夠從未點擊的曝光中學習,併爲緩解數據稀疏性問題提供了很大的幫助。
3、實驗
base模型基本結構:i) ReLU激活函數,ii) embedding 向量維度是18,iii) MLP網絡是 360 200 80 2,iv) 使用adam 來求解,參數爲
參考資料:
[1] Zhou G., Song C., et al. 2017. Deep Interest Network for Click-Through Rate
Prediction. arXiv preprint arXiv:1706.06978 (2017).