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

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【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

问题定义:

给定用户 u i ∈ U u_i\in U uiU,其行为序列 S i ∈ S S_i\in S SiS由三元组构成: ( v k , i , b , t ) (v_{k,i},b,t) (vk,i,b,t),其中行为 b ∈ B b\in B bB

给定序列 s i s_i si,预测经过 t K , i t_{K,i} tK,i后可能进行交互的商品

1.对于用户 u i u_i ui分为几个sub-users,对应sub-sequence S i k S_i^k Sik(如何进行切分是一项调整的参数)(划分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 ‾ k r = ∥ h = 1 H ∑ k ′ = 1 K α k , k ′ V h E k ′ r \overline{E}_k^r=\Vert_{h=1}^H\sum^K_{k'=1}\alpha_{k,k'}V^hE_{k'}^r Ekr=h=1Hk

### 基于 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
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值