从多模态模型到推荐漏斗,揭秘推荐算法的底层逻辑

前言

打开抖音,连续滑动几次屏幕后,我们往往会发现一个有趣的现象:

喜欢篮球的人,首页几乎都是 NBA 集锦;

喜欢科技的人,总能刷到最新的数码评测;

喜欢游戏的人,推荐列表里充满了各种游戏实况与攻略视频。

仿佛抖音比我们自己更了解自己。

很多人都听过这样一句话:

当你在刷抖音的时候,抖音也在不断学习你的兴趣。

这句话虽然带有调侃意味,但从技术角度来看却并非毫无道理。

因为当用户不断浏览、点赞、评论和分享视频时,推荐系统也在不断收集数据、分析行为、更新用户画像,并重新计算下一批应该推荐给用户的内容。

而这一切的背后,离不开 用户画像多模态模型向量计算双塔模型 以及复杂的 推荐排序系统

本文将从推荐系统的整体工作流程出发,深入理解抖音推荐算法背后的核心思想。


一、当你在刷抖音时,抖音在干什么?

对于用户来说,刷抖音只是一个简单的动作:

打开APP
↓
观看视频
↓
滑动切换
↓
继续观看

但对于推荐系统而言,这个过程实际上是在持续收集用户兴趣数据。

例如:

  • 观看了什么视频
  • 停留了多久
  • 是否点赞
  • 是否评论
  • 是否分享
  • 是否关注作者

这些行为都会被系统记录下来。

随着数据不断积累,系统会逐渐建立属于每个用户的兴趣档案,也就是我们常说的 用户画像(User Profile)

用户画像是什么?

用户画像(User Profile) 是系统对于用户兴趣的数字化描述。

例如一个用户可能具备以下兴趣标签:

科技
NBA
新闻
游戏
电影

早期推荐系统通常直接使用标签进行内容匹配。

例如:

用户喜欢NBA
↓
推荐篮球视频

但随着平台规模不断扩大,这种方式已经无法满足需求。

因为每天都有数千万用户产生新的行为数据,同时平台还会新增海量视频内容。

此时,推荐系统需要一种更高效的数据表达方式。

这就是 向量化表示(Vector Representation)


从兴趣标签到 Vector(向量)

现代推荐系统并不会简单记录:

用户喜欢科技

而是会将用户兴趣转换成高维的 Vector(向量)

例如:

[
  0.85,
  0.05,
  0.03,
  ...
]

其中每个维度都代表某种潜在特征。

例如:

0.85 → 科技
0.05 → 幽默
0.03 → 体育
...

在工业级推荐系统中,一个用户通常会被表示成:

128维向量
256维向量
512维向量
甚至1024维向量

因此:

用户 = 512维向量

同样地,每一个视频也会被表示成:

视频 = 512维向量

此时推荐问题发生了变化。

原来的问题是:

用户喜欢什么视频?

变成了:

哪个视频向量与用户向量最接近?

推荐系统开始从内容匹配问题,转变为数学计算问题。

推荐系统的本质,是寻找与用户向量最接近的视频向量。

而这也是为什么短视频平台背后需要庞大计算资源的重要原因。


二、多模态模型:抖音如何理解一条视频

用户画像解决的是:

用户喜欢什么

那么另一个问题来了:

视频到底是什么内容?

对于人类来说,理解视频是一件非常简单的事情。

但对于计算机而言,视频本质上只是一堆数字和像素点。

因此推荐系统必须先理解视频内容,才能进行后续推荐。

这便引出了近年来人工智能领域最热门的方向之一:

多模态模型(Multimodal Model)


什么是多模态?

模态(Modality)指的是信息的表现形式。

例如:

文字
图片
音频
视频

都属于不同模态。

而视频本身就是一个典型的多模态数据。

因为它同时包含:

  • 视觉信息
  • 音频信息
  • 文本信息
  • 情绪信息

推荐系统必须同时理解这些内容。


视觉特征提取

首先需要处理的是视频画面。

系统会对视频进行逐帧分析。

例如一个视频中出现:

猫
程序员
电脑
篮球比赛
寝室看世界杯

模型都能够识别出来。

目前主流方案之一是:

Vision Transformer(ViT)

即视觉 Transformer。


Vision Transformer 的核心思想

在传统计算机视觉领域,CNN(卷积神经网络)长期占据主导地位。

而近年来 Transformer 架构被引入视觉领域后,产生了 Vision Transformer。

其核心思想是:

把图片切分成大量小块(Patch)。

例如:

Patch1
Patch2
Patch3
...

