摘要
图结构数据经常出现在包括化学,自然语言语义,社交网络和知识库的领域中。 在这项工作中,我们研究了对于图结构输入的特征学习技术。 我们的出发点是在图神经网络(Scarselli et al。,2009)上的前期工作,我们修改它们以使用门控 循环/递归 单元和现代优化技术,然后扩展到输出序列。 结果是灵活且广泛有用的一类神经网络模型,当问题是图形结构时,相对于纯基于序列的模型(例如,LSTM)具有有利的归纳偏差。 我们在一些简单的AI(bAbI)和图算法学习任务上演示了其能力。 然后,我们展示它对来自程序验证的问题上获得了最先进的性能,其中子图需要被描述为抽象数据结构。
1介绍
许多实际应用程序都是基于图结构数据构建的,因此我们经常希望执行以图形为输入的机器学习任务。该问题的标准方法包括设计输入图的自定义特征,图内核(Kashima等,2003; Shervashidze等,2011),以及根据图上的随机游走定义图特征的方法(Perozzi et al。,2014)。与我们在这项工作中的目标更密切相关的是学习图特征的方法,包括图神经网络(Gori等人,2005; Scarselli等人,2009),光谱网络(Bruna等人,2013)和最近的工作关于化学分子图表示的分类任务的学习图指纹(Duvenaud等,2015)。
我们的主要贡献是图神经网络的输出序列的扩展。以前关于图结构输入的特征学习的工作主要集中在产生单个输出的模型,例如图级分类,但图输入的许多问题需要输出序列。示例包括图上的路径,具有期望属性的图节点的枚举,或者与例如起始节点和结束节点混合的全局分类序列。我们不知道有适合此问题的现有图功能学习的工作。我们的激励应用程序来自程序验证,需要输出逻辑公式,我们将其作为顺序输出问题。次要贡献是突出显示图神经网络(以及我们在此开发的进一步扩展)是一类广泛使用的神经网络模型,适用于当前面临该领域的许多问题。
图上的特征学习有两种设置:(1)学习输入图的表示,以及(2)在产生一系列输出的过程中学习内部状态的表示。在这里,(1)主要通过以前的图神经网络工作来实现(Scarselli et al。,2009);我们对这个框架进行了一些小的改编,包括改变它以使用递归神经网络的现代实践。 (2)很重要,因为我们希望图结构问题的输出不仅仅是单个分类。在这些情况下,挑战在于如何在图上学习编码已经产生的部分输出序列的特征(例如,如果输出路径,到目前为止的路径)并且仍然需要产生(例如,剩余的路径) )。我们将展示GNN框架如何适应这些设置,从而产生一种新的基于图的神经网络模型,我们称之为门控图形序列神经网络(GGS-NNs)。
我们在bAbI任务的实验(Weston等,2015)和图解算法学习任务中说明了这个通用模型的各个方面,这些任务说明了模型的功能。然后,我们提出了一个验证计算机程序的应用程序。当试图证明诸如存储器安全性之类的属性(即,程序中没有空指针解引用)时,核心问题是找到程序中使用的数据结构的数学描述。继Brockschmidt等人之后。 (2015),我们将此称为机器学习问题,我们将学习从一组输入图表(表示内存状态)到已实例化的数据结构的逻辑描述。而Brockschmidt等人。 (2015)依靠大量的手工工程功能,我们表明该系统可以免费更换为GGS-NN。
2GRAPH NEURAL NETWORKS
在本节中,我们回顾了图神经网络(GNN)(Gori等,2005; Scarselli等,2009),并介绍了将在整个过程中使用的符号和概念。
GNN是根据图结构定义的通用神经网络体系结构。
节点取从
的唯一值,边是 对
。我们的这项工作专注于有向图,所以
代表有向边
,但我们注意到框架可以很容易地适应无向图;见Scarselli等人(2009年)。节点v的节点向量(或节点表示或节点嵌入,
)由
表示。图也可能对于每个节点包含节点标签
,对每个边包含边标签或边类型
。我们将重载符号,让