论文解读(MGAE)《MGAE: Masked Autoencoders for Self-Supervised Learning on Graphs》
论文信息
论文标题: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》的更多相关文章
- 论文解读(node2vec)《node2vec Scalable Feature Learning for Networks》
论文题目:<node2vec Scalable Feature Learning for Network>发表时间: KDD 2016 论文作者: Aditya Grover;Adit ...
- 论文解读(ClusterSCL)《ClusterSCL: Cluster-Aware Supervised Contrastive Learning on Graphs》
论文信息 论文标题:ClusterSCL: Cluster-Aware Supervised Contrastive Learning on Graphs论文作者:Yanling Wang, Jing ...
- 论文解读(GraphDA)《Data Augmentation for Deep Graph Learning: A Survey》
论文信息 论文标题:Data Augmentation for Deep Graph Learning: A Survey论文作者:Kaize Ding, Zhe Xu, Hanghang Tong, ...
- 论文解读(gCooL)《Graph Communal Contrastive Learning》
论文信息 论文标题:Graph Communal Contrastive Learning论文作者:Bolian Li, Baoyu Jing, Hanghang Tong论文来源:2022, WWW ...
- 论文解读《Momentum Contrast for Unsupervised Visual Representation Learning》俗称 MoCo
论文题目:<Momentum Contrast for Unsupervised Visual Representation Learning> 论文作者: Kaiming He.Haoq ...
- 论文解读(MLGCL)《Multi-Level Graph Contrastive Learning》
论文信息 论文标题:Structural and Semantic Contrastive Learning for Self-supervised Node Representation Learn ...
- 论文解读(GraphMAE)《GraphMAE: Self-Supervised Masked Graph Autoencoders》
论文信息 论文标题:GraphMAE: Self-Supervised Masked Graph Autoencoders论文作者:Zhenyu Hou, Xiao Liu, Yukuo Cen, Y ...
- 论文解读(MaskGAE)《MaskGAE: Masked Graph Modeling Meets Graph Autoencoders》
论文信息 论文标题:MaskGAE: Masked Graph Modeling Meets Graph Autoencoders论文作者:Jintang Li, Ruofan Wu, Wangbin ...
- 论文解读(GCC)《Efficient Graph Convolution for Joint Node RepresentationLearning and Clustering》
论文信息 论文标题:Efficient Graph Convolution for Joint Node RepresentationLearning and Clustering论文作者:Chaki ...
随机推荐
- Python入门-深入了解数据类型以及方法
写在开始:每一种数据类型,有对应一种功能,面对不同的问题,使用不同类型. 1.全部数据类型 1.2数值型:解决数字的计算问题 #基础的计算,求除结果,求商,求余数 print(10 / 3) prin ...
- Spring的事务控制-基于xml方式
介绍:该程序模拟了转账操作,即Jone减少500元,tom增加500元 1.导入坐标 <dependency> <groupId>junit</groupId> & ...
- Java学习day27
今天跟着做了一个模拟龟兔赛跑的程序 只有一条赛道,乌龟和兔子在同一条赛道上比赛,使用了多线程 为了实现兔子睡觉,在run方法内增加了当前奔跑者是否是兔子的判断且当前奔跑步数是否是10的整数倍的判断,如 ...
- 简单的js提示框,仅仅用jq和css就可以
首先定义一个盒子 1 .pop { 2 position: fixed; 3 top: 20%; 4 left: 50%; 5 transform: translate(-50%); 6 width: ...
- 日常使用mobx的小技巧
日常使用mobx的小技巧 由于自己开发的项目都是中小型项目,所以在技术选型上使用了mobx.但是使用过程中发现关于mobx的技术文章并不多.于是萌发出写这篇文章的想法.请轻喷. 更新控制store渲染 ...
- 数据结构篇(2) ts实现单链表
interface NodeItem { prev: NodeItem | null next: NodeItem | null data: any } class NodeItem { prev: ...
- Java 8的18个常用日期处理
Java 8的18个常用日期处理 一.简介 伴随 lambda表达式.streams 以及一系列小优化,Java 8 推出了全新的日期时间API. Java处理日期.日历和时间的不足之处:将 java ...
- 从0开始用webpack开发antd,react组件库npm包并发布
一.初始化一个npm包 1.新建一个文件夹(名称随意,建议和报名一致),输入命令 :npm init -y 会自动生成一个包的说明文件 package.json如下(本文以scroll-antd-ta ...
- Linux-编译安装http-实验
准备工作 1.关闭防火墙和SELinux 2.基础安装的系统,安装以下命令 yum install gcc make autoconf gcc-c++ glibc glibc-devel pcre p ...
- Spring Ioc源码分析系列--Ioc的基础知识准备
Spring Ioc源码分析系列--Ioc的基础知识准备 本系列文章代码基于Spring Framework 5.2.x Ioc的概念 在Spring里,Ioc的定义为The IoC Containe ...