1、前言

承上启下:由于AutoRec模型过于简单的网络结构会出现一些表达能力不足的问题,Deep Crossing模型完整地解决了从特征方程向量稠密化,多层神经网络进行优化目标拟合等一系列深度学习再推荐系统中的应用问题,为后续打下了良好的基础。

2、Deep Crossing的应用场景

Deep Crossing模型的应用场景是微软搜索引擎Bing中的搜索广告推荐场景。用户在搜索引擎中输入搜索词之后,搜索引擎除了会返回相关结果,还会返回与搜索词相关的广告。尽可能地增加搜索广告的点击率,准确地预测广告点击率,并以此作为广告排序的指标之一,是非常重要的工作,也是Deep Crossing模型的优化目标。

微软使用的特征如下表所示,这些特征可以分为三类:一类是可以被处理成one-hot或者multi-hot向量的类别型特征,包括用户搜索词(query)、广告关键词(keyword)、广告标题(title)、落地页(landing page)、匹配类型(match type);一类是数值型特征,微软称其为计数型特征,包括点击率、预估点击率(click prediction);一类是需要进一步处理的特征,包括广告计划(campaign)、曝光计划(impression)、点击样例(click)等。

Deep Crossing模型——经典的深度学习架构

3、特征表示

类别型特征可以通过one-hot或multi-hot编码生成特征向量,数值型特征则可以直接拼接进特征向量中,在生成所有输入特征的向量表达后,Deep Crossing模型利用该特征向量进行CTR预估。深度学习网络的特点是可以根据需求灵活地对网络结构进行调整,从而达成从原始特征向量到最终的优化目标的端到端的训练目的。

