用5分钟解释图神经网络
图神经网络(Graph Neural Networks,简称GNNs)是一个现代概念,可帮助分析图形,推断对象之间的关系,并从中预测有意义的数据。
人工智能和machine learning的流行进一步提高了企业和消费者对像GNNs这样的概念的需求。
它们对于多个行业和用户来说都是很有帮助的,可以执行图像和文本分类、自然语言处理、产品推荐、社交媒体分析等任务。
现在,问题是当涉及到图形时,使用标准方法(如CNNs)进行分析和表示可能会很具有挑战性。
这就是GNNs发挥作用的地方,它们可以解决几个图问题。
在本文中,我将讨论GNNs是什么,它们如何工作,它们在现实世界中的应用等等。
所以,请继续关注!
图形介绍
图形本质上是一种表示相关数据的方式。它有助于可视化对象、人物和概念之间的关系。图形还可以帮助训练复杂任务的machine learning (ML) models。图形的例子可以是社交媒体网络、对各种物理系统进行建模、分析指纹等。
在计算机科学领域,图形是一种数据结构,有两个组成部分:边缘和节点(或顶点)。边缘也被称为链接,确定不同节点之间的关系,而节点则是实体、对象、地点等。
数学上,一个图形可以用以下公式描述:
G = (V, E)
这里,G表示图形,V表示顶点集合,E表示边缘。
图形分为两种类型:
- 有向图:有向图表示两个节点之间的方向依赖关系。这种类型的图可以是单向的或双向的。
- 无向图:无向图没有方向依赖性,节点仅相互链接。
为什么图形分析具有挑战性?
图形分析可能具有很多挑战的原因:
- 图形存在于非欧几里得空间,这意味着数据处理的是曲面而不是二维或三维的平面。这使得解释图形及其数据变得困难。
- 一个图形可能有数十个、数百个甚至数百万个节点,并且每个节点的边缘数量可能不同。由于图形的规模和维度因素,解释图形的复杂性增加。
- 图形的大小是动态的,没有固定的形式。两个图形可能看起来不同,但可能具有相似的邻接矩阵表示。这样,使用传统工具分析图形可能效率低下且具有挑战性。
另一方面,图形可能随时间扩展或收缩。这也意味着如果您想通过矩阵表示图形数据,可能效率低下,并且可能会创建表示相同图形的稀疏指标。此外,它们不是置换不变的,因为它们可能不会产生相同的结果。
综合考虑所有这些问题,引入了GNNs以更有效地解决图形预测问题。
什么是图神经网络?
图神经网络(Graph Neural Network,简称GNN)是一种用于处理以图形表示的数据的人工神经网络(Artificial Neural Networks,简称ANNs)。
GNNs基于链接和图论的概念构建。这些网络利用深度学习(是机器学习和人工智能的子集)的预测智能来分析和处理数据。
GNN可以将输入数据作为一个带有嵌入节点、边缘和上下文的图形,并创建输出作为一个图形,其嵌入通过保持输入图形的对称性进行更新和转换。
将GNNs视为一个图形,其中数据是节点,数据之间的连接是边。您可以直接应用GNNs到图形中,并以更简单的方式执行边缘、节点或图形级别的预测任务。
GNNs可以更好地将图形结构和特征信息结合起来,通过特征聚合和传播来学习图形表示。
在现实世界中,GNNs被用于研究和解决多个领域的复杂问题。一些使用案例包括在大型网络中识别特定节点,对模式进行分类,可视化、过滤和分析图形,分析社交网络,价格预测等等。
GNNs最早是由意大利研究人员在2009年发表的一篇论文中首次引入的。阿姆斯特丹的两位研究人员还通过另一种变体称为图卷积网络(GCN)展示了GNNs的强大功能。
GNNs的类型
神经网络有很多类型,大多数类型中都有某种形式的CNN。GNNs的类型有:
#1. 递归图神经网络(RGNNs)
RGNNs研究扩散模式,并可以管理具有多个关系的节点的多关系图。这些网络使用正则化器增强平滑性并避免过度参数化。
它们使用有限的计算能力产生更好的结果。RGNNs被用于机器翻译、文本生成、speech recognition、视频标记、图像描述生成、文本摘要等等。
#1. 门控图神经网络(GGNNs)
在涉及长期依赖性的任务中,这些网络甚至比RGNNs更好。GGNNs通过添加时间门、边缘和节点来增强RGNNs上的长期依赖性。这些网络用于在各种状态下记住和遗忘信息。
#2. 图卷积网络(GCN)
GCNs类似于传统的CNNs。GCNs通过检查其相邻节点来学习对象或实体的特征。GNNs聚合各种节点向量并将结果传递给稠密层。接下来,网络使用激活函数进行非线性处理。GCNs进一步分为两种类型-空间和光谱Convolutional Networks。
#3. 图自编码器网络
这些神经网络通过编码器研究图表示,并尝试使用解码器重新构建输入图。此外,解码器和编码器通过瓶颈层连接在一起。图自编码器网络在链接预测方面表现出色,因为它们更好地处理类平衡器。
GNNs如何工作?
传统的深度学习主要关注文本和图像,这些是以像素网格或单词序列描述的结构化数据。
相反,图是非结构化的,可以采用任何大小或形状,并且可能包含除文本和图像以外的任何类型的数据。
GNNs可以通过消息传递来组织图形,使机器学习算法能够利用这些图形。消息传递将其邻居的信息嵌入到每个节点中。接下来,AI模型使用嵌入数据来检测模式并进行有意义的预测。
例如,在fraud detection系统中使用边缘嵌入来检测可疑交易,以便及时采取适当措施并停止欺诈活动。
GNNs利用稀疏数学运算,它们的模型通常只有2或3层。另一方面,其他网络和AI模型涉及到密集数学运算,并且在神经网络层方面有数百个。
GNN和CNN的区别
GNN和卷积神经网络(CNN)是两种不同的神经网络类型。
CNN是另一种用于帮助机器可视化对象或物体以及执行诸如图像识别、物体检测、图像分类等任务的神经网络类型。它们非常适用于常规的、平面的、2D和3D空间,但是GNN在曲线或非欧几里德空间中表现出色。
CNN被设计用于处理结构化信息或欧几里德空间。而GNN处理非欧几里德空间,其中节点无序且可变。
这意味着您可以将CNN应用于结构化信息,如文本或图像。但它不适用于无结构的数据,如天气、声音等。然而,GNN适用于无结构和结构化数据。它是CNN的广义形式。
此外,GNN帮助分析图形并预测有意义的信息,而CNN则不适用于分析图形。
这意味着GNN在解决图形问题方面比CNN更高效。
GNN的应用领域
应用GNN的组织和企业不断增加。它正在被多个行业和科学领域采用。以下是GNN的一些应用:
#1. 图分类
GNN用于图分类,将完整的图划分为多个类别。它类似于图像分类,只是目标转换为图领域。
图分类具有许多应用,例如在生物信息学中检查蛋白质是否属于酶,进行社交网络分析,对NLP中的文件进行分类等。
#2. 图可视化
图可视化是计算机科学和数学的一部分,涉及信息可视化和几何图论的交叉。它处理以可视方式表示图形,揭示数据中的异常和结构。通过图可视化,用户可以更好地理解图形。
#3. 图聚类
GNN用于图聚类,这是一个将数据聚类为图形的过程。您可以对给定的图形数据执行两种类型的聚类-顶点聚类和对象聚类。顶点聚类将图的节点组织或聚类成不同的密集连接的区域。
它们基于边距离或权重。后者将图形作为要聚类的对象或条目。它根据它们的相似性分组或聚类对象。
#4. 节点分类
GNN的一个重要应用是节点分类,通过检查节点的邻居节点的标签来确定节点的标签。在存在信息缺口的节点上添加新信息。
这种类型的任务中的模型需要半监督训练。在这里,给定图的一部分必须标记。
例如,如果您想确定组织网络中是否创建了机器人账户,您必须基于已知和未知机器人的图嵌入训练GNN模型,并对用户进行分类,判断其是否为正常用户或机器人。
#5. 链接或边预测
GNN(图神经网络)对于连接或边缘预测非常有帮助,可以找出给定图中各种对象或实体之间的关系。这也用于预测两个给定实体之间是否存在连接。
例如,在社交网络中可以使用链接预测来理解社交互动,并向用户推荐可能的朋友。它还用于执法机构预测和理解犯罪关系以及推荐系统推荐最佳产品、电影、音乐等。
#6。 计算机视觉
GNNs在计算机视觉中应用于解决涉及人物对象交互、图像分类、场景图生成等各种问题。
例如,在场景图生成中可以使用GNNs,模型必须将给定图像解析为由对象和它们之间的语义关系组成的图。该过程可以识别和检测对象,并预测各种对象对之间的语义关系。
#7。 文本分类
图可以表示一组单词,其中单词是节点,这些单词之间的连接是边。您可以在图或节点级别上执行文本分类。
使用GNNs进行文本分类有许多现实世界的用例,例如产品推荐、新分类以及根据某些症状检测疾病。
#8。 分类和分段化点云
激光雷达(LiDAR)可以绘制各种三维点云的真实世界数据以完成三维分割过程。您可以使用GNNs表示点云,并轻松地对其进行分类和分段。
#9。 表示人与对象的互动
图是表示链接和对象之间相互作用的一种很好的方式。因此,您可以将对象和人建模为节点,而它们之间的关系和互动作为边。
#10。 自然语言处理(NLP)
在NLP中,文本被视为由LSTM(长短期记忆)或RNN(循环神经网络)描述的顺序数据。许多NLP任务广泛使用图,因为它们易于表示并具有自然和原始的特点。
GNNs用于解决许多NLP问题,例如在机器翻译中查找语义、文本分类、关系抽取、回答问题等。
#11。 药物发现
发现治疗疾病的药物或疗法不仅是化学领域的挑战,也是社会的挑战。这个领域需要深入研究和数十亿美元的投入,以制定一种可以治愈疾病的药物。
具有人工智能的GNNs可以帮助缩短研究和筛选过程,以便更安全和更有效的药物可以更快地面向公众发布。
#12。 表示分子相互作用
GNNs在粒子物理学中非常有帮助,涉及粒子间相互作用的规律。在这里可以使用图来理解粒子之间的关系和相互作用。GNNs可以帮助预测碰撞动力学的性质。
目前,大型强子对撞机(LHC)使用GNNs从各种实验中生成的图像中识别有趣的粒子。
#13. 交通预测
智能交通设备或系统涉及交通速度预测和道路密度作为主要特征。这些预测任务可以借助STGNNs或时空图神经网络完成。
在这里,交通网络将被视为一个时空图,其节点是位于道路上的传感器,边是节点对之间的距离。还要考虑每个节点都有一个平均交通速度作为输入。
#14. 其他应用
除上述应用外,GNNs还用于电子健康记录建模、对抗攻击预防、脑网络、社会影响预测、程序推理、程序验证、选举结果预测等等。
学习资源
以下是学习GNNs的一些最佳书籍。
#1. Graph Neural Networks 作者:Lingfei Wu等
这本书是关于GNNs的全面指南,讨论了图表示学习的目标。
预览 | 产品 | 评分 | 价格 | |
---|---|---|---|---|
|
Graph Neural Networks: Foundations, Frontiers, and Applications | 尚无评分 | $74.92 | Buy on Amazon |
它还阐明了GNNs的当前发展、历史和未来,以及一些基本理论和方法。
#2. Graph Neural networks in Action
预览 | 产品 | 评分 | 价格 | |
---|---|---|---|---|
|
Graph Neural Networks in Action | 尚无评分 | $59.99 | Buy on Amazon |
这是一个关于基于图的深度学习模型以及如何构建用于分子建模、推荐引擎等的先进GNNs的实践指南。
#3. Zhiyuan Liu的图神经网络简介
预览 | 产品 | 评分 | 价格 | |
---|---|---|---|---|
|
Introduction to Graph Neural Networks (Synthesis Lectures on Artificial Intelligence and Machine… | 目前无评分 | $59.99 | Buy on Amazon |
学习GNN的基本概念,应用和模型。
#4. Younes Sadat-Nejad的图神经网络
这是Udemy上的一门GNN入门课程。它将帮助您学习图表示学习和GNN。
结论
随着人工智能的日益普及和图形数据的日益复杂和丰富,图神经网络(GNN)变得越来越有用。它们是进行预测的强大工具,并被应用于多个领域,从网络和计算机视觉到化学,物理和医疗保健。
您还可以探索机器学习中的regression vs. classification。