前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SIGIR'22「腾讯」GMT:邻域感知的Masked Transformer进行点击率预测

SIGIR'22「腾讯」GMT:邻域感知的Masked Transformer进行点击率预测

作者头像
秋枫学习笔记
发布2022-09-19 10:34:15
4120
发布2022-09-19 10:34:15
举报
文章被收录于专栏:秋枫学习笔记

关注我们,一起学习~

title:Masked Transformer for Neighhourhood-aware Click-Through Rate Prediction link:https://arxiv.org/pdf/2201.13311.pdf from:SIGIR 2022

1. 导读

本文针对点击率CTR预估提出新方法GMT,推荐系统的性能通常受到不活跃行为和系统曝光的影响,导致提取的特征没有包含足够的信息。本文提出基于邻域交互的CTR预测方法,通过异构信息网络HIN挖掘目标用户-商品对的局部邻域来预测他们的链接。并且,考虑节点之间的四种拓扑交互来增强局部邻域表征。

2. 基础

2.1 异构图构建

本文的异构信息网络可以构建为

\mathcal{G=(N,E,T_V,T_E)}

,其中分别表示节点集合,边集合,节点类型集合,边类型集合。

\mathcal{N=\{U,I,S_1,...,S_{|T_V|-2}\}}

,U为用户集合,I为item集合,

S_i

表示第i种类型实体集,这里|Tv|-2是因为去掉了U和I。

以微信视频推荐为例,有四种节点类型:用户,视频,文章和官网账号;五种链接类型:用户-点击-视频,用户-点击-文章,用户订阅官方账号,官方账号-发布-视频和官方账号-发布-文章。

2.2 问题定义

给定用户集合

\mathcal{U=\{u_1,...,u_M\}}

,item集合

\mathcal{I=\{v_1,...,v_N\}}

,用户-商品交互矩阵

\mathcal{Y \in R^{M \times N}}

,

y_{uv}=1

表示用户u点击了商品v。给定任务相关的异构信息网络HIN

\mathcal{G=(N,E)}

,对于每个目标用户u和商品v采样一个batch的邻居节点

\mathcal{N_{uv}\in N}

,每个节点存在对应的特征向量,所以邻居节点集合的特征向量的集合表示为

\mathcal{F_{uv}}

,上下文特征为C,所以一个实例可以表示为

\{\mathcal{F_{uv}},C\}

,目标就是基于这两个信息预测用户点击商品的概率。

3. 方法

image.png

3.1 HIN邻居采样

对于每个节点r, 图中存在一些相关节点,可以丰富其表征。考虑到HIN采样场景在大规模服务中,每个节点都可以关联到丰富的特征。因此,采样的节点需要满足以下要求:

  • 1) 尽可能多地对最近的节点进行采样,因为接近的节点(例如,一阶邻居)通常包含最相关的信息,
  • 2)对每种类型的节点采样一定大小的节点集合,
  • 3)对与其他节点交互(边)最多的节点进行采样。

本文提出贪婪异构邻域采样 方法(GHNSampling)。具体如伪代码所示

3.2 构建局部交互图

在目标用户u和候选商品v的邻居采样之后,整合他们的邻居以获得u-v对的邻居,表示为

N_{uv}

u,v \in N_{uv}

)。将

N_{uv}

中的每个节点i与其原始特征向量

f_i

相关联。表示节点序列的直接解决方案是应用使用一些常用模型如 Transformer,它将邻域中的节点视为一个完整的图,并基于节点特征学习表征。但是,为了使表征更加有各自的特性,作者分类为四种类型的交互图,如图 3 所示。

  • Induced subgraph
\mathcal{G}_I

:HIN 中的边信息提供了节点之间的重要关系信息。因此,从 HIN 中检索所有边以生成诱导子图

\mathcal{G}_I

  • Similarity Subgraph
\mathcal{G}_S

:在诱导子图

\mathcal{G}_I

中,仅使用描述不同节点之间的行为关系或自然关系的分类特征组的子集来构建图。然而,描述节点之间丰富的潜在语义连接的其他特征组,例如商品标签,被忽略了。因此,根据节点的原始特征,通过邻域内的节点特征相似度来定义相似度图

\mathcal{G}_S

。计算所有成对相似度分数如下,其中t(i)是节点i的节点类型,f是节点的原始特征向量,不同类型的节点可能共享相同的特征组,例如,不同类别的商品(例如,视频、文章、产品)可能共享相同的标签方案。给定两种节点类型,𝑔()表示两种类型中的共享特征组的索引。

\operatorname{sim}(i, j)=\frac{\mathbf{f}_{i}[g(t(i), t(j))] \cdot \mathbf{f}_{j}[g(t(j), t(i))]}{\left\|\mathbf{f}_{i}[g(t(i), t(j))]\right\| \cdot\left\|\mathbf{f}_{j}[g(t(j), t(i))]\right\|}

基于相似度分数,有两种构造图的方案:

  1. 加权的相似度图:构建改图的邻接矩阵为相似度分数
M_S[i,j]=sim(i,j)
  1. k-NN相似度图:尽管S包含相似性权重,但由于数据中可能会产生噪声。因此,应用𝑘-NN 算法以仅保留强信号。即,如果第j个节点是第i个节点的k近邻,则
M_S[i,j]=1
  • Cross Neighbourhood Subgraph
\mathcal{G}_C

:虽然上面两类图能捕获邻域中节点的自然关系和相似关系。但是,还应该考虑更多的隐含关系。令

\mathcal{N}_u

