圖2 本文內(nèi)容組織

1 引言

圖結(jié)構(gòu)能描述復(fù)雜的關(guān)系,圖計(jì)算能挖掘結(jié)構(gòu)信息,但缺乏節(jié)點(diǎn)特征處理能力。神經(jīng)網(wǎng)絡(luò)擅長(zhǎng)處理普通數(shù)據(jù),但難以應(yīng)對(duì)圖數(shù)據(jù)。圖神經(jīng)網(wǎng)絡(luò)結(jié)合了兩者優(yōu)點(diǎn),能處理圖數(shù)據(jù)并預(yù)測(cè)鏈接、推薦和分析交通等。然而,大規(guī)模圖數(shù)據(jù)帶來(lái)存儲(chǔ)和計(jì)算挑戰(zhàn)。

挑戰(zhàn)主要來(lái)自四個(gè)方面:圖數(shù)據(jù)結(jié)構(gòu)不規(guī)則、稀疏、動(dòng)態(tài),節(jié)點(diǎn)鄰居數(shù)量分布不均;節(jié)點(diǎn)特征維度高,增加計(jì)算和內(nèi)存開(kāi)銷;數(shù)據(jù)規(guī)模龐大,導(dǎo)致內(nèi)存不足和復(fù)雜的數(shù)據(jù)劃分與迭代更新;硬件結(jié)構(gòu)限制,難以滿足靈活讀取不規(guī)則數(shù)據(jù)和高效計(jì)算的需求。

為應(yīng)對(duì)這些挑戰(zhàn),研究者提出各種策略。針對(duì)應(yīng)用場(chǎng)景,提高處理效率;在算法模型方面,研究分批訓(xùn)練等解決內(nèi)存問(wèn)題;在編程框架方面,推出DGL、PyG等解決訓(xùn)練樣本依賴;在硬件結(jié)構(gòu)方面,結(jié)合CPU、GPU、FPGA等提出優(yōu)化策略或?qū)S眉铀俳Y(jié)構(gòu)。這些努力有助于更好地應(yīng)對(duì)和緩解圖神經(jīng)網(wǎng)絡(luò)在大數(shù)據(jù)應(yīng)用中的挑戰(zhàn)。

圖1 GNN 整體框架圖

表1是這篇文章的相關(guān)綜述列表。其中,綜述[29-32]主要關(guān)注的是圖神經(jīng)網(wǎng)絡(luò)模型的全圖訓(xùn)練模式以及它的應(yīng)用。當(dāng)圖中的節(jié)點(diǎn)或邊的數(shù)量變得非常大時(shí),整個(gè)訓(xùn)練過(guò)程可能會(huì)受到單塊GPU內(nèi)存的限制。為了解決這個(gè)問(wèn)題,我們有了采樣算法。這些算法就像是拼圖游戲的助手,讓我們能夠在分批次的情況下進(jìn)行訓(xùn)練,處理大規(guī)模的數(shù)據(jù),而不會(huì)讓GPU的內(nèi)存爆掉。這就像我們把一個(gè)大拼圖游戲分成幾個(gè)小部分,然后分別玩,最后再組合起來(lái)。

而圖神經(jīng)網(wǎng)絡(luò)編程框架呢,它們結(jié)合了深度學(xué)習(xí)框架和圖結(jié)構(gòu)的特點(diǎn),提高了存儲(chǔ)的利用率和計(jì)算的效率,讓我們能更方便地處理大規(guī)模的數(shù)據(jù)。這就像我們用一個(gè)更聰明的辦法去玩拼圖游戲,能更快地完成它。

綜述[33-34]主要總結(jié)了圖神經(jīng)網(wǎng)絡(luò)編程框架的發(fā)展情況。而綜述[36-38]則更關(guān)注于分布式平臺(tái),它們分析了分布式GNN在算法模型、軟件框架和硬件平臺(tái)等方面的進(jìn)步。這就像我們不僅在一張桌子上玩拼圖游戲,還在多張桌子上同時(shí)玩,大家互相合作,一起完成這個(gè)巨大的拼圖。

