首页 > 编程语言 >ApeGNN: Node-Wise Adaptive Aggregation in GNNs for Recommendation论文阅读笔记

ApeGNN: Node-Wise Adaptive Aggregation in GNNs for Recommendation论文阅读笔记

时间:2024-03-13 17:13:18浏览次数:23  
标签:Node 聚合 GNNs 用户 ApeGNN mathbf Wise gnn 节点

Abstract

​ 说明现有的问题:现有的gnn平等地对待用户和项目,不能区分每个节点的不同局部模式,这使得它们在推荐场景中并不理想。

​ 提出本文的工作:为了解决这一挑战,我们提出了一个节点级自适应图神经网络框架ApeGNN。ApeGNN开发了一种用于信息聚合的节点级自适应融合机制,使每个节点能够根据局部结构(如度)自适应地决定其融合权值。

Introduction

​ 开始详细说明现有的问题:在基于gnn的模型中仍存在一些需要推荐的问题。首先,在基于gnn的推荐中没有区分节点类型。用户-项目交互网络是一种特殊类型的图,其边缘只能存在于用户和项目的中间。换句话说,在两个用户或项目之间没有直接的交流。到目前为止,现有的基于gnn的推荐方法与处理其他普通图的一般gnn没有什么区别,如参考图,社交网络等。也就是说,对所有用户和项目都采用了相同的建模策略。通常,在高阶邻域聚合设置中,用户从(仅)第0层嵌入的1跳项目邻居、第1层表示的2跳用户以及第2层嵌入的3跳项目聚合信息。在基于gnn的推荐系统中,将所有层相同的聚合步骤忽略了每个子图结构中用户和项目之间的语义差异,并扩展了它们的嵌入。其次,不同的用户/项目的本地结构在推荐上是不同的。我们认为不同度节点在每个跳传播上的平均结果分布非常不平衡,每个节点的最优传播数是不确定的,这意味着每个用户/项目都有其局部结构。这表明,具有不同结构的不同节点应该具有不同的重要性。考虑到这些问题,我们认为推荐gnn中的节点自适应聚合是学习层间节点级差异的必要步骤。因此,我们建议研究在基于gnns的推荐方法的聚合过程中,每个节点是否应该在不同的层中进行不同的处理。

​ 下一段介绍现有的工作以及存在的问题,这里就不详细展开了

​ 然后提出本文的方法:在这项工作中,我们提出了一个新的自适应模型(ApeGNN),它在gnn中进行节点级自适应聚合以供推荐。而不是对待每个用户和项目在每一层在高阶聚合和传播,我们利用图扩散过程自适应地分配一个独特的权重(内层权重)的邻居和区分信息从不同的gnn层,促进聚合方法的发展从固定的聚合到节点级别的聚合。对于ApeGNN的想法是对于每个用户u和每个用户i都有一个独立的聚合权重:\(\theta(t(u_i),l),\theta(t(v_j),l)\),这些权重代表了每个用户和项目在每层的贡献

Method

​ 本节设计了一个基于gnn的推荐系统ApeGNN。其主要思想是在聚合过程中区分每个用户以及节点的项目,并以节点的方式计算gnn中的影响。为了实现这一点,我们将基于图扩散的自适应操作的思想整合到聚合中。

模型的流程如下:

pFcdX8A.png

基于节点的GNN自适应聚合

​ 为了将节点重要性整合到基于gnns的模型中的现有聚合中以进行推荐,我们设计了一种基于节点的自适应聚合机制。对于用户u和它的邻居节点\(N_{u_i}\),带有权重系数的聚合函数可以表示为:

\(\mathbf{h}_{u_i}=AGG(\{\mathbf{h}_{v_j},\forall v_j\in\mathcal{N}_{u_i}\};\theta(t_{u_i})).\)

\(t_{u_i}\)是用户u的自适应操作参数

类似地,项目的聚合函数可以表示为:

