
本文介紹的論文是:《Modeling and Simultaneously Removing Bias via Adversarial Neural Networks》
前面已經(jīng)有幾篇關于消除CTR預估中位置偏置信息的介紹,如華為的PAL、youtube的shallow tower、以及將位置信息作為輸入特征的方法。但對于樣本中可能存在的偏置信息,上述的方法都沒有解決,而本文提出的對抗學習框架,不僅解決了一般的位置偏置,還能夠消除樣本特征中的偏置信息,一起來學習一下吧。
1、背景
對于搜索廣告的排序,往往是基于對于廣告點擊率的預估以及廣告主的出價(bid)來決定的。但是用于訓練點擊率預估模型的樣本中,往往存在一定的偏置信息。
在訓練點擊率預估模型時,許多特征屬于統(tǒng)計特征,比如搜索關鍵詞和廣告的交叉點擊率。對于經(jīng)常展示的關鍵詞/廣告對來說,這類特征比較豐富且置信,但是對于不經(jīng)常展示或者從未展示過的關鍵詞/廣告對來說,這類信息非常稀疏且不置信,模型對這些關鍵詞/廣告的信息不能充分學習,很難將這些關鍵詞/廣告對的展示位置進行提前。
同時,當CTR模型進行更新時,所使用的數(shù)據(jù)往往是在線上應用前一版模型而收集到的。新的數(shù)據(jù)和模型更容易學到這些展示位置靠前的關鍵詞/廣告對的信息,這種情形文中稱為“Feedback Loop”,此時我們的訓練所使用的數(shù)據(jù),是存在一定偏置信息的。
這種偏置信息的存在,大都集中于位置偏置,即不同的展示位置對于CTR的影響不同,越靠前位置展示的廣告,點擊率會偏高。因此有必要在模型訓練的過程中消除這些信息。
關于位置偏置信息的消除,前面幾篇論文中已經(jīng)提到過幾種方法了,簡單回顧一下:
位置信息作為特征

華為PAL框架

Youtube Shallow-Tower

但上面幾種方法雖然在一定程度上解決了位置偏置信息,但是樣本中的偏置信息沒有解決,舉個簡單的例子,比如某用戶和某個品類的點擊率交叉特征,這個特征本身也是存在偏置的,有可能某種品類的展示位置靠前導致了用戶對于這種品類的商家點擊率特別高。
本文提出的對抗學習框架,不僅解決了一般的位置偏置信息,還能夠消除樣本特征中的偏置信息,一起來學習一下吧。
2、對抗學習框架
2.1 框架介紹
對抗學習(Adversarial Neural Network)的框架如下圖所示:

模型一共包含四個部分,BaseNet、Bypass Net、Prediction Net和Bias Net。
對于ByPass Net,輸入是該樣本對應位置的點擊率b,定義為P(y|Position = p) 。通過參數(shù)ΘBY得到輸出ZBY,這里類似于youtube的shallow tower,但輸入特征只有一個該位置的點擊率。
再看看另一側,輸入是特征X,輸入特征首先經(jīng)過Base Net,對應參數(shù)為ΘA,得到輸出ZA。
得到ZA之后,會經(jīng)過兩個Net,第一個是Bias Net,對應的參數(shù)為ΘB,該網(wǎng)絡的輸出為該樣本對應的位置預測點擊率,前面說了,由于Feedback Loop的存在,輸入特征中是存在一定的偏置信息,那么基于這些特征,是可以學習到一定的偏置信息的。
第二個是Prediction Net,對應的參數(shù)為ΘY,得到輸出ZY。
2.2 對抗訓練過程
接下來我們介紹下對抗訓練的過程,主要分為兩步。
首先看看對于Bias Net的訓練。這一步我們固定其他幾個網(wǎng)絡的參數(shù),只更新Bias Net的參數(shù)ΘB,對應的損失函數(shù)為:

這里我們期望Bias Net能對Base Net得到的輸出,能夠準確得到其中包含的偏置信息。
當Bias Net訓練一輪之后,保持ΘB不變,再訓練剩下的網(wǎng)絡參數(shù)ΘA、ΘY和ΘBY,此時的損失為:

可以看到,損失的第一部分是logloss:

第二部分是將此時Base Net所得到的輸出,輸入到參數(shù)固定的Bias Net中,所得到的預測值,和實際樣本的位置點擊率b的協(xié)方差的平方:

當二者完全不相關時,第二部分的損失是最小的。
好了,對抗學習的思路是如何體現(xiàn)的呢?這里簡單說下我的理解。Bias Net相當于GAN中的D,剩余三部分可以看作是G。我們期望Bias Net能夠準確識別輸入中的偏置信息,而通過剩余三部分的訓練,期望Base Net輸出的ZA能夠騙過Bias Net,如果無法騙過Bias Net,那么Bias Net得到的輸出和實際樣本的位置點擊率b的協(xié)方差的平方會比較大,導致整個G的損失增大。如果能夠騙過Bias Net,使Bias Net得到的輸出和實際樣本的位置點擊率b的協(xié)方差盡可能接近0,那么此時可以認為Base Net輸出的ZA中偏置信息基本被消除了。
基于上述介紹,整個對抗網(wǎng)絡的訓練過程如下:

2.3 線上應用
那么在線上應用時,只運用Base Net、Prediction Net和Bypass Net。而Bypass Net的輸入設置為位置1的位置點擊率。
3、實驗結果
有關實驗結果,論文中使用的是仿真實驗的方式,這里就不再細講,感興趣的同學可以看下原論文。