首页 > 其他分享 >transformers在ctr中的应用

transformers在ctr中的应用

时间:2023-05-04 21:32:43浏览次数:43  
标签:transformers ctr 特征 模型 论文 用户 点击 应用 2.3


文章目录

  • 1.背景
  • 2.相关论文解析
  • 2.1 《AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks》
  • 2.1.1 论文贡献
  • 2.1.2 模型结构
  • 2.1.2.1 输入
  • 2.1.2.2 注意力机制层
  • 2.1.3 实验结果
  • 2.2 《Behavior Sequence Transformer for E-commerce Recommendation in Alibaba》
  • 2.2.1 论文贡献
  • 2.2.2 引入
  • 2.2.3 模型
  • 2.2.4 实验结果
  • 2.3 《Deep Multifaceted Transformers for Multi-objective Ranking in Large-Scale E-commerce Recommender Systems》
  • 2.3.1 论文贡献
  • 2.3.2 引入
  • 2.3.3 模型
  • 2.3.3.1 Input Layer和Embedding Layer
  • 2.3.3.2 Deep Multifaceted Transformers Layer
  • 2.3.3.3 Multi-gate Mixture-of-Experts Layers(MMoE)
  • 2.3.3.4 Bias Deep Neural Network
  • 2.3.3.5 训练和预测
  • 2.3.4 实验结果

1.背景

目前Transformers及其衍生的各种模型(包括Bert,Roberta等)在NLP领域上大放异彩。不仅仅在NLP领域上,在CTR预估上,这些模型能够有效针对画像特征进行分类,从而有效学习高阶交互特征,提升CTR预估效果。同时CTR预估往往存在文本信息,因此也可以使用Transformers等模型来挖掘词语之前的关系。

CTR预估:旨在预测用户是否会点击所推荐的广告和商品,它通常会运用到在线广告和推荐系统中。

2.相关论文解析

2.1 《AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks》

论文指出,目前CTR预估中,存在两个问题:

  • 输入的数据,比如用户数据和商品数据,这些都是高纬度和稀疏的特征,容易造成过拟合
  • 有效的预估中,需要进行特征交叉。这其中又会涉及到大量的人工标记评估时间

因此本论文提出了新的模型AutoInt用来学习高阶的输入特征,用来解决稀疏且高纬度的输入特征。
同时这个模型能够同时处理数字型(numerical)和分类型(categorical)的特征。

2.1.1 论文贡献

论文中贡献有如下几点:

  • 论文的模型能够进行显示学习高阶特征,同时能够找到很好的解释方法(其实也就是用了attention机制来解释)
  • 提出了一个基于self-attention神经网络,它能够自动学习高阶特征,同时有效解决高纬度的稀疏数据问题
  • 实验中展示出论文中提出模型达到了SOTA,且有更好的可解释性

2.1.2 模型结构

transformers在ctr中的应用_Transformer


整体模型比较简单,在输入部分同时输入了one-hot特征和numerical特征。然后经过了整个multi-head self-attention结构,最后进行模型预测。

2.1.2.1 输入

创新点在于输入部分是结合了两种不同的特征,一种是one-hot vector;另一种是numerical数值特征。

(1)one-hot vector

transformers在ctr中的应用_深度学习_02


普通的embedding特征,其中transformers在ctr中的应用_Transformer_03代表向量化矩阵。把对应的one-hot特征向量化后,取平均值得到下面的公式:

transformers在ctr中的应用_python_04


(2)numerical数值特征

transformers在ctr中的应用_机器学习_05


其中transformers在ctr中的应用_CTR_06为特征真实值,transformers在ctr中的应用_Transformer_07为对应该特征的随机vector。也即是说,首先模型会随机向量化一个矩阵,同时这个矩阵有transformers在ctr中的应用_python_08个维度,对应的是transformers在ctr中的应用_python_08个特征。因此只需要把对应的数值特征与对应位置的vector相乘,就可以有效表征该特征。

2.1.2.2 注意力机制层

这里面的注意力机制层主要用到了transformers中的multi-head attention。同时在attention的输入和输出端引入残差结构。

transformers在ctr中的应用_CTR_10


特征transformers在ctr中的应用_机器学习_11和特征transformers在ctr中的应用_CTR_12会有一个映射关系,相当于FM模型中的交叉特征,其中transformers在ctr中的应用_深度学习_13为multi-head中的head的数量:

transformers在ctr中的应用_CTR_14


transformers在ctr中的应用_python_15


transformers在ctr中的应用_机器学习_16

论文中提到这个是具有可解释性的:

  • 假设开始输入四个特征值transformers在ctr中的应用_CTR_17,那么它们的二阶交叉特征为transformers在ctr中的应用_深度学习_18。这四个二阶交叉特征恰好可以通过上面的attention公式计算出来,也即是他们对应的注意力权重transformers在ctr中的应用_python_19
  • 给定一阶交叉特征值为transformers在ctr中的应用_python_20和三阶交叉特征transformers在ctr中的应用_python_21。则transformers在ctr中的应用_python_21可以由transformers在ctr中的应用_CTR_23生成,这是因为有transformers在ctr中的应用_深度学习_24和残差连接transformers在ctr中的应用_Transformer_25可以生成的
  • 因此可以推导,越高阶的特征,可以由低阶生成

2.1.3 实验结果

实验中使用了四个数据集,由三个拿到了SOTA:

transformers在ctr中的应用_Transformer_26


在可解释性方面,画了attention权重可视化:

transformers在ctr中的应用_深度学习_27


其中可以看到左图中颜色较深的是两个特征有关系的:<Gender=Male,Age=[18-24),MovieGenre=Action&Triller>,这个说明年轻人比较喜欢Action&Triller电影,符合常识。

2.2 《Behavior Sequence Transformer for E-commerce Recommendation in Alibaba》

2.2.1 论文贡献

以前的工作采用的是embedding和MLP(普通的全量连接层),原始的特征会直接映射成低纬度vectors,然后利用MLP作为最后的预测层。但是以前的这种方法没有考虑到用户的行为序列,仅仅是把原有的特征进行拼接。
本论文的贡献是:

  • 利用Transformer模型来捕捉底层用户行为的信号
  • 实验结果证明新提出的模型在CTR预估上有重大的提升

2.2.2 引入

在推荐系统中(RSs),会分为两个部分:match(匹配)和rank(排序)。在匹配中,根据商品和用户的交互来选择相似的物品,然后利用精细化的预估模型来预测用户对该商品的点击概率。

本论文主要集中在排序阶段,预测用户点击候选商品的概率。利用Transformer模型,同时引入用户的一系列行为,来提升CTR预估的效果。论文中提出的模型称为behavior sequence transformer(BST)。

2.2.3 模型

transformers在ctr中的应用_python_28

在排序阶段,构建了一个推荐任务:CTR任务。任务的描述如下,用户transformers在ctr中的应用_机器学习_29的行为序列transformers在ctr中的应用_python_30,学习的函数为transformers在ctr中的应用_Transformer_31,来预测用户transformers在ctr中的应用_机器学习_29对目标商品transformers在ctr中的应用_CTR_33的点击概率。

以前点击items和相关的特征被直接嵌入到底层的向量当中。本论文最大的不同在于,BST主要利用了transformer层来学习内在的用户点击信号。

(1)Embedding Layer
首先把所有的输入特征嵌入到低纬度的向量中。

  • Other Features不经过Transformer,直接构成一个向量化矩阵transformers在ctr中的应用_python_34。下面是Other Features的表格:
  • Sequence Item和Positional Features则需要经过Transformer层。其中Sequence Item主要是由商品ID和类别ID进行输入。
  • Positional embedding(位置向量),用下面公式构建:
    transformers在ctr中的应用_CTR_35
    其中transformers在ctr中的应用_python_36代表该商品的推荐时间,transformers在ctr中的应用_CTR_37代表用户点击时间

2.2.4 实验结果

transformers在ctr中的应用_Transformer_38


从实验结果上看,BST在离线和在线任务中都取得了最好的结果

2.3 《Deep Multifaceted Transformers for Multi-objective Ranking in Large-Scale E-commerce Recommender Systems》

2.3.1 论文贡献

以前的CTR模型仅仅集中在历史的点击序列中,但没有关注用户的多种行为。因此本论文提出了模型Deep Multifaceted Transformers (DMT)来考虑用户的多种行为,并应用多任务学习方法来训练模型。论文的主要贡献如下:

  • 多任务学习方法:同时使用CTR(点击率)和Conversion Rate (CVR,转化率)来训练模型
  • 引入用户的多种不同行为:用户有很多不同的行为,比如:点击、添加商品到购物车,排序。
  • 引入偏差隐藏反馈(bias):
    (1)位置偏差:一个用户会点击一个商品仅仅是因为它排名比较高,这种现象称为“位置偏差”
    (2)邻居偏差:用户偏向于点击目标商品的附近商品

