AIGC 应用、数据分析等企业 10+ 热门专题课,就在极客时间企业版>>> 了解详情
写点什么

多任务学习在美图推荐排序的近期实践

  • 2019-09-06
  • 本文字数:3332 字

    阅读完需:约 11 分钟

多任务学习在美图推荐排序的近期实践

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!

一、前言

距笔者上次提出 NFwFM 点击率预估模型,并覆盖美图秀秀、美拍等推荐场景已经过去半年。算法钻研如逆水行舟,不进则退。用户和公司越来越高的期望也要求我们不断进步。


与此同时,美图社区内容推荐业务发展迅猛,有目共睹。社区内容推荐一方面是千人千面,精准连接用户与内容,另一方面是连接用户与用户。因此近半年来,我们的业务目标自然的从点击率预估发展到点击率和关注转化率的多目标预估模型。


本文介绍将多任务学习应用于点击率和关注转化率预估的一些思考和实践经验。这些实践已全量覆盖美图秀秀社区以及美拍热门等推荐场景。

二、算法选型

笔者管中窥豹, 将多目标预估分为两大类, 一类是多模型,一类是多任务学习。


多模型为每一个目标单独构造训练样本和特征,并采用合适的模型各自训练。其优点是可以为每个目标进行深度优化,且预估值融合阶段能够根据业务目标灵活控制各个目标的权重。缺点是需要配备多套人力和机器来存储和优化样本、特征以及调整融合公式。


学术界和业界近年来在多任务学习(Multi-task Learning, MTL)方面的研究和实践进展颇多。MTL 是机器学习的一种范式,属于迁移学习的范畴,但与大家通常理解的迁移学习的区别在于多任务学习是要借助其它的任务来帮助提升所有任务而非某一个任务的学习效果。


当多个任务相关性强时,譬如点击率和关注转化率,多任务学习与迁移学习的本质区别便成为多任务的最大优点。此外,依笔者浅见,DNN 灵活的网络结构,其在一个模型中能够包容多种不同分布的样本并各自优化其目标,更是释放了 MTL 的最大价值。其缺点是参数共享,当存在不那么相关的任务时,任务之间会相互扰乱,影响效果。


多任务学习本身一个很古老的概念[5]。对多任务学习做详细的介绍超出了本文的范围,感兴趣的同学可以参考文末的参考文献。


思虑至此,结合实际预估目标,我们很自然的选择多任务学习作为点击率预估和关注转化率预估的多目标预估模型。

三、Multi-task NFwFM

正如前面所说,多任务学习只是机器学习的一种范式,并不局限于特定的问题或者模型。因为有非常实际的工业需求,所以工业界和学术界的研究和实践成果还在不断增加。


比如 2016 年横空出世的 YouTubeNet[1], KDD’18 的 MMoE[2]等学术研究;工业界如美团"猜你喜欢"引入 Multi-task DNN 后 CTR 提升 1.23%[3], 知乎引入 MMoE 后互动率提升 100%[4]。


在实践过程中为了追求训练效率高,模型可拓展性以及最重要的效果要好,工业界通常选择 Shared-Bottom multi-task DNN[5]的网络结构。



如上图,Multi-task NFwFM 的前 4 个隐含层是共享的,点击率预估任务和关注转化率预估任务共享特征表示。在最后即将预估多个目标时通过全连接层进行拆分,各自学习对应任务的参数,从而专注地拟合各自任务。


多任务学习的不同任务在共享层里的局部极小值位置是不同的,通过多任务之间不相关的部分的相互作用,有助于逃离局部极小值点;而多任务之前相关的部分则有利于底部共享层对通用特征表示的学习,因此通常多任务能够取得比单任务模型更好的效果。


在线上预估时,因为模型尺寸没有变化,推理效率和线上的点击率预估模型一致。考虑到我们是在点击率任务的基础上同时优化关注转化率,融合公式上体现为优先按照点击率排序再按照曝光→关注的转化率排序。


Multi-task NFwFM 已在美图秀秀社区首页 Feeds 推荐、相关推荐下滑流全量上线。首页 Feeds 点击率 +1.93%,关注转化率 +2.90%, 相关推荐下滑流人均浏览时长+10.33%, 关注转化率+9.30%。

四、样本 reweight

上述普适版的 Multi-task NFwFM 带来了点击率和关注率转化率的稳定提升,这驱使我们进一步根据业务数据的特点压榨模型价值。


点击和关注转化样本生而不平等。在秀秀首页 Feeds 推荐场景下,点击样本数:关注样本数≈100:1。虽然 Multi-task NFwFM 包容了点击和关注转化这两种不同分布的样本,并支持各自优化其目标,然而点击样本和关注样本严重不平衡,这无疑会影响关注转化率预估目标的学习。