\(\mathbf{h}_{v_{j}}=AGG(\{\mathbf{h}_{u_{i}},\forall u_{i}\in\mathcal{N}_{v_{j}}\};\theta(t_{v_{j}})),\)

权重系数\(\theta\)

​ 如前所述,在GNN中,在不同层的嵌入中所包含的语义往往是不同的。对于二部图上的gnn,每一层都由用户或项目组成,这自然使每一层的语义有所不同。换句话说,应该通过设置不同的权值来捕获聚合过程中每个层的唯一语义来明确地处理不同层上的嵌入。特别地,我们提出了热核(HT)和个性化PageRank(PPR)两种方法来模拟图的扩散过程,提供更好的重要性选择支持,接下来是介绍两种不同的相关系数的方法

热核方法

​ 在基于gnn的模型中,节点之间的特征传播可以看作是牛顿冷却定律(也称为热核)的实践,其中热量从温度较高的区域转移到温度较低的区域。也就是说,两个节点之间的嵌入传播自然与它们的表示成正比。

​ 然后是一堆复杂的数学推导,最后计算出相关系数为:

​ \(\theta_{(t_{u_i}^{(l)})}^{HT}=\frac{t_{u_i}^{l}e^{-t_{u_i}}}{l!}.\)

​ t是前面提到的自适应操作参数

Personal PageRank方法

​ ApeGNN旨在从每个节点的图结构中识别局部模式。为了实现这一目标,我们利用PageRank和APPNP中使用的PPR来构建图结构信息,并为每个节点分配唯一的权重。

\(\theta_{(t_{u_{i}}^{(l)})}^{PPR}=t_{u_{i}}^{(l)}(1-t_{u_{i}}^{(l)})^{l}.\)

​ ApeGNN和APPNP的共同点是,我们将GCN与个性化的PageRank连接起来,以进行远程传播,降低过平滑风险,并适当地利用传送概率来保留初始特征,以获得更好的性能。通过利用热核和个性化的页面排名,我们可以为每个节点分配适当的权重,以增强低频侧翼,并加强图的平滑性。

中心重要性

​ 最好的传播方式是不确定的,因此,在建模节点的重要性时,应考虑每层的邻居权重,在聚合过程中获得节点的表示时,应对用户和项目节点之间的不同注入进行建模。以往关于节点重要性估计的研究表明,节点的重要性与其在图中的中心性呈正相关。一般来说,节点的入度表示其中心性和流行程度。因此我们使用入度作为初始层的权重来对用户和项目的差异进行建模。

\(t_{u_i}^{(0)}=\varphi(D(u_i))=\sigma(log(D(u_i)+\epsilon))\)

​ 在ApeGNN中,通过给出一个用户-项目交互二部图作为输入,将每个用户和每个项目的嵌入通过自适应聚合进行区分,并将该嵌入进行节点参数化,形成最终表示。

传播过程

通过在聚合过程中使用增强的表示,我们可以将每个嵌入层添加到传播层中,以挖掘高阶连接信息。

\[\begin{gathered} \mathbf{h}_{u_{i}}^{(l)} =\theta(t_{u_i}^{(l)})\sum_{v_j\in\mathcal{N}_{u_i}}p_{(u_iv_j)}\mathbf{h}_{v_j}^{(l-1)}, \\ \mathbf{h}_{v_j}^{(\boldsymbol{l})} =\theta(t_{v_j}^{(l)})\sum_{u_i\in\mathcal{N}_{v_j}}P_{(v_ju_i)}\mathbf{h}_{u_i}^{(l-1)}. \end{gathered}\]

通过利用卷积核扩展嵌入的聚合和传播函数,得到了自适应图的卷积矩阵,矩阵的形式为:

\[\begin{gathered} \mathbf{E}_u^{(\boldsymbol{l})} =\sum_{l=0}^{L}\Theta_{t_{u}}^{(l)}\mathbf{T}^{l}\mathbf{E}_{u}^{(l-1)}, \\ \mathbf{E}_v^{(\boldsymbol{l})} =\sum_{l=0}^L\Theta_{t_v}^{(l)}\mathbf{T}^l\mathbf{E}_v^{(l-1)}. \end{gathered}\]

