Deep Crossing

Deep Crossing模型是由微软研究院在论文《Deep Crossing: Web-Scale Modeling without Manually Crafted Combinatorial Features》中提出的,它主要是用来解决大规模特征自动组合问题,从而减轻或者避免手工进行特征组合的开销。Deep Crossing可以说是深度学习CTR模型的最典型和基础性的模型。

模型

Deep_Crossing

模型的输入是一系列的独立特征,模型总共包含4层,分别是Embedding层、Stacking层、Residual Unit层、Scoring层,模型的输出是用户点击率预测值。
注意上图中红色方框部分,输入特征没有经过Embedding层就直接连接到了Stacking层了。这是因为输入特征可能是稠密的也可能是稀疏的,论文中指出,对于维度小于256的特征直接连接到Stacking层。

损失函数

论文中使用的是交叉熵损失函数,但是也可以使用Softmax或者其他损失函数:

[公式]

Embedding层

将高维稀疏特征转化为低维稠密特征,公式如下:

[公式]

Stacking层

将特征聚合起来,形成一个向量

[公式]

Residual层

Deep Crossing模型使用稍微修改过的残差单元,它不使用卷积内核,改为了两层神经网络。

残差层是由下图所示的残差单元构建成的。残差单元如下所示:

Deep_Crossing_2

公式定义为:

[公式]

将XI移项到等式左侧,可以看出 F函数拟合的是输入与输出之间的残差。对输入进行全连接变换之后,经过relu激活函数送入第二个全连接层,将输出结果与原始输入进行 element-wise add 操作,再经过relu激活输出

Scoring层

Residual层的输出首先连接到全连接层,其次再经过Sigmoid激活函数,最后输出的是一个广告的预测点击率。

参考