Google刚刚推出了图神经网络Tensorflow-GNN

  每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/

在当今数字化的世界里,对象及其之间的复杂关系构成了无数的网络,例如交通网络、生产网络、知识图谱和社交网络。这些关系网的重要性在于,它们不仅仅展示了对象的属性,更重要的是展示了对象之间的相互作用。离散数学和计算机科学通过将这些网络形式化为由节点和边组成的图,有助于我们理解和分析这些复杂的结构。然而,传统的机器学习算法往往只能处理规则和统一的关系,例如像素网格、词序列,或者完全没有关系。这就是图神经网络(GNN)技术崭露头角的原因所在。

GNN技术能够有效地利用图的连通性和节点及边上的输入特征,为整个图(例如预测分子反应)、单个节点(例如预测文档的主题)或潜在的边(例如预测两个产品是否可能一起被购买)做出预测。更进一步,GNN还能将图的离散、关系信息以连续的方式编码,使之可以自然地融入到其他深度学习系统中,架起了传统神经网络与新兴需求之间的桥梁。

TensorFlow GNN 1.0(TF-GNN)的发布,标志着在大规模构建GNN方面迈出了重要一步。作为一个经过生产测试的库,TF-GNN支持在TensorFlow中进行建模和训练,以及从庞大的数据存储中提取输入图。TF-GNN特别适用于处理异构图,即那些由不同类型的对象和关系组成的图,这使得它能够自然地表示现实世界中的对象及其关系。

TF-GNN内部使用tfgnn.GraphTensor对象来表示图,这是一个复合张量类型,被接受为tf.data.Dataset、tf.function等的一等公民。它不仅存储了图的结构,还存储了附加到节点、边和整个图上的特征。在Keras高级API中,或者直接使用tfgnn.GraphTensor原语,可以定义对GraphTensors的可训练转换。

TF-GNN的一个典型应用是预测巨大数据库中交叉引用表定义的图中某种类型节点的属性,例如预测计算机科学arXiv论文的主题领域。GNN在许多标记示例的数据集上进行训练,但每个训练步骤只涉及少量的训练示例。通过在底层图的相对较小的子图流上进行训练,GNN能够扩展到处理百万级别的数据。这个过程,通常称为子图采样,对GNN训练至关重要。TF-GNN通过提供工具来实现动态和交互式的改进采样方法,从而优化了这一过程。

此外,TF-GNN 1.0还推出了一个灵活的Python API,配置动态或批处理子图采样的所有相关规模,从Colab笔记本中的交互式操作到通过Apache Beam分布式处理存储在网络文件系统上的巨大数据集。这些采样的子图上的GNN任务是计算根节点的隐藏(或潜在)状态,该状态汇总并编码了根节点邻域的相关信息。在异构图中,对不同类型的节点和边使用分别训练的隐藏层往往是有意义的。

TF-GNN支持在各种抽象级别构建和训练GNN,从使用库中预定义模型的最高级别,到用图数据传递原语从头开始编写GNN模型的最低级别。TF-GNN还提供了一个简洁的方法来协调Keras模型的训练,在通常的情况下,提供了ML痛点(如分布式训练和tfgnn.GraphTensor填充)的现成解决方案。

总之,TF-GNN的发布为TensorFlow中GNN的应用提供了强大的支持,促进了该领域的进一步创新。开发者们被鼓励尝试TF-GNN的Colab演示,探索用户指南和Colabs,或深入了解相关论文,以充分利用这一新兴技术。

去试试: https://colab.research.google.com/github/tensorflow/gnn/blob/master/examples/notebooks/ogbn_mag_e2e.ipynb

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/385346.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

单片机学习笔记---AT24C02数据存储