這篇文章研究了大規(guī)模圖神經(jīng)網(wǎng)絡(luò),主要從算法模型和框架優(yōu)化兩個(gè)方面進(jìn)行了深入的了解、歸納和分析。首先,文章給大家普及了一下GNN的基礎(chǔ)知識(shí)和一些常見(jiàn)的算法。然后,總結(jié)了不同粒度采樣策略的圖神經(jīng)網(wǎng)絡(luò)模型,還有主流加速框架以及相關(guān)的技術(shù)。這些都是為了給以后在大規(guī)模數(shù)據(jù)應(yīng)用中,圖神經(jīng)網(wǎng)絡(luò)在框架和算法上如何協(xié)同優(yōu)化提供一些想法和方向。

2  圖神經(jīng)網(wǎng)絡(luò)模型

圖神經(jīng)網(wǎng)絡(luò)是專門處理圖結(jié)構(gòu)數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò),能結(jié)合圖計(jì)算和神經(jīng)網(wǎng)絡(luò)的優(yōu)勢(shì),將圖結(jié)構(gòu)信息抽象為節(jié)點(diǎn)特征。圖計(jì)算模型擅長(zhǎng)捕捉拓?fù)浣Y(jié)構(gòu),但處理不了高維特征。傳統(tǒng)神經(jīng)網(wǎng)絡(luò)處理的是歐氏空間數(shù)據(jù),而圖數(shù)據(jù)是非歐氏空間的,因此需要新的處理機(jī)制。

消息傳播模式是圖神經(jīng)網(wǎng)絡(luò)中流行的處理方式,包括鄰居聚合和節(jié)點(diǎn)更新兩個(gè)步驟,可獲取節(jié)點(diǎn)的高階鄰居信息。

圖神經(jīng)網(wǎng)絡(luò)的常見(jiàn)模型有:圖卷積神經(jīng)網(wǎng)絡(luò)(GCN)、圖注意力網(wǎng)絡(luò)(GAT)、循環(huán)圖神經(jīng)網(wǎng)絡(luò)(GGNN)和基于自編碼器的圖神經(jīng)網(wǎng)絡(luò)(SDNE)。這些模型在大規(guī)模數(shù)據(jù)訓(xùn)練中都會(huì)面臨內(nèi)存不足和鄰居爆炸等問(wèn)題。

GCN通過(guò)卷積操作實(shí)現(xiàn)鄰居節(jié)點(diǎn)聚合,分為譜域和空間域兩類。GAT引入注意力機(jī)制處理圖數(shù)據(jù),為每個(gè)節(jié)點(diǎn)分配不同權(quán)重。GGNN基于RNN處理圖結(jié)構(gòu)數(shù)據(jù),針對(duì)時(shí)間演化圖。SDNE應(yīng)用自編碼器學(xué)習(xí)節(jié)點(diǎn)表示,考慮節(jié)點(diǎn)間的相似性。

盡管存在挑戰(zhàn),但隨著研究和探索的深入,相信未來(lái)會(huì)有更多解決方案出現(xiàn)。

(* 表示產(chǎn)生相關(guān)挑戰(zhàn)的主要原因)

3  圖神經(jīng)網(wǎng)絡(luò)采樣算法

針對(duì)圖神經(jīng)網(wǎng)絡(luò)在大規(guī)模數(shù)據(jù)訓(xùn)練中面臨的挑戰(zhàn),已經(jīng)開(kāi)展了一些有意義的算法優(yōu)化工作。大部分的工作都集中在數(shù)據(jù)的優(yōu)化上,其中最主要的方法是使用不同粒度的采樣算法實(shí)現(xiàn)分批訓(xùn)練。這些算法主要可以按照采樣粒度分為以下三類:基于節(jié)點(diǎn)的采樣算法、基于層的采樣算法以及基于子圖的采樣算法。

3.1  基于節(jié)點(diǎn)的采樣算法

GraphSage通過(guò)節(jié)點(diǎn)采樣進(jìn)行表示學(xué)習(xí),優(yōu)化模型參數(shù)。它隨機(jī)采樣目標(biāo)節(jié)點(diǎn)的固定數(shù)目鄰居,使用聚合函數(shù)進(jìn)行特征聚合,并通過(guò)反向傳播學(xué)習(xí)。這種方法實(shí)現(xiàn)了新數(shù)據(jù)表示,并將不規(guī)則圖結(jié)構(gòu)數(shù)據(jù)規(guī)則化,實(shí)現(xiàn)參數(shù)共享。

