首頁 科技週邊 人工智慧 谷歌官宣TensorFlow-GNN 1.0發布!動態和互動採樣,大規模建構圖神經網絡

谷歌官宣TensorFlow-GNN 1.0發布!動態和互動採樣,大規模建構圖神經網絡

Feb 07, 2024 pm 09:50 PM
數據 模型 社群網路

2005年,劃時代之作「The Graph Neural Network Model」的問世,將圖神經網路帶到每個人面前。

在此之前,科學家處理圖資料的方式是,在資料預處理階段,將圖轉換為一組「向量表示」。

而CNN的出現徹底改變這種資訊遺失的弊端,近20年來,一代又一代模型不斷演變,推動ML領域進步。

今天,Google正式官方宣布TensorFlow GNN 1.0(TF-GNN)-用於大規模建構GNN的經過生產測試的函式庫。

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

它既支援在TensorFlow中的建模和訓練,也支援從大型資料儲存中提取輸入圖。

TF-GNN是專為異構圖從頭開始建構的,其中物件和關係的類型由不同的節點和邊集合來表示。

現實世界中的物件及其關係以不同的類型出現,而TF-GNN的異質焦點,使得表示它們變得非常自然。

Google科學家Anton Tsitsulin表示,複雜的異構建模又回來了!

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

TF-GNN 1.0首面世

物件及其相互之間的關係,在我們的世界中無所不在。

而關係對於理解一個物件的重要性,不亞於孤立地看待物件本身的屬性,例如交通網絡、生產網絡、知識圖譜或社交網絡。

離散數學和電腦科學長期以來一直將這類網路形式化為圖,由「節點」以各種不規則方式透過邊任意連接而成。

然而,大多數機器學習演算法只允許輸入物件之間存在規則統一的關係,如像素網格、單字序列,或完全沒有關係。

圖形神經網絡,簡稱GNN,是一種強大的技術,既能利用圖的連通性(如早期演算法DeepWalk和Node2Vec),又能利用不同節點和邊輸入特徵。

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

GNN可以對圖的整體(這種分子是否以某種方式做出反應?)、單一節點(根據引用,這份文件的主題是什麼?)、潛在的邊(這種產品是否可能與另一種產品一起購買?)進行預測。

除了對圖形進行預測之外,GNN還是一個強大的工具——用於彌合與更典型的神經網路用例之間的鴻溝。

它們以連續的方式對圖的離散關係資訊進行編碼,從而可以將其自然地納入另一個深度學習系統。

Google在今天正式宣布用於大規模建構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提供了,透過動態和互動取樣來改進這一點的工具。

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

子圖抽樣過程,即從一個較大的圖中抽取小的、可操作的子圖,為GNN訓練建立輸入範例

TF-GNN 1.0推出了一個靈活的Python API,用於配置所有相關比例的動態或批次子圖採樣:在Colab筆記中互動採樣。

具體來說,對儲存在單一訓練主機主記憶體中的小型資料集進行「高效採樣」,或透過Apache Beam對儲存在網路檔案系統中的龐大資料集(多達數億節點和數十億邊)進行分散式取樣。

在這些相同的取樣子圖上,GNN的任務是,計算根節點的隱藏(或潛在)狀態;隱藏狀態聚集和編碼根節點鄰域的相關資訊。

常見的方法是「訊息傳遞神經網路」。

在每一輪訊息傳遞中,節點沿著傳入邊接收來自鄰節點的訊息,並從這些邊更新自己的隱藏狀態。

在n輪之後,根節點的隱藏狀態反映了,n條邊內所有節點的聚合資訊(如下圖所示,n=2)。訊息和新的隱藏狀態由神經網路的隱層計算。

在異質圖中,對不同類型的節點和邊使用單獨訓練的隱藏層通常是有意義的。

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

圖為一個簡單的「訊息傳遞神經網」,在該網路中,每一步節點狀態都會從外部節點傳播到內部節點,並在內部節點匯集計算出新的節點狀態。一旦到達根節點,就可以進行最終預測

訓練設定是,透過將輸出層放置在已標記節點的GNN的隱藏狀態之上、計算損失(以測量預測誤差)並透過反向傳播更新模型權重來完成的,這在任何神經網路訓練中都是常見的。

除了監督訓練之外,GNN也可以以無監督的方式訓練,可以讓我們計算節點及其特徵的離散圖結構的連續表示(或嵌入)。

