阿里之完整空間多任務模型ESMM介紹

論文地址:https://arxiv.org/abs/1804.07931

在正式開篇之前,我們先介紹一下幾個名詞:
impression:用戶觀察到曝光的產品
click:用戶對impression的點擊行爲
conversion:用戶點擊之後對物品的購買行爲
CTR:從impression到click的比例
CVR:從click到conversion的比例
CTCVR:從impression到conversion的比例
pCTR:p(click=1 | impression)
pCVR: p(conversion=1 | click=1,impression)
pCTCVR: p(conversion=1,click=1 |impression) = p(click=1 | impression) * p(conversion=1|click=1,impression)

1、背景

以電子商務平臺爲例,用戶的購買行爲一般遵循以下的順序決策模式:impression-click-conversion,即用戶先觀察到系統推薦的產品,然後會對自己感興趣的商品進行點擊,進而產生購買行爲。從點擊到購買的轉化我們稱爲post-click Conversion rate(以下簡稱CVR),CVR的預估在信息檢索、推薦系統、在線廣告投放等工業級應用中是至關重要的。

不過傳統的CVR預估問題存在着兩個主要的問題:樣本選擇偏差稀疏數據。我們來看下面的圖,我們把給用戶曝光過的產品看作是整個樣本空間X的話,用戶點擊過的產品僅是中間灰色的部分,我們定義爲Xc,而用戶購買過的產品僅是圖中黑色的部分。

樣本選擇偏差(sample selection bias,SSB):傳統的推薦系統僅用Xc中的樣本來訓練CVR預估模型,但訓練好的模型是在整個樣本空間X去做推斷的。由於點擊事件相對於曝光事件來說要少很多,因此只是樣本空間X的一個很小的子集,從Xc上提取的特徵相對於從X中提取的特徵而言是有偏的,甚至是很不相同。從而,按這種方法構建的訓練樣本集相當於是從一個與真實分佈不一致的分佈中採樣得到的,這一定程度上違背了機器學習中獨立同分布的假設。這種訓練樣本從整體樣本空間的一個較小子集中提取,而訓練得到的模型卻需要對整個樣本空間中的樣本做推斷預測的現象稱之爲樣本選擇偏差。樣本選擇偏差會傷害學到的模型的泛化性能。

數據稀疏(data sparsity,DS):推薦系統展現給用戶的商品數量要遠遠大於被用戶點擊的商品數量,同時有點擊行爲的用戶也僅僅只佔所有用戶的一小部分,因此有點擊行爲的樣本空間Xc相對於整個樣本空間X來說是很小的,通常來講,量級要少1~3個數量級。如下表所示,在淘寶公開的訓練數據集上,Xc只佔整個樣本空間X的4%。這就是所謂的訓練數據稀疏的問題,高度稀疏的訓練數據使得模型的學習變得相當困難。

爲了解決上面的兩個問題,阿里提出了完整空間多任務模型ESMM。下一章,我們將會來學習一下阿里是如何設計整個網絡的。

2、ESM

M模型

2.1 模型結構

阿里媽媽的算法同學提出的ESMM模型借鑑了多任務學習的思路,引入了兩個輔助的學習任務,分別用來擬合pCTR和pCTCVR,從而同時消除了上文提到的兩個挑戰。ESMM模型能夠充分利用用戶行爲的順序性模式,其模型架構下圖所示:

可以看到,ESMM模型由兩個子網絡組成,左邊的子網絡用來擬合pCVR,右邊的子網絡用來擬合pCTR,同時,兩個子網絡的輸出相乘之後可以得到pCTCVR。因此,該網絡結構共有三個子任務,分別用於輸出pCTR、pCVR和pCTCVR。

假設我們用x表示feature(即impression),y表示點擊,z表示轉化,那麼根據pCTCVR = pCTR * pCVR,可以得到:

將乘法轉化爲除法,我們可以得到pCVR的計算:

2.2 模型特點

ESMM模型共有以下兩個主要的特點:

在整個樣本空間中進行建模

