论文阅读——ApeGNN- Node-Wise Adaptive Aggregation in GNNs for Recommendation

ApeGNN: Node-Wise Adaptive Aggregation in GNNs for Recommendation

ApeGNN:GNN 中的节点自适应聚合以进行推荐

Abstract

近年来,图神经网络(GNN)在推荐方面取得了长足的进步。基于 GNN 的推荐系统的核心机制是迭代聚合用户-项目交互图上的邻近信息。然而,现有的 GNN 平等对待用户和项目,无法区分每个节点的不同局部模式,这使得它们在推荐场景中表现不佳。为了解决这一挑战,我们提出了一种节点式自适应图神经网络框架 ApeGNN。 ApeGNN 开发了一种用于信息聚合的节点式自适应扩散机制,其中每个节点都能够根据局部结构(例如程度)自适应地决定其扩散权重。我们在六个广泛使用的推荐数据集上进行了实验。实验结果表明,所提出的 ApeGNN 优于最先进的基于 GNN 的推荐方法(高达 48.94%),证明了节点自适应聚合的有效性。

1 Introduction

基于 GNN 的推荐模型存在一些问题:

  1. 基于 GNN 的推荐没有区分节点类型。用户-项目交互网络是一种特殊类型的图,其中边只能存在于用户和项目的中间。换句话说,两个用户或项目之间没有直接通信。
  2. 不同用户/项目的局部结构在推荐上是不同的。 在图 1 中,我们展示了一个激励示例,以充分理解这项工作的动机,即基于 GNN 的推荐的节点必要性。

因此,我们建议研究在基于 GNN 的推荐方法的聚合过程中是否应该在不同层中区别对待每个节点。

在这里插入图片描述

在这项工作中,作者提出了一种新颖的 AdaPtivE 模型(ApeGNN),它在 GNN 中进行节点自适应聚合以进行推荐。作者没有在高阶聚合和传播过程中在每一层平等地对待每个用户和项目,而是利用图扩散过程自适应地为邻居的每一跳分配唯一的权重(内层权重),并区分来自不同 GNN 的信息层,促进了聚合方法从固定聚合向节点聚合的发展。 ApeGNN 可以作为插件,自然地融入到任何现有的基于 GNN 的模型中进行推荐,而无需修改模型的架构。

2 Graph Neural Networks for Recommendation

2.1 Preliminaries

基于 GNN 的推荐系统在输入图结构上执行消息传递以获得上下文表示。通常,消息传递过程包括聚合(aggregation)池化(pooling)

2.2 The limitation of GNNs-based models

• Degree-based Aggregator Represented by LightGCN. 以LightGCN 为代表的基于度的聚合器。

• Attention-based Aggregator Represented by GAT. 以GAT 为代表的基于注意力的聚合器。

3 The ApeGNN

在这里插入图片描述

3.1 Node-Wise Adaptive Aggregation in GNNs

为了将节点重要性纳入基于 GNN 的推荐模型中的现有聚合中,我们设计了一种节点式自适应聚合机制。对于用户 u i u_i ui 及其邻居节点 N u i \mathcal N_{u_i} Nui ,用户 u i u_i ui 具有权重系数函数 θ ( t u i ) \theta (t_{u_i}) θ(tui) 的聚合函数AGG:

h u i = A G G ( h v j , ∀ v j ∈ N u i ; θ ( t u i ) ) \mathbf{h}_{u_i} = AGG ({\mathbf h_{v_j},\forall v_j \in \mathcal N_{u_i}};\theta (t_{u_i})) hui=AGG(hvj,vjNui;θ(tui))

对于项目 v j v_j vj 和上述等式类似:

h v j = A G G ( h u i , ∀ u i ∈ N v j ; θ ( t v j ) ) \mathbf{h}_{v_j} = AGG ({\mathbf h_{u_i},\forall u_i \in \mathcal N_{v_j}};\theta (t_{v_j})) hvj=AGG(hui,uiNvj;θ(tvj))

Weighting Coefcients θ \theta θ .

应该通过设置不同的权重来区别对待不同层的嵌入,以在聚合过程中捕获每层的独特语义。特别地,我们提出了两种方法,即热核(HT)[1]个性化PageRank(PPR)[2],来模拟图扩散过程并提供更好的重要性选择支持。

[1] Widder and David Vernon. 1976. The heat Kernel. Academic Press 1976.