然後,這些表示通常在其他ML系統中使用。

透過這種方式,由圖編碼的離散關係訊息,就能被納入更典型的神經網路用例中。 TF-GNN支援對異構圖的無監督目標進行細粒度規範。

建構GNN架構

TF-GNN函式庫支援建置與訓練,不同抽象層次的GNN。

在最高層,使用者​​可以使用與庫綁定在一起的任何預定義模型,這些模型以Kera層表示。

除了研究文獻中的一小部分模型外,TF-GNN還附帶了一個高度可配置的模型模板,該模板提供了精心挑選的建模選擇。

Google發現這些選擇,為我們的許多內部問題提供了強有力的基準。模板實作GNN層;使用者只需從Kera層開始初始化。

import tensorflow_gnn as tfgnnfrom tensorflow_gnn.models import mt_albisdef 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_regularizatinotallow=1e-5,)(graph)return tf.keras.Model(inputs, graph)
登入後複製
#

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

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

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

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

训练编排

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

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

from tensorflow_gnn import runnerrunner.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_lossesrunner.run( task={"classification": runner.RootNodeBinaryClassification("papers", ...),"dgi": contrastive_losses.DeepGraphInfomaxTask("papers"),},...)
登入後複製

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

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

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

以上是谷歌官宣TensorFlow-GNN 1.0發布!動態和互動採樣,大規模建構圖神經網絡的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

全球最強開源 MoE 模型來了,中文能力比肩 GPT-4,價格僅 GPT-4-Turbo 的近百分之一 全球最強開源 MoE 模型來了,中文能力比肩 GPT-4,價格僅 GPT-4-Turbo 的近百分之一 May 07, 2024 pm 04:13 PM

想像一下,一個人工智慧模型,不僅擁有超越傳統運算的能力,還能以更低的成本實現更有效率的效能。這不是科幻,DeepSeek-V2[1],全球最強開源MoE模型來了。 DeepSeek-V2是一個強大的專家混合(MoE)語言模型,具有訓練經濟、推理高效的特點。它由236B個參數組成,其中21B個參數用於啟動每個標記。與DeepSeek67B相比,DeepSeek-V2效能更強,同時節省了42.5%的訓練成本,減少了93.3%的KV緩存,最大生成吞吐量提高到5.76倍。 DeepSeek是一家探索通用人工智

替代MLP的KAN,被開源專案擴展到卷積了 替代MLP的KAN,被開源專案擴展到卷積了 Jun 01, 2024 pm 10:03 PM

本月初,來自MIT等機構的研究者提出了一種非常有潛力的MLP替代方法—KAN。 KAN在準確性和可解釋性方面表現優於MLP。而且它能以非常少的參數量勝過以更大參數量運行的MLP。例如,作者表示,他們用KAN以更小的網路和更高的自動化程度重現了DeepMind的結果。具體來說,DeepMind的MLP有大約300,000個參數,而KAN只有約200個參數。 KAN與MLP一樣具有強大的數學基礎,MLP基於通用逼近定理,而KAN基於Kolmogorov-Arnold表示定理。如下圖所示,KAN在邊上具

全面超越DPO:陳丹琦團隊提出簡單偏好優化SimPO,也煉出最強8B開源模型 全面超越DPO:陳丹琦團隊提出簡單偏好優化SimPO,也煉出最強8B開源模型 Jun 01, 2024 pm 04:41 PM

為了將大型語言模型(LLM)與人類的價值和意圖對齊,學習人類回饋至關重要,這能確保它們是有用的、誠實的和無害的。在對齊LLM方面,一種有效的方法是根據人類回饋的強化學習(RLHF)。儘管RLHF方法的結果很出色,但其中涉及了一些優化難題。其中涉及訓練一個獎勵模型,然後優化一個策略模型來最大化該獎勵。近段時間已有一些研究者探索了更簡單的離線演算法,其中之一就是直接偏好優化(DPO)。 DPO是透過參數化RLHF中的獎勵函數來直接根據偏好資料學習策略模型,這樣就無需顯示式的獎勵模型了。此方法簡單穩定

美國空軍高調展示首個AI戰鬥機!部長親自試駕全程未乾預,10萬行代碼試飛21次 美國空軍高調展示首個AI戰鬥機!部長親自試駕全程未乾預,10萬行代碼試飛21次 May 07, 2024 pm 05:00 PM

