Why Deep CTR model?
Auto Feature Interaction. 深度学习用于 CTR 预估问题, 主要优势是通过网络设计达到自动学习特征交互 Feature Interaction 的目的. 本文中涉及到的模型均是解决 feature interaction 的不同网络设计.
Better Sparse ids presentation Support. 相比 GBDT 模型, DNN 对稀疏 id 类特征有更好的表示学习能力. 业务需求中往往存在海量且稀疏id类特征, 通过 embedding 支持对海量id类特征具备较强的表示学习能力.
Memorization & Generalization. 记忆性和泛化性是推荐系统重要的两类能力, 这两类目标通过 Wide & Deep Learning 结构同时学得, wide part 采用 FTRL 实现, 目的是使得对 id 类特征具有 memorization (记忆性); DNN结构具有 generalization 的特性(泛化性)
整理实现. 封装在 gold-deep-rank 这个 repo 中. 主要参考作者源码以及开源库.
Wide & Deep Learning
Google 提出将线性层和 DNN 同时优化的一般结构, 在此基础上对DNN部分做优化/定制.
泛化性和记忆性是推荐系统的重要的两类基础能力.
DeepFM
fm 是二阶特征交互的基础方法, 可作为一般 Baseline.
fm 复杂度降低实现推导, 将复杂度从 O(kn^2) 降低到 O(kn), 简单记忆方法: sum_square-square_sum, 不要忘了前面还有 1/2 常系数.
PNN: Inner/Outer product
向量的内积和外积可以定义两种 vec 的交叉方式, 很朴素的 feature interaction 思想.
DCN: Cross Network
思想是实现多项式形式的 feature interaction, 其实和一般意义上的特征交叉有所区别.
xDeepFM: CIN
引入 vector-wise feature 交叉, 而不是 bit-wise.
CIN 的结构不建议理解公式 (形式化复杂), 结合图和源码看比较容易理解.
AFM: FM based attention
在原有 deepfm 基础上, 加一层 attention layer
AutoInt: Multi-head attention
引入 multi-head self attention学习 feature interaction, 关于 multi-head self attention 查看 transformer 原理
FiBiNet: SENET & Bi-linear interaction
引入 SENET 学习 feature interaction
转载请注明来源, from goldandrabbit.github.io