随后像处理单词一样处理这些图像块。

利用 Transformer 的自注意力机制建立全局关联。

相比传统 CNN:

  • 能获得更强的全局理解能力
  • 更适合大规模数据训练
  • 与大语言模型架构保持统一

因此系统不仅能够识别:

这是一只猫

还能进一步判断:

猫正在晒太阳
视频整体氛围温暖治愈

甚至能够分析画面的色彩风格和情绪基调。

ViT 是近年来计算机视觉领域最重要的突破之一,也是多模态大模型的重要基础。


音频特征提取

视频不仅有画面。

还有声音。

因此推荐系统还需要处理音频信息。

首先会使用 ASR(Automatic Speech Recognition) 技术。

即自动语音识别。

其作用是:

语音
↓
文本

例如视频中的配音:

今天带大家学习Python

会被自动转换成文字。

随后进入 NLP 模型进行分析。


NLP语义分析

NLP(Natural Language Processing) 即自然语言处理。

其任务是理解文本含义。

例如:

机器学习
深度学习
大模型

系统会自动提取这些关键词。

从而判断视频主题属于:

AI
编程
科技

相关领域。


情绪特征分析

除了内容本身,推荐系统还会分析声音中的情绪信息。

例如:

  • 音量大小
  • 说话速度
  • 情绪变化
  • 背景音乐风格

系统能够区分:

激情演讲

和:

轻声讲述故事

之间的差异。

最终,视觉信息、音频信息、文本信息以及情绪特征会被融合。

形成统一表示:

视觉特征
+
音频特征
+
文本特征
+
情绪特征
↓
512维视频向量

而这正是后续推荐流程的输入数据。

在这里插入图片描述

三、推荐漏斗:从1000万条视频到你的首页

假设平台拥有:

1000万条视频

如果系统对每一条视频都进行完整计算,成本将极其恐怖。

因此工业级推荐系统通常采用一种经典架构:

推荐漏斗(Recommendation Funnel)

整体流程如下:

召回
↓
粗排
↓
精排
↓
重排

通过层层筛选不断缩小候选集合。

这样既保证推荐效果,又能够控制计算成本。


双塔模型:推荐系统的第一道筛选

推荐漏斗的第一步是 召回(Recall)

召回阶段的核心目标是:

从海量视频中快速找到用户可能感兴趣的内容。

这里通常会使用:

双塔模型(Two Tower Model)

双塔模型由两部分组成:

用户塔(User Tower)
视频塔(Item Tower)

用户塔负责学习用户兴趣特征,最终生成:

用户向量

视频塔负责学习视频内容特征,最终生成:

视频向量

最终形成:

用户向量
VS
视频向量

之间的匹配关系。

由于用户和视频都已经被转换成向量,因此推荐问题本质上变成了向量匹配问题。

在这里插入图片描述


Cosine Similarity:如何判断用户是否喜欢某个视频

系统如何知道两个向量是否相似?

最常见的方法就是:

Cosine Similarity(余弦相似度)

其核心思想非常简单:

两个向量夹角越小,相似度越高。

例如:

用户向量:
[0.90, 0.08, 0.02]

视频向量:
[0.88, 0.10, 0.02]

两个向量方向十分接近。

说明该视频与用户兴趣高度匹配。

因此系统会优先推荐。

通过向量检索与余弦相似度计算,系统能够从:

1000万条视频

中迅速筛选出:

1000条候选视频

这就是召回阶段的作用。

需要注意的是:

召回阶段并不追求绝对精准。

它更像是在海量内容中先进行一次“大海捞针”。

只要能够把可能感兴趣的视频找出来即可。


粗排:进一步缩小候选范围

召回得到的1000条视频仍然太多。

如果直接进入复杂模型计算,服务器压力依然非常大。

因此需要进入下一阶段:

粗排(Coarse Ranking)

粗排通常使用相对轻量级的机器学习模型。

快速计算一些基础特征,例如:

  • 视频质量
  • 用户兴趣匹配程度
  • 视频热度
  • 发布时间
  • 作者质量

经过粗排后:

1000条视频
↓
300条视频

进入下一阶段。

此时虽然淘汰了大量内容,但大多数用户真正感兴趣的视频仍然被保留下来。


精排:预测用户的下一步行为

精排是整个推荐系统最核心的环节之一。

因为它决定了:

用户最终会看到什么内容,以及内容出现的顺序。

此时系统不再只考虑简单匹配。

而是会预测用户对于每个视频可能产生的行为。

