論文:
論文題目:《PAL: A Position-bias Aware Learning Framework for CTR Prediction in Live Recommender Systems 》
論文地址:https://www.researchgate.net/publication/335771749_PAL_a_position-bias_aware_learning_framework_for_CTR_prediction_in_live_recommender_systems
我們在之前的文章中介紹過很多召回/排序算法,但是好像沒介紹過關(guān)于推薦系統(tǒng)里面的bias的論文萧芙,最近對bias比較感興趣纵刘,我們就來先看看華為這篇關(guān)于如何通過聯(lián)合訓練的方式來消除position bias的論文吧。
一 秧饮、背景
在推薦/廣告領域于宙,用戶點擊一個item與否是很受位置因素的影響的摩梧,也就是說,如果把一個用戶不怎么感興趣的item放在靠前的位置卖漫,這個用戶是有很大的概率去點擊這個item的费尽,當然也會出現(xiàn)另一種情況,如果用戶非常感興趣的item被放在了稍微靠后的位置羊始,用戶也有一定的概率不去點擊旱幼。
在廣告領域,一般是用ctr*bid來進行排序的突委,BID基于廣告主的出價柏卤,一般來說是平臺不能控制的(除了一些智能競價或者ocpc),所以CTR預估顯得至關(guān)重要匀油。
我們來先看一下下面的這個圖:
我們從上面這兩張圖可以看出來缘缚,position越小的item被點擊的概率越大,跟我們在前面的說法是一樣的敌蚜,也就是說我們在考慮ctr預估的時候就應該把position考慮進去桥滨。
這就引入了position bias的問題,我們知道在模型進行線上推導的時候是不知道position信息的,但是我們在離線訓練模型的時候又可以獲取到這個信息齐媒,怎么來解決這個問題呢蒲每?
一種方法是,把position當作特征喻括,離線訓練模型的時候把這個特征也加進去訓練邀杏,然后在線上推斷的時候,設置一個固定的值双妨,這樣的做法最簡單淮阐,但是只能得到次優(yōu)解叮阅。
還有一種方式是這樣刁品,把position特征單獨做一個子模型,其他特征做一個主ctr預估模型浩姥,在離線的時候還是使用所有的特征挑随,線上推斷的時候把position子模型關(guān)掉,只用另一部分勒叠。
第二種方式中兜挨,有很多將position模型和ctr預估模型結(jié)合的方式,我們今天來講講華為在PAL中是怎么做的吧眯分。
二拌汇、模型
2.1 模型的輸入
模型的輸入有只有兩部分信息,一個是x弊决,這是一些user profile噪舀,item 特征,還有一些上下文特征飘诗,另一個是pos与倡,這是位置信息特征。
2.2 處理pos信息的方法
處理pos信息大致上有兩類方法昆稿,我們在前面也講過來纺座,第一種是作為特征,第一種是構(gòu)建一個子模型溉潭,我們來簡單介紹一下這兩種模型吧净响。
2.2.1 作為特征
如上圖所示,我們把pos當作特征喳瓣,離線訓練的時候使用[x,pos]->y 去訓練别惦,但是由于線上infer的時候缺失pos信息,這時候我們有兩種方式來解決夫椭。
1.我們遍歷所有的pos掸掸,比如從1->10,然后計算出所有位置的ctr,比如扰付,我們先固定pos的位置為1堤撵,然后計算所有廣告的ctr,把最高的放在1的位置上羽莺,然后在計算2实昨,3,4..的所有位置盐固。這種方法比較耗費時間荒给,復雜度很大,所以一般不采用這種方法刁卜。
2.就像我們之前所說的志电,采用一個固定的pos,對所有的廣告都一視同仁蛔趴,這種是最簡單的方法挑辆,但是比如前一種方法來的次優(yōu),而且一般這個固定的位置是通過a/b來決定孝情,而且泛化性較差鱼蝉。
2.2.2 作為模塊
PAL論文做了一個假設,廣告從曝光到被點擊箫荡,有兩個階段魁亦,第一個是廣告被看到的概率,第二個是看到后被點擊的概率:
也就是說羔挡,廣告首先要曝光洁奈,然后再被點擊,這兩個概率我們做了獨立性假設婉弹,可以聯(lián)想一下esmm睬魂,跟里面的假設是有點像的,回到PAL中镀赌,這個假設可以進一步的理解:
首先氯哮,用戶是否看到廣告只跟廣告的位置有關(guān)系;然后商佛,用戶看到廣告后喉钢,是否點擊廣告與廣告的位置無關(guān)。這時候公式改寫為:
看到這個公式后良姆,聰明的你已經(jīng)想到怎么做了肠虽,如果說曝光后的ctr預估跟位置沒關(guān)系了,那么我們就可以在訓練的時候使用pos信息來聯(lián)合訓練玛追,然后在infer的時候只需要使用后面那個概率就可以了税课,因為這個概率的計算不涉及到pos闲延,所以可以直接來作為ctr預估。
PAL的框架:
可以看到這兩個p是聯(lián)合訓練的韩玩,如果分開訓練垒玲,雖然這兩個任務可以各自取得最優(yōu)解,但是會損失一些共有的信息找颓,導致次優(yōu)解合愈。
如果是聯(lián)合訓練的話,就可以解決這個問題击狮。
PAL使用的損失函數(shù)為:
線上infer的時候佛析,只使用右半部分的模型計算的概率作為ctr就可以來。
三 彪蓬、實驗結(jié)果
base跟PAL的離線結(jié)果對比如上寸莫,base采用1-10的位置來對比。
下面的是在線的效果對比寞焙。
總結(jié)下储狭,這是一篇建模思路非常清晰的論文互婿,總體的結(jié)構(gòu)不是很復雜捣郊,從另一種角度來建模這個問題。但是我有一個疑惑的地方在于慈参,該使用x中的那些特征連同pos去預估第一個概率呢呛牲,也就是說我們在預測廣告是否被看到是跟x本身的那些特征是相關(guān)的?左邊這個模型需要輕量化嘛驮配?希望可以討論下娘扩。