论文信息

论文标题:MGAE: Masked Autoencoders for Self-Supervised Learning on Graphs
论文作者:Qiaoyu Tan, Ninghao Liu, Xiao Huang, Rui Chen, Soo-Hyun Choi, Xia Hu
论文来源:2022, ArXiv
论文地址:download 
论文代码:download

1 Introduction

  MAE 在图上的应用。

2 Method

  整体框架:

  

2.1 Encoder

  本文的掩藏目标是随机掩藏一部分(30%)边,然后考虑 GCN、GraphSage 作为主干网络提取特征信息,对于被掩藏的边将通过 Decoder 训练得到。

  掩藏策略:

    • Undirected masking:将图看成无向图,删除 $(u,v)$ 之间的边,对应于 $A$ 中的两条边;
    • Directed masking:将图看成有向图,删除 $(u,v)$ 之间的边,对应于 $A$ 中的一条有向边;

  注意:上述两种策略边掩藏率是设置一样的。

2.2 Cross-correlation decoder

  由于Encoder 采用的是基于消息传递机制的 Encoder,所以最终只得到被保留部分的节点潜在嵌入。

  Encoder $K$ 层传播结构共生成的保留节点嵌入矩阵 $\left\{\mathbf{H}^{(1)}, \mathbf{H}^{(2)}, \cdots, \mathbf{H}^{(K)}\right\}$,对于存在的保留节点进行 cross-correlations 操作,即

    $\mathbf{h}_{e_{v, u}}=\|_{k, j=1}^{K} \mathbf{h}_{v}^{(k)} \odot \mathbf{h}_{u}^{(j)}$

  其中:

    • $\|$ 表示连接;
    • $\odot$ 表示元素乘法;
    • $\mathbf{h}_{e_{v, u}} \in \mathbb{R}^{d K^{2}}$ 表示节点 $v$ 和节点 $u$ 之间的交叉表示,分别考虑它们的 $k$ 阶邻域和 $j$ 阶邻域;

  为避免过于复杂,通常 $K=2$。

  假设剩余的节点有 $m$ 个,那么输入到对应的 MLP Decoder  的将有 $m(m-1)$ (无向图)个特征向量,最终预测 $(u,v)$ 直接边存在的概率通过下式生成:

    $y_{v, u}=\operatorname{MLP}\left(\mathbf{h}_{v}^{(K)}, \mathbf{h}_{u}^{(K)}\right)$

2.3 Reconstruction target

  MGAE解码器,只重建掩码的边,目标函数如下:

    $\mathcal{L}=-\sum\limits _{(v, u) \in \mathcal{E}_{\text {mask }}} \log \frac{\exp \left(\mathbf{y}_{v u}\right)}{\sum_{z \in \mathcal{V}} \exp \left(\mathbf{y}_{v z}\right)}$

  为加速训练,本文采用负采样策略。

2.4 Algorithm

  整体算法如下:

  

3 Experiments

数据集

  

Link prediction

  

Node classifification

  

4 Conclusion

  图上边掩码AE。

修改历史

2022-06-17 创建文章

论文解读目录

