xDeepFM论文阅读

背景

xDeepFM方法是DCN系列的延续与改进,DCN方法主要问题是特征交叉是bit-wise,但是实际中,特征是分field(每个feature对应的embedding),因此xDeepFM中提出了field-wise的显式高阶特征交叉方法CIN

 

模型原理

xDeepFM模型结构的整体框架保持了DCN系列的特点,主要包括特征交叉、DNN和线性三部分,三部分的结果在模型的输出层进行融合,如图1所示。线性部分对one-hot形式的特征进行处理,得到1维的表征结果。特征交叉网络为CIN(Compressed Interaction Network)结构,每一层对特征进行域交叉,得到更高阶的交叉特征。不同于DCN-v和DCN-m中的特征交叉网络,每层包含所有阶数的交叉项,CIN每层仅包含了特定阶数的交叉项,因此需将CIN的每一层的输出进行concat,得到特征交叉部分的结果。

xDeepFM的核心就是完成特征交叉的CIN结构,CIN的处理过程主要包括三部分:

(1) 对底层输入特征和上一层得到的特征表征进行field-wise的两两组合

(2) 对组合结果进行压缩,得到特定field数量的特征表征

(3) 每一层的交叉结果经过sum pooling后再concat,得到包含2阶到L+1阶的(L为CIN的层数)的交叉结果。

 

field-wise特征交叉

CIN的第k层对输入特征X0(是一个m*D维的矩阵,m是field的数目,D是每个embedding的维度)和上一层的输出Xk-1(是一个Hk-1*D维的矩阵,Hk-1是field的数目,D是每个embedding的维度)进行交叉,具体来说,就是Xk-1的Hk-1个向量和X0的m个向量和分别做点乘,得到Hk-1*m个D维向量

 

压缩变换

通过field-wise特征交叉我们得到了Hk-1*m个D维向量,在这里通过类似CNN的操作,求Hk次这Hk-1*m个D维向量的加权和,得到第k层的输出Xk

 

参考资料

https://zhuanlan.zhihu.com/p/600119672

https://zhuanlan.zhihu.com/p/57162373

posted @ 2021-12-07 22:04  xd_xumaomao  阅读(168)  评论(0编辑  收藏  举报