TensorFlow添加图资料神经网络函数库TF-GNN

深度学习函数库TensorFlow现在添加图神经网络(Graph Neural Networks,GNN)函数库TF-GNN,让开发者可以更简单地处理图结构化资料。Google已经在垃圾邮件、异常侦测、流量评估和YouTube内容标记上,使用这个初始版本的图神经网络函数库。

Google在构建这个函数库的时候,考虑到自家的资料种类繁多,因此在设计上特别考量异构图,现在Google发布这个图,是希望与业界研究人员,在图神经网络上进一步合作。

TensorFlow加入GNN的原因,官方解释,这是因为无论是在现实世界或是工程系统中,图无所不在,包括一组对象、地点或是人,之间的关系都能够用图来描述。通常在机器学习问题里,资料都是结构化或是互相关联,因此也适合以图来描述。Google提到,GNN的研究基础已经有数十年历史,但直到最近,GNN才真正又被注意,并且应用在交通预测、假新闻侦测、疾病传播和物理模拟等现代应用上。

图以节点来表达实体,而边则代表着实体之间的关系,通过利用节点和边,甚至是整个图来描绘特性,进而存储信息,另外,图还可以通过边的方向性,来描述信息和交通流。而GNN可以用来回答针对图中特征的问题,在图的层次,GNN能够预测整个图的特征,Google提到,GNN可以来识别图里的特定形状,像是图中的圆圈可能代表着密切的社交关系。

GNN也能被用于解决节点层级的问题,像是对图的节点进行分类,或是以像是图像分割的样子,预测图中的分区,最后,GNN也能够被用在解决边层级的问题,像是探索实体间的连接,或是使用GNN来修剪边,以识别对象在场景中的状态。

新加入TensorFlow的这个新函数库TF-GNN,提供用户在TensorFlow实例GNN模型的构建模块,以及处理图资料的工具。TF-GNN函数库的初始版本具有许多实用的程序和功能,使得初学者和有经验用户都能够轻易地使用,TF-GNN提供了一个Keras样式的API,能够创建和其他类型模型组合的GNN模型。Google解释,GNN常见的使用场景,会与排序、深度检索,或是其他图像和文本模型混合使用。

TF-GNN也有用于异构图的GNN API,官方解释,在Google和现实世界中,许多图的问题都包含不同类型的节点和边,因此TF-GNN提供了一种方法,可以简单地在此情况建模。TF-GNN使用GraphTensor类型,这是一种保存图资料的格式,能够支持批处理。开发者现在已经可以在TF-GNN的GitHub存储库,取得函数库以及更多信息,甚至能够参与维护。