浅析特征增强个性化在CTR预估中的经典方法和效果对比

在CTR预估中,主流都采用特征embedding+MLP的方式,其中特征非常关键。然而对于相同的特征,在不同的样本中,表征是相同的,这种方式输入到下游模型,会限制模型的表达能力。为了解决这个问题,CTR预估领域提出了一系列相关工作,被称为特征增强模块。特征增强模块根据不同的样本,对embedding层的输出结果进行一次矫正,以适应不同样本的特征表示,提升模型的表达能力。最近,复旦大学和微软亚研院联合发布了一篇特征增强工作的总结,对比了不同特征增强模块实现方法的效果。本文给大家介绍一下几种特征增强模块的实现方法,以及本文进行的相关对比实验。

论文标题:A Comprehensive Summarization and Evaluation of Feature Refinement Modules for CTR Prediction

下载地址:https://arxiv.org/pdf/2311.04625v1.pdf

1.热症增强建模思路

特征增强模块,旨在提升CTR预估模型中Embedding层的表达能力,实现相同特征在不同样本下的表征差异化。特征增强模块可以用下面这个统一公式表达,输入原始的Embedding,经过一个函数后,生成这个样本个性化的Embedding。

这类方法的大致思路为,在得到初始的每个特征的embedding后,使用样本本身的表征,对特征embedding做一个变换,得到当前样本的个性化embedding。下面给大家介绍一些经典的特征增强模块建模方法。

 2.特征增强经典方法

An Input-aware Factorization Machine for Sparse Prediction(IJCAI 2019)这篇文章在embedding层之后增加了一个reweight层,将样本初始embedding输入到一个MLP中得到一个表征样本的向量,使用softmax进行归一化。Softmax后的每个元素对应一个特征,代表这个特征的重要程度,使用这个softmax结果和每个对应特征的初始embedding相乘,实现样本粒度的特征embedding加权。

FiBiNET: Combining Feature Importance and Bilinear feature Interaction for Click-Through Rate Prediction(RecSys 2019)也是类似的思路,为每个样本学习一个特征的个性化权重。整个过程分为squeeze、extraction、reweight三个步骤。在squeeze中,将每个特征embedding通过pooling得到一个其对应的统计标量。在extraction中,将这些标量输入到MLP中,得到每个特征的权重。最后,使用这个权重和每个特征embedding向量相乘,得到加权后的embedding结果,相当于在样本粒度做一个特征重要性筛选。

A Dual Input-aware Factorization Machine for CTR Prediction(IJCAI 2020)和上一篇文章类似,也是利用self-attention对特征进行一层增强。整体分为vector-wise和bit-wise两个模块。Vector-wise将每个特征的embedding当成序列中的一个元素,输入到Transformer中得到融合后的特征表示;bit-wise部分使用多层MLP对原始特征进行映射。两部分的输入结果相加后,得到每个特征元素的权重,乘到对应的原始特征的每一位上,得到增强后的特征。

GateNet: Gating-Enhanced Deep Network for Click-Through Rate Prediction(2020)利用每个特征的初始embedding过一个MLP和sigmoid函数生成其独立的特征权重分,同时也使用MLP对所有特征进行映射生成bit-wise的权重分,两者融合对输入特征进行加权。除了特征层外,在MLP的隐层,也利用类似的方法,对每个隐层的输入进行加权。

Interpretable Click-Through Rate Prediction through Hierarchical Attention(WSDM 2020)也是利用self-attention实现特征的转换,但是增加了高阶特征的生成。这里面使用层次self-attention,每一层的self-attention以上一层sefl-attention的输出作为输入,每一层增加了一阶高阶特征组合,实现层次多阶特征提取。具体来说,每一层进行self-attention后,将生成的新特征矩阵经过softmax得到每个特征的权重,根据权重对原始特征加权新的特征,再和原始特征进行一次点积,实现增加一阶的特征交叉。

