# Two-Tower Models(双塔模型) ## 核心思想一句话概括 **Two-Tower Model 是一种通过两个独立的深度神经网络(“双塔”)分别学习查询(Query)和候选(Candidate)的向量表示,并通过计算这两个向量之间的相似度(如点积)来进行匹配、排序或推荐的模型架构。** 它的核心目标是:**将从不同模态(如文本、图像、ID)来的查询和候选,映射到同一个向量空间(Embedding Space),从而在这个空间里,相似度的计算变得简单且高效。** --- ## 模型结构:为什么叫“双塔”? 顾名思义,该模型由两个并行的、结构相似但参数不共享的神经网络组成,形似两座塔。 1. **查询塔(Query Tower)**: * **输入**:代表用户意图的信息。在推荐中,这可以是用户的历史行为序列、用户画像特征、当前的上下文(如时间、地点)等。在搜索中,这就是搜索词(Query)。 * **输出**:一个固定长度的低维稠密向量,称为**查询向量(Query Embedding)**,记为 $u$。 2. **候选塔(Candidate Tower)**: * **输入**:代表被推荐物品的信息。在推荐中,这可以是物品的ID、标题、标签、封面图等特征。在搜索中,这就是文档、商品或视频。 * **输出**:一个同样固定长度的低维稠密向量,称为**候选向量(Candidate Embedding)**,记为 $v$。 3. **相似度计算(Similarity Score)**: * 最终的输出分数是这两个向量之间的相似度,最常用的是**点积(Dot Product)** 或**余弦相似度(Cosine Similarity)**。 * **分数 = $u \cdot v$** --- ## 双塔模型的核心特点和工作流程 ### 1. 离线计算(候选塔的预计算)- 高效的关键 这是双塔模型能应用于超大规模推荐(百万甚至十亿级别候选池)的**最关键优势**。 * 由于候选物品(如视频、商品)是相对固定的,我们可以**提前**用候选塔计算出**所有**候选物品的向量 $v$,并将其存入高效的向量数据库(如FAISS, ScaNN)中。 * 当用户的请求(Query)到来时,我们只需要**实时地**用查询塔计算一次用户向量 $u$。 * 然后,在向量数据库中进行**最近邻搜索(Approximate Nearest Neighbor, ANN)**,快速找到与 $u$ 点积最大的Top-K个候选向量,这些就是最终要推荐的物品。 **这种“离线计算候选,在线计算查询”的模式,使得模型能承受极高的并发请求,延迟极低。** ### 2. 在线服务 * **输入**:用户实时请求。 * **步骤**: 1. 查询塔实时计算用户向量 $u$。 2. 将 $u$ 发送到向量数据库。 3. 数据库通过ANN搜索返回最相似的N个候选物品ID。 4. 将这些ID返回给用户。 整个过程在毫秒级别内完成。 --- ## 双塔模型的优势 1. **极高的服务效率**:如上述,在线计算量极小,非常适合大规模候选集的召回(Matching/Candidate Generation)阶段。 2. **灵活性**:双塔可以处理多种类型的特征(稀疏特征、稠密特征、文本、图像),通过不同的网络结构(如MLP, CNN, Transformer)学习其表示。 3. **解耦性好**:查询和候选的编码过程是完全独立的,这意味着可以方便地单独更新某一塔(例如,只更新物品塔加入新物品特征,而无需改动用户塔)。 --- ## 双塔模型的劣势与挑战 1. **信息损失**:由于双塔在最终点积之前没有任何交互,**查询和候选的早期特征交叉信息丢失了**。这与精排模型(如DeepFM, DIN)允许大量特征交叉相比是一个劣势。因此,双塔通常只用于召回阶段,而不是最终排序。 2. **负采样挑战**:模型的训练严重依赖于负样本(用户未点击的物品)的质量。如何选择负样本(随机采样?困难负样本采样?)对模型效果影响巨大。 3. **热度偏差**:容易偏向于推荐热门物品,因为热门物品的向量范数可能更大,点积更容易占优。 --- ## 应用场景 1. **推荐系统召回层**:这是最经典的应用。从百万物品库中快速召回几百个用户可能感兴趣的物品。 2. **广告召回**:从海量广告中快速匹配可能对当前用户感兴趣的广告。 3. **语义搜索/文本匹配**:一塔编码查询文本,另一塔编码文档文本,学习语义层面的匹配。 4. **跨模态检索**:例如,一塔编码文本描述(“一只黑猫”),另一塔编码图片,实现文搜图或图搜文。 ## 总结 **Two-Tower Model 是一种为大规模检索和匹配任务而设计的高效神经网络架构。它通过“双塔”结构分别学习查询和候选的嵌入表示,并通过近似最近邻搜索实现毫秒级的海量数据检索。尽管它在特征交叉上存在不足,但其无可比拟的服务效率使其成为现代工业级推荐系统、搜索和广告系统中召回阶段不可或缺的核心技术。**