[2] Lawrence Page, Sergey Brin, Rajeev Motwani, and Terry Winograd. 1999. The PageRank citation ranking: Bringing order to the web. Technical Report. Stanford InfoLab.

The heat kernel.

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

PPR.

利用 PageRank [2] 和 APPNP [3] 中使用的 PPR 来构建图结构信息并为每个节点分配唯一的权重。ApeGNN 和 APPNP 的共同点是,我们将 GCN 与个性化 PageRank 结合起来,以进行远距离传播并降低过度平滑的风险,并适当利用传送概率来保留初始特征以获得更好的性能。通过利用热核和个性化PageRank,我们可以为每个节点灵活地分配适当的权重,以增强低频过滤器并增强图的平滑度。

[3] Johannes Klicpera, Aleksandar Bojchevski, and Stephan Günnemann. 2018. Predict then propagate: Graph neural networks meet personalized pagerank. arXiv preprint arXiv:1810.05997 (2018).

Centrality Importance t t t .

如图 1 所示, u u u最佳传播是不确定的。因此,在对节点的重要性进行建模时应考虑每层的邻居权重,并且在聚合过程中获取节点的表示时应对用户和项目节点之间的不同影响进行建模。先前关于节点重要性估计的研究表明,节点的重要性与其在图中的中心性正相关。一般来说,用户节点 u i u_i ui的入度 D ( u i ) D(u_i) D(ui)表示其中心性和流行度。因此,我们使用入度 D ( u i ) D(u_i) D(ui) 作为 u i u_i ui v j v_j vj初始层的权重 t u i ( 0 ) t^{(0)}_{u_i} tui(0) t v j ( 0 ) t^{(0)}_{v_j} tvj(0)来建模用户和项目的差异。这里,我们为用户 u i u_i ui 定义 t t t,并为 t t t 获取一个较小的值。项目的中心重要性与等式中用户的中心重要性类似。

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

$$

在 ApeGNN 中,通过给出用户-项目交互二分图作为输入,通过自适应聚合区分每个用户和每个项目的嵌入,并且该嵌入以节点方式参数化以形成最终表示。用于推荐的 ApeGNN 架构如图 2 所示,它说明了模型的主要部分——节点式内层聚合和层间传播

3.2 Propagation Process

将每个嵌入层添加到传播层以挖掘高阶连接信息。用户和项目在第 l l l层的传播嵌入公式为:

h u i ( l ) = θ ( t u i ( l ) ) ∑ v j ∈ N u i p ( u i v j ) h v j ( l − 1 ) , h v j ( l ) = θ ( t v j ( l ) ) ∑ u i ∈ N v j p ( v j u i ) h u i ( l − 1 ) . \mathbf{h}_{u_i}^{(l)} = \theta(t_{u_i}^{(l)}) \sum_{v_j \in \mathcal{N}_{u_i}} p_{(u_i v_j)} \mathbf{h}_{v_j}^{(l-1)},\\ \mathbf{h}_{v_j}^{(l)} = \theta(t_{v_j}^{(l)}) \sum_{u_i \in \mathcal{N}_{v_j}} p_{(v_j u_i)} \mathbf{h}_{u_i}^{(l-1)}. hui(l)=θ(tui(l))vjNuip(uivj)hvj(l1),hvj(l)=θ(tvj(l))uiNvjp(vjui)hui(l1).

这里作者是借鉴了LightGCN模型,但是他删除了自循环链接去减少信息冗余。

通过用卷积核扩展嵌入聚合和传播函数,ApeGNN 第 l l l 层的用户和项目的自适应图卷积矩阵 E u E_u Eu 和带有权重矩阵 θ θ θ E v E_v Ev 可以表示为:

E u ( l ) = ∑ l = 0 L Θ t u ( l ) T l E u ( l − 1 ) , E v ( l ) = ∑ l = 0 L Θ t v ( l ) T l E v ( l − 1 ) . \mathbf{E}_{u}^{(l)} = \sum_{l=0}^{L} \Theta_{t_u}^{(l)} \mathbf{T}^l \mathbf{E}_{u}^{(l-1)},\\ \mathbf{E}_{v}^{(l)} = \sum_{l=0}^{L} \Theta_{t_v}^{(l)} \mathbf{T}^l \mathbf{E}_{v}^{(l-1)}. Eu(l)=l=0LΘtu(l)TlEu(l1),Ev(l)=l=0LΘtv(l)TlEv(l1).