PinSage結(jié)合隨機(jī)游走和圖卷積操作,用于大規(guī)模推薦系統(tǒng)。它通過(guò)節(jié)點(diǎn)采樣構(gòu)建計(jì)算圖,捕捉圖結(jié)構(gòu)特征,提高圖卷積神經(jīng)網(wǎng)絡(luò)在大規(guī)模數(shù)據(jù)上的可擴(kuò)展性。PinSage使用基于重要性的節(jié)點(diǎn)采樣算法,利用隨機(jī)游走策略評(píng)估節(jié)點(diǎn)重要性,并進(jìn)行重要性加權(quán)。

VR-GCN是一種新的采樣算法,解決了大規(guī)模圖神經(jīng)網(wǎng)絡(luò)參數(shù)共享問(wèn)題。它僅采樣兩個(gè)節(jié)點(diǎn),利用歷史激活節(jié)點(diǎn)減小方差,顯著減小估計(jì)梯度的偏置和方差。這種方法大大減小了模型訓(xùn)練的時(shí)間和內(nèi)存開(kāi)銷。

LGCL將圖數(shù)據(jù)結(jié)構(gòu)化以滿足卷積操作要求,將不規(guī)則圖結(jié)構(gòu)數(shù)據(jù)轉(zhuǎn)化為歐氏空間,便于利用CNN算法優(yōu)化。然而,這種基于顯著特征的重組方式可能破壞節(jié)點(diǎn)特征多樣性,加劇節(jié)點(diǎn)表示過(guò)度平滑問(wèn)題。

總結(jié)來(lái)說(shuō),GraphSage使用基于節(jié)點(diǎn)的采樣算法,適應(yīng)歸納式任務(wù)。PinSage使用基于重要性的采樣算法,并進(jìn)行重要性加權(quán)。VR-GCN關(guān)注采樣算法的收斂性,減小梯度估計(jì)的偏置和方差。LGCL從特征粒度進(jìn)行篩選重組為新的節(jié)點(diǎn)進(jìn)行聚合。這些算法各具特色,解決了圖神經(jīng)網(wǎng)絡(luò)中不同的問(wèn)題。

圖3 基于節(jié)點(diǎn)的采樣算法

3.2  基于層的采樣算法

FastGCN:將圖卷積操作轉(zhuǎn)化為概率分布積分,并用蒙特卡洛法估計(jì),減少GCN大規(guī)模訓(xùn)練的時(shí)間和內(nèi)存消耗。利用層級(jí)采樣防止鄰居節(jié)點(diǎn)爆炸,并結(jié)合重要性采樣提升性能。

AS-GON:采用自適應(yīng)層級(jí)采樣,固定每層采樣節(jié)點(diǎn)數(shù)來(lái)防止鄰居節(jié)點(diǎn)爆炸。通過(guò)連接跳躍捕捉二階相似性,傳播高階鄰居特征,無(wú)需額外采樣開(kāi)銷。

LADIES:新的采樣算法,構(gòu)建二分圖計(jì)算重要性分?jǐn)?shù)作為采樣概率,迭代構(gòu)建整個(gè)計(jì)算圖以降低計(jì)算和內(nèi)存開(kāi)銷。

總結(jié):PastGCN通過(guò)層級(jí)采樣避免鄰居節(jié)點(diǎn)爆炸,但存在連接稀疏和冗余節(jié)點(diǎn)問(wèn)題。AS-GCN保證收斂性并捕捉二階關(guān)聯(lián)性。LADIDS緩解鄰居節(jié)點(diǎn)爆炸,但全局節(jié)點(diǎn)復(fù)用有限。

圖4 基于層的采樣算法

3.3  基于子圖的采樣算法