ContextNet: A Click-Through Rate Prediction Framework Using Contextual information to Refine Feature Embedding(2021)也是类似的做法,使用一个MLP将所有特征映射成一个每个特征embedding尺寸的维度,对原始特征做一个缩放,文中针对每个特征使用了个性化的MLP参数。通过这种方式,利用样本中的其他特征作为上下位增强每个特征。

Enhancing CTR Prediction with Context-Aware Feature Representation Learning(SIGIR 2022)采用了self-attention进行特征增强,对于一组输入特征,每个特征对于其他特征的影响程度是不同的,通过self-attention,对每个特征的embedding进行一次self-attention,实现样本内特征间的信息交互。除了特征间的交互,文中也利用MLP进行bit级别的信息交互。上述生成的新embedding,会通过一个gate网络,和原始的embedding进行融合,得到最终refine后的特征表示。

3.实验效果

文中进行了各类特征增强方法的效果对比,整体结论为,在众多特征增强模块中,GFRL、FRNet-V、FRNetB 表现的最好,并且效果要优于其他的特征增强方法。

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

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

相关文章

【每日一题】用邮票贴满网格图

文章目录 Tag题目来源题目解读解题思路方法一:二维前缀和二维差分 写在最后 Tag 【二维前缀和】【二维差分】【矩阵】【2023-12-14】 题目来源 2132. 用邮票贴满网格图 题目解读 在 01 矩阵中,判断是否可以用给定尺寸的邮票将所有 0 位置都覆盖住&…

智能优化算法应用:基于黄金正弦算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于黄金正弦算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于黄金正弦算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.黄金正弦算法4.实验参数设定5.算法结果6.…

GeoTrust OV证书

当谈到网站安全性和可信度时,GeoTrust OV证书是一个备受推崇的选择。作为一家备受尊敬的数字证书颁发机构,GeoTrust以其卓越的品牌声誉和高质量的产品而闻名于世。GeoTrust OV证书提供了一系列的安全功能,同时还具有出色的性价比,…

系统级基础信号知识【Linux】

目录 一,什么是信号 进程面对信号常见的三种反应概述 二,产生信号 1.终端按键产生信号 signal 2. 进程异常产生信号 核心转储 3. 系统调用函数发送信号 kill raise abort 小结: 4. 由软件条件产生 alarm 5. 硬件异常产生信号…

WEB服务器介绍

Web服务器是指驻留于因特网上某种类型计算机的程序。当Web浏览器连到服务器上并请求文件时,服务器将处理该请求并将文件发送到该浏览器上,附带的信息会告诉浏览器如何查看该文件,即文WEB服务器件类型。服务器使用HTTP进行信息交流&#xff0c…

Java之异常

一、异常是什么 程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。 注意:异常指的并不是语法错误,语法错了,编译不通过,不会产生字节码文件,根本不能运行. 二、异常体系 三、异常的分类 (一)、编译时…

明懿金汇应对气候变化:投资于绿色未来

2023年,面对全球范围内的气候变化和环境保护挑战,明懿金汇积极响应,展现出其在可持续金融领域的领导力。作为一家前沿的金融科技公司,明懿金汇不仅将环保理念融入到其金融产品和服务中,更通过直接的行动和投资&#xf…

【Python】conda镜像配置,.condarc文件详解,channel镜像

1. conda 环境 安装miniconda即可,Miniconda 安装包可以到 http://mirrors.aliyun.com/anaconda/miniconda/ 下载。 .condarc是conda 应用程序的配置文件,在用户家目录(windows:C:\users\username\),用于…

用提问的方式来学习:冯·诺伊曼体系结构与操作系统OS

学习冯诺伊曼体系结构之前,我们要本着两个问题来学习: 什么是冯诺伊曼体系结构?为什么要有冯诺伊曼体系结构? 一、冯诺伊曼体系结构 1. 什么是冯诺伊曼体系结构? 那我们就先来回答一下什么是冯诺伊曼体系结构&#x…

Python中的TesserOCR:文字识别的全方位指南

