GTLC全球技术领导力峰会·上海站,首批讲师正式上线! 了解详情
写点什么

UC 信息流推荐模型在多目标和模型优化方面的进展

  • DataFunTalk

2019 年 10 月 22 日

语言 & 开发 最佳实践 方法论

UC 信息流推荐模型在多目标和模型优化方面的进展

导读:短视频已经成为信息流行业的风口,成为拉动规模增长的主要驱动力。短视频天然具有信息能量高、用户粘性大、内容丰富等优点,也有视频帧内容难以分析提取、结构化的缺点。如何提高短视频的分发效率和推荐精准度,做到千人千面的个性化推荐,是一个推荐系统的核心能力。基于深度学习的推荐模型,是业界前沿的研究课题;在短视频推荐的业务中,如何利用深度学习算法有效的提升消费点击和消费时长,是推荐模型的核心命题。此次演讲主要讲解视频推荐模型在多目标和模型优化方面的进展。包括以下几个模块:


  • 业务和系统

  • 基于 Graph Embedding 的多目标

  • 基于 WnD 的 Boosting 算法

  • 未来规划


业务和系统

  1. 短视频业务背景、系统结构



我们的业务主要是做视频推荐,嵌入到 UC 浏览器中做国内信息流:


  • UC 从工具型产品转型至内容分发平台,信息流业务成为 UC 的第二大引擎;

  • 短视频已经成为信息流行业的风口,成为拉动规模增长的主要驱动力;

  • 短视频播放时长已经超过图文,极大的增强了信息流的用户粘性;

  • 算法的持续优化与迭代提高了短视频流量分发的效率和准确度。


右图是视频推荐的界面,其背后的视频推荐系统分为三个结构,第一个是召回模块,第二个是粗排的模型,第三个是精排的模型。从召回 -> 粗排 -> 精排,Item 的数目从多到少,推荐的准确性从低到高。


  1. 技术演进史



我们在视频推荐上,尝试过多个推荐方案:


  • 最早用的是 LR ( 如图,左下角 ),LR 的缺点主要是在特征工程上会耗费很大的人力;

  • 后来我们又尝试了 GBDT 和 FM ( 如图,中间部分 ),但是这些模型在泛化性上相对较弱;

  • 最后我们采用了 Wide & Deep model ( 如图,右下角 )。


这里主要介绍的工作是:从多目标的角度优化 Loss Function。与粗排和精排使用的 WnD 对比,线上收益增幅相当,增量超过。


  1. 多目标在视频推荐模型中的应用



常规的多目标是共享隐层的 soft 多目标模型,我们使用的是基于正样本加权的模型。


共享隐层多目标模型的缺点:


① 优化目标差异:推荐模型强调 rank,关注正样本排序;传统的多目标模型强调 classify 分类,正负样本一视同仁;


② 样本不均衡:在信息流中正负样本数量、信息量存在差异,用户感知的信息更多来自正样本;


③ 场景原因:信息流有很多自动刷新的场景,负样本的可信度降低


④ 多目标的 Loss Function 很难设计,市面上的多目标方案大多是一个主目标和一个辅助的目标


我们使用的正样本加权的多目标模型的优点:


① 关注正样本 ranking


② 方便融合多种信息


我们的方案最终在线上取得了不错的效果。


基于 Graph Embedding 多目标融合的 WnD 模型优化

  1. 优化 WnD 模型 logit 配比


  • 信号正向传播



首先是 WnD 模型的一个小的优化,我们知道 WnD 分为 LR 侧和 DNN 侧,LR 侧使用的优化器是 FTRL,它的优化速度非常快,在数千万 DAU 的场景下,只需采用一次流式训练,在这样的场景下 DNN 对样本的训练很难迭代多次,这时 WnD 模型更倾向于使用 LR 侧的 logit。基于这样的原因,我们想能不能增加 DNN 侧的 logit,提高系统的准确度,大体就是这样的 motivation。


具体实施的时候,见图中红框部分,d 指 DNN,w 指 LR,zd 指 DNN 最后一个隐层的输入,zw 指 LR 最后一个隐层的输入,我们在 DNN 侧乘以了一个系数 m,这就是大体的一个优化方向:


