1 论文摘要及介绍
在推荐系统或者广告系统中,CTR、CVR预估至关重要。不同于视觉和音频领域连续的原始特征,这些任务场景的输入特征大多数是多类型的离散特征, 且特征之间相互依赖的先验知识很少。常用的解决方法是线性模型+手工组合高阶特征。线性模型简单有效,但无法学习特征间组合信息。手工组合高阶特征会导致庞大的特征空间,待学习参数量增加,导致模型训练复杂。非线性模型可以通过特征间的组合提高模型的能力,例如FM模型将二值化的特征映射程连续的低维空间,通过內积获取特征间的组合关系;GBDT等梯度提升树算法可以通过树的构建过程自动的学习特征的组合,这些方法都不能利用所有可能的组合关系。DNN在CV和NLP等领域取得较好的效果,而针对CTR预估等场景下大规模输入特征空间下,DNN需要学习的参数量也很大,计算成本较高。
在本论文中,利用有监督或者无监督的Embedding方法来学习大规模多类型的离散特征空间。论文提出的FNN模型中Embedding层采用FM模型来有监督的对稀疏特征进行降维处理,转换为稠密连续型特征。论文提出的SNN-RBM模型采用基于负采样的RBM来处理Embedding层,SNN-DAE则采用基于负采样的DAE处理Embedding层。在Embedding层之上,构建多层的神经网络来探索潜在的数据的模式。
模型输入categorical特征都是field-wis one-hot编码,编码后特征记为: x x x。
2 FNN原理
从上到下,各层定义及说明如下:
输出层:使用 s i g m o i d ( x ) = 1 / ( 1 + e − x ) sigmoid(x)=1 /\left(1+e^{-x}\right) sigmoid(x)=1/(1+e−x)激活函数,即:
y ^ = sigmoid ( W 3 l 2 + b 3 ) \hat{y}=\operatorname{sigmoid}\left(\boldsymbol{W}_{3} l_{2}+b_{3}\right) y^=sigmoid(W3l2+b3)
其中, W 3 ∈ R 1 × L , b 3 ∈ R and l 2 ∈ R L \boldsymbol{W}_{3} \in \mathbb{R}^{1 \times L},b_{3} \in \mathbb{R} \text { and } l_{2} \in \mathbb{R}^{L} W3∈R1×L,b3∈R and l2∈RL
隐藏层l2层、l1层使用 tanh ( x ) = ( 1 − e − β x ) / ( 1 + e − 2 x ) \tanh (x)=\left(1-e^{-\beta x}\right) /\left(1+e^{-2 x}\right) tanh(x)=(1−e−βx)/(1+e−2x)激活函数,即:
l 2 = tanh ( W 2 l 1 + b 2 ) l_{2}=\tanh \left(W_{2} l_{1}+b_{2}\right) l2=tanh(W2l1+b2