深度学习与推荐系统1——综述

打算开个章节分享一些在工作上收获的知识和总结,前面文章介绍了一些关于强化学习的经典模型,更多适合个人学习入门,如果关注实际应用的话这些强化学习模型还需要做相关的优化。作为一个在推荐领域的炼丹师后续会分享一些关于强化学习在推荐领域的应用,首先我会分享和介绍一些推荐领域经典的模型。

一、前言

点击率(click-through rate, CTR)是互联网公司进行流量分配的核心依据之一。比如互联网广告平台,为了精细化权衡和保障用户、广告、平台三方的利益,准确的 CTR 预估是不可或缺的。CTR 预估技术从传统的逻辑回归,到近三年大火的深度学习,新的算法层出不穷:DeepFM, NFM, DIN, AFM, DCN...

本文将从 FM 及其与神经网络的结合出发,能够迅速贯穿很多深度学习 CTR 预估网络的思路,从而更好地理解和应用模型。

二、深度学习模型

CTR 预估本质是一个二分类问题,以移动端展示广告推荐为例,依据日志中的用户侧的信息(比如年龄,性别,国籍,手机上安装的 app 列表)、广告侧的信息(广告 id,广告类别,广告标题等)、上下文侧信息(渠道 id 等),去建模预测用户是否会点击该广告。 

1. embedding+MLP

embedding+MLP 是对于分领域离散特征进行深度学习 CTR 预估的通用框架。深度学习在特征组合挖掘(特征学习)方面具有很大的优势。embedding类似于word2vec的词向量,经常作为模型的输入

具体来说, embedding+MLP 的过程如下: 

1. 对不同领域的 one-hot 特征进行嵌入(embedding),使其降维成低维度稠密特征。 

2. 然后将这些特征向量拼接(concatenate)成一个隐含层。 

3. 之后再不断堆叠全连接层,也就是多层感知机(Multilayer Perceptron, MLP,有时也叫作前馈神经网络)。 

4. 最终输出预测的点击率。 

2. Wide&Deep

Google 在 2016 年提出的宽度与深度模型(Wide&Deep)在深度学习 CTR 预估模型中占有非常重要的位置,它奠定了之后基于深度学习的广告点击率预估模型的框架。 Wide&Deep将深度模型与线性模型进行联合训练,二者的结果求和输出为最终点击率

1. Wide&Deep 是后续介绍模型 DeepFM 与 DCN 的基础框架。这些模型均采用神经网络联合训练的思路,对神经网络进行并联。

2. DeepFM、DCN 与 Wide&Deep 的 Deep 部分都是 MLP。

3. Wide&Deep 的 Wide 部分是逻辑回归,可以手动设计组合特征。

4. DeepFM 的 Wide 部分是 FM,DCN 的 Wide 部分是 Cross 网络,二者均不强求手动设计特征。但此时都与字面意义上的 Wide 有一定差异,因为均共享了降维后的嵌入特征。

3. Factorization-machine(FM)

FM 出现之前的传统的处理方法是人工特征工程加上线性模型(如逻辑回归 Logistic Regression)。为了提高模型效果,关键技术是找到到用户点击行为背后隐含的特征组合。如女性、大学生往会点击护肤品类广告,因此“女性且是大学生且是护肤品类”的特征组合就是一个关键特征。

FM模型可以看成是线性部分的LR,还有非线性的特征组合x_{i}x_{j}交叉而成,本质上是对特征两两相乘(组合)构成新特征(离散化之后其实就是“且”操作),并对每个新特征分配独立的权重公式如下:

                                                                 y_{FM}=sigmoid(w_{0}+\sum_{i=1}^{N}w_{i}x_{i}+\sum_{i=1}^{N-1}\sum_{j=i+1}^{N}<v_{i},v_{j}>x_{i}x_{j})

4. Field-aware Factorization Machines(FFM)

FFM在FM的基础上进一步改进,在模型中引入域的概念,即field。将同一个field的特征单独进行嵌入向量,因此在FFM中,每一维特征都会针对其他特征的每个field,分别学习一个隐变量,该隐变量不仅与特征相关,也与field相关。
假设样本的n个特征属于f个field,那么FFM的二次项有nf个隐向量。而在FM模型中,每一维特征的隐向量只有一个。FM可以看做FFM的特例,把所有特征都归属到一个field的FFM模型。其模型方程为:
                                                                y_{FM}=sigmoid(w_{0}+\sum_{i=1}^{N}w_{i}x_{i}+\sum_{i=1}^{N-1}\sum_{j=i+1}^{N}<v_{i,f_{j}},v_{j,f_{i}}>x_{i}x_{j})

