推荐系统CTR预估学习路线:从LR到FM/FFM探索二阶特征的高效实现

导语
在广告、推荐系统CTR预估问题上,早期的完全规则方法被过渡到以LR为代表的机器学习方法,为了充分发挥组合特征的价值,在相当长一段时间里,业界热衷于使用LR+人工特征工程。但人工组合特征成本高昂 ,在不同任务上也难以复用。2010年FM因子分解方法的出现解决了人工组合特征的困境,2014年Facebook提出的GBDT+LR也给出了一种利用树模型特点构建组合特征的思路。不过随着深度学习的崛起,2015年以后,借助非线性自动组合特征能力的深度模型,开始成为业内的主流。从经典DNN到结合浅层的Wide&Deep,用于CTR预估的深度模型在近些年间百花盛开,各种交叉特征建模方法层出不穷,Attention机制也从其他研究领域引入,帮助更好的适应业务,提升模型的解释性。在这进化路线之下,核心问题离不开解决数据高维稀疏难题,自动化组合特征,模型可解释。我们梳理了近些年CTR预估问题中有代表性的模型研究/应用成果,并对部分经典模型的实现原理进行详细剖析,落成文字作为学习过程的记录。
目录
0. CTR预估模型进化路线
1. 从LR到FM/FFM:探索二阶特征的高效实现
1.1 LR与多项式模型
1.2 FM模型
1.3 FFM模型
1.4 双线性FFM模型
2. GBDT+LR:利用树模型自动化特征工程
3. 深度模型:提升非线性拟合能力,自动高阶交叉特征,end-to-end学习
3.1 特征的嵌入向量表示
3.2 经典DNN网络框架
3.3 DNN框架下的FNN、PNN与DeepCrossing模型
3.4 Wide&Deep框架及其衍生模型
3.4.1 Wide部分的改进
3.4.2 Deep部分的改进
3.4.3 引入新的子网络
4. 引入注意力机制:提高模型自适应能力与可解释性
4.1 AFM模型
4.2 AutoInt模型
4.3 FiBiNET模型
4.4 DIN模型
4.5 DIEN模型
5. 总结
(3)深度模型:提升非线性拟合能力,自动高阶交叉特征与end-to-end学习
FM/FFM等变体模型,本质上是在解决高维稀疏数据的特征组合学习问题。解决问题的核心思路是,将高维空间转变成低维,在低维空间内寻找特征的稠密表示(这一过程也被称为“低维稠密化”),最后利用低维稠密向量的交互运算达到特征组合的目的。不过FM系列依然属于线性模型,对于非线性数据的拟合还略显不足,而GBDT+LR虽然是非线性建模,但它不适用于海量离线特征场景,也无法进行端到端学习。在实际业务中,我们通常面对的是非线性数据,同时离散id类特征也很重要,例如广告id,商品id等。因此,深度模型是另一种更好的解决方案。对非线性数据的拟合能力,一般体现在对高阶特征的建模能力上。深度模型通过全连接的多层感知器,能自动学习出特征之间有价值的高阶交叉信息,对高阶组合特征信号有很强的捕获力,同时非常适合进行端到端建模。这一节将从深度模型中的特征表示开始讲起,然后介绍业界经典的DNN网络结构,最后谈论宽深度模型的演变和显式高阶组合特征的设计原理。
3.1 特征的嵌入向量表示

自2013年Google Mikolov的开山之作word2vec算法[7]提出以来,嵌入向量被广泛应用于自然语言处理领域用于词的表示。word2vec将自然语言中的单词从原来常规的one-hot表示变为低维稠密的词向量分布式表示(distributed representation,或通俗理解为低维实数向量),不仅有效降低了输入词维度,并且有趣的是经过训练后的词向量,在低维空间中有令人惊奇的几何关系,例如V国王≈V男人-V女人+V皇后。这种分布式表示也被称作embedding(或嵌入向量),除了在自然语言处理上被大量使用,embedding也快速地在其他适用深度学习的领域或任务上(例如推荐系统、广告点击率预估等)流行,用于物品、用户或相关特征的表示。