在现实世界和工程系统中,图形无处不在。图是实体集合的表示,例如对象、地点或人,以及它们之间的关系。在机器学习问题中看到的数据通常是结构化的或相关的,因此可以表示为图形。
图描绘了各种项目(节点或顶点)之间的连接(边)。每个节点、边或全图都可以被表征,并且信息可以存储在这些组件中的每一个中。例如,边缘还可以分配方向性以定义信息或交通流。
图神经网络 (GNN) 是一种神经网络,用于处理图数据结构中的数据。GNN 可用于回答有关各种图特征的查询。GNN 试图通过在图级别工作来预测完整图的属性。使用 GNN,可以检测网络中特定“形状”的存在,例如圆圈,这可以表示子分子或亲密的社交互动。与图像分类或分割类似,GNN 可用于节点级任务,以对网络中的节点进行分类并预测图中的分区和亲和力。最后,GNN 可用于在边缘级别检测实体之间的连接,例如,通过“修剪”边缘来确定场景中对象的状态。
现代 GNN 能力的进步导致了交通预测、谣言和假新闻识别、疾病传播建模、物理模拟以及了解分子为何有气味等多种学科的突破。
TensorFlow 发布了TensorFlow Graph Neural Networks (TF-GNNs),这是一个旨在简化图结构数据处理的库。TF-GNN 是一组用于开发 GNN 模型的 TensorFlow 构建组件。除了建模 API 之外,该库还包括用于处理图数据的大量功能,包括基于张量的图数据结构、数据处理管道和一些供用户快速学习的示例模型。
TF-GNN 库的初始版本包括适用于新手和高级用户的各种实用程序和功能,包括:
- 用于声明图拓扑的定义明确的格式,以及验证它的方法。该模式概述了训练数据的形状,并作为其他技术的参考。
- 用于将图形训练数据解析为模型可以从中提取各种特征的数据结构的库,以及盘上图形训练数据的编码。
- Keras 风格的高级 API,用于创建可轻松与其他类型模型结合的 GNN 模型。GNN 经常与排名、深度检索(双编码器)或混合模型(图像、文本等)结合使用。
近年来,图神经网络已经发展成为可以用图描述的每个问题的有效且有用的工具。有了 TensorFlow Graph 神经网络,全世界的程序员都可以非常方便地使用 Graphs。
Github:
https://github.com/tensorflow/gnn
参考:
https://blog.tensorflow.org/2021/11/introducing-tensorflow-gnn.html