前言
xDeepFM
(eXtreme Deep Factorization Machine)模型是2018年由中科大、北邮、微软研究院在KDD上联合提出的模型(论文:“xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems”)。该模型「最主要的贡献」就是提出了CIN(Compressed Interaction Network)网络结构。该网络提出的目的是「为了提高特征交互的能力」。
本篇文章约2.5k字,预计阅读12分钟。
1. 研究问题
DNN有出众的学习能力,但是学习到的特征交互都是「隐式」的,即并不知道模型进行哪些特征交叉。并且神经元的交互是「bit-wise level」。
❝文章提出两个概念的特征交叉:
❞bit-wise level
和vector-wise level
。bit-wiselevel指的就是神经网络中节点之间的交互(DCN模型的Cross Network交互类型也是bit-wise level,文章具体提到了DCN,可以看一下原文描述);vector-wise level指的是embeddingh向量之间的特征交叉(例如FM、DeepFM、PNN的特征交叉)。
因此本文主要是针对DCN的Cross Network的特征交叉是bit-wise level,对其进行了改进,「使用CIN对Cross Network进行替代,CIN是显示的高阶特征交互,并且是vector-wise level」。
2. 模型结构
以下是xDeepFM的总体结构,主要由三部分组成:Linear、CIN与DNN。
2.1 Linear层
直接使用原生特征(one-hot编码)进行二分类任务。
2.2 Embedding层
与所有经典的基于神经网络的推荐相同,Embedding层都是将多个领域(field)组成的高维稀疏分类特征通过神经网络嵌入到低维密集特征。这也可以看作是一种向量(「vector-wise」)之间的交互。具体过程如下图所示:
为了后文叙述方便,作者将所有的embedding向量作为一个矩阵
,公式化为:
其中 表示field的数量, 表示embedding特征, 为embedding维度。
2.3 CIN网络
「输入:」 CIN网络的输入即Embedding的输出, ;
「输出:」 CIN的第 层的输出, ,其中 为第 层特征向量的数量,且 ;
「计算:」 对于 的计算方式如下:
其中 , 是第 个特征向量的参数矩阵, 表示一个哈达玛积(Hadamard product),即「两个向量对应元素相乘」。最终