5. DeepFM

在DeepFM中,FM算法负责对一阶特征以及由一阶特征两两组合而成的二阶特征进行特征的提取,DNN算法负责对由输入的一阶特征进行全连接等操作形成的高阶特征进行特征的提取。

1.结合了广度和深度模型的优点,联合训练FM模型和DNN模型,同时学习低阶特征组合和高阶特征组合。

2.DeepFM 共享相同的输入和 embedding vector,训练更高效。

3.并行结构,最终输出由FM和DNN拼接加上sigmoid。

6. Neural Factorization Machines(NFM)

考虑领域信息的 FM,它仍有改进的空间。因为以上这些网络的 FM 部分都是只进行嵌入向量的两两内积后直接求和,没有充分利用二阶特征组合的信息 

1. 利用二阶交互池化层(Bi-Interaction Pooling)对 FM 嵌入后的向量两两进行元素级别的乘法,形成同维度的向量求和后作为前馈神经网络的输入。 

2. NFM 与 DeepFM 的区别是没有单独的 FM 的浅层网络进行联合训练,而是将其整合后直接输出给前馈神经网络,属于串行结构。 

3. 当 MLP 的全连接层都是恒等变换且最后一层参数全为 1 时,NFM 就退化成了 FM。可见,NFM 是 FM 的推广,它推迟了 FM 的实现过程,并在其中加入了更多非线性运算。 

7. Attentional Factorization Machine(AFM)

NFM 的主要创新点是在 FM 过程中添加了逐元素相乘的运算来增加模型的复杂度。但没有在此基础上添加更复杂的运算过程,,作者在NFM基础上,利用了近年来在图像、NLP、语音等领域大获成功的attention机制解决这个问题。

AFM引入了一个Attention Net,认为这些交叉特征项每个对结果的贡献是不同的,例如xi和xj的权重重要度,用aij来表示。从这个角度来看,其实AFM其实就是个加权累加的过程,AFM 的特点是: 

1. AFM 与 NFM 都是致力于充分利用二阶特征组合的信息,对嵌入后的向量两两进行逐元素乘法,形成同维度的向量。而且 AFM 没有 MLP 部分。 

2. AFM 通过在逐元素乘法之后形成的向量进行加权求和,而且权重是基于网络自身来产生的。其方法是引入一个注意力子网络(Attention Net)。 

3. 当权重都相等时,AFM 退化成无全连接层的 NFM。  

4. “注意力子网络”的主要操作是进行矩阵乘法,其最终输出结果为 softmax,以保证各分量的权重本身是一个概率分布。

8. Deep & Cross Network(DCN)

以上的 FM 推广形式,主要是对 FM 进行二阶特征组合。高阶特征组合是通过 MLP 实现的。但这两种实现方式是有很大不同的,FM 更多是通过向量 embedding 之间的内积来实现,而 MLP 则是在向量 embedding 之后一层一层进行权重矩阵乘法实现。为了将 FM 的过程在高阶特征组合上进行推广,google在2017年提出了Deep&Cross Network,简称DCN的模型,可以任意组合特征,而且不增加网络参数。

1. Deep 部分就是普通的 MLP 网络,主要是全连接。 

2. 与 DeepFM 类似,DCN 是由 embedding + MLP 部分与 cross 部分进行联合训练的。Cross 部分是对 FM 部分的推广。 

3. Cross 部分的公式如下:

4.可以证明,cross 网络是 FM 的过程在高阶特征组合的推广,且只有两层且第一层与最后一层权重参数相等时的 Cross 网络与简化版 FM 等价。

9. Deep Interest Network(DIN)

以上神经网络对同领域离散特征的处理基本是将其嵌入后直接求和,这在一般情况下没太大问题。但其实可以做得更加精细。

比如对于历史统计类特征。以用户历史浏览的商户 id 为例,假设用户历史浏览了 10 个商户,这些商户 id 的常规处理方法是作为同一个领域的特征嵌入后直接求和得到一个嵌入向量。但这 10 个商户只有一两个商户与当前被预测的广告所在的商户相似,其他商户关系不大。增加这两个商户在求和过程中的权重,应该能够更好地提高模型的表现力。而增加求和权重的思路就是典型的注意力机制思路。 