为了最大化模型的价值,reweight 自然成为我们的选择。样本的研究和模型应用是同等重要的问题,相关研究仍然很活跃,不断有新算法被提出。代表性的工作有近期 Kaiming He 等人提出的 Focus Loss[6], 其通过减少易学习样本的权重,使得模型在训练时更专注于难学习的样本。


Focus Loss 的优点是可以通过超参数来控制两种样本的分布,缺点是在梯度下降类的优化算法中,样本无法随机 shuffle,而这对梯度下降类算法的收敛速度至关重要。


回到实践本身,我们采用样本 reweight 的土办法,一方面,样本 reweight 天然的支持随机 shuffle, 另一方面,从以往实践的经验来看,用更多、更高质量的数据进行训练几乎是总能带来提升的。


以下图为例,假设有 4 类 feeds, A、B、C、D, 关注转化率的大小关系是 A > C > B > D=0。实线部分表示 4 类 feed 的真实 CTR,则虚线表示各类 feed 被关注样本 reweight 之后的虚拟 CTR。


通过关注转化率 reweight 点击正样本,改变了 CTR 分布之后,模型的 pCTR 将倾向于 C>D>A>B,保证在原始 CTR 接近的情况下,关注转化率较高的 feed 更容易被模型推荐出来,提升整体的关注转化率,并且因为 C、D 等点击率较高的 feed 不受分布改变后影响,因此整体 CTR 应不受太大影响。



基于上述关注样本 reweight 点击正样本的策略,美图秀秀社区首页 Feeds 推荐 CTR -1.09%, 关注转化率 +12.03%。

五、Task-specific weighted Loss

样本 reweight 让我们在关注转化率目标上取得了显著的提升,但是 CTR 下降明显。笔者调整并灰度实验多个 reweight 候选值,尝试降低关注转化率对点击正样本的分布的影响,结果让人失望,CTR 均低于线上。


很大可能的原因是上述图示对我们场景数据的假设太简单理想了。正如前文所述,多任务学习的缺点是参数是共享的,当多个任务存在不相关部分时,任务之间会相互扰乱,影响效果。


学术界将这个现象称为"share conflict",分析并解决这个问题的挑战较大,且业界和学术界可供参考的经验少。


另一种减小 share conflict 的曲线方式是 gradient balancing method,在我们场景下对应的是加大 multi-task NFwFM 中点击率预估任务的重要性,让点击率预估任务来主导底部共享层的参数学习,进而影响整体模型的预估性能。


Yarin Gal 在 CVPR’18 提出一种基于不确定估计的方法, Homoscedastic Uncertainty[7], 来设定多个任务的学习率,学习率越大对整体模型的学习主导性越强。


如下图,在秀秀社区首页 Feed 推荐场景中, Homoscedastic Uncertainty 估计方法表明关注转化率的不确定性确实比点击率预估任务高,因此我们应该让点击率预估任务来主导整体模型的学习。




然而灰度实验期间,发现该方法估计出来的不确定性本身不稳定,参数容易学飘,甚至出现相反的结论,导致实验效果波动较大。在实践中,笔者采用效果正向提升的几天的不确定性值作为最终的参数。


上述改进的 Multi-task NFwFM, 在美图秀秀社区首页 Feeds 推荐场景全量上线,点击率 -0.36%, 关注转化率+12.75%。

六、未来展望

对于多目标预估问题,我们已经实现了一套具有良好拓展性的系统,并在生产实践中取得了成功应用。纵观业界,不少公司也在生产中使用了各种多任务模型和算法。


同多任务学习的广阔空间相比,目前我们的实践还很初级,未来我们一方面会继续发挥多任务学习的优势,根据业务形态设计多任务学习目标,另一方面还会尝试更为复杂的模型和算法。


参考文献


  1. Covington P, Adams J, Sargin E. Deep neural networks for youtube recommendations

  2. Ma J, Zhao Z, Yi X, et al. Modeling task relationships in multi-task learning with multi-gate mixture-of-experts

  3. 美团"猜你喜欢"深度学习排序模型实践

  4. 进击的下一代推荐系统:多目标学习如何让知乎用户互动率提升 100%?

  5. Rich Caruana. 1998. Multitask learning. In Learning to learn

  6. Lin T Y, Goyal P, Girshick R, et al. Focal loss for dense object detection

  7. Kendall A, Gal Y, Cipolla R. Multi-task learning using uncertainty to weigh losses for scene geometry and semantics


作者介绍


陈文强,美图高级算法技术专家。曾就职阿里巴巴、腾讯。具有多年推荐算法的实际落地经验,长期深耕于最优化算法、推荐算法领域的研究。NFwFM 提出者,在 Neural Computing 等期刊发表数篇论文。


