圖神經(jīng)網(wǎng)絡(luò)概述
概述
近期AI領(lǐng)域最熱門的方向,AI for science中,有許多研究工作,都用到了圖神經(jīng)網(wǎng)絡(luò)。本文簡要介紹圖神經(jīng)網(wǎng)絡(luò)的概念與分類,最后介紹一個圖神經(jīng)網(wǎng)絡(luò)的在AI for science中典型應(yīng)用。 深度神經(jīng)網(wǎng)絡(luò)在計算機(jī)視覺和自然語言處理領(lǐng)域取得了巨大的成功。常用的深度神經(jīng)網(wǎng)絡(luò),如卷積神經(jīng)網(wǎng)絡(luò),在處理歐式結(jié)構(gòu)的數(shù)據(jù)方面表現(xiàn)出色。然而,對于圖結(jié)構(gòu)的數(shù)據(jù),如社交網(wǎng)絡(luò)中的人際關(guān)系、化學(xué)中的分子相互作用、三維點(diǎn)云數(shù)據(jù)以及數(shù)據(jù)中各個單元之間的結(jié)構(gòu),情況就變得復(fù)雜了。
這些數(shù)據(jù)不再按照歐式空間中的有序排列,而是呈現(xiàn)出無序的分布。在這種情況下,傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)算子不再適用。
近年來,研究人員借鑒了卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)和深度自編碼器的思路,設(shè)計了專門用于處理圖結(jié)構(gòu)數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò),稱之為圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Network,簡稱GNN)。這一創(chuàng)新使得神經(jīng)網(wǎng)絡(luò)這一強(qiáng)大工具能夠有效地應(yīng)用于處理各種圖結(jié)構(gòu)的數(shù)據(jù)。
圖1 歐式數(shù)據(jù)結(jié)構(gòu)與圖數(shù)據(jù)結(jié)構(gòu)[2].左圖中的圖像,各個像素呈規(guī)則的歐式排布,右圖中的藍(lán)色節(jié)點(diǎn),相互之間呈隨機(jī)關(guān)聯(lián),用圖描述。兩種不同結(jié)構(gòu)的數(shù)據(jù),需要使用不同類型的神經(jīng)網(wǎng)絡(luò)處理。
圖數(shù)據(jù)是由節(jié)點(diǎn)(nodes)和邊(edges)組成的數(shù)據(jù)結(jié)構(gòu),通常用于表示各種關(guān)系和網(wǎng)絡(luò),如社交網(wǎng)絡(luò)、知識圖譜、分子結(jié)構(gòu)、交通網(wǎng)絡(luò)等。GNNs的目標(biāo)是從這些圖數(shù)據(jù)中學(xué)習(xí)有關(guān)節(jié)點(diǎn)和邊的信息,以便進(jìn)行各種任務(wù),例如節(jié)點(diǎn)分類、圖分類、鏈接預(yù)測等。
圖神經(jīng)網(wǎng)絡(luò)分類
圖神經(jīng)網(wǎng)絡(luò)可以大致分為一下幾類:
1.Recurrent graph neural networks (RecGNNs) 遞歸圖神經(jīng)網(wǎng)絡(luò)
RecGNNs旨在使用遞歸神經(jīng)結(jié)構(gòu)學(xué)習(xí)節(jié)點(diǎn)表示。它們假設(shè)圖中的一個節(jié)點(diǎn)不斷與其鄰居進(jìn)行信息/消息交換,直到達(dá)到穩(wěn)定的平衡狀態(tài)。RecGNNs在概念上非常重要,對后續(xù)對卷積圖神經(jīng)網(wǎng)絡(luò)的研究有一定的啟發(fā)作用。后來的卷積圖神經(jīng)網(wǎng)絡(luò)繼承了其中的消息傳遞的理念。
2.Convolutional graph neural networks (ConvGNNs) 圖卷積神經(jīng)網(wǎng)絡(luò)
圖卷積神經(jīng)網(wǎng)絡(luò)將卷積的概念從歐式結(jié)構(gòu)的數(shù)據(jù)擴(kuò)展到圖結(jié)構(gòu)的數(shù)據(jù)。圖卷積的基本思路是聚合一個節(jié)點(diǎn)周圍節(jié)點(diǎn)的特征,用以生成該節(jié)點(diǎn)自身的特征。圖卷積網(wǎng)絡(luò)堆疊了多個“圖卷積層”,用來提取各個節(jié)點(diǎn)的高層次信息。圖卷積神經(jīng)網(wǎng)絡(luò)具體分為譜方法(Spectral methods)和空間方法(Spatial methods)。譜方法的卷積操作依賴于圖的拉普拉斯矩陣的特征值和特征向量??臻g方法的卷積則直接在圖的鄰域上進(jìn)行。
3.Graph autoencoders (GAEs) 圖自編碼器
圖自編碼器是一種
無監(jiān)督
的學(xué)習(xí)方式。它將圖編碼成一個隱式向量,通過編碼信息來重建圖中的數(shù)據(jù)。圖自編碼器用于學(xué)習(xí)網(wǎng)絡(luò)中的嵌入,以及生成圖的生成式分布。圖自編碼器被廣泛應(yīng)用于社交網(wǎng)絡(luò)分析、生物信息學(xué)和推薦系統(tǒng)中。通過學(xué)習(xí)有效的圖表示,圖自編碼器有助于對復(fù)雜關(guān)系數(shù)據(jù)的理解和應(yīng)用。
4.Spatial-temporal graph neural networks (STGNNs) 時空圖神經(jīng)網(wǎng)絡(luò)
時空圖神經(jīng)網(wǎng)絡(luò)用于從時空圖中,學(xué)習(xí)隱藏的模式。時空數(shù)據(jù)通常是指具有時間和空間維度的數(shù)據(jù),例如移動物體的軌跡、氣象數(shù)據(jù)、交通流量等。這些數(shù)據(jù)通常以圖的形式表示,其中節(jié)點(diǎn)代表地點(diǎn)或?qū)嶓w,邊代表時空關(guān)系。時空圖可以是有向的或無向的,具體取決于應(yīng)用場景。ST-GNN的關(guān)鍵任務(wù)是建模時空數(shù)據(jù)中的動態(tài)關(guān)系。它可以通過不同的方式來處理時空數(shù)據(jù),例如通過對每個時刻的快照建立圖,或者通過在圖上引入時間信息來捕捉動態(tài)性。這使得ST-GNN能夠在時間上進(jìn)行推理和預(yù)測。ST-GNN學(xué)習(xí)每個節(jié)點(diǎn)的表示,使得這些表示包含了節(jié)點(diǎn)的屬性信息以及與其他節(jié)點(diǎn)的時空關(guān)系。這有助于對節(jié)點(diǎn)進(jìn)行時空上的預(yù)測或分類。ST-GNN在許多應(yīng)用領(lǐng)域都有廣泛的應(yīng)用,包括交通管理(交通流量預(yù)測、路徑規(guī)劃)、氣象預(yù)測、地理信息系統(tǒng)(GIS)、社交網(wǎng)絡(luò)分析等。在這些領(lǐng)域中,ST-GNN可以幫助理解時空數(shù)據(jù)中的模式、趨勢和異常。
關(guān)鍵概念與工作原理
圖神經(jīng)網(wǎng)絡(luò)中一些關(guān)鍵概念和工作原理如下:
節(jié)點(diǎn)表示(Node Embeddings)
:GNN的主要任務(wù)之一是學(xué)習(xí)每個節(jié)點(diǎn)的表示(或稱嵌入)。這些表示通常是一個
固定維度的向量
,用于捕捉節(jié)點(diǎn)的特征。GNN通過聚合節(jié)點(diǎn)的鄰居節(jié)點(diǎn)信息來更新節(jié)點(diǎn)表示。這個過程在每個圖卷積層中迭代進(jìn)行。
圖卷積(Graph Convolution)
:圖卷積是GNN中的核心操作。在每一層,它會考慮節(jié)點(diǎn)的鄰居信息,并使用權(quán)重來聚合這些信息以更新節(jié)點(diǎn)的表示。這使得節(jié)點(diǎn)能夠捕捉到周圍節(jié)點(diǎn)的信息,從而改善對節(jié)點(diǎn)的分類或預(yù)測任務(wù)。
聚合函數(shù)(Aggregation Function)
:在圖卷積中,節(jié)點(diǎn)鄰居的信息被聚合成一個新的節(jié)點(diǎn)表示。常見的聚合函數(shù)包括求和、平均值、最大值等。不同的聚合函數(shù)可以用于不同的任務(wù)和圖結(jié)構(gòu)。
圖池化(Graph Pooling)
:類似于卷積神經(jīng)網(wǎng)絡(luò)中的池化操作,圖池化用于減小圖的規(guī)模和復(fù)雜性。它可以通過合并節(jié)點(diǎn)或邊來減小圖的大小,以便在后續(xù)層中處理更抽象的信息。
任務(wù)層(Task Layer)
:GNN通常最后會連接一個任務(wù)層,用于執(zhí)行具體的任務(wù),如節(jié)點(diǎn)分類、圖分類、鏈接預(yù)測等。任務(wù)層的結(jié)構(gòu)取決于所解決的任務(wù)類型。
反向傳播(Backpropagation)
:與其他深度學(xué)習(xí)模型一樣,GNN使用反向傳播算法來更新模型參數(shù),以最小化損失函數(shù)。這使得模型能夠從訓(xùn)練數(shù)據(jù)中學(xué)習(xí),并提高其性能。
應(yīng)用:建模粒子相互作用
圖神經(jīng)網(wǎng)絡(luò)的一個重要應(yīng)用是對物理世界進(jìn)行建模。將物理世界中,個體與個體之間的關(guān)系表示為圖,可以通過圖神經(jīng)網(wǎng)絡(luò),對現(xiàn)實(shí)世界中復(fù)雜系統(tǒng)的行為,進(jìn)行推斷。 下面,我們以2022年發(fā)表在 PNAS上的一篇論文 Learning physics-consistent particle interactions [4]為例, 來說明圖神經(jīng)網(wǎng)絡(luò),是如何建模物理世界的。 該文用圖神經(jīng)網(wǎng)絡(luò)框架,模擬物理世界中,粒子之間的相互作用?,F(xiàn)實(shí)世界中粒子的相互作用具有高度復(fù)雜性,難以通過人為設(shè)計精確建模,借助圖神經(jīng)網(wǎng)絡(luò),利用數(shù)據(jù)驅(qū)動的思路,可以對復(fù)雜的物理世界進(jìn)行準(zhǔn)確建模。 該文提出的圖神經(jīng)網(wǎng)絡(luò)框架,可以準(zhǔn)確推斷出粒子之間的作用力與勢能,且粒子間的相互作用,滿足牛頓第二定律的約束?,F(xiàn)有的相關(guān)工作,雖然也利用了圖神經(jīng)網(wǎng)絡(luò)的框架,但大多沒有考慮牛頓運(yùn)動定律的約束,導(dǎo)致網(wǎng)路推斷的結(jié)果,不符合物理規(guī)律。 為了解決上述問題,該文將圖分為邊部分(Edge part) 與節(jié)點(diǎn)部分 (Node part)。其中,邊部分通過圖神經(jīng)網(wǎng)絡(luò),
學(xué)習(xí)粒子兩兩之間的作用力與勢能
;節(jié)點(diǎn)部分,則通過物理算子,輸入作用力與粒子狀態(tài),輸出粒子之間的加速度。節(jié)點(diǎn)部分的物理算子,滿足牛頓第二定律,因而輸出的粒子加速度,符合物理規(guī)律。每個粒子的狀態(tài)由四維向量組成,每個元素分別表示粒子在某個時刻的位置、速度、電荷、質(zhì)量。其中,位置與速度是時變的,電荷與質(zhì)量是恒定的。將一對粒子的狀態(tài)組合成一個向量,輸入到邊網(wǎng)絡(luò)中,輸出粒子之間的作用力與勢能(圖中B部分)。邊網(wǎng)絡(luò)輸出的力與勢能,再輸入到節(jié)點(diǎn)部分(圖中C部分),計算出每個粒子的加速度。其中,邊網(wǎng)絡(luò)輸出的勢能與力,就是每個節(jié)點(diǎn)特征的表示。
圖 神經(jīng)網(wǎng)絡(luò)建模粒子運(yùn)動[4]
該文的工作,成功將圖神經(jīng)網(wǎng)絡(luò),應(yīng)用到物理世界的建模推斷中,即利用了數(shù)據(jù)驅(qū)動的方法,又滿足了物理規(guī)律的約束,值得借鑒學(xué)習(xí)。
參考文獻(xiàn)
[1]Wu, Z., Pan, S., Chen, F., Long, G., Zhang, C., & Philip, S. Y. (2020). A comprehensive survey on graph neural networks.?
IEEE transactions on neural networks and learning systems
,?
32
(1), 4-24. [2] Liu, Z., & Zhou, J. (2022).?
Introduction to graph neural networks
. Springer Nature. [3] Zhou, J., Cui, G., Hu, S., Zhang, Z., Yang, C., Liu, Z., ... & Sun, M. (2020). Graph neural networks: A review of methods and applications.?
AI open
,?
1
, 57-81. [4] Han, Z., Kammer, D. S., & Fink, O. (2022). Learning physics-consistent particle interactions.?
PNAS nexus
,?
1
(5), pgac264. 封面:Liu, Z., & Zhou, J. (2022).?
Introduction to graph neural networks
. Springer Nature.
本文共2666字
申請文章授權(quán)請聯(lián)系后臺運(yùn)營人員