非内积级联学习

2024-01-31 14:12
文章标签 学习 级联 内积

本文主要是介绍非内积级联学习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.首页推荐非内积召回现状

非内积召回源是目前首页推荐最重要的召回源之一。同时非内积相比于向量化召回最终仅将user和item匹配程度表征为embeding内积,非内积召回仅保留item embedding,不构造user显式表征,而是通过一个打分网络计算用户-商品匹配程度,极大的提升了模型精准度的上限,有很大优化空间。

模型:采用dot-product attention对用户行为和目标商品进行交互,结合用户画像、原始商品表征生成打分

索引与检索

索引:离线模型训练完成后,对 item embedding 基于l2距离构造hnsw索引

检索:线上召回时,实时根据用户请求,在hnsw索引中逐层向下进行beam-search寻找最优结果

多样性保证:在最后一层检索过程中,进行类目维度多样性剪枝

样本

◦正样本:首页点击和订单作为正样本,

◦负样本:全站点击随机负采样 + 底池均匀负采样

特征:用户点击序列、用户画像特征、商品侧特征等

学习目标: 对正负样本采用sampled softmax loss建模为多分类问题

2.非内积召回优化-级联学习与负样本扩充

非内积召回模型整体有更好的拟合能力,但目前方案中原有训练样本相对较为简单,并且负样本量级较少,阻碍了非内积召回能力的发挥。为提升召回与后续链路一致性,现加入曝光未点击、精排top打分样本进行级联学习。学习目标从原有的点击正样本和随机负采样多分类问题从升级为包含点击、曝光未点击、精排序样本、随机负采样之间的精细化序关系融合;同时扩充负样本量级,提升模型打分精准性。

2.1 相关工作

2.1.1 级联学习相关工作

级联学习旨在引入多种推荐系统链路中样本,采用排序学习方式拟合真实系统分布。京东搜索多目标实践引入订单、点击、曝光样本之间的级联[1],有效提升大盘效果。list-MLE[2]是广泛应用的学习排序方法,将list内样本给出预测分数,优化预测分数分布和真实排序一致。plist_MLE[3]解决了连续多目标优化问题,使用线性标量化策略将其转换为一个单目标优化问题。

2.1.2 负样本扩充相关工作

batch内负样本扩充主要分为inbatch、crossbatch两种方式。CBNS[4]采用crossbatch,既维护一个队列,存储之前batch的embedding,在每次迭代后,把当前batch的embedding和采样概率存入队列中,并将最早的embedding出队,在计算sampled softmax的时候可以用到batch内的和队列中的负样本。SBC[5]采用inbatch方式,随机采样同一个batchsize中的样本作为负样本。MNS[6]在采样时,使用了混合负采样,应用多种采样生产负样本。

2.2 级联学习与负样本扩充优化点

加入曝光未点击、精排top打分样本进行级联学习;同时扩充负样本量级,提升模型打分精准性。

2.2.1 级联学习

•样本优化:

◦**加入曝光未点击样本、精排序样本。**点击正样本:曝光未点击=1:4;将每个正样本对应的请求精排序分段采样,分段为精排打分序1-10、11-50、51-100、101-200、201-400、401-900,每个分段采样4条。

•学习目标优化:

1.原始学习目标: 正样本和负采样多分类问题

2.升级后学习目标:点击正样本、曝光未点击、精排序样本、随机负采样之间的精细化序关系融合:

1.点击正样本>曝光未点击>随机负采样

2.点击正样本>精排序top>精排序middle>精排序tail>随机负采样

| 新增曝光未点击精细化学习 | 新增精排序关系精细化学习 |
|

参考工作:京东搜索多目标召回模型实践 [1] |

参考工作:Position-Aware ListMLE: A Sequential Learning Process for Ranking [3] |
|

|

2.2.2 负样本扩充

之前的非内积优化实验及参考工作[4,5,6]验证扩充负样本可提升模型精准性。模型训练过程中,随机采样同一个batch中的样本作为负样本[6]可大幅扩充负样本个数。

优化点:负样本个数由百级别扩充至千级别。

3.离线&线上实验

通过离线消融实验验证各优化点对模型打分精准性提升。

3.1 离线实验

| 实验 vs base | 点击hitrate@50 | 点击hitrate@100 | 点击hitrate@1200 | 订单hitrate@50 | 订单hitrate@100 | 订单hitrate@1200 |
| 消融实验-仅扩充负样本 | +18.2% | +27.1% | +9.2% | +9.1% | +13.9% | +1.1% |
| 扩充负样本+只加曝光未点击 | +20.3% | +30.0% | +12.5% | +16.8% | +18.6% | +18.2% |
| 扩充负样本+完整级联学习 | +65.7% | +56.6% | +12.1% | +67.3% | +54.9% | +26.7% |

离线实验结论:

1.多组消融实验验证了加入曝光未点击、精排样本的完整级联学习引入能带来离线明显受益,尤其在订单维度。

3.2 线上实验

大盘指标:外页uctr +0.02%(0.8),引商点击 +0.53%, uctr含内页 +0.14%,外页ucvr+4.93%(0.00),含内页ucvr+4.17%(0.00),外页推荐用户转化率 +4.64%(0.00),含内页推荐用户转化率 +3.67%(0.00)

召回源指标:非内积召回线上召回源曝光相对+25%,ctr持平、cvr相对+4%

4.总结与思考

1.精排top打分样本、曝光未点击样本引入+级联学习 可大幅提升离线hitrate指标,线上召回源曝光大幅增长(+25%),ctr持平、cvr显著提升。

2.负样本扩充实验中,随着负样本扩充hitrate增长。后续将继续摸底负采样扩量上限。

5.参考文献

[1] 京东搜索多目标召回模型实践

[2] Listwise approach to learning to rank: theory and algorithm

[3] Position-Aware ListMLE: A Sequential Learning Process for Ranking

[4] Cross-Batch Negative Sampling for Training Two-Tower Recommenders

[5] Sampling-bias-corrected neural modeling for large corpus item recommendations

[6] Mixed Negative Sampling for Learning Two-tower Neural Networks in Recommendations

作者:京东零售 张树旺

来源:京东云开发者社区 转载请注明来源

这篇关于非内积级联学习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/664047

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件