论文信息

论文标题:GraphMAE: Self-Supervised Masked Graph Autoencoders
论文作者:Zhenyu Hou, Xiao Liu, Yukuo Cen, Yuxiao Dong, Hongxia Yang, Chunjie Wang, Jie Tang
论文来源:2022, KDD
论文地址:download 
论文代码:download

1 Introduction

  GAE 研究困难之处:

  • 首先,过度强调结构信息。

    • 大多数 GAEs 利用重建边连接作为目标来鼓励邻居 [3,17,20,26,31,42] 之间的拓扑紧密性。该类型方法适用与链路预测和节点聚类,对节点和图分类却不令人满意。
  • 其次,无损坏的特征重构可能不够健壮。
    • GAEs[3,20,26,27,31],大多使用有风险学习琐碎解决方案的普通体系结构。
  • 第三,均方误差(MSE)可能是敏感的和不稳定的。
    • 现有的具有特征重建 [17,18,27,31,42] 的 GAEs 都采用了 MSE 作为标准,没有额外的预防措施。然而,已知 MSE 存在不同的特征向量范数和维数[5] 的诅咒,因此可能导致自动编码器训练的崩溃。
  • 第四,解码器的架构很少有表现力。
    • 大多数 [3、16-18、20、26、42] 利用MLP作为解码器。由于图中大多数节点所含的信息较少,使用普通的 MLP 解码器可能无法弥补编码器的表示和解码器目标之间的差距。

2 Method

  整体框架:

  

  核心思想:重构掩蔽节点特征。

  引入:

    • Q1: What to reconstruct in GAEs?  
    • Q2: How to train robust GAEs to avoid trivial solutions?  
    • Q3: How to arrange the decoder for GAEs?  
    • Q4: What error function to use for reconstruction?  

2.1 Details

Q1: Feature reconstruction as the objective

  重建特征信息,不考虑结构信息,Graph-less Neural Networks [58] 也证明了 MLP 在节点分类中的强大。

