论文阅读 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_0x_{k-1}^Tw_k+b_k+x_{k-1} \]

可以用数学归纳法证明网络的输出\(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_{h,*} = \sum^{H_{k-1}}_{i=1} \sum^m_{j=1}W^{k,h}_{ij}\left(X_{i,*}^{k-1} \circ X^0_{j,*} \right) \]

因为\(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\)是回归系数

\[p_i^k = \sum^D_{j=1}X_{i,j}^k \\ \boldsymbol p^k=[p_1^k ,p_2^k,...p_{H_k}^k] \\ \boldsymbol p^+ = [\boldsymbol p^1 ,\boldsymbol p^2 ,...,\boldsymbol p^T] \\ y = \frac{1}{1+\exp(\boldsymbol p^{+T} \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。输出单元为

\[\hat y = \sigma(\boldsymbol w^T_{linear}\boldsymbol a +\boldsymbol w^T_{dnn}\boldsymbol x^k_{dnn}+\boldsymbol w^T_{cin}\boldsymbol p^+ +b) \]

其中\(\sigma\)是sigmoid函数,\(\boldsymbol a\)是原始特征

定义损失函数为

\[\mathcal L = -\frac{1}{N}\sum^N_{i=1}y_i \log \hat y_i + (1-y_i)\log(1-\hat y _i) \]

优化过程是优化以下目标函数

\[\mathcal J = \mathcal L +\lambda_*||\Theta|| \]

\(\lambda_*\)表示正则项,\(\Theta\)表示参数集

4 实验

性能对比

CIN在高阶特征交互学习中如何表现

是否有必要将显式和隐式高阶特征交互结合起来

网络设置对xDeepFM的影响:网络的深度;每层神经元个数;激活函数

5 相关工作

传统推荐系统:不基于因子分解的模型;因子分解模型

深度学习推荐系统:高阶交互的深度学习;表示学习

6. 总结

posted @ 2020-10-16 15:35  无证_骑士  阅读(388)  评论(0)    收藏  举报
页脚HTML页码