论文解读(MGAE)《MGAE: Masked Autoencoders for Self-Supervised Learning on Graphs》的更多相关文章

  1. 论文解读(node2vec)《node2vec Scalable Feature Learning for Networks》

    论文题目:<node2vec Scalable Feature Learning for Network>发表时间:  KDD 2016 论文作者:  Aditya Grover;Adit ...

  2. 论文解读(ClusterSCL)《ClusterSCL: Cluster-Aware Supervised Contrastive Learning on Graphs》

    论文信息 论文标题:ClusterSCL: Cluster-Aware Supervised Contrastive Learning on Graphs论文作者:Yanling Wang, Jing ...

  3. 论文解读(GraphDA)《Data Augmentation for Deep Graph Learning: A Survey》

    论文信息 论文标题:Data Augmentation for Deep Graph Learning: A Survey论文作者:Kaize Ding, Zhe Xu, Hanghang Tong, ...

  4. 论文解读(gCooL)《Graph Communal Contrastive Learning》

    论文信息 论文标题:Graph Communal Contrastive Learning论文作者:Bolian Li, Baoyu Jing, Hanghang Tong论文来源:2022, WWW ...

  5. 论文解读《Momentum Contrast for Unsupervised Visual Representation Learning》俗称 MoCo

    论文题目:<Momentum Contrast for Unsupervised Visual Representation Learning> 论文作者: Kaiming He.Haoq ...

  6. 论文解读(MLGCL)《Multi-Level Graph Contrastive Learning》

    论文信息 论文标题:Structural and Semantic Contrastive Learning for Self-supervised Node Representation Learn ...

  7. 论文解读(GraphMAE)《GraphMAE: Self-Supervised Masked Graph Autoencoders》

    论文信息 论文标题:GraphMAE: Self-Supervised Masked Graph Autoencoders论文作者:Zhenyu Hou, Xiao Liu, Yukuo Cen, Y ...

  8. 论文解读(MaskGAE)《MaskGAE: Masked Graph Modeling Meets Graph Autoencoders》

    论文信息 论文标题:MaskGAE: Masked Graph Modeling Meets Graph Autoencoders论文作者:Jintang Li, Ruofan Wu, Wangbin ...

  9. 论文解读(GCC)《Efficient Graph Convolution for Joint Node RepresentationLearning and Clustering》

    论文信息 论文标题:Efficient Graph Convolution for Joint Node RepresentationLearning and Clustering论文作者:Chaki ...

随机推荐

  1. Python入门-深入了解数据类型以及方法

    写在开始:每一种数据类型,有对应一种功能,面对不同的问题,使用不同类型. 1.全部数据类型 1.2数值型:解决数字的计算问题 #基础的计算,求除结果,求商,求余数 print(10 / 3) prin ...

  2. Spring的事务控制-基于xml方式

    介绍:该程序模拟了转账操作,即Jone减少500元,tom增加500元 1.导入坐标 <dependency> <groupId>junit</groupId> & ...

  3. Java学习day27

    今天跟着做了一个模拟龟兔赛跑的程序 只有一条赛道,乌龟和兔子在同一条赛道上比赛,使用了多线程 为了实现兔子睡觉,在run方法内增加了当前奔跑者是否是兔子的判断且当前奔跑步数是否是10的整数倍的判断,如 ...

  4. 简单的js提示框,仅仅用jq和css就可以

    首先定义一个盒子 1 .pop { 2 position: fixed; 3 top: 20%; 4 left: 50%; 5 transform: translate(-50%); 6 width: ...

  5. 日常使用mobx的小技巧

    日常使用mobx的小技巧 由于自己开发的项目都是中小型项目,所以在技术选型上使用了mobx.但是使用过程中发现关于mobx的技术文章并不多.于是萌发出写这篇文章的想法.请轻喷. 更新控制store渲染 ...

  6. 数据结构篇(2) ts实现单链表

    interface NodeItem { prev: NodeItem | null next: NodeItem | null data: any } class NodeItem { prev: ...

  7. Java 8的18个常用日期处理

    Java 8的18个常用日期处理 一.简介 伴随 lambda表达式.streams 以及一系列小优化,Java 8 推出了全新的日期时间API. Java处理日期.日历和时间的不足之处:将 java ...

  8. 从0开始用webpack开发antd,react组件库npm包并发布

    一.初始化一个npm包 1.新建一个文件夹(名称随意,建议和报名一致),输入命令 :npm init -y 会自动生成一个包的说明文件 package.json如下(本文以scroll-antd-ta ...

  9. Linux-编译安装http-实验

    准备工作 1.关闭防火墙和SELinux 2.基础安装的系统,安装以下命令 yum install gcc make autoconf gcc-c++ glibc glibc-devel pcre p ...

  10. Spring Ioc源码分析系列--Ioc的基础知识准备

    Spring Ioc源码分析系列--Ioc的基础知识准备 本系列文章代码基于Spring Framework 5.2.x Ioc的概念 在Spring里,Ioc的定义为The IoC Containe ...