① 对于已经能很好识别的样本:概率增幅不明显(如右图最上部分的箭头,已经进入饱和区,所以增加不明显)


② 对于可以识别,但可信度低的样本:概率增幅明显(如右图中间部分的箭头)


③ 识别错误:错误概率变化幅度明显(如右图最下部分的箭头)


④ 对于 ③,概率增加,可以增加 Loss,从上述 3 点,可以对错误样本有针对性的训练


  • 梯度反向传播、Adagrad 优化器



这是一个反向传播公式的推导,上面讲过增加 DNN 侧的 logit 会增加 Loss,图中标红的表示 Loss 会增大,同时,m 可以提出来作用到 Adagrad 优化器时:



也是相应增加的。


  1. 基于时长加权的多目标融合的 WnD 模型优化



这部分的 motivation 是我们在做模型训练时,做的还是二分类的一个分类模型,这时点击观看的时长没有用到。因此,我们利用用户观看时长,来提升推荐效果。


这里设计了一个 weigh 计算方式:对于某个视频用 u_play_len 这个视频的历史观看总时长 / avg_item_history_view_len 这个视频历史的平均观看时长,用 max 做了一个规范化,求得 weigh,且 weigh>1。图中统计了右边视频随着时长增加,用户观看数量的一个变化情况。有了 weigh 我们可以对 WnD loss function reweight:


① 如果某用户观看 Item 时长低于历史平均时长,权重为 1,那么原来的既得收益 ( ctr ) 不会变化。


② 如果某用户观看 Item 时长高于历史平均时长,权重为 1.x,那么此类视频加权充分训练,会被 Ranking 比较高的分数,增加时长收益。


  1. 基于 Graph Embedding 多目标融合的 WnD 模型优化



基于 Graph Embedding 多目标融合的方案中,多目标包括:提升点击、提升时长、提升点击率、提升点击渗透。



首先如何取到一个 Item Embedding?我们采用的是 Deep Walk 算法,在拓扑网络中,通过随机游走和 w2v 算法,学习网络中顶点的低维向量表示,向量中蕴含着顶点之间的相关性等其他特征。真正训练的时候采用的是 CBOW 训练策略,其 Loss Function 如下:




我们的方案是,从用户日志中挖掘出每个 User 的点击序列,根据点击序列建立无向图,然后在每个节点随机游走形成句子,最后经过 w2v 的训练策略,得到每个 Item 的 Embedding 表示。



具体方案:


① 根据用户浏览历史,生成每个用户的点击序列;


② 建图,以 ItemId 作为顶点,点击序列中相邻顶点作为边,形成无向图;


③ 随机游走,随机选择图中的某个顶点,随机的进行游走,形成句子;


④ 利用 w2v 中的 CBOW 策略,进行训练。



有了 Item Embedding 之后,做 Loss Function 的 reweight,reweight 时加入了位置、时长、连续性 ( 通过 Graph Embedding 计算得出 ) 等信息。



Loss Function reweight 方式是在正样本前面乘一个系数 di,j,然后负样本保持不变,如果拿掉系数,是一个标准的交叉熵公式,di,j 考虑了观看时长、观看连续性、Item 的位置等综合信息来得到的,它们之间用的是 α、β、γ 线性加权得到的:



f(play_len)是关于时长的函数,由播放时长的分布估计得出:



左下角为用户播放数的累加,它的上面是观看到某一时长 n 的用户播放数的累加,右边侧延续了时长加权公式的模板。


  1. 连续性




接下来讲一个连续性的实际案例:


①②③④⑤⑥⑦⑧这是用户的点击顺序,对应的分数是基于连续性 w2v 算法计算出来的分数,我们认为分数较高的视频很容易带领用户继续看下去,把它称作一个连续性的信息,我们对此类信息进行加权,希望能够带动用户整体的消费。


基于 WnD 的 Boosting 算法

  1. 模型



