论文笔记之Deep Crossing: Web-Scale Mo
Deep Crossing: Web-Scale Modeling without Manually Crafted Combinatorial Features
文中开篇讲了将原始特征组合成combinatorial feature的重要意义,但同时也指出创造有意义的组合特征是比较困难的。
本文提出了Deep Crossing模型,通过deep learning的方式由模型来隐式的组合特征。
下图是Deep Crossing的模型结构。
可以看到Deep Crossing包含了Embedding, Stacking, Residual Unit, Scoring Layer四种类型的层。
本文中的模型用于CTR预估,因此Scoring Layer用sigmoid,使用了log loss,
对于不同的问题,可以灵活的进行设计,比如对于多分类,Scoring Layer用softmax,loss用交叉熵。
Embedding and Stacking Layers
embedding layer包含了一个单层的神经网络,如下
激活函数用的是relu。j指的是第j个特征,XIj为nj维输入特征,Wj是mj * nj维的权重矩阵,bj是nj维的bias,Xoj为embed后的特征。当mj<nj时,embedding起到了减少输入特征维度的作用。
在stacking层,把所有特征堆叠成一个向量,即
K是输入特征的数量。
需要注意的是,W和b是作为网络的参数,会和网络中的其他参数一起被优化。
文中低于256维的特征不做embedding,直接进入stacking层。
Residual Layers
残差层由残差单元(the Residual Unit)构成,残差单元如下,(没有使用卷积层,文中提到这是第一次残差单元被用于图像识别之外)
residual unit的特点在于,在原始输入特征向前传递两层后,再加上原始输入特征,也就是
W0, W1, b0, b1是中间两层的weight和bias,F表示将X1映射到X0的函数。
把X1移到等式左边,即F是在拟合X0-X1的残差。