王佳
(山西金融職業(yè)學(xué)院,太原030008)
隨著神經(jīng)網(wǎng)絡(luò)的成功發(fā)展,許多機(jī)器學(xué)習(xí)任務(wù),如對(duì)象檢測(cè)、圖像分類和語(yǔ)音識(shí)別,曾經(jīng)嚴(yán)重依賴人工進(jìn)行的特征工程來提取特征,如今可以用各種端到端的深度學(xué)習(xí)模型來完成,如卷積神經(jīng)網(wǎng)絡(luò)(CNN)[1]、長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)[2]等。許多領(lǐng)域的深度學(xué)習(xí)的成功,部分歸因于快速發(fā)展的計(jì)算資源(如GPU)和大量的訓(xùn)練數(shù)據(jù),部分原因在于深度學(xué)習(xí)從歐幾里得數(shù)據(jù)(如圖像、文本和視頻)中提取潛在表示的有效性。以圖像分析為例,在歐幾里得空間中,圖像可以表示為規(guī)則網(wǎng)格。卷積神經(jīng)網(wǎng)絡(luò)(CNN)能夠利用圖像數(shù)據(jù)的位移不變性、局部連通性,因此CNN 可以提取與整個(gè)數(shù)據(jù)集共享的具有局部意義的特征,用于各種圖像分析任務(wù)。
雖然深度學(xué)習(xí)在歐幾里得數(shù)據(jù)方面取得了巨大的成功,但越來越多的應(yīng)用中的數(shù)據(jù)來自非歐幾里得域,需要用圖來表示,從而進(jìn)行有效的分析。例如,在電子商務(wù)中,基于圖的學(xué)習(xí)系統(tǒng)能夠利用用戶和產(chǎn)品之間的交互,來做出準(zhǔn)確的建議。在自然科學(xué)中,建模物理系統(tǒng)和蛋白質(zhì)相互作用網(wǎng)絡(luò)。圖是一種數(shù)據(jù)結(jié)構(gòu),它對(duì)一組對(duì)象及其關(guān)系進(jìn)行建模,其中對(duì)象作為節(jié)點(diǎn),關(guān)系作為邊。圖具有很強(qiáng)的表示能力,但其復(fù)雜性給現(xiàn)有的機(jī)器學(xué)習(xí)算法帶來了巨大的挑戰(zhàn)。這是因?yàn)閳D的數(shù)據(jù)不規(guī)則。每個(gè)圖都有一組數(shù)目可變的無序節(jié)點(diǎn),圖中的每個(gè)節(jié)點(diǎn)都有不同數(shù)量的相鄰節(jié)點(diǎn),導(dǎo)致一些重要的操作(例如卷積),在圖像域中很容易計(jì)算,但不能直接應(yīng)用于圖域。此外,現(xiàn)有機(jī)器學(xué)習(xí)算法的一個(gè)核心假設(shè)是實(shí)例彼此獨(dú)立。但是,對(duì)于圖域數(shù)據(jù)來說,情況并非如此,圖中每個(gè)實(shí)例(節(jié)點(diǎn))通過一些復(fù)雜的連接信息與其他實(shí)例(鄰居)相關(guān),這些信息用于捕獲數(shù)據(jù)之間的相互依賴性。
近年來,人們對(duì)圖域的深度學(xué)習(xí)方法越來越感興趣。在深度學(xué)習(xí)的推動(dòng)下,研究人員借鑒了卷積網(wǎng)絡(luò)、循環(huán)網(wǎng)絡(luò)和深度自動(dòng)編碼器的思想,設(shè)計(jì)了圖神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)。為了處理圖的復(fù)雜性,在過去幾年中,對(duì)重要操作的新概括和定義得到了快速發(fā)展[3]。例如,圖1說明了一種圖卷積是如何受到標(biāo)準(zhǔn)二維卷積的啟發(fā)的。

