推荐搜索之Deep Crossing

Deep Crossing简介

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

image.png

以上的特征分为两种,一种是处理成one-hot形式,包括用户搜索词 ( query ) 广告关键词 keyword ) 广告标题 title ) 落地页 landing page )、匹配类型 matchtype);—类是数值型特征,微软称其为计数型(counting)特征, 包括点击率、预估点击率 click prediction ); 另一种是需要进一步处理的特征,括广告计划 campaign ) 曝光样例 impression ) 点击样例 ( click ) 等,这些都不是独立的特征,而是一个特征的组别,需要进一步处理。在生成所有输入特征的向量表达后,Deep Crossing 模型利用该特征向量进行 CTR 预估。

Deep Crossing网络结构

Deep Crossing需要解决如下的问题。

  1. 离散特征编码后过于稀疏,不利于直接输入网络进行训练。
  2. 如何解决特征自动交叉的问题
  3. 如何在输出层达成问题设定的目标
    Deep Crossing 模型分别设置了不同的神经网络层来解决上述问题。其网络结构如下图,包含4个结构,Embedding 、Stacking Multiple ResidualUnits层和Scoring层。然后咱们分别介绍这些层的作用。

image.png

Embedding 层

Embedding 层的作用是将稀疏的类别型特征转换成稠密的Embedding向量。Embedding 层主要以经典的全连接为主,同样也可以是word2vec等压缩模型。一般而言,Embedding 向量的维度应远小于原始的稀疏特征向量。Feature#2是数值特征,不需要Embedding,直接进入Stacking层即可。

Stacking 层

Stacking 层(堆叠层 )的作用比较简单,是把不同的 Embedding 特征和数值型特征拼接在一起,形成新的包含全部特征的特征向量,该层通常也 被称为连接 concatenate ) 层。

Multiple Residual Units层

该层的主要结构是多层感知机,相比标准的以 感知机为基本单元的神经网络,Deep Crossing 模型采用了多层残差网络 ( Multi-Layer Residual Network ) 作为 MLP 的具体实现。残差网络单元的结构如下图。

image.png

可以看出,输入经过两层以 ReLU 为激活函数的全连接层后,生成输出向量。输入可以通过一个短路 shortcut ) 通路直接与输出向量进行元素加(element-wise plus ) 操作,生成最终的输出向量。
残差网络单元主要为了解决神经网络中随着网络层数增多,过拟合的风险越大的问题,以及梯度消失的问题。

Scoring 层

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

总而言之

以上就是Deep Crossing模型的核心知识,当成CVR预估的问题以后,给用户的推荐就是那个商铺能够给用户带来的点击率越高就越靠前就好啦。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×