多目標之ESMM

多目標之ESMM

多目標之ESMM

前言

前兩期我們介紹了Google提出的多目標最佳化模型,MMoE和SNR,有希望瞭解相關內容的,可以翻看之前的記錄,今天我們介紹一款由阿里巴巴提出的Entire Space Multi-Task Model(如下文未作詳細說明,均以ESMM簡稱)。這是一款針對電商場景的多目標模型,但是也可以衍生至其他個性化場景。

背景

在電商個性化中,傳統的CTR模型只是去關注使用者是否對所給出的商品進行點選,但是這樣的單模型其實是遠遠不夠的,我們更希望使用者在進行點選後,能進而進行下一步操作,即希望使用者此次點選儘可能是一個有效點選,也就是CVR。從上述的場景中,我們能看出這一連串的動作,其實是具有前後序列關係的,因此我們的模型也可以從這個角度去思考問題。

ESMM

以下是ESMM模型的架構圖,可以看出,模型分為兩個部分,分別用來預測CVR和CTR,然後在結果輸出時,合併輸入一個CTCVR的機率值(後面詳細介紹),那麼在兩部分的底層都是使用的相同的特徵(使用者特徵和item的特徵),並且在分類特徵中,兩部分使用的是“share embedding lookup”,這保證了兩側特徵輸入的一致性,而且筆者認為這也減少了模型引數個數,緊接著在上層進行了域級池化(這一步相當於之前筆者介紹的《使用TensorFlow做特徵選擇》,有需要的同學可以翻看之前記錄),然後再對池化結果進行連線,最終進入到MLP層進行結果輸出。

多目標之ESMM

那麼,我們該如何理解模型架構圖中的pCTCVR呢?其實作者認為

只有被點選了,之後的轉化的機率才能是有效的

。該如何理解這個意思呢?其實,我們可以把使用者的轉化行為單獨看成一個機率問題,那麼根據全機率公式,使用者的轉化率應為:

多目標之ESMM

單獨把兩個行為看作是一個獨立同分布的問題,這樣就構成了上述的公式。然後由上式做變換,得:

多目標之ESMM

從變換結果可以看出,透過對CTR和CTCVR的估計,CVR可以匯出全部的輸入空間,這也就可以直接解決樣本選擇偏差問題。

以下給出了ESMM模型的損失函式:

多目標之ESMM

其中θ_ctr和θ_cvr是CTR側和CVR側的網路,l是交叉熵函式,而在損失函式後半部分做了有效性點選的計算。

實驗

實驗資料來源於阿里天池演算法競賽:

透過實驗結果可以看出,ESMM在CVR和CTCVR的表現均好於其他模型。

多目標之ESMM

並且在不同的樣本取樣率下,ESMM模型均超越其他對照模型:

多目標之ESMM

總結

ESMM的提出是基於電商這個場景的,因此在原論文中想問題的方式都是電商思路,這就帶來了ESMM模型的場景應用的侷限性。雖然ESMM可以應用到其他的個性化領域,但是在多目標模型下,除了分類問題,其實還夾雜著迴歸問題,此時的ESMM就不能很好的進行拓展了,而反觀Google的模型的可拓展能力就得到了有效的保證。

再者,筆者認為,雖然說ESMM模型通篇考慮了點選在透過之後,但是按照常規想法,在透過率高的情況下,點選率也會比較高,二者其實有著比較緊密的內在聯絡,但是在ESMM只體現了單向聯絡,而並沒有體現相互的聯絡,這也是未來我們在設計多目標模型時可以嘗試的方法或想法。

如果你喜歡我的文章,歡迎關注我的微信公眾號【軟客圈】(ID:recoquan)

純手工打造,實屬不易,歡迎大家分享和轉發~

原創內容,轉載需註明出處,否則視為侵權並將被追訴!