目录 AT24C02数据存储 准备工作 代码讲解 I2C.c 模拟起始位置的时序 模拟发送一个字节的时序 模拟接收应答的时序 模拟接收一个字节的时序 模拟发送应答的时序 模拟结束位置的时序 I2C.h AT24C02.c 字节写:在WORD ADDRESS(字地址&#xff…

假期作业 10

1.整理磁盘操作的完整流程,如何接入虚拟机,是否成功识别,对磁盘分区工具的使用,格式化,挂载以及取消挂载 U盘接入虚拟机 在虚拟机--->可移动设备--->找到U盘---->连接 检测U盘是否被虚拟机识别 ls /dev/s…

活字格V9 嵌入的html与活字格页面数据交互

不想看分析请直接跳到解决方案 项目场景: 活字格V9 嵌入的html与活字格页面的数据交互(传值),嵌入的html用了WebSocket来控制硬件,获取的数据无法回传到活字格页面上,且嵌入的html无法使用活字格内置的js及…

【C++计算几何】点是否在线段上

题目描述 输入一个点Q和一条线段P1P2的坐标,判断这个点是否在该线段上。 输入 一行,共六个浮点数,依次表示Q,P1和P2的坐标。 输出 一行,一个字符数,“YES”或“NO”分别表示改点在或者不在线段上。 样…

WinCC、LabVIEW、InTouch组态软件比较,看后秒懂,超简洁。

WinCC、LabVIEW和InTouch是三种常见的组态软件,用于工业自动化和人机界面开发。以下是它们之间的比较和区别: 功能和应用领域: WinCC:WinCC是西门子公司的组态软件,主要用于监控和控制工业过程。它提供了丰富的功能&a…

线性代数的本质 1 向量

向量是线性代数中最为基础的概念。 何为向量? 从物理上看, 向量就是既有大小又有方向的量,只要这两者一定,就可以在空间中随便移动。 从计算机应用的角度看,向量和列表很接近,可以用来描述某对象的几个不同…

Linux运用fork函数创建进程

fork函数: 函数原型: pid_t fork(void); 父进程调用fork函数创建一个子进程,子进程的用户区父进程的用户区完全一样,但是内核区不完全一样;如父进程的PID和子进程的PID不一样。 返回值: RETURN VALUEO…

无人机概述及系统组成,无人机系统的构成

无人机的定义 无人驾驶航空器,是一架由遥控站管理(包括远程操纵或自主飞行)的航空器,也称遥控驾驶航空器,以下简称无人机。 无人机系统的定义 无人机系统,也称无人驾驶航空器系统,是指一架无人…

计网day2

三 物理层 3.1 物理层基本概念 物理接口特性: 物理层解决如何连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体 3.2 编码&调制 3.3 数据交换方式 电路交换: 报文交换: 分组交换&#x…

day13笔记

static 在堆中静态区,可以用类调用.该类所有对象共有. 工具类 私有构造方法. 方法用static修饰方便调用(可以用类名直接调用). static特点(三条) 继承 方法的重写 在子类里面把父类方法再重写一遍 为什么需要重写呢? 因为父类提供的方法不能满足子类的需求

Java 三大并大特性-可见性介绍(结合代码、分析源码)

目录 ​编辑 一、可见性概念 1.1 概念 二、可见性问题由来 2.1 由来分析 三、可见性代码例子 3.1 代码 3.2 执行结果 四、Java 中保证可见性的手段 4.1 volatile 4.1.1 优化代码 4.1.2 测试结果 4.1.3 volatile原理分析 4.1.3.1 查看字节码 4.1.3.2 hotspot 层面…

【数据结构】二叉树的顺序结构及实现(堆)

目录 1.二叉树的顺序结构 2.堆的概念及结构 3.堆的实现 3.1堆向下调整算法 3.2堆的创建 3.3建堆的时间复杂度 3.4堆的插入 3.5堆的删除 3.6堆的代码实现 3.7堆的应用 3.71堆排序 3.72 TOP-K问题 1.二叉树的顺序结构 普通的二叉树是不适合用数组来存储的,因…

【linux系统体验】-ubuntu简易折腾

ubuntu 一、终端美化二、桌面美化2.1 插件安装2.2 主题和图标2.3 美化配置 三、常用命令 以后看不看不重要,咱就是想记点儿东西。一、终端美化 安装oh my posh,参考链接:Linux 终端美化 1、安装字体 oh my posh美化工具可以使用合适的字体&a…

AI论文速读 | 2024【综述】图神经网络在智能交通系统中的应用

论文标题:A Survey on Graph Neural Networks in Intelligent Transportation Systems 链接:https://arxiv.org/abs/2401.00713 作者:Hourun Li, Yusheng Zhao, Zhengyang Mao, Yifang Qin, Zhiping Xiao, Jiaqi Feng, Yiyang Gu, Wei Ju, …

java SSM新闻管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM新闻管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S…

lime-echart 一个基于 JavaScript 的开源可视化图表库 使echarts图表能跑在uniapp各端中的插件

Lime-echart 是一个基于 JavaScript 的开源可视化图表库,旨在使 ECharts 图表能够在 UniApp 各个端中运行。UniApp 是一个跨平台的应用程序开发框架,允许开发人员使用 Vue.js 开发一次,然后部署到多个平台,包括 iOS、Android、Web…

sklearn中一些简单机器学习算法的使用

目录 前言 KNN算法 决策树算法 朴素贝叶斯算法 岭回归算法 线性优化算法 前言 本篇文章会介绍一些sklearn库中简单的机器学习算法如何使用,一些注释已经写在代码中,帮助一些小伙伴入门sklearn库的使用。 注意:本篇文章只涉及到如何使用…

【十七】【C++】stack的简单实现、queue的常见用法以及用queue实现stack

stack的简单实现 #include <deque> #include <iostream> using namespace std; namespace Mystack {template<class T, class Container std::deque<T>>class stack {public:stack(): _c(){}void push(const T& data) {_c.push_back(data);}void …

快速的搭建一个临时的 Linux 系统instantbox

centos 安装 docker-CSDN博客 首先要有docker && docker-compose mkdir instantbox && cd $_ bash <(curl -sSL https://raw.githubusercontent.com/instantbox/instantbox/master/init.sh) docker-compose up -d instantbox: instantbox 可以让你快速的搭…

[CUDA 学习笔记] Reduce 算子优化

Reduce 算子优化 注: 本文主要是对文章 【BBuf的CUDA笔记】三&#xff0c;reduce优化入门学习笔记 - 知乎 的学习整理 Reduce 又称之为归约, 即根据数组中的每个元素得到一个输出值, 常见的包括求和(sum)、取最大值(max)、取最小值(min)等. 前言 本文同样按照英伟达官方 PP…