【推荐算法】单目标精排模型——FiBiNET

news2025/2/27 22:57:42

key word: 学术论文

Motivation: 传统的Embedding&MLP算法是通过内积和Hadamard product实现特征交互的,这篇文章的作者提出了采用SENET实现动态学习特征的重要性;作者认为简单的内积和Hadamard product无法有效对稀疏特征进行特征交互,因此提出bilinear function实现特征交互,提出了FIBINET

preface: 笔者认为这篇文章没有多大的模型创新点,本质上就是使用了SENET和内积与Hadamard product的融合实现

一、模型设计

SENET

实现动态学习特征重要性,包括三个部分:squeeze step, excitation step and re-weight step,为了方便学习,笔者将这一过程更直观的展示出来

  • Squeeze step:对每个field实现mean pooling操作【原来SENET模型是采用max pooling操作】,得到一个标量值,每一个field对应一个标量值,最后输出的向量维度: 1 × f i e l d 1 \times field 1×field
  • excitation step :将得到的标量向量经过两层全连接层,第一层先实现维度减小,第二层FC层再还原原来的维度从而得到每个field的权重值;
  • re-weight step:最后将得到的权重值与初始输入的embedding进行加权,从而提高重要特征的重要性,减少不相关特征的重要性;

image

Bilinear-Interaction Layer

本质上就是对内积和Hadamard product的融合,作者提出了三种不同field的融合形式

一般性融合的形式化表达:
p i j = v i ⋅ W ⊙ v j p_{ij}=v_i ·W \odot v_j pij=viWvj
其中, v i , v j v_i,v_j vi,vj表示不同field的embedding,而 W W W的不同设计决定了三种不同的融合形式:

  • Field-All Type

所有field共有同一个 W W W

  • Field-Each Type

每个field都有一个 W W W,共有field

p i j = v i ⋅ W i ⊙ v j p_{ij}=v_i ·W_i \odot v_j pij=viWivj

  • Field-Interaction Type

每个field和其他不同的field都有一个 W W W,共有field × \times ×field

p i j = v i ⋅ W i j ⊙ v j p_{ij}=v_i ·W_{ij} \odot v_j pij=viWijvj

为什么作者把这个模块称为bilinear-interaction layer

作者对原始Embedding和经过SENET的Embedding都进行了融合field,得到 p = [ p 1 , p 2 , . . . , p n ] , q = [ q 1 , q 2 , . . . , q n ] p=[p_1,p_2,...,p_n],q=[q_1,q_2,...,q_n] p=[p1,p2,...,pn],q=[q1,q2,...,qn]两个向量,并对两个向量实现concat操作合成一个新的向量 F c o n c a t ( p , q ) F_{concat}(p,q) Fconcat(p,q)

Output Layer
  • 简单形式:直接对 F c o n c a t ( p , q ) F_{concat}(p,q) Fconcat(p,q)向量求和并通过 s i g m o i d sigmoid sigmoid函数;
  • 复杂形式:再经过神经网络进行预测输出;

image

二、实验

实验数据集:

Criteo2 dataset:90%作为训练集

Avazu:80%作为训练集

评价指标

AUC

Log loss

实验结果

image

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AndroidStudio配置aar包的依赖方式

创建本地仓库文件夹和aar文件夹 创建本地仓库文件夹LocalRepo,文件夹名称可以自定义。在LocalRepo文件夹下为每一个aar单独创建文件夹,如下所示。aar包就放在各自的文件夹下。请注意一个aar文件夹下只能放置一个aar。 配置build.gradle文件 在aar文件…

unity 让文字变形