由于 Wide&Deep 建模方案是一个二分类,理论上只有一个分类超平面,很容造成样本错分。我们理想的方案是,虽然是二分类,但是我们可以有多个决策超平面,所以我们用了 Boosting 算法,综合 5 个 Wide&Deep,进行二分类。其应用场景是训练的实时流,每次训练都是一个 Batch ( 相当于在线训练 ),中间融合了 5 个 Wide&Deep 模型 ( 5 个模型的特征是不变的,共享 Embedding 隐层,采用的是并行计算 ),最终生成一个强分类器。


Adaboost



这是 Adaboost 算法的标准模式:


① 初始化训练数据的权值分布


② 使用权值分布 Dm 的训练数据集学习,得到子分类器 Gm(x)


③ 计算 Gm(x) 在训练数据集上的分类误差率


④ 利用分类误差率计算基本分类器在最终分类器中所占的权重


⑤ 更新每个样本的权重,继续训练下一个模型,如果有 5 个子模型就训练 5 个子模型


⑥ 最终综合每个子模型的权重和预测值,得到一个强分类器


  1. 算法



具体的算法有几个不同点:


第一个是误差项的计算方式,原先标准 Adaboost 算法误差项计算用的是加权指标函数:



我们的方案采用的是 AUC 加权的误差项:



每个子模型的权重,由于是在线训练,所以采用的是迭代的方式:



每次用上一个 Batch 1/2 权重加上此次误差项的计算。



第二个是样本权重的更新,样本权重更新时只对正样本进行更新,而标准的 Adaboost 是对正负样本都进行更新的:



di,j+ 指的是这个样本上一个子模型的权重,εi 是误差项。



这是样本的更新方式。


最终强分类器的预测和 Adaboost 标准模型差不多:



也是线性加权然后除以总的权重。


实际应用中 Adaboost.Rank 的 WnD 子模型有 5 个,每个 WnD 都有相同的网络结构且它们共享 Embedding 层,Adaboost.Rec 模型的磁盘大小只比单个 WnD 模型增加了 6%。


  1. 在短视频推荐中的应用



方案的实验效果和 WnD 模型对比如上,提升了模型推荐的精准性。


未来规划


未来的规划:


  • 现在的推荐都是基于 point wise 的推荐模型,每次都是预测单个 Item 的分数,未来希望可以一次给用户推荐一刷的结果。

  • 因为每天都有新用户进来,所以我们希望建立一个留存新用户模型,来留住新用户。

  • UC 信息流目前的主要消费群体为男性用户,在推荐的偏好上模型和策略都偏向男性用户,我们希望可以留住更多的女性用户。


作者介绍


语露


阿里巴巴 | 高级算法工程师


本文来自 DataFun 社区


原文链接


https://mp.weixin.qq.com/s?__biz=MzU1NTMyOTI4Mw==&mid=2247494398&idx=1&sn=cd08a71c4a7ec9a2d81107603fc4c437&chksm=fbd75892cca0d184585075b3315fe0386d37c174995a5a4b27e02db4117a13897678dbcb52ed&scene=27#wechat_redirect


2019 年 10 月 22 日 08:001417
语言 & 开发 最佳实践 方法论

