近年来,图神经网络(GNN)取得了快速而令人难以置信的进步。图神经网络又称图深度学习、图表示学习(graphrepresentationlearning)或几何深度学习,是机器学习领域,尤其是深度学习领域发展最快的研究课题。本次分享的主题是《GNN的基础、前沿和应用》,主要介绍了以吴凌飞、崔鹏、裴健、赵亮为首的多位学者合着的综合著作《图神经网络基础、前沿与应用》的概况。一、图神经网络简介1、为什么要研究图?图是一种用于描述和建模复杂系统的通用语言。图本身并不复杂,主要由边和节点组成。我们可以使用节点来表示我们想要建模的任何对象,我们可以使用边来表示两个节点之间的关系或相似性。我们常说的图神经网络或者图机器学习,通常是利用图的结构和边、节点的信息作为算法的输入,输出想要的结果。例如,在搜索引擎中,当我们输入查询时,引擎会根据查询信息、用户信息和一些上下文信息返回个性化的搜索结果,这些信息可以自然地组织成图。2.图结构数据无处不在图结构数据随处可见,比如互联网和社交网络。此外,在当今非常流行的蛋白质发现领域,人们会用图来描述和建模现有的蛋白质,并生成新的图来帮助人们发现新药。我们也可以用图来做一些复杂的程序分析,也可以做一些计算机视觉中的高级推理。3.图机器学习的近期趋势图机器学习并不是一个很新的话题。一直在这个方向研究了将近20年,之前比较少。2016年以来,随着现代图神经网络相关论文的不断涌现,图机器学习成为热门的研究方向。人们发现,这种新一代的图机器学习方法可以更好地学习数据本身与数据之间的信息,从而更好地表示数据,最终能够更好地完成更重要的任务。4.图神经网络的简单历史关于图神经网络的最早论文出现在2009年,当时深度学习还没有流行起来。2016年出现现代图神经网络相关论文,是对早期图神经网络的改进。之后,GCN的出现推动了图神经网络的快速发展。2017年以来,涌现出一大批新算法。随着图神经网络的算法越来越成熟,从2019年开始,业界开始尝试使用这些算法来解决一些实际问题。同时也开发了很多开源工具来提高解决问题的效率。2021年以来,写了很多图神经网络相关的书,当然也包括这本《图神经网络基础、前沿与应用》。《图神经网络基础、前沿与应用》本书系统地介绍了图神经网络领域的核心概念和技术,以及前沿研究和发展,并介绍了在不同领域的应用。学术界和工业界的读者都将从中受益。二、图神经网络基础1、机器学习的生命周期上图反映了机器学习的生命周期,其中特征学习是一个非常重要的环节,其主要任务是将原始数据转化为结构化数据。在深度学习出现之前,大家主要是通过特征工程来完成这个任务。深度学习出现后,这种端到端的机器学习方式开始成为主流。2.FeatureLearninginGraphs在图中和深度学习非常相似。目标是设计一种有效的任务相关或任务无关的特征学习方法,将原始图中的节点映射到高维空间,从而得到节点的embedding表示,进而完成下游任务。3.图神经网络的基础知识图神经网络中需要学习两种表示:图节点表示需要进行过滤操作,将图矩阵和节点向量表示作为输入,不断学习,并更新节点向量表达。目前比较常见的filter操作有Spectral-based、Spatial-based、Attention-based、Recurrent-based。图的表示需要池化操作,将图的矩阵和节点的向量表示作为输入,不断学习,得到包含较少节点的图的矩阵及其节点的向量表示,最终得到表示整个图的图级向量表示。目前比较常见的池化操作有FlatGraphPooling(如Max、Ave、Min)和HierarchicalGraphPooling(如Diffpool)。4.图神经网络的基本模型在机器学习领域有一个contextlearning的概念。在图神经网络中,节点的上下文是其邻居节点,我们可以使用节点的邻居节点来学习该节点的向量表示。这样,每个节点都可以定义一个计算图。我们可以对计算图进行分层,第一层是最原始的信息,通过逐层传递和聚合信息来学习所有节点的向量表示。上图大致描述了图神经网络模型学习的主要步骤。主要有四个步骤:定义聚合函数;根据任务定义损失函数;训练一批节点,比如可以一次训练一批计算图;节点输出所需要的向量表示,甚至是一些从未训练过的节点(学习了聚合函数,利用聚合函数和训练好的向量表示可以得到新节点的向量表示)。上图是使用平均值作为聚合函数的例子。第k层节点v的向量表示取决于它在上一层的邻居节点的向量表示和它自己在上一层的向量表示的平均值。总结以上内容,图神经网络的要点是通过聚合邻居节点的信息生成目标节点的向量表示,兼顾了编码器中的参数共享和推理学习。5.图神经网络的流行模型图神经网络经典或流行的算法本质上是使用不同的聚合函数或过滤函数,可分为有监督的图神经网络和无监督的图神经网络。GCN是最经典的算法之一,它可以直接作用于图并利用其结构信息。围绕提高模型速度、实用性和稳定性,如上图所示,GCN也经历了数次迭代。GCN的论文是划时代的,为图神经网络奠定了基础。MPNN的核心点是将图卷积转化为信息传递的过程。它定义了两个函数,即聚合函数和更新函数。该算法是一种简单通用的算法,但效率不高。GraphSage是一种工业级算法,通过采样获取一定数量的邻居节点,从而得到校节点向量表示。GAT引入了attention的思想,其核心点是在执行信息传递的过程中动态学习边的权重。除了上面介绍的算法外,还有GGNN,其特点是输出可以是多个节点。有兴趣可以看相关论文。《图神经网络基础、前沿与应用》一书的第5、6、7、8章还分别介绍了如何评价图神经网络、图神经网络的可扩展性、图神经网络的可解释性、图神经网络的对抗稳定性。有兴趣的可以阅读书中的相应章节。3.图神经网络前沿1.图结构学习图神经网络需要图结构数据,但给定的图结构是否最优值得怀疑。有时可能会有很多噪音,许多应用程序可能没有图结构的数据,甚至只是原始特征。因此,我们需要使用图神经网络来学习最优的图表示和图节点表示。我们将图的学习转化为节点间的相似学习,通过正则化控制平滑度、连接属性和连通性,通过迭代的方法细化图的结构和图的向量表示。实验数据可以显示这种方法的优点。通过图可视化的结果可以发现,学习到的图倾向于将相似的对象聚集在一起,具有一定的可解释性。2.OtherFrontiers在《图神经网络基础、前沿与应用》一书中还介绍了以下前沿研究,在很多场景都有重要的应用:图分类;链接预测;图形生成;图形转换;图匹配;动态图神经网络;异构图神经网络;图神经网络的AutoML;图神经网络的自监督学习。四、图神经网络的应用1、图神经网络在推荐系统中的应用我们可以利用会话信息构建一个异构的全局图,然后通过图神经网络学习用户或物品的向量表示,并利用这个向量表示来做个性化推荐。2.图神经网络在计算机视觉中的应用我们可以通过图神经网络跟踪物体的动态变化过程,加深对视频的理解。3.图神经网络在自然语言处理中的应用我们可以利用图神经网络来理解自然语言的高层信息。4.图神经网络在程序分析中的应用5.图神经网络在智慧城市中的应用5.Q&AQ1:GNN是下一代深度学习的重要方法吗?A1:图神经网络是一个非常重要的分支,与图神经网络并驾齐驱的是Transformer。鉴于图神经网络的灵活性,将图神经网络和Transformer结合起来,取长补短。Q2:GNN和因果学习可以结合吗?如何组合?A2:因果学习的重要部分是因果图,因果图和GNN可以自然结合。因果学习的难点在于它的数据量级很小,我们可以利用GNN的能力更好的学习因果图。Q3:GNN的可解释性与传统机器学习的可解释性有什么区别和联系?A3:在《图神经网络基础、前沿与应用》一书中会有详细的介绍。Q4:如何直接基于图数据库训练和推理GNN,并利用图计算的能力?A4:目前在统一图计算平台上还没有很好的实践。一些初创公司和科研团队正在探索相关方向。这将是一个非常有价值和具有挑战性的研究方向。更可行的办法是分田。
