揭秘华为应用市场APP推荐中的深度学习算法:DeepFM

但目前的广度模型和深度模型都有各自的局限。广度模型(LR/FM/FFM)一般只能学习1阶和2阶特征组合;而深度模型(FNN/PNN)一般学习的是高阶特征组合。在之前的举例中可以看到无论是低阶特征组合还是高阶特征组合,对推荐效果都是非常重要的。Wide & Deep模型依然需要人工特征工程来为Wide模型选取输入特征。

DeepFM模型结合了广度和深度模型的有点,联合训练FM模型和DNN模型,来同时学习低阶特征组合和高阶特征组合。

此外,DeepFM模型的Deep component和FM component从Embedding层共享数据输入,这样做的好处是Embedding层的隐式向量在(残差反向传播)训练时可以同时接受到Deep component和FM component的信息,从而使Embedding层的信息表达更加准确而最终提升推荐效果。

DeepFM相对于现有的广度模型、深度模型以及Wide & Deep模型的优势在于:

(1) DeepFM模型同时对低阶特征组合和高阶特征组合建模,从而能够学习到各阶特征之间的组合关系;

(2) DeepFM模型是一个端到端的模型,不需要任何的人工特征工程。

华为2386

DeepFM算法架构

为了验证DeepFM模型的精度,分别在Criteo Kaggle的竞赛数据集和华为应用市场的数据集上进行了实验。

Criteo Kaggle的数据集按照9:1的比例划分训练集和测试集。华为应用市场数据集由8天连续数据构成:前7天数据为训练集,后1天数据为测试集。实验结果表明:相比较业界最新的推荐算法,DeepFM模型在华为数据集上,AUC提升0.36%~0.86%,LogLoss提升0.34%~1.1%。

华为2604

DeepFM算法效果对比

DeepFM算法是华为伏羲推荐算法经过1年多的研究,并同业界深入合作的成果。团队还在深度学习推荐算法方面持续投入,研究更好的深度学习网络架构,实现更好的特征表达和特征交互方式,持续改进深度学习推荐模型,为华为应用市场和华为游戏中心的用户提供更好的个性化、精准化的用户体验,保持华为应用市场推荐系统的技术领先。