导读:今天分享一下Google在KDD 2020的一篇关于多目标优化的工作,在MMoE[2]多任务框架基础上引入LSTM显式建模用户行为序列提升多任务学习效果,推荐一读。

论文:Multitask Mixture of Sequential Experts for User Activity Streams

地址:https://research.google/pubs/pub49274/

摘要

工业级大规模推荐系统应用中经常需要同时优化多个目标,譬如用户满意度与参与度,因此多任务学习应运而生。然而,当前推荐系统中大多数的多任务学习模型架构只考虑了非序列化的特征输入(譬如query与context),没有特别考虑用户行为序列的建模。显式地针对用户行为序列的建模会帮助多任务模型引入时序依赖,从而更准确的预测用户将来的行为。另外,用户行为序列可能会包含多种异构的数据源,譬如搜索日志、浏览日志等,由于不同类型的数据稀疏性等方面的特性会有较大区别,因此在一起建模学习时也需要谨慎处理。

本文主要研究了如何在多任务学习场景中针对用户行为序列进行建模,提出了一套新颖的模型框架MoSE(Mixture of Sequential Experts)。在当前最新的MMoE多任务学习框架中使用LSTM针对用户行为序列进行显式建模。同时,本文也通过离线实验以及GMail的线上实验证明了本文的有效性。

背景

多任务学习在多个任务之间紧密关联时是有明显效果的。首先,它允许知识和数据在多个相关任务之间的迁移共享从而提升效果;其次,多任务学习通过引入推导偏差可以扮演正则项的角色,因此辅助任务可以用来提升主任务的泛化能力。

本文研究了多任务学习中针对用户行为序列数据进行建模的挑战

  • 数据稀疏性。用户行为可能是高度稀疏的,譬如购买行为相对于浏览行为来说就非常稀疏;

  • 数据异构性。用户行为数据包含了多种来源或者类型的数据,譬如用户画像包含了性别信息,同时用户日志则包含了点击信息等;从这样的异构数据中学习共享的表示会由于内在的冲突从而比较困难;

  • 复杂的多目标。多个目标之间时序上的联系,譬如点击和购买目标之间,可能会因为用户复杂的内在意图而变得更加复杂;

因此,本文提出了MoSE模型结构用来解决上述的挑战,主要是由当前MMoE多任务学习模型和LSTM的创新性结合。本文通过丰富的离线实验和GMail的实际线上实验验证了MoSE模型的有效性。

场景介绍

如下图所示,当用户在GMail搜索框搜索的时候,搜索结果中除了邮件外,如果Google Drive中有匹配的文件结果也会显示出来。尤其是GMail搜索开启了实时搜索功能,GMail的超大规模的搜索请求量对Google Drive来说是一个很重的负担。也许对某些用户来说,在GMail搜索结果查看Google Drive的结果并不是那么的实用;但是对另外一些用户来说却非常实用。

因此,我们需要机器学习的模型来学习是否针对特定的用户打开展示Drive搜索结果的功能。在实际场景中,我们按天来更新用户的这个特性开关。而且我们需要在G家的数据上针对这两个任务进行建模和预测:

  • Drive搜索结果点击的数量;

  • 用户使用GMail搜索的按键次数;

前者任务是为了判断用户是否需要真实需要Drive搜索结果的特性;后者任务则是对请求搜索Drive文件资源消耗的大致估计。最终是否打开Drive搜索结果特性的开关,则是这两个任务之间的平衡。这两个任务针对用户行为序列的建模有不少的挑战:

  1. 需要的变量是高度稀疏的。譬如Drive搜索结果点击数量;

  2. 除了GMail的行为记录,我们需要同时使用Drive的行为记录;

  3. 这两个任务的目标是错综复杂的。标准的非序列多任务模型很难处理好上面的一些问题。

模型架构

多任务学习框架在用户行为序列场景下有着特定的挑战:首先用户行为数据是稀疏而且异构的;其次多个目标之间的时序联系是复杂的。因此,我们认为需要有特定的模块来针对不同方面的复杂数据进行建模

如下图所示,MoSE框架主要由以下的模块构成:

  • 共享底层的LSTM模块在接入序列输入数据;

  • 序列专家层,不同的专家网络用于建模每个任务的不同方面;

  • Gating网络,用于为不同的任务选择不同序列专家网络的输出;

  • Task塔网络;

其中,我们应用LSTM进行多对多的序列学习如下图所示,也就是上图MoSE结构中的共享底层LSTM模块。

实验结果

本文的实验同时在合成数据集以及G家数据集上进行了充足的实验,实验结果由于引入了用户行为序列的建模当然比当前的多种多任务学习baseline要更好。下图是在GMail场景数据集上的训练结果,可以看到MoSE的离线训练指标在多个任务上都表现更好。

正如之前场景介绍所述,针对特定的用户最终是否打开Drive搜索结果特性的开关,更多是这两个任务之间的平衡。本文也研究了在不同的平衡点,对于Drive搜索结果点击量效果的影响如下图所示。

参考

  1. Multitask Mixture of Sequential Experts for User Activity Streams

  2. Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts

Google at KDD 2020,提出MoSE框架显式建模用户行为序列提升多任务学习效果相关推荐

  1. 论文浅尝 - ACL2020 | 利用常识知识图对会话流进行显式建模

    笔记整理 | 韩振峰,天津大学硕士 链接:https://arxiv.org/pdf/1911.02707.pdf 动机 人类对话自然地围绕相关概念发展,并分散到多跳概念.本文提出了一种新的会话生成模 ...

  2. java多线程中 锁 的概念的理解,java 并发多线程显式锁概念简介 什么是显式锁 多线程下篇(一)...

    目前对于同步,仅仅介绍了一个关键字synchronized,可以用于保证线程同步的原子性.可见性.有序性 对于synchronized关键字,对于静态方法默认是以该类的class对象作为锁,对于实例方 ...

  3. java 并发多线程显式锁概念简介 什么是显式锁 多线程下篇(一)

    java 并发多线程显式锁概念简介 什么是显式锁 多线程下篇(一) 目前对于同步,仅仅介绍了一个关键字synchronized,可以用于保证线程同步的原子性.可见性.有序性 对于synchronize ...

  4. 弹道分析软件_5分钟读懂显式有限元分析工具Ansys LS-DYNA

    LS-DYNA是LSTC的旗舰产品,专注于计算速度和精度,数十年来一直是汽车行业耐撞性和乘客安全仿真的黄金标准,其擅长仿真材料在承受短时高强度载荷时的响应,如碰撞.跌落以及金属成型过程中发生的情况.2 ...

  5. c#实现显式的用户自定义类型转换(关键字explicit operator)

    /*  * Created by SharpDevelop.  * User: noo  * Date: 2009-9-1  * Time: 13:41  *   * 系统预定义的数据类型,如int, ...

  6. KDD 2020最佳学生论文奖解读!杜克大学陈怡然组获奖-23

    第 26 届 ACM SIGKDD 知识发现和数据挖掘会议(KDD 2020)于近日公布了最佳论文奖.最佳学生论文奖等多个奖项.此外,汤继良.盛胜利.唐杰等华人学者在本届 SIGKDD 大会上也荣获了 ...

  7. 【KDD 2020】推荐系统领域论文汇总

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要9分钟 Follow小博主,每天更新前沿干货 [导读]本文为大家收集整理了KDD 2020 会议上推荐系统方面的一些论文汇总. ACM SIG ...

  8. KDD 2020捷报 | 第四范式斩获KDD Cup全球冠军 AutoML挑战赛圆满落幕

    近日,一年一度的国际数据挖掘顶级会议KDD正在如火如荼的进行.在此次会议中,第四范式捷报连连:首先,第四范式与北京航空航天大学童咏昕教授研究组组成的联合团队在千余支队伍中脱颖而出,获得KDD Cup ...

  9. ​KDD 2020 开源论文 | 图神经网络多变量时序预测

    ©PaperWeekly 原创 · 作者|马敏博 学校|西南交通大学硕士生 研究方向|命名实体识别 本次分享的论文是 KDD 2020 的一篇工作,出发点是为了更好地建模多变量时间序列数据中成对变量之 ...

  10. KDD 2020阿里巴巴论文一分钟秒读

    作为科研人员,阅读文献已经成为日常,而快速阅读掌握文章要旨.研究的背景,动机.方法和结论是必备的技能.而随着论文数量的爆炸式增长,每日阅读大量的英文文献已然成为了一件枯燥耗时的工作.好消息是,近日,清 ...

最新文章

  1. mvc存储Cookie和读取Cookie方法
  2. 【 Vivado 】使用工程模式
  3. maven项目编译漏掉src/main/java下的xml配置文件
  4. shell编程之特殊变量
  5. 关于印发《会计电算化管理办法》等规章的通知
  6. 跟着鸟哥学Linux系列笔记1
  7. C#中判断系统的网络连接状态的方法
  8. 用普罗米修斯和格拉法纳乐器来刺豪猪
  9. 河北微型计算机原理专接本,河北省专接本(微机原理与接口技术知识点总结)
  10. Android 编码规范:(五)避免创建不必要的对象
  11. 基于php重庆旅游设计网站作品
  12. 获取oracle自增长id,ibatis获取主键自动增长ID(Oracle/MSSQL/mysql),取得刚插入的ID编号...
  13. Android零基础入门第42节:自定义BaseAdapter
  14. 饥荒服务器地图配置文件,饥荒联机版世界地图设置心得 联机全地图设置方法...
  15. 开源 ASP.NET CMS
  16. matlab泊松分布实现
  17. python 让电脑发出声音代码,用python录制输出声音
  18. ubuntu20.04 桌面文件和文件夹图标 丢失解决
  19. UnsatisfiedDependencyException报错的原因
  20. java程序设计实用教程高飞pdf_普通高等教育“计算机类专业”规划教材:Java程序设计实用教程习题集 pdf epub mobi txt 下载...

热门文章

  1. 台式计算机技术参数响应表,详细技术参数响应表介绍.doc
  2. 当moba遇上麻将——刀塔自走棋
  3. 吃完饭后,到底是躺着、坐着、站着还是运动?看完终于不纠结了
  4. 在Windows 10中打开PowerShell的9种方法
  5. paip 破解网站手机验证码
  6. 关于我 — About Me
  7. android修行之路----经典书籍
  8. meta标签含义详细解释!
  9. Bugku WEB 安慰奖
  10. 一个美女引发的两次灭国之战