评论

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

    提出了双塔结构流式模型应用于Youtube进行大规模推荐。

    语言 & 开发 文化 & 方法 新基建 Google
  • 技术架构:深度学习推荐系统的经典技术架构长啥样?

    深度学习推荐系统的架构和传统推荐系统有什么区别?深度学习到底对推荐系统有着怎样的影响?

    2020 年 9 月 21 日

  • Transformer 在推荐模型中的应用总结

    最近基于transformer的一些NLP模型很火(比如BERT,GPT-2等)

    语言 & 开发 文化 & 方法 企业动态
  • 京东:利用 DRL 算法进行带负反馈的商品推荐

    大都数传统的推荐系统(协同过滤、基于内容的推荐、learning-to-rank)只是将推荐过程当做一个静态的过程

    语言 & 开发 文化 & 方法 最佳实践
  • Facebook 是怎么为十亿人互相推荐好友的

    在实际应用中,交替最小二乘更常用一些,这也是社交巨头 Facebook 在他们的推荐系统中选择的主要矩阵分解方法。

    2018 年 3 月 28 日

  • 美图个性化推送的 AI 探索之路

    本文结合美图的实际业务场景从 Embedding、召回、排序、文案、内容池等多个方面介绍如何打造一个良好的 push 场景。

    AI 大数据 电商 机器学习 强化学习 最佳实践
  • 推荐召回算法之深度召回模型串讲

    本文结合作者在工作中的经验总结,着重于串讲推荐召回层的模型变化。

    大数据 AI AICon 语言 & 开发 深度学习 方法论 机器学习 算法
  • 第 17 讲 | 互联网公司深度学习 CTR 案例:Google(2)

    2018 年 1 月 31 日

  • 局部敏感哈希:如何在常数时间内搜索 Embedding 最近邻?

    在面对百万甚至更高量级的候选集时,线性地逐一计算Embedding间的相似度,往往会造成极大的服务延迟,这该怎么办呢?

    2020 年 10 月 30 日

  • 知乎推荐页 Ranking 构建历程和经验分享

    本文主要涵盖:知乎推荐页场景和Ranking历程介绍,深度学习在Ranking中的尝试和应用现状,以及Ranking面临的问题和未来研究方向。

    文化 & 方法 方法论 数据可视化 算法
  • 如何提升链路目标一致性?爱奇艺短视频推荐之粗排模型优化历程

    本文主要介绍爱奇艺随刻基础推荐团队在短视频推荐业务的粗排模型优化上落地的一系列实践方案。

    AI 方法论 最佳实践
  • 多任务学习在推荐算法中的应用(三)

    本文主要总结了近两年工业界关于 Multi-task 模型在推荐场景的一些应用和工作。

    文化 & 方法 语言 & 开发 方法论
  • 19|NeuralCF:如何用深度学习改造协同过滤?

    协同过滤的泛化能力非常弱,即使我们可以通过矩阵分解算法增强它,但这还远远不够。你知道怎么提高协同过滤的泛化能力吗?

    2020 年 11 月 23 日

  • “看一看”推荐模型揭秘:微信团队提出实时 Look-alike 算法,解决推荐系统多样性问题

    本文在微信看一看的推荐场景下对传统 look-alike 进行了改造,使之更适合高时效性的资讯推荐系统。

    AI 文化 & 方法 算法 最佳实践
  • Multi-task 多任务学习在推荐算法中应用 (2)

    Conversion Rate Prediction via Post-Click Behaviour Modeling

    文化 & 方法 语言 & 开发 方法论
  • 业界经典:YouTube 深度学习推荐系统的经典架构长什么样?

    为什么YouTube的深度学习推荐系统架构能成为业界标杆式的解决方案呢?

    2020 年 12 月 18 日

  • 让机器读懂视频:亿级淘宝视频背后的多模态 AI 算法揭秘(二)

    商品模态是淘宝视频区别于站外视频的标志

    语言 & 开发 文化 & 方法 方法论
  • YouTube 深度学习推荐模型最全总结

    详细介绍YouTube推荐系统的模型结构和技术细节。

    AI 语言 & 开发 AICon 大数据 深度学习 最佳实践
  • 图推荐算法在 E&E 问题上的应用

    本文围绕以图为基础衍生的一类推荐算法原理和应用,以及 E&E 问题的一些处理方法。

    语言 & 开发 文化 & 方法 AI 算法 阿里巴巴 最佳实践
  • YouTube 多目标排序系统:如何推荐接下来收看的视频

    本文介绍 聚焦于大规模视频推荐中的排序阶段,介绍一些比较实在的经验和教训。

    文化 & 方法 最佳实践 方法论
发现更多内容

合约跟单系统开发|合约跟单APP软件开发

开發I852946OIIO

Adobe国际认证,Photoshop软件调整图层大小,官方教程

Adobe国际认证

Adobe国际认证

深入浅出带你掌握线程、多线程和线程池

华为云开发者社区

Java 线程 多线程 线程池 操作系统

很坑的Could not transfer artifact报错

CoderJ

maven Mac IDEA

征服耶鲁教授的算法大神程序媛,是如何践行“以人为本”开发智慧社区大脑的?

华为云开发者社区

