【论文阅读】 VGNAE:Variational Graph Normalized AutoEncoders

430 阅读13分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第24天,点击查看活动详情

前言

Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~   自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖...已保研。 学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!   唯有努力💪  

知其然 知其所以然!

  本文仅记录自己感兴趣的内容

简介

原文链接:arxiv.org/abs/2108.08…

会议:CIKM '21, November 1–5, 2021, Virtual Event, Australia (CCF-B)

代码:github.com/SeongJinAhn…

年度:2021/10

ABSTRACT

链接预测是图结构数据的关键问题之一

随着图神经网络的进步,图自动编码器(GAE)和变分图自动编码器(VGAE)被提出来以无监督的方式学习图嵌入。

已经表明,这些方法对于链接预测任务是有效的

但是,当涉及度数为零的节点(例如,孤立节点)时,它们在链路预测中效果不佳

我们发现 GAE/VGAE 使孤立节点的嵌入接近于零,无论其内容特征如何。

在本文中,我们提出了一种新颖的变分图归一化自动编码器 (VGNAE),它利用 𝐿2 归一化来为孤立节点推导出更好的嵌入。

我们表明,我们的 VGNAE 优于现有的用于链路预测任务的最先进模型

1 INTRODUCTION

图中的链路预测是判断不完整的原始图中节点之间是否存在未知的关系

例如,它可以用来预测一个链接 表明生物网络中的特定物质是否对特定疾病的治疗有积极作用 或者某一特定文献或专利是否属于某个作者

随着深度学习技术的发展,图嵌入模型被广泛应用于解决图的各种问题

图嵌入模型为图中的节点生成低维向量,称为节点嵌入,并根据它们的目的学习这些向量表示

在图嵌入技术中

  • 图卷积网络(GCNs)被认为是优于其他图嵌入模型的[2;3;8]。GCNs通过融合节点自身和邻居的特征,利用邻域信息嵌入节点
  • 在链路预测任务中,使用GAE (Graph Autoencoder)[9]学习GCN-encoder通过重建损失生成的节点嵌入

此后,许多GAE/VGAE变体被提出以提高链路预测的性能[4;14;18;21)。


在许多应用程序中,图中存在与其他节点没有连接的节点

在本文中,我们称这种节点为孤立节点,即无连接节点

例如,考虑以下场景

  • 有一所高中,在成员(如学生、教授、员工)之间维持着一个社交网络G,其中节点是成员,两个成员之间的边缘代表着“友谊”关系
  • 假设学校有一些新生。这里“Find out friends of students”可以看作是一个涉及新节点(新生)的链接预测任务
  • 这些新节点最初没有任何连接,因此在执行链路预测任务时是G中的孤立节点

由于本案例不存在连通信息,因此孤立节点的特征内容(如圆圈或学生的爱好)在链接预测中起主要作用


我们发现现有的 GAE 不能正确处理孤立节点的特征内容

GAE 学习在一对未连接的节点之间进行低相似度的嵌入

考虑一个由图 1 (a) 中的八个节点组成的图

在这里插入图片描述

图 1 (c)(c) 显示了图 1 (a) 中图的嵌入空间中的向量,其中

  • 𝑧𝑖𝑧_𝑖 (i=1, 2, ..., 8) 是对应于节点𝑣𝑖𝑣_𝑖 (i=1, 2, ...,8)
  • 𝑧𝑖𝑧_𝑖的相对位置是根据图1(a)中的内容信息和连接信息确定的

现在考虑两个孤立的节点𝑣7𝑣_7𝑣8𝑣_8

由于𝑣7𝑣_7𝑣8𝑣_8 不与其他节点连接,因此它们的嵌入与所有其他节点之间的相似性应该很低

我们发现 GAE 倾向于使孤立节点的嵌入向量的欧几里得范数变小,以减少孤立节点与所有其他节点的嵌入之间的相似性

结果,无论其内容特征如何,孤立节点的嵌入都接近于零


