[论文阅读笔记25]A Comprehensive Survey on Graph Neural Networks

这篇具有很好参考价值的文章主要介绍了[论文阅读笔记25]A Comprehensive Survey on Graph Neural Networks。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


这是一篇GNN的综述, 发表于2021年的TNNLS. 这篇博客旨在对GNN的基本概念做一些记录.

论文地址: 论文


1. 引言, 背景与定义

对于图像数据来说, CNN具有平移不变性和局部连接性, 因此可以在欧氏空间上良好地学习. 然而, 对于具有图结构的数据(例如社交网络 化学分子等)就需要用GNN来学习.

最早期的GNN网络是遵循类似RNN的循环迭代式的(RecGNN), 主要的对象是DAG(有向无环图). 这个方式停止的条件是节点的表示趋于稳定.

后来发展出了卷积图网络(ConvGNN), 主要有基于谱域(频域)的和基于空域的. 除此之外, 还发展出了图自编码器(Graph autoencoders, GAEs)和时空(spatial-temporal)GNN.

因此这篇文章主要就把GNN分成了这四种:

  • 循环GNN
  • 卷积GNN
  • 图自编码器
  • 时空GNN

后面, 作者主要讲了GNN与两个任务的区别:

GNN与network embedding. network embedding旨在将一个网络的节点编码成低维度的向量表示, 并保持网络的拓扑结构不变, 这样降维之后, 一些分类, 聚类等任务, 就可以通过传统的机器学习方法实现(例如SVM). 因此, GNN和network embedding的关系是, GNN可以通过一个图自编码器来学习一个低维的表示, 即network embedding的任务. 总而言之, network embedding主要是通过降维来实现应用机器学习方法的目的.

GNN与图的核方法(graph kernel methods). 图的核方法主要是将一个图编码到一个向量空间, 以便应用SVM之类的任务(图的层面).

2. 分类和框架

如前所述, 本文将GNN分成了四类, 如下图所示:

[论文阅读笔记25]A Comprehensive Survey on Graph Neural Networks,读文献,其他,论文阅读,笔记,深度学习,人工智能

节点分类任务的ConvGNN. 对于每一个节点, 在每次迭代中聚合它临近节点的信息(图卷积), 最后通过一个非线性变换对节点进行分类. 其中 X ∈ R n × d X\in\mathbb{R}^{n\times d} XRn×d表示节点特征拼成的矩阵.

[论文阅读笔记25]A Comprehensive Survey on Graph Neural Networks,读文献,其他,论文阅读,笔记,深度学习,人工智能

图分类任务的ConvGNN. 在图卷积操作后, 使用一个池化层, 将图粗糙化成一个子图, 得到图的高阶表示(higher representations). 最后用一个readout函数, 对图进行分类.

[论文阅读笔记25]A Comprehensive Survey on Graph Neural Networks,读文献,其他,论文阅读,笔记,深度学习,人工智能

用于network embedding的图自编码器. 先用图卷积得到每个节点的embedding, 然后解码器在给定embedding的情况下计算成对距离. 在应用非线性激活函数后, 解码器重构图邻接矩阵. 通过最小化真实邻接矩阵与重构邻接矩阵之间的差异来训练网络.

[论文阅读笔记25]A Comprehensive Survey on Graph Neural Networks,读文献,其他,论文阅读,笔记,深度学习,人工智能

时空GNN. 对每个timestep的GNN都应用卷积, 随后跟一个 1D-CNN 层对时序特征进行提取. 输出层是一个线性变换,为每个节点生成一个预测,例如它在下一个时间步的未来值.

3. 循环GNN

循环GNN一般都是GNN早期的开山之作, 由于计算量的限制, 一般都是应用于有向无环图的. The Graph Neural Network Model(IEEE Trans. Neural Network, 2009)提出了一个更具有普适性的方式, 可以应用于各种图. 节点更新方式如下式:

[论文阅读笔记25]A Comprehensive Survey on Graph Neural Networks,读文献,其他,论文阅读,笔记,深度学习,人工智能
为了保证收敛性, f f f必须是一个收缩映射. 如果 f f f是神经网络的话, 则必须加入罚项.