3.3 Pooling

u i u_i ui v j v_j vj的最终嵌入总汇为:

h u i ∗ = ∑ l = 0 L h u i ( l ) , h v j ∗ = ∑ l = 0 L h v j ( l ) \mathbf{h}_{u_i}^{*} = \sum_{l=0}^{L} \mathbf{h}_{u_i}^{(l)}, \quad \mathbf{h}_{v_j}^{*} = \sum_{l=0}^{L} \mathbf{h}_{v_j}^{(l)} hui=l=0Lhui(l),hvj=l=0Lhvj(l)

3.4 Optimization

和大部分基于GNN的推荐算法一样,作者这里选择了BPR(Bayesian Personalized Ranking)作为损失函数。

L = − ∑ ( u i , v j , v k ) ∈ O ln ⁡ σ ( r ^ u i , v j − r ^ u i , v k ) + λ ∥ E ( 0 ) ∥ 2 , \mathcal{L} = - \sum_{(u_i, v_j, v_k) \in \mathcal{O}} \ln \sigma (\hat{r}_{u_i, v_j} - \hat{r}_{u_i, v_k}) + \lambda \left\| \mathbf{E}^{(0)} \right\|^2, L=(ui,vj,vk)Olnσ(r^ui,vjr^ui,vk)+λ E(0) 2,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/28780.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ThinkPHP 的老漏洞仍然被攻击者钟情

研究人员发现安全领域出现了令人不安的趋势:攻击者不仅对新披露的漏洞十分感兴趣,对已知的漏洞也丝毫不放过,尽管有些漏洞已经存在了好些年头,攻击者仍然能够通过老漏洞成功完成攻击。 典型的例子就是 ThinkPHP 远程代码执行漏洞…

轨迹优化 | 图解欧氏距离场与梯度场算法(附ROS C++/Python实现)

目录 0 专栏介绍1 什么是距离场?2 欧氏距离场计算原理3 双线性插值与欧式梯度场4 仿真实现4.1 ROS C实现4.2 Python实现 0 专栏介绍 🔥课程设计、毕业设计、创新竞赛、学术研究必备!本专栏涉及更高阶的运动规划算法实战:曲线生成…

深度学习之激活函数

激活函数(Activation Function)是一种添加到人工神经网络中的函数,旨在帮助网络学习数据中的复杂模式。在神经元中,输入的input经过一系列加权求和后作用于另一个函数,这个函数就是这里的激活函数。 1. 为什么需要激活…

鸿蒙开发:【线程模型】

线程模型 线程类型 Stage模型下的线程主要有如下三类: 主线程 执行UI绘制。管理主线程的ArkTS引擎实例,使多个UIAbility组件能够运行在其之上。管理其他线程的ArkTS引擎实例,例如使用TaskPool(任务池)创建任务或取消…

示例:WPF中应用MarkupExtention自定义IValueConverter

