写点什么

Google 工业风最新论文, Youtube 提出双塔结构流式模型进行大规模推荐

  • 2020-03-19
  • 本文字数:1305 字

    阅读完需:约 4 分钟

Google工业风最新论文, Youtube提出双塔结构流式模型进行大规模推荐

本文主要介绍 Google 在 RecSys 2019 上的最新论文,提出了双塔结构流式模型应用于 Youtube 进行大规模推荐



介绍


工业界现有的推荐系统都需要从一个超大规模的候选集中拉取 item 进行打分排序。解决数据稀疏和指数级候选集分布的一种通常做法是从 item 的内容特征中学习出 item 的稠密表示。这里很自然地就想到了工业界大名鼎鼎且应用广泛的双塔神经网络结构,其中的一塔就是从丰富的 item 内容特征中学习到 item 的表示。


工业界目前训练双塔结构一般是通过随机 mini-batch 的方式来优化损失函数。这种训练方式存在的一个显著问题就是 in-batch loss 会因为随机采样偏差而导致模型效果不好,尤其是当样本分布出现明显倾斜的时候。我们提出了一种全新的算法,可以从流式数据中预估 item 的频率。通过理论分析和实验,新算法有能力在不知道候选集全部的词典情况下做出无偏差的估计并且可以自适应候选集分布的变化。在 Youtube 线上的实验也证明了该算法的有效性。


模型架构


我们考虑一种通用的推荐问题设定:给定一系列 query 和候选集,目标就是在给定 query 的情况下返回最相关的一个候选子集。针对这里的 query 和候选集中的 item,都可以用各自的特征向量来进行表示。在个性化推荐场景中,则是用户 user 和会话的上下文 context 构成这里的 query 侧


都知道 Youtube 的推荐架构主要分为两个阶段:召回和排序。而本文则主要聚焦于新增一路如下图所示的双塔召回。query 侧的塔是由大量的用户观看历史形成的 user features 以及共同的 seed features 构成,候选集侧的塔则是由视频特征构成。训练样本的 Label 则是由用户的点击和播放时长加权得到。



序列式训练


Youtube 的训练数据按天依次产生,训练数据以 streaming 的方式喂给分布式训练集群。这样模型就可以自动学习并适应最新数据分布的变化。训练算法如下图所示,当收到一个 batch 的训练样本时,首先针对候选集的 item 进行采样概率预测,然后根据预测的采样概率构建损失函数,最后迭代训练即可。



流式频率预估的算法如下图所示。由于候选集 item 的词典不是固定的,时刻都会有新的 item 产生。因此这里针对 item 使用 hash 函数做了一个映射。针对一个指定的候选 item y,A 表示 y 被采样最近一次步骤,B 则表示 y 的预估频率。一旦候选 item y 在迭代步骤 t 中出现,即可以按照下面迭代公式更新 B。



索引和模型预估


如下图所示,索引 pipe 分为三个阶段:候选集生成,embedding 预测和 embedding 索引。


上述序列式训练生成的双塔模型会定期地保存成为 SavedModel 并与线上的预测模型保持同步。对于索引库里的所有候选 item,可以使用双塔模型的候选集侧的塔生成 item 的 embedding;然后再通过基于树或者量化 hash 的方式来建立索引。



实验


为了评估所提出算法框架的有效性,我们进行了在 item 频率预估上的仿真实验、Wikipedia 上的检索实验以及 Youtube 上的实验。这里我们主要关注于在 Youtube 线上的实验。


模型结构采用上面介绍的结构,针对共同的输入特征,相应的 Embedding 在 query 和 item 的两个塔之间是共享的。双塔均使用三层 DNN 网络 1024 x 512 x 128。



本文转载自知乎专栏:深度推荐系统。


原文链接:https://zhuanlan.zhihu.com/p/88255834


2020-03-19 21:381798

评论

发布
暂无评论
发现更多内容

Apache ShardingSphere 5.1.0 正式发布

SphereEx

数据库 开源社区 SphereEx Apache ShardingSphere

黑客马拉松(Hackathon)是什么?

Speedoooo

黑客马拉松 黑客松

敏捷开发中的「史诗」到底是什么?

LigaAI

项目管理 敏捷开发 史诗

祝贺!首届龙蜥社区年度突出贡献奖揭晓,马上查看

OpenAnolis小助手

Linux 开源 互联网 社群运营

第十四节:SpringBoot使用JdbcTemplate访问操作数据库基本用法

入门小站

springboot

会声会影2022美颜功能介绍 教你玩转视频美颜

懒得勤快

华为云企业级Redis揭秘第16期:超越开源Redis的ACID"真"事务

华为云开发者联盟

redis 事务 ACID GaussDB(for Redis) 开源Redis

外包学生管理系统的架构设计

yhjhero

#架构训练营

感谢认可!一封又一封的感谢信

郑州埃文科技

IP地址 网络空间 地图测绘

记录一些Oracle操作命令

wong

oracle

java培训:JVM 内存布局

@零度

JVM JAVA开发

【C语言】二维数组

謓泽

C语言 2月月更 二维数组

2022年1月视频行业用户洞察:假期影响下活跃用户开始回升

易观分析

移动视频 视频app

英特尔2022年投资者大会:以软件解锁更大增长机遇

科技新消息

《数字经济全景白皮书》数字冰雪篇 重磅发布

易观分析

数字经济 冬奥会

看SparkSQL如何支撑企业级数仓

字节跳动数据平台

hive 字节跳动 Sparksql 数仓

15 行代码在 wangEditor v5 使用数学公式

CRMEB

SQL学习(持续更新)

阿丞

事务 索引 sql

哪里可以查到网络安全等级测评与检测评估机构目录?

行云管家

网络安全 等保 等级测评

面对锁等待难题,数仓如何实现问题的秒级定位和分析

华为云开发者联盟

sql GaussDB(DWS) 锁等待 分布式死锁

冬奥高质量炫技,Get同款“魔法”:图像处理算法 | 赠书

博文视点Broadview

数据同步与缓存一致性问题

Mars

布隆过滤器 缓存一致性

星巴克涨价引热议!中国现磨咖啡市场目前到底如何?

易观分析

星巴克涨价 中国咖啡市场

会声会影2022重磅发布!会声会影2022全新功能详解

懒得勤快

数字孪生的起源,从救宇航员回家开始

Meta 小元

数据可视化 智慧城市 数字孪生 元宇宙

终极指南:企业级云原生 PaaS 平台日志分析架构全面解析

尔达Erda

微服务 云原生 PaaS 云原生应用

大咖说|极客邦CEO霍太稳对话阿里云存储负责人吴结生:我的数据存储20年(无限生长篇)

大咖说

阿里巴巴 InfoQ 存储线

巧用EasyRecovery监控硬盘!为你的电脑保驾护航!

淋雨

EasyRecovery 数据恢复’

在线时序流程图制作工具

入门小站

再见了,我的散装研发管理平台;再见了,4台ECS!

阿里云云效

阿里云 DevOps 云原生 研发 敏捷研发

会声会影2022语音转文字功能怎么用

懒得勤快

Google工业风最新论文, Youtube提出双塔结构流式模型进行大规模推荐_语言 & 开发_深度传送门_InfoQ精选文章