在AI感知时代,深度学习虽然在图像识别、语音识别等感知领域取得了瞩目的成绩,但是现有的深度学习系统被公认缺乏可解释性、常识以及推理能力。而作为AI认知时代的核心组成部分,常识和推理是不可或缺的。作为全球最具前瞻性的人工智能领军企业Google先后提出“知识图谱”与“图神经网络”,引发了国内外无数研究者的关注与追捧,故而我们有理由相信知识图谱和图神经网络在即将全面到来的AI认知时代,便是给深度学习插上“常识”和“推理”双翼,全面进入“认知+推理”时代的核心AI技术驱动。
此外,考虑到知识图谱本身恰好就是一种图结构数据,因此采用图构建知识和数据之间的关联,同时应用图神经网络技术,有望结合知识和数据实现更好的可解释和可信人工智能技术。一方面,利用图神经网络在学习节点、边表示上的优势,可以更好地学习知识图谱的实体、关系的嵌入表示,改善关系抽取等任务,帮助构建知识图谱,以及提高链接预测等任务,帮助补全知识图谱;另一方面,利用图神经网络在信息传播和推理上的优势,可以更有效地在应用任务中引入知识图谱中的信息,从而改善如文本挖掘、推荐系统、计算机视觉等领域中的应用效果,提供可解释的模型。
描述常识和事实的知识图谱是学术界和工业界广泛使用的知识表示方式,采用图构建知识和数据之间的关联,是一种直接且有效的将知识和数据结合的方式。受益于图神经网络技术在信息传播和推理上的优势,知识图谱中的先验知识被有效地引入到应用任务中。
由于知识图谱可以表征实体之间结构化的关系,如今已经成为认知和人工智能领域重要的研究方向。图神经网络利用深度神经网络对图数据中的拓扑结构信息和属性特征信息进行整合,进而提供更精细的节点或子结构的特征表示,并能很方便地以解耦或端到端的方式与下游任务结合,巧妙地满足了知识图谱对学习实体、关系的属性特征和结构特征的要求。
图神经网络 ( Graph Neural Networks,GNN) 是通过图节点之间的消息传递来捕获图的依赖关系的神经模型。近年来,图卷积网络 (GCN)、图注意力网络 (GAT)、图递归网络 (GRN) 等 GNN 的变体在许多深度学习任务上都表现出了突破性的表现。图神经网络 (GNN) 是在图域上运行的基于深度学习的方法。 由于其令人信服的性能,GNN 最近已成为一种广泛应用的图分析方法。
GNN模型的通用设计流程通常包含四个步骤:a)查找图结构;b)明确图类型和规模;c)设计损失函数;d)构建模型。
首先必须找出应用中的图结构。 通常有两种场景:结构化场景和非结构化场景。 在结构化场景中,图结构在应用中是明确的,例如在分子、物理系统、知识图谱等方面的应用。 在非结构化场景中,图是隐式的,因此我们必须首先从任务中构建图,例如为文本构建全连接的“单词”图或为图像构建场景图。 在我们得到图之后,后面的设计过程会尝试在这个特定的图上找到一个最优的 GNN 模型。
在应用中获取图后,我们必须找出图类型及其规模。 具有复杂类型的图可以提供有关节点及其连接的更多信息。 图通常分为以下几类:
有向/无向图。 有向图中的边都是从一个节点指向另一个节点的,这比无向图提供了更多的信息。 无向图中的每条边也可以视为两条有向边;
同构/异构图。 同构图中的节点和边具有相同的类型,而异构图中的节点和边具有不同的类型。 节点和边的类型在异构图中起着重要作用,应进一步考虑。
静态/动态图。 当输入特征或图的拓扑随时间变化时,该图被视为动态图。 在动态图中应仔细考虑时间信息。
一旦明确了图类型,这些图类型提供的附加信息应该在设计过程中进一步考虑。
至于图规模,“小”和“大”图没有明确的分类标准。 随着计算设备的发展(例如 GPU 的速度和内存),该标准仍在发生变化。 当一个图的邻接矩阵或图拉普拉斯算子不能被设备存储和处理时,我们将图视为一个大规模图,然后应该考虑一些采样方法。
根据任务类型和训练设置来设计损失函数。 对于图学习任务,通常有以下三种任务:
节点级任务侧重于节点,包括节点分类、节点回归、节点聚类等。节点分类试图将节点分类为若干类,节点回归预测每个节点的连续值。 节点聚类旨在将节点划分为几个不相交的组,其中相似的节点应该在同一个组中。
边级任务是边分类和链路预测,这需要模型对边类型进行分类或预测两个给定节点之间是否存在边。
图级任务包括图分类、图回归和图匹配,所有这些都需要模型来学习图表示。
从监督的角度来看,我们还可以将图学习任务分为三种不同的训练设置:
监督设置为训练提供标记数据;
半监督设置提供少量标记节点和大量未标记节点进行训练。 在测试阶段,转导设置要求模型预测给定未标记节点的标签,而归纳设置提供来自相同分布的新未标记节点进行推断。 大多数节点和边分类任务都是半监督的。
无监督设置只为模型提供未标记的数据以查找模式。 节点聚类是一个典型的无监督学习任务。
通过任务类型和训练设置,我们可以为任务设计特定的损失函数。 例如,对于节点级别的半监督分类任务,交叉熵损失可以用于训练集中的标记节点。
GNN中常用的计算模块有:
传播模块(Propagation Module)。传播模块用于在节点之间传播信息,以便聚合信息可以捕获特征和拓扑信息。
采样模块(Sampling Module)。 当图很大时,通常需要采样模块对图进行传播。 采样模块通常与传播模块结合使用。
池化模块(Pooling Module)。 当我们需要高级子图或图的表示时,需要池化模块来从节点中提取信息。
使用这些计算模块,通常通过组合它们来构建典型的 GNN 模型。其中卷积算子、循环算子、采样模块和跳过连接用于在每一层中传播信息,然后添加池化模块以提取高层信息。这些层通常被堆叠以获得更好的表示。
知识图谱表示学习,即为知识图谱中的实体和关系学习出一个低维度的向量表示,同时包含一些语义信息,从而得以在下游任务中更加方便地提取和利用知识图谱中的信息,例如链接预测、常识问答等。通过应用图神经网络,在学习知识图谱的表示时,每个实体都将利用到与其相关的其他实体中的信息,打破了彼此之间的孤立性,从而学得更完整更丰富的实体、关系表示。
信息抽取是指从非结构化、半结构化文档或句子中提取结构化信息的技术,与知识图谱的构建有着密切的联系,主要包括命名实体识别、实体消歧、关系抽取、指代消解等任务。近年来,已有许多研究将图神经网络应用于知识图谱的关系抽取任务,而在其他任务上对图神经网络的探索还较少。通过图神经网络可以对句子内或句间词与词的关联关系进行有效建模,从而更准确地捕捉实体间的关系。
实体消歧,即对于从文本中抽取得到的实体对象,将其链接到知识库中对应的正确实体对象。如图3所示,Hu等人提出了一种图神经实体消歧模型(Graph Neural Entity Disambiguation, GNED),首先为文档构造实体–词异质图,对文档中的实体之间的语义关系进行编码;然后将GCN应用于该异质图,获得语义信息增强的实体表示;最后采用条件随机场来结合实体链接的局部和全局信息。
实体对齐是将从知识图谱中学习到的描述同一目标的实体或概念进行合并,再将合并后的实体集与开放链接数据中抽取的实体进行合并,旨在融合多个知识图谱形成一个更完整的知识图谱。由于图神经网络具有识别同构子图的能力,而可对齐的实体对周围通常有相似的邻居,即具有一定的同构特征,因此目前有许多研究者尝试将图神经网络用于实体对齐。
链接预测是用于预测知识图谱中实体对之间所缺少关系的任务,具有广泛的应用范围,旨在解决知识图谱不完整的问题。链接预测与知识图谱表示学习有着不可分割的联系,一方面表示学习通常需要用链接预测评价优劣,另一方面链接预测的模型通常也会学得实体和关系的表示。许多工作利用图神经网络为实体引入邻实体和对应关系的信息,学得更全面的实体表示,从而更准确地预测实体之间的链接关系。
知识推理是从给定的知识图谱中推导出实体与实体之间的新关系,但知识推理所获得的关系通常需要在知识图谱中进行多跳的推理过程。知识推理是一些下游任务的重要支撑之一,例如知识库问答。由于图神经网络在推理能力上的优势,近年来被一些研究者尝试用于知识推理任务。
为了解决推荐系统中的稀疏性问题和冷启动问题,一种可行的思路是将知识图谱作为外部信息整合到推荐系统中,使推荐系统具有常识推理能力。研究者们基于图神经网络强大的聚合信息以及推理能力,设计了基于图神经网络和知识图谱的推荐系统,有效地提升了推荐命中率。此外,图神经网络的信息传播与推理能力也为推荐结构提供了一定的可解释性。
图神经网络可以应用于基于文本的多个任务。 它可以应用于句子级任务(例如文本分类)以及单词级任务(例如序列标记)。
结合知识图谱和图神经网络的相关研究已经成为人工智能领域的一个热点方向。知识图谱可以为各类学习任务提供良好的先验知识,图神经网络则可以更好地支持图数据的学习任务。但是,目前基于图神经网络的知识图谱学习、计算与应用的研究都还相对较少,未来仍有巨大的发展空间,例如基于图神经网络的知识图谱自动构建、基于异质图神经网络的知识融合、基于元路径或图神经网络的知识图谱复杂推理、基于图神经网络的可解释性学习等。