标签:Node,聚合,GNNs,用户,ApeGNN,mathbf,Wise,gnn,节点
From: https://www.cnblogs.com/anewpro-techshare/p/18071061

相关文章

  • mac 本地搭建Larval + node 项目
    一、服务端+前段代码 二、安装环境2.1开发环境版本准备PHP7.4.3MySQL5.7.37node14.17.6npm6.14.11cnpm6.1.1 2.2.1mac本地安装brew工具/bin/bash-c"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"2.2.2brew安装p......
  • 将 node 高版本替换为低版本
    如果能找到高版本的安装文件,直接运行,选择卸载,然后再安装低版本,这种方式比较简单。如果无法卸载高版本,而低版本又无法覆盖高版本,可以用这种方法:解压低版本安装包,路径不要包含中文,可以将文件夹的命名简单些,后面需要用到。比如node打开node->bin文件夹,空白处右键,在终端处......
  • pnpm : 无法加载文件 D:\dev\nodejs\pnpm.ps1,因为在此系统上禁止运行脚本。有关详
    一、问题现象  二、问题原因  1、此问题是由于PowerShell的执行策略限制了脚本的执行//通过命令可以查看当前策略Get-ExecutionPolicy     2、策略说明:Restricted:默认策略,禁止运行任何脚本,除非明确允许。AllSigned:只允许运行经由数字签名并由受信......
  • springboot/java/php/node/python小区物业管理小程序【计算机毕设】
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着城市化进程的加速,住宅小区作为城市生活的基本单元,其管理效率和服务质量直接影响着居民的生活体验。传统的物业管理方式往往依赖于人工操作,不仅耗时......
  • springboot/java/php/node/python企业微培训小程序【计算机毕设】
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着科技的迅猛发展,移动互联网已成为企业培训的新阵地。传统的面对面培训模式因其时间、地点的限制性逐渐显得不够灵活,而小程序作为一种轻量级的应用,能够......
  • Node下几十行代码实现炫酷的Markdow转HTML效果
    经过一个阶段测试,终于找到两个markdown转html并实现代码高亮的工具,并以最简代码(几十行)实现了炫酷的展示效果。步骤很少,也很简单,零基础也应该一看就会。往下看吧…,需要安装有Node环境哦!1缘起一直习惯采用markdown编辑器写文章,markdown文档编辑器语法简单、文件简......
  • nodejs集成C++代码:手写简单的addon
    文章目录nodejs与node-gyp手写一个简单的addon编写一个简单的binding.gyp文件编写C++源文件V8版本:addon.ccnapi_api版本:addon_api.cc编译命令JS调用在这个专栏里,已经提到过web系统中c++的两大应用场景了:assembly和cef框架的应用,这两个可以说都是客户......
  • HDFS读数据流程、NN和2NN工作机制、DataNode工作机制、数据完整性
    HDFS读数据流程    事件描述:客户端要下载一个200m的数据文件,hdfs是如何读取的。   两个对象:一个客户端、一个集群   流程:       1.客户端创建一个分布式文件系统(DistributedFileSystem),向集群NameNode请求下载文件。       ......
  • nodejs base64 转存图片文件
     nodejsbase64转存图片文件在Node.js中,您可以使用内置的fs模块来将Base64编码的字符串转换为图片文件。以下是一个简单的例子,展示如何将Base64字符串转换为PNG图片文件:  constfs=require('fs'); //假设您有一个Base64编码的字符串constbase64Stri......
  • node-sass生产环境编译报错
    "node-sass":"^4.12.0","sass-loader":"^8.0.2",本地和local环境正常,pre和生产环境编译报错local、pre、生产的编译环境一样,node版本都是14.16.1。拷贝本地node_modules文件夹到pre同样报错。应该是node-sass和node的版本问题,但是又找不到问题,最后没办法把node-sass换成......