写点什么

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

  • 2021 年 11 月 23 日
  • 本文字数:1411 字

    阅读完需:约 5 分钟

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

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

TensorFlow GNN 基本信息


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

 

  1. 建模 API;

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

  3. 数据处理管道;

  4. 实例模型。

 

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



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

 

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

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

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

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

  • GraphTensor 结构上的操作库:

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

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

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

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

图数据逐渐成为主流

 

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



而图神经网络,就是对图的所有属性(节点、边、全局上下文)进行的可优化转换,同时保留对称性。一般认为 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

2021 年 11 月 23 日 20:452417

评论

发布
暂无评论
发现更多内容

产品与服务

JiangX

创业 产品 投资 服务 28天写作

构师训练营 - 第十二周学习总结

joshuamai

生命唯愿,爱与自由

废材姑娘

个人感悟

依赖倒置与接口隔离原则

玄月

Prometheus官方文档【查询篇-运算符】

卓丁

Prometheus Monitor 监控告警 普罗米修斯 PromQL

架构师第 8 课作业及学习总结

小诗

「架构师训练营第 1 期」

重学JS | this的指向问题

梁龙先森

前端 编程语言 28天写作

数据应用总结(一)

Mars

【HTML】全局属性:accesskey

学习委员

html html5 前端 快捷键 28天写作

数字人民币为何频频入榜金融机构“工作单”

Geek_987812

数字人民币

Python 100 天从新手到大师

GitHub指北

构师训练营 - 第十二周课后练习

joshuamai

架构师第 10 课作业及学习总结

小诗

架构师训练营第二期 Week 12 总结

bigxiang

架构师训练营第2期

第七周命题作业

cc

第七周学习心得

cc

JVM垃圾回收机制

andy

大作业:知识点图谱

paul

架构师第 7 课作业及学习总结

小诗

「架构师训练营第 1 期」

电动车基本知识(28天写作 Day3/28)

mtfelix

自动驾驶 28天写作 电动汽车

架构作业一

薛凯

架构作业(二)

薛凯

MapReduce函数分析

Mars

福田区实现数字人民币六个100%,农行推出ATM机存取现功能

Geek_987812

数字红包

架构师训练营第二期 Week 12 作业

bigxiang

架构师训练营第2期

第二周作业

MR.X

人人都在谈的数字化转型,区块链技术能扮演何种角色?

Geek_987812

区块链

Windows安装Mysql

千泷

大作业二

「架构师训练营第 1 期」

大数据计算引擎Spark

积极&丧

架构师第 9 课作业及学习总结

小诗

「架构师训练营第 1 期」

基于英特尔x86平台构建AI软件生态系统

基于英特尔x86平台构建AI软件生态系统

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