首页 > 其他分享 >Position-Enhanced and Time-aware Graph Convolutional Network for Sequential Recommendations

Position-Enhanced and Time-aware Graph Convolutional Network for Sequential Recommendations

时间:2023-09-04 15:59:50浏览次数:41  
标签:Convolutional mathbf Network Graph embedding Time Position

Position-Enhanced and Time-aware Graph Convolutional Network for Sequential Recommendations

目录

[Huang L., Ma Y., Liu Y., Du B., Wang S. and Li D. Position-enhanced and time-aware graph convolutional network for sequential recommendations. TOIS, 2021.]

Graph + Sequence + Time.

符号说明

PTGCN

Embedding Layer

  • User/Item Embedding: 就是正常的 embedding: \(\mathbf{U} \in \mathbb{R}^{|U| \times d}, \mathbf{V} \in \mathbb{R}^{|V| \times d}\). 我们用 \(\mathbf{u}_{i,t}, \mathbf{v}_{j,t}\) 来强调为时间戳 \(t\) 处的 embedding (虽然现在没看出来和 \(t\) 有啥关系).

  • Time Embedding: 首先, 将实际的时间划分为如下区间,

    \[[0, 1), [1, 2), [2, 4), \ldots, [2^k, 2^{k+1}) \]

    然后为每个 group 设定一 embedding, 接下来具体的时间只需要通过 look up 就可以了. 记为

    \[\mathbf{t} \in \mathbb{R}^d. \]

  • Position embedding: 此外, 我们希望模型知晓位置信息, 故而引入 position embedding, 采用的就是最常见的 sinusoidal encoding, 我们记为 \(\mathbf{p}_t\), 类似的, 严格来说它值和时间 \(t\) 没有关系.

Convolutional Layer

  • 一般的图卷积为如下的形式:

    \[\mathbf{h}_{N_u}^{(l)} = \text{AGGREGATE}(\{\mathbf{h}_{u'}^{(l-1)}| u' \in N_u\}), \\ \mathbf{h}_{u}^{(l)} = \sigma(\mathbf{W}^{(l)} \cdot \text{CONCAT} (\mathbf{h}_u^{(l-1)}, \mathbf{h}_{N_u}^{(l)})). \]

    不过显然它无法利用到时间和序列信息.

  • 所以作者采用如下的方式:

    \[\mathbf{h}_{N_{u_i, t_q}}^{(l)} = \text{AGGREGATE}(\{(\mathbf{v}_{j, t}^{(l-1)}, \mathbf{t}, \mathbf{p}_{j, t})| i_{u_i, v_j, t} \in N_{u_i, t_q}\}), \\ \mathbf{u}_{i, t_q}^{(l)} = \mathbf{W}_{U_2} \cdot \sigma(\mathbf{W}_{U_1} \cdot \text{CONCAT} (\mathbf{u}_{i, t_q}^{(l-1)}, \mathbf{h}_{N_{u_i, t_q}}^{(l)})). \]

    这里 \(N_{u_i, t_q} = \{i_{u_i, v_j, t_m}| v_j \in V, q - n < m \le q\}\). 对于 \(\mathbf{v}^{(l)}\), 其更新方式是类似的.

  • 具体的, AGGREGATE 部分, 作者是采用是自注意力机制实现的.

代码

[official]

标签:Convolutional,mathbf,Network,Graph,embedding,Time,Position
From: https://www.cnblogs.com/MTandHJ/p/17677233.html

相关文章

  • networkX-01-基础
    创建一个图Graph是由一组节点和节点对(边)组成的。#创建一个没有节点和边的空图。importnetworkxasnxG=nx.Graph()01节点图G可由多种方式生成。NetWorkX中包含许多图形生成函数(graphgeneratorfunctions),用于读取和写入多种格式的图形。方式1:一次添加一个节点G.......
  • 华为云FunctionGraph函数工作流—— “Serverless“遇见”AI,释放AI生产力
    5月26日-27日,由msup主办的2023年A2M峰会在上海南新雅皇冠假日酒店盛大举行。本次A2M峰会以“AIGC时代下的AI落地实践、数据智能和基础架构演进”为主题,邀请了100余位行业专家从支撑数字化转型的几个关键技术切面入手,甄选前沿有典型代表的84个技术创新及研发实践的架构案例,分享他们......
  • 图解Spark Graphx基于connectedComponents函数实现连通图底层原理
    原创/朱季谦第一次写这么长的graphx源码解读,还是比较晦涩,有较多不足之处,争取改进。一、连通图说明连通图是指图中的任意两个顶点之间都存在路径相连而组成的一个子图。用一个图来说明,例如,下面这个叫graph的大图里,存在两个连通图。左边是一个连接图,该子图里每个顶点都存在路......
  • Note of SHU Computer Graphics (01): 计算机图形学概述
    什么是计算机图形学?研究怎样利用计算机来显示、生成和处理图形的原理、方法和技术的一门学科,这里的图形是指三维图形的处理。图形:计算机图形学的研究对象能在人的视觉系统中产生视觉印象的客观对象包括自然景物、拍摄到的图片、用数学方法描述的图形等等构成图形的要......
  • Proj CDeepFuzz Paper Reading: Aries: Efficient Testing of Deep Neural Networks v
    Abstract背景:thedefactostandardtoassessthequalityofDNNsintheindustryistochecktheirperformance(accuracy)onacollectedsetoflabeledtestdatatestselectioncansavelaborandthenbeusedtoassessthemodel前提:themodelshouldhav......
  • Time-aware Path Reasoning on Knowledge Graph for Recommendation
    目录概TPRec代码ZhaoY.,WangX.,ChenJ.,WangY.,TangW.,HeX.andXieH.Time-awarepathreasoningonknowledgegraphforrecommendation.TOIS,2022.概本文介绍了一种将时间信息(而非仅仅序列信息)应用到知识图谱上的方法.这里只介绍它对时间信息的提取方......
  • 论文阅读 《Pingmesh: A Large-Scale System for Data Center Network Latency Measur
    背景在我们内部产品中,一直有关于网络性能数据监控需求,我们之前是直接使用ping命令收集结果,每台服务器去ping(N-1)台,也就是N^2的复杂度,稳定性和性能都存在一些问题,最近打算对这部分进行重写,在重新调研期间看到了Pingmesh这篇论文,Pingmesh是微软用来监控数据中心网络情况......
  • 论文解读(DEAL)《DEAL: An Unsupervised Domain Adaptive Framework for Graph-level Cl
    Note:[wechat:Y466551|可加勿骚扰,付费咨询]论文信息论文标题:DEAL:AnUnsupervisedDomainAdaptiveFrameworkforGraph-levelClassification论文作者:NanYin、LiShen、BaopuLi、MengzhuWang、论文来源:2023aRxiv论文地址:download 论文代码:download视屏讲解:click1......
  • 解决:docker 443: connect: network is unreachable
    1、配置镜像加速器您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器sudomkdir-p/etc/dockersudotee/etc/docker/daemon.json<<-'EOF'{"registry-mirrors":["https://liadaibh.mirror.aliyuncs.com"]}EOFsudosystemctldaemon-......
  • Anaconda配置pydot库、graphviz库的方法
      本文介绍在Anaconda环境中,安装Python语言pydot与graphviz两个模块的方法。  最近进行随机森林(RF)的树的可视化操作,需要用到pydot与graphviz模块;因此记录一下二者具体的安装方法。  相关环境的版本信息:AnacondaNavigator:1.10.0;Python3.8.5。  话不多说,我们开始下载与......