美團到店廣告平臺算法團隊基於多年來在廣告領域上積累的經驗,一直在數據誤差等業界挑戰性問題不斷進行深刻優化與算法創新。在以前分享的《KDD Cup 2020 Debiasing比賽冠軍技術方案與廣告業務應用》一文[4]中,團隊分享了在KDD Cup比賽中取得冠軍的選擇性誤差以及流行度誤差的解決方案,同時也分享了在廣告業務上誤差優化的技術框架。本文基於這一技術框架進行繼續介紹,聚焦於位置誤差問題的最新進展,並詳細地介紹團隊在美團廣告取得顯著業務效果的位置誤差CTR模型優化方案,以該方案爲基礎造成的論文《Deep Position-wise Interaction Network for CTR Prediction》也被國際頂級會議SIGIR 2021錄用。
近些年來,因爲人工智能技術的高速發展,所帶來的公平性問題也愈發受到關注。一樣的,廣告技術也存在着許多公平性問題,因爲公平性問題形成的誤差對廣告系統的生態會產生較大的負面影響。圖1所示的是廣告系統中的反饋環路[1],廣告系統經過累積的用戶交互反饋數據基於必定的假設去訓練模型,模型對廣告進行預估排序展現給用戶,用戶基於可看到的廣告進行交互進而累積到數據中。在該環路中,位置誤差、流行度誤差等各類不一樣類型的誤差會在各環節中不斷累積,最終致使廣告系統的生態不斷惡化,造成「強者愈強、弱者愈弱」的馬太效應。html
因爲誤差對廣告系統和推薦系統的生態有着極大的影響,針對消除誤差的研究工做也在不斷增長。好比國際信息檢索會議SIGIR在2018年和2020年組織了一些關注於消除誤差主題的專門會議,同時也給一些基於誤差和公平性的論文頒發了最佳論文獎(Best Paper)[2,3]。KDD Cup 2020的其中一個賽道也基於電子商務推薦中的流行度誤差進行開展[1]。前端
美團到店廣告平臺算法團隊基於多年來在廣告領域上積累的經驗,一直在數據誤差等業界挑戰性問題不斷進行深刻優化與算法創新。在以前分享的《KDD Cup 2020 Debiasing比賽冠軍技術方案與廣告業務應用》一文[4]中,團隊分享了在KDD Cup比賽中取得冠軍的選擇性誤差以及流行度誤差的解決方案,同時也分享了在廣告業務上誤差優化的技術框架。算法
本文基於這一技術框架進行繼續介紹,聚焦於位置誤差問題的最新進展,並詳細地介紹團隊在美團廣告取得顯著業務效果的位置誤差CTR模型優化方案,以該方案爲基礎造成的論文《Deep Position-wise Interaction Network for CTR Prediction》也被國際頂級會議SIGIR 2021錄用。後端
美團到店廣告平臺算法團隊基於美團和點評雙側的廣告業務場景,不斷進行廣告前沿技術的深刻優化與算法創新。在大多數廣告業務場景下,廣告系統被分爲四個模塊,分別是觸發策略、創意優選、質量預估以及機制設計,這些模塊構成一個廣告投放漏斗從海量廣告中過濾以及精選出優質廣告投放給目標用戶。其中,觸發策略從海量廣告中挑選出知足用戶意圖的候選廣告集合,創意優選負責候選廣告的圖片和文本生成,質量預估結合創意優選的結果對每個候選廣告進行質量預估,包括點擊率(CTR)預估、轉化率(CVR)預估等,機制排序結合廣告質量以及廣告出價進行優化排序。在本文中,咱們也將廣告稱之爲item。安全
CTR預估,做爲質量預估的一個環節,是計算廣告中最核心的算法之一。在每次點擊付費(CPC)計費模式下,機制設計能夠簡單地按每千次展現收入(eCPM)來對廣告進行排序以取得廣告收入最大化。因爲eCPM正比於CTR和廣告出價(bid)的乘積。所以,CTR預估會直接影響到廣告的最終收入和用戶體驗。爲了有更高的CTR預估精度,CTR預估從早期的LR[5]、FM[6]、FFM[7]等支持大規模稀疏特徵的模型,到XGBoost[8]、LightGBM[9]等樹模型的結合,再到Wide&Deep[10]、Deep&Cross[11]、DeepFM[12]、xDeepFM[13]等支持高階特徵交叉的深度學習模型,進一步演化到DIN[14]、DIEN[15]、DSIN[16]等結合用戶行爲序列的深度學習模型,一直做爲工業界以及學術界研究的熱點領域之一,被不斷探索和不斷創新。網絡
因爲CTR預估模型的訓練一般採用曝光點擊數據,該數據是一種隱式反饋數據,因此會不可避免地產生各類誤差問題。其中,位置誤差因對CTR影響極大而備受關注。如圖2所示,隨機流量上不一樣位置的CTR分佈反應了用戶一般傾向於點擊靠前位置的廣告,而且CTR會隨着曝光位置的增大而迅速降低。所以,直接在曝光點擊數據上進行訓練,模型不可避免地會偏向於靠前位置的廣告集合,形成位置誤差問題。圖2顯示正常流量相比隨機流量CTR分佈更加集中在高位置廣告上,經過反饋環路,這一問題將不斷地放大,而且進一步損害模型的性能。所以,解決好位置誤差問題不只可以提高廣告系統的效果,並且還能平衡廣告系統的生態,促進系統的公平性。session
廣告最終的真實曝光位置信息在線上預估時是未知的,這無疑進一步增大了位置誤差問題的解決難度。現有的解決位置誤差的方法能夠大體分爲如下兩種:框架
上述的方法一般基於一個較強的假設,即點擊伯努利變量$C$依賴於兩個潛在的伯努利變量E和$R$,以下式所示:運維
其中,等式左邊指的是用戶$u$在上下文$c$中點擊第$k$個廣告$i$的機率,咱們定義上下文$c$爲實時的請求信息。等式右邊第一項指的是位置$k$被查看的機率,其中$[s]$一般爲上下文$c$的一個子集,大部分方法假設$[s]$爲空集,即位置$k$被查看的機率僅與$k$有關。等式右邊第二項指的是相關性機率(例如用戶$u$在上下文$c$中對廣告$i$的的真實興趣)。上述方法一般顯式或隱式地估計查看機率,而後利用反事實推理(Counterfactual Inference)得出相關性機率,最終在線上將相關性機率做爲CTR的預估值。訓練和預估之間位置信息的不一樣處理將不可避免地致使線下線上間的不一致問題,進一步致使次優的模型性能。ide
此外,已有方法一般假設查看機率僅依賴於位置及部分上下文信息,其假設過於簡單。不一樣的用戶一般具備不一樣的瀏覽習慣,有些用戶可能傾向於瀏覽更多item,而有些用戶一般能快速作出決定,而且同一個用戶在不一樣的上下文中搜索意圖中也會有不一樣的位置偏好,例如商場等地點詞的搜索每每意圖不明確致使高低位置的CTR差別並不大。故而,位置誤差與用戶,上下文有關,甚至可能與廣告自己也有關,建模它們間的關係能更好地解決位置誤差問題。
不一樣於上述的方法,本文提出了一個基於深度位置交叉網絡(Deep Position-wise Interaction Network)(DPIN)模型的多位置預估方法去有效地直接建模$ CTR_k^j=p(C=1|u,c,i,k) $
來提升模型性能,其中$ CTR_k^j $是第$j$個廣告在第$k$個位置的CTR預估值。該模型有效地組合了全部候選廣告和位置,以預估每一個廣告在每一個位置的CTR,實現線下線上的一致性,並在在線服務性能限制的狀況下支持位置、用戶、上下文和廣告之間的深度非線性交叉。廣告的最終序能夠經過最大化$\sum CTR_k^jbid^j $來肯定,其中$bid^j$爲廣告的出價,本文在線上機制採用一個位置自頂向下的貪婪算法去獲得廣告的最終序。本文的貢獻以下:
本節主要介紹深度位置交叉網絡(Deep Position-wise Interaction Network)(DPIN)模型。如圖4所示,DPIN模型由三個模塊組成,分別是處理$J$個候選廣告的基礎模塊(Base Module),處理$K$個候選位置的深度位置交叉模塊(Deep Position-wise Interaction Module)以及組合$J$個廣告和$K$個位置的位置組合模塊(Position-wise Combination Module),不一樣模塊需預估的樣本數量不同,複雜模塊預估的樣本數量少,簡單模塊預估的樣本數量多,由此來提升模型性能和保障服務性能。經過這三個模塊的組合,DPIN模型有能力在服務性能的限制下預估每一個廣告在每一個位置上的CTR,並學習位置信息和其餘信息的深度非線性交叉表示。下文將會詳細地介紹這三個模塊。
與大多數深度學習CTR模型[10-16]相似,本文采用Embedding和MLP(多層感知機)的結構做爲基礎模塊。 對於一個特定請求請求,基礎模塊將用戶、上下文和$J$個候選廣告做爲輸入,將每一個特徵經過Embedding進行表示,拼接Embedding表示輸入多層MLP,採用ReLU做爲激活函數,最終能夠獲得每一個廣告在該請求下的表示。第$j$個廣告的表示$r_j^{item}$能夠經過以下公式獲得:
其中$\{u_1,...,u_m\}$,$\{c_1,...,c_m\}$,$\{i_1^j,...,i_o^j\}$分別是當前用戶特徵集合、當前上下文特徵集合以及第$j$個廣告的特徵集合,$E(\cdot)\in \mathbb{R} $是Embedding映射。
在大多數業務場景中,基礎模塊一般已經被高度優化,包含了大量特徵甚至用戶序列等信息,其目的是捕捉用戶在該上下文中對不一樣廣告的興趣。所以,基礎模塊的推理時間複雜度一般較大,直接在基礎模塊中加入位置特徵對全部廣告在全部位置上進行CTR預估是不可接受的。所以,本文提出了一個與基礎模塊並行的深度位置交叉模塊,不一樣於針對廣告進行興趣建模的基礎模塊,該模塊針對於位置進行興趣建模,學習每一個位置與上下文及用戶興趣的深度非線性交叉表示。
在深度位置交叉模塊中,咱們提取用戶在每一個位置的行爲序列,將其用於各位置上的用戶興趣聚合,這樣能夠消除整個用戶行爲序列上的位置誤差。接着,咱們採用一層非線性全鏈接層來學習位置、上下文與用戶興趣非線性交叉表示。最後,爲了聚合用戶在不一樣位置上的序列信息來保證信息不被丟失,咱們採用了Transformer[30]來使得不一樣位置上的行爲序列表示能夠進行交互。
位置興趣聚合(Position-wise Interest Aggregation)。 咱們令$B_k=\{b_1^k,b_2^k,...,b_L^k \}$爲用戶在第$k$個位置的歷史行爲序列,其中$b_l^k=[v_l^k, c_l^k]$爲用戶在第$k$個位置上的歷史第$l$個行爲記錄,$v_l$爲點擊的item特徵集合,$c_l^k$爲發生該行爲時的上下文(包括搜索關鍵詞、請求地理位置、一週中的第幾天、一天中的第幾個小時等),行爲記錄的Embedding表示$\mathbf{b_l^k}$能夠經過下式獲得:
其中$\{v_1^{k_l},v_o^{k_l}\}$,$\{c_1^{k_l},c_n^{k_l}\}$分別爲$v_l^k$和$c_l^k$的特徵集合,$dif^{kl}$爲該行爲與當前上下文的時間差。
第$k$個位置行爲序列的聚合表示$\mathbf{b_k}$能夠經過注意力機制獲取,如如下公式所示:
其引入當前上下文$\mathbf{c}$去計算注意力權重,對於與上下文越相關的行爲能夠給予越多的權重。
位置非線性交叉(Position-wise Non-linear Interaction): 咱們採用一層非線性全鏈接層來學習位置、上下文與用戶興趣非線性交叉表示,以下式所示:
其中,$\mathbf{W_v},\mathbf{b_v},$將拼接的向量映射到$d_{model}$維度。
Transformer Block: 若是將$V_k$直接做爲第$k$個位置的非線性交叉表示,那麼會丟失用戶在其餘位置上的行爲序列信息。所以,咱們採用Transformer去學習不一樣位置興趣的交互。令$\mathbf{Q}=\mathbf{K}=\mathbf{V}=Concat(\mathbf{v_1},\mathbf{v_2},...,\mathbf{v_K})$爲Transformer的輸入,Tranformer的多頭自注意力結構能夠由如下公式表示:
其中,$d_k=d_{model}/h$是每一個頭的維度。由於$\mathbf{v_k}$中已經包含位置信息,故而咱們不須要Transformer中的位置編碼。一樣的,咱們也沿用Transformer中的前饋網絡(Position-wise Feed-forward Network)、殘差鏈接(Residual Connections)以及層標準化(Layer Normalization)。N個Transformer Block會被使用去加深網絡。
最終,深度位置交叉模塊會產出每一個位置的深度非線性交叉表示,其中第$k$個位置被表示爲$r_k^{pos}$。
位置組合模塊的目的是去組合$J$個廣告和$K$個位置來預估每一個廣告在每一個位置上的CTR,咱們採用一層非線性全鏈接層來學習廣告、位置、上下文和用戶的非線性表示,第$j$個廣告在第$k$個位置上的CTR能夠由以下公式得出:
其中包括了一層非線性鏈接層和一層輸出層,是$E(k)$位置k的embedding表示,$\sigma(\cdot)$是sigmoid函數。
整個模型可使用真實位置經過批量梯度降低法進行訓練學習,咱們採用交叉熵做爲咱們的損失函數。
在本節中,咱們評估DPIN的模型性能和服務性能,咱們將詳細描述實驗設置和實驗結果。
數據集: 咱們使用美團搜索關鍵詞廣告數據集訓練和評估咱們的CTR模型。訓練數據量達到數億,測試數據量大約一千萬。測試集被劃分爲兩個部分,一部分是線上收集的常規流量日誌,另外一部分是線上Top-k隨機的探索流量日誌。Top-k隨機的探索流量日誌是更適合用來評估位置誤差問題,由於它大大削弱了相關性推薦對位置誤差的影響。
評估指標: 咱們使用AUC(Area Under ROC)做爲咱們的評估指標之一。爲了更好的針對位置誤差問題進行評估,咱們提出PAUC (Position-wise AUC)做爲咱們的另外一個評估指標,其由如下公式計算:
其中,$\#impression_k$是第$k$個位置的曝光數量,$PAUC@k$是第$k$個位置曝光數據的AUC。PAUC指標衡量每一個位置上相關性排序的質量,忽略了位置誤差對排序質量的影響。
對比的方法。 爲了公平且充分地對比不一樣模型的效果,咱們全部實驗中所使用的模型輸入使用等量且深度結合美團業務的特徵,不一樣模型中的相同模塊都使用一致的參數,而且對比的基線DIN[14]模型通過高度優化,如下爲咱們具體進行對比的實驗:
表1展現了咱們所進行的對比方法在常規流量和隨機流量上的離線實驗評估結果,其中的數值爲各個模型相對於DIN模型的效果差別,咱們首先分析在常規流量上不一樣方法的差別。與DIN相比,DIN+PosInWide和DIN+PAL的模型在AUC指標上有所降低,但在PAUC上有所提高,這代表了這兩種方法均可以有效地緩解位置誤差,但會致使離線和在線之間的不一致。
DIN+AcutalPosInWide經過在評估過程當中引入實際位置來解決不一致問題,這能夠經過位置組合模塊來實現,可是在wide部分建模位置會致使位置特徵只是一個誤差,不能提高PAUC指標,雖然能更準確地預估各位置上的CTR,但沒有對數據中固有的位置誤差進行更好的學習。
DIN+Combination經過在DIN中引入位置組合模塊,咱們取得了1.52%的AUC增益和0.82%的PAUC增益,達到線下線上一致性的同時也進一步地緩解了位置誤差,這個結果說明了位置誤差與上下文、用戶等信息不獨立,在不一樣的用戶及上下文中會有不一樣的位置誤差。更進一步的,DPIN建模位置、上下文、用戶的深度非線性交叉關係,也消除了用戶行爲序列中存在的位置誤差,對比DIN+Combination取得了0.24%的AUC增益以及0.44%的PAUC增益。
DPIN-Transformer的效果說明了丟失其餘位置的用戶興趣會影響模型的性能,由於這將損失大部分用戶興趣信息。對比DPIN和DPIN+ItemAction,咱們發現DPIN的模型性能接近於這個暴力方法,說明DPIN模型逼近了咱們方法的理論上界。最終,相較於咱們的線上基線模型DIN+PosInWide,DPIN取得了2.98%的AUC增益和1.07%的PAUC增益,這在咱們的業務場景中是一次極大的AUC和PAUC提高。
爲了確保咱們的方法可以學習位置誤差而不是單純地過分擬合系統的選擇性誤差,咱們進一步在隨機流量上評估咱們的方法。表1的結果代表了在常規流量和隨機流量上不一樣方法之間的差別是一致的,這說明了就算系統的推薦結果有了巨大的差別,該模型仍能有效地學習到在不一樣用戶及上下文中的位置誤差,模型學到的位置誤差受系統推薦列表的影響很小,這也說明咱們的模型能夠不受系統選擇性誤差的影響從而泛化到其餘推薦方法的流量上。
咱們從數據集中檢索出一些具備不一樣候選廣告數量的請求,以評估不一樣候選廣告數量下的服務性能。如圖5所示,因爲用戶序列操做的延遲在服務延遲中佔了很大比例,所以與DIN模型相比,位置組合模塊服務延遲能夠忽略不計。DPIN的服務延遲隨着廣告數量的增長而緩慢增長,這是由於相比較於DIN,DPIN將用戶序列從基礎模塊移動到深度位置交叉模塊,而深度位置交叉模塊的服務性能與廣告數量無關。與DIPIN+ItemAction方法相比,DPIN在服務性能方面有了很大的改進,對模型性能的損害很小,這代表咱們提出的方法既高效又有效。
咱們在線上部署了A/B測試,有穩定的結果代表,與基線相比,DPIN在CTR上提升了2.25%,在RPM(每千次展現收入)上提升了2.15%。現在,DPIN已在線部署並服務於主要流量,爲業務收入的顯着增加作出了貢獻。
在本文中,咱們提出了一種新穎的深度位置交叉網絡模型(Deep Position-wise Interaction Network)以緩解位置誤差問題,該模型有效地組合了全部候選廣告和位置以估算每一個廣告在每一個位置的點擊率,實現了離線和在線之間的一致性。該模型設計了位置、上下文和用戶之間的深層非線性交叉,能夠學習到不一樣用戶、不一樣上下文中的位置誤差。爲了評估位置偏向問題,咱們提出了一種新的評估指標PAUC,離線實驗代表,所提出的DPIN的效果和效率均優於已有方法。目前,DPIN已部署到美團搜索關鍵詞廣告系統並服務於主要流量。
值得一提的是,咱們的並行組合思想不只能夠用在廣告和位置的組合上,也能夠用在廣告和創意的組合等廣告領域常見的組合排序問題。在將來,咱們將在這些問題上繼續實踐咱們的方法,並進一步地設計更完善的網絡結構來解決相似的組合排序問題。咱們也將在誤差領域上進行更多的探索,解決更多的問題,進一步維護廣告系統的生態平衡。
堅強、胡可、慶濤、明健、漆毅、程佳、雷軍等,均來自美團廣告平臺技術部。
閱讀美團技術團隊更多技術文章合集
前端 | 算法 | 後端 | 數據 | 安全 | 運維 | iOS | Android | 測試
| 在公衆號菜單欄對話框回覆【2020年貨】、【2019年貨】、【2018年貨】、【2017年貨】等關鍵詞,可查看美團技術團隊歷年技術文章合集。
| 本文系美團技術團隊出品,著做權歸屬美團。歡迎出於分享和交流等非商業目的轉載或使用本文內容,敬請註明「內容轉載自美團技術團隊」。本文未經許可,不得進行商業性轉載或者使用。任何商用行爲,請發送郵件至tech@meituan.com申請受權。