多目标融合参数搜索

多目标融合

权重分类目人群。

trick

normlize

  1. 不同Score之间含义、量级和分布差异较大:评分计算的不同部分的意义、范围和分布存在显著差异,这使得直接比较或融合它们的结果变得困难。
  2. 显式反馈(如点赞率)存在用户间差异:不同用户的显式反馈(如点赞率)有很大差异,很难用统一的权重来处理它们。这意味着一种通用的方法可能无法对所有用户都有效。
  3. 依赖于模型预估值的绝对大小:当前方法依赖于预测值的绝对大小,当预测值的分布发生改变时,可能需要重新进行调整或校准。
    多目标分数normalize

off-policy

1.手工融合,网格搜索和随机搜索是常采用的方法。
网格搜索(Grid Search)网格搜索是一种遍历所有超参数组合的方法,通常用于小规模的超参数空间。
随机搜索(Random Search)随机搜索则是在超参数空间内进行随机采样,这对于大规模超参数空间较为有效。

2.树模型拟合。
树模型规则Ensemble融合
● 使用GBDT模型,引入pXtr、画像和统计类特征,拟合组合label:
● 采用加权Logloss:
● 上下滑无负样本,通过拷贝正样本实现对目标无偏估计;
● 等价于将叶子结点转换为打分规则,得到打分的Ensemble,也叫RuleFit。
● 该方法的缺点是树模型表达能力有限,且无法online learning。

3.超参ltr
首先,介绍一个简单的双塔形式的DNN,如上图右侧网络结构所示,视频塔直接把各种个性化预估值拼在一起,形成一个24维向量;用户塔的顶层向量通过网络学习,产出一个24维向量。最后,对视频塔和用户塔产出的向量做内积,损失函数采用加权Logloss:
由此,相当于通过学习线性加权的超参数去拟合最终的组合收益。其次,用户特征选用了一种比较轻量级的方式,比如对用户划分不同的时间窗口:过去1分钟、5分钟、15分钟、…、2小时,每个时间窗内,对推荐给他的视频,根据用户的反馈拼接成一个向量,这些反馈包括有效播放、点赞、关注、分享、下载、观看时长等,最后,将各时间窗口对应的反馈向量和ID类特征一起输入到用户侧网络。

4.端到端ltr
上述双塔形式的DNN及其轻量级的特征表达,依然限制了模型的表达能力。继而,考虑端到端学习,主要尝试了Pointwise和Pairwise两种形式。
1.对于Pointwise形式,把user_id、行为序列等都作为原始输入特征,同时,融入pXtr特征,使用精排模型来学习最终的组合收益。因为这种方式支持更复杂的特征抽取和网络结构,如attention结构,所以模型的表达能力更强。
Total Score = w 1 × CTR + w 2 × CVR + w 3 × 停留时间 + … \text{Total Score} = w_1 \times \text{CTR} + w_2 \times \text{CVR} + w_3 \times \text{停留时间} + \ldots Total Score=w1×CTR+w2×CVR+w3×停留时间+

5.对于Pairwise形式,在一次用户请求返回的6个视频之间,对每种目标都如下操作:先通过该目标的正样本和负样本构造偏序对,再使用DNN网络学习偏序对的打分,对打分做sigmoid变换,最后通过交叉熵损失产出loss。下述公式表示的是like目标:
● 优点 离线方法是off-policy的方法,数据利用率高(100%样本都可以被使用),且模型的自由度和复杂度较高,可以容纳item embedding并使用稀疏特征,可以训练千亿规模的参数。
● 缺点 优化的离线AUC无法直接反映业务指标。因为这个过程做了很多简化,推荐系统不是精排之后就直接对接用户了,中间还有重排(比如多样性)等的影响,甚至还有一些商业化/运营流量的混排融合,所以该方法难以考虑到线上复杂多模块间的完整影响。此外,线下训练数据和线上数据也存在分布不一致的问题。

6.进化策略(Evolutionary Strategy)

爱奇艺采用的PSO进化优化算法
粒子群算法Particle Swarm Optimization详解
Evolution Strategies

7.强化学习(Reinforcement Learning)
利用强化学习算法,如 Q-learning 或深度强化学习,来搜索超参数空间。

on-policy

