百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

遍览数年历史视频、挖掘用户兴趣,快手建模方案TWIN入选KDD 2023

mhr18 2025-03-01 14:44 22 浏览 0 评论

机器之心专栏

机器之心编辑部

本期为大家介绍快手 - 社区科学线自研论文:TWIN: TWo-stage Interest Network for Lifelong User Behavior Modeling in CTR Prediction at Kuaishou 本文发表于 2023 年 KDD Applied Data Science Track(录取率 25.4%),旨在解决传统的超长行为建模中长久存在的「两阶段中相似度度量标准不一致」问题,从而提升超长行为建模的精准度。

作者:常健新、张晨斌、傅智毅、臧晓雪、关琳、吕静、惠轶群、冷德维、牛亚男、宋洋

论文地址:
https://arxiv.org/abs/2302.02352

1. 背景与 Motivation

快手,作为中国国民级短视频 APP,一直把痴迷客户作为算法设计的准绳和方向。每天,我们的推荐系统个性化地为每一个用户提供她最喜欢的视频内容,并为每一位创作者找到最知音的受众。为了达成高度个性化推荐这一目标,推荐系统需要充分利用一切宝贵的用户侧特征。

在这一背景下,终身行为建模(也叫做超长行为序列建模,Lifelong user behavior modeling),应运而生。顾名思义,终身行为建模就是从用户数月至数年中积累的几万个历史观看视频中,利用深度学习模块,准确地提取出用户隐藏的兴趣,从而助力推荐系统中的高阶任务,如 CTR 预估等。

1.1 行为序列建模方法

在早期研究中,短期行为建模算法(如 DIN,DIEN 等)往往采用各种 attention 机制,对短期历史行为做加权平均。其中,与 target video 更相似的行为被赋予高权重,而与 target video 不相似的行为则在加权中被压缩。

例如图一中,target video 是双板滑雪教学视频, 与滑雪户外相关的历史行为获得了更高的权重,而音乐唱片等不太相关的历史行为则获得了很低的权重。

图一:传统一阶段 Attention 方法用于短期行为建模

然而,鉴于 Attention 机制中昂贵的计算,这些短期行为建模算法,往往只能处理 100 + 的行为序列。相反地,绝大多数快手的活跃用户,每天就会观看 100 多个视频,几个月下来,就能积累 1 万到 10 万个历史行为。所以,这些有效的短期行为建模算法无法直接被扩展到超长行为序列建模中。近年来,超长行为建模往往采取两阶段建模的方法。我们以这一领域的 SOTA,SIM 算法为例,为大家简要介绍两阶段终身学习算法的共同框架。

1.2 超长行为序列建模的 SOTA

两阶段超长行为建模的范式是:先用一个简单高速的 GSU 模块选择出与 target video 最相关的 top100 个行为,再用复杂精准的 ESU 模块,对这 100 个优胜者,做 target attention(TA),从而提取出超长序列中隐含的用户兴趣表征。如图二所示。

图二:两阶段建模的一般范式,其中 target video 是滑雪教学视频,GSU 粗筛出了滑雪、户外运动相关的视频供 ESU 做 TA

近年来,大量的两阶段建模方法层出不穷,它们的主要区别在于 GSU 依据什么标准来粗筛与 target video 相似的行为。例如,SIM Hard 的 GSU 简单地从历史行为中过滤出与 target video 相同的类别的行为,而 SIM Soft 通过某些预训练任务获得 embedding,计算 target 和历史行为的内积作为相似度量,而后筛选相似度最高的行为。ETA 使用局部敏感哈希 (LSH) 和汉明距离来近似计算相关性分数。SDIM 通过多轮哈希碰撞等方法对与目标行为具有相同哈希签名的行为进行采样。

1.3 两阶段建模方法的缺陷

尽管经过了广泛的研究,现有的两阶段终身行为建模算法仍然存在一个关键的缺陷:GSU 和 ESU 之间,相似度度量标准的不一致。例如:SIM 的 GSU 通过品类过滤或预训练任务中 embedding 的内积距离计算出来的距离度量,和 ESU 中基于 end2end 训练的 target attention,差距较大。如此,GSU 可能会筛选出 ESU 不认可的行为,浪费了 ESU 宝贵的计算能力,却只能在一些与 target 不太相关的行为中权衡注意力的分布。这种不一致性,极大地拉低了超长序列建模模块的表现力,从而伤害了 CTR 预估的精准度。

图三:SIM 中 GSU 和 ESU 的不一致

例如,我们在图三中,用具体的数字直观地说明一下这种不一致的严重程度。在一些小规模数据集上,我们可以不计成本做一个 Oracle,即用 ESU 直接从 1 万个历史行为中,找到 ESU 真正的 top100 作为 ground truth,对比用 SIM-hard 的 GSU 筛选出来的 topK。图中 x 轴代表 GSU 返回 K 个行为,y 轴代表 SIM hard 的 GSU 命中的 ground truth 个数。

我们可以看到,SIM 的 GSU 返回的前 100 个可能只有 40 个是真正的前 100,而 SIM 返回的前 200 也只有 57 个是真正的前 100。图中的灰色区域,就是留给我们解决两阶段不一致问题的提升空间。

所以,如何才能升级 GSU 的计算方法,使它能用与 ESU 一致的距离度量,从而找到在 ESU 中 Attention 权重较高的行为,是弥补现有两阶段算法的缺陷的关键点。

2. TWIN 算法

我们把本文提出的算法命名为 TWIN,即强调我们的 GSU 和 ESU,如同双胞胎一样,应用了同样的目标与行为之间的距离度量。如图四所示。

图四:TWIN,两阶段一致的网络结构

