核心要点

  • Embedding:把高维稀疏的离散 ID/类别特征映射为低维稠密向量

  • 通常作为模型第一层参数,随 CTR/召回等主任务端到端学习

  • 语义相近的 ID 在向量空间靠近,可迁移、可跨任务复用

  • 应用:精排做特征输入;召回时直接用向量做 ANN 检索

标准回答

是什么:用户 ID、物品 ID、类目、标签等都是高维稀疏的离散特征,one-hot 维度巨大且无语义。Embedding 把每个 ID/特征映射为一个低维稠密向量,存于 embedding table,把「字符串/编号」变成「可计算的几何点」。

怎么学:embedding table 是模型的可训练参数,作为网络第一层,随主任务(CTR 预估、召回对比学习等)端到端反向传播学习。被一起点击/共现的物品,其向量会被拉近,从而在空间中编码出行为语义。也可用 word2vec 式(item2vec)自监督预训练

怎么用

  • 精排:embedding 作为稠密特征喂给 DNN,并与其他特征做交叉。
  • 召回:双塔等模型直接产出用户向量与物品向量,物品向量离线入库,线上用 ANN(FAISS/HNSW)按内积检索 Top-K。

价值:稠密表示泛化好、缓解稀疏;学到的向量可迁移复用到其他任务(如新模型冷启)。

常见误区

⚠️ 常见踩坑

Embedding 不是先验固定的查表,而是随任务学习的参数;不同任务/不同目标学出的向量语义不同,直接跨任务复用前要确认目标一致,否则可能引入偏置。

追问

追问 1推荐里 ID Embedding 的冷启动怎么处理?

新 ID 没有学到的向量。常见做法:用其内容/属性特征的 embedding 做初始化或回退,用相似物品向量均值,或引入侧信息塔生成向量;逐步累积交互后再让 ID embedding 接管。

追问 2为什么 embedding 维度不是越大越好?

维度过大显存与计算开销剧增,且在稀疏数据下易过拟合、长尾 ID 学不充分;维度过小则表达力不足。需在效果与成本间权衡,常对高频/低频 ID 用混合维度等技巧。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。