趙佳英
(浙大寧波理工學(xué)院圖書與信息技術(shù)中心,浙江 寧波 315199)
過去幾年,應(yīng)對(duì)圖像、語音、視頻、自然語言等各種形式的數(shù)據(jù),深度學(xué)習(xí)獲得了十分好的成效。越來越多的相關(guān)應(yīng)用進(jìn)入了實(shí)用階段,如目標(biāo)檢測(cè)、機(jī)器翻譯、語音和人臉識(shí)別等。但這些任務(wù)的數(shù)據(jù)通常為節(jié)點(diǎn)具有固定排列規(guī)則和順序的歐式數(shù)據(jù)。近年來,越來越多的實(shí)際應(yīng)用問題必須要考慮不規(guī)則的圖數(shù)據(jù),諸如電子商務(wù)、生物制藥和交通網(wǎng)絡(luò)等[1]。不同于文本和圖像數(shù)據(jù),圖數(shù)據(jù)中的節(jié)點(diǎn)沒有固定的排列規(guī)則和順序,每個(gè)圖具有可變大小的無序節(jié)點(diǎn),且每個(gè)節(jié)點(diǎn)的鄰居數(shù)量也不盡相同。研究人員借鑒卷積網(wǎng)絡(luò)和深度自動(dòng)編碼器的思想,將專門處理非歐空間數(shù)據(jù)的圖模型擴(kuò)展到深度學(xué)習(xí)模型中,形成了圖神經(jīng)網(wǎng)絡(luò)。
2005年,GORI在其論文《A new model for learning in graph domains》中,首次提出了圖神經(jīng)網(wǎng)絡(luò)的概念,將圖預(yù)處理轉(zhuǎn)換為一組向量表示,并將學(xué)習(xí)過程直接架構(gòu)于圖數(shù)據(jù)之上[2]。至此,圖神經(jīng)網(wǎng)絡(luò)經(jīng)歷了引入監(jiān)督學(xué)習(xí)方法、引入卷積神經(jīng)網(wǎng)絡(luò)、基于頻域卷積圖神經(jīng)網(wǎng)絡(luò)到基于空域卷積圖神經(jīng)網(wǎng)絡(luò)等過程,計(jì)算效率逐步提高,實(shí)現(xiàn)了圖數(shù)據(jù)端到端的學(xué)習(xí)。本文重在闡述文獻(xiàn)[3]分類方法的4種圖神經(jīng)網(wǎng)絡(luò)的基本模型,并總結(jié)分析了它們的異同,主體結(jié)構(gòu)如圖1所示。

圖1 主體結(jié)構(gòu)
圖作為一種常見的數(shù)據(jù)結(jié)構(gòu),由節(jié)點(diǎn)和連接節(jié)點(diǎn)的邊組成。節(jié)點(diǎn)用來表示研究的對(duì)象,邊表示2個(gè)對(duì)象直接的特定關(guān)系,通常使用鄰接矩陣A來表示它們之間的關(guān)系。設(shè)圖G=(V,E),鄰接矩陣A為:
度矩陣是對(duì)角元素為各節(jié)點(diǎn)度個(gè)數(shù)的對(duì)角陣,Dij=∑jAij用來表示單個(gè)對(duì)象節(jié)點(diǎn)與之相連接的節(jié)點(diǎn)數(shù)量。根據(jù)圖的鄰接矩陣和圖的度矩陣,圖的拉普拉斯矩陣可表示為L(zhǎng)=D-A,它是整合了節(jié)點(diǎn)自身信息和鄰居節(jié)點(diǎn)結(jié)構(gòu)信息的矩陣。借助于圖的拉普拉斯矩陣,可以求得特征值和特征向量,以便進(jìn)行后續(xù)圖的研究。
傅里葉變換是利用圖拉普拉斯求得的特征值和特征向量,在圖特征提取中將時(shí)域信號(hào)轉(zhuǎn)化為不同頻率正弦函數(shù)和余弦函數(shù)的累加和的函數(shù)變換,其實(shí)質(zhì)是對(duì)圖數(shù)據(jù)進(jìn)行降維,簡(jiǎn)化復(fù)雜圖數(shù)據(jù)的計(jì)算工作量。本文常見符號(hào)定義如表1所示。

表1 (續(xù))

