Graph-MLP

Info

最近很热门的一篇文章

代码已经开源
https://github.com/yanghu819/Graph-MLP

1 Motivation

基于谱和基于空间的GNN的特征聚合方法都依赖邻接矩阵去完成信息传递
文章的motivation认为GNN里面的信息传递模块是不必要的

2 Contribution

提出了不使用信息传递机制的Graph-MLP,这是第一次应用在节点分类任务上

提出了Graph-MLP,去掉信息传递模块

model level仅包含MLP,激活函数,正则化层

loss level设计了neighboring contrastive loss,使用邻接矩阵去缩小MLP和GNN的差距

提出了Neighboring Contrastive loss

实验显示Graph-MLP的效果很理想,在提高计算效率的情况下能达到和现有GNN的同样效果,某些情况下甚至能超过现有的baseline

3 Solution

传统GNN计算方法

使用正则化后的邻接矩阵更新节点特征X
一般经过L层得到结点特征的最终表示

Graph-MLP

结构

结构
input:随机采样的B个结点,以及它们的特征

然后传入多层MLP,得到节点特征以及两个输出
公式化

其中X是结点特征矩阵,LN是图中的Layer Norm
Z 用作计算NContrast loss
Y 用作计算classification loss

Loss

在这里使用邻接矩阵的信息

  • NContrast loss

    计算公式


sim衡量两个节点的相似度, γ i j \gamma_{ij} γij表示结点i和结点j之间的连接强度
取值如下:
在这里插入图片描述
邻居节点视为正样本,不计算它们的连接强度

  • cross-entropy loss

    传统的交叉熵损失函数
    在这里插入图片描述

最后的loss由上面这两项拼接起来

l o s s f i n a l = l o s s C E + l o s s N C loss_{final} = loss_{CE} + loss_{NC} lossfinal=lossCE+lossNC

Training

  • 前向传播

    随机采样B个结点,获得它们的临界信息和节点特征

    计算loss时不考虑那些没有邻居(正样本)的结点(没有解释原因)

  • 推理

    input:节点特征

    邻接矩阵作为loss存在于model中,传统GNN把邻接矩阵作为emb信息传递给model,Graph-MLP则不需要,因此对于某些特殊的链接该模型具有更强的稳定性

4 Evaluation

数据集、baseline、结果见下图:

实验结果

还有消融实验的就不贴了

5 Summarization

论文设计了MLP和Loss来代替传统GNN里面的消息传递模块,很新颖的做法

Loss里面使用的对比学习的思想,对于相邻的结点将它们的表示尽可能的统一,不相邻的结点将它们的表示加以区分

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值