然而这种一致性的达成,是不平凡的。ESU 的距离度量依赖多头目标注意力网络(MHTA),计算极为耗时,所以一般只用在 100 个行为上。换句话说,我们需要解决的是,如何把通常应用于 100 个行为上的 MHTA 提升性能,从而扩展到 GSU 需要处理的 1 万到 10 万个行为上?




在实际落地中,我们采用 MHTA 结构,用 4heads 来多角度学习用户的隐藏兴趣。

2.3 系统设计

图六详细地列出了系统设计图,整体分为 3 部分:


3. 实验结果

在于 SOTA 两阶段算法对比中,我们验证了算法的有效性:

图七:与 SOTA 对比

通过分析对 top100 的命中率,我们验证了两阶段的一致性。注意理论上我们的算法 GSU 和 ESU 完全一致,效果应接近 Oracle;然而,由于缓存延迟的 15 分钟,使得实际效果有一定不足(蓝色阴影区域):

图八:两阶段一致性

我们设计丰富的消融实验,证明了不仅两阶段的结构一致很重要,GSU 和 ESU 之间的 embedding 同步也同样对我们的效果提升起到贡献。交叉特征计算的 Bias 项,虽然简单却对效果至关重要。同时,我们的预计算模块,虽然大幅节省了计算时间,对效果的负向影响却很微弱。

我们在三个业务模块中,通过线上 AB 对比实验,验证了算法的有效性。

撰文:吕静,快手模型与应用部

相关推荐

Java面试宝典之问答系列(java面试回答)

以下内容,由兆隆IT云学院就业部根据多年成功就业服务经验提供:1.写出从数据库表Custom中查询No、Name、Num1、Num2并将Name以姓名显示、计算出的和以总和显示的SQL。SELECT...

ADG (Active Data Guard) 数据容灾架构下,如何配置 Druid 连接池?

如上图的数据容灾架构下,上层应用如果使用Druid连接池,应该如何配置,才能在数据库集群节点切换甚至主备数据中心站点切换的情况下,上层应用不需要变动(无需修改配置也无需重启);即数据库节点宕机/...

SpringBoot多数据源dynamic-datasource快速入门

一、简介dynamic-datasourc是一个基于SpringBoot的快速集成多数据源的启动器,其主要特性如下:支持数据源分组,适用于多种场景纯粹多库读写分离一主多从混合模式。支持...

SpringBoot项目快速开发框架JeecgBoot——项目简介及系统架构!

项目简介及系统架构JeecgBoot是一款基于SpringBoot的开发平台,它采用前后端分离架构,集成的框架有SpringBoot2.x、SpringCloud、AntDesignof...

常见文件系统格式有哪些(文件系统类型有哪几种)

PART.01常见文件系统格式有哪些常见的文件系统格式有很多,通常根据使用场景(Windows、Linux、macOS、移动设备、U盘、硬盘等)有所不同。以下是一些主流和常见的文件系统格式及其特点:一...

Oracle MySQL Operator部署集群(oracle mysql group by)

以下是使用OracleMySQLOperator部署MySQL集群的完整流程及关键注意事项:一、部署前准备安装MySQLOperator通过Helm安装Operator到Ku...

LibreOffice加入"转向Linux"运动

LibreOffice项目正准备削减部分Windows支持,并鼓励用户切换到Linux系统。自Oracle放弃OpenOffice后,支持和指导LibreOffice开发的文档基金会对未来有着明确的观...

Oracle Linux 10发布:UEK 8.1、后量子加密、增强开发工具等

IT之家6月28日消息,科技媒体linuxiac昨日(6月27日)发布博文,报道称OracleLinux10正式发布,完全二进制兼容(binarycompatibility...

【mykit-data】 数据库同步工具(数据库同步工具 开源)

项目介绍支持插件化、可视化的数据异构中间件,支持的数据异构方式如下MySQL<——>MySQL(增量、全量)MySQL<——>Oracle(增量、全量)Oracle...

oracle关于xml的解析(oracle读取xml节点的属性值)

有时需要在存储过程中处理xml,oracle提供了相应的函数来进行处理,xmltype以及相关的函数。废话少说,上代码:selectxmltype(SIConfirmOutput).extract...

如何利用DBSync实现数据库同步(通过dblink同步数据库)

DBSync是一款通用型的数据库同步软件,能侦测数据表之间的差异,能实时同步差异数据,从而使双方始终保持一致。支持各种数据库,支持异构同步、增量同步,且提供永久免费版。本文介绍其功能特点及大致用法,供...

MYSQL存储引擎InnoDB(八十):InnoDB静态数据加密

InnoDB支持独立表空间、通用表空间、mysql系统表空间、重做日志和撤消日志的静态数据加密。从MySQL8.0.16开始,还支持为模式和通用表空间设置加密默认值,这允许DBA控制在这些模...

JDK高版本特性总结与ZGC实践(jdk高版本兼容低版本吗)

美团信息安全技术团队核心服务升级JDK17后,性能与稳定性大幅提升,机器成本降低了10%。高版本JDK与ZGC技术令人惊艳,且JavaAISDK最低支持JDK17。本文总结了JDK17的主要...

4 种 MySQL 同步 ES 方案,yyds!(两个mysql数据库自动同步的方法)

本文会先讲述数据同步的4种方案,并给出常用数据迁移工具,干货满满!不BB,上文章目录:1.前言在实际项目开发中,我们经常将MySQL作为业务数据库,ES作为查询数据库,用来实现读写分离,...

计算机Java培训课程包含哪些内容?其实就这六大块

不知不觉秋天已至,如果你还处于就业迷茫期,不如来学习Java。对于非科班小白来说,Java培训会更适合你。提前了解下计算机Java培训课程内容,会有助于你后续学习。下面,我就从六个部分为大家详细介绍...

取消回复欢迎 发表评论: