一文总结排序模型CTR点击率预估
?CTR點擊率預估系列家譜
煉丹之前,先放一張CTR預估系列的家譜,讓脈絡更加清晰。
(一)FiBiNET:結合特征重要性和雙線性特征交互進行CTR預估
1.1 背景
本文發表在RecSys 2019,主要通過動態學習不同特征的特征重要性權重,解決CTR預估中對不同場景下不同特征的權重(ReWeight)重定義問題,同時,雙線性的使用解決稀疏數據在特征交叉建模時的有效性問題。
1.2 創新
由模型結構圖我們可以發現,本文核心結構主要有兩個,Embedding Layer中的SENET Layer和Bilinear-Interaction Layer。(1)其中 SENET Layer又包含3個步驟,分別是
- 對每個Field用Max Pool或者Mean Pool 操作的Squeeze Step;
- 對每個Field用兩層FC層計算特征重要性權重的Excitation;
- 對原始每個Field利用Excitation得到的特征重要性權重重新賦權的ReWeight。
(2)而 Bilinear-Interaction Layer 層提出一種結合Inner Product和Hadamard Product方式,并引入額外參數矩陣W,學習特征交叉。主要通過3種方式得到交叉向量,分別是
- 1)Field-All Type:所有特征組交叉時共享額外參數矩陣W;
- 2)Field-Each Type:每個特征組Field-i 維護一個參數矩陣W-i;
- 3)Filed-Interaction Type:每對交互特征P(i,j)都有一個參數矩陣W(i,j)。最后,Bilinear-Interaction Layer 將原始的特征Embedding向量 和 SENET層輸出的Embedding向量分別得到交叉向量p和q。
1.3 效果
(二)DSIN:利用用戶時序行為中興趣變化進行CTR預估
2.0 前言
在讀本文之前,我們需要先搞清楚兩個概念,Sequence和Sessions。基于用戶行為Behavior Sequence進行興趣特征挖掘的方式目前被用于絕大數的CTR任務中。Sequence和Sessions的相同點在于它們都是由Behaviors組成的,但不同的是Sessions是根據一定的規則將用戶的歷史點擊行為Behavior 進行劃分得到的,也就是說,通過用戶的點擊時間對Sequence進行劃分后,可以得到多個Sessions。
2.1 背景
本文發表在IJCAI 2019,主要通過將用戶的歷史點擊行為劃分為不同session,然后利用Transformer對每個Session進行學習得到興趣向量后,使用BiLSTM學習用戶在多個Session之間的興趣變化,從而更好地完成CTR預估。
2.2 創新
由模型結構圖我們可以發現,本文核心結構主要有4個。
1)Session Division Layer完成對用戶歷史點擊行為的劃分,以30分鐘為劃分依據,得到多個Sessions;
2)Session Interest Extractor Layer使用Bias Encoding 方式表征不同Session間的順序,同時考慮到用戶興趣可能來自不同因素,利用 multi-head self-attention對每個session 建模得到興趣向量表征;
3)Session Interest Interacting Layer在得到用戶的興趣向量表征之后,利用Bi-LSTM學習不同Session之間的由順序帶來的興趣變化;
4)Session Interest Activating Layer利用注意力機制學習不同Session和Item之間的相關性,混合上下文信息的興趣信息之后,對距離Item較近的Session賦予更大的權重。
2.3 效果
(三)DIEN:深度興趣進化網絡:
3.0 前言
DIEN在筆者實際應用中,并未復現出原文的效果。這其中的原因可能很多,我想很多讀過該論文的讀者在進行復現,也可能遇到過類似的問題。但從學習的角度,不影響我們去對論文中一些創新點去進行學習和思考。
3.1 背景
在推薦場景下,用戶的興趣會隨著時間(如季節等)和空間(如不同場景等)的變化而發生變化,只通過用戶歷史數據中的興趣因素,而不關注興趣的變化,使得現有的一些模型無法很好的在CTR預估任務中對用戶興趣的變化進行刻畫捕捉。DIEN利用雙層GRU對用戶興趣序列進行刻畫捕捉。
3.2 創新
由模型結構圖我們可以發現,本文核心結構主要有3個。
(1)Behavior Layer將用戶瀏覽過的商品按照瀏覽時間轉換成對應的embedding。
(2)Interest Extractor Layer興趣抽取層利用GRU提取用戶興趣特征。具體地,作者加入了一個二分類模型來計算興趣抽取的準確性,選取下一個行為作為正樣本,也從未點擊的樣本中選取一個作為負樣本,別與抽取出的興趣表征結合輸入到設計的輔助網絡中,得到預測結果,并通過logloss計算輔助網絡的損失。
(3)Interest Evolution Layer興趣演化層,利用Attention(局部激活能力)配合 GRU(序列學習能力)的形式,,從時序特征中構建與目標Item相關的興趣演化特征。
3.3 效果
(四)DIN:深度興趣網絡
4.0 前言
DIN(Deep Interest Network)模型在介紹之前,需要對BaseModel(Embedding+MLP)具有一定了解才能更好的理解DIN模型的創新點和它能夠在實際生產環境有效的原因。
4.1 背景
在BaseModel中,不同維度的Embedding在最后進行拼接,這樣方法通過NN可以擬合高階非線性關系,但用戶的Embedding是不變的,這就很難獲取用戶多興趣的場景。
4.2 創新
(1)Attention機制使用。其實這點挺有歷史的巧合,因為DIN的提出并沒有借鑒已有的Attention概念,它的的出發點是看到消費者往往不是在看同一類東西,模型上如何建模用戶的多峰興趣。因為直接顯示構建多峰興趣有些麻煩,所以作者轉而用反向激活函數構建一個和預測Item有關的非參數化興趣表達。巧合的是,當DIN團隊構建好模型后發現這和NLP領域剛提出的Attention結構一樣,所以論文里就必須寫成Attention。作者認為問題的出發點和解題思路更重要,而不是簡化的看這是不是Attention。
(2)DICE激活函數的設計。由于ReLU和PReLU激活函數都是在0處進行變化,但并非所有輸入都會在0處變化,因此文章設計了Dice激活函數,根據每層的輸入來自適應的調整激活點的位置。
(3)GAUC的使用。相比于常用的AUC,在CTR預估場景中,不同的用戶之間存在著差異,這種差異可以理解為一個閑逛的購物者和一個要買小米手機的購物者間的差異。因為AUC表示的是正樣本排在負樣本前面的概率,所以不能很好地解決不同用戶點擊率分布的差異。文章提出GAUC作為線下評估指標,通過曝光點擊進行加權平均,較少用戶之間個性差異對模型造成的影響。
(4)Adaptive正則化方法。CTR預估場景下,構造的模型越復雜參數越多,越容易過擬合。實際場景中,存在著大量的長尾數據,這些數據的存在一方面在訓練過程中增加了復雜度,另一方面在結果上產生了過擬合。直接去掉這些長尾數據是一種簡單的處理方式,但也丟掉了很多信息。因此,DIN文章中給出了自適應正則化調整的方式,對高頻減小正則,對低頻增大正則。
4.3 效果
(五)xDeepFM:線性、顯式、隱式的組合拳
5.1 背景
使用CIN交叉網絡和DNN的雙路結構,同時以顯式和隱式的方式學習高階特征。
5.2 創新
(1)Linear、CIN與DNN的結構化組合。Linear部分從輸入數據中學習線性特征,交叉網絡CIN部分由交互(interaction)和壓縮(compression)兩步通過VectorWise角度學習高階交叉特征,同時共享Embedding輸入的方式讓模型更具有適應性;
(2)CIN。交叉網絡通過VectorWise學習高階特征之間的交互,特征交互部分在Embedding的每個維度上進行外積計算。特征壓縮部分借鑒了卷積和池化的方式。同時最后將多層CIN的輸出進行拼接。(3)DNN。通過BitWise隱式的學習高階特征。
5.3 效果
(六)DeepFM:將Wide&Deep模型的LR部門替換為FM
6.1 背景
解決在高緯度特征的情況下,人工特征工程的高成本和無法實現的問題。同時解決FM只能獲取二階特征,無法獲取高階特征的問題。解決傳統DNN在隱式交叉方式在高稀疏特征無法很好獲取表征的問題。
6.2 創新
(1)FM部分通過顯式向量和點積的方式學習二階交叉特征,配合DNN部分使模型對高階特征組合能夠更好的進行特征提取。
(2)Deep部分將原始稀疏特征表示映射為稠密表示,同時FM和DNN部分共享Embedding層特征表達。
6.3 效果
(七)AFM:FM串行結構加入Attention機制:
7.1 背景
串行結構,將FM的輸出作為后續神經網絡的輸入,利用FM解決稀疏特征問題及淺層交互特征,利用深度網絡解決深層交互特征的獲取。
7.2 創新
(1)和NFM一樣,文章使用Pair-wise Interaction層,同時在Sum Pooling之后接了一個FC層。該方法從思路上具有一定的創新性。但實際中應用卻存在一定的問題,較高的時間復雜度在實際復現中無法通過矩陣實現。
(2)Attention-based Pooling Layer關注不同的交叉特征和目標之間的關系,通過加權的方式處理不同特征對結果的貢獻度,同時利用MLP進一步處理訓練數據中未出現樣本的的評估問題,從而達到泛化模型的目的。
7.3 效果
(八)NFM:FM串行引入DNN并加入Bi-interaction Pooling操作
8.1 背景
在FM基礎上,串行加入DNN模型,并使用Bi-interaction Pooling操作對二階交叉特征進行處理,解決傳統FM作為線性模型表達有限的問題和對高階交叉特征學習不充分的問題。
8.2 創新
Bi-interaction Pooling操作作為NFM的核心,本質是Pooling操作。在實際場景中,我們發現直接對Embedding向量進行Concat拼接之后接MLP進行模型訓練在獲取二階交叉特征時的效果是一般的。Bi-interaction Layer與FM二階交叉相比,沒有引入額外的參數,將Embedding向量進行兩兩交叉相乘后對所有對應元素求和的方式,以線性復雜度具有良好的實際應用價值,同時在曾經的CTR競賽中一度成為王者模型。
8.3 效果
(九)FNN:使用FM參數進行Embedding初始化
9.1 背景
傳統的FM受限于計算復雜度,對特征只能進行二階交叉,對更高階的特征交叉卻無能為力,同時實踐證明,高階的特征交叉組合方式對CTR預估模型具有更好的效果,為了解決這個問題,引入DNN。其實FNN的思想比較簡單,從模型結構圖里我們就可以看出,主要是利用FM后直接接DNN網絡,利用FM參數初始化Embedding層。
9.2 創新
二段式訓練方式,使用FM層模型的參數初始化Embedding,替換隨機初始化方式,然后接DNN進行高階特征提取。但這種方式優點和缺點都比較明顯,優點是使用預訓練初始化的方式,降低了訓練的不穩定性。缺點是二階段訓練方式在應用中便利性不夠。
9.3 效果
(十)DCN:替換Wide&Deep模型的Wide部分為Cross
10.1 背景
通過對比Wide&Deep和DCN網絡的架構圖,不難發現后者是對前者Wide部分進行了替換,提出CrossNetwork替換Wide用于自動化特征交叉,從而無需人工特征工程。
10.2 效果
模型主要由Embedding and Stacking layer、Cross Network、Deep Network、Combination output layer 組成。但相較于其他模型,他的創新點主要在Cross Network 部分,它的設計理念是通過參數共享的方式減少向量壓縮變換時產生參數量過多的情況,從而減少模型的過擬合,增強模型的泛化能力。同時Cross Network的方式將模型復雜度降為層級線性增長,具有很好的應用價值。
10.3 效果
(十一)PNN:在Embedding MLP模式中設計加入Product Layer
11.1 背景
傳統Embedding+MLP的方式并不能很好對高階交叉特征進行獲取,同時FNN用FM初始化參數接DNN的方式也并不完美,針對這些缺點PNN進行了改進,并不只是關注高階交叉特征,通過設計Product層對特征進行交叉組合,改變原有對特征進行ADD的操作方式。
11.2 創新
Product Layer的設計,是本文的核心結構。Product層利用內積(Inner PNN)和外積(Outer PNN)兩種方式實現對特征的交叉組合。其中,IPNN本質上利用共享參數來減少參數量,采用一階矩陣分解來近似矩陣結果的同時犧牲了一定的精度,保證計算開銷控制在可接受的范圍內。OPNN,從公式層面,該方法的時間空間復雜度比IPNN更高,作者使用了Sum Pooling的方式來降低復雜度,但同時也造成了精度的嚴重損失。
11.3 效果
(十二)AutoInt:利用多頭注意力構造高階特征
12.1 背景
CTR預估領域面臨著諸多挑戰,輸入特征的稀疏高維問題,高階特征的計算復雜度問題等。本文將數值特征和類別特征映射到同一個低維空間,利用帶殘差連接的多頭注意力機制顯式的進行交叉特征獲取,提出了一種能夠自學習特征高階交叉的方法。
12.2 創新
Interacting Layer是本篇論文中最核心的創新點,借鑒了NLP問題中的Multi-head Self-Attention方法,利用Key-Value Attention,每個Attention Head對應三個轉換矩陣,Query、Key、Value。本文利用內積的方式計算每個特征與其他特征的相似度,然后通過計算softmax歸一化注意力分布后,加權得到新特征。以上步驟為一層Attention,作者簡單的拼接多個Attention head的輸出,引入標準的殘差連接作為最終輸出,構造更高階的組合特征。
12.3 效果
引用
- 1)FiBiNET:Combining Feature Importance and Bilinear feature Interaction for Click-Through Rate Prediction
- 2)Deep Session Interest Network for Click-Through Rate Prediction
- 3)AutoInt_Automatic Feature Interaction Learning via Self-Attentive Neural Networks
- 4)Deep Interest Evolution Network for Click-Through Rate Prediction
- 5)Deep Interest Network for Click-Through Rate Prediction
- 6)Product-based Neural Networks for User Response Prediction
- 7)Deep & Cross Network for Ad Click Predictions
- 8)Deep Learning over Multi-field Categorical Data_A Case Study on User Response Prediction
- 9)Attentional Factorization Machines - Learning the Weight of Feature Interactions via Attention Networks
- 10)DeepFM_A Factorization-Machine based Neural Network for CTR Prediction
- 11)Neural Factorization Machines for Sparse Predictive Analytics
- 12)xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems
作者:九羽
公眾號:煉丹筆記
http://weixin.qq.com/r/XSjP1zrEzGezrX60931P (二維碼自動識別)
煉丹筆記推薦算法煉丹筆記:電商搜索推薦業務詞匯表
推薦算法煉丹筆記:推薦系統采樣評估指標及線上線下一致性問題
推薦算法煉丹筆記:CTR點擊率預估系列入門手冊
2020年推薦系統工程師煉丹手冊
總結
以上是生活随笔為你收集整理的一文总结排序模型CTR点击率预估的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 霸榜各大CV任务榜单,Swin Tran
- 下一篇: ArcFace 同款商品识别的克星