新闻资讯推荐场景中,包含丰富的用户显式、隐式反馈信号,如点击、播放、评论等,这些反馈都在一定程度上反映了当前推荐系统的优劣。在混排阶段,推荐算法关注用户的停留时长、深度消费、点击率等多个业务目标,多目标融合阶段是实现我们不同业务目标协同的关键步骤,综合不同单目标模型的预测分数,给出最终候选新闻之间序关系的综合参考分数,形成最终分发给用户的推荐列表。针对多目标融合,我们在今日要闻频道的混排场景下完成了多层融合漏斗的多种算法/模型优化,取得了显著的线上收益。本文将详细讨论多种多目标融合优化实践及优化过程中的思考与总结。
今日要闻频道的混排阶段中,存在多层融合漏斗,即两个多目标融合阶段,承担不同的目标融合职能。
1. 第一融合阶段参考精排单目标预测,作用在于过滤:利用精排阶段预测得到的单目标分数,例如预测时长、预测点击等,通过策略将不同的目标融合到一起,形成用于item之间排序的融合分,对item进行过滤,少量item进入混排。
2. 第二融合阶段参考混排单目标预测,作用在于透出:利用混排阶段重新预估的单目标分数,通过融合策略再次将各目标整合,选出最终分发给用户的item。
在这两个阶段中,我们分别迭代了网格搜索 ==> 随机搜索 ==> 贝叶斯优化 ==> 分人群模型化 ==> 进化学习 ==> 协方差矩阵自适应进化的优化方案,主要作用于今日要闻频道,有效提升了今日要闻频道及客户端总体的人均停留时长、深度消费等关键业务指标。
背景
今日要闻场景主要利用人为设定的公式对时长、自动播放时长、点击、深度消费等多个目标进行融合,形式如下:
精排多目标融合:首先通过精排阶段的单目标分数进行第一轮融合,筛选出融合分数较高的头部item进入混排阶段;
listwise多目标融合:在混排阶段,利用listwise模型对第一阶段筛选出的少量item重新建模,将精排阶段的pointwise预估转为混排中以序列为目标的预估,在序列最优的指引下得到新预估的各单目标分数;在该融合阶段中,模型预测场景改变,且要闻频道混排阶段兼顾了对图文、视频、话题等不同介质的序关系调整,相较单一介质的业务场景有更复杂的业务需求,需要根据不同介质的业务特点和目标重新优化融合公式形式与参数。该阶段利用listwise模型重新预测的单目标分数进行第二轮融合,综合考虑混排场景下的复杂业务规则,影响最终的item透出;
日志上报:上报每次用户请求的时长、深度消费情况,用户的个性化特征等;
离线多目标优化:利用上报数据,使用网格搜索、贝叶斯优化、进化算法等对多目标融合参数进行离线优化;
离线多目标评估:利用离线多目标优化产生的最新公式或模型参数,基于线上日志进行auc、gauc等评估工作,考虑是否符合线上参数更新标准。
最初,公式参数仅依靠先验人工设定,随着分数分布的改变和系统context的变化,依靠先验设定的参数难以适应变化,甚至造成负向效果,需要自动化的超参寻优以适应线上业务变化。
网格搜索与随机搜索
网格搜索(Grid Search)是一种基于穷举搜索的寻参方法,即,穷举在所有候选的参数选择,尝试每一种参数组合,计算每种参数组合的收益,保留收益最大的参数。
随机搜索(Random Search)与网格搜索类似,随机选取参数组合进行收益验证。加拿大蒙特利尔大学的两位学者Bergstra和Bengio在他们2012年发表的文章《Random search for hyper-parameter optimization》中,表明随机搜索比网格搜索更高效。
如图,我们观察网格搜索和随机搜索的区别:
网格搜索:搜索全面,但过于消耗资源和时间;当参数量增加时,搜索空间为指数级增长;
随机搜索:参数的生成方式随机,可设置更细粒度的步长,可探索的空间更大,节约资源;
利用好网格搜索和随机搜索的关键,是根据业务情况设计reward计算方式和参数评估机制。在新闻混排网格搜索 / 随机搜索的实践中,我们联合优化两个融合阶段的公式参数。大致流程为:
离线搜参 ==> 离线重评估 ==> 小流量观察
1. 离线搜参
区分用户活跃度,分别抽取高活/中低活用户的数据,采用网格搜索和随机搜索,得到不同参数组合融合后的分数,和原排序阶段解析得到的融合分数以及原listwise阶段的融合分相比,观察以下指标:与有效pv/vv的auc,与长点击的auc,与点击的auc,与互动的auc,与时长的正逆序比等;
2. 离线重评估
随机抽取n小时不同于搜参时的数据进行评估,综合考虑深度消费,长点击、点击、时长、融合分的指标变化,规避小时级的偏差。
3. 小流量观察
通过小流量 A/B 实验验证离线所得最优参数是否有效。
相较于人工设定的公式参数,网格搜索和随机搜索可以快速取得较优线上收益,但并未考虑线上真实反馈,在已经取得较优效果后,继续使用简单网格/随机搜索策略,往往存在线上小流量实验效果和离线评估效果不一致的现象,有可能造成实验结果负向。
本文主要给大家介绍了今日要闻混排场景的背景以及基于网格搜索/随机搜索的方法。在下一篇文章中会为大家介绍贝叶斯优化以及分人群模型优化的做法,希望大家能持续关注。如果你喜欢我的文章或者我的公众号,记得分享、点赞、顺便点个在看再走哦!
欢迎大家关注计算广告那些事儿,除了原创文章之外,也会不定期和大家分享业内大牛的文章哈!