效果: using TMPro; using UnityEngine; using NaughtyAttributes;[ExecuteInEditMode] public class TMTextPerpective : MonoBehaviour {[OnValueChanged("DoPerspective")][Range(-1f, 1f)]public float CenterBias 0f;[OnValueChanged("DoPers…

关于SpringBoot项目创建后构建总是失败的问题

第一个问题:IDEA创建项目总是失败 原因:创建项目的时候默认使用的是https://start.spring.io,这个是一个外国网站,众所周知的就是国内访问总是出现不稳定的现象,这就是导致项目创建失败的最终原因。 解决方法&#x…

个人IP建设:简易指南

许多个体创业者面临的一个关键挑战是如何为其企业创造稳定的需求。 作为个体创业者,您无法使用营销团队,因此许多人通过推荐和他们的网络来产生需求。因此,扩大您的网络是发展您的业务和产生持续需求的最佳策略。 这就是个人IP和品牌发挥作…

LLM对话过程的DDD

终于抽出时间调整了一下DDD的结构,感觉这套设计虽然有些不是很原教旨,但已经能很好的支持至少一年的业务迭代了。直接给结论,直接抄也不会有什么错。 整体方案脱胎自openai的assistant api Entity Thread,对话过程。由Message构…

IO进程 学习笔记

……接上文 fputs(输入字符串) int fputs(const char *s, FILE *stream);功能:向指定文件中输入一串字符参数:s:输入字符串的首地址stream:文件流指针返回值:成功返回输出字符个数失败返回EOF文件指针偏移函…

【Linux】系统安装内核后重启发现进不去系统

问题现象1 系统安装内核后重启发现进不去系统 问题排查步骤 进入pe模式或者livecd模式 使用mount挂载原系统/分区 chroot 刚挂载的/分区目录进入原系统 查询到发现内核存在安装失败 挂载/分区 在pe模式执行mount /分区 /mnt 使用 chroot 切换到你的环境: sudo …

重视猫艾滋:宠物健康的隐秘挑战

猫艾滋,全称为猫获得性免疫缺陷综合征(Feline Acquired Immunodeficiency Syndrome),是由猫免疫缺陷病毒(FIV)感染引起的一种严重危害猫类健康的疾病。虽然其名称与人类艾滋病相似,但猫艾滋仅在…

python学习笔记—5—标识符和运算符

1. 标识符 &#xff08;1&#xff09;定义 用户在编程时所使用的一系列名字&#xff0c;用于给变量、类、方法等命名 &#xff08;2&#xff09;标识符命名规则 <1>内容限定 标识符的命名中只能由数字、英文、中文、下划线组成&#xff0c;其他都不被允许使用…

东方资产管理校招笔试测评题型题目深入解读

东方资管作为四大资产AMC公司之一&#xff0c;其薪资待遇还是不错的&#xff0c;现在为数不多还可以投递简历的金融央企。东方资产管理校招笔试一般在简历投递截止后的周末&#xff0c;总部和子公司、分公司需要分别做笔试。 东方资管笔试大概2h&#xff0c;线上双机位&#x…

Linux---对缓冲区的简单理解--第一个系统程序

前序&#xff1a; 首先先理解一下什么是回车与换行&#xff1b;回车和换行是两个概念&#xff0c;它们不是一个东西&#xff1b; 回车:光标回到开始&#xff1b;换行:换到下一行&#xff1b; 如下图&#xff1a; 行缓冲区 如何理解缓冲区问题&#xff1f; 可以认为&#xff0…

一文掌握 OpenGL 几何着色器的使用

学习本文需要具备 OpenGL ES 编程基础,如果看起来比较费劲,可以先看入门文章 OpenGL ES 3.0 从入门到精通系统性学习教程 。 什么是几何着色器 几何着色器(Geometry Shader) OpenGL 管线中的可选着色器阶段,位于顶点着色器(Vertex Shader) 和光栅化阶段 之间。 其核心…

Java-22 深入浅出 MyBatis - 手写ORM框架3 手写SqlSession、Executor 工作原理

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 大数据篇正在更新&#xff01;https://blog.csdn.net/w776341482/category_12713819.html 目前已经更新到了&#xff1a; MyBatis&#xff…

vite5+vue3+Ts5 开源图片预览器上线

images-viewer-vue3&#xff1a;一款Vue3的轻量级图像查看器&#xff0c;它基于Flip动画技术&#xff0c;支持PC和h5移动网页预览照片&#xff0c;如果它是Vue3开发的产品。 npm开源地址:https://www.npmjs.com/package/images-viewer-vue3?activeTabreadme Flip 动画 < …

再用RNN神经网络架构设计生成式语言模型

上一篇&#xff1a;《用谷歌经典ML方法方法来设计生成式人工智能语言模型》 序言&#xff1a;市场上所谓的开源大语言模型并不完全开源&#xff0c;通常只提供权重和少量工具&#xff0c;而架构、训练数据集、训练方法及代码等关键内容并未公开。因此&#xff0c;要真正掌握人…

阿里云轻量应用服务器开放端口,图文教程分享

阿里云轻量应用服务器如何开放端口&#xff1f;在轻量服务器管理控制台的防火墙中添加规则即可开通端口&#xff0c;开通80端口就填80&#xff0c;开通443就填443端口&#xff0c;开通3306端口就填3306。阿里云百科网aliyunbaike.com整理阿里云轻量应用服务器端口号开通图文教程…

微服务网关SpringCloudGateway、Kong比较

网关产品 1. Spring Cloud Gateway 基本信息 Spring Cloud Gateway是Spring Cloud生态系统中的一个组件&#xff0c;基于Spring 5、Project Reactor和Spring Boot 2构建。它旨在为微服务架构提供一种简单而有效的API网关解决方案。 功能特点 路由功能强大&#xff1a;使用Rou…

第十七届山东省职业院校技能大赛 中职组“网络安全”赛项资源任务书样题②

第十七届山东省职业院校技能大赛 中职组“网络安全”赛项资源任务书样题② 模块A 基础设施设置与安全加固(200分)A-1 登录安全加固&#xff08;Windows, Linux&#xff09;A-2 Nginx安全策略&#xff08;Linux&#xff09;A-3日志监控&#xff08;Windows&#xff09;A-4中间件…

运维实战:K8s 上的 Doris 高可用集群最佳实践

今天我们将深入探讨&#xff1a;&#xff1a;如何在 K8s 集群上部署 Compute storage coupled&#xff08;存算耦合&#xff09; 模式的 Doris 高可用集群&#xff1f; 本文&#xff0c;我将为您提供一份全面的实战指南&#xff0c;逐步引导您完成以下关键任务&#xff1a; 配…

【数据库】E-R模型、函数依赖、范式

2. 东方货运公司数据库的样本数据如下。 表名称&#xff1a;卡车 车号 货运站编号 类型 总行程 购入日期 1001 501 1 59002.7 11/06/2000 1002 502 2 54523.8 11/08/2000 1003 501 2 32116.6 09/29/2001 1004 502 2 3256.9 …