【Notes】Multi-Behavior Sequential Recommendation with Temporal Graph Transformer(2022)

该研究提出了时空图变换器(Temporal Graph Transformer, TGT),旨在处理多行为序列推荐中的交叉行为关系和时序融合。TGT通过区分行为重要性,捕捉短期信息,并利用注意力机制处理长期动态用户兴趣,实现对多类型用户行为的综合建模。实验表明,TGT在捕获行为动态依赖和多行为重要性方面优于其他方法。" 78734358,5515843,PyTorch自动求导机制详解,"['深度学习', 'PyTorch', '自动梯度', '神经网络']

【Notes】Multi-Behavior Sequential Recommendation with Temporal Graph Transformer(2022)

Xia L, Huang C, Xu Y, et al. Multi-Behavior Sequential Recommendation with Temporal Graph Transformer[J]. IEEE Transactions on Knowledge and Data Engineering, 2022.

Key challenge:

(1)如何处理交叉行为之间的关系(不同行为可能传递互补的信号)

(2) 时序多行为的融合

1-1

问题定义:

给定用户ui∈Uu_i\in UuiU,其行为序列Si∈SS_i\in SSiS由三元组构成:(vk,i,b,t)(v_{k,i},b,t)(vk,i,b,t),其中行为b∈Bb\in BbB

给定序列sis_isi,预测经过tK,it_{K,i}tK,i后可能进行交互的商品

1.对于用户uiu_iui分为几个sub-users,对应sub-sequenceSikS_i^kSik(如何进行切分是一项调整的参数)(划分sub-sequence的我认为目的是分别对short-item和long-item两方面进行处理)

2.利用transformer的结构捕捉short-term的信息:首先分割为sub-sequence(short-term);(a)Behavior-Aware Context Embedding: 然后对于sub-sequence,time的embedding采用正余弦函数;与item和behavior的embedding相加构成使用的embedding(使得embedding可以包含时间信息和行为信息)(b)Item-Wise Sequential Dependency: 利用transformer的结构捕捉(E‾kr=∥h=1H∑k′=1Kαk,k′VhEk′r\overline{E}_k^r=\Vert_{h=1}^H\sum^K_{k'=1}\alpha_{k,k'}V^hE_{k'}^rEkr=h=1Hk=1Kαk,kVhEkr

3.Aggregation:(local)

分为两步(a)区分不同行为重要程度进行encode,(b)aggregation

构建二分图Gr=G_r=Gr={uir∪Si,r,ξru_i^r\cup S_{i,r},\xi_ruirSi,r,ξr}

Hbr=Aggre(E‾r,b)=σ(∑k=1Kϕ(bkr=b)E‾krWb)H_b^r=Aggre(\overline{E}^r,b)=\sigma(\sum_{k=1}^K\phi(b_k^r=b)\overline{E}_k^rW_b)Hbr=Aggre(Er,b)=σ(k=1Kϕ(bkr=b)EkrWb)

Multi-channel Projection: 区分不同行为的效果(重要性),得到WbW_bWb,这也用于区分global item-wise 依赖

After the behavior embedding projection over multiple base transformations, the behavior-aware semantics are encoded with the developed channel-wise aggregation layer, which endows our TGT method to preserve the inherent behavior semantics of different types of user-item interactions.(这里不是很清楚为什么可以让TGT保留信息)

Aggregation over Cross-Type Relation:(这一步的重点在于动态的用户偏好,因此提出适应性的注意力网络),在中心思想aggeration的基础上进一步处理,计算注意力权重,得到H‾r=∑b=1BγbHbr\overline{H}^r=\sum_{b=1}^B\gamma_bH_b^rHr=b=1BγbHbr

γb=σ1(HbrTσ2(∑b=1BHbrWA+μA))\gamma_b=\sigma_1({H_b^r}^T\sigma_2(\sum_{b=1}^BH_b^rW_A+\mu_A))γb=σ1(HbrTσ2(b=1BHbrWA+μA))

这样得到的结果包含了上下文信息

E‾jb=σ(∑vkr=jϕ(bkr=b)H‾rWb);E‾j=∑b=1BγbE‾j,b\overline{E}_j^b=\sigma(\sum_{v_k^r=j}\phi(b_k^r=b)\overline{H}^rW_b);\overline{E}_j=\sum_{b=1}^B\gamma_b\overline{E}_{j,b}Ejb=σ(vkr=jϕ(bkr=b)HrWb);Ej=b=1BγbEj,b

这样的到的结果就是从user(节点)到item(节点)的信息传递的结果

4.Global context learning(通过这个部分(解决long-term),representation将同时包含short,long-term):

Global user representation:Γi:\Gamma_i:Γi:user的embedding,Γ‾i=ϕ(H‾r)=σ(∑r=1RiηrH‾r);\overline{\Gamma}_i=\phi(\overline{H}^r)=\sigma(\sum_{r=1}^{R_i}\eta_r\overline{H}^r);Γi=ϕ(Hr)=σ(r=1RiηrHr);

ηr=ΓiTH‾r;H‾r=Γi+tr\eta_r=\Gamma_i^T\overline{H}^r;\overline{H}^r=\Gamma_i+t_rηr=ΓiTHr;Hr=Γi+tr

ηr\eta_rηr判断uiu_iuiuiru_i^ruir之间关系的权重

如图所示,(1)global to local:计算不同sub-user的embedding

(2)local to global:计算权重之后,得到加权和

High-order Relation Aggregation根据上面的分析,得到了:

i) short-term multi-behavior interactions between user and item ; ii) long-range dynamic structural dependency of user interest across-time durations

