共享嵌入
概述
在并行多组件模型中,不同组件使用同一套嵌入参数,通过联合优化使嵌入同时适配多种学习任务。
关键内容
- DeepFM 的核心设计:DeepFM 最核心的创新是 FM 组件和 Deep 组件使用完全相同的嵌入层参数。每个特征 i 的嵌入向量 V_i 同时被用于 FM 的二阶交互计算 ⟨V_i, V_j⟩ 和 Deep 组件中拼接后输入 DNN。
- 三重优势:(1)参数效率——嵌入层通常占据模型参数量的绝大部分,共享避免参数冗余;(2)联合优化——FM 的二阶信号和 DNN 的高阶信号共同优化嵌入,使嵌入同时适配低阶和高阶学习;(3)消除预训练——不需要像 FNN 那样先用 FM 预训练嵌入再送入 DNN。
- 与 Wide & Deep 的区别:Wide & Deep 的 Wide 和 Deep 部分各有独立输入,而 DeepFM 的 FM 和 Deep 共享嵌入输入。这是 DeepFM 消除手工特征工程的关键设计。
- 实验验证:消融实验表明,与不共享嵌入的"LR & DNN"和"FM & DNN"相比,共享嵌入的 DeepFM 在 AUC 上提升了 0.44%-0.48%,在 LogLoss 上降低了 0.58%-0.80%。
- 通用范式:共享嵌入已成为推荐系统"浅层 + 深层"并行架构的标准设计模式,后续的 xDeepFM、DCN 等工作都继承了这一设计理念。