除此之外, 门控GNNGated graph sequence neural networks, (arxiv, 2015)将门控单元(GRU)作为上述的 f f f函数, 减少了收敛时间. 其节点更新用上一个隐藏态和临近节点隐藏态的线性映射组成, 如下式:

h v ( t ) = G R U ( h v ( t − 1 ) , ∑ u ∈ N ( v ) W h u ( t − 1 ) ) h_v^{(t)} = GRU(h_v^{(t - 1)}, \sum_{u\in N(v)}Wh_u^{(t-1)}) hv(t)=GRU(hv(t1),uN(v)Whu(t1))

这个网络的训练用通过时间的反向传播(RNN的反向传播方式)进行梯度下降.

总体来说, 循环GNN的方式类似RNN, 是作用于离散的节点上面. 但是循环GNN每次(层)用的更新函数 f f f是同一个, 因此必须保证收敛性.

4. 卷积GNN

与循环GNN不同, 卷积GNN的每一层都是可学习的不同参数, 具有固定层数, 和循环GNN区别如下:

[论文阅读笔记25]A Comprehensive Survey on Graph Neural Networks,读文献,其他,论文阅读,笔记,深度学习,人工智能
卷积GNN基本分为两类, 基于谱的(频域的)和基于空域的.

A. 基于谱的卷积GNN

基于谱的GNN基本对于无向图而言, 我们可以用(归一化的)图Laplace矩阵唯一的表示这个图的拓扑性质:

L = I n − D − 1 / 2 A D − 1 / 2 L = I_n - D^{-1/2}AD^{-1/2} L=InD1/2AD1/2

其中 D D D为对角矩阵, 每个对角元素为邻接阵对应行的和, 也就是这个节点的度.

我们可以看出, 对于Laplace矩阵的 ( i , j ) (i, j) (i,j)个元素:
如果 i = j i=j i=j, a i , j = 0 , d i , j = d e g ( v i ) , l i , j = 1 a_{i,j} = 0, d_{i,j} = deg(v_i), l_{i,j} = 1 ai,j=0,di,j=deg(vi),li,j=1
如果 i ≠ j i \ne j i=j, v i , v j v_i, v_j vi,vj不相连, a i , j = 0 , l i , j = 0 a_{i,j} = 0, l_{i,j} = 0 ai,j=0,li,j=0
如果 i ≠ j i \ne j i=j, v i , v j v_i, v_j vi,vj相连, a i , j = 1 , l i , j = − 1 / d e g ( v i ) d e g ( v j ) a_{i,j} = 1, l_{i,j} = -1/\sqrt{deg(v_i)deg(v_j)} ai,j=1,li,j=1/deg(vi)deg(vj)
因此, 图Laplace矩阵可以唯一表示图

容易看出Laplace矩阵是实对称的, 因此是半正定的, 因此具有非负特征值. 我们可以对其做特征值分解:

L = U Λ U T L = U \Lambda U^T L=UΛUT

因此我们可以基于Laplace矩阵的特征值分解定义图的Fourier变换:

F ( x ^ ) = U T x ^ \mathcal{F}(\hat{x}) = U^T\hat{x} F(x^)=UTx^

由于 U U T = I UU^T = I UUT=I, 因此可以立即定义图的逆Fourier变换:

F − 1 ( x ) = U x \mathcal{F}^{-1}(x)=Ux F1(x)=Ux

所以图Fourier变换实际上就是将图信号 x x x投影到一个标准正交基构成的空间中, 换句话说, x x x可以表示成 U U U的列向量的线性组合: x = ∑ i x ^ i u i x = \sum_i \hat{x}_iu_i x=ix^iui, 这就是正 逆Fourier变换的关系(和信号处理中的一致).

我们考虑将图信号经过滤波器, 根据卷积定理(时域卷积的Fourier变换对应频域乘积), 有:

