图神经网络GNN学习日志——GNN介绍

一、图神经网络GNN简介

图(graph)是⼀种数据结构,图神经⽹络(GNN)是深度学习在图结构上的⼀个分⽀。常⻅的图结构包含节点(node)和边(edge),其中,节点包含了实体(entity)信息,边包含实体间的关系(relation)信息。现在许多学习任务都需要处理图结构的数据,⽐如物理系统建模(physics system)、学习分⼦指纹(molecularfingerprints)、蛋⽩质接⼝预测(protein interface)以及疾病分类(classify diseases),这些都需要模型能够从图结构的输⼊中学习相关的知识。相关的图结构例⼦说明如下:
在这里插入图片描述
上图为使⽤图结构来给物理系统建模,每⼀个节点表⽰物理系统中的objects,每⼀条边表⽰不同object
之间的关系。
在这里插入图片描述
上图为分⼦结构,每⼀个节点表⽰原⼦,边表⽰原⼦之间的化学键。

图神经⽹络除了能够学习结构化数据(输出数据为图结构数据)之外,还能学习到⾮结构化数据,⽐如⽂本(texts)和图⽚(images),并能够在提取出的图结构中进⾏推理(reasoning),⽐如句⼦的关系依赖树(dependency tree of sentences)和图⽚的情景图(scene graph of images),这些都需要图推理模型。

GNN是⼀种连接模型,通过⽹络中节点之间的信息传递(message passing)的⽅式来获取图中的依存关系(dependence of graph),GNN通过从节点任意深度的邻居来更新该节点状态,这个状态能够表示状态信息。

二、GNN起源

GNN起源于两种动机,⼀种动机来⾃于卷积神经⽹络(CNN),另⼀种动机来⾃于图嵌⼊(graph embedding)。

第一种来源于CNN,CNN能够提取出多尺度的局部空间特征,并将它们进⾏组合来构建更加⾼级的表示(expressive representations)。如果深⼊研究CNN和图结构的特点,可以发现CNN的核⼼特点在于:局部连接(local connection),权重共享(shared weights)和多层叠加(multi-layer)。这些同样在图问题中⾮常试⽤,因为图结构是最典型的局部连接结构,其次,共享权重可以减少计算量,另外,多层结构是处理分级模式(hierarchical patterns)的关键。然⽽,CNN只能在欧⼏⾥得数据(Euclidean data),⽐如⼆维图⽚和⼀维⽂本数据上进⾏处理,⽽这些数据只是图结构的特例⽽已,对于⼀般的图结构,可以发现很难将CNN中的卷积核(convolutional filters)和池化操作(pooling operators)迁移到图的操作上。

另⼀种动机来源于图嵌⼊,所谓嵌⼊,就是对图的节点、边或者⼦图(subgraph)学习得到⼀个低维的向量表示,传统的机器学习⽅法通常基于⼈⼯特征⼯程来构建特征,但是这种⽅法受限于灵活性不⾜、表达能⼒不⾜以及⼯程量过⼤的问题,词嵌⼊常⻅的模型有Skip-gram,CBOW等,图嵌⼊常⻅模型有DeepWalk,Node2Vec等,然⽽,这些⽅法⽅法有两种严重的缺点,⾸先就是节点编码中权重未共享,导致权重数量随着节点增多⽽线性增⼤,另外就是直接嵌⼊⽅法缺乏泛化能⼒,意味着⽆法处理动态图以及泛化到新的图。

三、GNN和传统NN的区别

⾸先,标准的神经⽹络⽐如CNN和RNN不能够适当地处理图结构输⼊,因为它们都需要节点的特征按照⼀定的顺序进⾏排列,但是,对于图结构⽽⾔,并没有天然的顺序⽽⾔,如果使⽤顺序来完整地表达图的话,那么就需要将图分解成所有可能的序列,然后对序列进⾏建模,显然,这种⽅式⾮常的冗余以及计算量⾮常⼤,与此相反,GNN采⽤在每个节点上分别传播(propagate)的⽅式进⾏学习,由此忽略了节点的顺序,相当于GNN的输出会随着输⼊的不同⽽不同。

另外,图结构的边表⽰节点之间的依存关系,然⽽,传统的神经⽹络中,依存关系是通过节点特征表达出来的,也就是说,传统的神经⽹络不是显式地表达中这种依存关系,⽽是通过不同节点特征来间接地表达节点之间的关系。通常来说,GNN通过邻居节点的加权求和来更新节点的隐藏状态