公众号推荐:

AGI 概念引发热议。那么 AGI 究竟是什么?技术架构来看又包括哪些?AI Agent 如何助力人工智能走向 AGI 时代?现阶段营销、金融、教育、零售、企服等行业场景下,AGI应用程度如何?有哪些典型应用案例了吗?以上问题的回答尽在《中国AGI市场发展研究报告 2024》,欢迎大家扫码关注「AI前线」公众号,回复「AGI」领取。

2019-09-06 10:595933

评论 1 条评论

发布
用户头像
请问最后那个不确定性不是一个可训练的参数吗, 为什么最后要将这个trainable variable固定为一个fixed variable放进去?
2021-05-25 17:21
回复
没有更多了
发现更多内容

iStat Menus for Mac(系统活动监控器) v6.71 (1221)中文

mac大玩家j

活动监控器 活动监测软件 系统监测工具

数据分析实战│时间序列预测

TiAmo

数据挖掘 算法 数据分析

如何构建 Sidecarless 模式的高性能服务网格

阿里巴巴云原生

阿里云 云原生 asm

Sentieon软件应用之公共卫生机构

INSVAST

公共卫生 基因数据分析

Sentieon数据质控QC模块介绍

INSVAST

数据分析 QC 质控工具

链上交易所搬砖套利程式开发详情[源码搭建]

V\TG【ch3nguang】

交易所开发 套利

Sentieon | 应用教程: 使用DNAscope对HiFi长读长数据进行胚系变异检测分析

INSVAST

教程分享 Hifi DNAscope

零信任体系化能力建设(4):应用安全与开发部署

权说安全

零信任

Lightroom Classic 2023 mac中文激活版 照片处理软件lrc2023功能

mac

苹果mac Windows软件 Lightroom Classic 2023 lrc2023

Sentieon | 每周文献-Gene Editing(基因编辑)-第六期

INSVAST

数据分析 基因测序 基因编辑

茶桁的AI秘籍 - 人工智能数学基础篇 导言

茶桁

人工智能 数学 math

一文读懂 Nuxt.js 服务端组件

树上有只程序猿

React nuxt

Sentieon | 每周文献-Tumor Sequencing(肿瘤测序)-第三期

INSVAST

数据分析 基因测序 基因数据分析

Sentieon安装时 jemalloc error 解决办法

INSVAST

代码 教程分享 基因

最佳卸载程序和清洁助手 App Cleaner & Uninstaller中文最新

胖墩儿不胖y

Mac软件 卸载工具 清理软件

加速体细胞突变检测分析流程-系列2(ctDNA等高深度样本)

INSVAST

变异 基因测序 基因数据分析

提升UMI分析精度和计算效率:Sentieon UMI分子标记处理模块

INSVAST

umi 基因数据分析 技术服务

Sentieon | 每周文献-Epidemiology(流行病学)-第五期

INSVAST

基因测序 基因数据分析 流行病学

虚拟币锁仓数字货币usdt投资理财系统开发合约代码

V\TG【ch3nguang】

虚拟货币 区块链技术开发

JNPF快速开发平台:释放您的创造力,加速企业数字化转型

这我可不懂

软件开发 低代码 数字化 JNPF

Sentieon | 每周文献-Agrigenomics(农业)-第四期

INSVAST

基因测序 基因数据分析

体细胞突变检测分析流程-系列1( WES&Panel)

INSVAST

变异 基因测序

华为云828企业节:助力精细化运营,提升开发效率

mecchi

小程序 云主机 云服务器 网站建设 云电脑

虚拟币商城数字货币交易分红模式系统开发[流程框架]

V\TG【ch3nguang】

数字货币交易平台开发 虚拟货币

08.25 北京站|阿里云 Serverless 技术实践营( AI 专场)开放报名

阿里巴巴云原生

阿里云 Serverless 云原生

数字货币代币交易所系统开发,区块链交易所源码搭建

V\TG【ch3nguang】

数字货币交易所系统搭建 区块链交易所开发

低代码平台:开发应用程序的新革命

互联网工科生

软件开发 低代码 JNPF

如何构建适合自己的DevOps软件测试改进方案

DevOps和数字孪生

DevOps

Sentieon发布RNAseq加速分析方案

INSVAST

数据分析 基因测序 RNAseq

ASF 生成式工具指南

开源雨林

apache 社区 生成式AI 使用指南

Sentieon实战:NGS肿瘤变异检测流程

INSVAST

基因测序 基因数据分析 NGS

多任务学习在美图推荐排序的近期实践_AI&大模型_陈文强_InfoQ精选文章