近年来,深度学习兴起,制霸了很多算法领域。在推荐系统中,在数据量足够的情况下,深度模型效果也优于传统模型。各大会议中,我们看到相关的模型层出不穷,wide&deep,deepfm,pnn等。细究这些模型,网络结构可以拆分为各个组件,不同的模型可看成是组件的排列组合。下面从组件粒度来分析下深度推荐模型。模型论文见参考文献。
embedding
embedding是模型的第一层。初始特征先离散化,做one-hot编码。对每一组特征,查询embbedding_look_up,然后进行sum_pooling。每一维度的特征,都会映射到一个固定长度的隐向量中。embbedding的参数会随着模型训练更新。
wide
相当于lr。不走embedding,对于离散特征,加入人工特征组合,hash到特征空间中,进行训练学习。设计的目标是记忆到一些case实例。wide&deep中使用。
deep
进行多层的mlp/dnn。在embedding产生的结果concat起来,送入训练。设计的目标是学习到一些高阶特征组合。wide&deep和deepfm和pnn中使用。