常见深度学习点击率预估模型
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在工业界的推荐系统中效果非常好,应用广泛。