transformers在ctr中的应用

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 模型结构

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

2.1.2.1 输入

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

(1)one-hot vector
embedding
普通的embedding特征,其中 V i V_i Vi代表向量化矩阵。把对应的one-hot特征向量化后,取平均值得到下面的公式:
平均向量化
(2)numerical数值特征
数值特征
其中 x m x_m xm为特征真实值, v m v_m vm为对应该特征的随机vector。也即是说,首先模型会随机向量化一个矩阵,同时这个矩阵有 M M M个维度,对应的是 M M M个特征。因此只需要把对应的数值特征与对应位置的vector相乘,就可以有效表征该特征。

2.1.2.2 注意力机制层

这里面的注意力机制层主要用到了transformers中的multi-head attention。同时在attention的输入和输出端引入残差结构。
attention
特征 m m m和特征 k k k会有一个映射关系,相当于FM模型中的交叉特征,其中 h h h为multi-head中的head的数量:
m和k
在这里插入图片描述
在这里插入图片描述

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

  • 假设开始输入四个特征值 x 1 , x 2 , x 3 , x 4 x_1,x_2,x_3,x_4 x1,x2,x3,x4,那么它们的二阶交叉特征为 g ( x 1 , x 2 ) , g ( x 2 , x 3 ) , g ( x 3 , x 4 ) g(x_1,x_2),g(x_2,x_3),g(x_3,x_4) g(x1,x2),g(x2,x3),g(x3,x4)。这四个二阶交叉特征恰好可以通过上面的attention公式计算出来,也即是他们对应的注意力权重 α \alpha α

  • 给定一阶交叉特征值为 e 1 R e s e^{Res}_1 e1Res和三阶交叉特征 e 3 R e s e^{Res}_3 e3Res。则 e 3 R e s e^{Res}_3 e3Res可以由 x 1 , x 2 , x 3 x_1,x_2,x_3 x1,x2,x3生成,这是因为有 g ( x 1 , x 2 ) g(x_1,x_2) g(x1,x2)和残差连接 x 3 x_3 x3可以生成的

  • 因此可以推导,越高阶的特征,可以由低阶生成

2.1.3 实验结果

实验中使用了四个数据集,由三个拿到了SOTA:
在这里插入图片描述
在可解释性方面,画了attention权重可视化:
在这里插入图片描述
其中可以看到左图中颜色较深的是两个特征有关系的:<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 模型

BST

在排序阶段,构建了一个推荐任务:CTR任务。任务的描述如下,用户 u u u的行为序列 S ( u ) = { v 1 , v 2 , . . . , v n } S(u)=\{v_1,v_2,...,v_n\} S(u)={v1,v2,...,vn},学习的函数为 F F F,来预测用户 u u u对目标商品 v t v_t vt的点击概率。

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

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

  • Other Features不经过Transformer,直接构成一个向量化矩阵 W 0 W_0 W0。下面是Other Features的表格:
    Other Features
  • Sequence Item和Positional Features则需要经过Transformer层。其中Sequence Item主要是由商品ID和类别ID进行输入。
  • Positional embedding(位置向量),用下面公式构建:
    p o s ( v i ) = t ( v t ) − t ( v i ) pos(v_i)=t(v_t)-t(v_i) pos(vi)=t(vt)t(vi)
    其中 v t v_t vt代表该商品的推荐时间, v i v_i vi代表用户点击时间

2.2.4 实验结果

results
从实验结果上看,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 模型

model

2.3.3.1 Input Layer和Embedding Layer

电子商务系统中,分类特征是比较有用的。给定用户 u u u,该用户的行为序列为 S = < x 1 , x 2 , . . . , x T > S=<x_1,x_2,...,x_T> S=<x1,x2,...,xT>。其中 x i = ( t i , p i ) x_i=(t_i,p_i) xi=(ti,pi)表明该用户在 t i t_i ti时刻上在商品 p i p_i pi上的行为。论文中分为三种不同的行为:点击行为(click)、添加到购物车的行为(cart)、排序行为(order)。

在Embedding Layer中,对每个商品的特征进行向量化,得到dense vectors e i e_i ei

在模型的左边有一个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)

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

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

  • 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网络

具体看公式:
w k = s o f t m a x ( N N G k ( x ) ) f k ( x ) = ∑ i = 1 N w i k e i ( x ) u k = N N U k ( f k ( x ) ) w^k=softmax(NN_G^k(x)) \\ f^k(x)=\sum_{i=1}^{N}w_i^ke_i(x) \\ u_k=NN_U^k(f^k(x)) wk=softmax(NNGk(x))fk(x)=i=1Nwikei(x)uk=NNUk(fk(x))

gate网络输出 N N G k ( x ) NN_G^k(x) NNGk(x),然后经过sotmax得到权重 w k w^k wk。这个权重 w k w^k wk与expert网络的 e i ( x ) e_i(x) ei(x)进行生成,得到 f k ( x ) f^k(x) fk(x).最后再经过utility网络得到 u k u_k uk

2.3.3.4 Bias Deep Neural Network

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

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

y b = N N B ( x b ) y_b=NN_B(x_b) yb=NNB(xb)

2.3.3.5 训练和预测

在训练阶段,需要加上偏差 y b y_b yb
training
预测阶段则不需要偏差。

2.3.4 实验结果

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

(3)不同expert的影响
在这里插入图片描述
点击预测任务对expert1和expert4影响较大。
排序预测任务对expert1、3、4影响较大

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洛克-李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值