综述:深度学习时代的图模型

505 阅读8分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第26天,点击查看活动详情

深度学习时代的图模型

目前存在的问题:

对于复杂的图结构的数据(社交网络、电子商务网络、生物网络等),利用传统的深度学习方法进行分析存在挑战:

  • 图的不规则结构,传统的深度学习方法难以进行计算。

  • 图的异质性和多样性,同质图指的是图中的节点类型关系类型都仅有一种;异质图指的是图中的节点类型或关系类型多于一种。

  • 大规模图形,建立可伸缩模型

  • 融合跨学科知识,图表示通常与其他学科联系,集成领域知识会使模型设计复杂化。

提出的模型:

  • 图递归神经网络(Graph RNN):图RNN通过在节点级别或图级别对状态进行建模来捕获图的递归和顺序模式。

  • 图卷积网络(GCN):GCN 在不规则图结构上定义卷积和读出操作,以捕获常见的局部和全局结构模式。

  • 图自动编码器(GAEs):GAEs 采取低等级的图结构,并采用无监督的方法进行节点表示学习。

  • 图强化学习(Graph RL):Graph RL 定义了基于图形的动作和奖励,以在遵循约束的同时获得图形任务的反馈。

  • 图对抗方法:图对抗方法采用对抗训练技术来增强基于图的模型的泛化能力,并通过对抗攻击来测试其健壮性。

学习图形深层模型的任务可大致分为两类:

  • 以节点为中心的任务:这些任务与图形中的单个节点相关联。示例包括节点分类、链路预测和节点推荐

  • 以图形为中心的任务:这些任务与整个图形相关联。示例包括图分类、估计各种图属性和生成图。

3.Graph RNN 可以被分为:node-level RNNgraph-level RNN

F_V_i:i节点的特征,F_V_j:j节点的特征,F_E_ij:i、j节点之间边的特征,s_i:表示节点Vi,通过每一个和它相连的节点以及特征来确定一个节点Vi

公式1有唯一解,F(⋅) 必须满足压缩映射,“压缩映射”要求任意两点之间的距离只能在 F(⋅)F(⋅) 操作之后“压缩”,这严重限制了建模能力。其次,由于需要多次迭代才能在梯度下降步骤之间达到稳定状态,因此GNN的计算量很大

GNNs的一个显著改进是门控图序列神经网络(GGS NNs)

3.2 Graph-level RNN

Graph RNN也可以和其它框架结合,如GCNsGAEs。例如,为了解决图稀疏性问题,**RMGCNN(递归多图神经网络)**LSTM应用于GCNs的结果,以逐步重建图

4.Graph Convolutional Networks

4.1 Convolution Operations

spectral convolutions:频率上的卷积,通过使用图傅立叶变换或其扩展将节点表示转换为谱域来执行卷积

spatial convolutions:空间区域上的卷积,通过考虑节点邻域来执行卷积

4.2 Readout OPeration

使用图卷积运算,可以学习有用的节点特征来解决许多以节点为中心的任务。但是,为了处理以图形为中心的任务,需要将节点信息进行汇总以形成图形级别的表示。 在文献中,这种程序通常称为读出操作。

两种方法:统计和层次聚类

4.2.1统计

诸如平均或求和之类的统计信息是最简单的读出操作

4.2.2层次聚类

**通过分层聚类算法进行预处理,**这些分层聚类方法都与图卷积无关(即,它们可以作为预处理步骤执行,并且不能以端到端的方式进行训练)

使用分层聚类算法对图进行”粗化”,图节点的初始数量为 N0=N,最后一层为 N_L=1,即代表整个图的单个节点

其他

还研究了其他方法,例如添加伪节点或强加节点顺序。

4.3 Improvements and Discussions

4.3.1 Attention Mechanism

在上述GCN中,节点邻域以相等或预定义的权重进行聚合。 但是,邻居的影响可能相差很大。 因此,应该在训练过程中学习它们,而不是预先确定。

4.3.2 Residual and Jumping Connections

剩余连接和跳跃连接

4.3.3 Edge Features

提到的GCN大多集中在利用节点特征和图结构上。 在本小节中,简要讨论如何使用另一个重要的信息源:边特征