更多资料获取 📚 个人网站:ipengtao.com 文字识别在图像处理领域中起到了至关重要的作用,而TesserOCR(Tesseract OCR的Python封装)为开发者提供了一个强大的工具,使得文字识别变得更加便捷。本文将通过详细…

Matlab示例-Examine 16-QAM Using MATLAB学习笔记

​工作之余学习16-QAM 写在前面 网上看到许多示例,但一般都比较难以跑通。所以,还是老方法,先将matlab自带的例子研究下。 Examine 16-QAM Using MATLAB Examine 16-QAM Using MATLAB 或者,在matlab中,键入&#x…

C语言数据结构-二叉树的入门

文章目录 0 碎碎念1 二叉树的概念和结构1.1 概念和特点1.2 结构1.3 特殊的二叉树1.4 二叉树的存储与性质1.5 前序、中序和后序 2 简单二叉树的实现2.1 定义数据结构类型2.2 前序、中序和后序接口的实现2.3 二叉树中节点的个数2.4 叶子节点的个数 3 完整代码块3.1 BinaryTree.h3…

「神印王座」皓晨带伙伴参与伊老试炼,12魔神攻打震南关,高能

Hello,小伙伴们,我是拾荒君。 时光匆匆,国漫《神印王座》的第85集已经与大家如约而至。想必各位观众都已经迫不及待地观看了这一集,其中,龙皓晨向光之晨曦团的成员们揭示了永恒之塔的秘密,并带领他们深入其中。 永恒之…

nginx服务前端访问查看无响应的问题

问题 nginx 启动之后,前端访问无数据,F12 查看,提示挂起。 以为是配置问题,查看配置文件,未发现配置的有问题。 原因 通过查看配置文件,发现转发的服务地址为127.0.0.1,手动ping 127.0.0.1&a…

如何部署Portainer容器管理工具+cpolar内网穿透实现公网访问管理界面

文章目录 前言1. 部署Portainer2. 本地访问Portainer3. Linux 安装cpolar4. 配置Portainer 公网访问地址5. 公网远程访问Portainer6. 固定Portainer公网地址 前言 本文主要介绍如何本地安装Portainer并结合内网穿透工具实现任意浏览器远程访问管理界面。Portainer 是一个轻量级…

Unity 关于Rigidbody刚体组件的理解

一、基本了解 刚体Rigidbody因具体物理相关的属性,使得实际应用中更有真实感。应用也多: Rigidbody它可以受到重力、碰撞或者力的作用,所以我们可以用它模拟物体的真实物理行为,如受到重力的作用、与其他刚体对象进行碰撞&#…

ChatGPT Plus重新开启订阅

12月14日凌晨,OpenAI首席执行官Sam Altman在社交平台宣布,终于找到了更多的GPU算力,重新开启订阅ChatGPT Plus。 上个月15日,OpenAI就因为算力不足,以及用户激增等原因暂停了ChatGPT Plus订阅。 Sam表示,在…

【九】python模板方法模式

9.1 模板方法模式概述 模板方法模式是一种行为设计模式,它使用一个抽象的基类定义了一个操作中的算法的骨架,而将一些步骤的实现延迟到子类中。模板方法模式允许子类在不改变算法结构的情况下重新定义算法中的某些步骤。 9.2 代码示例 在Python中使用…

【亚马逊云科技】通过高性能低延迟对象存储 S3实现网站资源托管

本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 亚马逊云科技开发者社区, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道 文章目录 前言1 S3 介绍1.1 优点 2 使用步骤2.1 注册账户2.2 创建存储桶2.2.1 打开控制…

智能指针管理“newed对象”

为什么要有智能指针? 指针智能是管理管理动态内存分配对象的一种机制。它提供了自动管理内存,避免常见内存泄漏和悬空指针。 对于上述Func函数的操作,一不小心就会产生很多问题。 p1 new时候抛异常 什么都不做p2 new时候抛异常 p1需要被清理…