核心要点
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 不是先验固定的查表,而是随任务学习的参数;不同任务/不同目标学出的向量语义不同,直接跨任务复用前要确认目标一致,否则可能引入偏置。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。