\mathcal{N}_v

分别表示u和v的邻居,

N_{uv}=N_u \cup N_v

N_v \cap N_u=\phi

。捕获两个子集之间的交叉关系,交叉邻居图为

\mathcal{G}_C=\{(s,t)|s\in N_u,t\in N_v\}
  • Complete Graph
\mathcal{G}_P

:不加任何结构先验,并为模型提供最大的自由度来学习节点之间的任何隐式相关性。该图的邻接矩阵为

M_P=\mathbf{1}_{|N_{uv}|\times |N_{uv}|}

image.png

3.3 图掩码Transformer

构建局部交互图后,一个实例可以包含

\{\mathcal{F_{uv},G_I,G_S,G_C,G_P}\}

这些信息,接下来根据这些信息构建图掩码Transformer。

3.3.1 异构节点特征转换层

对于邻域

N_{uv}

中的节点i,其稠密特征向量表示为

x_i

。由于不同类型的节点具有不同的特征组和特征空间,使用类型感知的特征转换层将它们映射到一个统一的空间中吗,表示如下,其中t(i)表示第i个节点的节点类型,

h_i=Linear^{t(i)}(x_i)

3.3.2 图掩码多头自注意力

GMT 和原始 Transformer 架构之间的主要区别在于多头自注意 (MSA) 层。给定输入序列

H=\{h_1,...,h_n\}

,基本Self-attention的过程可以定义如下,

n=|N_{uv}|

为邻居节点数量

\begin{gathered} e_{i j}=\frac{\left(\mathbf{Q h}_{i}\right)^{\top}\left(\mathbf{K h}_{i}\right)}{\sqrt{d}} \\ \alpha_{i j}=\frac{\exp \left(e_{i j}\right)}{\sum_{k=1}^{n} \exp \left(e_{i k}\right)} \\ \mathbf{z}_{i}=\sum_{j=1}^{n} \alpha_{i j}\left(\mathbf{V h}_{i}\right) \end{gathered}

在多头自注意力层中,有H个注意力头来隐式地关注来自不同节点的不同表征子空间的信息。本节使用图掩码机制来强制头部显式关注具有图先验的不同子空间。表示如下,其中M为邻接矩阵,

e_{i j}=f_{m}\left(\frac{\left(\mathbf{Q h}_{i}\right)^{\top}\left(\mathbf{K h}_{i}\right)}{\sqrt{d}}, \mathbf{M}_{i j}\right),
f_{m}(x, \lambda)= \begin{cases}\lambda x & \lambda \neq 0 \\ -\infty & \lambda=0\end{cases}

上述方式使注意力计算能够意识到结构先验。基于上面描述的四种类型的交互图,将头部分为四组,并使用相应的邻接矩阵应用图掩码。第i个节点的输出表征

h_i'

的计算如下,FFN为两层前馈神经网络,包含LN和残差连接(和基本的Transformer一致),

h_i'=FFN(W^OConcat(z_i^1,...,z_i^H))

通过多头图掩码机制,将各种图先验合并到 Transformer 架构中,从而显着扩展模型的表达能力。在堆叠多个图掩码多头自注意力层后,邻域中的节点的最终表征为:

Z=\{z_1,...,z_{|N_{uv}|}\}

3.3.3 读出层

为了得到固定大小的表征,在读出层进行平均池化,

g_{uv}=Readout(Z)=\frac{1}{|N_{uv}|}\sum_{v_i \in N_{uv}}{z_i}

3.4 分类和优化

通过上述方式得到邻居节点表征后,与目标用户,商品和上下文特征拼接后经过MLP进行分数预测,表示如下,

z^o=Concat(g_{uv},x_u,x_v,C)
\hat{y}_{uv}=\sigma(f_{mlp}(z^o,\theta))

在不同的训练轮次,从同一个u-v对中采样的邻居可以不同,这意味着邻域embedding

g_{uv}

和最终 CTR

\hat{y}_{uv}

会不同。假设我们对每个u-v对采样最多S次,数据集D上的交叉熵损失函数构建为下式,

\mathcal{L}_{\mathrm{BCE}}=\frac{1}{S} \sum_{\left\langle u, v\right \rangle \in \mathcal{D}} \sum_{s=1}^{S}\left(y_{u v} \log \hat{y}_{u v}^{s}+\left(1-y_{u v}\right) \log \hat{y}_{u v}^{s}\right)

为了提高模型对抽样随机性的鲁棒性,设计了一种一致性正则化的变体,约束由相同u-v 对采样的邻域具有相似embedding。它可以表述为下式,其中

\bar{g}_{uv}^s=\frac{1}{S}\sum_{s=1}^S{\hat{g}_{uv}^s}

,dg为维度,

\mathcal{L}_{\mathrm{CR}}=\frac{1}{S} \sum_{\left \langle u, v \right \rangle \in \mathcal{D}} \sum_{s=1}^{S} \frac{1}{d_{g}}\left\|\hat{\mathrm{g}}_{u v}^{s}-\overline{\mathrm{g}}_{u v}^{s}\right\|

总体损失函数如下,

L=L_{BCE}+\lambda L_{CR}

4. 实验

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.1 异构图构建
  • 2.2 问题定义
  • 3.1 HIN邻居采样
  • 3.2 构建局部交互图
  • 3.3 图掩码Transformer
    • 3.3.1 异构节点特征转换层
      • 3.3.2 图掩码多头自注意力
        • 3.3.3 读出层
        • 3.4 分类和优化
        相关产品与服务
        访问管理
        访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档