在本文中,我们提出了一种新的图嵌入技术,称为变分图归一化自动编码器(VGNAE),用于链路预测,其中上述孤立节点的问题得到了妥善处理

我们提出了一个图归一化卷积网络 (GNCN),它有效地使用 𝐿2 归一化来防止孤立节点的嵌入接近于零

我们的 VGNAE 是一个 VGAE 模型,其中 GNCN 用于推导均值,而 GCN 用于推导方差

我们通过大量实验表明,我们提出的 VGNAE 有效地处理了孤立节点的问题,并且优于其他现有的最先进的链路预测模型

2 PRELIMINARIES

图 𝐺 可以表示为 𝐺 = (𝑉 , 𝐸, 𝑋 )

其中

  • 𝑉 是一组顶点
  • 𝐸 ⊂ 𝑉 × 𝑉 是一组边
  • 𝑋 是𝑉 的特征矩阵
  • N(v)N_{(v)} 表示 𝑣 ∈ 𝑉 的一组邻居
  • 𝑛 = |𝑉 | 表示顶点的数量
  • 𝐴𝑅𝑛×𝑛𝐴 ∈ 𝑅^{𝑛×𝑛} 是 𝐺 的邻接矩阵。
  • 𝑧𝑣\vec 𝑧_𝑣 是一个向量,它是节点 𝑣 的嵌入
  • 𝑥|| \vec 𝑥 ||表示向量 𝑥\vec 𝑥 的欧几里得范数(𝐿2-范数)

2.1 Graph Convolutional Networks

图卷积网络 (GCN) 将卷积操作推广到图域

  • SpectralCNN [2] 首先使用图傅里叶变换向图域提出卷积网络
  • ChebyConv [3] 使用 chebyshev 多项式参数化图卷积,以实现高效和局部化的滤波器。
  • GCN [8] 通过使用归一化技巧简化了 ChebyConv。已经提出了一些使用 GCN 的无监督学习方法。基普夫等人
  • [9] 提出了两个图自动编码器(GAE 和 VGAE),它们通过 GCN 生成的节点嵌入来重建邻接矩阵
  • LGAE [21] 是一种利用单跳线性编码的简单且可解释的线性模型
  • ARGA 和 ARVGA [18] 是学习鲁棒嵌入的对抗性方法的两种变体
  • GraphInfoClust [14] 通过最大化同一集群节点之间的互信息来捕获更丰富的信息和节点交互
  • sGraphite-VAE [4] 通过使用互信息探索聚合来扩展 GNN

2.2 𝐿2-normalization

关于对象嵌入规范的某些属性(𝑧𝑜|| \vec 𝑧_𝑜 ||)已在多项研究中得到解决

  • 在神经翻译模型中,一个不常见的词很容易具有低 𝐿2-范数 (𝑤|| \vec 𝑤 ||) [ 1; 11; 16; 17; 22]
  • 在图像识别模型中,表示低质量图像的嵌入具有低 𝐿2 范数,反之亦然 [13; 26]
  • 同样在图像搜索中,[5] 中的方法
  • [28]对嵌入进行归一化以最小化高分辨率图像搜索中的量化误差
  • 他们和他们随后的研究使用 𝐿2 归一化 [20 ; 25; 32] 尽量减少因规范不平衡而造成的错误。