由上面提到的等式可以看出,pCVR是可以通過pCTR和pCTCVR的預估推導出來的。因此,我們只需要關注pCTR和pCTCVR兩個任務即可。爲什麼是這兩個任務呢?其實就是爲了消除樣本選擇偏差嘛,因爲CVR是從click到conversion,而CTCVR是從impression到conversion,CTR是從impression到conversion,所以CTR和CTCVR都可以從整個樣本空間進行訓練,一定程度的消除了樣本選擇偏差。

我們可以將有點擊行爲的曝光事件作爲正樣本,沒有點擊行爲的曝光事件作爲負樣本,來做CTR預估的任務。將同時有點擊行爲和購買行爲的曝光事件作爲正樣本,其他作爲負樣本來訓練CTCVR的預估部分。

模型具體是怎麼做的呢?可以看到,用來訓練兩個任務的輸入x其實是相同的,但是label是不同的。CTR任務預估的是點擊y,CTCVR預估的是轉化z。因此,我們將(x,y)輸入到CTR任務中,得到CTR的預估值,將(x,z)輸入到CVR任務中,得到CVR的預估值,CTR和CVR的預估值相乘,便得到了CTCVR的預估值。因此,模型的損失函數可以定義爲:

其中,θctr和θcvr分別是CTR網絡和CVR網絡的參數,l(⋅)是交叉熵損失函數。

共享特徵表示

ESMM模型借鑑遷移學習的思路,在兩個子網絡的embedding層共享embedding向量(特徵表示)詞典。網絡的embedding層把大規模稀疏的輸入數據映射到低維的表示向量,該層的參數佔了整個網絡參數的絕大部分,需要大量的訓練樣本才能充分學習得到。由於CTR任務的訓練樣本量要大大超過CVR任務的訓練樣本量,ESMM模型中特徵表示共享的機制能夠使得CVR子任務也能夠從只有展現沒有點擊的樣本中學習,從而能夠極大地有利於緩解訓練數據稀疏性問題。

3、實驗效果

3.1 對比模型介紹

爲了驗證ESMM的效果,阿里團隊與如下的算法進行了對比:

方法 簡介
BASE ESMM模型中左邊的子神經網絡模型,只利用點擊樣本空間Xc
AMAN AMAN applies negative sampling strategy and best results are reported with sampling rate searched in {10%, 20%, 50%, 100%}
OVERSAMPLING OVERSAMPLINGcopies posi- tive examples to reduce di culty of training with sparse data, with sampling rate searched in {2, 3, 5, 10}.
UNBIAS UNBIAS follows to t the truly underlying distribution from observations via rejection sampling. pCTR is taken as the rejection probability.
DIVISION 先分別訓練出擬合CTR和CTCVR的模型,再拿CTCVR模型的預測結果除以CTR模型的預測結果得到對CVR模型的預估
ESMM-NS ESMM模型的基礎上去掉了特徵表示共享的機制
ESMM 本文提出的模型n

3.2 公開數據集實驗

下圖展示了在公開實驗數據集上模型的對比效果:

可以看到,ESMM模型相比於其他的模型,實驗效果顯著提升。

3.3 淘寶數據集實驗

下圖展示了ESMM模型在淘寶生產環境數據集上的測試效果對比:

可以看到,相對於BASE模型,ESMM模型在CVR任務中AUC指標提升了 2.18%,在CTCVR任務中AUC指標提升了2.32%。

4、總結

總結一下,ESMM模型利用用戶行爲序列數據在完整樣本空間建模,避免了傳統CVR模型經常遭遇的樣本選擇偏差和訓練數據稀疏的問題,取得了顯著的效果。另一方面,ESMM模型的貢獻在於其提出的利用學習CTR和CTCVR的輔助任務,迂迴地學習CVR的思路。ESMM模型中的BASE子網絡可以替換爲任意的學習模型,因此ESMM的框架可以非常容易地和其他學習模型集成,從而吸收其他學習模型的優勢,進一步提升學習效果,想象空間巨大。

參考文獻

1、https://arxiv.org/abs/1804.07931
2、http://xudongyang.coding.me/esmm/

作者:文哥的學習日記
鏈接:https://www.jianshu.com/p/35f00299c059 來源:簡書