CIKM论文解读|基于淘宝内容推荐场景下多场景全域表示的思考与应用
我们结合逛逛推荐场景中的具体问题,从多场景全域表征的视角进行了一系列的探索与内容推荐场景的应用,从全域表征的范围、信息迁移方式以及模型框架的应用等维度展开我们的优化工作,取得了阶段性的优化经验和业务效果。
淘宝逛逛自2020年底上线以来,一直作为淘宝内容化推荐体系下内容社区营造和种草分享的重要阵地。与商品推荐的区别在于,为了打造"好看, 有趣, 真实, 好物"的价值理念,淘宝逛逛在产品形态和分发体系上呈现出不同维度的"多元"特点,具体体现在:
多展现形式: 双列内容信息流(视频+图文)、无refer沉浸式视频TAB、带refer上下滑全屏页(视频、图文)等
多内容主体: 视频、图文、挂载商品
多用户心智: 内容种草心智、商品导购心智
图1. 淘宝逛逛多样化内容推荐场景
这样丰富多元的内容推荐场景在满足用户消费和创作者分享需求的同时,也为我们在复杂多样的推荐场景下进行算法建模带来了巨大挑战。一方面,模型建模需要适配每个场景的数据分布特点;另一方面,不能让各个场景成为"信息孤岛",需要从全域的角度思考如何利用好各场景的数据。因此,自淘宝逛逛上线初期,我们便确立了多场景全域表征这一项目计划,来应对我们面临的场景挑战。
多场景推荐问题是目前推荐系统普遍面临的挑战,涉及广告、营销、商品导购、内容化等多个领域。近三年内,业界许多算法团队都逐渐意识到多场景问题的重要性,并且从业务视角、数据分布、可行性分析等维度阐述与论证了多场景建模的重要性。我们在前期方案调研和数据分析时也得出与之类似的结论。更进一步地,在这些建模必要性的思考基础上,我们重点关注多场景全域表征在淘宝逛逛内容推荐场景下具有的优势:
提效优势: 相比于淘宝商品域丰富的行为数据,逛逛内容域的数据相对比较稀疏,而逛逛多场景的特点使得数据之间的建模更加割裂。在此背景下,通过多场景全域表征将有助于打通场景数据间的障碍,缓解内容推荐场景的数据稀疏问题,并由此带来业务效率的提升。
成本优势: 逛逛域内推荐场景较多,为每个场景单独设计和维护一套模型的人力成本和资源开销较大,而多场景全域表征的出发点就是希望能够以统一框架来承载多个场景,这对于成本的节省十分有意义。
迁移优势: 随着业务的深入发展,逛逛也在逐步新增或者接入一些新的场景,如视频TAB等。同时,除了效率指标,内容推荐场景还需要兼顾用户体验、内容生态、创作者成长等目标的优化。如何能够快速接入新场景,如何能将已有方案快速迁移到其他目标的优化上,考验着我们的方案设计能力。而多场景全域表征无疑在这一问题上具有先天优势。
因此,我们致力于探索一套高效、统一、可迁移的多场景全域表征框架来支持淘宝内容化推荐场景的业务需求,并寄希望于我们对该方向的思考和探索能在其他领域带来一些经验和启发。
基于上述背景和业务诉求,多场景全域表征重点面临以下挑战:
广度上,如何扩大数据的利用范围
深度上,如何提升数据的利用率和信息迁移的精细效果
速度上,如何能让数据迁移快速适配多种场景和多种目标
技术迭代路线
▐ 多场景全域表征的三维评估
我们侧重从以下三个维度来评估和思考多场景全域表征方案的能力:
全域表征的范围(逐步扩大数据使用范围): 内容域单场景有标签样本→内容域多场景有标签样本→内容域多场景全空间(有标签+无标签)样本→淘宝域多场景(商品+内容)全空间样本
信息迁移的方式(场景间信息共享和差异化迁移): 样本数据的共享→模型的差异化表征→结构的自适应精细化迁移
模型框架的扩展(扩展应用到新场景新目标的能力): 对多场景主任务的提效→模型框架在其他场景和任务上的可迁移应用
▐ 方案选型与思考
多场景方案 |
全域表征的范围 |
信息迁移的方式 |
模型框架的扩展 |
STAR |
有标签样本 |
|
未验证 |
SAR-Net |
有标签样本 |
类MMoE结构(偏隐式) |
未验证 |
HMoE |
有标签样本 |
类MMoE结构(偏隐式) |
未验证 |
AdaSparse |
有标签样本 |
动态权重网络(偏隐式) |
未验证 |
逛逛多场景方案 |
有标签样本 + 无标签样本 |
结构的自适应精细化迁移(显式建模) |
已验证 |
▐ 迭代思路和进展
论文标题: Scenario-Adaptive and Self-Supervised Model for Multi-Scenario Personalized Recommendation
论文地址: https://arxiv.org/abs/2208.11457
接下来介绍我们的多场景全域表征模型: Scenario-Adaptive and Self-Supervised Model for Multi-Scenario Personalized Recommendation (简称SASS)。SASS模型聚焦3个核心优化点:
精细化迁移: 网络参数矩阵映射等隐式差异化建模→自适应门控网络的精细化迁移
全域样本扩展: 全域有标签样本集合→全域有标签和无标签样本集合
多场景召回模型: 单场景双塔结构→多场景双塔结构
▐ 模型框架: 两阶段训练模式
图3展示了SASS的模型框架,包含两个阶段:
阶段 |
任务类型 |
样本空间 |
作用 |
阶段一 |
场景对比的无监督任务 |
多场景无标签样本 |
a. 引入无标签数据,扩展全域样本使用空间 |
阶段二 |
双塔度量的有监督任务 |
多场景有标签样本 |
a. 与召回目标对齐,全场景样本和单场景样本的联合训练 |
由于双塔召回模型在user侧和item侧是独立建模并且结构类似,在建模上,除了底层的输入特征不同外,user侧和item侧采用完全相同的网络结构和loss形式。另外底层的embedding layer是全局共享的。为了描述的简洁,本文后续章节以user侧为例展开介绍,item侧结构不再赘述。
▐ 精细化迁移: 多层场景自适应迁移表征网络
图4. Multi-Layer Scenario Adaptive Transfer Module (ML-SAT)
图4展示了整个多场景模型框架的核心表征网络Multi-Layer Scenario Adaptive Transfer Module (简称ML-SAT)。对来源于某个场景的样本,经过ML-SAT后,都将得到一个融合全域信息并且具有场景差异化的向量表达。接下来分别介绍其中的核心模块。
-
全场景共享网络 & 单场景特有网络
如图4(a)所示,每条样本的特征通过共享的embedding layer并进行向量拼接后,会同时经过两个网络结构:
-
全场景共享网络(global shared network): 图中蓝色部分网络, 该部分结构为所有场景共享,所有场景的样本都将经过该网络进行训练。因此,全场景共享网络用于建模全域信息的表征结果。
单场景特有网络(scenario specific network): 图中灰色方框部分网络, 每个场景都有各自独立的网络参数,用于建模场景自身的差异化表达。训练和预估时,每条样本只会通过对应场景的特有网络进行表征和训练。
场景上下文Bias网络
为了保持训练的统一,我们对所有场景的特征体系进行了统一(共同的特征schema, 部分场景没有的特征用空值填充)。输入特征可以简单划分成两类:
场景普通特征: 如用户侧的profile特征、用户行为序列等
场景特有特征: 如scenario_id等能明确进行场景识别的特征,以及某些场景独有的特征(比如二跳场景中refer类特征)
场景特有特征对场景具有显著性区分,因此将此类特征单独聚合后通过辅助网络(auxiliary network)进行建模:
辅助网络输出将作为场景偏置信息应用于全场景信息迁移(4.2.3节介绍)和最终的场景融合表征(“场景Bias融合模块”节介绍)。
-
场景自适应门控单元
多场景建模存在这样的矛盾: 单场景数据符合场景自身分布但存在数据稀疏问题,多场景混合数据信息丰富但存在噪声。如何取长补短,在既不严重破坏原始场景的数据分布的情况下,能够从丰富的全域表征中精细化地获取有效的迁移信息, 成为了我们的方案设计的思考重点。因此,我们在全场景共享网络(global shared network)和单场景特有网络(scenario specific network)之间构建起信息迁移的桥梁,并设计场景自适应门控单元(scenario adaptive gate unit)来自适应并且精细化地控制全场景信息到单场景信息的信息迁移量以及迁移信息和原始信息的融合方式,门控结构如图4(b)所示。
场景自适应门控单元(scenario adaptive gate unit)内部主要包含两个门控结构: adaptive gate和update gate。具体地,用来控制有多少信息量可以从全场景建模迁移到单场景上;控制了迁移过来的信息和本场景原始信息的融合方式。我们将此场景自适应门控单元并列堆叠多层,从而进行逐层级精细化的信息迁移和融合:
此外,在论文发表后,我们对该结构进行了更进一步的优化。核心思路是通过两个方向信息的随机和操作来驱动信息发生定向流动。这样的结构设计一方面可以防止整个迁移结构失活,另一方面全场景侧信息的随机dropout也可以增大训练难度,避免全场景信息对单场景的过度主导。经优化后,新的场景自适应门控单元结构如图5所示。