AutoInt:使用Multi-head Self-Attention进行自动特征学习的CTR模型

AutoInt模型利用多头自注意力机制进行特征交互学习,提升点击率预测任务的准确性。在交互层,特征通过线性变换进入注意力空间,计算相似度并形成注意力分布,进而加权求和生成新特征表示。该模型适用于深度学习和机器学习的CTR任务。
摘要由CSDN通过智能技术生成

本文首发于知乎专栏 https://zhuanlan.zhihu.com/p/53462648

简介

这篇论文提出使用multi-head self attention(类似Transformer里的那个) 机制来进行自动特征交叉学习以提升CTR预测任务的精度。
废话不多说,先看下主要结构。典型的四段式深度学习CTR模型结构:输入,嵌入,特征提取,输出。这里我们重点看下嵌入和特征提取部分
在这里插入图片描述

核心结构

输入和嵌入

在这里插入图片描述
针对类别特征,通过embedding方式转换为低维稠密向量
e i = V i x i e_i=V_ix_i ei=Vixi
其中, V i V_i Vi是特征组 i i i对应的嵌入字典(嵌入矩阵), x i x_i xi是特征组特征的独热编码表示向量(通常处于节省空间的考虑,只存储非零特征对应的索引)

对于连续特征有,
e m = v m x m e_m=v_mx_m em=vmxm
其中 v m v_m vm是嵌入向量, x m x_m xm是一个标量值

通常在CTR任务中我们对连续值特征对处理方式有三种:

  1. 进行归一化处理拼接到embedding向量侧
  2. 进行离散化处理作为类别特征
  3. 赋予其一个embedding向量,每次用特征值与embedding向量的乘积作为其最终表示

本文采取的是第三种方式,具体这三种方式孰优孰劣,要在具体场景具体任务下大家自己去验证了~

从实现的角度看第三种是比较便捷的。

InteractingLayer(交互层)

交互层使用多头注意力机制将特征投射到多个子空间中,在不同的子空间中可以捕获不同的特征交互模式。通过交互层的堆叠,可以捕获更高阶的交互模式。

下面展示在特定子空间 h h h下,对于特征组 m m m下的特征 e m e_m em,交互层是如何计算与其相关的交互特征 e ~ m ( h ) \tilde{e}^{(h)}_m e~m(h)
在这里插入图片描述

  1. 首先输入特征通过矩阵乘法线性变换为在注意力空间下的向量表示,对于每个特征 e m e_m em在特定的注意力空间 h h h中,都有三个表示向量 E m h : Q u e r y = W Q u e r y ( h ) e m E^{h:Query}_m=W^{(h)}_{Query}e_m Em

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值