前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AT4CTR: 对比学习构建辅助任务提升CTR预估性能

AT4CTR: 对比学习构建辅助任务提升CTR预估性能

作者头像
秋枫学习笔记
发布2024-01-03 15:03:54
3220
发布2024-01-03 15:03:54
举报
文章被收录于专栏:秋枫学习笔记秋枫学习笔记

关注我们,一起学习

标题: AT4CTR: Auxiliary Match Tasks for Enhancing Click-Through Rate Prediction 地址:https://arxiv.org/pdf/2312.06683.pdf 学校,公司:中科大,美团 会议:AAAI 2024

1. 导读

本文主要是针对CTR预估中数据稀疏性问题提出的相关方法,再原有的ctr预估模型中引入了一个辅助匹配任务,通过对比学习来提高点击率预测精度(AT4CTR)。两个受协同过滤启发的匹配任务,以增强用户和item之间的相关性建模。

  • 第一个匹配任务旨在拉近用户和item之间正样本的表征。基于对比学习,构建正负样本对,样本中有交互的u-i作为正样本对,同batch中其他的item/user来构建负样本,以此来构建infoNCE损失进行对比学习
  • 下一个item的交互预测作为第二个匹配任务。这里采用常见的序列推荐方法中的思路,对于给定的历史行为序列,每次用前n个交互的聚合emb来预测第n+1个item;那么真实交互的为正样本,同batch其他交互序列同位置的item为负样本,构建对比损失

2.方法

如图所示,模型主要由Emb层,常规的点击率预估模型部分,UIM和NIP组成,Emb层就是常规的将特征转换为对应的emb向量,这里不再赘述。UIM个NIP分别对应导读中所说的两个匹配任务

2.1 UIM:user-item匹配

UIM使用InfoNCE损失(常用的对比损失函数)拉近正样本的用户和item之间的表征。正负样本对构造方式:将正样本中的用户/item与同一batch中其他样本的item/用户组合为InfoNCE损失的负样本。

  • 用户的表征包含用户画像和行为序列的emb。在用户画像
x^{UP}

中有多种类型的特征,将所有这些特征的emb拼接得到对应的表示

e^{UP}

  • 对于行为序列,使用自注意力机制来聚合行为序列表征,捕捉点item之间的相关性,表示为下式
S A(X)=\operatorname{Softmax}\left(\frac{X W^{Q}\left(X W^{K}\right)^{T}}{\sqrt{d}}\right) X W^{V}

得到经过自注意力机制之后的行为emb后,对其进行均值池化,相当于就是对所有行为进行聚合得到用户的兴趣emb,如下所示,

X^{US}

为用户的行为序列

e^{US}=meanpool(SA(X^{US}))

,拼接用户画像表征后得到

e^U=concat(e^{UP},e^{US})

将候选item的特征

x^I

经过emb层得到

e^{I}

。并经过MLP对齐user和item的维度

r^U=MLP(e^U) r^I=MLP(e^I)

基于本节开头所述的方式构建正负样本对,然后通过infoNCE来训练模型,分别构建用户锚点和item为锚点的inforNCE损失函数,

L_{u i}=-\frac{1}{n_{+}} \sum_{k=1}^{n_{+}} \log \frac{\exp \left(\operatorname{sim}\left(\mathbf{r}_{+}^{\mathbf{U}}, \mathbf{r}_{+}^{\mathbf{I}}\right) / \tau_{1}\right)}{\sum_{j=1}^{n} \exp \left(\operatorname{sim}\left(\mathbf{r}_{+}^{\mathbf{U}}, \mathbf{r}_{\mathbf{j}}^{\mathbf{I}}\right) / \tau_{1}\right)}
L_{i u}=-\frac{1}{n_{+}} \sum_{k=1}^{n_{+}} \log \frac{\exp \left(\operatorname{sim}\left(\mathbf{r}_{+}^{\mathbf{I}}, \mathbf{r}_{+}^{\mathbf{U}}\right) / \tau_{1}\right)}{\sum_{j=1}^{n} \exp \left(\operatorname{sim}\left(\mathbf{r}_{+}^{\mathbf{I}}, \mathbf{r}_{\mathbf{j}}^{\mathbf{U}}\right) / \tau_{1}\right)}

NIP:下一个交互item预测

用户过去的行为会影响当前的行为。本节设计了第二个辅助匹配任务,通过将InfoNCE作为全softmax的近似值来执行下一个item的预测任务。将过去的行为视为用户的表征,将下一个行为视为会交互的目标item。

采用自回归因果自注意力机制对用户行为进行编码,表示如下,说人话:序列长度为m-1,在这条序列里面每次都用前t个行为去预测低t+1个交互的item,这里的

r^t

表示前t个行为产生的emb(产生方式就是前面的自注意力机制和聚合)。

[r^1,...,r^{m-1}]=Causal_SA(x^{US})

同理也可以构建正负样本对,正样本就是第t+1时交互的item,负样本时其他行为序列中相同位置的item,然后构建对应的infoNCE损失函数,n为batch size,

r_i^k

表示前k个行为聚合得到的emb,

e_i^{k+1}

为构建的第k+1个交互的正负样本。则

L_{NIP}=L_{ip}+L_{pi}
\begin{aligned}L_{pi}&=-\frac{1}{n(m-1)}\sum_{i=1}^{n}\sum_{k=1}^{m-1}\log\frac{\exp(sim(\mathbf{r_i^k},\mathbf{e_i^{k+1}})/\tau_2)}{\sum_{j=1}^{n}\exp(sim(\mathbf{r_i^k},\mathbf{e_j^{k+1}})/\tau_2)}\end{aligned}
L_{ip}=-\frac1{n(m-1)}\sum_{i=1}^n\sum_{k=1}^{m-1}\log\frac{\exp(sim(\mathbf{e_i^{k+1},r_i^k})/\tau_2)}{\sum_{j=1}^n\exp(sim(\mathbf{e_i^{k+1},r_j^k})/\tau_2)}

并且考虑原有的点击率预估的交叉熵损失函数的情况下,可以得到总的损失函数为

L_{total}=L_{main}+\lambda_{UIM} L_{UIM}+\lambda_{NIP} L_{NIP}

3. 结果

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-12-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 秋枫学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 导读
  • 2.方法
    • 2.1 UIM:user-item匹配
      • NIP:下一个交互item预测
      • 3. 结果
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档