2.3.2 引入

推荐系统旨在把前在的商品进行推荐,同时解决信息暴露问题,在电子商务中有重要的作用。推荐系统往往包括两个部分:候选生成、排序。论文中主要关注的是排序阶段,用来提升用户的满意度和网站的收入。

在多目标学习中,论文中使用了Multi-gate Mixture-of-Experts (MMoE)。

为了考虑偏差问题,论文中提出的模型DMT使用了偏差网络来估计倾向分数。

2.3.3 模型

transformers在ctr中的应用_深度学习_39

2.3.3.1 Input Layer和Embedding Layer

电子商务系统中,分类特征是比较有用的。给定用户transformers在ctr中的应用_机器学习_29,该用户的行为序列为transformers在ctr中的应用_深度学习_41。其中transformers在ctr中的应用_python_42表明该用户在transformers在ctr中的应用_深度学习_43时刻上在商品transformers在ctr中的应用_CTR_44上的行为。论文中分为三种不同的行为:点击行为(click)、添加到购物车的行为(cart)、排序行为(order)。

在Embedding Layer中,对每个商品的特征进行向量化,得到dense vectors transformers在ctr中的应用_Transformer_45

在模型的左边有一个dense layer,它主要分为三个不同的类型:

  • 商品特征:点击数量,转化率等
  • 用户特征:购买力,首选类别和品牌
  • 用户-商品特征:商品是否符合用户的年龄和性别

2.3.3.2 Deep Multifaceted Transformers Layer

这部分主要用到的是Transformer模型。

论文中,对于每个用户,1)点击序列取在近7天中最近的50个商品;2)添加购物车和排序取近1年中的10个行为。

在Transformer中,encoder输入的是商品序列,encoder输入的是目标商品,用来学习用户的兴趣向量来映射目标商品。通过多层self-attention进行叠加,可以学习到用户的隐藏信息。

2.3.3.3 Multi-gate Mixture-of-Experts Layers(MMoE)

主要用来进行多目标任务学习。

单独拿出这一部分进行分析:

transformers在ctr中的应用_CTR_46

  • MMoE有一组bottom networks, 每一个叫做一个expert, 在本文中, expert network是一个feed-forward network
    然后为每个任务引入一个gating network。Gating networks 的输入是input features, 输出是softmax gates,即各个expert的权重
  • 加权之后的expert结果被输入下一层网络中
  • 这样的话,不同任务的gating networks能够学到不同的专家混合方式,以此捕捉到任务之间的关系
  • MMoE更容易训练并且能够收敛到一个更好的loss,因为近来有研究发现modulation和gating机制能够提升训练非凸深度神经网络的可训练性。
  • 在这篇论文中因为学习的是两个目标,所以用到两个expert网络和两个gate网络

具体看公式:
transformers在ctr中的应用_python_47

gate网络输出transformers在ctr中的应用_Transformer_48,然后经过sotmax得到权重transformers在ctr中的应用_Transformer_49。这个权重transformers在ctr中的应用_Transformer_49与expert网络的transformers在ctr中的应用_python_51进行生成,得到transformers在ctr中的应用_机器学习_52.最后再经过utility网络得到transformers在ctr中的应用_python_53

2.3.3.4 Bias Deep Neural Network

论文中主要处理Position bias(位置偏差)和Neighboring bias(邻居偏差)。

  • Position bias(位置偏差):排名较高得会倾向于点击。记录目标商品的位置
  • Neighboring bias(邻居偏差):在目标商品附近,也会倾向于点击。记录目标商品最近的K个商品

transformers在ctr中的应用_机器学习_54

2.3.3.5 训练和预测

在训练阶段,需要加上偏差transformers在ctr中的应用_深度学习_55

transformers在ctr中的应用_深度学习_56


预测阶段则不需要偏差。

2.3.4 实验结果

(1)baseline对比

transformers在ctr中的应用_深度学习_57


(2)不同模块之间的对比

transformers在ctr中的应用_Transformer_58


