Press "Enter" to skip to content

TensorFlow 这下更牛了,现已支持图神经网络

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

 

作者 | 王一鹏

 

18 日,TensorFlow 项目组发布了图神经网络(GNN)库,使开发者可以通过 TensorFlow 轻松处理图结构化数据。从 2019 年开始,图神经网络就被视作 AI 领域的核心研究方向,但从 2019 – 2021,该领域的主要动态集中在论文层面,在 TensorFlow GNN 发布前,工业环境还未出现大规模支持。此外,一直有许多开发者研究基于 TensorFlow 的 GNN 实现,这次发布也相当于正式给出官方答案。

 

1 TensorFlow GNN 基本信息

 

TensorFlow GNN 主要提供了几类主要服务:

 

 

建模 API;

 

基于张量的图形数据结构;

 

数据处理管道;

 

实例模型。

 

 

其工作流程及组件示意如下:

 

 

TF-GNN 项目组在官方博客上详细列举了初始版本的程序和功能,包括:

 

用于创建可轻松与其他类型模型组合的 GNN 模型的高级 Keras 样式 API。GNN 通常与排序、深度检索(双编码器)结合使用或与其他类型的模型(图像、文本等)混合使用。

 

用于异构图的 GNN API。我们在 Google 和现实世界中处理的许多图问题都包含不同类型的节点和边。因此,我们选择提供一种简单的方法来对此进行建模。

 

一个定义良好的模式来声明一个图的拓扑结构,以及验证它的工具。该模式描述了其训练数据的形状,并用于指导其他工具。

 

一种 GraphTensor 复合张量类型,它保存图形数据,可以批处理,并具有可用的图形操作例程。

 

GraphTensor 结构上的操作库:

 

节点和边上的各种高效广播和池化操作,以及相关工具。

 

标准烘焙卷积库,机器学习工程师 / 研究人员可以轻松扩展。

 

产品工程师可以快速构建 GNN 模型而不必担心其细节的高级 API。

 

磁盘上图形训练数据的编码,以及用于将此数据解析为数据结构的库,您的模型可以从中提取各种特征。

 

2 图数据逐渐成为主流

 

图包含四大类基本信息:节点、边、全局信息(节点数等)、连通性(两个节点间是否是连通的)。要把图的信息以矩阵的形式输入机器学习模型是非常复杂的,具体可以通过下图体验下:

 

 

而图神经网络,就是对图的所有属性(节点、边、全局上下文)进行的可优化转换,同时保留对称性。 一般认为 GNN 可以分为图卷积网络(Graph Convolution Networks,GCN)、 图注意力网络(Graph Attention Networks)、图自编码器( Graph Autoencoders)、图生成网络( Graph Generative Networks) 和图时空网络(Graph Spatial-temporal Networks)等几大类。

 

不仅是 GNN,“Graph(图)”这个词,本身在 IT 圈的出现频率也越来越高。比如图数据库,使用图形化的模型进行查询的数据库,通过节点、边和属性等方式来表示和存储数据,支持增删改查(CRUD)等操作。图数据库的相关产品有 Nebula Graph、Neo4j、Janus、HugeGraph 等,不但社区内关注度很高,资本的投入也越来越大。

 

以开源的 Nebula Graph 为例,在腾讯、微信、美团都有大规模的应用。在腾讯,图数据库被用于安全、知识图谱等业务场景;在微信,则被用于解决大数据集存储、秒级回滚等问题。

 

图数据在交通预测、舆情勘测、疾病传播建模、物理模拟等领域都有比较广泛的应用。举个例子,今年 8 月 8 日,康奈尔大学的专家发表了一篇论文,用循环图神经网络实现对在线论坛的谣言预测,GitHub 代码:

 

https://github.com/google-research/social_cascades

 

当我们要表达真实世界对象与对象间的数据关系时,图数据更加自然。在接下来的几年,与图数据有关的处理和存储软件,可能也会越来越多。

 

参考链接:

 

https://blog.tensorflow.org/2021/11/introducing-tensorflow-gnn.html

 

https://distill.pub/2021/gnn-intro/

 

https://arxiv.org/abs/2108.03548

 

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注