综述笔记:A comprehensive survey on Graph Neural Networks

    xiaoxiao2022-07-02  109

    一、GNN分类

    在清华大学的综述中,GNN被分为5类: Graph Convolutional Networks图卷积网络,Graph Attention Networks图注意力网络,Graph Autoencoder 图自编码器,Graph Generative Networks图生成网络,Graph Spatial-temporalNetworks 图时空网络。

    而其中内容最丰富的GCN又包含Spatial 和 Spectral两种。

    Spatial GCN:Recurrent-based Spatial GCN 和 Composition Based Spatial GCN。前者包括图神经网络(Graph Neural Networks,GNN)、门控图神经网络(Gated Graph Neural Networks,GGNN)和 Stochastic Steady-state Embedding (SSE)。后者涉及了:Message Passing Neural Networks (MPNN)、GraphSage。Spectral GCN:Spectral CNN、Chebyshev Spectral CNN (ChebNet)、First order of ChebNet (1stChebNet) 和 Adaptive Graph Convolution Network (AGCN)。

    二、图卷积网络GCN

    1、Spectral-based GCN

    基于Laplacian矩阵特征分解;任何对图的轻微扰动(添加、删除结点等)会导致特征基变化;学习到的滤波器依赖于不同领域,因此不具有对不同结构的图的泛化能力;需要大量的计算成本,n3的时间复杂度和n2的空间复杂度;仅适用于无向图;ChebNet的滤波器具有空间局部性,可以在全图共享参数,然而谱域GCN需要一次性对全图进行卷积;一次卷积相当于对全图(k次多项式近似则是k-hop内)进行一次信息加权平均;

    2、Spatial-based GCN

    1)GNNs:

    最早的GNN,迭代更新每个节点的潜在表示至收敛,换言之,从传播的角度而言,每个结点与邻接点进行信息交换至信息平衡。实际上我们需要训练这样一个图卷积算子用于更新每个节点的潜在表示:

    其中hvt是t步时结点v的潜在表示,Iv是结点的标签属性,Ico是与结点v的边的标签属性,hnet-1是结点v的邻接点在t-1时的潜在表示,Ine是v的邻接点的标签属性。 为了确保收敛,我们必须保证映射f为一个压缩映射,映射后能够缩小两点间差距(详见Banach不动点定理,最终能够找到一个不动点x使得x=f(x))。 GNNs采用Almeida-pineda算法进行训练,其核心思想:进行传播过程以达到不动点,再根据收敛解执行反向传播过程。

    GNNs要求f为压缩映射,极大地限值了模型的能力;迭代次数较多,计算成本较高;

    2)Recurrent-based Spatial GCNs:

    Gated GNN:

    使用GRU作为递归函数代替压缩映射,解决了对模型的限制,将递归减少到固定步数,其空间图卷积算子为:

    GGNN使用时间反向传播BPTT算法进行训练,带来了时间和空间复杂度的提升,因为它需要在所有的节点上进行迭代计算,并将所有的中间状态存在内存中。

    SSE

    随即稳态嵌入SSE,异步方式更新潜在表示,从而提高了学习效率。 有待学习。

    3)Composition-based Spatial GCNs:

    MPNNs:

    MPNNs:消息传递网络。

    过程分为两个阶段:消息传递阶段、读出阶段。消息传递阶段: 运行T步Spatial-based图卷积操作,卷积算子由信息函数M和更新函数U定义:

    可以看出,t-1时刻v结点、v的邻接点w的潜在表示和边权evw通过信息函数计算成信息,再根据所有邻接点的“信息”之和mtv与t-1时刻v的潜在hvt-1表示通过更新函数形成t时刻v结点的潜在表示。 经过T时刻的传播之后,网络达到了一个特定的状态(不一定是收敛状态),然后可以通过一个NN将需要的输出“读出”。(有待继续学习)

    GraphSAGE:

    SAGE:sample and aggregate。 GraphSAGE的图卷积定义为:

    其算法为: 外层循环k为采样深度,每循环一次都能获取到更深的邻接点的信息,k次循环就获取到了k-hop范围内的信息,然后将其聚合为新的中心节点的最终状态,最后利用最终状态进行预测和反向传播。 根据不同的聚合函数,有如下分类:

    均值聚合器:去中心节点和邻接点的本征向量(隐藏状态)的均值,且与原算法相比,略过了5的连接操作,直接将均值赋予hkN(v),这样可以构成“skip-connection”,可以提高模型性能;LSTM聚合器:由于节点之间没有顺序,因此他们将其中的节点随机排序输入LSTM训练得到聚合的本征向量;池化聚合器:在顶点和邻接点上进行element-wise的池化操作(max-pooling、average-pooling等),实验证明max-pooling有最好的性能;

    谱域和空域GCN对比

    谱域作为最初的GCN,有图信号处理的理论基础,采用滤波器的方式进行卷积,因此可以搭图信号处理的“顺风车”;但谱域GCN有如下问题: 效率:谱域GCN需要特征分解,并同时处理全图数据,因此难以对大图进行缩放和并行处理;而空域GCN则是以batch为单位进行计算,并可以通过采样方式的改进提高效率,因此在大规模图的处理中,空域更有优势;通用性:谱域GCN的计算基于特征值和特征向量,对图的轻微扰动则会导致特征基的变化,因此谱域GCN难以对异构的图泛化;而空域则是在每个结点进行局部卷积,权值很容易实现在不同区域共享;灵活性:谱域不适用于有向图,因为有向图并没有Laplacian矩阵的明确定义;而空域在处理多源输入(如边特征、边方向)时更灵活,因为可以把它们合并到聚合函数Aggregation中;

    三、图注意力网络GAN

    attention机制在处理序列数据时几乎成为标配,它使得模型能够关注重要的部分,忽略不重要部分带来的影响。

    1、Graph Attention Network(GAT):

    GAT是一种应用了attention机制的空域GCN,它在聚合邻居信息时用attention区分不同的邻接点对中心节点的重要性,定义如下:

    其中σ(·)表示注意力函数,通过学习可以控制邻不同接点j对中心节点i的贡献程度。为了学习不同子空间的attention,GAT使用了multi-head attention: 其中的||表示连接concatenate。 ## 2、Gated Attention Network(GAAN): GAAN同样应用了multi-head attention, 与GAT不同的是,GAT为每个以相同的权重进行连接,GAAN引入自-注意力机制,为每一个attention设置不同权重: 其中φ0,φv表示前馈NN,gik表示第k个attention的权重。 ## 3、Gated Attention Model(GAM): 有待学习 ## 4、Attention Walks: 注意力游走通过随机游走学习节点嵌入,与使用固定先验知识的DeepWalk不同,注意利用游走对可微注意力权重的共生矩阵进行分解: 其中D表示共生矩阵,P0表示初始位置矩阵,P表示概率转移矩阵。 有待学习。

    5、Summary:

    注意力机制对GNN的贡献分为三个方面,在聚合特征信息的时候对不同的邻居节点分配不同的权值,根据注意力权重集成多个模型,使用注意力权重指导随机游走。尽管将GAT[15]和GAAN[28]归为图的注意网络的范畴,它们也同时是基于空间的GCN。GAT[15]和GAAN[28]的优点是可以自适应学习邻居的重要性权重,如图6所示。但是,由于必须计算每对邻居之间的注意力权重,计算成本和内存消耗迅速增加。

    四、图自编码器

    to be done

    最新回复(0)