您的位置:首页 > 互联网

谷歌官宣TensorFlow-GNN 1.0发布!动态和交互采样,大规模构建图神经网络_谷歌的神经网络

发布时间:2024-02-07 23:19:20  来源:互联网     背景:


新智元报道

编辑:桃子

【新智元导读】图神经网络诞生以来得到广泛的应用,能将世界不同对象之间的关系表示出来。今天,谷歌团队官宣发布TensorFlow-GNN 1.0,一个用于大规模构建GNN的经过生产测试的库。

2005年,划时代之作The Graph Neural Network Model的问世,将图神经网络带到每个人面前。

在此之前,科学家处理图数据的方式是,在数据预处理阶段,将图转换为一组向量表示。

而CNN的出现彻底改变这种信息丢失的弊端,近20年来,一代又一代模型不断演变,推动ML领域进步。

今天,谷歌正式官宣发布TensorFlow GNN 1.0(TF-GNN)——用于大规模构建GNN的经过生产测试的库。


它既支持在TensorFlow中的建模和训练,也支持从大型数据存储中提取输入图。

TF-GNN是专为异构图从头开始构建的,其中对象和关系的类型由不同的节点和边集合来表示。

现实世界中的对象及其关系以不同的类型出现,而TF-GNN的异构焦点,使得表示它们变得非常自然。

谷歌科学家Anton Tsitsulin表示,复杂的异构建模又回来了!

TF-GNN 1.0首面世

对象及其相互之间的关系,在我们的世界中无处不在。

而关系对于理解一个对象的重要性,不亚于孤立地看待对象本身的属性,比如交通网络、生产网络、知识图谱或社交网络。

离散数学和计算机科学长期以来一直将这类网络形式化为图,由节点以各种不规则方式通过边任意连接而成。

然而,大多数机器学习算法只允许输入对象之间存在规则统一的关系,如像素网格、单词序列,或完全没有关系。

苹果最新系统ios16会弹窗提示

图形神经网络,简称GNN,是一种强大的技术,既能利用图的连通性(如早期算法DeepWalk和Node2Vec),又能利用不同节点和边输入特征。


GNN可以对图的整体(这种分子是否以某种方式做出反应?)、单个节点(根据引用,这份文档的主题是什么?)、潜在的边(这种产品是否可能与另一种产品一起购买?)进行预测。

gcn tensorflow

除了对图形进行预测之外,GNN还是一个强大的工具——用于弥合与更典型的神经网络用例之间的鸿沟。

它们以连续的方式对图的离散关系信息进行编码,从而可以将其自然地纳入另一个深度学习系统。

谷歌在今天正式宣布用于大规模构建GNN的经过生产测试的库——TensorFlow GNN 1.0(TF-GNN)。

在TensorFlow中,这样的图形由 tfgnn.GraphTensor 类型的对象表示。

这是一个复合张量类型(一个Python类中的张量集合),在 tf.data.Dataset 、 tf.function 等中被接受为头等对象。

它既能存储图结构,也能存储节点、边和整个图的特征。

GraphTensors的可训练变换可以定义为高级Kera API中的Layers对象,或直接使用 tfgnn.GraphTensor 原语。

GNN:对上下文中的对象进行预测

接下来,进一步解释下TF-GNN,可以看下其中一个典型的应用:

预测一个庞大数据库中,由交叉引用表定义的图中某类节点的属性

举个例子,计算机科学(CS)的引文数据库arxiv论文中,有一对多的引用和多对一的引用关系,可以预测每篇论文的所在的主题领域。

与大多数神经网络一样,GNN也是在许多标记样本(约数百万个)的数据集上进行训练的,但每个训练步骤只包含一批小得多的训练样本(比如数百个)。

为了扩展到数百万个样本,GNN会在底层图中合理小的子图流上进行训练。每个子图包含足够多的原始数据,用于计算中心标记节点的GNN结果并训练模型。

这一过程,通常被称为子图采样,对于GNN训练是极其重要的。

现有的大多数工具都是以批方式完成采样,生成用于训练的静态子图。

而TF-GNN提供了,通过动态和交互采样来改进这一点的工具。

gcn tensorflow


子图抽样过程,即从一个较大的图中抽取小的、可操作的子图,为GNN训练创建输入示例

