推荐中的多任务学习-YouTube视频推荐
本文将介绍Google发表在RecSys’19 的论文《Recommending What Video to Watch Next: A Multitask Ranking System》。主要解决大规模视频推荐中的排序阶段的多任务学习和用户选偏置问题。
- 背景
给定当前用户正在观看的视频,推荐给用户下一个可能观看或者喜欢的视频。在实际推荐场景中的两个主要问题:
1)多目标:我们不仅希望推荐的视频用户会点击,而且希望用户会给好评并分享给朋友观看
2)选择偏置:用户点击视频可能因为该视频在页面的顶部,并不是用户真的喜欢。如果不考虑这种偏置,推荐系统会误以为用户喜欢这种类型视频,导致恶性循环。
为了解决这些问题,文章提出使用Multi-gate Mixture-of-Experts (MMoE)进行多任务学习,并对Wide&deep做出了扩展,引入一个浅层台模型消除选择偏置。MMoE是多任务学习的一种架构,核心思想是对每个学习任务将底部共享层替换为MoE层并加上门控网络,也是由google提出的,可以参考下原论文[2]。
- 模型架构
总体架构如图

MMoE部分主要用于解决多目标学习,具体来说,文章将多目标分成两组:1)参与度目标,例如点击、观看时长等;2)满意度目标,用户评分等。每个expert关注输入的不同部分,利用多门控机制可以控制expert的权重。
shallow tower部分用于减少选择偏置的影响,将和偏置有关的特征作为输入。该部分类似于wide&deep的wide部分,输出作为主模型的偏置。
1.建模任务间联系和冲突
当任务间的关联比较低时,使用硬参数的底层共享模型很多进行多目标学习,为了解决这个问题,文章使用基于软参数的MMoE进行学习,让多个任务共享这些“专家”,也可以用门控网络来协调不同“专家“所起的作用。下图是提出的多任务模型

一般来说,在输入层或者隐含层之上增加”专家“层,最终可以更好地对多模态的特征空间进行建模。但是直接加在输入层之上,会增加模型训练代价(因为输入层维度相比隐含层包含更多的参数),因此文章采用”专家“层加在隐含层之上的方法。
对给定的任务\(k\),
\[
\begin{aligned}y_{k} &=h^{k}\left(f^{k}(x)\right) \\\text { where } f^{k}(x) &=\sum_{i=1}^{n} g_{(i)}^{k}(x) f_{i}(x)\end{aligned}
\]
对应的门控
\[
g^{k}(x)=\operatorname{softmax}\left(W_{g^{k}} x\right)
\]
2.偏置消除

