(3)工业界推荐系统-小红书推荐场景及内部实践【矩阵补充、双塔模型】

系列文章传送门

(1)工业界推荐系统-小红书推荐场景及内部实践【业务指标、链路、ItemCF】
(2)工业界推荐系统-小红书推荐场景及内部实践【UserCF、离线特征处理】
(3)工业界推荐系统-小红书推荐场景及内部实践【矩阵补充、双塔模型】
(4)工业界推荐系统-小红书推荐场景及内部实践【正负样本选择】
(5)工业界推荐系统-小红书推荐场景及内部实践【线上召回和模型更新】
(6)工业界推荐系统-小红书推荐场景及内部实践【其他召回通道】

该系列文章根据小红书搜推算法工程师、团队负责人王树森B站上主讲的《工业界的推荐系统》之小红书业务场景及内部实践整理而得。感谢大佬分享工业界前沿的推荐系统实战技术!

矩阵补充

基本思路

在这里插入图片描述
在这里插入图片描述

数据集

在这里插入图片描述

训练

在这里插入图片描述

矩阵补充

在这里插入图片描述
实践中效果并不好,原因有:

1. 仅用ID embedding,没利用物品、用户属性。

  • 物品属性:类目、关键词、地理位置、作者信息。
  • 用户属性:性别、年龄、地理定位、感兴趣的类目。
  • 双塔模型可以看做矩阵补充的升级版。

2. 负样本的选取方式不对。

  • 样本:用户—物品的二元组,记作 ( 𝑢 , 𝑖 ) (𝑢,𝑖) (u,i)
  • 正样本:曝光之后,有点击、交互。(正确的做法)
  • 负样本:曝光之后,没有点击、交互。(错误的做法)

3. 做训练的方法不好。

  • 內积 < a 𝑢 , b 𝑖 > <a_𝑢,b_𝑖> <au,bi> 不如余弦相似度。
  • 用平方损失(回归),不如用交叉熵损失(分类)。

线上服务

模型存储

在这里插入图片描述
在这里插入图片描述
通常采用 近似最近邻查找(Approximate Nearest Neighbor Search) 的方法。即将矩阵B存储到支持最近邻查找的系统库中(如:Milvus、Faiss、HnswLib等等)。

衡量最近邻的标准:

  • 欧式距离最小(L2 距离)
  • 向量內积最大(內积相似度)
  • 向量夹角余弦最大(cosine相似度)

在这里插入图片描述
在这里插入图片描述

双塔模型

模型架构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

模型训练

问题:正负样本的选择?

  • 正样本:用户点击过的物品。
  • 负样本:
    • 没有被召回的?
    • 召回但是被粗排、精排淘汰的?
    • 曝光但是未点击的?

Pointwise训练

  • 把召回看做二元分类任务。
  • 对于正样本,鼓励 c o s ( 𝐚 , 𝐛 ) cos(𝐚,𝐛) cos(a,b) 接近+1。
  • 对于负样本,鼓励 c o s ( 𝐚 , 𝐛 ) cos(𝐚,𝐛) cos(a,b) 接近−1。
  • 控制正负样本数量为 1: 2 或者 1: 3。

Pairwise训练

在这里插入图片描述
在这里插入图片描述
改进的损失函数 logistic loss:
在这里插入图片描述

Listwise训练

在这里插入图片描述
引入Softmax 激活函数,最小化交叉熵损失,相当于最大化 S + S^+ S+,也即最大化正样本的相似度。
在这里插入图片描述
最后,再说一下不适用与召回模型的网络架构,如下图:
在这里插入图片描述
这种架构是在早期阶段对用户物品进行融合,一般应用在粗排和精排阶段,因为需要将用户和每个物品(亿级别)都过一遍神经网络,时间复杂度非常高。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
基于IEC 61131-3标准的控制系统是一种广泛应用于自动化领域的控制系统。该标准定义了一种通用的编程语言和编程环境,能够适应不同类型的控制器和控制系统。 IEC 61131-3标准规定了五种编程语言,分别是梯形图、顺序功能图、结构化文本、指令列表和功能块图。这些编程语言可以根据具体应用的需要进行选择和组合,以实现控制系统的编程和功能实现。 基于IEC 61131-3标准的控制系统具有以下特点和优势: 1. 高度的可重用性和可扩展性:控制系统可以通过模块化编程的方式,将整个系统分解成多个功能块,并进行独立的开发和测试。这样可以提高代码的重用性和可维护性,同时也方便系统的扩展和升级。 2. 独立性和灵活性:控制系统可以根据具体需求选择不同的编程语言,并且可以根据实际情况进行组合和调整。这种灵活性和独立性可以满足不同应用场景的需求,适应控制系统的多样化和复杂度增加的变化。 3. 适应性强:基于IEC 61131-3标准的控制系统可以适用于各种不同类型的自动化设备和系统,包括工业控制、楼宇自动化、交通信号灯控制等。 4. 易于学习和使用:IEC 61131-3标准的编程语言相对简单易学,且具备很好的可读性和可维护性。这使得用户在掌握了基本的编程知识后,能够快速上手并开发出功能完善的控制系统。 基于IEC 61131-3标准的控制系统应用广泛,包括但不限于以下领域:工业自动化、机械设备控制、楼宇自动化、能源管理、交通信号灯控制等。这些应用在提高生产效率、节约能源、改善生活质量等方面都发挥了重要的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NLP_wendi

谢谢您的支持。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值