关注我们,一起学习~
标题:Multi-Behavior Hypergraph-Enhanced Transformer for Sequential Recommendation
链接:https://arxiv.org/pdf/2207.05584.pdf
代码:https://github.com/yuh-yang/MBHT-KDD22
会议:KDD 2022
1. 导读
本文主要针对序列推荐场景学习用户动态偏好,以往的方法更多的是关注单一交互类型,本文设计了一个多行为超图增强的 Transformer 框架 (MBHT) 来捕获短期和长期的跨类型行为依赖关系。具体来说,多尺度 Transformer 结合低秩自注意力,从细粒度和粗粒度级别联合编码行为感知序列模式。将全局多行为依赖商品合并到超图神经架构中,捕获分层的长期商品相关性。
2. 方法
image.png
2.1 多尺度建模行为序列模式
2.1.1 行为感知的上下文embedding
为了将行为感知交互上下文注入到序列学习框架中,设计了行为感知上下文embedding层来联合编码单个商品信息和相应的交互行为上下文信号。为此,给定一个商品
v_j,通过以下操作得到
h_j \in \mathbb{R}^d,其中
e_j \in \mathbb{R}^d为商品初始embedding,
b_j \in \mathbb{R}^d为交互类型,
p_j \in \mathbb{R}^d为可学习的位置编码,经过计算后可以得到h的矩阵
H\in \mathbb{R}^{J \times d}\mathbf{h}_{j}=\mathbf{e}_{j} \oplus \mathbf{p}_{j} \oplus \mathbf{b}_{j}
2.1.2 多尺度Transformer层
用户-商品交互偏好可能会随着时间的推移呈现出多尺度的过渡模式。例如,用户经常购买具有不同周期性趋势的不同类别的产品(如,日常用品、衣服、数字设备),例如每日或每周例行活动。本文设计了一个基于 Transformer 架构的多尺度序列偏好编码器,以捕获用户的行为感知交互序列中的多粒度行为动态。
低秩自注意力
在 Transformer中,自注意机制的高计算成本(即二次时间复杂度)限制了模型在实际设置中的可扩展性,本文设计了一个基于低秩的自注意力层,没有二次注意力操作,以近似线性模型复杂度。
生成多个较小的注意力操作以通过低秩分解来近似原始注意力。首先定义两个可训练的投影矩阵
E,F \in \mathbb{R}^{\frac{J}{C} \times J}来执行低秩embedding变换。这里,C表示低秩尺度,J/C表示输入行为感知交互序列
S_i上的低秩潜在表征空间的数量。将低秩自注意力表示如下:
\widehat{\mathbf{H}}=\operatorname{softmax}\left(\frac{\mathbf{H} \cdot W^{Q}\left(\mathbf{E} \cdot \mathbf{H} \cdot W^{K}\right)^{\top}}{\sqrt{d}}\right) \cdot \mathbf{F} \cdot \mathbf{H} \cdot W^{V}
多尺度行为动态
为了赋予MBHT模型有效学习多尺度行为模式的能力,使用分层结构增强基于低秩的Transformer,以便捕获特定粒度的行为动态。本文设计了一个粒度感知聚合器来生成粒度特定的表征
g_p,它保留了短期行为动态。将p定义为特定粒度的子序列的长度。用聚合表征表示粒度感知embedding
\Gamma^p \in \mathbb{R}^{\frac{J}{p} \times d} ,如下所示,
\Gamma^{p}=\left\{\boldsymbol{\gamma}_{1}, \ldots, \boldsymbol{\gamma}_{\frac{J}{D}}\right\}=\left[\eta\left(\mathbf{h}_{1}, \ldots, \mathbf{h}_{p}\right) ; \ldots ; \eta\left(\mathbf{h}_{J-p+1}, \ldots, \mathbf{h}_{J}\right)\right]
其中
\eta()代表聚合器(均值池化)以捕获短期行为感知动态。之后,将粒度感知行为表征送到一个自注意力层,用于编码特定于粒度的行为模式,如下所示,
\mathbf{H}^{p}=\operatorname{softmax}\left(\frac{\Gamma^{p} \cdot W_{p}^{Q}\left(\Gamma^{p} \cdot W_{p}^{K}\right)^{\top}}{\sqrt{d}}\right) \cdot \Gamma^{p} \cdot W_{p}^{V}
H^p \in \mathbb{R}^{\frac{J}{p} \times d}对不同商品子序列上的短期模式进行编码。MBHT 框架中,设计了一个分层 Transformer 网络,有两种不同的尺度设置p1和p2。多尺度 Transformer 可以产生三个特定尺度的序列行为embedding。
\hat{H} \in \mathbb{R}^{J \times d},
H^{p_1} \in \mathbb{R}^{\frac{J}{p_1} \times d},
H^{p_2} \in \mathbb{R}^{\frac{J}{p_2} \times d}2.1.3 多尺度行为模式融合
为了将多尺度动态行为模式集成到一个共同的潜在表征空间中,将上述编码的特定尺度embedding与如下所示的融合层进行聚合,f为映射函数
\widetilde{\mathbf{H}}=f\left(\widehat{\mathbf{H}}\left\|\mathbf{H}^{p_{1}}\right\| \mathbf{H}^{p_{2}}\right)
多头增强的表征空间
多头序列模式编码器将H投影到N个潜在表征空间中,利用多头注意力机制进行计算。
\begin{aligned}
\widetilde{\mathbf{H}} &=\left(\operatorname{head}_{1}\left\|\operatorname{head}_{2}\right\| \cdots \| \operatorname{head}_{N}\right) W^{D} \\
\operatorname{head}_{n} &=f\left(\widehat{\mathbf{H}}_{n}\left\|\mathbf{H}_{n}^{p_{1}}\right\| \mathbf{H}_{n}^{p_{2}}\right)
\end{aligned}利用FFN进行非线性注入
在多尺度 Transformer 中,使用逐点FFN将非线性注入到新生成的表征中。表示为下式,
\begin{aligned}
\operatorname{PFFN}\left(\widetilde{\mathbf{H}}^{(l)}\right) &=\left[\operatorname{FFN}\left(\tilde{\mathbf{h}}_{1}^{(l)}\right)^{\top}, \cdots, \mathrm{FFN}\left(\tilde{\mathbf{h}}_{t}^{(l)}\right)^{\mathrm{\top}}\right] \\
\operatorname{FFN}(\mathbf{x}) &=\operatorname{GELU}\left(\mathbf{x} \mathbf{W}_{1}^{(l)}+\mathbf{b}_{1}^{(l)}\right) \mathbf{W}_{2}^{(l)}+\mathbf{b}_{2}^{(l)}
\end{aligned}2.2 利用超图学习全局多行为依赖
在 MBHT 框架中,旨在将长期多行为依赖纳入不断变化的用户兴趣中。为了有效地捕获个性化的多行为依赖关系,需要解决两个关键挑战:
- 多阶行为依赖。考虑到不同类型行为之间的综合关系,商品的多行为依赖关系不再是二元的。例如,当决定向用户推荐特定商品以了解他们的潜在购买偏好时,探索用户与该商品之间过去的多行为交互(例如,页面浏览、添加到收藏夹)将很有用。客户更有可能在最终购买之前将他们感兴趣的产品添加到他们最喜欢的商品列表中。
- 个性化的多行为交互模式。多行为模式可能随用户与交互之间的相关性而发生变化。如,一些用户喜欢将许多商品添加到他们最喜欢的列表或购物车中,但以后只会购买其中的一小部分。相比之下,另一组用户只有在表现出强烈的购买意愿时才将他们感兴趣的产品标记为最喜欢的。因此,这种复杂且个性化的多行为模式需要我们的模型来保留不同的跨类型行为依赖关系。
为了解决上述问题,本文在超图神经架构上构建了全局多行为依赖编码器。受超图通过单个边连接多个节点的灵活性的启发,利用超边结构来捕获四次或更高阶的多行为依赖关系。给定不同用户的行为感知交互序列,在序列
S_i(u_i\in U)上构建不同的超图结构。
2.2.1 逐商品的超图构建
在超图框架中,生成两种类型的逐商品超边连接:商品之间的长期语义相关性;跨时间的特定于商品的多行为依赖关系。
利用度量学习进行商品语义依赖编码
为了编码基于相同用户兴趣(例如食物、户外活动)的随时间变化的商品语义和潜在的长期商品依赖关系,采用基于度量学习的商品语义编码器。作者设计具有多通道权重函数
\tau()的商品之间的可学习度量
\hat{\beta}_{j,j'}^n,如下所示,
\begin{array}{l}
\beta_{j, j^{\prime}}=\frac{1}{N} \sum_{n=1}^{N} \hat{\beta}_{j, j^{\prime}}^{n} ; \mathbf{v}_{j}=\mathbf{e}_{j} \oplus \mathbf{b}_{j} \\
\hat{\beta}_{j, j^{\prime}}^{n}=\tau\left(\boldsymbol{w}^{n} \odot \mathbf{v}_{j}, \boldsymbol{w}^{n} \odot \mathbf{v}_{j^{\prime}}\right)
\end{array}其中
\hat{\beta}_{j,j'}^n表示商品
v_j和
v_{j'}之间的可学习特定通道的依赖权重。将权重函数
\tau()定义为基于第 n个 表征通道的可学习
w^n的余弦相似度估计。在N个表征通道(由𝑛索引)下进行度量学习。通过均值计算最终的依赖分数。
逐商品的语义依赖超图
通过不同商品之间的编码语义依赖关系,同时将多个高度相关的商品与超边连接来生成逐商品语义超图。构造一组超边
\mathcal{E}^p,其中
|\mathcal{E}^p|对应于序列
S_i中唯一商品的数量。在逐商品语义依赖的超图
\mathcal{G}_p 中,每个商品将根据上面计算的依赖分数在
\epsilon \in \mathcal{E}^p中分配一个超边。
A_j表示特定商品
v_j的topk语义相关商品的集合。将商品和超边之间的连接矩阵定义为
\mathcal{M}^p \in \mathbb{R}^{J \times |\mathcal{E}^p|}其中每个元素为:
m^{p}\left(v_{j}, \epsilon_{j^{\prime}}\right)=\left\{\begin{array}{ll}
\beta_{j, j^{\prime}} & v_{j^{\prime}} \in A_{j} \\
0 & \text { otherwise }
\end{array}\right.逐商品的多行为依赖超图
为了在时间感知环境中捕获个性化的逐商品多行为依赖性,本文基于观察到的用户
u_i和特定商品
v_j在不同的时间戳中的不同类型的交互来构建
\mathcal{G}_q。定义
\mathcal{E}^q 表示与用户
u_i 具有多类型交互的商品集。多行为依赖超图也是因用户而变化的。同样矩阵
M_q中的元素为下式,
m^{q}\left(v_{j}^b, \epsilon_{j}^{b^{\prime}}\right)=\left\{\begin{array}{ll}
1 & v_{j}^b \in \mathcal{E}_{j}^q \\
0 & \text { otherwise }
\end{array}\right.通过将矩阵
M_p 和
M_q 与列边连接起来,从而进一步将两个超图结合起来。即
M=M_p \| M_q。
2.2.2 超图卷积模块
超图卷积层通常涉及两阶段信息传递,即节点-超边和超边-节点embedding传播。公式如下,
\mathbf{X}^{(l+1)}=\mathbf{D}_{v}^{-1} \cdot \mathcal{M} \cdot \mathbf{D}_{e}^{-1} \cdot \mathcal{M}^{\top} \cdot \mathbf{X}^{(l)}
其中
X^{(l)}表示从超图卷积的第
l 层编码的项目嵌入。
D_v 和
D_e 分别是基于顶点和边度数的归一化的对角矩阵。通过
M \cdot M^T 传递的两阶段消息计算相当耗时。作者通过利用预先计算的
\beta_{j,j'}来计算矩阵
M'来近似
M \cdot M^T。
X^{(0)}中的每个商品embedding
x^{(0)} 都使用下式计算
\mathbf{x}^{(0)}=\left(\mathbf{v}_{j} \oplus \mathbf{b}_{j}\right) \odot \operatorname{sigmoid}\left(\left(\mathbf{v}_{j} \oplus \mathbf{b}_{j}\right) \cdot \mathbf{w}+\mathbf{r}\right)
2.3 跨视图聚合
在 MBHT 框架的预测层中,融合来自不同视图的商品表征:
- 1)结合Transformer挖掘的多尺度行为感知序列模式;
- 2)超图框架的个性化全局多行为依赖。
为了以自适应的方式启用这种跨视图聚合,作者设计了一个注意力层来学习特定于视图的商品embedding的显式重要性。公式如下,h和e为分别来自两个视图的embedding,a和W为可学习参数,
\begin{array}{r}
\alpha_{i}=\operatorname{Attn}\left(\boldsymbol{e}_{i}\right)=\frac{\exp \left(\boldsymbol{a}^{\top} \cdot \boldsymbol{W}_{a} \boldsymbol{e}_{i}\right)}{\sum_{i} \exp \left(\boldsymbol{a}^{\top} \cdot \boldsymbol{W}_{a} \boldsymbol{e}_{i}\right)} \\
\boldsymbol{e}_{i} \in\left\{\tilde{\mathbf{h}}_{i}, \tilde{\mathbf{x}}_{i}\right\} ; \mathbf{g}_{i}=\alpha_{1} \cdot \tilde{\mathbf{h}}_{i} \oplus \alpha_{2} \cdot \tilde{\mathbf{x}}_{i}
\end{array}为了消除图卷积的过度平滑效应,
\tilde{x}_i 是所有卷积层中
x^{(l)} 的平均值。最后,序列中第 i 个商品为商品
v_j的概率估计为
\hat{y}_{i,j}=\mathbf{g}_i^{\top} \cdot \mathbf{v}_j 。
2.4 模型学习和分析
屏蔽序列中的所有与目标行为类型(例如,购买)相同的交互商品。为了避免标签泄漏问题,用特殊标记 [mask] 替换了屏蔽的商品以及相应的行为类型embedding,在超图构建中省略掩码商品,对于掩码商品,通过在掩码位置周围的上下文邻居的超图embedding上采用滑动窗口(m-q1,m+q2)平均池化函数,生成其超图embedding 。模型基于行为交互序列中编码的周围上下文embedding对掩码商品进行预测
\hat{y}_{i,j}=\mathbf{g}_i^{\top} \cdot \mathbf{v}_j,采用交叉熵损失函数,
\mathcal{L}=\frac{1}{|T|} \sum_{t \in T, m \in M}-\log \left(\frac{\exp \hat{y}_{m, t}}{\sum_{j \in V} \exp \hat{y}_{m, j}}\right)
3. 结果