最后一步介绍了l到(l+1)层如何传递信息(转换)

5.模型预测和优化

1-2

实验结果说明

  • BPR,NCF,DeepFM:多行为的重要性

  • Bert4Rec的良好表现也说明,相较于其他attention机制,transformer更好

  • 相较于其他以GNN为基础的图神经网络,本文对于行为(behavior)的影响(heterogeneity)也进行encode

  • 对于考虑heterogenity的神经网络进行比较,没能捕捉行为的动态依赖

The goal of TGT is to aggregate dynamic relation contextual signals from different types of user behaviors and generate contextualized representations for making predictions on target behaviors.

### 基于 Transformer 的序列推荐系统 (TSR) 实现与概述 基于 Transformer 的序列推荐系统(Transformer-based Sequential Recommendation System, TSR)是一种利用自注意力机制来捕捉用户行为序列中长期依赖关系的方法。这种方法通过建模用户的动态兴趣,能够更有效地预测用户可能感兴趣的商品或服务。 #### 1. Transformer 架构的核心概念 Transformer 是一种由 Vaswani 等人在论文《Attention is All You Need》中提出的神经网络架构[^3]。它主要依靠自注意力机制(Self-Attention Mechanism),能够在处理长序列数据时捕获全局上下文信息。相比于传统的 RNN 或 LSTM 模型,Transformer 不仅能并行化训练过程,还能更好地学习远距离依赖关系。 在推荐系统的背景下,Transformer 被用来分析用户的历史交互记录,从而推断其未来的偏好。具体来说: - **输入表示**:用户的行为历史被编码为一系列嵌入向量 \( \{e_1, e_2, ..., e_n\} \),其中每个向量代表一项商品或者一次互动。 - **位置编码**:为了保留时间顺序信息,通常会加入绝对或相对的位置编码 \( PE_{pos} \)[^4]。 - **自注意力层**:该层允许模型关注整个序列中的重要部分,而不仅仅是最近的几个项目。 以下是 Transformer 推荐模型的一个简化版本实现示例: ```python import torch.nn as nn class TransformerLayer(nn.Module): def __init__(self, d_model=512, nhead=8, num_layers=6): super(TransformerLayer, self).__init__() encoder_layer = nn.TransformerEncoderLayer(d_model=d_model, nhead=nhead) self.transformer_encoder = nn.TransformerEncoder(encoder_layer, num_layers=num_layers) def forward(self, src): output = self.transformer_encoder(src.permute(1, 0, 2)) return output[-1] class SequenceRecommendationModel(nn.Module): def __init__(self, vocab_size, embedding_dim=512, nhead=8, num_layers=6): super(SequenceRecommendationModel, self).__init__() self.embedding = nn.Embedding(vocab_size, embedding_dim) self.positional_encoding = PositionalEncoding(embedding_dim) self.transformer = TransformerLayer(d_model=embedding_dim, nhead=nhead, num_layers=num_layers) self.fc_out = nn.Linear(embedding_dim, vocab_size) def forward(self, input_seq): embedded = self.embedding(input_seq) encoded_input = self.positional_encoding(embedded) transformer_output = self.transformer(encoded_input) prediction_scores = self.fc_out(transformer_output) return prediction_scores ``` 上述代码定义了一个简单的基于 Transformer 的推荐模型框架,其中包括嵌入层、位置编码以及最终的全连接输出层用于生成评分矩阵。 #### 2. 多行为推荐中的应用 对于多行为场景下的推荐问题,可以扩展基础的 Transformer 结构以适应不同的行为类型。例如,在给定多种行为模式的情况下,可以通过引入额外的行为特征维度或将每种行为视为独立子任务的方式增强表达能力[^1]。此外,还可以借鉴图卷积网络的思想构建隐含的关系结构[^2],进一步提升性能表现。 #### 3. 总结 综上所述,基于 Transformer 的序列推荐技术凭借强大的上下文理解能力和灵活的设计空间成为当前研究热点之一。然而值得注意的是,实际部署过程中还需要考虑计算资源消耗等因素的影响。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值