当前位置:

首页 > 业界资讯 > 一文总结特征增强&个性化在CTR预估中的经典方法和效果对比

一文总结特征增强&个性化在CTR预估中的经典方法和效果对比

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

本文目录

    在CTR预估中,主流都采用特征embedding+MLP的方式,其中特征非常关键。然而对于相同的特征,在不同的样本中,表征是相同的,这种方式输入到下游模型,会限制模型的表达能力。

    为了解决这个问题,CTR预估领域提出了一系列相关工作,被称为特征增强模块。特征增强模块根据不同的样本,对embedding层的输出结果进行一次矫正,以适应不同样本的特征表示,提升模型的表达能力。

    最近,复旦大学和微软亚洲研究院合作发布了一篇关于特征增强工作的综述,对比了不同特征增强模块的实现方法及其效果。现在,我们来介绍一下几种特征增强模块的实现方法,以及本文所进行的相关对比实验

    一文总结特征增强&个性化在CTR预估中的经典方法和效果对比论文标题:A Comprehensive Summarization and Evaluation of Feature Refinement Modules for CTR Prediction

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

    1、特征增强建模思路

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

    一文总结特征增强&个性化在CTR预估中的经典方法和效果对比图片

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

    2、特征增强经典方法

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

    一文总结特征增强&个性化在CTR预估中的经典方法和效果对比图片

    FiBiNET: 结合特征重要性和二阶特征交互的点击率预测模型(RecSys 2019)也采用了类似的思路。该模型为每个样本学习了一个特征的个性化权重。整个过程分为挤压(squeeze)、提取(extraction)和重新加权(reweight)三个步骤。在挤压阶段,通过池化方法将每个特征的嵌入向量得到一个统计标量。在提取阶段,将这些标量输入到多层感知机(MLP)中,得到每个特征的权重。最后,将这些权重与每个特征的嵌入向量相乘,得到加权后的嵌入结果,相当于在样本级别上进行特征重要性的筛选

    一文总结特征增强&个性化在CTR预估中的经典方法和效果对比图片

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

    一文总结特征增强&个性化在CTR预估中的经典方法和效果对比图片

    GateNet:增强门控深度网络用于点击率预测(2020)利用每个特征的初始嵌入向量通过一个MLP和sigmoid函数生成其独立的特征权重分数,同时使用MLP将所有特征映射为按位的权重分数,将两者结合起来对输入特征进行加权。除了特征层外,在MLP的隐藏层中,也利用类似的方法对每个隐藏层的输入进行加权

    一文总结特征增强&个性化在CTR预估中的经典方法和效果对比图片

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

    一文总结特征增强&个性化在CTR预估中的经典方法和效果对比图片

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

    一文总结特征增强&个性化在CTR预估中的经典方法和效果对比图片

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

    一文总结特征增强&个性化在CTR预估中的经典方法和效果对比图片

    3、实验效果

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

    一文总结特征增强&个性化在CTR预估中的经典方法和效果对比 图片

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    业界资讯
    相关文章 更多
    Go Get:获取和管理 Go 模块
    Go Get:获取和管理 Go 模块

    明确答案:GoGet是一个命令行工具,用于管理Go模块及其依赖项。详细描述:GoGet可用于获取Go模块,语法为:goget[-u]<modulepath>。可以指定特定模块版本:goget<modulepath>@<version>。使用goget-u<modulepath>更新已安装模块。通过gomodtidy删除不再使用的模块。

    Openharmony驱动的智能教室
    Openharmony驱动的智能教室

    想了解更多关于开源的内容,请访问:51CTO鸿蒙开发者社区https://ost.51cto.com作品背景随着互联网技术的不断发展,在当今社会有越来越多的智能项目走进了我们的日常生活中,而如此便于我们生活的智能应用同时也走进了校园。该项目旨在建立一个基于OpenHarmony的智能教室,提供先进的技术和智能设备,改善学习环境,同时提升教学质量和效率,为学生和教师创造创新、互动和舒适的学习环境功能特点智能教室产品包括五个模块:智能风扇、智能烟雾检测、智能可燃气检测、智能闹钟和智能温湿度检测。这些模块为教室

    如何解决Python的模块导入路径错误?
    如何解决Python的模块导入路径错误?

    Python是一种广泛应用的高级编程语言,它的模块化设计是其成功的一个重要因素。不过,在使用Python时,我们有时会遇到模块导入路径错误的问题,这可以影响程序的正常运行。本篇文章将介绍如何解决Python的模块导入路径错误问题。一、Python中模块的导入方式在Python中,我们使用import语句来导入模块。例如,我们可以使用以下方式导入Python标

    WLAN可拓展性模块无法激活
    WLAN可拓展性模块无法激活

    本文详细介绍了解决事件ID10000的方法,该事件表明无线局域网扩展模块无法启动。在Windows11/10PC的事件日志中可能会显示此错误。WLAN可扩展性模块是Windows的一个组件,允许独立硬件供应商(IHV)和独立软件供应商(ISV)为用户提供定制的无线网络特性和功能。它通过增加Windows默认功能以扩展本机Windows网络组件的功能。在操作系统加载网络组件时,WLAN可扩展性模块作为初始化的一部分启动。如果无线局域网扩展模块遇到问题无法启动,您可能会在事件查看器的日志中看到错误消息,事件I

    Ansible Ad-Hoc 命令行工具
    Ansible Ad-Hoc 命令行工具

    官方文档:https://docs.ansible.com/ansible/latest/command_guide/intro_adhoc.html简介Ad-hoc命令是一种临时输入并执行的命令,通常用于测试和调试。它们不需要永久保存,简单来说,ad-hoc就是“即时命令”。常用模块1、command模块(默认模块)默认模块,没有shell强大,基本上shell模块都可以支持command模块的功能。【1】帮助ansible-doccommand#推荐使用下面这个ansible-doccommand-s

    WLAN扩展模块已停止[修复]
    WLAN扩展模块已停止[修复]

    如果您的Windows计算机上的WLAN扩展模块出现问题,可能会导致您与互联网断开连接。这种情况常常让人感到困扰,但幸运的是,本文提供了一些简单的建议,可以帮助您解决这个问题,让您的无线连接重新正常运行。修复WLAN扩展模块已停止如果您的Windows计算机上的WLAN可扩展性模块已停止工作,请按照以下建议进行修复:运行网络和Internet故障排除程序禁用并重新启用无线网络连接重新启动WLAN自动配置服务修改电源选项修改高级电源设置重新安装网络适配器驱动程序运行一些网络命令现在,让我们来详细看看这些。1

    常用的七个Ansible自动化运维命令
    常用的七个Ansible自动化运维命令

    安装完ansible后,我们可以通过七个主要指令来使用它,这些指令分别是:ansible、ansible-doc、ansible-galaxy、ansible-lint、ansible-playbook、ansible-pull、ansible-vault。我们可以通过查看指令的usage部分来了解如何使用它们,而详细信息则可以通过运行“指令-h”来获取。Ansible常用命令ansibleAnsible的核心部分是用于执行ad-hoc命令的,即单条命令。默认情况下,命令需要指定主机和选项部分,如果不指定

    探究Ansible运行机制
    探究Ansible运行机制

    Ansible工作原理从上面的图上可以了解到:管理端支持local、ssh、zeromq三种方式连接被管理端,默认使用基于ssh的连接,这部分对应上面架构图中的连接模块;可以按应用类型等方式进行HostInventory(主机清单)分类,管理节点通过各类模块实现相应的操作,单个模块,单条命令的批量执行,我们可以称之为ad-hoc;管理节点可以通过playbooks实现多个task的集合实现一类功能,如web服务的安装部署、数据库服务器的批量备份等。playbooks我们可以简单的理解为,系统通过组合多条a

    分享如何在Discuz中正确使用最新的删除模块
    分享如何在Discuz中正确使用最新的删除模块

    最新的Discuz删除模块使用技巧分享,需要具体代码示例Discuz是一个知名的开源社区论坛系统,广泛应用于各种网络社区。在Discuz中,管理员可以通过删除模块来管理论坛内容。删除模块可以帮助管理员轻松地删除不需要的帖子、主题或者用户,进而维护论坛的秩序和质量。在本篇文章中,我们将分享最新的Discuz删除模块使用技巧,并提供具体的代码示例,帮助管理员更好

    深入探讨 Python 语法:从入门到专家
    深入探讨 Python 语法:从入门到专家

    基础语法回顾数据类型:python提供多种数据类型,如整数、浮点数、字符串、布尔值和列表。运算符:Python支持算术运算符(+、-、*、/)、比较运算符(==、!=、>、<)和逻辑运算符(and、or、not)。控制流:条件语句(if、elif、else)和循环语句(while、for)控制程序执行流程。函数定义函数:使用def关键字,后跟函数名和参数。调用函数:使用函数名和实际参数。返回值:使用return语句返回结果。代码示例:defsum_numbers(a,b):"""返回两个数字之

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。