嵌入表示
概述
将高维稀疏的类别型特征映射为低维稠密实数向量的表示学习方法,是 Factorization Machines 隐向量和现代深度学习推荐模型的核心组件。
关键内容
- FM 中的隐向量:在 Factorization Machines 中,每个特征 $i$ 对应一个 $k$ 维隐向量 $\mathbf{v}_i \in \mathbb{R}^k$,用于建模特征间的二阶交互 $\langle \mathbf{v}_i, \mathbf{v}_j \rangle$。这本质上就是类别型特征的嵌入表示——将 one-hot 编码的稀疏特征映射为低维稠密向量。
- 矩阵分解中的隐因子:矩阵分解 将用户-物品评分矩阵分解为用户隐向量和物品隐向量的内积,这些隐向量同样是嵌入表示。FM 证明了 MF 是其在特定特征编码下的特例,因此 FM 的隐向量统一了 MF 的用户/物品嵌入。
- 参数共享机制:嵌入表示的核心优势在于参数共享。特征 $i$ 的嵌入 $\mathbf{v}_i$ 从特征 $i$ 与所有其他特征的交互中共同学习,而非仅依赖于 $(i, j)$ 共现的样本。这使得即使在极度稀疏的数据中,嵌入仍能学到合理的表示。
- 深度学习时代的延伸:现代推荐系统中,嵌入层(Embedding Layer)是几乎所有深度模型的标准组件,这正是 FM 首先系统化提出的。每个类别型特征(用户 ID、物品 ID、广告类别等)都对应一个可学习的嵌入表,查询时通过索引获取对应的嵌入向量。
- 嵌入维度选择:嵌入维度 $k$ 的选择是偏差-方差权衡的体现。$k$ 太小会欠拟合(表达能力不足),$k$ 太大会在稀疏数据上过拟合。实践中 FM 通常选择 $k = 8, 16, 32$,深度模型的嵌入维度可达 64-256。
- 与自注意力的结构相似性:FM 的交叉项 $\sum_i \sum_j \langle \mathbf{v}_i, \mathbf{v}_j \rangle x_i x_j$ 与 Transformer 的自注意力机制 $\text{softmax}(QK^T/\sqrt{d})V$ 存在结构相似性——两者都通过"向量内积"衡量元素之间的交互强度。FM 可看作是一种没有 softmax 归一化、没有 Value 投影的"原始注意力"。
- DeepFM 中的共享嵌入:DeepFM 中 FM 组件和 DNN 组件共享同一组嵌入向量,避免了分别学习导致的参数冗余,是嵌入表示在深度模型中的典型应用模式。
来源
相关
- Factorization Machines — 隐向量即嵌入表示
- 矩阵分解 — 用户/物品隐因子即嵌入
- 特征交叉 — 通过嵌入内积建模
- CTR 预估 — 嵌入表示的核心应用场景
- Self-Attention机制 — 与嵌入内积有结构相似性
- DeepFM — 共享嵌入的典型应用