在线超参数学习算法基于探索与利用机制
探索:会在baseline附近探索生成N组参数,传给推荐系统后获得这N组参数对应的展现给用户的差异化排序结果,从而获得不同用户的反馈。
收集这些反馈日志并做收益(reward)统计,衡量在每组参数下,时长和互动指标相比基线的涨跌幅度。比如,观看时长涨了3%,而点赞跌了5%。此外,这里区分了收益项和约束项:

  • 收益项是主要优化目标,比如视频观看时长、个人页停留时长、评论区的时长等。
  • 约束项包括各种互动,比如播放、点赞、关注等。约束项使用非线性约束:阈值内做线性的弱衰减,可以用一些约束轻微的去兑换时长;超出阈值的做指数强衰减,避免约束项过分被损害。

最终送给BayesOpt/ES/CEM等调参算法产生下一组更好的参数。经过不停迭代,参数就会向一个多目标协调最优的方向前进。
在这里插入图片描述

在线的超参数学习方法具有以下优缺点:
● 优点 直接优化线上指标,灵活性高且反馈迅速,并且可以把推荐系统当做一个黑盒,无需关心内部细节。且可以做多场景联合优化,不限于ranking,在召回等场景也可以用。
● 缺点 需要在线上划分出一部分探索流量(大约5%),从而影响少部分用户体验,且由于数据稀疏,受噪声影响较大,尤其是一些稀疏的动作标签,比如分享、下载、收藏等;能容纳的参数量较小,一般几十到数百,相对离线学习的参数规模小很多。

