论文阅读 xDeepFM
2020.7.31
Abstract
xDeepFM , 全名为 eXtreme Deep Factorization Machine , 在结构上由压缩交互网络(CIN)和经典的深度神经网络(DNN)构成,一方面可以显式地学习边界交互特征,另一方面可以学习任意的低维或者高维隐式特征
关键词
因子分解机;神经网络;推荐系统;深度学习;特征交互
1 介绍
特征工程在预测系统中非常重要,数据挖掘专家会在处理原始特征上做出很多的工作,其中一个重要的特征变换就是交叉特征。
传统的提取交叉特征的方法有以下问题:获取高维特征计算量大,数据量大不可能提取出所有交叉特征,人工定义的交叉特征很难推广到隐式数据中。传统的FM方法可能引入噪音,FNN和PNN缺乏对低维特征提取,Wide&Deep和DeepFM平衡了高低维特征的提取。
本文希望用显式的方法,改进之前的模型。结合了显式高维特征提取模块和隐式交互模块和传统的FM模型。
2 预备知识
Embedding Layer : CV和NLP的输入数据在时间或者空间上相关,所以DNN可以直接应用原始数据,而网页数据过于稀疏,需要进行Embedding 把稀疏数据进行压缩。
Implicit High-order Interactions : FNN , Deep Crossing , 和Wide&Deep中的深度部分都用到了前向传播神经网络,它们逐位对交互信息进行建模。而PNN和DeepFM则加入了向量交互。
Explicit High-order Interactions :CrossNet对于隐藏层的计算和传统的全连接层不同,我们认为它学习了一种特殊类型的高阶特征相互作用。
可以用数学归纳法证明网络的输出\(x_k\)是\(x_0\)的标量倍数,记为\(x_{i+1}=\alpha ^{i+1}x_0\) , 所以CrossNet可以非常有效的学习特征交互,复杂度低。但是缺点是输出是标量倍数从而受限制,而且以逐位方式进行交互。
3 模型
3.1 Compressed Interaction Network
主要目标是:1)有向量级的交互,不仅仅是位级的 2)显式测量高阶特征相互作用 3)网络复杂度不会随着交互程度的增长而指数级增长
\(X^0\)为embedding层的输出,\(X^0\)的第i行表示第i维度的embedding向量,\(X^0_{i,*} = e_i\) 。 \(X^k\)表示CIN的第k层的输出,对于每一层,\(X^k\)用以下公式计算
因为\(X^k\)由\(X^{k-1}\)和\(X^0\)派生而来,所以显式地测量了相关程度,且这个相关程度随着深度的增加而增加,结构非常类似于RNN。
中间张量\(Z^{k+1}\),可以看作是\(X^k\)和\(X^0\)的外积,然后可以把\(W^{k,h}\)看作是滤波器,从而将\(Z^{k+1}\)展平得到隐藏向量\(X^{k+1}_{i,*}\) ,这个过程类似于CV中的压缩,\(X^k\)是\(H^k\)个特征图的collection。
我们对每个隐藏层的特征图应用sum pooling ,最后用sigmoid函数输出概率,\(\boldsymbol w^o\)是回归系数
3.2 CIN Analysis
空间复杂度:参数总数为\(\sum^T_{k=1}H_k\times(1+H_{k-1}\times m)\),相比较DNN在空间上更少
时间复杂度:\(O(mHD)\) ,相比较下DNN的时间复杂度为\(O(mHD+H^2T)\)
多项式逼近
3.3 Combination with Implicit Networks
结合CIN和DNN,最终模型既能兼顾低阶和高阶特征,又能兼顾显式和隐式特征,记为 xDeepFM。输出单元为
其中\(\sigma\)是sigmoid函数,\(\boldsymbol a\)是原始特征
定义损失函数为
优化过程是优化以下目标函数
\(\lambda_*\)表示正则项,\(\Theta\)表示参数集
4 实验
性能对比
CIN在高阶特征交互学习中如何表现
是否有必要将显式和隐式高阶特征交互结合起来
网络设置对xDeepFM的影响:网络的深度;每层神经元个数;激活函数
5 相关工作
传统推荐系统:不基于因子分解的模型;因子分解模型
深度学习推荐系统:高阶交互的深度学习;表示学习

浙公网安备 33010602011771号