双塔模型
概述
推荐系统基础模型架构:用户塔和物品塔分别独立产生 embedding,通过内积计算相似度,支持高效的 ANN 检索。
关键内容
-
基本结构:双塔模型由两个独立的神经网络塔组成——"用户塔"(User Tower)和"物品塔"(Item Tower)。用户塔接收用户侧特征(观看历史、搜索历史、人口统计学等),物品塔接收物品侧特征(视频 ID、频道、类别等)。两塔分别产生固定维度的 embedding 向量,通过内积(或余弦相似度)计算用户-物品匹配分数。
-
起源:Deep Neural Networks for YouTube Recommendations(RecSys 2016)中的候选生成模型是双塔模型的原型。用户通过 MLP 前向计算得到 embedding u,每个视频对应 softmax 层的权重向量 v_i 作为 embedding。训练时用 softmax 分类,服务时用 ANN 检索。
-
训练与服务的不对称:训练时两塔共同参与 softmax 分类器的训练,通过 采样 Softmax 降低计算开销。服务时用户 embedding 通过前向传播实时计算,物品 embedding 预先存储,推荐问题转化为在物品 embedding 空间中寻找与用户 embedding 最近的 Top-N 个物品——即 近似最近邻检索 问题。
-
特征处理方式:YouTube DNN 中,用户的观看历史(视频 ID 序列)每个 ID 映射为 embedding 后取平均值得到固定长度稠密向量,借鉴了 Word2Vec 中 CBOW 的思想。搜索历史同样 tokenize 后取平均。这些特征拼接后输入 MLP。
-
后续发展:双塔模型成为推荐系统中最基础的模型架构之一。后续的 DSSM(微软)、MIND(阿里)等模型都是这一思路的延伸。现代双塔模型在特征处理上更加精细,引入了注意力机制、序列建模、多模态特征等。
-
优势:(1)计算高效——用户和物品 embedding 可独立预计算,服务时只需内积运算;(2)支持 ANN 检索——embedding 空间中的最近邻搜索可在亚线性时间内完成;(3)泛化能力强——embedding 可被下游任务复用。
-
局限:(1)用户和物品特征在塔的顶层之前无交互,无法捕捉细粒度的特征交叉;(2)简单的平均操作丢失了序列中的时序信息(后续 DIN、DIEN 等工作对此做了改进);(3)表达能力受限于内积这一单一交互方式。
来源
- 07-youtube-dnn.md — Deep Neural Networks for YouTube Recommendations 深度解读
相关
- Deep Neural Networks for YouTube Recommendations — 双塔模型的起源论文
- 两阶段推荐架构 — 双塔模型在其中的角色
- Embedding — 双塔模型的核心表示
- 近似最近邻检索 — 双塔模型的服务方式
- 采样 Softmax — 双塔模型的训练技术
- DSSM — 微软的双塔模型延伸
- MIND — 阿里的双塔模型延伸