算法 音视频 智慧社区 华为智慧园区数字平台 数字平台

量化合约机器人APP开发|量化合约机器人软件系统开发

开發I852946OIIO

系统开发

拍乐云入选 2021 爱分析·产业数字化厂商全景报告

拍乐云Pano

RTC

聪明人的训练(十六)

Changing Lin

四月日更

从阿里被罚182亿,看DeCom时代的崛起!

北熊老师

区块链 太空猫公链

Linux df 命令

一个大红包

linux命令 4月日更

让GitHub低头的10W字阿里内部Java面试手册有多强?

周老师

Java 编程 程序员 架构 面试

使用transform制作书本翻页效果

空城机

JavaScript 前端 4月日更 书本翻页

天哪,没有设计经验的ta,居然掌握着“PS大师级

Adobe国际认证

ps

合约量化机器人系统开发|合约量化机器人软件APP开发

开發I852946OIIO

系统开发

我们真的可以使世界成为无密码的地方吗?

龙归科技

网络 安全性

13年Java开发经验精华总结!29大核心知识模块,带你直达架构师!

Java架构追梦

Java 阿里巴巴 架构 全栈知识点

病毒:注册表的认识以及用c语言编写一个“百分之一熊猫烧香”

Machine Gun

网络安全 信息安全 WEB安全 病毒

5分钟教你学会GaussDB数据分布策略设计

华为云开发者社区

数据库 分布式数据库 GaussDB GaussDB(for openGauss) 数据分布

如何利用ipad随时随地开发代码

有理想的coder

ipad 编程 远程

在有道 | L同学:一位十五年有道人的成长故事

有道技术团队

分享 访谈录 阅读 网易有道

Gartner免费在线研讨会:安全访问服务边缘(SASE)产品策略

Geek_bacee5

Gartner在线研讨会 SASE技术免费在线研讨会

十大经典系统架构设计面试题

有理想的coder

架构 面试 架构设计 架构面试

维度数据模型建模过程(Kimball)

大数据技术指南

数据仓库 维度建模 4月日更

vue2的$refs在vue3组合式API中的替代方法

devpoint

Vue3 $refs vue2 this.$refs

MySQL性能监控与调优

Sakura

四月日更

借助 Serverless 容器服务Cube,筷子科技轻松打造 10 万+ 爆款短视频

UCloud技术

一周信创舆情观察(4.5~4.11)

统小信uos

使用Python映射,过滤和缩减函数:所有您需要知道的

华为云开发者社区

Python 函数 映射 内置函数

web简易视频聊天室+媒体流插入

anyRTC开发者

前端 音视频 WebRTC RTC

HTTPS双向认证

上海派拉基础研发

https HTTP ssl SSL 连接

合约量化交易机器人系统开发|合约量化交易机器人APP软件开发

开發I852946OIIO

DNSPod与开源应用专场

DNSPod与开源应用专场

UC 信息流推荐模型在多目标和模型优化方面的进展-InfoQ

玻璃钢生产厂家四川玻璃钢家具厂昌都玻璃钢摆件定做永州玻璃钢卡通雕塑公司茂名玻璃钢制品西宁玻璃钢机械外壳加工邵阳玻璃钢花池定做漯河玻璃钢树池厂家直销山西玻璃钢花坛哪家好漯河玻璃钢休闲椅批发济宁玻璃钢雕塑厂家直销鄂州玻璃钢机械外壳厂家直销广州玻璃钢花槽厂家梧州玻璃钢装饰批发湖州玻璃钢摆件北京玻璃钢座椅定制吉安玻璃钢机械外壳公司安阳玻璃钢树池坐凳加工株洲玻璃钢花钵定制银川玻璃钢沙发公司芜湖玻璃钢装饰价格兰州玻璃钢花池生产厂家宁波玻璃钢景观雕塑公司梅州玻璃钢沙发制造昆明商业美陈制作广元玻璃钢花池定做白城玻璃钢外壳厂家玉林玻璃钢雕塑厂家直销德阳玻璃钢医疗外壳加工陇南玻璃钢花槽制作九江玻璃钢公仔雕塑价格香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化