常見深度學習點擊率預估模型
LR (Logistic Regression)
FM (Factorization Machines)
Rendle, S. (2010, December). Factorization machines. In 2010 IEEE International conference on data mining (pp. 995-1000). IEEE
是
的向量
維表示。
FM的原始表達式時間復雜度是。
對于二次項部分,
時間復雜度變為了.
Wide & Deep
Cheng, Heng-Tze, et al. "Wide & deep learning for recommender systems." Proceedings of the 1st workshop on deep learning for recommender systems. 2016.
wide部分是輸入特征的線性加權結果,是個數值;wide部分一般處理的是數值類特征(包括原始特征以及人工交叉之后的數值特征)。
dense部分最后一層輸出層不加激活函數,也是個數值;dense部分輸入是特征的embedding表示。
FNN (Factorization-machine supported Neural Networks)
Weinan Zhang, Tianming Du, and Jun Wang. Deep learning over multi-field categorical data - - A case study on user response prediction. In ECIR, 2016.
假設一共有個field,embedding維度為
。
FNN的最后幾層都是普通的輸出層與隱層,對于最后一個普通的隱層,
,
,
其中與
初始化來自FM,
也就是說,FNN是先用FM進行預訓練,得到每一個field的embedding向量表示以及一階參數
,用這些參數組成相應field新的向量表示,接入后續的DNN。
PNN (Product-based Neural Networks)
Yanru Qu, Han Cai, Kan Ren, Weinan Zhang, Yong Yu, Ying Wen, and Jun Wang. Product-
based neural networks for user response prediction. CoRR, abs/1611.00144, 2016.
PNN的輸出層與后面幾個隱層都是普通的DNN,主要貢獻在于有一個Product層。
輸入層對每一個field先做embedding,Product層由兩個信號構成,一個是線性信號,一個是二階信號
。最后一個隱層
可以表示為:
,
表示隱層
的輸入維度,
,
在論文里被定義為先計算element-wise product再求和,即兩個向量或者矩陣對應下標的乘積之和,是一個數值。
,
,
是field
的embedding表示。
,
是二階的特征交叉。
其實就是,先對每一個field做embedding,然后把embedding經element-wise product得到數值concat到一起;然后把像FM一樣,對embedding做兩兩交叉,把結果經element-wise product得到數值也concat到一起。
IPNN (Inper Product-based Neural Networks)
PNN的部分是field的embedding做兩兩交叉,根據向量交叉方式不同,PNN有兩個不同的形式IPNN與OPNN。
IPNN指向量交叉采用內積形式,
OPNN (Outer Product-based Neural Networks)
OPNN指向量交叉采用外積形式,
DeepFM
H. Guo, R. Tang, Y. Ye, Z. Li, and X. He. Deepfm: a factorization- machine based neural network for ctr prediction. In IJCAI, 2017.
DeepFM可以理解為將Wide&Deep模型的Wide部分替換為FM,從而可以對每一個wide特征增加了稀疏表示以及特征之間的兩兩交叉,相比Wide&Deep模型極大增強了表達能力,在工業界使用非常廣泛。
DeepCrossing
Y. Shan, T. R. Hoens, J. Jiao, H. Wang, D. Yu, and J. Mao. Deep crossing: Web-scale modeling without manually crafted combinatorial features. In KDD, 2016.
想法很直接:將residual從cv引入推薦系統。
DCN (Deep & Cross Network)
Wang R, Fu B, Fu G, et al. Deep & cross network for ad click predictions[M]//Proceedings of the ADKDD'17. 2017: 1-7.
顧名思義,一部分是正常的Deep網絡,另一部分是Cross網絡,最后將兩個網絡的輸出合并,得到輸出結果。論文真正的創新點在Cross網絡的設計。
假設是第
個Cross層的輸出,
每一個Cross層都與整個網絡的輸入做一次交叉,再加上當前層的輸入
(起到residual的作用)。這樣每加一個Cross層,就相當于加了一階交叉。
NFM
X. He and T.-S. Chua. Neural factorization machines for sparse predictive analytics. In SIGIR, 2017.
FM:
NFM:
與PNN定義成得到數值(對element-wise product求和)不同,這里的
element-wise product得到的是一個向量。
與FM的區別:
FM是embedding兩兩交叉,直接向量內積計算得到一個數值。
NFM是兩兩交叉element-wise product,得到相同維度的embedding,后續再接DNN。
AFM
Xiao J, Ye H, He X, et al. Attentional factorization machines: Learning the weight of feature interactions via attention networks[J]. arXiv preprint arXiv:1708.04617, 2017.
,
是attention score,
AFM與NFM類似,對field的embedding,先兩兩交叉element-wise product,得到對相同維度的向量(需要乘以特征原始值
)。
然后對些向量計算一次attention weights,最后再與所有向量本身加權求和。
綜合起來,AFM表示為,
xDeepFM
Lian, Jianxun, et al. "xdeepfm: Combining explicit and implicit feature interactions for recommender systems." Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2018.
論文從DCN的基礎上改進,并且指出DCN雖然號稱學習到了高階交叉,但其實只是一種特殊形式的高階交叉;每一個隱層是輸入層的數值倍數(不是線性的),從而DCN學習到的是有限的高階。
xDeepFM的核心是CIN (Compressed Interaction Network)。
表示CIN第
層的輸出,
表示第
層的embedding特征向量的個數,
,等于field的個數,embedding的維度為D。
外積:輸入層
的每一個向量(embedding維度)都與
的每一個向量兩兩外積,最終得到一個維度為
的tensor。
壓縮:將外積tensor
沿著embedding維度(D),像CNN的每個feature map一樣,計算
組卷積,每一組都將
壓縮成1個數值。
CIN輸出:對每一個隱層先沿著embedding維度做sum pooling,得到
個維度為
的向量;然后將這
個向量concat計算最后的輸出。
CIN既像RNN(每一個隱層都依賴于上一個隱層的輸出
以及一個附加的輸入
),也像CNN(壓縮)。
AutoInt
Song W, Shi C, Xiao Z, et al. Autoint: Automatic feature interaction learning via self-attentive neural networks[C]//Proceedings of the 28th ACM International Conference on Information and Knowledge Management. 2019: 1161-1170.
創新點:將Multi-Head Self-Attention從NLP引入推薦系統。
首先,得到每一個輸入field的embedding表示,對于head
,field
與
的交叉關系表示為,
然后field 的新的向量表示更新為,
AutoInt在工業界的推薦系統中效果非常好,應用廣泛。