从双塔模型到信息茧房:我在抖音做推荐算法优化的3个关键发现

抖音同城算法探讨 抖音的同城算法是一个融合地理定位、机器学习和边缘计算的复杂系统,其核心目标是在保证推荐精准度的同时实现毫秒级响应。 阅读详情

从双塔模型到信息茧房:我在抖音做推荐算法优化的3个关键发现

作为一名在抖音推荐系统一线摸爬滚打了数年的算法工程师,我每天面对的是每秒数亿级别的用户请求和海量视频内容。我的工作,简单来说,就是让算法更懂你,但又不能“太懂你”。听起来有点矛盾,对吧?这正是推荐系统最迷人的地方,也是最大的挑战所在。我们既要精准地捕捉你的兴趣,让你刷得停不下来,又要小心翼翼地避免让你陷入一个由单一内容构成的“信息孤岛”——也就是大家常说的“信息茧房”。

这几年,我深度参与了从双塔召回模型迭代到多目标排序优化的全过程,见证了算法从单纯追求点击率到如今兼顾多样性、长期价值与生态健康的复杂演进。这不仅仅是技术的升级,更是对“推荐”这件事本身理解的深化。今天,我想抛开那些复杂的公式和架构图,和你分享三个在实战中让我印象最深刻、也最具启发性的关键发现。这些发现关乎技术,更关乎我们如何理解用户、内容以及算法这三者之间微妙而动态的关系。

1. 召回阶段的革命:当双塔模型遇见“兴趣探索”

召回,是推荐系统的第一道关卡。它的任务是从数以亿计的视频库中,快速筛选出几百个你“可能”会感兴趣的内容候选集。你可以把它想象成一个超级高效的“海选”环节。在很长一段时间里,我们的主力召回模型是经典的双塔模型。这个模型的设计非常巧妙,它像两座并立的塔楼:

  • 用户塔:专门负责学习你的特征。它会把你所有的行为——点击、点赞、评论、观看时长、甚至是你刷视频的时间段——都转化成一串高维的、稠密的数字向量。这串数字就是你的“兴趣指纹”,虽然人类看不懂,但对机器来说,它精确地代表了你的偏好。
  • 内容塔:专门负责学习视频的特征。视频的视觉信息、音频、标题、发布者信息等,也会被编码成另一串数字向量,可以理解为视频的“内容指纹”。

召回的过程,就是计算你的“兴趣指纹”和每一个视频“内容指纹”之间的相似度(比如余弦相似度),然后选出最相似的那一批。这个方法的效率极高,因为它允许我们离线预先计算好所有视频的向量,线上服务时只需要计算一次用户向量,然后进行快速的向量检索即可。

# 一个简化的双塔模型召回过程示意(伪代码)
def two_tower_retrieval(user_features, all_video_features, top_k=500):
    # 1. 通过用户塔模型,将用户特征转化为用户向量
    user_embedding = user_tower_model.predict(user_features)

    # 2. 所有视频的特征已预先通过内容塔模型计算好,存储在向量数据库中
    # 3. 进行近似最近邻搜索,找到与用户向量最相似的top_k个视频向量
    candidate_video_ids, similarity_scores = vector_db.ann_search(user_embedding, top_k)

    return candidate_video_ids

然而,我们很快发现了双塔模型的一个固有缺陷:它太擅长“迎合”了。如果你的“兴趣指纹”显示你是个篮球迷,那么它就会疯狂地给你召回篮球视频,导致候选池高度同质化。长此以往,你的推荐流就会越来越窄,这就是“信息茧房”在召回阶段的源头。

【深度学习技术系列】推荐系统-双塔模型基本原理与实践 双塔模型经典又简单,就是NLP领域的 query 和 document,推荐领域的 user 和 item,多模态检索领域的图像和文字等,都可以用双塔表示,分别把两个领域的特征编码成一个向量,然后向量相似度进行召回。较早使用双塔模型的是DSSM模型。将文本编码成对应低维向量,然后通过优化向量点积估值,得到合适的query和文档向量。线上通过query和文档的相似度进行文档的召回。推荐系统中使用的双塔模型结构如下:真实的推荐领域的大规模推荐系统,通常有百万到上亿的item和user。 阅读详情

相关推荐

抖音推荐算法实战解析:从Wide&Deep到双塔模型,如何精准预测你的下一个点赞

本文深度解析抖音推荐算法的技术演进与工程实践,从Wide&Deep到双塔模型的应用细节。探讨如何通过机器学习与深度学习技术精准预测用户行为,优化推荐效果,并分享抖音在用户画像构建、冷启动问题解决及系统性能优化方面的实战经验。

