论文阅读”GraphMAE: Self-Supervised Masked Graph Autoencoders“(KDD2022)

论文标题

GraphMAE: Self-Supervised Masked Graph Autoencoders

论文作者、链接

作者:

Hou, Zhenyu and Liu, Xiao and Dong, Yuxiao and Wang, Chunjie and Tang, Jie and others

链接:https://arxiv.org/abs/2205.10803

代码:GitHub - THUDM/GraphMAE: GraphMAE: Self-Supervised Masked Graph Autoencoders in KDD'22


Introduction逻辑(论文动机&现有工作存在的问题)

自监督学习(Self-supervised learning ,SSL),被分为生成式generative和对比式contrastive的方法,在计算机视觉和自然语言处理中有广泛的应用。在图学习中,对比式自监督学习方法一直都是主流方法,特别是对结点和图的分类任务来说。这些方法都用非常复杂的训练策略,比如带动量更新的双编码器,指数平均移动,用这些方法以稳定模型的训练。此外,对于大多数对比学习的目标函数来说,负样本是必需的,通常需要从图表中取样或构造。最后,对高质量数据增广的需求是对比自监督学习的痛点,图的增广方法多基于启发式,其有效性因图而异。

自监督图编码器可以避免上述问题,其学习目标是对输入的图数据进行一个直接的重构。以VGAE为例,其任务是预测丢失的边,EP的目标是复原向量的特征。GPT-GNN则是对结点和边都进行交替重构。

困境

尽管自监督的GAEs的形式简单,最近也进行了各种尝试,但迄今为止,自监督GAEs的发展远远落后于对比学习,至今仍然还没有以GAEs全面的超越对比自监督方法,特别是在结点和图分类方面。

结构信息可能被过度强调了

大多数GAEs利用边重构作为目标,以鼓励邻居之间的拓扑紧密性。所以GAEs往往在边的预测和结点聚类上表现不错,但是对结点和图的分类总是不尽人意。

在没有腐蚀corruption的情况下,特征的重构可能不够鲁棒

对于这些利用特征进行重构的GAEs,他们中的大多数仍然使用一个简单的架构,这可能导致模型陷入琐碎解。但是,降噪的自编码器,对输入进行腐蚀并且尝试对其进行重构,这样的做法在NLP中非常常见,这也可能在图上有所应用。

均方误差MSE可能是敏感而且不稳定的

现有的GAEs方法往往在特征重构的时候使用均方误差。然而,已知的MSE受到多种特征向量规范和维数的诅咒,从而可能导致自动编码器的训练崩溃

解码器架构的表达性很差

大多数GAEs用MLP作为其的解码器。但是,语言中的目标是one-hot向量,包含了丰富的语义信息,但是在图中,大多数目标是缺乏信息的特征向量。在这种情况下,简单的解码器(MLP)可能不够强大以弥合编码器表示和解码器目标之间的差距。

论文核心创新点

掩膜特征重构

余弦误差

重掩膜解码


相关工作

对比自监督图学习

生成式自监督图学习


论文方法

GAE存在的问题和GraphMAE

简要来说,自编码器往往包含以下组件:编码器,编码(潜在状态),解码器。编码器将输入数据映射到编码code中,解码器在重构准则的监督下将code重构成输入的数据。

\mathcal{G}=(\mathcal{V},A,X)表示一个图,其中\mathcal{V}代表一个结点集,N=|\mathcal{V}|代表结点的个数,A \in \{0,1\}^{N \times N}是邻接矩阵,X \in \mathbb{R}^{N \times d}是输入的结点特征矩阵。f_E,f_G分别是图编码器和图解码器,H \in \mathbb{R}^{N \times d_h}代表编码器的编码。一般的GAEs的重构过程可以表示为:

 自编码器在图方面的进展,特别是在分类任务方面,相比起在NLP和CV上,是比较微不足道的。为了弥补这个差距,为了定位和修复现有GAE算法的缺陷,本文作者提出了GraphMAE,一个带掩膜的图自编码器。

GraphMAE

