摘要:本文介绍推荐系统中特征交叉的核心技术,包括 FM 因式分解机、DCN 深度交叉网络、LHUC(PPNet)、SENet 与 Bilinear 交叉等。
一、为什么需要特征交叉?
线性模型中,特征之间是独立的,无法捕捉交互关系。例如:
- “用户是男性” + “物品是美妆” → 可能不买
- “用户是女性” + “物品是美妆” → 很可能买
单个特征无法表达这种组合效应,必须进行特征交叉。
二、FM(Factorized Machine)因式分解机
2.1 核心思想
在二阶特征交叉中,如果直接为每对特征分配一个权重,参数量是 $O(n^2)$,不可接受。
FM 的解决方案:用低秩矩阵分解来表示特征交互:
\[\hat{y}(x) = w_0 + \sum_{i=1}^{n} w_i x_i + \sum_{i=1}^{n} \sum_{j=i+1}^{n} \langle v_i, v_j \rangle x_i x_j\]其中 $v_i \in \mathbb{R}^k$ 是特征 $i$ 的隐向量,参数量从 $O(n^2)$ 降为 $O(nk)$。
2.2 历史地位
- FM 是特征交叉的奠基性工作
- 后续很多模型(FFM、DeepFM 等)都是在此基础上演进
- 现在已被更复杂的深度模型取代,但思想仍然重要
三、DCN(Deep & Cross Network)
3.1 交叉网络
DCN 提出了一种显式交叉层,可以自动学习任意阶的特征交叉:

交叉层的公式:
\[x_{l+1} = x_0 \cdot x_l^T \cdot w_l + b_l + x_l\]其中 $x_0$ 是初始输入,$w_l$ 和 $b_l$ 是第 $l$ 层的参数。
优点:相比全连接网络,交叉网络能更高效地学习特征交互,且阶数随着层数自动增长。
3.2 Deep & Cross 架构

DCN 将交叉网络和深度网络并行:
- 交叉网络(Cross Net):学习显式的高阶特征交叉
- 深度网络(Deep Net):学习隐式的复杂模式
- 两者输出拼接后送入最终预测层
DCN-v2 进一步改进了交叉层的表达能力和效率。
四、LHUC(PPNet)
4.1 核心思想
LHUC(Learning Hidden Unit Contribution)通过动态门控控制网络中每个神经元的贡献:
\[\text{output} = \sigma(s) \cdot \text{hidden}\]其中 $s$ 是从场景/用户特征学习到的缩放因子。
4.2 PPNet 中的应用
PPNet 将 LHUC 应用到精排场景中:
- Gate Net:根据用户/场景特征生成门控信号
- Tower Net:被门控信号调制的预测网络
场景特征 → Gate Net → 门控权重 s
↓
基础特征 → Tower Net → σ(s) * hidden → 输出
限制:LHUC/PPNet 只能用于精排阶段,因为:
- 计算开销较大
- 需要丰富的场景特征
- 召回/粗排阶段没有足够的时间和特征支持
五、SENet 与 Bilinear 交叉
5.1 SENet
SENet(Squeeze-and-Excitation Network)最初是 CV 领域的注意力机制,后被引入推荐系统:
- Squeeze:对特征做全局池化,得到特征的统计信息
- Excitation:通过全连接层学习每个特征的权重
- Scale:用学习到的权重对原始特征重新加权
在推荐系统中,SENet 可以自适应地调整特征的重要性。
5.2 Bilinear 交叉
Bilinear 交叉通过双线性变换捕捉特征间的交互:
\[f_{ij} = x_i^T W x_j\]其中 $W$ 是可学习的双线性矩阵。相比简单的逐元素相乘(Hadamard Product),Bilinear 交叉能捕捉更复杂的交互模式。
SENet + Bilinear 的组合(如 FLEN 等模型)在工业推荐系统中取得了显著效果。
六、特征交叉技术对比
| 方法 | 交叉阶数 | 参数量 | 适用场景 |
|---|---|---|---|
| FM | 二阶 | O(nk) | 传统推荐、基线模型 |
| DCN | 任意阶 | O(L·n) | 精排模型 |
| LHUC/PPNet | 隐式 | 中等 | 精排(需场景特征) |
| SENet + Bilinear | 二阶+注意力 | 中等 | 精排/粗排 |
七、总结
特征交叉是推荐模型从”线性”走向”智能”的关键。技术演进路径:
FM(二阶分解) → DCN(显式高阶) → SENet(自适应加权) → LHUC(动态门控)
实践建议:
- 精排场景优先使用 DCN-v2 或 DeepFM
- 有丰富场景特征时加入 PPNet/LHUC
- 粗排场景选择轻量级方案,避免过度交叉
相关文章: