模型目的:
传统DNNs的特征交叉主要发生在bit-wise,这个模型想在vector-wise学习特征交互。
概念:
- bit-wise和vector-wise feature interaction
假设有两个向量(a1, a2, a3), (b1, b2, b3)
- bit-wise的特征交互是指,特征交互发生在神经元之间。比如(w1a1a2, w2b1b2, w3c1c2)
- vector-wise的特征交互是指,embedding之间的特征交叉。比如w(a1b1c1, a2b2c2)
2. explicit & implicit
显示特征组合:通过一定的转化,最后能变成w*Xi*Wj的形式;
隐示特征组合:无法得到具体的组合形式。
模型结构
第一个部分linear layer:linear layer是为了feature engineering的特征
第二个部分DNN:学习bit-wise的特征交互。
第三个部分CIN layer:学习vector-wise的特征交互。
最后的模型logits是把三个output加起来再加上一个bias参数。
和其它的FM/DNN模型的区别:
传统FM模型能模拟所有的特征交互,包括有用的特征交互和没用的特征交互。没用的特征交互会引入noise,降低模型效果。DNN可以帮助学习复杂的、selected的特征交互。FNN和PNN模型有一个共同的缺点,就是忽略了低阶特征交互。Wide&Deep Model和DeepFM模型都解决了这个问题。DeepFM也学习了vector-wise的特征交互(但没有在paper中特殊说明)。xDeepFM模型可以看做是DeepFM模型的一个泛化。
模型创新:
模型创新主要在于提出CIN layer,CIN layer可以看做是对DCN模型中cross layer的改进。CIN layer可以学习高阶特征交互explicitly。