x ∗ g = F − 1 ( F ( x ) ⊙ F ( g ) ) = U ( U T x ⊙ U T g ) x * g = \mathcal{F}^{-1}(\mathcal{F}(x) \odot \mathcal{F}(g)) \\ = U(U^Tx \odot U^T g) xg=F1(F(x)F(g))=U(UTxUTg)
其中 ⊙ \odot 表示element-wise乘法. 如果我们记 g θ = d i a g ( U T g ) g_{\theta} = diag(U^Tg) gθ=diag(UTg), 则 U T x ⊙ U T g = g θ U T x U^Tx \odot U^Tg = g_{\theta}U^Tx UTxUTg=gθUTx, 所以

x ∗ g = U g θ U T x x * g = Ug_{\theta}U^Tx xg=UgθUTx

谱GNN的关键在于如何选择滤波器 g θ g_{\theta} gθ.

在实际中, 我们考虑网络的第 k k k层, 输入和输出的通道数分别为 f k − 1 , f k f_{k-1}, f_k fk1,fk, 则该层第 j j j个通道的输出为:

H : , j ( k ) = σ ( ∑ i = 1 f k − 1 U Θ i , j ( k ) U T H : , i ( k − 1 ) ) ∈ R n H^{(k)}_{:, j} = \sigma(\sum_{i=1}^{f_{k-1}}U\Theta_{i,j}^{(k)}U^TH^{(k-1)}_{:, i}) \in \mathbb{R}^n H:,j(k)=σ(i=1fk1UΘi,j(k)UTH:,i(k1))Rn

其中 Θ i , j ( k ) \Theta_{i,j}^{(k)} Θi,j(k)是对角阵, 对角元素为一组可学习的参数.

然而, 这样的方式有三个缺点:

  1. 图的任何扰动对特征值和特征向量的影响都很大(特征值分解的性质)
  2. 学习到的滤波器是域相关的, 这意味着它们不能应用于具有不同结构的图.
  3. 特征值分解的复杂度很高( O ( n 3 ) O(n^3) O(n3)).

为了解决复杂度高的问题, ChebNet和GCN经过几个简化将复杂度降为线性复杂度. ChebNet用Chebyshev多项式来估计滤波器 g θ g_{\theta} gθ, 即

g θ = ∑ i = 1 K θ i T i ( Λ ~ ) ,    Λ ~ = 2 Λ / λ m a x − I n g_\theta = \sum_{i=1}^K \theta_i T_i(\tilde{\Lambda}), ~~\tilde{\Lambda} = 2\Lambda / \lambda_{max} - I_n gθ=i=1KθiTi(Λ~),  Λ~=2Λ/λmaxIn
这样 Λ ~ \tilde{\Lambda} Λ~中的值都落在 [ − 1 , 1 ] [-1, 1] [1,1]内. T i ( x ) T_i(x) Ti(x)表示Chebyshev多项式, 按照如下递推定义:

T 0 ( x ) = 1 T_0(x) = 1 T0(x)=1
T 1 ( x ) = x T_1(x) = x T1(x)=x
T i ( x ) = 2 x T i − 1 ( x ) − T i − 2 ( x ) T_i(x) = 2xT_{i - 1}(x) - T_{i - 2}(x) Ti(x)=2xTi1(x)Ti2(x)

带入, 就得到按照Chebyshev多项式估计的图卷积结果如下:

x ∗ g = U ( ∑ i = 1 K θ i T i ( Λ ~ ) ) U T x x * g = U(\sum_{i=1}^K \theta_i T_i(\tilde{\Lambda}))U^Tx xg=U(i=1KθiTi(Λ~))UTx

可以用数学归纳法证明拉普拉斯矩阵的Chebyshev多项式矩阵和特征值矩阵具有如下关系(?):

T i ( L ~ ) = U T i ( Λ ~ ) U T ,    L ~ = 2 L / λ m a x − I n T_i(\tilde{L}) = UT_i(\tilde{\Lambda})U^T, ~~ \tilde{L} = 2L / \lambda_{max} - I_n Ti(L~)=UTi(Λ~)UT,  L~=2L/λmaxIn