特征包括个体特征(Individual Features)和组合特征(Combinatorial Features)。个体特征Xi可以通过向量进行表示,例如搜索词这样的文本特征,可以通过使用将字符串转换成3个字母的词来表示[3]。组合特征由个体特征组合而成,个体特征 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TgEti7IR-1604106691266)(https://www.zhihu.com/equation?tex=X_%7Bi%7D+%5Cin+%5Cmathbb%7BR%7D%5E%7Bn_%7Bi%7D%7D)] ,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oEQ1EAbR-1604106691271)(https://www.zhihu.com/equation?tex=X_%7Bj%7D+%5Cin+%5Cmathbb%7BR%7D%5E%7Bn_%7Bj%7D%7D)] ,组合特征 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Eldk3B3O-1604106691274)(https://www.zhihu.com/equation?tex=X_%7Bi%2Cj%7D%E2%88%88%5Cmathbb%7BR%7D%5E%7Bn_i%7D++%5Ctimes+%5Cmathbb%7BR%7D%5E%7Bn_j%7D+)] 。Deep Crossing避免使用组合特征。它可以处理稀疏和密集的个体特征,并且支持上面描述的各种特性类型。这使用户可以自由地使用他们从特定应用程序中选择的特征。

4.模型结构

下图为Deep Crossing的模型结构,模型的输入是一系列个体特征。模型有四种类型的层,包括Embedding层,Stacking层,Residual Unit层和Scoring层。目标函数是log损失函数,也可以使用softmax函数或其他函数。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KltGlZfA-1604106691280)(https://www.zhihu.com/equation?tex=%5Coperatorname%7Blogloss%7D%3D-%5Cfrac%7B1%7D%7BN%7D+%5Csum_%7Bi%3D1%7D%5E%7BN%7D%5Cleft%28y_%7Bi%7D+%5Clog+%5Cleft%28p_%7Bi%7D%5Cright%29%2B%5Cleft%281-y_%7Bi%7D%5Cright%29+%5Clog+%5Cleft%281-p_%7Bi%7D%5Cright%29%5Cright%29)]

N是样本数,yi是每个样本的标签,pi是下图中单节点Scoring层的输出,在本例中是一个Sigmoid函数。

Deep Crossing模型——经典的深度学习架构Deep Crossing模型的结构图

Embedding层:Embedding层将稀疏的类别型特征转换成稠密的Embedding向量。Embedding层由单层神经网络构成,一般形式为:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r6eTj5mS-1604106691285)(https://www.zhihu.com/equation?tex=X_%7Bj%7D%5E%7BO%7D%3D%5Cmax+%5Cleft%28%5Cmathbf%7B0%7D%2C+%5Cmathbf%7BW%7D_%7Bj%7D+X_%7Bj%7D%5E%7BI%7D%2B%5Cmathbf%7Bb%7D_%7Bj%7D%5Cright%29)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2MB50OSU-1604106691287)(https://www.zhihu.com/equation?tex=X_%7Bj%7D%5E%7BI%7D+%5Cin+%5Cmathbb%7BR%7D%5E%7Bn_%7Bj%7D%7D)] 是输入特征,Wj是一个mj×nj的矩阵, [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6nXcatdU-1604106691289)(https://www.zhihu.com/equation?tex=%5Cmathbf%7Bb%7D+%5Cin+%5Cmathbb%7BR%7D%5E%7Bn_%7Bj%7D%7D)]

需要指出的是,Embedding的大小对模型的整体大小有着重大的影响。Figure1中的Feature#2代表了数值型特征,可以看到,数值型特征不需要经过Embedding层,直接进入了Stacking层。Embedding被用来减少输入特征的维度。

Stacking层:Stacking层的作用是将Embedding的输出特征和数值型特征拼接在一起,形成新的包含全部特征的特征向量, [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mHECerJf-1604106691290)(https://www.zhihu.com/equation?tex=X%5E%7BO%7D%3D%5Cleft%5BX_%7B0%7D%5E%7BO%7D%2C+X_%7B1%7D%5E%7BO%7D%2C+%5Ccdots%2C+X_%7BK%7D%5E%7BO%7D%5Cright%5D)] ,K为输入特征的数量。该层通常也被称为连接层。

Multiple Residual Units层:该层的主要结构是多层感知机,相比标准的以感知机为基本单元的神经网络,Deep Crossing模型采用了多层残差网络作为MLP的具体实现。在推荐模型中的应用,也是残差网络首次在图像识别领域之外的成功推广。通过多层残差网络对特征向量各个维度进行充分的交叉组合,使模型能够抓取到更多的非线性特征和组合特征的信息,进而使深度学习模型在表达能力上较传统机器学习模型大为增强。

残差层由如下图的残差单元构造而成。Deep Crossing简单的修改了残差单元,不适用卷积核。残差单元的独特之处在于两个,(1)它是将原输入特征通过两层以ReLU为**函数的全连接层后,生成输出向量 。(2) 输入可以通过一个短路通路直接与输出向量进行元素加操作,生成最终的输出向量。在这样的结构下,残差单元中的两层ReLU网络其实拟合的是输出和输入之间的“残差”( [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fuorwgcm-1604106691291)(https://www.zhihu.com/equation?tex=x%5Eo-x%5Ei)] ),这就是残差神经网络名称的由来。

Deep Crossing模型——经典的深度学习架构

残差神经网络的诞生主要解决了两个问题:

(1)神经网络是不是越深越好?对于传统的基于感知机的神经网络,当网络加深之后,往往存在过拟合现象,即网络越深,在测试集上的表现越差。而在残差神经网络中,可以越过两层ReLU网络,减少过拟合现象的发生。

(2)当神经网络足够深时,往往存在严重的梯度消失现象。梯度消失现象是指在梯度反向传播过程中,越靠近输入端,梯度的幅度越小,参数收敛的速度越慢。残差单元使用了ReLU**函数取代原来的sigmoid**函数。此外,输入向量短路相当于直接把梯度毫无变化地传递到下一层,这也使残差网络的收敛速度更快。

Scoring层:Scoring层作为输出层,就是为了拟合优化目标而存在的。对于CTR预估这类二分类问题,Scoring层往往使用的是逻辑回归模型,而对于图像分类等多分类问题,Scoring层往往采用softmax模型。

以上就是Deep Crossing的模型结构,在此基础上采用梯度反向传播的方法进行训练,最终得到基于Deep Crossing的CTR预估模型。

5.Deep Crossing模型对特征交叉方法的革命

从历史的角度看,Deep Crossing模型的出现是有革命意义的。Deep Crossing模型中没有任何人工特征工程的参与,原始特征经Embedding后输入神经网络层,将全部特征交叉的任务交给模型。Deep Crossing模型可以通过调整神经网络的深度进行特征之间的“深度交叉”,这也是Deep Crossing名称的由来。

相关文章:

  • 2021-04-07
  • 2021-12-05
  • 2021-06-24
  • 2021-06-18
  • 2021-07-08
  • 2021-11-22
  • 2021-10-27
  • 2021-06-16
猜你喜欢
  • 2022-01-27
  • 2021-12-29
  • 2021-08-26
  • 2021-11-03
  • 2022-01-11
  • 2021-10-11
  • 2021-04-18
相关资源
相似解决方案