Cluster-GCN使用子圖采樣算法,通過(guò)Metis聚類算法將節(jié)點(diǎn)分為c塊,轉(zhuǎn)換鄰接矩陣為對(duì)角矩陣A和B,然后將GCN函數(shù)分解到不同聚類中,以隨機(jī)組合分塊來(lái)減少遺漏和誤差。在分批訓(xùn)練中,選擇多個(gè)聚類分塊作為訓(xùn)練數(shù)據(jù)。

RWT是逐層游走的訓(xùn)練策略,旨在減少Cluster-GCN的時(shí)間和空間開(kāi)銷。通過(guò)子圖采樣實(shí)現(xiàn)分批,綜合考慮隨機(jī)性和圖結(jié)構(gòu)連接性,逐層擴(kuò)張采樣并更新子圖至達(dá)到閾值。RWT在GCN和GAT上驗(yàn)證有效。

GraphSAINT基于采樣,先采樣子圖再構(gòu)建網(wǎng)絡(luò)模型,消除分批訓(xùn)練偏差,降低方差。它估計(jì)節(jié)點(diǎn)和邊的采樣概率,在每個(gè)訓(xùn)練批次中采樣子圖,構(gòu)建完整GON模型進(jìn)行訓(xùn)練。通過(guò)歸一化消除偏差,用隨機(jī)游走策略優(yōu)化采樣。Zeng等提出的GraphSAINT提高了精度,并提出了并行訓(xùn)練框架,提高程序并行性,減小通信開(kāi)銷。

SHADOW-GNN旨在解決大規(guī)模數(shù)據(jù)挑戰(zhàn)和過(guò)度平滑問(wèn)題。通過(guò)解耦節(jié)點(diǎn)接受區(qū)域與圖神經(jīng)網(wǎng)絡(luò)深度,實(shí)現(xiàn)深層網(wǎng)絡(luò)表達(dá)能力,同時(shí)避免過(guò)度平滑。它采用子圖采樣策略,形成不同子圖,并在子圖上應(yīng)用任意深度的圖神經(jīng)網(wǎng)絡(luò)模型。

總結(jié):Cluster-GCN通過(guò)節(jié)點(diǎn)聚類提高利用率;RWT逐層擴(kuò)張子圖;GraphSAINT減小估計(jì)偏差與方差;SHADOW-GNN增強(qiáng)模型可拓展性,緩解過(guò)度平滑問(wèn)題。

圖5 基于子圖的采樣算法

Zeng等人在5個(gè)數(shù)據(jù)集上(表4)比較了4種采樣算法在節(jié)點(diǎn)分類任務(wù)上的準(zhǔn)確性性能對(duì)比結(jié)果如表 5所示,基于子圖的采樣算法在不同數(shù)據(jù)集上表現(xiàn)更好,micro E1指數(shù)更高且方差較小。GraphSage在數(shù)據(jù)集Flickr、Reddit、Yelp和Amazon上的節(jié)點(diǎn)分類準(zhǔn)確性與基于子圖的采樣算法接近,但訓(xùn)練時(shí)間較長(zhǎng)。

針對(duì)大規(guī)模數(shù)據(jù)訓(xùn)練中存在的挑戰(zhàn),本節(jié)總結(jié)了不同粒度的采樣算法(如表6所示),如節(jié)點(diǎn)級(jí)、層級(jí)和子圖級(jí)采樣算法。這些算法在一定程度上緩解了大規(guī)模數(shù)據(jù)訓(xùn)練中存在的內(nèi)存限制問(wèn)題,增加了模型的可拓展性,并通過(guò)重要性采樣、方差消減、隨機(jī)組合等方式提高模型收斂性。然而,目前的采樣算法主要基于靜態(tài)的同構(gòu)圖進(jìn)行優(yōu)化,忽略了現(xiàn)實(shí)應(yīng)用中圖數(shù)據(jù)的異構(gòu)性、動(dòng)態(tài)性、冪律分布等復(fù)雜特征。

表 6 采樣算法總結(jié)

4  圖神經(jīng)網(wǎng)絡(luò)框架