受注意力机制的启发(本质上是加权平均),阿里在2017年提出的Deep Interest Network,简称DIN模型,核心是基于数据的内在特点,引入了更高阶的学习范式。其网络结构如下:

DIN把用户特征、用户历史行为特征进行embedding操作,视为对用户兴趣的表示,之后通过attention network,对每个兴趣表示赋予不同的权值,其特点如下:

1. DIN 考虑对同一领域的历史特征进行加权求和,以加强其感兴趣的特征的影响。

2. 用户的每个领域的历史特征权重则由该历史特征及其对应备选广告特征通过一个子网络得到。即用户历史浏览的商户特征与当前浏览商户特征对应,历史浏览的商品特征与当前浏览商品特征对应。

3. 权重子网络主要包括特征之间的元素级别的乘法、加法和全连接等操作。

4. AFM 也引入了注意力机制。但是 AFM 是将注意力机制与 FM 同领域特征求和之后进行结合,DIN 直接是将注意力机制与同领域特征求和之前进行结合。

10. Deep Interest Evolution Network(DIEN)

DIN模型将用户的历史行为来表示用户的兴趣,并强调了用户兴趣的多样性和动态变化性,因此通过attention-based model来捕获和目标物品相关的兴趣。虽然DIN模型将用户的历史行为来表示兴趣,但存在两个缺点:
1. 用户的兴趣是不断进化的,而DIN抽取的用户兴趣之间是独立无关联的,没有捕获到兴趣的动态进化性
2. 通过用户的显式的行为来表达用户隐含的兴趣,这一准确性无法得到保证。

基于以上两点,阿里提出了深度兴趣演化网络DIEN来CTR预估的性能,网络结构如下:

可以看到,DIN和DIEN的最底层都是Embedding Layer。不同的是,DIEN将用户行为组织成了序列数据的形式,并把简单的使用外积完成的activation unit变成了一个attention-based GRU网络。主要特点:

1. 模型关注推荐系统中兴趣演化的过程,并提出了新的网络结果来建模兴趣进化的过程,这个模型能够更精确的表达用户兴趣,同时带来更高的CTR预估准确率。
2. 设计了兴趣抽取层,并通过计算一个辅助loss,来提升兴趣表达的准确性。
3. 设计了兴趣进化层,来更加准确的表达用户兴趣的动态变化性。

11.后续添加

......

三、总结

  1. Wide&Deep 是兼容手工特征组合与 MLP 的特征组合方式,是许多模型的基础框架
  2. FM 其实是对嵌入特征进行两两内积实现特征二阶组合
  3. DeepFM 通过联合训练、嵌入特征共享来兼顾 FM 部分与 MLP 部分不同的特征组合机制 
  4. NFM则是通过改造向量积的方式来延迟FM的实现过程,在其中添加非线性成分来提升模型表现力
  5. AFM 更进一步,直接通过子网络来对嵌入向量的两两逐元素乘积进行加权求和,以实现不同组合的差异化,也是一种延迟 FM 实现的方式
  6. DCN 则是将 FM 进行高阶特征组合的方向上进行推广,并结合 MLP 的全连接式的高阶特征组合机制, 主要借鉴了Deep Cross 残差网络机制的前馈神经网络 
  7. DIN 则是对用户侧的某历史特征和广告侧的同领域特征进行组合,组合成的权重反过来重新影响用户侧的该领域各历史特征的求和过程
  8. DIEN是DIN的改进,目的是捕捉到用户兴趣的发展变化

目前深度学习的算法层出不穷,看论文确实有些应接不暇。但是我们要有充分的生产实践经验,同时要有扎实的算法理论基础。很多论文的亮点其实是来自于实际做工程的经验。

另一方面,对深度学习的经典、前沿方法的熟悉也很重要。从前面我们的串讲也能够看出,CTR 预估作为一个业务特点很强的场景,在应用深度学习的道路上,也充分借鉴了注意力机制、残差网络、联合训练、多任务学习等经典的深度学习方法。

PS: 如果觉得本篇本章对您有所帮助,欢迎关注、评论、赞!如果要转发请注明作者和出处

参考文献:

[1]从DIN到DIEN看阿里CTR算法的进化脉络

[2]推荐系统遇上深度学习(二十四)--深度兴趣进化网络DIEN原理及实战!

[3]深度学习在CTR预估中的应用

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值