阿里ESMM模型解析:解決樣本偏差與數據稀疏的全空間建模!
阿里的Ma等人于2018年在論文《Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate》中提出了ESMM模型,用于建模電商推薦系統中點擊后轉化率的預估問題,同時有效緩解了樣本選擇偏差和數據稀疏問題。
本文將從ESMM模型提出的背景、問題建模、模型原理及損失函數涉及方面進行詳細的闡述。
1.ESMM模型背景
(1)在電商推薦系統中,用戶的行為一般遵循“曝光-點擊-轉化”的順序,ESSM主要用于建模點擊之后的轉化率(CVR)預估。
(2)傳統的CVR建模方法在實際應用中存在兩個關鍵問題:樣本選擇偏差和數據稀疏問題。
(a)樣本選擇偏差是指模型訓練和推理時的樣本空間存在數據分布上的差異性,即傳統CVR模型只在點擊樣本上訓練,但是在所有曝光樣本上進行推理,會損害訓練模型的泛化性能,如下圖所示。
(b)數據稀疏問題是指在實際應用中,用于訓練CVR模型的數據通常遠少于CTR任務。訓練數據的稀疏性使得CVR模型的擬合相當困難。
(3)ESSM模型的提出便是為了同時解決樣本選擇偏差和數據稀疏問題。
2.問題建模
3.ESSM模型原理
(1)ESMM的核心思想在于通過引入CTR和CTCVR兩個輔助任務,解決了CVR建模中的樣本選擇偏差和數據稀疏問題。
(2)ESMM主要由兩個子網絡組成:左邊的CVR網絡和右邊的CTR網絡,兩個子網絡具有相同的結構。
(3)ESMM中兩個子網絡的嵌入參數是共享的,即采用相同的輸入。ESMM以兩個子網絡輸出的乘積作為最終的輸出。
(4)全空間建模
(a)基于公式(1),可將CVR網絡的輸出表示為:
由于pCTCVR和pCTR是在所有曝光樣本上進行建模的,則PCVR可通過預估pCTCVR和pCTR,在整個輸入空間上直接推導得到,直接解決了樣本選擇偏差問題。
(b)雖然根據公式(2),可以分別訓練模型預估pCTCVR和pCTR,然后再將兩者相除得到pCVR。但是,實際中pCTR是一個很小的值,將其作為分母會導致數值不穩定。ESMM通過乘法形式避免了這一問題。
(c)在ESMM中,pCVR只是一個中間變量,其受公式(1)約束。pCTR和pCTCVR才是ESMM基于全空間樣本的主要預估對象。
(d)乘法形式使三個相關聯和共同訓練的估計量能夠利用數據之間的序列模式,并在訓練過程中進行信息的交流。
(e)此外,ESMM中的乘法形式能夠確保輸出的pCVR的值在[0,1]之內,而若直接使pCTCVR和pCTR相除可能使pCVR的值超過1。
(6)特征表征遷移:在ESMM中,CVR網絡的嵌入參數和CTR網絡的嵌入參數是共享的。其遵循特征表示遷移學習范式,因為CTR任務的基于所有曝光的訓練樣本相對于CVR任務要豐富得多,所以這種參數共享機制使得ESMM中的CVR網絡可以從未點擊的曝光樣本中學習,從而為緩解數據稀疏問題提供很大的幫助。
4.ESMM的損失函數
損失函數由來自于CTR和CTCVR任務的兩個損失項組成。這兩個損失項是在所有曝光樣本上計算的,不使用CVR任務的損失。具體可表示為:
- 和分別是CTR網絡和CVR網絡的參數。
- 表示交叉熵損失函數。
- 和分別是點擊和轉化的標簽。
- 是模型的預測函數。
- 在損失函數中,其將分解為兩部分:和,這實際上利用了點擊和轉化標簽間的順序依賴性。
本文轉載自???南夏的算法驛站???,作者:趙南夏