最后,就是对于⾼级的⼈⼯智能来说,推理是⼀个⾮常重要的研究主题,⼈类⼤脑的推理过程基本上都是基于图的⽅式,这个图是从⽇常的⽣活经历中学习得到的。GNN尝试从⾮结构化数据⽐如情景图⽚和故事⽂本中产⽣结构化的图,并通过这些图来⽣成更⾼层的AI系统。

四、GNN分类

论⽂对GNN模型分类如下:

  • 图卷积⽹络(Graph convolutional networks)和图注意⼒⽹络(graph attention networks),因为涉及到传播步骤(propagation step);
  • 图的空域⽹络(spatial-temporal networks),因为该模型通常⽤在动态图(dynamic graph)上;
  • 图的⾃编码(auto-encoder),因为该模型通常使⽤⽆监督学习(unsupervised)的⽅式;
  • 图⽣成⽹络(generative networks),因为是⽣成式⽹络。

五、学习参考链接

学习视频链接:

图神经网络从入门到精通

学习博客链接:

图神经网络工具包PyG应用实例:
PyG应用: 教程(一) 总体介绍
PyG应用: 教程(二) PyTorch 介绍
PyG网络(三) 图注意力神经网络GAT
PyG应用: 教程(四) 卷积层 - 谱方法
PyG实战: 动态图的演化预测 - 交通预测
PyG应用: 教程(五) 聚集函数
PyG应用: 教程(六) 图自编码器与变分图自编码器

图自编码器的链路预测任务: 疾病-基因的相互作用
GCN的通俗理解(解释了为什么进行图卷积就是求邻居特征间的关系)

写得巨好的两篇英文博客:
A Gentle Introduction to Graph Neural Networks
Understanding Convolutions on Graphs

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
人工智能(AI)最近经历了复兴,在视觉,语言,控制和决策等关键领域取得了重大进展。 部分原因在于廉价数据和廉价计算资源,这些资源符合深度学习的自然优势。 然而,在不同的压力下发展的人类智能的许多定义特征仍然是当前方法无法实现的。 特别是,超越一个人的经验 - 从婴儿期开始人类智能的标志 - 仍然是现代人工智能的一项艰巨挑战。 以下是部分立场文件,部分审查和部分统一。我们认为组合概括必须是AI实现类似人类能力的首要任务,结构化表示和计算是实现这一目标的关键。就像生物学利用自然和培养合作一样,我们拒绝“手工工程”和“端到端”学习之间的错误选择,而是倡导一种从其互补优势中获益的方法。我们探索如何在深度学习架构中使用关系归纳偏差来促进对实体,关系和组成它们的规则的学习。我们为AI工具包提供了一个新的构建模块,具有强大的关系归纳偏差 - 形网络 - 它概括和扩展了在形上运行的神经网络的各种方法,并为操纵结构化知识和生成结构化行为提供了直接的界面。我们讨论网络如何支持关系推理和组合泛化,为更复杂,可解释和灵活的推理模式奠定基础。作为本文的配套文件,我们还发布了一个用于构建形网络的开源软件库,并演示了如何在实践中使用它们。
嗨!对于神经网络(Graph Neural Networks,简称GNN),我可以给你一些深入浅出的学习建议。GNN是一种基于结构进行学习和推理的神经网络模型,在许多结构数据领域具有广泛的应用。 首先,建议你先了解一些论的基础知识,比如的定义、的表示方法、节点和边的属性等。这将有助于你更好地理解GNN模型的原理和应用。 接下来,你可以学习GNN的基本原理和主要组成部分。GNN主要包括卷积层(Graph Convolutional Layer)和池化层(Graph Pooling Layer)。你可以学习一些经典的GNN模型,如GraphSAGE、GCN(Graph Convolutional Network)和GAT(Graph Attention Network)。这些模型会帮助你建立对GNN的基本理解。 在学习过程中,不要忽视实践环节。尝试使用一些开源的GNN框架(如PyTorch Geometric、DGL等)或编写自己的代码实现一个简单的GNN模型。通过动手实践,你可以更加深入地理解GNN的工作原理,并在实际问题中应用它。 此外,我还建议你关注一些相关的研究论文和领域进展。GNN是一个快速发展的领域,新的模型和技术层出不穷。阅读最新的研究论文,关注会议和期刊上的相关工作,可以帮助你了解最新的研究动态,并从中获取灵感。 最后,记住持续学习和实践是很重要的。神经网络是一个复杂而广泛的主题,需要不断地深入学习和实践才能掌握。希望这些建议能对你学习神经网络GNN有所帮助!如果你有更具体的问题,欢迎继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值