搜广推校招面经五十五

腾讯搜推面经

一、双塔模型有什么缺点

双塔模型(Two-Tower Model)是一种常见的推荐系统或检索系统架构,尤其在处理大规模用户-物品交互数据时表现出色。

1.1. 特征交互受限

  • 问题 :双塔模型将用户特征和物品特征分别编码为两个独立的向量(用户塔和物品塔),然后在顶层通过简单的点积或余弦相似度计算得分 。这种设计限制了用户特征和物品特征之间的细粒度交互
  • 影响:无法捕捉复杂的特征交叉信息,可能导致模型性能不如一些能够显式建模特征交互的模型(如 DeepFM、DCN 等)。

1.2. 冷启动问题

  • 问题:双塔模型依赖于用户和物品的历史交互数据来学习表示。对于新用户或新物品(冷启动场景),模型难以生成有效的嵌入向量。
  • 影响:在冷启动场景下,模型的推荐或检索效果较差。

1.3. 塔结构不对称

  • 问题:在某些场景中,用户塔和物品塔的特征分布和复杂度可能差异较大,但双塔模型通常采用对称结构,可能导致某一侧的特征表达能力不足。
  • 影响:如果用户特征或物品特征非常复杂,简单的塔结构可能无法充分提取有效信息。

1.4. 训练和推理不一致

  • 问题:双塔模型在训练时通常使用点积或余弦相似度作为目标函数,但在推理时可能采用最近邻搜索(如 ANN)来加速检索。这种不一致可能导致训练目标和实际推理效果之间存在差距。
  • 影响:模型在训练时表现良好,但在实际推理时效果下降。

二、双塔模型怎么提前做物品和用户的特征交叉

2.1. 通过特征工程预计算交叉特征

可以在训练前,利用统计或规则方法构造用户和物品的交叉特征。例如:

  • 计算用户和物品的历史交互特征,例如用户对某个品类的偏好。
  • 计算物品流行度,并结合用户特征归一化,例如某用户对高流行度物品的偏好程度。
  • 预计算用户和物品的相似性特征,如基于协同过滤的相似度。

三、介绍 AutoInt 模型

  • 自动化特征交叉:无需人工设计交叉特征,模型可自动学习高阶交互。
  • 自注意力机制:利用 Multi-Head Self-Attention(MHSA)对特征进行建模,能够捕捉全局依赖关系。
  • 层次化建模:可以堆叠多个自注意力层,以捕捉更深层的特征交互信息。

AutoInt 主要包含以下几个模块:

  1. Embedding 层:将稀疏的类别型特征映射到低维的稠密向量表示。
  2. Self-Attention 层:使用多头自注意力机制(Multi-Head Self-Attention, MHSA)学习特征之间的高阶交互关系。
  3. MLP 预测层:对注意力层的输出进行 MLP 变换,并最终计算预测结果。

四、MMOE 的最大优势

4.1. 显式建模任务关系

  • 问题背景:在多任务学习中,不同任务之间可能存在冲突(例如,点击率和转化率的目标可能不一致)。
  • MMOE 的解决方案:通过多门控机制(Multi-gate),MMOE 可以为每个任务动态分配专家网络的权重,从而显式建模任务之间的关系。
  • 优势:能够更好地处理任务冲突,提升多任务学习的整体性能。

4.2. 灵活的任务共享与独立

  • 问题背景:传统的多任务学习模型(如 Shared-Bottom)通常强制所有任务共享底层特征表示,可能导致任务之间的干扰。
  • MMOE 的解决方案:MMOE 使用多个专家网络(Experts),每个专家网络可以学习不同的特征表示,并通过门控机制为每个任务选择合适的专家组合。
  • 优势:既保留了任务之间的共享信息,又允许任务保持一定的独立性,从而提升模型的灵活性。

4.3. 可扩展性强

  • 问题背景:在多任务学习中,任务数量可能动态变化,传统模型难以适应。
  • MMOE 的解决方案:MMOE 的结构设计允许轻松扩展任务数量,只需增加相应的门控网络即可。
  • 优势:适用于任务数量动态变化的场景,扩展性强。

4.4. 高效的特征利用

  • 问题背景:在多任务学习中,不同任务对特征的依赖程度可能不同。
  • MMOE 的解决方案:通过门控机制,MMOE 可以为每个任务动态选择最相关的专家网络,从而高效利用特征。
  • 优势:能够更好地捕捉任务与特征之间的关系,提升特征利用率。

4.5. 缓解负迁移

  • 问题背景:在多任务学习中,任务之间的负迁移(一个任务的学习对另一个任务产生负面影响)是一个常见问题。
  • MMOE 的解决方案:通过多专家和多门控机制,MMOE 可以减少任务之间的干扰,缓解负迁移问题。
  • 优势:提升多任务学习的鲁棒性和稳定性。
相关推荐
自由鬼10 分钟前
人工智能:企业RAG方案
人工智能·python·机器学习·ai·deepseek
Ai 编码助手13 分钟前
PHP与Python无缝融合,开启跨语言开发新纪元
开发语言·python·php
ππ记录25 分钟前
python3.13.2安装详细步骤(附安装包)
linux·开发语言·python·python3.13.2安装·python 3.13.2下载·python3.13.2·python 3.13.2
科技宅说33 分钟前
北京南文观点:AI掘金术激活算法中的“沉默用户”
人工智能·机器学习
九不多34 分钟前
多阶段构建实现 Docker 加速与体积减小:含文件查看、上传及拷贝功能的 FastAPI 应用镜像构建
python·yolo·docker·fastapi
程序员yt40 分钟前
西交建筑学本科秋天毕业想转码,自学了Python+408,华为OD社招还是考研更香?
python·考研·华为od
ice_junjun41 分钟前
OpenCV ML 模块使用指南
人工智能·opencv·计算机视觉
卧式纯绿1 小时前
目标检测20年(二)
人工智能·深度学习·算法·yolo·目标检测·机器学习·目标跟踪
xiaocao_10231 小时前
可以高效记录工作生活琐事的提醒APP工具
人工智能·生活·提醒
张同学吧1 小时前
使用FastAPI为知识库问答系统前端提供后端功能接口
python·fastapi