一个模型能服务所有的点击率模型?
今天我們就來探討一篇論文《One Model to Serve All: Star Topology Adaptive Recommender for Multi-Domain CTR Prediction》,該論文稱一個模型能服務所有的點擊率模型。傳統的推薦系統,都是每個業務領域訓練一個模型服務該業務,然而,在大型商業平臺上,推薦系統需要對多個業務域進行點擊率(CTR)預測。
不同的業務域有重疊的用戶組和items,因此存在共性。因為特定用戶組可能有所不同,用戶行為可能會在特定的業務域內發生變化,所以不同的域也有較大的區別。區別導致不同領域有特定的數據分布,這使得單一的共享模型很難服務所有域。
針對這個問題,論文提出了星型拓撲自適應推薦器(STAR),該模型高效地學習并服務于所有領域。具體地說,STAR具有星拓撲結構,包含共享中心參數和特定域的參數。共享參數用于學習所有域的共性,特定域的參數捕獲域之間的區別,從而更精確預測。給定來自不同域的請求,STAR可以根據不同的域調整其參數。到目前為止,STAR一直是部署在阿里巴巴展示廣告系統中,獲得CTR平均提高8.0%,RPM平均提高6.0%。
如下圖所示,就是兩個業務領域,一個是首頁推薦,一個是猜你喜歡,都是為用戶推薦他可能購買的商品。首頁推薦在淘寶首頁的最上方,可以是商品、商店、品牌等。而猜你喜歡都是商品。除了直接混合訓練數據,直接粗暴的訓練一個共享參數的點擊率模型,另一個方案是每個業務領域訓練一個模型,這樣會有以下問題:
- 一些業務訓練數據不足
- 維護太多模型成本過高
所以該論文提出去學習一個高效的點擊率模型,可以同時處理上百個業務領域。模型的輸入是(x, y, p),x是各個領域共有的特征,如用戶行為序列,用戶畫像,商品特征,上下文特征等。y表示是否點擊,p表示業務領域的標識。因為數據來自不同p,所以模型要準確的捕捉不同領域直接的數據分布差。
說了這么多,大家可能有疑惑,這難道不是多任務問題?論文中也做了解釋,這和多任務是完全不同的,多域問題是解決不同域的同一個問題,比如預測不同域的點擊率。而多任務優化目標是多個的,比如同時優化點擊率和轉化率。現有的多任務學習框架都是共享底層,不同的任務用不同的輸出層,對于多域問題,并不能充分挖掘不同域之間的關系。所以STAR橫空出世了,如下圖所示,每個域都有自己特定參數,而且共享中心參數。
如上圖(右)所示,STAR由3個模塊組成:
- partitioned normalization (PN)
- star topology fully-connected neural network (star topology FCN)
- the auxiliary network
先采樣一個業務域p,然后采樣B個樣本,如下所示:
然后通過pooling和concat等操作,獲得B個固定長度的embeding。先后輸入到PN和FCN中,p直接映射成embedding,和FCN的輸出合并,作為最終的輸出,這樣既能捕捉不同域的共性和異性,也能顯示的捕捉域的特性。
PN:其實就是修改了batch normalization(BN),因為BN假定樣本都是來自同一分布的,但是由于我們這篇論文中的數據來自于不同的域,所以BN中的參數,在不同域中是不一樣的,所以修改如下:
STAR Topology FCN:
經過PN后我們得到z',然后就要輸入到星形(多個)全連接的前饋神經網絡中,有一個共享參數的前饋神經網絡,還有M個(域的個數)對應不同域的前饋神經網絡,最后FCN層定義如下:
Auxiliary Network:
如果只讓模型自己去學習不同域的差異是很困難的,如何顯示的把域的信息加入到模型中呢?所以提出了Auxiliary Network,即直接把p embedding,和其他特征的embedding進行concat,然后輸入到網絡中得到sa,FCN的輸出定義為sm,然后通過下式得到最終輸出,最后用log loss進行模型的學習。
對比各個域在各個模型(包含單任務,多任務模型)的效果,我們也發現STAR的表現均最優。
更多干貨,請關注微信公眾號:煉丹筆記https://mp.weixin.qq.com/s/heYKjH6aGZ0qOvwwY3_Dhg總結
以上是生活随笔為你收集整理的一个模型能服务所有的点击率模型?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CTR模型越来越深,如何让它变轻?
- 下一篇: 又一Attention函数诞生啦,带给你