此外,一些作品 [ 15 ; [图17]表明参数的大小在梯度下降期间继续(范数)增加

  • 张等人。 [ 30 ] 事实证明,范数之间的不平衡导致方向更新不稳定,并使用 𝐿2-normalization 来解决问题

据我们所知,PairNorm [31] 和 MSGNorm [12] 是唯一在 GCN 中使用 𝐿2 归一化的方法

但是,它们是为了解决过度平滑问题而提出的,而不是针对孤立节点引起的问题

3 OUR APPROACH

3.1 Norm-zero tendency of isolated nodes

对于图中的节点𝑣{𝑣1,𝑣2,...,𝑣𝑛}𝑣 ∈ \{𝑣_1, 𝑣_2, ..., 𝑣_𝑛 \},节点范数之间存在一定的关系𝑧𝑣|| \vec 𝑧_𝑣 || 来自 GAE 和度𝑑𝑣𝑑_𝑣

在这里插入图片描述

  • 图 2 (a) 显示了来自 GAE 的节点嵌入,用于二维嵌入空间中的 Cora 和 CiteSeer 数据集
  • 图 2 (b) 显示了节点嵌入的规范 𝑧𝑣||\vec 𝑧_𝑣|| 来自 GAE 关于 Cora 和 CiteSeer 数据集的节点度数
  • 如图 2 (a) 所示,孤立节点的嵌入在0\vec 0左右。 这些向量的范数将接近于零
  • 在图 2 (b) 中,我们可以发现孤立节点的嵌入向量的范数趋向于接近于零。 这也发生在 VGAE 的平均向量上

我们将这种现象称为“孤立节点的范数零趋势”,这是范数之间不平衡的一个极端情况。

这种趋势使得孤立节点的嵌入无论其内容特征的值如何都无法区分

3.2 Graph Normalized Convolutional Network

我们提出了一种新的图神经网络,称为图归一化卷积网络 (GNCN),它在传播之前使用 𝐿2 归一化

考虑一个特征矩阵 𝑋=[𝑥1,𝑥2,...,𝑥𝑛]𝑇𝑋 = [ \vec 𝑥_1, \vec 𝑥_2, ..., \vec 𝑥_𝑛 ]^𝑇

其中

  • 𝑥𝑖𝑅𝑚\vec 𝑥_𝑖 ∈ 𝑅^𝑚 是节点 𝑣𝑖𝑣_𝑖 的内容特征向量
  • 𝑛 是节点数

GNCN 首先生成具有可学习矩阵W𝑅𝑚×𝑓W ∈ 𝑅^{𝑚×𝑓}的特征变换向量 (h𝑅𝑓\vec ℎ ∈ 𝑅^𝑓)

在这里插入图片描述

𝑠𝑅𝑠 ∈ 𝑅 是一个缩放常数,表示正在传播的隐藏特征的范数。

我们提出的 GNCN 生成归一化特征变换向量 (𝑛𝑅𝑓\vec 𝑛 ∈ 𝑅^𝑓) 并传播归一化向量以生成节点嵌入 (𝑧𝑅𝑓\vec 𝑧 ∈ 𝑅^𝑓)。

在这里插入图片描述

现在,对于特征矩阵 𝑋𝑅𝑛×𝑚𝑋 ∈ 𝑅^{𝑛×𝑚} 和邻接矩阵 𝐴

𝐺𝑁𝐶𝑁(𝑋,𝐴,𝑠)𝐺𝑁𝐶𝑁 (𝑋, 𝐴, 𝑠)定义如下:

在这里插入图片描述

这里

  • 𝑔([h1,h2,...,h𝑛]𝑇)=[h1h1,...,hnhn]𝑇,𝑍=[𝑧1,𝑧2,...,𝑧𝑛]𝑇R𝑛×𝑓𝑔( [ \vec ℎ_1, \vec ℎ_2, ..., \vec ℎ_𝑛 ]^𝑇 ) = [ \frac{\vec ℎ_1}{| | \vec ℎ_1 | |} , ..., \frac{\vec ℎ_n}{| | \vec ℎ_n | |}]^𝑇 , 𝑍 = [ \vec 𝑧_1, \vec 𝑧_2, ..., \vec 𝑧_𝑛 ]^𝑇 ∈ R^{𝑛×𝑓}是节点嵌入矩阵
  • 𝑊R𝑚×𝑓𝑊 ∈ R^{𝑚×𝑓} 是可训练矩阵
  • 𝐴~=𝐴+𝐼𝑁\tilde 𝐴 = 𝐴 + 𝐼_𝑁,
  • 𝐷~\tilde 𝐷 是度数 𝐴~\tilde 𝐴的矩阵
  • 𝑠𝑠是一个缩放常数

我们将通过第 4.4.1 节中的实验证明我们提出的 GNCN 正确处理了孤立节点的范数零趋势

3.3 Variational Graph Normalized AutoEncoder

在本文中,我们提出了图自动编码器的两种变体,称为

  • 图归一化自动编码器 (GNAE)
  • 变分图归一化自动编码器 (VGNAE)

对于每个节点𝑣{1,2,...,𝑛}𝑣 ∈ \{1, 2, ..., 𝑛\},GNAE 对其邻域的局部结构信息和节点特征信息进行编码,以导出潜在变量 𝑧𝑣𝑅𝑓\vec 𝑧_𝑣 ∈ 𝑅^𝑓

为了生成𝑍=[𝑧1,𝑧2,...,𝑧𝑛]𝑇𝑅𝑛×𝑓𝑍 = [ \vec 𝑧_1, \vec 𝑧_2, ..., \vec 𝑧_𝑛 ]^𝑇 ∈ 𝑅^{𝑛×𝑓}

GNAE 使用 GNCN 编码器来避免孤立节点的范数为零趋势

GNAE 使用内积解码器从 𝑍 创建重构的相邻矩阵 𝐴~\tilde 𝐴,如下所示:

在这里插入图片描述

  • 其中 𝜎 是一个 sigmoid 函数

我们还提出了变分图归一化自动编码器(VGNAE)

由于 VGAE 中的平均向量也具有孤立节点的范零趋势,因此我们使用 GNCN 编码器推导出 VGNAE 的平均向量

我们的 VNGAE 采用简单的推理模型,使用平均场近似来定义变分族,如下所示:

在这里插入图片描述

其中

  • μ=[μ1,μ2,..,μ𝑛]𝑇=𝐺𝑁𝐶𝑁(𝑋,𝐴,𝑐)\mu = [\mu_1, \mu_2, .., \mu_𝑛 ]^𝑇 = 𝐺𝑁𝐶𝑁 (𝑋, 𝐴, 𝑐)是平均向量矩阵μ𝑖\mu_𝑖
  • 𝑙𝑜𝑔𝜎 = [𝑙𝑜𝑔𝜎_1,...,𝑙𝑜𝑔𝜎_𝑖]𝑇 = 𝐺𝐶𝑁(𝑋,𝐴)

我们的生成模型通过使用简单的内积解码器来重建图结构𝐴

在这里插入图片描述

对于 GNAE,我们最小化了 𝐴~\tilde 𝐴 的重建误差

对于 VGNAE,通过最大化易处理的变分下限 (ELBO) 进行优化,如下所示:

在这里插入图片描述

其中

  • 𝐾𝐿(𝑞𝑝)=Σ𝑗𝑄𝑗𝑙𝑜𝑔(𝑄𝑗𝑃𝑗)𝐾𝐿(𝑞||𝑝) = Σ_𝑗𝑄_𝑗 𝑙𝑜𝑔(\frac{𝑄_𝑗}{𝑃_𝑗})是 𝑞 和 𝑝 之间的 Kullback-Leibler 散度
  • 我们使用高斯先验 𝑝(𝑍)=i=1nN(zi0,I)𝑝 (𝑍 ) =\prod^n_{i=1}N(z_i|0,I)

4 EXPERIMENTS

我们进行了各种实验来证明我们所提出的vgnae在涉及孤立节点时在链路预测方面的性能改进

  • 首先,我们通过比较各种类型的图结构网络中孤立节点的AUC分数来展示我们的GNCN的性能改进
  • 然后,我们使用GNCN评估我们的GAE/VGNAE

4.1 Datasets

在这里插入图片描述

4.2 Setup

我们使用 Pytorch 1.4.0 [19] 实现所有模型

我们使用学习率为 0.005 的 Adam 优化器 [7]

我们训练所有模型最多 300 个 epoch,并在窗口大小为 50 的情况下提前停止

在所有实验中,64 个维度用于节点嵌入。

  • GNCN 中的缩放常数 (𝑠) 设置为 1.8

  • 对于 GCN [8],我们使用两层 GCN,隐藏嵌入的维度设置为 128

  • 对于 GraphHeat [29] 和 APPNP [10],最优超参数(例如缩放参数𝑠 和瞬移率𝑡) 通过验证集选择0

  • 对于 GraphHeat [29],系数 𝑠 使用 0.4

  • 对于 APPNP [10],0.15 用于传送速率,10 用于传播次数

链路预测模型通过 ROC 曲线下面积 (AUC) 和平均精度 (AP) 分数进行评估

4.3 Results

4.3.1 GNCN : Power of normalization for isolated nodes

在本节中,我们介绍了当涉及孤立节点时,使用现有GCN编码器的GAEs性能会下降。我们还提出使用我们提出的GNCN编码器的GAEs可以有效地编码孤立节点。我们使用各种基于gcn的编码器对Cora、CiteSeer、CS和Photo数据集上的隔离节点和连接节点进行GAEs性能比较

比较的基于GCN的编码器有GCN[8]、GAT[24]、SGCN[27]、SuperGAT[6]、APPNP[10]、GraphHeat[29]、PairNorm[31]和MSGNorm[12]。

对于每个数据集,我们在所有边缘中使用60%的训练集、10%的验证集和30%的测试集。我们在有效集和测试集中加入相同数量的随机抽样负边。我们测量了测试集中孤立节点和连接节点的AUC评分。结果如图3所示

在这里插入图片描述

图3显示,在所有类型的图中,使用其他孤立节点的GCN编码器的GAEs的AUC得分显著低于连接节点的(10 ~ 20%)。对各种类型图的实验结果表明,在一般图中,孤立节点的性能会下降。此外,可以看到,每个GCN孤立节点的精度随数据集类型的不同而不同。我们确认现有的GCNs在涉及孤立节点时不适合作为GAEs的编码器。所提出的GNCN方法在不影响连通节点性能的前提下,保证了所有图的隔离节点的最高性能。

4.3.2 Performance Comparision of GNAE/VGNAE with state-of-theart methods

我们在引文网络(Cora, CiteSeer和PubMed)上进行了实验,以比较GNAE/VGNAE与最先进的链路预测模型的性能,即LGAE [21], ARGA [18], ARGVA [18], Graph InfoClust (GIC)[14]和s石墨- vae[4]。对于所有的数据集,分别有20%、40%和80%的边用于训练集。对于剩余边,验证集和测试集采用1比3的比例。我们为每个有效集和测试集添加相同数量的随机抽样负边。对于以这种方式划分的每个数据集,都会测量AUC和AP分数。数据集中的链路预测结果如表2所示 在这里插入图片描述

从表2中可以看出,我们的GNAE/VGNAE方法在各个部门的结果都优于其他方法。我们还可以观察到,观察到的边缘越少(训练率的比例越小),我们提出的方法比其他SOTA模型的性能更好。这是因为随着未观察边的比例的增加,孤立节点的数量也会增加

5 CONCLUSIONS

我们已经提出,在 GAE 和 VGAE 中,孤立节点的嵌入趋向于为零,无论它们在各种图结构网络上的内容特征如何。 当涉及许多孤立节点时,这种趋势会显着降低链路预测的准确性。 我们认为 𝐿2 归一化是一种有效的技术,可以在链接预测任务中生成孤立节点的正确嵌入。 我们通过广泛的实验表明,我们提出的 VGNAE 比其他现有方法表现更好

读后总结

2022/08/07 第一次阅读

细节没有深读

本文针对GAE/VAGE...在嵌入孤立点时,趋近于0的问题进行了改进,采用L2范数进行归一化,使得孤立点也可以依据自身的特征向量进行嵌入

结语

文章仅作为个人学习笔记记录,记录从0到1的一个过程

希望对您有一点点帮助,如有错误欢迎小伙伴指正

在这里插入图片描述