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

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

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

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

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

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