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

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

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

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

相关文章

启动你的RocketMQ之旅(二)-broket和namesrv启动流程

前言: 👏作者简介:我是笑霸final,一名热爱技术的在校学生。 📝个人主页: 笑霸final的主页2 📕系列专栏:java专栏 📧如果文章知识点有错误的地方,请指正&#…

vue3-canvas实现在图片上框选标记(放大,缩小,移动,删除)

双图版本(模板对比) 业务描述:模板与图片对比,只操作模板框选的位置进行色差对比,传框选坐标位置给后端,返回对比结果显示 draw.js文件: 新增了 createUuid,和求取两个数组差集的方…

python编程Day13-异常介绍捕获异常抛出异常

异常 介绍 1, 程序在运行时, 如果Python解释器遇到到一个错误, 则会停 止程序的执行, 并且提示一些错误信息, 这就是异常. 2, 程序停止执行并且提示错误信息这个动作, 通常称之为: 抛出 (raise) 异常 # f open(aaaa.txt) # FileNotFoundError: [Errno 2] No such file or dire…

计网(王道的总结)-数据链路层-网络层-传输层

由于时间有限,把每个王道的章节最后一节放在一起,分别看看复习知识点。 3.6.4 IEEE 802.11 无线局域网 重点: 3.7 广域网 真题考频:极低 3.8以太网交换机 4.1网络层的功能 4.2.1IPv4分组 最重要的: TTL:…

【优选算法篇】:揭开二分查找算法的神秘面纱--数据海洋中的精准定位器

✨感谢您阅读本篇文章,文章内容是个人学习笔记的整理,如果哪里有误的话还请您指正噢✨ ✨ 个人主页:余辉zmh–CSDN博客 ✨ 文章所属专栏:c篇–CSDN博客 文章目录 一.二分查找算法二.算法模板模板一模板二模板三 三.例题演练1.x的平…

PlantUML——类图

背景 类图是UML模型中的静态视图,其主要作用包括: 描述系统的结构化设计,显示出类、接口以及它们之间的静态结构和关系。简化对系统的理解,是系统分析与设计阶段的重要产物,也是系统编码和测试的重要模型依据。 在U…

来也RPA程序异常处理

1、程序异常模块怎么弄:连接第一个流程块后,连接第二个流程块就是虚线异常块。这是编辑器固定的功能。 2、异常模块做什么?系统会自动把异常文本,通输入参数 $BlockInput 传入异常流程块。 然后,这个异常文本&#xf…

电子应用设计方案-43:智能手机充电器系统方案设计

智能手机充电器系统方案设计 一、引言 随着智能手机的广泛应用,对充电器的性能、效率和安全性提出了更高的要求。本方案旨在设计一款高效、安全、兼容多种快充协议的智能手机充电器。 二、系统概述 1. 系统目标 - 提供快速、稳定、安全的充电功能。 - 兼容主流的智…

Java Agent(一)、 初步认识Instrumentation

目录 1、什么是Instrumentation? 2、底层机制 2.1、工作流程 2.2、Instrumentation API 3、加载Java Agent 3.1、静态Agent示例 3.1.1、定义一个agent 3.1.2、配置 MANIFEST.MF 3.1.3、定义main测试类 3.1.4、启动参数添加-javaagent 3.2、动态Agent示例…

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

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

Java-自动拆箱/装箱/缓存/效率

为什么基本类型需要包装类? 泛型与集合支持问题:基本数据类型在使用上虽然方便、简单且高效,但像泛型以及集合元素的存储等场景并不支持基本数据类型,而包装类可以解决这个问题,使其能更好地融入到一些需要对象类型的…

计算机毕业设计Python中华古诗词知识图谱可视化 古诗词智能问答系统 古诗词数据分析 古诗词情感分析模型 自然语言处理NLP 机器学习 深度学习

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

微服务网关SpringCloudGateway、Kong比较

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

实现基于分布式的LAMP架构+NFS实时同步到备份服务器

概述 项目计划用WordPress搭建一个博客系统, 为了性能更好,两个服务器都对外提供WordPress博客系统服务, 数据放在MySQL服务器, 有些上传的图片发送到NFS服务器上,并且把NFS数据实时同步到一个备份服务器上。 服务名称IP地址DNS10.0.0.200WEB110.0.0.201W…

【NVIDIA orin nx 安装ultralytics yolov11】

注意:不同用户安装的python可能会在不同的路径,因此不同的pip管理会导致安装的 torch和torchvision会在不同的路径下 记得区分用户来运行yolo 一、确认系统 JetPack 版本 此处使用5.1.1 1、查看JetPack 版本 jtop二、安装 ultralytics、pytorch、torchvision、onnxruntime…

Linux系统挂载exfat格式U盘教程,触觉智能RK3562开发板演示

本文介绍Linux系统(Ubuntu/Debian通用)挂载exfat格式U盘的方法,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教…

【Vulkan入门】08-CreateRenderPass

目录 先叨叨git信息关键代码TestPipeLine::CreateRenderPass() 先叨叨 上篇已经为Pipeline编写好了程序(Shader)。接下来要为Pipeline创建RenderPass。 关于RenderPass,在【Vulkan入门】06-Pipeline介绍中已经作了简单的介绍。这里再详细说一…

从 HTTP 到 HTTPS 再到 HSTS

近些年,随着域名劫持、信息泄漏等网络安全事件的频繁发生,网站安全也变得越来越重要,也促成了网络传输协议从 HTTP 到 HTTPS 再到 HSTS 的转变。 HTTP HTTP(超文本传输协议) 是一种用于分布式、协作式和超媒体信息系…

01-Chromedriver下载与配置(mac)

下载地址: 这里我用的最后一个,根据自己chrome浏览器选择相应的版本号即可 ChromeDriver官网下载地址:https://sites.google.com/chromium.org/driver/downloads ChromeDriver官网最新版下载地址:https://googlechromelabs.git…

面试技术点之安卓篇

一、基础 二、高级 三、组件 Android中SurfaceView和TextureView有什么区别? 参考 Android中SurfaceView和TextureView有什么区别? 四、三方框架 五、系统源码 六、性能优化