例如:

  • 是否点击
  • 是否看完
  • 是否点赞
  • 是否评论
  • 是否分享
  • 是否关注作者

这些行为都会被模型预测对应概率。

随后计算综合得分:

Score =
w1 × 点击率
+
w2 × 完播率
+
w3 × 点赞率
+
w4 × 评论率
+
w5 × 分享率

其中:

w1
w2
w3
...

代表不同指标的重要程度。

例如某个平台可能更加重视:

完播率

那么对应权重就会更高。

如果更加重视内容传播:

分享率

权重也会提升。

最终:

Score 越高
↓
排序越靠前
↓
越容易被用户看到

这也是为什么有些视频会突然爆火。

因为模型预测它能够获得更高的用户反馈。


四、重排机制与探索机制

如果推荐系统永远按照分数排序,会产生一个问题。

假设最近你对 AI 内容特别感兴趣。

那么系统可能会推荐:

AI
AI
AI
AI
AI
AI
AI

虽然非常精准。

但很快就会产生内容疲劳。

用户的新鲜感会逐渐下降。

因此推荐系统还需要进行最后一步:

重排(Re-Ranking)


重排机制:主动打散内容

重排阶段并不是为了提高准确率。

而是为了提高内容多样性。

例如前十个视频全部属于:

AI

领域。

系统可能会主动插入:

美食
旅行
舞蹈
音乐

等内容。

形成更加丰富的信息流。

例如:

AI
AI
美食
AI
旅行
AI
舞蹈

这样既能保持用户兴趣,又能避免审美疲劳。

重排机制的目标不是提高预测准确率,而是提升用户体验。

这也是现代推荐系统不可缺少的重要环节。


Explore 与 Exploit:推荐系统最经典的问题

在推荐系统领域,有一个极其经典的问题:

Explore(探索)Exploit(利用)

几乎所有推荐平台都必须解决这个问题。


Exploit:利用已知兴趣

系统已经知道:

你喜欢AI

那么最安全的做法就是:

继续推荐AI

因为这样能够获得更高的点击率。

这种策略被称为:

Exploit(利用)

即充分利用已经掌握的信息。


Explore:探索潜在兴趣

但问题在于:

用户兴趣并不是固定不变的。

例如某一天。

你偶然刷到一个:

野外求生视频

并且停留了几秒钟。

对于推荐系统来说,这可能意味着:

用户出现了新的兴趣方向

于是系统会尝试继续推荐几条类似内容。

观察你的后续反应。

这种行为就叫:

Explore(探索)

即主动寻找用户可能喜欢的新内容。


用户画像为什么会不断变化

很多人认为:

用户画像建立完成后就固定不变了。

实际上并非如此。

推荐系统中的用户画像始终是动态更新的。

例如最开始:

科技:80%
篮球:20%

经过一段时间后:

科技:60%
篮球:20%
野外求生:20%

继续观看相关内容后:

科技:45%
篮球:15%
野外求生:40%

用户画像会随着每一次点击、停留、点赞和分享不断调整。

用户画像不是静态数据,而是实时变化的数据模型。

因此推荐系统才能持续理解用户不断变化的兴趣。


为什么很多推荐系统采用 80% + 20% 策略

如果系统只做 Exploit。

用户容易产生疲劳。

如果系统只做 Explore。

推荐准确率又会大幅下降。

因此很多平台都会采用类似策略:

80% 已知兴趣
+
20% 潜在兴趣探索

例如:

80%
推荐用户已经喜欢的内容

20%
测试用户是否喜欢新的内容

这样既能够保证推荐效果。

又能够不断发现新的兴趣标签。

从长期来看,能够显著提高用户活跃度与停留时间。


总结

从表面上看,刷抖音只是不断上下滑动屏幕的过程。

但在背后,一个复杂而庞大的推荐系统正在高速运转。

它会通过用户行为构建 用户画像,利用 多模态模型 理解视频内容,通过 向量化表示 建立用户与视频之间的联系,再经过 双塔模型召回、粗排、精排、重排 等多个阶段,最终将最适合用户的视频推送到首页。

整个流程可以概括为:

用户行为
↓
用户画像
↓
向量化表示
↓
多模态理解视频
↓
双塔模型召回
↓
粗排
↓
精排
↓
重排
↓
最终推荐

在这里插入图片描述

当我们下一次打开抖音时,不妨换个角度思考:

你看到的每一条视频,都不是随机出现的,而是推荐系统经过海量数据分析与复杂算法计算后,为你量身定制的结果。

也正因为如此,才有了我们熟悉的:

千人千面。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值