《论文阅读》SESSION-BASED RECOMMENDATIONS WITH RECURRENT NEURAL NETWORKS

该文探讨了如何使用递归神经网络(RNN)进行会话推荐,尤其是通过门控循环单元(GRU)解决梯度消失问题。论文提出了session-parallel mini-batches、输出采样和排名损失等优化策略,以提高推荐系统的性能。实验部分展示了这些改进在电子商务和视频平台数据集上的效果,并与其他基线方法进行了对比,证明了RNN在会话推荐中的有效性。

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

SESSION-BASED RECOMMENDATIONS WITH RECURRENT NEURAL NETWORKS

论文概况

论文发布在ICLR 2016上,首次将递归神经网络RNN应用于推荐系统,在传统RNN的基础上进行了GRU单元的优化,并且为了使实际效果更佳的好,进行了Seesion-Parallel、 Mini-BatchesSampling On The Output、Ranking Loss等改进。

GRU-based RNN

Alt

RNN的输入时会话的实际状态,输出是会话中下一个事件的item。

会话的状态可以是实际事件的item,也可以是会话中迄今为止的事件

前者中,使用1-of-N编码,即输入向量的长度等于item的长度,对应的item为1,其余为0。

后者中,使用representations的加权和来表示,如果事件发生的较早,则会对其进行折扣。

文章还尝试了添加额外的embedding层,但是i-of-N 编码的表现更好。

在最后的GRU层和输出之间再添加一个额外的Feedforward layers(前馈层)。

GRU

一般的RNN是使用公式(1)来更新隐藏状态h
h t = g ( W x t + U h t − 1 ) (1) \mathbf{h}_{\mathbf{t}}=g\left(W \mathbf{x}_{\mathbf{t}}+U \mathbf{h}_{\mathbf{t}-\mathbf{1}}\right)\tag{1} ht=g(Wxt+Uht1)(1)
其中g是一个光滑且有界的函数,并入logistic sig moid函数, x t x_t xt是t时刻的unit输入, h t h_t ht的作用就是,给定当前状态 h t h_t ht,RNN会输出序列中下一个元素的概率分布。

本文采用了由Cho等人在论文《 On the proper-ties of neural machine translation: Encoder-decoder approaches》提出的GRU(Gated Recurrent Unit),用来解决梯度消失的问题。

Alt

h t = ( 1 − z t ) h t − 1 + z t h t ^ (2) \mathbf{h}_{\mathbf{t}}=\left(1-\mathbf{z}_{\mathbf{t}}\right) \mathbf{h}_{\mathbf{t}-\mathbf{1}}+\mathbf{z}_{\mathbf{t}} \hat{\mathbf{h}_{\mathbf{t}}}\tag{2} ht=(1zt)ht1+ztht^(2)

z t = σ ( W z x t + U z h t − 1 ) (3) \mathbf{z}_{\mathbf{t}}=\sigma\left(W_{z} \mathbf{x}_{\mathbf{t}}+U_{z} \mathbf{h}_{\mathbf{t}-\mathbf{1}}\right)\tag{3} zt=σ(Wzxt+U

### Graph Neural Networks in Social Recommendation Graph Neural Networks (GNNs) 的英文翻译为 **Graph Neural Networks**,而其在社交推荐中的应用可以描述为 **Application of Graph Neural Networks in Social Recommendations** 或者更具体的表述如 **Social Recommendation using Graph Neural Networks**。 #### 背景介绍 社交推荐系统利用用户之间的社会关系以及物品间的关联信息来提升推荐质量。由于图神经网络能够有效处理复杂的图结构数据并从中学习高阶特征[^1],因此 GNN 已成为该领域的重要工具之一。具体来说,在社交推荐场景下,用户的交互行为和社会联系可以通过图的形式建模,其中节点代表用户或项目,边则表示两者间的关系或互动强度[^3]。 #### 应用方式 一种典型的应用方法是构建包含用户-项目二分图的社会感知推荐框架,并在此基础上引入基于消息传递机制的消息传播算法以捕捉隐含模式[^4]。此外,考虑到实际应用场景中可能存在动态变化的情况(比如新增好友或者兴趣转移),部分研究还探索了如何结合时间维度的信息来进行更加精准的预测[^5]。 以下是实现这一过程的一个简单伪代码示例: ```python import torch from torch_geometric.nn import GCNConv class SocialRecommendationModel(torch.nn.Module): def __init__(self, num_user_features, num_item_features, hidden_channels): super(SocialRecommendationModel, self).__init__() self.conv1 = GCNConv(num_user_features + num_item_features, hidden_channels) self.conv2 = GCNConv(hidden_channels, 1) def forward(self, data): x, edge_index = data.x, data.edge_index x = self.conv1(x, edge_index) x = torch.relu(x) x = self.conv2(x, edge_index) return torch.sigmoid(x).squeeze() ``` 此段代码定义了一个基础版本的用于社交推荐任务的两层图卷积网络模型(GCN),它接收融合后的用户和项目的特征作为输入,并最终输出每一对可能存在的链接概率值。 #### 总结 综上所述,借助于强大的表达能力和灵活性,图神经网络正在推动着社交推荐技术向着更高水平迈进。未来随着理论和技术的发展,相信会有更多创新性的解决方案被提出。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值