前言
最近在学习图神经网络相关知识,一起来拆书:《深入浅出图神经网络:GNN原理解析》,这本书从原理、算法、实现、应用四个维度详细讲解了图神经网络。接下来打算结合书本内容和相关知识做个专题记录分享,今天先跟大家聊聊关于图的一些基础知识。
为什么要研究图?
在过去的几年中,神经网络的成功推动了模式识别和数据挖掘的研究。许多机器学习任务,如目标检测、机器翻译和语音识别,曾经严重依赖手工的特征工程来提取信息特征集被各种端到端的深度学习范式(例如卷积神经网络(CNN)、长短期记忆(LSTM)和自动编码器)彻底改变了。
尽管深度学习在欧氏空间中的数据方面取得了巨大的成功,但在许多实际的应用场景中的数据是从非欧式空间生成的,同样需要进行有效的分析。图数据的复杂性对现有的机器学习算法提出了重大挑战,这是因为图数据是不规则的。每个图都有一个大小可变的无序节点,图中的每个节点都有不同数量的相邻节点,导致一些重要的操作(例如卷积)在图像上很容易计算,但不再适合直接用于图域。
近年来,人们对深度学习方法在图数据上的扩展越来越感兴趣。很多数据都是图结构,例如社交网络、经济网络、生物医学网络、信息网络(互联网网站、学术引用)、互联网、神经网络。而网络是它们的通用语言,因此具备极大的研究价值。在深度学习的成功推动下,研究人员借鉴了卷积网络、循环网络和深度自动编码器的思想,定义和设计了用于处理图数据的神经网络结构,由此衍生出一个新的研究热点——“图神经网络(Graph Neural Networks,GNN)”本篇文章就从图的概述入手开始我们的GNN之路。
1.1 图的基本定义
图(G)定义为(V,E) ,记为G=(V,E) 。
其中: V是顶点(Vertex)的非空有限集合,记为V(G);E是无序集V&V的一个子集,记为E(G) 。
将顶点集合为空的图称为空图。其形式化定义为:
1.1.1 图的基本类型
- 有向图与无向图 (边是否有方向)
- 非加权图与加权图(边是否有权重)
- 连通图与非连通图(是否有孤立顶点)
- 二部图 (任意边均从属于其2个子图)
1.1.2 邻居和度
邻居:与顶点A相连接的顶点B和顶点C都是A的邻居
度:顶点A的边的数量(包括出度2与入度1)