一、目的:应用MarkupExtention定义IValueConverter,使得应用起来更简单和高效 二、实现 public abstract class MarkupValueConverterBase : MarkupExtension, IValueConverter{public abstract object Convert(object value, Type targetType, object …

数字化转型对企业有什么价值?

数字化转型对企业有什么价值? 1. 信息共享 很多业务设计和管理规划,通常需要综合多个业务部门和业务专题的数据。 如果企业的数据和信息在位置分布上非常分散,就很难充分利用企业积累的数据资源,并将其用于有效的管理决策和业务…

零基础直接上手java跨平台桌面程序,使用javafx(七)用户操作界面探讨,这个系列结束

GUI&#xff0c;我们还是喜欢web。如果javafx有像wpf的WebView2差不多的功能&#xff0c;我们就开心了scene builder中拖出一个webview&#xff0c;然后再回到代码中。发现<?import javafx.scene.web.*?>是红色的&#xff0c;我们缺少配置。于是在pom.xml中添加JavaFX依…

Nodejs 第七十七章(MQ高级)

MQ介绍和基本使用在75章介绍过了&#xff0c;不再重复 MQ高级用法-延时消息 什么是延时消息? Producer 将消息发送到 MQ 服务端&#xff0c;但并不期望这条消息立马投递&#xff0c;而是延迟一定时间后才投递到 Consumer 进行消费&#xff0c;该消息即延时消息 插件安装 R…

[C++] 从零实现一个ping服务

&#x1f4bb;文章目录 前言ICMP概念报文格式 Ping服务实现系统调用函数具体实现运行测试 总结 前言 ping命令&#xff0c;因为其简单、易用等特点&#xff0c;几乎所有的操作系统都内置了一个ping命令。如果你是一名C初学者&#xff0c;对网络编程、系统编程有所了解&#xff…

学会python——读取大文本文件(python实例六)

目录 1、认识Python 2、环境与工具 2.1 python环境 2.2 Visual Studio Code编译 3、读取大文本文件 3.1 代码构思 3.2 代码示例 3.3 运行结果 4、总结 1、认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强…

电脑内存怎么看?5个秘诀,轻松查看内存!

“新买了一台电脑&#xff0c;想查看一下我电脑的内存&#xff0c;大家可以分享一下查看方法吗&#xff1f;” 当我们谈论电脑的性能时&#xff0c;内存无疑是一个不容忽视的关键组件。然而&#xff0c;对于许多普通用户来说&#xff0c;如何查看电脑内存的大小、类型以及使用情…

跳舞电动机器人单片机方案

这款机器人形状智能电子玩具是一款集娱乐、教育和互动于一身的高科技产品。它的主要功能包括&#xff1a; 1、智能对话&#xff1a;机器人可以进行简单的对话&#xff0c;回答用户的问题&#xff0c;提供有趣的互动体验。 2、前进、后退、左转、右转、滑行&#xff1a;机器人…

BERT报错记录

一、加载数据集下载失败 报错&#xff1a; TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应&#xff0c;连接尝试失败。urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x00000241F9AD4…

Element UI 一键校验多表单(v-for循环表单,异步校验规则,v-for 中的 ref 属性,避坑 forEach 不支持异步 await )

需求描述 表单为数组 v-for 循环得到的多表单&#xff0c;如可自由增删的动态表单表单中存在异步校验规则&#xff0c;如姓名需访问接口校验是否已存在点击提交按钮&#xff0c;需一键校验所有表单&#xff0c;仅当所有表单都通过校验&#xff0c;才能最终提交到后台 效果预览 …

亚马逊新店如何实现高效流量转化?自养号测评深度解析与实用策略

在亚马逊平台上&#xff0c;自养号测评是一种通过卖家自行控制的海外买家账号对商品进行评价的方法&#xff0c;旨在提高商品的排名和流量。 亚马逊的自养号测评是指卖家通过使用在海外真实环境注册的买家账号&#xff0c;代替真实买家对商品进行测评。账号由卖家自己管理&…

电子传真怎么在国产系统上使用?一文看懂网络传真信创方案

国产化浪潮正在逐步深入&#xff0c;越来越多的企业开始关注如何在国产系统上高效、安全地使用办公软件&#xff0c;电子传真系统也不例外。 作为网络电子传真领域的重要品牌&#xff0c;EastFax也对原Windows电子传真系统进行了信创改造&#xff0c;全面支持国产化操作系统、…

串扰(一)

一、说明 串扰应该算比较常见的信号完整性问题了&#xff0c;一般是指由于走线较近&#xff0c;传输信号时在临线上产生耦合噪声的现象。串扰的原因是由于电场和磁场的耦合&#xff0c;我们经常用耦合电容和耦合电感模型进行问题分析。 本文是基于被攻击线阻抗匹配的情形下计…

Vatee万腾平台,让智能更懂你

在数字化浪潮席卷全球的今天&#xff0c;智能科技已经渗透到我们生活的方方面面。然而&#xff0c;真正的智能不仅仅是技术的堆砌&#xff0c;更是对人性需求的深刻理解和满足。Vatee万腾平台&#xff0c;正是这样一个让智能更懂你的平台&#xff0c;它以其独特的方式&#xff…

PyCharm配置教程,手把手教你如何配置

文章目录 引言1. 安装 PyCharm1.1 下载和安装1.2 初次启动 2. 基本配置2.1 设置界面2.2 常用配置项 3. 项目配置3.1 创建新项目3.2 配置解释器 4. 虚拟环境配置4.1 创建虚拟环境4.2 使用已有虚拟环境4.3 管理依赖 5. 插件和扩展5.1 安装插件5.2 推荐插件 6. 调试配置6.1 配置调…

【计算机毕业设计】234基于微信小程序的中国各地美食推荐平台

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…