因此有

x ∗ g = U ( ∑ i = 1 K θ i T i ( Λ ~ ) ) U T x = ∑ i = 1 K θ i T i ( L ~ ) x x * g = U(\sum_{i=1}^K \theta_i T_i(\tilde{\Lambda}))U^Tx = \sum_{i=1}^K \theta_i T_i(\tilde{L})x xg=U(i=1KθiTi(Λ~))UTx=i=1KθiTi(L~)x

ChebNet 定义的过滤器在空间上是局部的, 这意味着过滤器可以独立于图大小提取局部特征. ChebNet的频谱线性映射到[−1,1].

下面再来看经典的图卷积网络GCN. GCN是ChebNet的简化, 取了 K = 1 K = 1 K=1, 并且假定最大特征值为2, 得到

x ∗ g = θ 0 x + θ 1 ( 2 L / λ m a x − I n ) x = θ 0 x + θ 1 ( 2 ( I n − D − 1 / 2 A D − 1 / 2 ) / λ m a x − I n ) x ( λ m a x = 2 ) = θ 0 x − θ 1 D − 1 / 2 A D − 1 / 2 x x * g = \theta_0x + \theta_1 (2L / \lambda_{max} - I_n)x \\ = \theta_0x + \theta_1 (2( I_n - D^{-1/2}AD^{-1/2}) / \lambda_{max} - I_n)x \\ (\lambda_{max} = 2) = \theta_0x - \theta_1 D^{-1/2}AD^{-1/2}x xg=θ0x+θ1(2L/λmaxIn)x=θ0x+θ1(2(InD1/2AD1/2)/λmaxIn)x(λmax=2)=θ0xθ1D1/2AD1/2x

为了进一步减少参数量, 防止过拟合, 假定 θ = θ 0 = − θ 1 \theta = \theta_0 = -\theta_1 θ=θ0=θ1, 立即有

x ∗ g = θ ( I n + D − 1 / 2 A D − 1 / 2 ) x x * g = \theta(I_n + D^{-1/2}AD^{-1/2})x xg=θ(In+D1/2AD1/2)x

在经验上, I n + D − 1 / 2 A D − 1 / 2 I_n + D^{-1/2}AD^{-1/2} In+D1/2AD1/2容易造成稳定性的问题, 因此GCN采用 D ~ − 1 / 2 A ~ D ~ − 1 / 2 \tilde{D}^{-1/2}\tilde{A}\tilde{D}^{-1/2} D~1/2A~D~1/2来代替, 其中 A ~ = A + I n , D ~ \tilde{A} = A + I_n, \tilde{D} A~=A+In,D~ A ~ \tilde{A} A~的度矩阵.

对这种归一化的理解:
由于邻接矩阵的对角元素是0, 因此 θ ( I n + D − 1 / 2 A D − 1 / 2 ) x \theta(I_n + D^{-1/2}AD^{-1/2})x θ(In+D1/2AD1/2)x的第一项可以认为是聚合节点自身信息, 第二项可以认为是聚合邻近节点的信息. 然而这样会造成不稳定, 因此更改一下形式, 即直接添加self-loop也就是自环边, 也就相当于给邻接矩阵 A A A加上单位阵 I n I_n In.

后续跟进GCN的工作主要是对于对称矩阵的选取.

B. 基于空域的卷积GNN

实际上空域上对图进行卷积和在典型具有欧氏空间结构的图像上进行卷积是相似的, 如下图所示:

[论文阅读笔记25]A Comprehensive Survey on Graph Neural Networks,读文献,其他,论文阅读,笔记,深度学习,人工智能
例如, NN4G在每一次迭代聚合一个节点和它邻居节点的信息, 如下式所示:

[论文阅读笔记25]A Comprehensive Survey on Graph Neural Networks,读文献,其他,论文阅读,笔记,深度学习,人工智能
此外, 还有一种比较有意思的Diffusion GNN, 也就是将图卷积过程视为扩散过程. 在扩散过程中, 信息按照一定的概率从一个节点传入另一个节点, 这样的概率和节点的度有关, 如下式:

H ( k ) = f ( W ( k ) ⊙ P k X ) ,    P = D − 1 A H^{(k)} = f(W^{(k)} \odot P^kX), ~~P = D^{-1}A H(k)=f(W(k)PkX),  P=D1A

P = D − 1 A P = D^{-1}A P=D1A的意义是对于度大的点, 其信息传入相连邻居节点的就更多(权重大)

在Diffusion Graph Convolution中, 最后的结果是将中间结果加起来, 即:

H = ∑ k = 0 K f ( P k X W k ) H = \sum_{k=0}^Kf(P^kXW^k) H=k=0Kf(PkXWk)

PGC-DGCNN按照节点之间的距离学习权重, 也就是增强距离远的节点的作用. 具体地, 如果节点 v v v到节点 u u u的最短路长度为 j j j, 则记 S v , u ( j ) = 1 S_{v, u}^{(j)} = 1 Sv,u(j)=1, 否则为0.

另外, 还有一种形式的空域GNN, 也就是我们所熟知的消息传递. 消息传递可以解释成信息可以从节点沿着边进行传递, 一般通常来讲有固定的 K K K步迭代, 这样可以让信息传递的更远, 也就是有更大的感受野. 可以用如下公式表示:

[论文阅读笔记25]A Comprehensive Survey on Graph Neural Networks,读文献,其他,论文阅读,笔记,深度学习,人工智能

然而, 对于graph-level的任务, 传统的消息传递无法区分不同的图结构. 为此, GIN通过调节中心节点的权重, 这样就区分了中心节点和邻居节点, 如下所示:

[论文阅读笔记25]A Comprehensive Survey on Graph Neural Networks,读文献,其他,论文阅读,笔记,深度学习,人工智能
此外, 对于一个节点的邻居节点, 不同邻居的重要性也许是不同的, 因此GAT提出了图注意力机制, 将聚合时邻居节点的权重变成learnable的参数:

[论文阅读笔记25]A Comprehensive Survey on Graph Neural Networks,读文献,其他,论文阅读,笔记,深度学习,人工智能

其中

α v u ( k ) = s o f t m a x ( g ( a T [ W ( k ) h v ( k − 1 ) ∣ ∣ W ( k ) h u ( k − 1 ) ] ) ) \alpha_{vu}^{(k)} = softmax(g(a^T[W^{(k)}h_{v}^{(k-1)}||W^{(k)}h_{u}^{(k-1)}])) αvu(k)=softmax(g(aT[W(k)hv(k1)∣∣W(k)hu(k1)]))

图池化层, 图自编码器待更新…文章来源地址https://www.toymoban.com/news/detail-674898.html

