先总结一下模型DeepFM 模型以高维稀疏的原始用户 / 物品 / 上下文特征为输入,通过共享嵌入层将特征映射为低维稠密向量,一方面由 FM 组件建模一阶特征重要性和二阶特征交互,另一方面由 DNN 组件通过多层全连接学习高阶复杂特征交互,最终将两个组件的输出融合后经 sigmoid 激活,端到端输出 CTR 预测概率,全程无需人工特征工程和预训练。

一、背景

CTR 预测是推荐系统 / 在线广告的核心任务,目标是预估用户点击推荐物品的概率,学习用户行为背后的特征交互是提升预测效果的关键,但当时的模型存在三大问题:

  1. 低阶 / 高阶交互偏科:线性模型(LR)无法学习特征交互,FM 仅能有效建模二阶交互,纯 DNN 模型(FNN/PNN)侧重高阶交互,忽略低阶交互的重要性;
  2. 依赖人工特征工程:如 Google 的 Wide&Deep 模型,其 Wide 部分需要专家手动设计交叉特征(如 “用户安装 APP + 曝光 APP”),当特征数量大时难以穷尽;
  3. 训练效率低 / 需预训练:如 FNN 需要先预训练 FM 得到嵌入向量,再训练 DNN,分阶段训练导致效率低且嵌入参数受 FM 过度影响。

此外,CTR 预测的输入特征具有高维、稀疏、混合类型(类别 / 连续) 特点,普通 DNN 直接训练易出现维度灾难,这也是模型设计的重要约束。

二、DeepFM 模型架构

DeepFM 的核心思想是:用 FM 建模低阶特征交互(一阶 + 二阶),用 DNN 建模高阶特征交互(三阶及以上),两者共享同一套输入特征和嵌入向量,端到端联合训练,整体公式为:

其中是预测的 CTR 概率,是 FM 组件输出,是 DNN 组件输出,最终通过 sigmoid 激活映射到概率区间。

模型整体分为输入层、嵌入层、FM 组件、DNN 组件、输出层,核心是嵌入层共享——FM 和 DNN 使用相同的特征嵌入向量,既避免重复计算,又让低阶 / 高阶交互的学习相互影响,提升特征表示的精准度。

1. FM 组件:建模低阶特征交互

FM 组件继承了经典 FM 的设计,负责学习一阶特征重要性二阶特征交互,输出公式为:

  • 第一部分<w,x>:一阶特征交互,w是一阶权重向量,反映单个特征对 CTR 的独立影响(如 “性别为男” 对游戏 APP 点击的影响);
  • 第二部分:二阶特征交互,Vi​/Vj​是特征i/j的低维嵌入向量(维度k),通过计算嵌入向量的内积,建模任意两个特征的交互;
  • 核心优势:即使特征对(i,j)在训练数据中很少共现,也能通过各自的嵌入向量学习交互,解决了稀疏特征下的交互学习问题。
2. DNN 组件:建模高阶特征交互

DNN 组件是一个前馈神经网络,负责学习三阶及以上的复杂特征交互(如 “年龄 + 性别 + APP 类别” 的三阶交互),针对 CTR 特征的稀疏性做了专门设计:

  1. 嵌入层:将高维稀疏的类别特征(经独热编码)压缩为低维稠密的嵌入向量,所有特征的嵌入向量维度统一为k,连续特征直接作为一维向量输入;
  2. 隐藏层:将嵌入层输出的所有特征向量拼接为一个大向量,送入多层全连接层,通过非线性激活(ReLU/Tanh)学习高阶交互,前向传播公式为:

    其中是第l层输出,是第l层的权重和偏置,σ是激活函数;
  3. 输出层:最后一层隐藏层输出经线性变换得到,与 FM 组件输出相加后送入 sigmoid。
3. 关键设计:嵌入层共享

这是 DeepFM 与 Wide&Deep 最核心的区别:

  • Wide&Deep:Wide 部分和 Deep 部分使用不同的输入,Wide 部分需要人工设计交叉特征,嵌入层不共享;
  • DeepFM:FM 和 DNN 使用同一套输入特征和嵌入向量,FM 的嵌入向量Vi​直接作为 DNN 嵌入层的权重,无需人工设计特征,且端到端联合训练,所有参数(w,Vi​,DNN权重)同步更新。

三、DeepFM 与同期模型的对比

论文对比了当时主流的 CTR 预测模型,证明 DeepFM 是唯一同时满足 “无需预训练、建模高低阶交互、无需特征工程” 的模型,核心对比如下:

模型 无需预训练 建模高阶交互 建模低阶交互 无需特征工程 核心缺陷
FNN × × 需 FM 预训练,忽略低阶交互
PNN(IPNN/OPNN) × 忽略低阶交互,内积计算效率低
Wide&Deep × Wide 部分需人工设计交叉特征
DeepFM 无明显缺陷

四、其他相关模型对比

对比维度 FM(因子分解机) FFM(场感知因子分解机) DeepFM(深度因子分解机)
核心定位 解决稀疏特征下的二阶特征交互建模 对 FM 的场感知优化,精细化二阶特征交互 融合 FM+DNN,端到端建模低 / 高阶全阶特征交互
特征交互建模能力 仅能有效建模二阶特征交互,一阶为线性加权 仅能有效建模二阶场感知特征交互,无高阶 一阶 + 二阶(FM)+ 三阶及以上(DNN)全阶交互
场感知设计 无场概念,所有特征统一处理 引入场(Field),特征嵌入向量与场绑定 无显式场概念,嵌入层按特征域统一维度,共享学习
嵌入向量设计 每个特征仅 1 个嵌入向量Vi​ 每个特征对应每个场 1 个嵌入向量Vi,f​ 每个特征 1 个嵌入向量,FM 与 DNN 共享
模型结构 单层线性模型 + 二阶内积交互 单层线性模型 + 二阶场感知内积交互 双分支结构:FM 分支(低阶)+ DNN 分支(高阶)
是否需要特征工程 无需人工设计交叉特征,支持原始稀疏特征 无需人工设计交叉特征,需定义特征所属场 完全无需特征工程,直接输入原始高维稀疏特征
适用场景 特征维度适中、仅需二阶交互的 CTR / 推荐场景 特征可清晰分场、需精细化二阶交互的场景 高维稀疏特征、需同时捕捉低 / 高阶复杂交互的 CTR / 推荐核心场景
核心优势 结构简单、效率高,解决稀疏特征交互问题 场感知设计让二阶交互更精准,适配分场特征 全阶交互建模、免特征工程、共享嵌入层兼顾效果与效率
核心局限性 无法建模高阶特征交互 无法建模高阶特征交互,参数量易膨胀 DNN 高阶交互为 “黑箱”,无法显式控制交互阶数

五、总结

DeepFM 是“FM+DNN 共享嵌入” 的设计思路被后续众多模型借鉴(如 xDeepFM、AutoFM 等),成为推荐系统 / 在线广告的基础模型之一。

核心优势:在无需人工特征工程的前提下,实现了低阶 + 高阶特征的端到端学习,兼顾效果、效率、工程落地性,这也是其至今仍被广泛应用的原因。

适用场景:高维稀疏特征的点击率 / 转化率预测,如电商推荐、在线广告、APP 商店推荐等,是工业界落地的首选模型之一。

后续延伸:DeepFM 无法建模显式的特征交叉阶数,后续 xDeepFM 提出了 CIN(压缩交互网络),解决了 DNN 高阶交互 “黑箱” 问题,进一步提升了特征交互的建模能力。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