表1 符號(hào)定義
循環(huán)遞歸圖神經(jīng)網(wǎng)絡(luò)作為圖神經(jīng)網(wǎng)絡(luò)的先驅(qū),它假定圖中的每個(gè)節(jié)點(diǎn)通過循環(huán)遞歸的方式,不斷與其鄰居節(jié)點(diǎn)交換信息,同時(shí)更新節(jié)點(diǎn)受其鄰居節(jié)點(diǎn)影響的特征表示,直到達(dá)到穩(wěn)定[3]。其本質(zhì)是模擬人的記憶能力,在圖學(xué)習(xí)過程中記錄節(jié)點(diǎn)周邊已出現(xiàn)的信息,并利用這些信息影響后續(xù)節(jié)點(diǎn)的輸出。
節(jié)點(diǎn)i的隱藏特征表示為時(shí)刻節(jié)點(diǎn)i的隱藏特征受i節(jié)點(diǎn)特征xi、i與其鄰居節(jié)j的邊權(quán)重wi,j、鄰居節(jié)點(diǎn)j特征xj以及上一時(shí)刻節(jié)點(diǎn)i的隱藏特征的共同影響,其中,遞歸函數(shù)f(·)必須滿足收斂準(zhǔn)則。循環(huán)遞歸神經(jīng)網(wǎng)絡(luò)不是一次性將圖的所有節(jié)點(diǎn)信息輸入,而是通過每個(gè)時(shí)刻,節(jié)點(diǎn)數(shù)據(jù)輸入與前一時(shí)刻所得的輸出結(jié)果進(jìn)行結(jié)合獲得新的輸出,以此遍歷整個(gè)圖網(wǎng)絡(luò)。循環(huán)遞歸圖神經(jīng)網(wǎng)絡(luò)多與長(zhǎng)短時(shí)記憶算法結(jié)合,使得信息可以在層與層之間傳遞,在此基礎(chǔ)上,研究者結(jié)合卷積核運(yùn)算提出了卷積圖神經(jīng)網(wǎng)絡(luò)。
卷積圖神經(jīng)網(wǎng)絡(luò)是將卷積運(yùn)算應(yīng)用到圖數(shù)據(jù)學(xué)習(xí)中,主要是通過聚合自身節(jié)點(diǎn)和其鄰居節(jié)點(diǎn)特征,并經(jīng)過多個(gè)圖卷積層運(yùn)算,實(shí)現(xiàn)節(jié)點(diǎn)特征的提取。卷積圖神經(jīng)網(wǎng)絡(luò)具有卷積神經(jīng)網(wǎng)絡(luò)的相似性質(zhì),卷積層數(shù)越多,感受域越廣,參與運(yùn)算的信息也越多。卷積圖神經(jīng)網(wǎng)絡(luò)主要分為2類:①以圖信號(hào)表示為基礎(chǔ)的基于頻域的卷積圖神經(jīng)網(wǎng)絡(luò);②以信息傳播定義為基礎(chǔ)的基于空域的卷積圖神經(jīng)網(wǎng)絡(luò)。
基于空域的卷積圖神經(jīng)網(wǎng)絡(luò)以單個(gè)節(jié)點(diǎn)的空間來定義圖卷積算子,將當(dāng)前節(jié)點(diǎn)的特征與其鄰居節(jié)點(diǎn)的特征進(jìn)行卷積運(yùn)算,計(jì)算得出當(dāng)前節(jié)點(diǎn)的隱藏特征。也就是說,空域卷積是通過聚合鄰居節(jié)點(diǎn)來收集信息的,它將當(dāng)前節(jié)點(diǎn)所有鄰居節(jié)點(diǎn)的隱藏特征進(jìn)行加和,來更新當(dāng)前節(jié)點(diǎn)的隱藏特征[4]。因此,第k層的卷積公式為
隨著技術(shù)的發(fā)展,基于空域的圖卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行了很多變型,在此基礎(chǔ)上,關(guān)于鄰居節(jié)點(diǎn)進(jìn)行采樣和聚合等的方式改進(jìn)方面有大量論文可供參考。
基于頻域的卷積圖神經(jīng)網(wǎng)絡(luò)利用圖傅里葉變換來實(shí)現(xiàn)卷積。首先將圖的拉普拉斯矩陣分解為特征值和特征向量,導(dǎo)出頻域上的拉普拉斯算子,類似歐式空間卷積過程進(jìn)行計(jì)算。圖的卷積公式為:

依據(jù)傅里葉變換的乘積定理,式(1)表示節(jié)點(diǎn)特征x和可學(xué)習(xí)權(quán)重參數(shù)w卷積的傅里葉變換等于節(jié)點(diǎn)特征的傅里葉變換UTx和可學(xué)習(xí)參數(shù)的傅里葉變換UTw的乘積。其中UT為傅里葉變換的基,U為傅里葉逆變換的基,它們可由圖的拉普拉斯矩陣進(jìn)行特征分解得到。其中UTw整體可以看成一個(gè)可學(xué)習(xí)的卷積核。因此,實(shí)現(xiàn)堆疊多個(gè)圖卷積層,引入非線性激活函數(shù)σ(·)后,第k層的卷積公式為:

圖自編碼器是一種無監(jiān)督的學(xué)習(xí),它分為編碼和重構(gòu)2部分。首先它通過學(xué)習(xí)節(jié)點(diǎn)分布,將圖編碼到一個(gè)低維隱藏向量空間中,再利用得到的學(xué)習(xí)結(jié)果重構(gòu)原始圖。最簡(jiǎn)單的圖自編碼器是一個(gè)前饋非循環(huán)的圖神經(jīng)網(wǎng)絡(luò),用一層或多層隱藏層連接輸入和輸出,重構(gòu)結(jié)果也只包含原圖中最相關(guān)的部分。一個(gè)好的重構(gòu)器應(yīng)該能使重構(gòu)圖的鄰接矩陣與原始圖的鄰接矩陣盡可能相似。
編碼器啟發(fā)于傳統(tǒng)的主成分分析,是一種非線性降維算法,通常由2個(gè)圖卷積層Gconv(·)組成,從圖的鄰接矩陣A和特征向量x學(xué)習(xí)得到圖的低維向量表示為:

式(3)中:W1、W2為待學(xué)習(xí)的參數(shù)。
解碼器旨在通過解碼圖的低維向量表示來重建圖的鄰接矩陣,實(shí)現(xiàn)圖生成,形式為
簡(jiǎn)單的圖自編碼器可能出現(xiàn)圖重構(gòu)的過擬合現(xiàn)象,因此,在自編碼器的基礎(chǔ)上結(jié)合圖數(shù)據(jù)分布,利用KL散度,引入了變分自編碼器,避免過擬合風(fēng)險(xiǎn)。其本質(zhì)也是利用2個(gè)圖卷積層Gconv,μ(·),Gconv,σ(·),但它們用來分別計(jì)算均值μ和方差σ2,并使其圖模型符合正態(tài)分布,再利用均值向量和協(xié)方差矩陣的解碼器采樣來重構(gòu)原始圖,其編碼器為:

時(shí)空?qǐng)D神經(jīng)網(wǎng)絡(luò)用于捕捉圖的動(dòng)態(tài)性,結(jié)合考慮空間依賴性和時(shí)間依賴性[5],假定節(jié)點(diǎn)的未來信息取決于該節(jié)點(diǎn)和其鄰居節(jié)點(diǎn)的歷史信息。
遞歸圖神經(jīng)網(wǎng)絡(luò)結(jié)合空間依賴性,t時(shí)刻的節(jié)點(diǎn)特征表示形式為但基于遞歸圖神經(jīng)網(wǎng)絡(luò)算法,可能存在耗時(shí)迭代和梯度爆炸或者梯度消失的問題。
卷積圖神經(jīng)網(wǎng)絡(luò)在考慮空間依賴性的基礎(chǔ)上,采用擴(kuò)展的因果卷積作為時(shí)間卷積層,來學(xué)習(xí)節(jié)點(diǎn)的時(shí)間特征,其表示形式為h(t)=σ{Gconv(x(t-1),A;w)+Gconv(h(t),A;U)+b},通過非遞歸的方式處理時(shí)空?qǐng)D,具有并行計(jì)算和梯度問題的優(yōu)點(diǎn),對(duì)內(nèi)存需求也較低。
圖神經(jīng)網(wǎng)絡(luò)是用來高效處理非歐式圖數(shù)據(jù)的重要模型之一,在學(xué)習(xí)圖數(shù)據(jù)方面展現(xiàn)了強(qiáng)大的能力,本文總結(jié)概述了循環(huán)遞歸圖神經(jīng)網(wǎng)絡(luò)、卷積圖神經(jīng)網(wǎng)絡(luò)、圖自編碼器和時(shí)空?qǐng)D神經(jīng)網(wǎng)絡(luò)的基本模型。循環(huán)遞歸圖神經(jīng)網(wǎng)絡(luò)是圖神經(jīng)網(wǎng)絡(luò)的先驅(qū),通過循環(huán)遞歸的方式聚合鄰居節(jié)點(diǎn)的信息,受計(jì)算能力限制較大,適用于時(shí)序性的特征學(xué)習(xí)任務(wù);受啟發(fā)于遞歸循環(huán)圖神經(jīng)網(wǎng)絡(luò)的卷積圖神經(jīng)網(wǎng)絡(luò)使用神經(jīng)元之間的連通性,旨在減少預(yù)處理,降低空間復(fù)雜度和時(shí)間復(fù)雜度,是一種半監(jiān)督學(xué)習(xí)算法,適用于節(jié)點(diǎn)分類和邊處理;圖自編碼器作為一種無監(jiān)督學(xué)習(xí)方式,利用編碼器和解碼器完成網(wǎng)絡(luò)嵌入和圖生成,可用來做鏈路預(yù)測(cè)和推薦任務(wù);時(shí)空?qǐng)D神經(jīng)網(wǎng)絡(luò)結(jié)合空間依賴性和時(shí)間依賴性,使得圖結(jié)構(gòu)學(xué)習(xí)更加完整,多用于預(yù)測(cè)任務(wù)。在4種模型基礎(chǔ)之上,眾多變種的圖神經(jīng)網(wǎng)絡(luò)模型不斷涌現(xiàn),但模型在動(dòng)態(tài)網(wǎng)絡(luò)、異構(gòu)圖等方面仍存在一些局限性。隨著科研人員的不斷學(xué)習(xí)研究,這些問題終能得到解決。