TF-GNN 1.0推出了灵活的Python API,用于配置所有相关比例的动态或批处理子图采样:在Colab笔记中交互采样。

具体来说,对存储在单个训练主机主内存中的小型数据集进行高效采样,或通过Apache Beam对存储在网络文件系统中的庞大数据集(多达数亿节点和数十亿条边)进行分布式采样。

在这些相同的采样子图上,GNN的任务是,计算根节点的隐藏(或潜在)状态;隐藏状态聚集和编码根节点邻域的相关信息。

一种常见的方法是消息传递神经网络。

在每一轮消息传递中,节点沿着传入边接收来自邻节点的消息,并从这些边更新自己的隐藏状态。

在n轮之后,根节点的隐藏状态反映了,n条边内所有节点的聚合信息(如下图所示,n=2)。消息和新的隐藏状态由神经网络的隐层计算。

在异构图中,对不同类型的节点和边使用单独训练的隐藏层通常是有意义的。


图为一个简单的消息传递神经网,在该网络中,每一步节点状态都会从外部节点传播到内部节点,并在内部节点汇集计算出新的节点状态。一旦到达根节点,就可以进行最终预测

训练设置是,通过将输出层放置在已标记节点的GNN的隐藏状态之上、计算损失(以测量预测误差)并通过反向传播更新模型权重来完成的,这在任何神经网络训练中都是常见的。

除了监督训练之外,GNN也可以以无监督的方式训练,可以让我们计算节点及其特征的离散图结构的连续表示(或嵌入)。

然后,这些表示通常在其他ML系统中使用。

通过这种方式,由图编码的离散关系信息,就能被纳入更典型的神经网络用例中。TF-GNN支持对异构图的无监督目标进行细粒度规范。

构建GNN架构

TF-GNN库支持构建和训练,不同抽象层次的GNN。

在最高层,用户可以使用与库绑定在一起的任何预定义模型,这些模型以Kera层表示。

除了研究文献中的一小部分模型外,TF-GNN还附带了一个高度可配置的模型模板,该模板提供了经过精心挑选的建模选择。

谷歌发现这些选择,为我们的许多内部问题提供了强有力的基线。模板实现GNN层;用户只需从Kera层开始初始化。


import tensorflow_gnn as tfgnnfrom tensorflow_gnn.models import mt_albis
def model_fn(graph_tensor_spec: tfgnn.GraphTensorSpec):"""Builds a GNN as a Keras model."""graph = inputs = tf.keras.Input(type_spec=graph_tensor_spec)
# Encode input features (callback omitted for brevity).graph = tfgnn.keras.layers.MapFeatures(node_sets_fn=set_initial_node_states)(graph)
# For each round of message passing...for _ in range(2):# ... create and apply a Keras layer.graph = mt_albis.MtAlbisGraphUpdate(units=128, message_dim=64,attention_type="none", simple_conv_reduce_type="mean",normalization_type="layer", next_state_type="residual",state_dropout_rate=0.2, l2_regularization=1e-5,)(graph)
return tf.keras.Model(inputs, graph)

在最低层,用户可以根据用于在图中传递数据的原语,从头开始编写GNN模型,比如将数据从节点广播到其所有传出边,或将数据从其所有传入边汇集到节点中。

ipad pro 2021是oled屏幕吗

当涉及到特征或隐藏状态时,TF-GNN 的图数据模型对节点、边和整个输入图一视同仁。

因此,它不仅可以直接表示像MPNN那样以节点为中心的模型,而且还可以表示更一般形式的的图网络。

这可以(但不一定)使用Kera作为核心TensorFlow顶部的建模框架来完成。

训练编排

虽然高级用户可以自由地进行定制模型训练,但TF-GNN Runner还提供了一种简洁的方法,在常见情况下协调Kera模型的训练。

一个简单的调用可能如下所示:


from tensorflow_gnn import runner
runner.run(task=runner.RootNodeBinaryClassification("papers", ...),model_fn=model_fn,trainer=runner.KerasTrainer(tf.distribute.MirroredStrategy(), model_dir="/tmp/model"),optimizer_fn=tf.keras.optimizers.Adam,epochs=10,global_batch_size=128,train_ds_provider=runner.TFRecordDatasetProvider("/tmp/train*"),valid_ds_provider=runner.TFRecordDatasetProvider("/tmp/validation*"),gtspec=...,

Runner为ML Pain提供了现成的解决方案,如分布式训练和云TPU上固定形状的 tfgnn.GraphTensor 填充。

除了单一任务的训练(如上所示)外,它还支持多个(两个或更多)任务的联合训练。

例如,非监督任务可以与监督任务混合,以形成具有特定于应用的归纳偏差的最终连续表示(或嵌入)。调用方只需将任务参数替换为任务映射:


from tensorflow_gnn import runnerfrom tensorflow_gnn.models import contrastive_losses
runner.run(task={"classification": runner.RootNodeBinaryClassification("papers", ...),"dgi": contrastive_losses.DeepGraphInfomaxTask("papers"),},

此外,TF-GNN Runner还包括用于模型归因的集成梯度实现。

集成梯度输出是一个GraphTensor,其连接性与观察到的GraphTensor相同,但其特征用梯度值代替,在GNN预测中,较大的梯度值比较小的梯度值贡献更多。

总之,谷歌希望TF-GNN将有助于推动GNN在TensorFlow中的大规模应用,并推动该领域的进一步创新。

参考资料:

https://blog.tensorflow.org/2024/02/graph-neural-networks-in-tensorflow.html?linkId=9418266

https://blog.research.google/2024/02/graph-neural-networks-in-tensorflow.html


返回网站首页

本文评论
对话椰树爆款直播操盘手:没有KPI、不投流,坚持“原汁原味”的审美
声明:本文来自于微信公众号卡思数据(ID:caasdata6),作者:松露,授权转载发布。椰树,一直在“擦边”,从未被超越。到如今,“质疑椰树、理解椰树、成为椰树”的段子在品牌之间口口相传...
日期:12-01
特朗普死了假消息登上推特热搜  1小时内点赞超2万_特朗普发了多少推特
11月2日 消息:周二,Twitter上出现了一条"特朗普已死 "的假消息,并且登上了热搜榜。这条假消息是由一名推特认证的演员发布的,明显是在考验推特新老板埃隆·马斯克(Elon Musk)的内...
日期:11-09
航天器撞击小行星产生200万磅碎石“尾巴”,绵延数千英里_小型彗星撞地球
美国宇航局的最新数据显示,9月26日的“双小行星重定向测试”(DART)撞击迪莫弗斯(Dimorphos)时,超过200万磅的尘埃状岩石飞入太空,形成了一条发光的“尾巴”,在迪莫弗斯身后绵延数千...
日期:12-19
还能砸核桃吗?诺基亚新105 4G手机发布:电池容量增加42%、新增蓝牙5.0
近日,诺基亚再度推出了一款新款的105 4G手机,售价为229元。据悉,这款手机采用了经典直板设计,主要面向长辈群体、备用机买家和学生群体等用户,但与旧款相比,在电池容量、存储扩展...
日期:04-26
互动突破40w人次!品牌如何抓住新年首波亿级流量
声明:本文来自于微信公众号 飞瓜数据(ID:feiguashujudy),作者:Dorny授权转载发布。温馨热闹的新春佳节,除了阖家团圆、购置年货,如今参与各个平台互动游戏,也已是过年必备活动之一...
日期:02-01
透视阿里Q1财报:半年“砍掉”万余名员工,关键战略业务亏损收窄|财星球
  ;杨雪梅   8月4日晚间,阿里巴巴发布了发布了截至2022年6月30日的2023财年第一季度财报(注:阿里巴巴财年与自然年不同步,从每年的4月1日开始,至第二年的3月31日结束)。   ...
日期:08-06
英伟达RTX 3060 Ti 8GB GDDR6X公版显卡曝光 标价369英镑「3070ti是gddr6x吗」
VideoCardz 报道称,英国零售商 Scan 已在网站上列出了一款独特的英伟达 GeForce RTX 3060 Ti 显卡,可知其搭配了 8GB @ GDDR6X 显存、并以 369 英镑(约 2615 RMB)的价格出售。早...
日期:10-14
oppo游戏官网中心_OPPO游戏中心全新升级,携手合作伙伴亮相ChinaJoy
  7月30日,第十九届ChinaJoy在上海新国际博览中心正式拉开序幕,OPPO游戏中心携手游戏合作伙伴亮相OPPO展馆游戏中心展区。在这里,玩家可以体验16款手游试玩,其中包括《斗罗大...
日期:01-23
谷歌推出ASPIRE框架 让大模型具备自我判断意识_谷歌框架框架
2月7日 消息:谷歌最近推出了一项名为ASPIRE的自适应评估框架,旨在帮助大型语言模型在面对置信度较低的样本时做出正确的判断。这个框架的核心技术思路是基于自我评估的选择性...
日期:02-07
2021全球人工智能技术博览会开幕,百度AI“为你写诗”等NLP技术吸睛(2021中国人工智能峰会)
  人工智能浪潮之下,人们的生产、生活方式都发生了哪些变化?6月5日,正值中国人工智能学会成立40周年之际,全球的目光聚焦杭州,2021全球人工智能技术大会正式召开,同期的人工智...
日期:03-15
“智慧高校”驻足量变阶段,监控易智慧运维给出最优解
  双屏教学软件、交互一体机、互联黑板、上课扫码签到、可视化门禁、电子书包.....这些智能设备与软件正逐步走进校园,让“智慧校园”看起来很美好。  可是当前情况却有...
日期:07-18
全国网友日均刷短视频超2.5小时 网络直播用户规模超7.5亿「我国网络短视频用户规模达873亿」
声明:本文来自于微信公众号 直播观察(ID:zhibogc),作者:直播观察,授权转载发布。大家每天花多少时间在刷短视频?有多少商品是从直播间下单?2021亚信峰会近年来,直播短视频已从内...
日期:03-31
荣耀50倍变焦是哪款机?「5系列入网_支持最高100倍变焦 春节后发布-荣耀Magic」
随着新一年的到来,荣耀旗下首款第二代骁龙8旗舰新机——全新的荣耀Magic 5系列也即将与大家见面,有消息称该机将于2月27日亮相。随着发布时间的日益临近,截至目前已经有不少关...
日期:09-21
淄博烧烤营业时间「淄博烧烤店停业三天 老板:保命要紧 店员都累趴了」
一家山东烧烤店因员工超负荷工作暂停营业三天。视频显示,该店门口贴出了这样一则通知。该店老板杨先生表示,他、妻子及店内30余名员工因工作超负荷已累得难以继续,歇业是为了保...
日期:04-18
15万美国汽车人罢工!马斯克炫耀:我发的工资比你们要的还多_马斯克买跑车
9月16日消息,全美汽车工人联合会(United Automobile Workers,UAW)针对美国汽车三巨头通用、福特、标致雪铁龙母公司Stellantis的大罢工已经开始。小米13系列或提前发布新机业内...
日期:09-16
华为应用市场|推送通知勤管理,不再错过好消息(华为消息推送服务营销通知)
摩托罗拉edge s新机测评中国车企积极布局芯片研发 特斯拉model y标准续航版提车京东618尖货爆料表 “斗米名企招聘季”正式开启,奏响2021春季招聘最强音 AI语音助手广泛...
日期:07-16
优酷 股份_PPLive获2.5亿美元注资 资金规模已超优酷上市融资的总额
  相关资料显示,优酷网于2010年12月10日在美国纽交所成功上市,总融资额在2.33亿美元左右,扣除发行费用后,净融资额为2.19亿美元。   “尽管软银投资2.5亿美元持有PPLive公...
日期:07-26
通鼎沈小平贿赂「通鼎集团董事局主席沈小平获评“2023品牌之光—突出贡献人物”」
通信世界网消息(CWW)近日,由中国商业联合会、中国亚洲经济发展协会、中国民营科技实业家协会、华夏商邦俱乐部、中国品牌研究中心共同发起主办,中国品牌发展网联合主办的2023(第...
日期:09-26
中国台湾6月芯片出口暴跌21% ,创14年来最大跌幅_台湾芯片产业现状
近日,据彭博社报道,由于全球需求放缓,中国台湾6月份集成电路芯片出口连续第六个月下降。中国台湾财政部门的数据显示,6月出口额同比下降20.8%至126亿美元,为14年来,即2009年3月以...
日期:07-14
红米旗舰Note12入网!预计售价2K以内「红米note11pro预计售价」
中关村在线消息:9月29日,据相关爆料,红米Note 12系列(型号为22101316C)获得3C认证,标准版将采用67W充电方案,高配版或采用120W快充方案,性价比将远超Note11系列。小米11 ultra dxoma...
日期:09-29