神經(jīng)網(wǎng)絡(luò)計(jì)算過(guò)程涉及不規(guī)則訪存和復(fù)雜特征計(jì)算,傳統(tǒng)框架在圖計(jì)算上性能較差。針對(duì)此問(wèn)題,研究者提出面向圖神經(jīng)網(wǎng)絡(luò)的編程框架并探索優(yōu)化技術(shù),為大規(guī)模圖神經(jīng)網(wǎng)絡(luò)模型運(yùn)行和優(yōu)化奠定基礎(chǔ)。

4.1  圖神經(jīng)網(wǎng)絡(luò)編程框架

本節(jié)將對(duì) Deep Graph Library、PyTorchGeometric、Graph-Learn 等主流的編程框架進(jìn)行總結(jié), 如表 7所示:

表7 圖神經(jīng)網(wǎng)絡(luò)編程框架

4.2  框架相關(guān)優(yōu)化技術(shù)

將圖神經(jīng)網(wǎng)絡(luò)編程框架相關(guān)的優(yōu)化技術(shù)按照其優(yōu)化方面分為 5 個(gè)部分, 分別是數(shù)據(jù)劃分、任務(wù)調(diào)度、并行執(zhí)行、內(nèi)存管理和其他方面, 總結(jié)如表8所示:

表8 圖神經(jīng)網(wǎng)絡(luò)框架相關(guān)優(yōu)化技術(shù)

5  總結(jié)與展望

圖神經(jīng)網(wǎng)絡(luò)模型及其在大數(shù)據(jù)下的挑戰(zhàn)

這篇文章先給我們介紹了四種常見(jiàn)的圖神經(jīng)網(wǎng)絡(luò)模型,它們分別是圖卷積神經(jīng)網(wǎng)絡(luò)、圖注意力神經(jīng)網(wǎng)絡(luò)、圖循環(huán)神經(jīng)網(wǎng)絡(luò)和基于自編碼器的圖神經(jīng)網(wǎng)絡(luò)。然后,文章分析了這些模型在處理大數(shù)據(jù)時(shí)面臨的挑戰(zhàn),并把這些挑戰(zhàn)分成了幾類。接著,文章從算法模型和編程框架兩個(gè)方面,對(duì)現(xiàn)有的研究進(jìn)行了總結(jié)和分析。

先來(lái)說(shuō)說(shuō)算法模型。為了應(yīng)對(duì)大數(shù)據(jù)在圖神經(jīng)網(wǎng)絡(luò)訓(xùn)練中的挑戰(zhàn),很多優(yōu)化工作都集中在采樣算法上。根據(jù)采樣的方式,文章把這些工作分成了三類:基于節(jié)點(diǎn)的采樣、基于層的采樣和基于子圖的采樣。對(duì)于每一類采樣算法,文章都介紹了相關(guān)的模型,并進(jìn)行了詳細(xì)的分析。最后,文章做了一個(gè)全面的總結(jié)。

再來(lái)說(shuō)說(shuō)編程框架。文章列舉了DGL、PyG等主流的編程框架,并把這些框架的優(yōu)化技術(shù)分成了五類:數(shù)據(jù)劃分、任務(wù)調(diào)度、并行執(zhí)行、內(nèi)存管理和其他方面。對(duì)于每一類優(yōu)化技術(shù),文章都簡(jiǎn)要介紹了其目標(biāo),并列舉了一些具體的策略。最后,文章也做了一個(gè)全面的總結(jié)。

展望未來(lái),文章總結(jié)了圖神經(jīng)網(wǎng)絡(luò)在大數(shù)據(jù)優(yōu)化方面的進(jìn)展,包括模型優(yōu)化和框架加速兩個(gè)方面。接下來(lái),我們將從這兩個(gè)方面來(lái)展望未來(lái)的工作方向,具體可以參考圖6。

圖6 未來(lái)工作展望

本文章轉(zhuǎn)載微信公眾號(hào)@Python人工智能前沿

上一篇:

一文徹底搞懂機(jī)器學(xué)習(xí) - 決策樹(shù)(Decision Tree)

下一篇:

如何獲取 TomTom API Key 密鑰(分步指南)
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊(cè)

多API并行試用

數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率

查看全部API→
??

熱門場(chǎng)景實(shí)測(cè),選對(duì)API

#AI文本生成大模型API

對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)

#AI深度推理大模型API

對(duì)比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)