GraphMAE的总体设计如图2所示。

 核心idea是对掩膜的结点特征进行重构。作者提出了一个带重掩膜解码策略re-mask decoding strategy的GNN,而不是使用现在广泛使用的MLP,作为模型的解码器。并且使用余弦损失作为重构损失。

f_E,f_G编码器和解码器可以为任意类型的GNN,比如GCN、GAT、GIN等。

GraphMAE的设计

 本节从四个问题来讨论不同的策略。

Q1:GAEs重构什么?

将特征重构作为目标。给定一个图\mathcal{G}=(\mathcal{V},A,X),GAE可以以重构结构A或特征X为目标,或者两者都进行重构。大多数经典的GAEs,关注于对链接关系的预测以及图聚类,因此往往选择对A进行重构。最近的GAEs,尝试将结点特征和图谱结构进行同时优化,但是这并没有使得GAE在结点和图分类的过程中取得很好的效果

最近的一项研究表明,从受过训练的GNN教师模型中提取的简单的MLP,在节点分类方面可以与高级GNN相比,表明特征在这类任务中起到非常重要的作用。因此,为了使得GraphMAE可以在分类任务上有好的表现,作者将结点重构作为训练的目标。作者的的实证研究还表明,结构邻近性的显式预测对GraphMAE的下游分类任务没有贡献

Q2:如何训练GAEs使其更加的鲁棒以避免琐碎解?

对掩膜的特征进行重构。当代码的维数大于输入的维数时,普通的自动编码器有学习到臭名昭著的“恒等函数”的风险,是一个退化解,使学习到的潜码code无用。相对而言,在CV领域,随着图片变成高维的数据之后变不存在这个问题。但是在图中,结点特征的维度非常的小,使得很难去训练一个强大的面向特征的GAEs。不幸的是,现有的以特征重建为训练目标的GAEs,往往忽略了这个问题。

降噪自编码器denoising autoencoder,其对输入数据进行故意的扰乱,这是消灭退化解的一个自然的办法。事实上,想到应用掩膜,其实已经在CV和NLP领域广泛应用了。于是作者受启发使用mask autoencoder。

生成一个结点的子集,\tilde{\mathcal{V}} \in \mathcal{V},用mask token[MASK](就是掩膜,把一部分结点的值给覆盖掉,不知道怎么翻译,直接沿用原文单词),即x_{[M]} \in \mathbb{R}^d。因此,在掩膜特征矩阵\tilde{X}中对于的v_i \in \mathcal{V}结点特征\tilde{x_i}定义如下:

 GraphMAE的目标函数,是在给部分观察的结点信息\tilde{X}和邻接矩阵A的条件下,重构在\tilde{\mathcal{V}}中的结点的掩膜特征。

作者采用不替换的均匀随机抽样策略来获取被屏蔽节点。在GNN中,每一个结点都依赖其邻居结点,以增强/复原其特征。随机均匀抽样可以避免潜在的偏置,即一个结点的邻居不是全掩膜,也不是全可见的。与MAE相似,一个相对大的掩膜率(比如,50%)是必要的,以减轻特征图的冗余,于是可以学到更好的特征表示。

对于[MASK]的使用,另一方面,由于[MASK]在推断过程中没有出现,因此可能会在训练和推断之间造成不匹配的情况。为了减少差异性,BERT建议不总是用实际的[MASK]token替换“被掩码”的单词,而是用小概率不变或是用其他token替换(即,15%或更低)。但是作者实验发现这个做法对GraphMAE有害,而“随机替换”方法可以帮助形成更高质量的特征表示。

Q3:如何设计GAE的解码器?

 使用带有重掩膜re-mask解码的解码器。解码器f_D将潜码latent code H重映射回输入的数据特征X,解码器的设计依赖于目标X。比如说在语言任务中,目标都是一些one-hot的缺失单词,带有丰富的语义信息,通常用一个简易的解码器(比如,MLP)就足够了。但是在计算机视觉中,其他的研究表明,一个更高级的解码器(比如,transformer 模型)对重构低语义的像素块是非常必要的。