圖1 歐幾里得域的圖像和非歐幾里得域的圖
CNN 能夠提取多尺度的局部空間特征,并將其組合起來,構(gòu)建出具有高度表達(dá)能力的表示形式,在幾乎所有的機(jī)器學(xué)習(xí)領(lǐng)域都取得了突破,開啟了深度學(xué)習(xí)的新時(shí)代。然而,CNN 只能對(duì)圖像(二維網(wǎng)格)和文本(一維序列)這樣的規(guī)則的歐幾里得數(shù)據(jù)進(jìn)行操作,而這些數(shù)據(jù)結(jié)構(gòu)可以看作是圖的實(shí)例。CNN 的關(guān)鍵在于:局部連接、共享權(quán)重和多層結(jié)構(gòu)。這些對(duì)于解決圖域的問題也非常重要。然而,如圖1 所示,很難定義圖的局部卷積核和池化操作,這阻礙了CNN 從歐幾里得域向非歐幾里得域的轉(zhuǎn)換。
接下來解釋圖神經(jīng)網(wǎng)絡(luò)值得研究的基本原因。首先,像CNN 這樣的標(biāo)準(zhǔn)神經(jīng)網(wǎng)絡(luò)不能正確處理圖的輸入,因?yàn)樗鼈儼刺囟ǖ捻樞驅(qū)?jié)點(diǎn)的特征進(jìn)行疊加。然而,圖中沒有節(jié)點(diǎn)的自然順序。為了完整地呈現(xiàn)一個(gè)圖,我們應(yīng)該遍歷所有可能的順序作為模型的輸入,這在計(jì)算時(shí)是非常多余的。為了解決這個(gè)問題,GNN在每個(gè)節(jié)點(diǎn)上分別傳播,忽略節(jié)點(diǎn)的輸入順序。換句話說,GNN 的輸出對(duì)于節(jié)點(diǎn)的輸入順序是不變的。其次,圖中的一條邊表示兩個(gè)節(jié)點(diǎn)之間的依賴關(guān)系信息。在標(biāo)準(zhǔn)的神經(jīng)網(wǎng)絡(luò)中,依賴信息被視為只是節(jié)點(diǎn)的特征。然而,GNN 可以在圖結(jié)構(gòu)的引導(dǎo)下進(jìn)行傳播,而不是將其作為特征的一部分。通常,GNN 通過相鄰節(jié)點(diǎn)狀態(tài)的加權(quán)和來更新節(jié)點(diǎn)的隱藏狀態(tài)。第三,推理是高層次人工智能的一個(gè)重要研究課題,人腦的推理過程基于從日常經(jīng)驗(yàn)中提取出的圖,標(biāo)準(zhǔn)的神經(jīng)網(wǎng)絡(luò)已經(jīng)顯示出通過學(xué)習(xí)數(shù)據(jù)的分布來生成合成圖像和文檔的能力,而它們?nèi)匀粺o法從大量實(shí)驗(yàn)數(shù)據(jù)中學(xué)習(xí)推理圖。然而,GNN 試圖從場(chǎng)景圖片和故事文檔等非結(jié)構(gòu)化數(shù)據(jù)中生成圖,這可以成為更高層次人工智能的強(qiáng)大神經(jīng)模型。本文的目的是為想要進(jìn)入這個(gè)快速發(fā)展領(lǐng)域的研究人員提供圖神經(jīng)網(wǎng)絡(luò)的基本概述。
圖神經(jīng)網(wǎng)絡(luò)(GNN)的概念在[4]中首次提出,它擴(kuò)展了現(xiàn)有的神經(jīng)網(wǎng)絡(luò),用于處理圖域中表示的數(shù)據(jù)。在一個(gè)圖中,每個(gè)節(jié)點(diǎn)都由其特征和相關(guān)聯(lián)節(jié)點(diǎn)定義。GNN 的目標(biāo)是學(xué)習(xí)一個(gè)包含每個(gè)節(jié)點(diǎn)鄰域信息的狀態(tài)嵌入hv∈Rs。狀態(tài)嵌入hv是節(jié)點(diǎn)v 的s 維向量,可用于生成輸出向量ov,如節(jié)點(diǎn)標(biāo)簽。設(shè)f 為一個(gè)參數(shù)函數(shù),稱為局部傳遞函數(shù),被所有節(jié)點(diǎn)共享,并根據(jù)輸入鄰域更新節(jié)點(diǎn)狀態(tài)。設(shè)g 是描述如何產(chǎn)生輸出的局部輸出函數(shù)。然后,將hv和ov定義為:

其中xv,xco[v],hne[v],xne[v]分別是節(jié)點(diǎn)v 的特征,邊的特征,相鄰節(jié)點(diǎn)的狀態(tài),相鄰節(jié)點(diǎn)的特征。
設(shè)H、O、X 和XN分別是通過堆疊所有狀態(tài)、所有輸出、所有特征和所有節(jié)點(diǎn)特征構(gòu)建的向量。這樣,有一個(gè)緊湊的形式:

其中,F(xiàn) 是全局傳遞函數(shù),G 是全局輸出函數(shù),F(xiàn) 和G 分別是圖中所有節(jié)點(diǎn)的f 和g 的疊加版本。H 的值是方程(3)的定點(diǎn)解,并且假設(shè)F 為收縮映射。
GNN 使用如下所示經(jīng)典的迭代法來計(jì)算狀態(tài):

其中,Ht表示H 的第t 次迭代,對(duì)于任意初始值H(0),方程(5)以指數(shù)形式快速收斂到方程(3)的解。注意,f 和g 中描述的計(jì)算可以解釋為前饋神經(jīng)網(wǎng)絡(luò)。
當(dāng)有了GNN 的框架后,下一個(gè)問題是如何學(xué)習(xí)f和g 的參數(shù)。利用目標(biāo)信息(特定節(jié)點(diǎn)的tv)進(jìn)行監(jiān)督,損失可以寫為如下形式:

其中P 是監(jiān)督節(jié)點(diǎn)的編號(hào)。學(xué)習(xí)算法是以梯度下降法為基礎(chǔ)的,由下列步驟組成。
(2)從損失計(jì)算出權(quán)重W 的梯度。
(3)根據(jù)上一步計(jì)算的梯度對(duì)權(quán)重W 進(jìn)行更新。
圖神經(jīng)網(wǎng)絡(luò)已經(jīng)在許多問題領(lǐng)域中得到了探索,包括有監(jiān)督的、半監(jiān)督的、無監(jiān)督的學(xué)習(xí)任務(wù)。圖神經(jīng)網(wǎng)絡(luò)的應(yīng)用可以簡(jiǎn)單分三個(gè)場(chǎng)景:①數(shù)據(jù)具有明確的關(guān)系結(jié)構(gòu)的結(jié)構(gòu)化場(chǎng)景,如物理系統(tǒng)、分子結(jié)構(gòu)和知識(shí)圖;②非結(jié)構(gòu)化場(chǎng)景,其中關(guān)系結(jié)構(gòu)不明確,包括圖像、文本等;③其他應(yīng)用場(chǎng)景,如生成模型以及組合優(yōu)化問題。在這一節(jié)將對(duì)結(jié)構(gòu)化場(chǎng)景和非結(jié)構(gòu)化場(chǎng)景的典型應(yīng)用進(jìn)行簡(jiǎn)要介紹。
(1)結(jié)構(gòu)化場(chǎng)景
在下面的小節(jié)中,我們將介紹GNN 在結(jié)構(gòu)化場(chǎng)景中的應(yīng)用,這些場(chǎng)景的數(shù)據(jù)是在圖結(jié)構(gòu)中自然執(zhí)行的。例如,GNN 廣泛應(yīng)用于社交網(wǎng)絡(luò)預(yù)測(cè)[5]、交通預(yù)測(cè)[6]、推薦系統(tǒng)[7]和圖的表示[8]。模擬現(xiàn)實(shí)世界的物理系統(tǒng)是理解人類智能的最基本的方面之一。通過將對(duì)象表示為節(jié)點(diǎn),將關(guān)系表示為邊,我們可以以一種簡(jiǎn)單而有效的方式對(duì)對(duì)象、關(guān)系和物理進(jìn)行基于GNN 的推理。文獻(xiàn)[9]提出的交互網(wǎng)絡(luò)對(duì)各種物理系統(tǒng)進(jìn)行預(yù)測(cè)和推斷。該模型以對(duì)象和關(guān)系為輸入,推理它們的相互作用。它們分別對(duì)以關(guān)系為中心和以對(duì)象為中心的模型進(jìn)行建模,從而更容易對(duì)不同的系統(tǒng)進(jìn)行歸納。
可視交互網(wǎng)絡(luò)[10]可以從像素進(jìn)行預(yù)測(cè)。它從兩個(gè)連續(xù)的輸入幀中為每個(gè)對(duì)象學(xué)習(xí)狀態(tài)代碼。然后,通過交互網(wǎng)絡(luò)塊添加交互效果后,狀態(tài)解碼器將狀態(tài)代碼轉(zhuǎn)換為下一步的狀態(tài)。
(2)非結(jié)構(gòu)化場(chǎng)景
在本節(jié)中,我們將討論非結(jié)構(gòu)化場(chǎng)景的應(yīng)用,如圖像、文本。一般來說,將圖神經(jīng)網(wǎng)絡(luò)應(yīng)用于非結(jié)構(gòu)場(chǎng)景有兩種方法:①將來自其他領(lǐng)域的結(jié)構(gòu)信息結(jié)合起來以提高性能,例如使用知識(shí)圖中的信息來緩解圖像任務(wù)中的零樣本問題;②推斷或假設(shè)場(chǎng)景中的關(guān)系結(jié)構(gòu),然后應(yīng)用模型來解決圖上定義的問題,例如文獻(xiàn)[11]中的方法,將文本建模為圖。
圖像分類是計(jì)算機(jī)視覺領(lǐng)域的一項(xiàng)非常基礎(chǔ)和重要的任務(wù),它引起了廣泛的關(guān)注,并擁有許多著名的數(shù)據(jù)集,如ImageNet。圖像分類的最新進(jìn)展得益于大數(shù)據(jù)和GPU 計(jì)算的強(qiáng)大功能,這使得我們能夠在不從圖像中提取結(jié)構(gòu)信息的情況下訓(xùn)練一個(gè)分類器。然而,零樣本和少樣本學(xué)習(xí)在圖像分類領(lǐng)域變得越來越流行,因?yàn)榇蠖鄶?shù)模型都能在有足夠數(shù)據(jù)的情況下獲得相似的性能。有幾項(xiàng)工作利用圖神經(jīng)網(wǎng)絡(luò)將結(jié)構(gòu)信息納入圖像分類。首先,知識(shí)圖可以作為額外的信息來指導(dǎo)零樣本識(shí)別分類。文獻(xiàn)[12]構(gòu)建一個(gè)知識(shí)圖,其中每個(gè)節(jié)點(diǎn)對(duì)應(yīng)一個(gè)對(duì)象類別,并將節(jié)點(diǎn)的單詞嵌入作為輸入,以預(yù)測(cè)不同類別。當(dāng)深層卷積結(jié)構(gòu)發(fā)生過平滑效應(yīng)時(shí),在文獻(xiàn)[12]中使用的6 層GCN 將在表示中清除許多有用的信息。為了解決GCN 傳播中的過平滑問題,文獻(xiàn)[13]設(shè)法使用具有較大鄰域的單層GCN,領(lǐng)域中包含單跳節(jié)點(diǎn)和多跳節(jié)點(diǎn)。事實(shí)證明,它可以依據(jù)現(xiàn)有的分類器有效地建立一個(gè)零樣本分類器。
除了知識(shí)圖外,數(shù)據(jù)集中圖像之間的相似性也有助于少樣本學(xué)習(xí)。文獻(xiàn)[14]提出了一種基于相似度的加權(quán)全連通圖像網(wǎng)絡(luò),并在圖中進(jìn)行消息傳遞,實(shí)現(xiàn)少樣本識(shí)別。由于大多數(shù)知識(shí)圖的推理量都很大,文獻(xiàn)[15]選擇了一些相關(guān)的實(shí)體,根據(jù)目標(biāo)檢測(cè)的結(jié)果構(gòu)建子圖,并將GGNN 應(yīng)用于提取的圖中進(jìn)行預(yù)測(cè)。另外,文獻(xiàn)[16]提出構(gòu)建一個(gè)新的知識(shí)圖,其中實(shí)體都是類別。并且,他們定義了三種類型的標(biāo)簽關(guān)系:超從屬關(guān)系、正相關(guān)關(guān)系和負(fù)相關(guān)關(guān)系,并直接在圖中傳播標(biāo)簽的可信度。
盡管GNN 在不同的領(lǐng)域取得了巨大的成功,但值得注意的是,GNN 模型不足以為任何情況下的圖提供令人滿意的解決方案。在本節(jié)中,我們將闡述一些有待進(jìn)一步研究的開放性問題。
(1)淺層結(jié)構(gòu)。傳統(tǒng)的深層神經(jīng)網(wǎng)絡(luò)掃描堆疊了成百上千層以獲得更好的性能,因?yàn)楦畹慕Y(jié)構(gòu)有更多的參數(shù),這顯著提高了模型的表達(dá)能力。然而,圖神經(jīng)網(wǎng)絡(luò)往往是淺層的,大部分都不超過三層。如文獻(xiàn)[17]中的實(shí)驗(yàn)所示,疊加多個(gè)GCN 層將導(dǎo)致過度平滑,也就是說,所有頂點(diǎn)將收斂到相同的值。盡管一些研究人員已經(jīng)設(shè)法解決了這個(gè)問題,但它仍然是GNN 的最大限制。設(shè)計(jì)真正的深度GNN 是未來研究的一個(gè)令人興奮的挑戰(zhàn),它將對(duì)理解GNN 有重要的貢獻(xiàn)。
(2)動(dòng)態(tài)圖。另一個(gè)具有挑戰(zhàn)性的問題是如何處理具有動(dòng)態(tài)結(jié)構(gòu)的圖。靜態(tài)圖是穩(wěn)定的,因此可以對(duì)其進(jìn)行方便地建模,而動(dòng)態(tài)圖則引入了變化的結(jié)構(gòu)。當(dāng)邊和節(jié)點(diǎn)出現(xiàn)或消失時(shí),GNN 不能自適應(yīng)地改變。因此,動(dòng)態(tài)GNN 有待研究,它是通用GNN 穩(wěn)定性和適應(yīng)性的一個(gè)里程碑。
(3)非結(jié)構(gòu)場(chǎng)景。盡管上文已經(jīng)討論了GNN 在非結(jié)構(gòu)場(chǎng)景中的應(yīng)用,目前仍然缺少?gòu)脑紨?shù)據(jù)生成圖的最優(yōu)方法。在圖像域,有些算法利用CNN 獲得特征圖,然后進(jìn)行上采樣生成超像素作為節(jié)點(diǎn),而其他算法利用一些對(duì)象檢測(cè)算法獲取對(duì)象節(jié)點(diǎn)。因此,確定最佳的圖生成方法將為GNN 提供更廣泛的應(yīng)用領(lǐng)域。
(4)可伸縮性。如何在社交網(wǎng)絡(luò)或推薦系統(tǒng)等Web 環(huán)境中應(yīng)用嵌入方法,對(duì)于幾乎所有的圖嵌入算法來說都是一個(gè)致命的問題,GNN 也不例外。擴(kuò)展GNN 是很困難的,因?yàn)樵S多核心步驟都有非常大的計(jì)算量。伸縮性問題決定了一種算法是否可以應(yīng)用到實(shí)際中。有幾項(xiàng)工作提出了他們對(duì)這個(gè)問題的解決辦法[18]。
圖神經(jīng)網(wǎng)絡(luò)(GNN)是基于深度學(xué)習(xí)的,在圖的領(lǐng)域運(yùn)行的方法。GNN 由于其令人信服的性能和較高的解釋能力,近年來已成為一種廣泛應(yīng)用的圖分析方法、機(jī)器學(xué)習(xí)任務(wù)的強(qiáng)大而實(shí)用的工具。這一進(jìn)展歸功于表達(dá)能力、模型靈活性和訓(xùn)練算法等方面的進(jìn)步。在本次概述中,我們對(duì)圖神經(jīng)網(wǎng)絡(luò)進(jìn)行了全面的回顧。對(duì)于GNN 模型,我們介紹了其研究意義、發(fā)展情況和基本原理。此外,我們還總結(jié)了GNN 的應(yīng)用場(chǎng)景,分為結(jié)構(gòu)化場(chǎng)景、非結(jié)構(gòu)化場(chǎng)景和其他場(chǎng)景,然后介紹了前兩種場(chǎng)景中的典型應(yīng)用。最后,我們提出了圖神經(jīng)網(wǎng)絡(luò)的四個(gè)未來研究方向的開放性問題,包括模型深度、可伸縮性、處理動(dòng)態(tài)圖和非結(jié)構(gòu)化場(chǎng)景的能力。