推荐中的多任务学习-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)是机器学习中的一个重要领域,其目标是利用多个学习任务中所包含的有用信息来帮助每个任务学习 ...
随机推荐
- AtCoder Regular Contest 059
C - いっしょ / Be Together 数据比较小,暴力就挺好的.O(n^2)可过的好题 #include <bits/stdc++.h> using namespace std; ...
- oracle函数 power(x,y)
[功能]返回x的y次幂 [参数]x,y 数字型表达式 [返回]数字 [示例] select power(2.5,2),power(1.5,0),power(20,-1) from dual; 返回:6 ...
- HTML--CSS样式表--基本概念(超链接的状态)
样式表的基本概念 一.样式表的分类 1.内联样式表 和HTML联合显示,控制精确,但是可重用性差,冗余较多. 例:<p style="font-size:14px;"> ...
- 【a403】遍历树问题
Time Limit: 1 second Memory Limit: 32 MB [问题描述] 我们都很熟悉二叉树的前序.中序.后序遍历,在数据结构中常提出这样的问题:已知一棵二叉树的前序和中序遍历, ...
- element 树形控件使用
<el-tree :data="morkDataList" show-checkbox ref="tree" node-key="id" ...
- MySQL面试(二)
1.为什么索引遵循最左匹配原则? 当B+树的数据项是符合的数据结构,比如(name,age,sex)的时候,B+树是按照从左到右的顺序建立搜索树的.比如当(张三,20,F)这样的数据来检索的时候,b+ ...
- linux alloc_pages 接口
为完整起见, 我们介绍另一个内存分配的接口, 尽管我们不会准备使用它直到 15 章. 现 在, 能够说 struct page 是一个描述一个内存页的内部内核结构. 如同我们将见到的, 在内核中有许多 ...
- Canvas文本设置
本文的应用对Canvas文本设置相关属性进行了汇总,具体使用说明请参考下面代码: <!DOCTYPE html> <html lang="zh"> < ...
- Comb CodeForces - 46E (动态规划)
题面 Having endured all the hardships, Lara Croft finally found herself in a room with treasures. To h ...
- CSS 手札记
Display:Block/Flex 宽度如果不定义会尽可能的扩充外层宽度 在内容区域使用高度百分比和固定像素高度的时候外层设overflow:auto;可以把内层的高度撑开,否则外层会比内层短一截 ...