1.CEM(Cross-Entropy Method)
CEM是一种基于采样和统计的全局优化算法,通过迭代优化一个概率分布,从而找到目标函数的最优解。其基本步骤如下:
初始化分布:选择一个初始的概率分布,例如高斯分布,随机设置一个 n n n维均值向量 μ \mu μ, n维方差向量 θ 2 \theta^2 θ2。分别对应于 W W W的每一维。
采样候选解:从该分布中采样一批候选解,计算reward。
选择topk样本:根据目标函数值选择表现最好的前 k k k的样本。
更新分布参数:使用topk样本来更新概率分布的参数,并对方差做微小扰动(防止过早陷入局部最优),得到新的高斯分布。
μ i ′ = 1 M ∑ s ∈ S θ i ( s ) σ i ′ 2 = 1 M ∑ s ∈ S ( θ i ( s ) − μ i ′ ) 2 \mu_{i}' = \frac{1}{M} \sum_{s \in S} \theta_{i}^{(s)} \\ \sigma_{i}'^2 = \frac{1}{M} \sum_{s \in S} \left( \theta_{i}^{(s)} - \mu_{i}' \right)^2 μi=M1sSθi(s)σi′2=M1sS(θi(s)μi)2
重复迭代:重复以上步骤,直到收敛或达到预定的迭代数。

该算法的优点是简洁、高效,超参很少;
0阶方法,TopK选取只依赖Reward的序,不需要对Reward的数值大小进行建模,对噪声更近鲁棒;
参数通过高斯分布扰动探索,偏离基线越多的参数选中的概率越小,线上指标相对平稳。

2.贝叶斯优化算法
贝叶斯优化的基本思想在于由于真实优化函数计算量太大或是个黑盒(比如推荐场景中用户的真实反馈收益),我们需要用一个代理函数(surrogate function) 来近似它。而在代理函数周围可能是最小值点的附近,或者是在还没有采样过的区域采样新的点之后,我们就可以更新代理函数,使之不断逼近目标函数。我们常采用高斯过程(Gaussian process, GP) 来建模概率代理函数的分布,然后再设计一个采集函数(acquisition function),基于高斯过程回归的结果来计算下一组可能更优的采样点(使采集函数最大化)。
注意:这里之所以使采集函数最大化,而不是直接使代理函数最大化,因为直接优化代理函数过于目光短浅了,因为我们还要考虑不确定性。事实上,这也是一种探索(exploration)机制的体现。贝叶斯优化与网格搜索的不同之处在于,它在尝试新的超参数组合时会考虑之前的评估结果(即利用了证据,即evidence的信息来估计代理函数的后验分布),并基于代理函数来求解采集函数的极值,从而确定下一个采样点。
贝叶斯优化包含两个关键组成部分:

  • 概率代理模型 用于对代理函数的分布进行建模,在迭代开始前初始化为一个指定的先验分布。常用的概率代理模型有:高斯过程(GP)、树形Parzen估计器(tree-structured parzen estimator, TPE)、神经网络、决策树等。
  • 采集函数 采集函数用于衡量每一个点值得探索的程度。每轮迭代算法会基于现有的高斯过程,从候选集中选择下一步的迭代点以使得采集函数最大化。贝叶斯优化效果受采集函数的影响较大,选择不合适的话容易陷入局部最优解。采集函数的选取可以看做一个探索-利用问题,常用采集函数包括置信区间上界(Upper Confidence Bound, UCB)方法、POI方法、EI方法等(其中最为简单易用的是UCB方法)。

首先,算法会初始化一个代理函数的先验分布,然后开始迭代。算法的第t步迭代的伪代码描述如下:

  • 通过优化采集函数 u u u以获得 x t + 1 = a r g m a x x u ( x ∣ D t ) x^{t+1}=argmax_x u(x|D^t) xt+1=argmaxxu(xDt)
  • 通过用户的在线反馈收益 r r r(对应贝叶斯优化中的目标函数)得到 y t + 1 y^{t+1} yt+1
  • 对数据进行增广 D t + 1 = { D t , ( x t + 1 , y t + 1 ) } D^{t+1}=\{D^t, (x^{t+1},y^{t+1})\} Dt+1={Dt,(xt+1,yt+1)}
  • 更新概率代理模型(如高斯过程回归),得到一个代理函数的后验分布(做为下一步迭代的先验分布)。

算法流程示意图如下:

在这里插入图片描述

3.进化策略(ES)算法
占位。

多目标排序在快手短视频推荐中的实践
推荐系统:精排多目标融合与超参数学习方法
Reinforcing User Retention in a Billion Scale Short Video Recommender System
Multi-Task Fusion via Reinforcement Learning for Long-Term User Satisfaction in Recommender Systems
如何评价快手的RLUR模型?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/697929.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

盘点四家企业软件巨头的Gen AI应用进程

文/明道云创始人任向晖 目前大部份行业分析还聚焦在Open AI,Langchain这些和Generative AI直接相关的企业和产品上。实际上,企业软件市场的感知和行动已经非常迅速。在此项技术进入公众视野18个月后,我们来盘点一下领先的企业软件应用是如何利…

Lua连接Redis客户端执行命令

该示例演示使用Redis连接池,及Redis执行命令与获取返回数据 require("api.website") local dkjson require("api.dkjson")-- 创建连接池 local pool redis_pool.new() -- 置连接池信息 pool:start("127.0.0.1",6379,"998866&…

C语言之argc、argv与main函数的传参

一 :谁给main函数传参 (1)调用main函数所在的程序的它的父进程给main函数传参,并且接收main函数的返回值 二 :为什么需要给main函数传参 (1)首先mian函数不传承是可以的,也就是说它的…

字符串拼接之char实现

目录 一、前言 二、memcpy函数用法 三、代码实现 一、前言 c中想到字符串拼接,我们都知道可以用c库中std::string的字符串中的简单加法进行拼接。示例: int main() {std::string str1 "hello";std::string str2 "World";std::…

OpenEuler系统学习

OpenEuler系统简介 什么是OpenEuler,个人理解就是:通过社区合作,打造统一和开放的操作系统。 官方是这么介绍的: 欧拉是数字基础设施的开源操作系统,可广泛部署于服务器、云计算、边缘计算、嵌入式等各种形态设备&a…

Vue 面试通杀秘籍

理论篇: 1. 说说对 Vue 渐进式框架的理解(腾讯医典) a) 渐进式的含义: 主张最少, 没有多做职责之外的事 b) Vue 有些方面是不如 React,不如 Angular.但它是渐进的,没有强主张, 你可以在原有…

Kimichat使用案例013:用kimichat批量识别出图片版PDF文件中的文字内容

文章目录 一、介绍二、具体操作三、信息识别一、介绍 图片版的PDF文件,怎么才能借助AI工具来提取其中全部的文字内容呢? 第一步:将PDF文件转换成图片格式 具体方法参见文章: Kimichat使用案例011:用kimichat将PDF自动批量分割成多个图片(零代码编程) 第二步:识别图片中…

Redis实战宝典:基础知识、实战技巧、应用场景及最佳实践全攻略

背景 在Java系统实现过程中,我们不可避免地会借助大量开源功能组件。然而,这些组件往往功能丰富且体系庞大,官方文档常常详尽至数百页。而在实际项目中,我们可能仅需使用其中的一小部分功能,这就造成了一个挑战&#…

重庆地区媒体宣传邀约资源整理

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 重庆地区媒体宣传邀约资源整理 一、主流媒体资源 电视台:重庆电视台:作为重庆地区最具影响力的电视媒体之一,拥有多个频道,涵盖新闻、综艺…

第2章 Rust初体验1/8:prelude:简化代码的自动标准库加载:猜骰子冷热游戏

讲动人的故事,写懂人的代码 在跑过Hello world程序后,三个人觉得这样还不过瘾,于是决定把那本Rust书里的猜数字游戏换个新面孔,变成“猜骰子冷热”游戏,然后一起动手实现一下。这样我们就能更深入地体验到Rust编程的乐趣啦。 (顺便说一句,如果你想找这本书的所有代码,…

Sklearn的安装和用法

安装sklearn相对简单,因为它是一个Python库,可以通过Python的包管理器pip来安装。 Windows、macOS和Linux通用步骤: 确保Python已安装: sklearn是基于Python的,所以首先确保你的计算机上安装了Python。推荐使用Pytho…

【图论应用】使用多路图(multigraph)对上海地铁站点图建模,并解决最短路径问题

文章目录 1 前言2 导包导入数据集3 创建多路图,导入节点和边信息3 绘制线路图4 计算最短路径 1 前言 最近正在学习图神经网络,先pick up了一些最基础的图论知识并学习了一些好玩的应用。 本文启发于B站视频(BV1LY411R7HJ)&#…

第1期JAVA社招面试经验月报

面经哥专注互联网社招面试经验分享,关注我,每日推送精选面经,面试前,先找面经哥|面经哥整理了上月30篇面试经历,选取了较为热点高频的面试题供大家参考 基础知识类‍‍‍‍‍ 1、说下双亲委派原则以及类加…

HDFS 读写数据流程

优质博文:IT-BLOG-CN 一、HDFS 写数据流程 HDFS 文件写入流程图如下:三个模块(客户端、NameNode、DataNode) 【1】校验: 客户端通过 DistributedFileSystem 模块向 NameNode 请求上传文件,NameNode 会检…

使用手机做PC机摄像头

准备工作: 带摄像头的安卓手机一部模拟相机软件:Iriun 、DroidCam 、IP摄像头pythonopencv 一、Iriun 1、分别在PC和手机上安装 2、手机和PC在同一个局域网 3、分别打开PC和手机端软件,电脑端就可以使用手机相机 ​ 二、 DroidCam 1、…

5.大模型高效微调(PEFT)未来发展趋势

PEFT 主流技术分类 UniPELT 探索PEFT 大模型的统一框架(2022) UIUC 和Meta AI 研究人员发表的UniPELT 提出将不同的PEFT 方法模块化。 通过门控机制学习激活最适合当前数据或任务的方法,尤其是最常见的3大类PEFT 技术: Adapters…

【PB案例学习笔记】-18制作一个IP地址编辑框

写在前面 这是PB案例学习笔记系列文章的第18篇,该系列文章适合具有一定PB基础的读者。 通过一个个由浅入深的编程实战案例学习,提高编程技巧,以保证小伙伴们能应付公司的各种开发需求。 文章中设计到的源码,小凡都上传到了gite…

Cocos2dx 编译游戏安装包制作教程

在 Visual Studio 项目中配置图标并使用 Inno Setup 创建安装包 在本教程中,我们将学习如何为 Visual Studio 编译项目配置图标,并使用 Inno Setup 创建安装包。教程包括以下部分: 设置项目图标:在 Visual Studio 中配置 .exe 文…

英语国际音标 - DJ 音标 - KK 音标

英语国际音标 - DJ 音标 - KK 音标 1. 国际音标 (International Phonetic Alphabet,IPA)1.1. 记音类型1.2. 48 个国际音标发音表1.2.1. 元音 (vowel)1.2.1.1. 单元音 (monophthong)1.2.1.2. 双元音 (diphthong) 1.2.2. 辅音 (consonant)1.2.2.1. 清音 (voiceless so…

用人工智能写2024年高考作文

目录 用人工智能写2024年高考作文 引用 一、2024年 新课标I卷 作文真题 AI写作范文 二、2024年 全国甲卷 作文真题 AI写作范文 三、2024年 新课标II卷 作文真题 AI写作范文 四、2024年 北京卷 作文真题一 AI写作范文 作文真题二 AI写作范文 作文真题三 AI写作…