最近,軍事圈被這個消息刷屏了:美軍的戰鬥機,已經能由AI完成全自動空戰了。是的,就在最近,美軍的AI戰鬥機首次公開,揭開了神秘面紗。這架戰鬥機的全名是可變穩定性飛行模擬器測試飛機(VISTA),由美空軍部長親自搭乘,模擬了一對一的空戰。 5月2日,美國空軍部長FrankKendall在Edwards空軍基地駕駛X-62AVISTA升空注意,在一小時的飛行中,所有飛行動作都由AI自主完成! Kendall表示——在過去的幾十年中,我們一直在思考自主空對空作戰的無限潛力,但它始終顯得遙不可及。然而如今,

無需OpenAI數據,躋身程式碼大模型榜單! UIUC發表StarCoder-15B-Instruct 無需OpenAI數據,躋身程式碼大模型榜單! UIUC發表StarCoder-15B-Instruct Jun 13, 2024 pm 01:59 PM

在软件技术的前沿,UIUC张令明组携手BigCode组织的研究者,近日公布了StarCoder2-15B-Instruct代码大模型。这一创新成果在代码生成任务取得了显著突破,成功超越CodeLlama-70B-Instruct,登上代码生成性能榜单之巅。StarCoder2-15B-Instruct的独特之处在于其纯自对齐策略,整个训练流程公开透明,且完全自主可控。该模型通过StarCoder2-15B生成了数千个指令,响应对StarCoder-15B基座模型进行微调,无需依赖昂贵的人工标注数

LLM全搞定! OmniDrive:集3D感知、推理規劃於一體(英偉達最新) LLM全搞定! OmniDrive:集3D感知、推理規劃於一體(英偉達最新) May 09, 2024 pm 04:55 PM

寫在前面&筆者的個人理解這篇論文致力於解決當前多模態大語言模型(MLLMs)在自動駕駛應用中存在的關鍵挑戰,即將MLLMs從2D理解擴展到3D空間的問題。由於自動駕駛車輛(AVs)需要針對3D環境做出準確的決策,這項擴展顯得格外重要。 3D空間理解對於AV來說至關重要,因為它直接影響車輛做出明智決策、預測未來狀態以及與環境安全互動的能力。目前的多模態大語言模型(如LLaVA-1.5)通常只能處理較低解析度的影像輸入(例如),這是由於視覺編碼器的分辨率限制,LLM序列長度的限制。然而,自動駕駛應用需

AI新創集體跳槽OpenAI,Ilya出走後安全團隊重整旗鼓! AI新創集體跳槽OpenAI,Ilya出走後安全團隊重整旗鼓! Jun 08, 2024 pm 01:00 PM

上週,在內部的離職潮和外部的口誅筆伐之下,OpenAI可謂是內憂外患:-侵權寡姐引發全球熱議-員工簽署“霸王條款”被接連曝出-網友細數奧特曼“七宗罪」闢謠:根據Vox獲取的洩漏資訊和文件,OpenAI的高級領導層,包括Altman在內,非常了解這些股權回收條款,並且簽署了它們。除此之外,還有一個嚴峻而迫切的問題擺在OpenAI面前——AI安全。最近,五名與安全相關的員工離職,其中包括兩名最著名的員工,「超級對齊」團隊的解散讓OpenAI的安全問題再次被置於聚光燈下。 《財星》雜誌報道稱,OpenA

Yolov10:詳解、部署、應用一站式齊全! Yolov10:詳解、部署、應用一站式齊全! Jun 07, 2024 pm 12:05 PM

一、前言在过去的几年里,YOLOs由于其在计算成本和检测性能之间的有效平衡,已成为实时目标检测领域的主导范式。研究人员探索了YOLO的架构设计、优化目标、数据扩充策略等,取得了显著进展。同时,依赖非极大值抑制(NMS)进行后处理阻碍了YOLO的端到端部署,并对推理延迟产生不利影响。在YOLOs中,各种组件的设计缺乏全面彻底的检查,导致显著的计算冗余,限制了模型的能力。它提供了次优的效率,以及相对大的性能改进潜力。在这项工作中,目标是从后处理和模型架构两个方面进一步提高YOLO的性能效率边界。为此

See all articles