工业推荐系统一般包含两个部分:召回和排序。召回阶段根据用户的兴趣和历史行为,从海量的物品库里,快速找回小部分用户潜在感兴趣的物品。排序模型需要融入各种特征(例如用户端的特征、物品端的特征等),使用较为复杂的模型,对召回阶段输出的物品集合进行排序,为用户做精准的个性化推荐。排序模型融入特征不仅需要考虑单独每一个特征,更需要考虑特征之间的交互。特征交互也叫特征组合,通过将两个或多个特征组合起来,进行一系列操作,来实现对样本空间的非线性变换,增加模型的非线性能力,以达到对于不同的特征组合都能进行有效预测的目标。

 

那么如何建模特征交互?最容易想到的方法是对所有特征的组合都枚举一遍。但是,这种显式地特征交互有一定的局限性:(1)非线性建模能力有限(2)更高阶的特征交互计算量大,难以实现(3)数据稀疏性大时,出现次数少的特征难以训练(4)不能自动化实现特征交互,人工代价大。随着深度学习时代的到来,特征交叉方案变得更加丰富,很多工作利用深度神经网络(DNN)来隐式地建模特征交互的高阶关系,来解决显式特征交互带来的问题。一些典型的工作例如PNN,Wide&Deep,NFM,DeepFM,xDeepFM,DIN等。

 

本文梳理了从LR到CAN,推荐系统发展过程中比较知名的特征交互排序模型。文章一共包含5个部分:

  1. 非深度特征交互:LR, FM, FFM, FwFM, LorentzFM, FM^2

  2. 深度特征交互: DNN(FNN), DeepCrossing, Wide&Deep, PNN, NFM, AFM, DeepFM, DCN, xDeepFM, FiBiNET, ONN. DCN V2

  3. 自动特征交互: AutoInt, AFN, AutoFIS, AIM

  4. 基于图的特征交互: Fi-GNN, L0-SIGN, PCF-GNN, DG-ENN

  5. 基于序列的特征交互: DIN, DIEN, DSIN, DMR, CAN

内容中包含的图片若涉及版权问题,请及时与我们联系删除