图神经网络(Graph Neural Network)的应用在近年来蓬勃发展,但同时对其质疑也从未消失。诸如对与大规模图数据的存储问题,表达能力问题,以及数据集的规范问题引发了许多讨论。中科院计算所研究员、智源青年科学家沈华伟在图神经网络领域深耕多年。在青源talk第四期中,沈华伟梳理了图神经网络的发展历程,及对于一些问题、质疑的看法。
沈华伟表示,每一次对领域的质疑都是该领域成长的一次动力,只有解决了质疑的问题,领域才会得到发展。
上世纪90年代末,作为神经网络在不同数据上的应用方案,图神经网络与循环神经网络、卷积神经网络一同被提出。
因此最初Graph Neural Network应该被称为Neural Network for Graph,但由于图数据的问题在当时并没有很广的应用场景,因此相较于迅速崛起的卷积网络,GNN并未得到快速发展。在沉寂了十多年后,人们由CNN的发展得到启发,开始思考如何将CNN的参数共享的性质泛化到非欧结构的数据中,而图作为非欧结构的两大类型之一(图与流形),被许多研究者关注。
但如何在图上定义卷积,成了一个困扰学科发展的问题。
图的表示:图可以被表示为一个四元组(V,E,W,X),分别代表节点、边、加权邻接矩阵和节点属性集。在研究过程中,对图的卷积定义主要经历了两个发展方向:谱方法与空间方法。最早将卷积概念应用于神经网络的Yann Lecun在面对这个问题时,提出了谱域(spectral)和空间(spatial)两种方法。
但由于谱方法没有在空间方法上的局部性质,即空间上的不变性,虽然数学形式优美,但强行定义卷积的效果并不好。而空间方法较为直观,与CNN定义类似,空间方法则是通过对节点周边邻居的信息聚合来实现卷积。后续的发展表明,空间方法推动了GNN的发展,让人们对GNN的认识进入了信息传递的框架。
沈华伟指出,近年来关于GNN的理论进步十分有限,但是采用同样思想,从CNN结构迁移的技术比如Graph Pooling仍然不断发展,大致可分为两类:其一是通过对图进行层次聚类后,定义pooling;另一种直接使用attention的方式,为每个节点计算attention weight,筛选节点。
但是,pooling是针对图任务而言的,若需要节点级别的任务,则Graph Pooling就显得并不必要。和CNN相比,由于图像任务处理的是图像本身,使用pooling能够从局部表示学习到全局的表示,而图的任务很多都是针对节点和边的,采用pooling反而会丢失信息,与任务本身并不匹配。因此,该领域需要尽快理清发展的目标。
表达能力有两种形式:一是模型能够刻画的空间,另一种是拟合能力,是否可以逼近复杂函数。由于神经网络在表达方面的强大能力,因此GNN提出以来,少有工作怀疑其表达能力。但有研究发现,GNN并不能为图结构的数据提供万能近似的功能。WL test为GNN的表达能力提供了理论的上界。不过表达能力的限制同样带来了GNN的优势:易训练且开销小,相比于同等规模的全连接网络,GNN能够更快收敛。
与表达能力不足相反,GNN通常在泛化能力上表现很好。这让其在特定任务上比神经网络具有更加优秀的表现,例如在样本稀少的任务上,GNN能够有很好的泛化性能。
图神经网络的应用可以从三个领域来讨论,分别是(1)节点层面、(2)图层面和(3)信号层面。在学科方面,推荐系统是一个参与众多的应用方向。另一个极有前景的领域是知识图谱。由于知识图谱本身就是图结构,使用GNN或许会产生非常好的效果。此外,诸如量子化学、物理等领域,GNN都展现出了不错的能力。作为处理图的一个方便的工具,GNN对其他学科的图类型的数据都可以做到很好的表达。
沈华伟:针对GNN的诟病很多都来自最初几年发展的时候,学科发展的不规范,例如benchmark数据规模小,固定划分等不符合机器学习的常规规范。但简化了的研究验证过程也方便了研究者进行快速实验,在短短几年间就完成了理论的积累,走向蓬勃发展。在之后几年,研究者们便开始对GNN的研究作出规范,修正了当初的问题。因此对最初几年的诟病是正确的,但这是在特定阶段的便宜之计,因为这样有利于快速发展。
表达能力的问题正如报告中所说,存在一定局限。另一种批评是图在做transductive learning时需要完整图的知识,对大规模的图做transductive learning开销很大。当前的发展方向倾向于inductive learning,即采用局部采样的方式获得样本,而不用储存整张图。这些对领域的抨击都是这一领域成长的契机,只有解决了这些抨击的问题,才能获得发展。