到了这里,关于[论文阅读笔记25]A Comprehensive Survey on Graph Neural Networks的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 论文阅读1--A Survey on Incomplete Multi-view Clustering(不完全多视图聚类的调查)阅读笔记

    目录 写在前面(知识补充) 0.Abstract 1.Introduction 2. FUNDAMENTALS AND PRELIMINARY CONCEPTS 3. MATRIX FACTORIZATION BASED IMC(基于矩阵分解的IMC) 4. KERNEL LEARNING BASED IMC(基于内核学习的IMC) 5.GRAPH LEARNING BASED IMC(基于图学习的IMC) 6.DEEP LEARNING BASED IMC(基于深度学习的IMC) 7. EXPERIMENTS(实验部分)

    2024年02月05日
    浏览(55)
  • 论文阅读 (94):Substructure Aware Graph Neural Networks (SAGNN, AAAI2023)

    题目 : 子结构感知图神经网络 (Substructure aware graph neural networks, SAGNN) 背景 :尽管图神经网络 (GNN) 在图学习方面取得了巨大成就,但由于GNN的传播范式与一阶Weisfeiler-Leman图同构测试算法 (1-WL) 的一致性,导致其难以突破1-WL表达能力的上限。 思路 :通过子图更容易区分原始图

    2024年02月12日
    浏览(54)
  • 论文阅读 - VGAER: Graph Neural Network Reconstruction based Community Detection

    https://arxiv.org/pdf/2201.04066.pdf         社群检测是网络科学中一个基础而重要的问题,但基于图神经网络的社群检测算法为数不多,其中无监督算法几乎是空白。         本文通过将 高阶模块化信息与网络特征融合 ,首次提出了基于变异图自动编码器重构的社群检测

    2024年01月18日
    浏览(40)
  • 《论文阅读27》SuperGlue: Learning Feature Matching with Graph Neural Networks

    研究领域: 图像特征点匹配 论文:SuperGlue: Learning Feature Matching with Graph Neural Networks CVPR 2020 veido 论文code  [参考] [参考] [参考]    SuperGlue:使用图神经网络学习特征匹配 本文介绍了SuperGlue,一种神经网络,通过 共同寻找对应点和拒绝不匹配点 来匹配两组本地特征。分配估

    2024年02月05日
    浏览(45)
  • 论文阅读+实战:SimGNN:A Neural Network Approach to Fast Graph Similarity Computation

    论文链接:SimGNN: A Neural Network Approachto Fast Graph Similarity Computation 图相似性搜索 是最重要的基于图的应用程序之一,例如查找与查询化合物最相似的化合物。图相似度/距离计算,例如 图编辑距离(GED) 和 最大公共子图(MCS) ,是图相似度搜索和许多其他应用程序的核心操作

    2024年02月11日
    浏览(44)
  • On the Spectral Bias of Neural Networks论文阅读

    众所周知,过度参数化的深度神经网络(DNNs)是一种表达能力极强的函数,它甚至可以以100%的训练精度记忆随机数据。这就提出了一个问题,为什么他们不能轻易地对真实数据进行拟合呢。为了回答这个问题,研究人员使用傅里叶分析来研究深层网络。他们证明了具有有限权值

    2024年02月22日
    浏览(46)
  • 论文笔记:E(n) Equivariant Graph Neural Networks

            本文介绍了一种新模型来学习与旋转、平移、反射和排列等变的图神经网络,称为 E(n)-等变图神经网络 (EGNN)。          与现有方法相比,EGNN不需要在中间层中计算昂贵的高阶表示,同时仍能获得有竞争力或更好的性能。 此外,虽然现有方法仅限于 3 维空间的

    2023年04月08日
    浏览(37)
  • EEG-GNN论文阅读和分析:《EEG Emotion Recognition Using Dynamical Graph Convolutional Neural Networks》

    下面所有博客是个人对EEG脑电的探索,项目代码是早期版本不完整,需要完整项目代码和资料请私聊。 数据集 1、脑电项目探索和实现(EEG) (上):研究数据集选取和介绍SEED 相关论文阅读分析: 1、EEG-SEED数据集作者的—基线论文阅读和分析 2、图神经网络EEG论文阅读和分析:《

    2024年02月07日
    浏览(51)
  • 论文阅读-Neighbor Contrastive Learning on Learnable Graph Augmentation(AAAI2023)

            人为设计的图增强,可能会破坏原始图的拓扑结构,同时相邻节点被视为负节点,因此被推离锚点很远。然而,这与网络的同质性假设是矛盾的,即连接的节点通常属于同一类,并且应该彼此接近。本文提出了一种端到端的自动GCL方法,称为NCLA,将 邻居对比学习

    2024年02月14日
    浏览(36)
  • 图神经网络EEG论文阅读和分析:《EEG-Based Emotion Recognition Using Regularized Graph Neural Networks》

    下面所有博客是个人对EEG脑电的探索,项目代码是早期版本不完整,需要完整项目代码和资料请私聊。 数据集 1、脑电项目探索和实现(EEG) (上):研究数据集选取和介绍SEED 相关论文阅读分析: 1、EEG-SEED数据集作者的—基线论文阅读和分析 2、图神经网络EEG论文阅读和分析:《

    2024年02月09日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包