4.3.4 Sampling Methods

采样方法

为大型图训练GCN时,关键的瓶颈之一是效率。

许多GCN遵循邻域聚合方案,由于许多实图遵循幂律分布(即,几个节点的度数非常大),因此邻居数可以非常快速地扩展。

提出了两种类型的采样方法:邻域采样和逐层采样。

4.3.5 Inductive Setting

归纳设置

即在一组节点或图上进行训练,并在另一组没见过的节点或图上进行测试。 原则上,此目标是通过在不依赖于图的基础上学习给定特征的映射函数来实现的,并且可以跨节点或图进行传递。

5.Graph Autoencoder

5.1 Autoencoders

图AE的使用源自稀疏自动编码器(SAE)。 基本思想是,通过将邻接矩阵或其变体视为节点的原始特征,可以利用AE作为降维技术来学习低维节点表示

5.2 Variational Autoencoders

与上述自动编码器不同,变异自动编码器(VAE)是将降维与生成模型结合在一起的另一种深度学习方法。

6. Graph Reinforcement Learning

GCPN【“Graph convolutional policy network for goal-directed molecular graph generation”】利用RL生成目标导向的分子图,同时考虑了非微分的目标和约束

GTPN【“Graph transformation policy network for chemical reaction prediction”】采用RL预测化学反应产物。

GAM【“Graph classification using structural attention”】通过使用随机游走将RL应用于图分类。

DeepPath和MINERVA都采用RL进行知识图(KG)推理。 具体来说,DeepPath的目标是寻路,即在两个目标节点之间找到最有信息的路径,而MINERVA则负责解决问答任务,即在给定问题节点和关系的情况下找到正确的答案节点。

7. Graph Adversarial Methods

7.1 Adversarial Training

GAN的基本思想是建立两个链接的模型:判别器和生成器。生成器的目标是通过生成假数据来“欺骗”判别器,而判别器的目的是区分样本是来自真实数据还是由生成器生成.

7.2 Adversarial Attacks

对抗攻击是另一类对抗方法,旨在通过向数据添加较小的扰动来故意“欺骗”目标方法。 研究对抗性攻击可以加深我们对现有模型的理解,并激发出更强大的体系结构。

8. DISCUSSIONS AND CONCLUSION

8.1 Applications

首先,在构造图形或选择架构时,将领域知识纳入模型很重要。例如,基于相对距离构建图形可能适用于交通预测问题,但可能不适用于地理位置也很重要的天气预报问题。

其次,基于图的模型通常可以在其他体系结构之上构建,而不是作为独立模型构建。例如,计算机视觉社区通常采用CNN来检测对象,然后将基于图的深度学习用作推理模块[156]。对于NLP问题,可以将GCN用作语法约束[141]。结果,关键的挑战是如何集成不同的模型。

这些应用程序还表明,基于图的深度学习不仅能够挖掘现有图数据背后的丰富价值,而且还有助于将关系数据自然地建模为图,从而极大地扩展了基于图的深度学习模型的适用性。

8.2 Implementations

几个开放库,用于在图上开发深度学习模型。

8.3 Future Directions

  • 未研究图结构的新模型:由于图数据的结构极为不同,因此现有方法并不适合所有方法。 例如,大多数方法集中于同构图,而很少研究异类图,

  • 现有模型的组成:如本文多次所示,可以集成许多现有架构:例如,将GCN用作GAE或Graph RL中的一个层。 除了设计新的构建块之外,如何系统地组合这些体系结构也是一个有趣的未来方向。

  • 动态图:现有的大多数方法都集中在静态图上。 但是,许多真实的图本质上是动态的:它们的节点,边线和特征会随着时间变化。 例如,在社交网络中,人们可能建立新的社交关系,删除旧的关系,并且他们的特征(例如兴趣爱好和职业)会随着时间而改变。

  • 可解释性和鲁棒性:由于图通常与其他风险敏感的场景相关,因此解释图上深度学习模型的结果的能力对于决策问题至关重要。例如,在医学或与疾病相关的问题中,可解释性对于将计算机实验转化为临床应用至关重要。