在图中,解码器重构信息相对较少的多维节点特征。传统的GAEs既不用神经元解码器,也不用简单的MLP,导致潜码H与输入的特征近乎是相互独立的。但是,学习这种微不足道的潜在的表征是没什么用的,因为我们的目标是用有意义的压缩知识嵌入输入特征。因此,GraphMAE采用了一个更具有表达力的单层GNN作为其解码器。这个解码器,根据一组结点的特征以重构一个结点的特征,而不是仅仅使用该结点本身,这也帮助了编码器学习高维度的潜码。

为了进一步鼓励编码器去学习压缩过的表征,作者提出了重掩膜解码re-mask decoding 以对潜码H进行解码。用另一个掩码令牌[DMASK],即解码器的掩膜\boldsymbol{h}_{[M]} \in \mathbb{R}^{d_{h}},替换被掩码的节点索引上的H。对于在\tilde{H} = REMASK(h)中重掩膜的编码\tilde{h}_i,可以表示为:

 一个被掩膜的结点,通过GNN解码器,根据其邻居的未被掩膜的潜在特征,被强制重构成其的输入特征。作者的实验表明,GAT和GIN作为编码器的情况下,分别擅长结点分类和图分类。值得注意的是,解码器只在自监督训练阶段有使用到,以完成结点特征重构任务。因此,解码器是结构是独立于编码器的选择,并且可以使用任何类型的GNN。

Q4:使用什么函数作为重构损失?

缩放余弦误差作为准则。掩模自编码器在不同领域的特征重构准则不同。在NLP和CV中,defacto准则通过交叉熵损失以从分词器中预测秘密token。在CV中的MAE中,使用MSE均方误差直接预测掩膜的图块。像素取值范围是[0,255],是天然正则化过的,功能上与分词器相似。但是在图领域,仍然没有一个通用的分词器。

在GraphMAE中,作者提出直接对每一个掩膜的结点进行重构,重构成原始的特征,这个过程因为其多维度和特征的连续性,会是一个比较困难的任务。现有的GAEs往往使用MSE作为其重构的准则。但是在作者的预实验中,发现在特征重构的过程中,均方误差往往被最小化到0,这对特征重构来说是不够的;这个现象可能可以部分的解释为什么现有的GAEs不会单独使用重构误差作为训练的目标函数。为此,作者发现MSE函数会出现敏感和低可选性的问题。敏感是说MSE对向量的正则化和维度比较敏感。某个维度上的极端值,也会导致MSE对该值出现过拟合。低选择性是表示MSE不足够有可选择的空间,以注意那些在简单——困难混合样本群中更难的那些样本(就是不够注意困难样本)

对于敏感性问题,利用余弦误差作为准则,对原始的结点特征进行重构,摆脱了维度和向量正则化的问题。在余弦误差中的l_2正则化将向量映射到一个统一的超球面上,随之提高特征学习的训练的稳定性。

对于可选择度的问题,进一步使用余弦误差,引入按比例放缩的余弦误差scaled cosine error。直觉在于,降低简单样本的权重,对训练是有利的。对于高置信度的预测样本,其对应的余弦误差往往比1小,并且在当放缩因子\gamma > 1的时候,快速的降低至0。

给定一个原始的特征X,以及其对应的重构Z=f_{D}(A, \widetilde{H}),定义SCE如下:

 对所有掩膜的结点都进行了使用。缩放参数\gamma是个超参,根据不同数据集进行调整。这种缩放策略可以是对样本进行一个自适应的权重,根据重构误差对样本权重进行调整。在目标检测领域,这个损失也称为focal loss。


训练和推理

GraphMAE的训练流程如图2所示。

1. 给定一个输入图,随机选择一定比例的节点,用mask-token[MASK]替换它们的节点特征。

2. 将图的部分观测到的特征输入到编码器中,以生成编码的结点特征。

3. 在解码阶段,对选择的结点进行re-mask,并且将它们的特征用另一个token[DMASK]进行替换。

4. 用解码器对re-mask的图进行重构,得到原始结点特征,用放缩余弦误差来进行损失计算。


消融实验设计

重构准则的影响

mask和re-mask的影响

mask比例的影响

解码器类型的影响


如果觉得这篇文章写的还不错or对您有帮助,麻烦给文章点个赞,谢谢~

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值