Q2: Masked feature reconstruction

  自编码器容易陷入 “identity function” (恒等映射)的问题[41]。对于图像等高维数据,这不是一个严重的问题,但是对于图数据来说,其维度相对较小,所以效果并不是很好[3, 20, 26, 27, 31]。

  本文采用掩码自动编码器作为 GraphMAE 的主干。

  形式上,采样节点子集 $\tilde{\mathcal{V}} \subset \mathcal{V}$,并使用一个掩码标记(mask token)[MASK] 来掩盖该节点子集每个节点的特征,即一个可学习的向量 $x_{[M]} \in \mathbb{R}^{d}$。因此,掩蔽特征矩阵 $\widetilde{X}$ 可以定义为:

    $\tilde{x}_{i}=\left\{\begin{array}{ll}x_{[M]} & v_{i} \in \widetilde{\mathcal{V}} \\x_{i} & v_{i} \notin \widetilde{\mathcal{V}}\end{array}\right.$

  GraphMAE的目标是通过给定部分观测到的节点特征矩阵 $\widetilde{X}$ 和输入邻接矩阵 $A$,重构 $\widetilde{V}$ 中节点特征矩阵。

  本文采用统一的随机抽样策略来掩蔽节点,均匀分布的随机抽样使得一个节点的邻居既不是都是掩盖的,也不是全部可见的,这有助于防止潜在的偏置中心。本文考虑了一个较大的掩蔽率,以减少属性图中的冗余。

  另一方面,[MASK] 的使用可能会造成训练和推理之间的不匹配,因为 [MASK] 标记在推理[49]过程中不会出现。本文实验发现,“leave-unchanged”的策略实际上损害了GraphMAE的学习,而 “random-substitution” 的方法可以帮助形成更多高质量的表征。

Q3: GNN decoder with re-mask decoding

  由于 MLP 的“identity function” 问题,所以本文使用单层GNN作为其解码器。GNN解码器可以基于一组节点而不仅仅是节点本身来恢复一个节点的输入特征,从而帮助编码器学习高级潜在代码。

  为提高解码器解码潜在表示,本文提出一种 re-mask decoding 技术来处理潜在表示 $H$。即,对 Encoder 中的掩蔽节点再次进行 mask token [DMASK] 处理,也就是$\boldsymbol{h}_{[M]} \in \mathbb{R}^{d_{h}}$。具体来说,重新掩码的 潜在表示 $\widetilde{H}=\operatorname{REMASK}(H)$  为:

    $\tilde{\boldsymbol{h}}_{i}=\left\{\begin{array}{ll}\boldsymbol{h}_{[M]} & v_{i} \in \widetilde{V} \\\boldsymbol{h}_{i} & v_{i} \notin \widetilde{\mathcal{V}}\end{array}\right.$

  实证检验表明,GAT 和 GIN 编码器分别是节点分类和图分类的良好选择。解码器只在自监督训练阶段使用,因此可以选择任意类型的GNN解码器。

Q4: Scaled cosine error as the criterion

  对于特征重建的 MSE 损失,由于在最小化接近 $0$ 的时候很难优化,所以GraphMAE采用了余弦误差来度量重建效果。同时,引入可放缩的余弦误差(Scaled Cosine Error)来进一步改进余弦误差。

  本文设置 $\gamma>1$ ,好处是当置信度高的时候,误差将快速收敛到 $0$,从而调整了不同样本的权重。给定原始特征矩阵 $X$ 和解码器输出 $Z=f_{D}(A, \widetilde{H})$,放缩的余弦误差的定义为:

    $L=\frac{1}{|\widetilde{\mathcal{V}}|}\left(1-\frac{x_{i}^{T} z_{i}}{\left\|x_{i}\right\| \cdot\left\|z_{i}\right\|}\right)^{\gamma}, \gamma \geq 1$

  放缩因子 $\gamma$ 是一个在不同数据集上可调整的超参数,可以被看作是一种自适应的样本权重调整,每个样本的权重随着重建误差的不同进行调整。某种程度上类似于Focal Loss [22]。

  Figure 1 是架构设计对比:

  

2.2 Training and Inference

  首先,给定一个输入图,我们随机选择一定比例的节点,并用掩模标记[MASK]替换它们的节点特征。我们将具有部分观察到的特征的图输入编码器,以生成编码的节点表示。在解码过程中,我们重新掩码所选的节点,并用另一个标记[DMASK]替换它们的特性。然后将解码器应用于重新掩码图,利用所提出的尺度余弦误差重建原始节点特征。

  对于下游应用程序,编码器应用于输入图,在推理阶段没有任何掩蔽。生成的节点嵌入可用于各种图学习任务,如节点分类和图分类。对于图形级的任务,我们使用一个非参数化的图池化(READOUT)函数,例如,MaxPooling,MeanPooling,以获得图形级的表示 $\boldsymbol{h}^{g}=\operatorname{READOUT}\left(\left\{\boldsymbol{h}_{i}, v_{i} \in \mathcal{G}_{g}\right\}\right)$。此外,与[16]类似,GraphMAE还能够将预先训练过的GNN模型鲁棒地转移到各种下游任务中。在实验中,我们证明了GraphMAE在节点级和图级应用中都具有竞争力的性能。

3 Experiments

3.1 Node classificatio

   

3.2 Graph classification

  

3.3 Transfer learning on molecular property prediction

  

3.4 Ablation Studies

Effect of reconstruction criterion & Effect of mask and re-mask

  

Effect of mask ratio

  

Effect of decoder type

  

4 Conclusion

  贡献:

    • MAE 思想用于图上;
    • 提出一种放缩余弦误差;

修改历史

2022-06-17 创建文章

论文解读目录

论文解读(GraphMAE)《GraphMAE: Self-Supervised Masked Graph Autoencoders》的更多相关文章

  1. 论文解读(VGAE)《Variational Graph Auto-Encoders》

    Paper Information Title:Variational Graph Auto-EncodersAuthors:Thomas Kipf, M. WellingSoures:2016, A ...

  2. 论文解读(LG2AR)《Learning Graph Augmentations to Learn Graph Representations》

    论文信息 论文标题:Learning Graph Augmentations to Learn Graph Representations论文作者:Kaveh Hassani, Amir Hosein ...

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

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

  4. 论文解读(AGC)《Attributed Graph Clustering via Adaptive Graph Convolution》

    论文信息 论文标题:Attributed Graph Clustering via Adaptive Graph Convolution论文作者:Xiaotong Zhang, Han Liu, Qi ...

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

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

  6. 论文解读(DCRN)《Deep Graph Clustering via Dual Correlation Reduction》

    论文信息 论文标题:Deep Graph Clustering via Dual Correlation Reduction论文作者:Yue Liu, Wenxuan Tu, Sihang Zhou, ...

  7. 论文解读(DGI)《DEEP GRAPH INFOMAX》

    论文标题:DEEP GRAPH INFOMAX 论文方向:图像领域 论文来源:2019 ICLR 论文链接:https://arxiv.org/abs/1809.10341 论文代码:https:// ...

  8. 论文解读(GRACE)《Deep Graph Contrastive Representation Learning》

    Paper Information 论文标题:Deep Graph Contrastive Representation Learning论文作者:Yanqiao Zhu, Yichen Xu, Fe ...

  9. 论文解读(SelfGNN)《Self-supervised Graph Neural Networks without explicit negative sampling》

    论文信息 论文标题:Self-supervised Graph Neural Networks without explicit negative sampling论文作者:Zekarias T. K ...

随机推荐

  1. 利用 onnxruntime 库同时推理多个模型的效率研究

    1. 背景 需求:针对视频形式的数据输入,对每一帧图像,有多个神经网络模型需要进行推理并获得预测结果.如何让整个推理过程更加高效,尝试了几种不同的方案. 硬件:单显卡主机. 2. 方案 由于存在多个模 ...

  2. 记录Jenkins升级到最新版遇到的问题

    ​ 首先吐槽一下Jenkins: 1.安装插件的时候无法根据Jenkins的版本号安装对应的插件! 2.安装插件安装版本不一致的时候无法降低插件版本! 3.为啥要我们升级到最新版! 一.升级原因 我的 ...

  3. JAVA 进程线程详解

    线程和进程 一.进程 进程是指运行中的程序,比如我们使用QQ,就启动该进程分配内存空间. 进程是程序的一次执行过程,或是正在运行的一个程序.是一个动态的过程:有它自升的产生,存在和消亡的过程 二.线程 ...

  4. 洛谷 P2392 kkksc03考前临时抱佛脚, dp / 深搜

    题目链接 P2392 kkksc03考前临时抱佛脚 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目 dp代码 #include <iostream> #includ ...

  5. VisualStudio安装步骤

    1.下载vs2017,点击安装 2.选择asp.net选项进行安装,如果需要其他的功能,可以选上 3.更改安装路径,尽量把文件安装在c盘以外的盘上,因为c盘是系统盘,安装的东西越多电脑会越卡.注意:不 ...

  6. .NET 7 Preview 3添加了这些增强功能

    .NET 7 Preview 3 已发布, .NET 7 的第三个预览版包括对可观察性.启动时间.代码生成.GC Region.Native AOT 编译等方面的增强. 有兴趣的用户可以下载适用于 W ...

  7. 使用 VS Code 撰写 Markdown 文档

    众所周知, VS Code 是微软和社区一起开发的一款很优秀的高级代码编辑器.它不仅可以写出一手好代码,还能写出一篇好文章.利用 Markdown 就可以写出一篇排版美观的技术文章了. 而 Markd ...

  8. ArcGIS建筑物简化和建筑物群聚合算法实验

    一.下载OSM数据 首先从OpenStreetMap官网下载我们需要的实验数据,这里我选择清华和北大校园作为本次实验数据 二.数据处理 将我们下载的实验数据导入ArcGIS.由于OSM数据是.osm格 ...

  9. linux创建磁盘阵例10

    Linux创建RAID10 生产环境中用到的服务器一般都配备RAID阵列卡,尽管服务器的价格越来越便宜,但是我们没有必要为了做一个实验而去单独购买一台服务器,而是可以学会使用mdadm命令在Linux ...

  10. 基于mybatis的java代码生成存储过程

    问题: 项目中目前使用mybatis操作数据库,使用插件(mybatis-generator)自动生成代码,对于增改查,使用存储过程实现了一版本,方便使用. insert代码生成器用法: insert ...