关于选择偏置问题,本文开头已经介绍了,通常用户倾向于点击显示在页面前面的视频。模型的输入被分为两部分,主塔部分输入为主要的特征信息,浅层塔输入为和偏置有关的信息。
训练过程,浏览时的位置作为输入特征的一部分,设置drop-out,避免过度依赖位置特征。serving时,位置特征设为missing。将设备信息会被加入到shallow tower的输入中,是因为不同设备上不同位置的bias是不同的。
- discussion
具体的实验部分可以看原论文,另外论文也提出了一些在实践中需要考虑的问题。如
1.多模态特征空间
2.可扩展性
3.效果与效率的折衷
4.模型压缩等
references:
[1] Recommending What Video to Watch Next- A Multitask Ranking System
[2] Modeling task relationships in multi-task learning with multi-gate mixture-of- experts
推荐中的多任务学习-YouTube视频推荐的更多相关文章
- 推荐中的多任务学习-ESMM
本文将介绍阿里发表在 SIGIR'18 的论文ESMM<Entire Space Multi-Task Model: An Effective Approach for Estimating Po ...
- 大学MOOC课程视频下载、流文件合并、批量重命名、b站视频下载及学习课程视频推荐
计算机行业技术更新快,编程语言种类多,在当今大数据和人工智能的时代,为了能在相关领域有所成就,就必须掌握好python.R等语言,较好的数学基础和深入的行业背景知识.计算机从业人员务必践行" ...
- 深度召回模型在QQ看点推荐中的应用实践
本文由云+社区发表 作者:腾讯技术工程 导语:最近几年来,深度学习在推荐系统领域中取得了不少成果,相比传统的推荐方法,深度学习有着自己独到的优势.我们团队在QQ看点的图文推荐中也尝试了一些深度学习方法 ...
- Mac 软件专题:高效率工作和学习工具软件推荐
今天和大家分享软件专题:「高效率工作和学习工具」,简而言之就是提高你工作和学习效率的软件,这对于要天天使用Mac工作或学习的人来说太有帮助了,这里主要分享大家平时经常用的一些,欢迎留言补充. 本文图片 ...
- [DeeplearningAI笔记]ML strategy_2_3迁移学习/多任务学习
机器学习策略-多任务学习 Learninig from multiple tasks 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.7 迁移学习 Transfer Learninig 神 ...
- 【论文笔记】多任务学习(Multi-Task Learning)
1. 前言 多任务学习(Multi-task learning)是和单任务学习(single-task learning)相对的一种机器学习方法.在机器学习领域,标准的算法理论是一次学习一个任务,也就 ...
- 多任务学习Multi-task-learning MTL
https://blog.csdn.net/chanbo8205/article/details/84170813 多任务学习(Multitask learning)是迁移学习算法的一种,迁移学习可理 ...
- [译]深度神经网络的多任务学习概览(An Overview of Multi-task Learning in Deep Neural Networks)
译自:http://sebastianruder.com/multi-task/ 1. 前言 在机器学习中,我们通常关心优化某一特定指标,不管这个指标是一个标准值,还是企业KPI.为了达到这个目标,我 ...
- 多任务学习(MTL)在转化率预估上的应用
今天主要和大家聊聊多任务学习在转化率预估上的应用. 多任务学习(Multi-task learning,MTL)是机器学习中的一个重要领域,其目标是利用多个学习任务中所包含的有用信息来帮助每个任务学习 ...
随机推荐
- kuangbin专题-连通图A - Network of Schools
这道题的意思是就是 问题 1:初始至少需要向多少个学校发放软件,使得网络内所有的学校最终都能得到软件. 2:至少需要添加几条传输线路(边),使任意向一个学校发放软件后,经过若干次传送,网络内所有的学校 ...
- oracle避免改变索引列的类型
当比较不同数据类型的数据时, ORACLE自动对列进行简单的类型转换. 假设 EMPNO是一个数值类型的索引列. SELECT … FROM EMP WHERE EMPNO = ‘123’ 实际上,经 ...
- CODE FESTIVAL 2017 qual B C 3 Steps(补题)
总感觉这题是个题意杀,理解错题目了,看了好久才发现题目意思:操作是让,只要两点没有直接相连,而且只要有一条路的距离3,就可以把这两点连接起来. 按照题解中讲的,可以把图分为二分图和非二分图来解.不过题 ...
- Python图表绘制Matplotlib
引入 import numpy as npimport pandas as pdimport matplotlib.pyplot as plt# 导入相关模块 使用 # 图表窗口1 → plt.sho ...
- Python--day47--内容回顾
1.什么是数据库
- Python--day30--tcp协议(建立链接三次握手,断掉链接四次挥手)和UDP协议
TCP协议: tcp是可靠的,面向连接的.建立全双工通信. 建立链接的三次握手 链接一旦建立一定是全双工工通信,必然是双方通信. UDP协议: TCP协议和UDP协议的对比: QQ使用的是UDP,因为 ...
- [Atom 编辑器 ] Packages
Atom包 https://atom.io/packages 常用包整理: atom-chinese-menu 中文插件 atom-ternjs 对 es5,es6的语法支持 ato ...
- P1070 东风谷早苗
题目描述 在幻想乡,东风谷早苗是以高达控闻名的高中生宅巫女.某一天,早苗终于入手了最新款的钢达姆模型.作为最新的钢达姆,当然有了与以往不同的功能了,那就是它能够自动行走,厉害吧(好吧,我自重).早苗的 ...
- C# double 好用的扩展
在很多代码需要使用数学计算,在用到 double 很难直接判断一个值是 0 或者 1 ,判断两个值相等. 本文提供一个数学扩展,让大家可以简单使用到 double 判断 在开始看本文之前,希望大家是知 ...
- P1035 台阶问题二
题目描述 有 \(N\) 级的台阶,你一开始在底部,每次可以向上迈最多 \(K\) 级台阶(最少 \(1\) 级),问到达第 \(N\) 级台阶有多少种不同方式. 输入格式 两个正整数 \(N, K( ...