rgv234567的博客 422

推荐算法面经整理

召回 -> 精排 -> 多目标混排推荐的模型发展过程 LR widedeep 多任务(PLE详细解释) 多场景等召回排序有哪些模型?具体是干什么的?协同过滤是怎么样的?召回策略,协同过滤,关键词召回召回的多样性双塔模型优势,缺点,如何改进分为用户塔和物品塔。这块我了解到用户塔和物品塔都是相对静止的,可能隔天才会更新。但面试官说用户塔也可以做到根据用户的行为进行实时更新。双塔模型是做什么的,为什么不用热度推荐,相比的话dssm有什么优点双塔模型、hard样本构建;

YESLUP的博客 1655

短视频推荐的底层逻辑:大数据如何 “读懂” 你的每一次滑动

短视频的推荐机制,本质是大数据与人工智能对人类兴趣的数学化解读。从前端埋点捕捉的每一次滑动,到双塔模型的向量匹配,再到 AB 测试的精细优化,每一个环节都体现了技术的进步。但我们必须清醒地认识到,算法终究是工具,它能计算数据的相似度,却无法替代人类对多元世界的探索。未来的推荐系统,必将走向技术与人文的深度融合。一方面,多模态大模型、图神经网络等技术的发展,会让算法更精准地理解内容的深层价值与用户的潜在需求;另一方面,隐私保护技术的完善与探索机制的优化,会让推荐既精准又多元。

欢迎来到我的博客! 1943

Oracle数据库RMAN异机恢复保姆级教程,按照步骤来操作,一次就成功!

本文深入解析RMAN异机恢复四大核心场景(演练、数据恢复、故障应急、测试环境搭建),提供从备份到验证的完整步骤和实战脚本。包含RAC到单机迁移技巧、路径调整、常见报错解决方案,助你彻底掌握数据库恢复的“救命技能”。DBA必备干货,强烈推荐

Jackyimi的博客 940

RK3588交叉编译实战:从环境搭建到程序部署

本文详细介绍了在X86主机上为RK3588开发板搭建交叉编译环境的完整流程。从获取ARM工具链、配置sysroot,到实战编译Hello World和Qt应用程序,并提供了部署方法和常见问题解决方案。通过交叉编译,开发者可以在高性能PC上高效开发,并在ARM架构的RK3588上运行程序,大幅提升嵌入式开发效率。

weixin_29191669的博客 274

一文详解心电图(ECG)监测原理

介绍心电图的监测原理,从心电信号产生、获取到心电图的基本组成

m0_50146396的博客 3288

【人工智能】在 cc-switch 中配置 AnyRouter 接入 Claude Code 完整指南

本文介绍了在cc-switch工具中配置AnyRouter中转服务以接入Claude Code的详细步骤。主要内容包括:1) 准备API令牌和端点地址;2) 填写基础信息和模型参数;3) 保存配置并重启终端生效;4) 常见问题排查方法。重点强调了API地址格式、模型ID准确性以及配置写入的必要性,帮助用户顺利完成中转服务配置,实现Claude 4.5版本的正常使用。

奶爸的编程之路,也就一周冷个三天 3103

SAPFiori Elements Analytical List Page 概述

ALP(Analytical List Page)是SAP Fiori提供的一种复合页面类型,结合了分析(图表/KPI)与事务(表格/操作)功能,适用于需要分析后立即执行处理的业务场景(如采购价格监控、销售逾期处理等)。其核心价值在于让用户在同一页面完成从数据洞察到事务处理的闭环,减少应用切换带来的效率损耗。 页面结构包含页头KPI标签、交互式图表和明细表格,通过联动过滤、选择同步等机制实现数据钻取与即时操作。支持标准过滤和可视化过滤,并依赖OData注解(SelectionVariant/Presenta

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 269

【低照度图像增强系列】使用MSRCR(Multi-Scale Retinex with Color Restoration)算法对低照度图像进行增强处理

【低照度图像增强系列】使用MSRCR(Multi-Scale Retinex with Color Restoration)算法对低照度图像进行增强处理

静谧、淡雅 649

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

上一篇: ONLYOFFICE启动慢?教你用OSS+NGINX加速字体加载(附跨域配置)
下一篇: 用Python玩转星闪开发:Hispark Studio环境配置与GPIO控制LED实战
php55
博客等级 码龄15年 51粉丝 1553原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值