加入排序的操作序列,不会有太高的提升。经验来说:对于具有较长回购期的产品(例如计算机),用户倾向于在购买产品后的短时间内单击但不再次购买该产品。 对于回购期较短的产品(例如牛奶),用户可以在短时间内单击并再次购买。 订单序列可能会导致点击预测和订单预测之间发生冲突,并干扰点击或购物车序列中的信息。(3)不同expert的影响

transformers在ctr中的应用_Transformer_59


点击预测任务对expert1和expert4影响较大。

排序预测任务对expert1、3、4影响较大


标签:transformers,ctr,特征,模型,论文,用户,点击,应用,2.3
From: https://blog.51cto.com/u_12243550/6244548

相关文章

  • SQL 通用表达式递归查询的应用举例
    前置知识对于大多数人来说,SQL意味着SELECT、INSERT、UPDATE和DELETE。但实际上,SQL能够实现的功能远远不止简单的增删改查;今天我们来介绍一个高级功能:通用表表达式(CommonTableExpression)。CTE可以提高复杂查询的性能和可读性,实现树状结构或者图数据的遍历。例如:生成数字......
  • Exp6 MSF应用基础
    一、实验原理(1)MSF简介Metasploit是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。(2)程序特点这种可以扩展的模型将负载控制,编码器,无操作生成器和漏洞整合在一起,使MetasploitFramewo......
  • 6.4.3(3) 余弦定理、正弦定理的应用
    \({\color{Red}{欢迎到学科网下载资料学习}}\)[【基础过关系列】高一数学同步精品讲义与分层练习(人教A版2019)](https://www.zxxk.com/docpack/2921718.html)\({\color{Red}{跟贵哥学数学,so\quadeasy!}}\)必修第二册同步巩固,难度2颗星!基础知识解三角形一般地,三角形的......
  • Exp6 MSF应用基础 20202211王宏韬
    目录1基础问题回答2实验总结与体会3离实践缺少什么4实践过程记录主动攻击实践针对浏览器攻击针对adobe客户端攻击应用辅助模块tcp端口扫描   1基础问题回答 exploit:利用发现的安全漏洞或配置弱点对靶机进行攻击,将payload发送给靶机。payload:植入靶机......
  • 网络对抗实验六 MSF应用基础
    目录实践内容一、主动攻击实践二、针对浏览器的攻击三、针对客户端的攻击四、应用一个辅助模块问题回答一、基础问题回答1.用自己的话解释什么是exploit,payload,encode.二、实践总结与体会实践内容一、主动攻击实践关闭靶机防火墙打开445端口查看版本msfconsolesearchs......
  • 汇编_寻址方式在结构化数据访问中的应用
    如何寻址数据巩固一下寄存器reg:ax,bx,cx,dx,ap,bp,si,disreg:ds,ss,cs,esbx,si,di,bp在8086CPU中,只有这4个寄存器可以用在"[...]"中进行内存单元的寻址。这4个寄存器可以单个出现,或只能以4种组合出现:bx和si、bx和di、bp和si、bp和di。只要在[...]中使用......
  • Java 双指针项目中的实际应用
    背景说明最近在做财务相关的系统,对账单核销预付款从技术角度来看就是将两个数组进行合并对账单核销预付款前提条件:对账单总金额必须等于未核销金额数据示例对账单数据单号金额B0001100B000280B0003120预付款数据单号未核销金额PRE0011......
  • Opencv技术应用
     OpenCV是一个开源的计算机视觉库,可以用于实现各种视觉任务,例如图像处理、物体识别、目标跟踪、人脸检测等。OpenCV具有丰富的图像处理和计算机视觉算法,例如边缘检测、滤波、形态学处理、特征提取和匹配等,可以帮助开发人员实现各种视觉任务,同时具有高效性、灵活性和易用性等优点......
  • Exp6 MSF应用基础 20201331黄文刚
    Exp6MSF应用基础一、实验原理(1)MSF简介Metasploit是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。(2)程序特点这种可以扩展的模型将负载控制,编码器,无操作生成器和漏洞整合在一起,使M......
  • Exp6 MSF应用基础-20201324
    目录1实践内容1.0安装靶机1.1一个主动攻击实践,尽量使用最新的类似漏洞;主动攻击实践MS08-0671.2一个针对浏览器的攻击,尽量使用最新的类似漏洞;1.2.1针对浏览器的攻击ms06_013_createtextrange1.2.2针对浏览器的攻击MS14-0641.3一个针对客户端的攻击,如Adobe或office,尽量使用最......