熊 晗
(重慶工商職業(yè)學(xué)院,重慶 400052)
從2009年論文The graph neural network mode發(fā)表以來,圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Network,GNN) 受到越來越多的領(lǐng)域研究與關(guān)注。2016年以后,圖神經(jīng)網(wǎng)絡(luò)在各大頂級會議與相關(guān)論文中占據(jù)相當(dāng)可觀的份額。圖神經(jīng)網(wǎng)絡(luò)的出現(xiàn)有其必然性與重要性。深度神經(jīng)網(wǎng)絡(luò)發(fā)展以來,在圖像、語音、文本等機(jī)器學(xué)習(xí)領(lǐng)域被不斷改進(jìn)與應(yīng)用,其技術(shù)已經(jīng)在商業(yè)化進(jìn)程中取得了巨大的成功[1]。但在互聯(lián)網(wǎng)與公共數(shù)據(jù)領(lǐng)域,很多數(shù)據(jù)采用圖結(jié)構(gòu)才能更好地描述數(shù)據(jù)關(guān)系。而圖數(shù)據(jù)并不規(guī)則,圖節(jié)點(diǎn)上有大量的數(shù)據(jù)屬性,同時圖節(jié)點(diǎn)有不同的鄰接點(diǎn),有不同的關(guān)系描述,因而傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)的計算方式不太能很好地使用在圖數(shù)據(jù)結(jié)構(gòu)上。圖結(jié)構(gòu)的數(shù)據(jù)關(guān)系不僅僅表現(xiàn)在鄰居關(guān)系,多層鄰居關(guān)系也有挖掘的價值,同時還要包括屬性、依賴、泛化、引用等關(guān)系,較為復(fù)雜[1]。
本文將從基礎(chǔ)的圖數(shù)據(jù)結(jié)構(gòu)應(yīng)用場景、圖結(jié)構(gòu)的表示學(xué)習(xí)、圖神經(jīng)網(wǎng)絡(luò)的框架與變體以及圖神經(jīng)網(wǎng)絡(luò)的應(yīng)用場景等幾個方面研究,詳細(xì)地闡述圖神經(jīng)網(wǎng)絡(luò)的基本原理與應(yīng)用;對圖神經(jīng)網(wǎng)絡(luò)技術(shù)進(jìn)行歸納與總結(jié),將圖神經(jīng)網(wǎng)絡(luò)運(yùn)用到實際應(yīng)用領(lǐng)域問題中,顯著優(yōu)化計算機(jī)技術(shù)效能,從而提高完成目標(biāo)的質(zhì)量與效率。
圖數(shù)據(jù)結(jié)構(gòu)就是網(wǎng)絡(luò)中頂點(diǎn)與邊的關(guān)系,涉及“節(jié)點(diǎn)”與“關(guān)系”這兩個重要的屬性。圖數(shù)據(jù)結(jié)構(gòu)本身比較復(fù)雜,并且在實際的應(yīng)用中,類別非常地多。大多數(shù)圖結(jié)構(gòu)在實際的應(yīng)用中采用的是屬性圖,即節(jié)點(diǎn)與關(guān)系都有標(biāo)簽、屬性,這樣能廣泛地表達(dá)多種業(yè)務(wù)(如社交網(wǎng)絡(luò)、電子購物、化學(xué)分子、交通網(wǎng)絡(luò)等)下的實際需求[2]。
由于圖數(shù)據(jù)結(jié)構(gòu)的事物本身就有很復(fù)雜的結(jié)構(gòu),并且它不是標(biāo)準(zhǔn)的歐式數(shù)據(jù),因此很難套用現(xiàn)在成熟的神經(jīng)網(wǎng)絡(luò)框架,如循環(huán)神經(jīng)網(wǎng)絡(luò)(Rerrent Neural Network,RNN)與卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)。在CNN中,輸入數(shù)據(jù)是標(biāo)準(zhǔn)的矩陣形式,卷積核也是標(biāo)準(zhǔn)的柵格結(jié)構(gòu),這種結(jié)構(gòu)與卷積神經(jīng)網(wǎng)絡(luò)機(jī)制形成了良好的對應(yīng)關(guān)系。在RNN中,文本本身就是一種前后關(guān)系緊密關(guān)聯(lián)的數(shù)據(jù),文本的語法與格式有著天然的線性關(guān)系,所以在RNN中應(yīng)用效果顯著。
受圖信號處理基本理論的研究影響,GNN的思路不斷地成熟。在圖結(jié)構(gòu)中,一個節(jié)點(diǎn)可以表示一個對象或概念,而邊可以表示節(jié)點(diǎn)之間的關(guān)系[3]。GNN用一個狀態(tài)向量xn表示節(jié)點(diǎn)n的狀態(tài)。節(jié)點(diǎn)n的狀態(tài)需要用4個部分的向量進(jìn)行計算:節(jié)點(diǎn)n的特征向量、鄰居節(jié)點(diǎn)的特征向量、鄰居節(jié)點(diǎn)的狀態(tài)向量以及邊(與n相連)的特征向量[2]。計算如 式(1)所示。其中i,j,k,m均為l的鄰居節(jié)點(diǎn)。
每次迭代完成所有的點(diǎn),則為更新完成一次。更新分為傳播與輸出,輸出則為最新的狀態(tài)向量。每次迭代計算方法為:
式中:lco[n]表示邊的特征向量,xce[n](t)表示t時刻鄰居節(jié)點(diǎn)的狀態(tài)向量,lce[n]表示鄰居節(jié)點(diǎn)的特征向量。輸出狀態(tài)如式(3)所示:
式中:On(t)表示t時刻的輸出狀態(tài),即迭代穩(wěn)定狀態(tài),xn(t)是t時刻所有鄰居節(jié)點(diǎn)狀態(tài)向量,ln代表鄰居節(jié)點(diǎn)向量,gw表示多輪fw計算。圖神經(jīng)網(wǎng)絡(luò)采用此方式不斷地迭代直至收斂,最終得到一個穩(wěn)定狀態(tài)。每個節(jié)點(diǎn)的最終收斂特征狀態(tài)就是圖神經(jīng)網(wǎng)絡(luò)的最后的表示方式,稱為表示學(xué)習(xí)過程。
表示學(xué)習(xí)是研究如何對模型進(jìn)行描述,達(dá)到能夠表示出模型研究對象特征的特性。研究針對圖數(shù)據(jù)的模型,必須實現(xiàn)針對圖數(shù)據(jù)的端到端的學(xué)習(xí)過程。即基于GNN的方法,必須是輸入端是數(shù)據(jù),輸出端是任務(wù),用空間網(wǎng)絡(luò)中一個低維度的空間向量對該節(jié)點(diǎn)進(jìn)行準(zhǔn)確的表示。GNN針對圖信息的學(xué)習(xí)模式體現(xiàn)在計算公式上,可以把計算過程拆分為兩步:
第一步,對圖中的屬性信息進(jìn)行仿射變換,學(xué)習(xí)屬性特征之間的交互模式;
第二步,聚合鄰居節(jié)點(diǎn)的信息過程,代表了對局部節(jié)點(diǎn)信息的編碼重構(gòu)。
通過以上兩步,迭代式地結(jié)合鄰居節(jié)點(diǎn)的信息來更新當(dāng)前節(jié)點(diǎn)信息。堆疊圖卷積層,讓上述信息的屬性編碼與結(jié)構(gòu)不斷地交替進(jìn)行,完成對圖數(shù)據(jù)的復(fù)雜學(xué)習(xí)模式。
在GNN的學(xué)習(xí)任務(wù)中,GNN類似一個低通濾波器。一般情況下,使用拉普拉斯做二次正則約束可以用如下的公式來表示:
式(4)中:L表示模型的總體損失,L0表示監(jiān)督學(xué)習(xí)中的損失,Lreg表示正則項。從頻域上看,相當(dāng)于對圖數(shù)據(jù)中的信號做了低通濾波處理。式(5)中:f(X)表示分布在圖上各個頂點(diǎn)的一個信息函數(shù),L是拉普拉斯矩陣,則f(X)TLf(X)表示f(X)的平滑程度。從這點(diǎn)可以看出,采用頻域的方式去理解圖數(shù)據(jù)以及GNN具有十分重要的價值??傊贕NN模型中,模型的表示直接基于圖數(shù)據(jù)結(jié)構(gòu),為圖數(shù)據(jù)的學(xué)習(xí)提供了一套端到端的表示方式,對相關(guān)圖數(shù)據(jù)深度學(xué)習(xí)的任務(wù)提供了更好的表示學(xué)習(xí)方式。
目前研究的GNN應(yīng)用框架中,以圖卷積神經(jīng)網(wǎng) 絡(luò)(Graph Convolution Network,GCN)最 為 成熟與完善,GCN在捕獲結(jié)構(gòu)依賴性方面起到了重要作用。除GCN外,生成對抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN),圖自編碼器(Graph Auto Encoders,GAE),圖 生 成 網(wǎng) 絡(luò)(Graph Generative Network,GGN),圖 時 空 網(wǎng) 絡(luò)(Graph Spatio Temporal Network,GSTN)也都是現(xiàn)階段提及較為廣泛的模型[5]。
圖卷積神經(jīng)網(wǎng)絡(luò)(Graph Convolution Network,GCN)將傳統(tǒng)數(shù)據(jù)的卷積算子泛化到圖數(shù)據(jù),這個算法的關(guān)鍵是學(xué)習(xí)一個函數(shù)f(x),能夠結(jié)合Vi鄰居節(jié)點(diǎn)的特征Xj以及其本身特征Xi生成Vi的新 表示。
按照圖神經(jīng)網(wǎng)絡(luò)的定義,對于一層的GCN計算,可以將圖卷積神經(jīng)網(wǎng)絡(luò)定義為式(5):
式中:L(t)表示迭代結(jié)束后的下一時刻節(jié)點(diǎn)新狀態(tài),P表示的是激活函數(shù),N表示鄰接矩陣,表示對稱標(biāo)準(zhǔn)化的鄰接矩陣,Wo為鄰接權(quán)重矩陣。
生成對抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)與GCN類似,致力于尋找一個聚合函數(shù),融合圖中相鄰的節(jié)點(diǎn),隨機(jī)游動和候選模型,學(xué)習(xí)一種新的表示。關(guān)鍵區(qū)別是,GAN使用注意力機(jī)制識別更重要的節(jié)點(diǎn),或者為模型中的重要節(jié)點(diǎn)分配更大的權(quán)重,然后將權(quán)重與整個網(wǎng)絡(luò)一起學(xué)習(xí)。
圖自編碼器(Graph Auto Encoders,GAE)是一種無監(jiān)督學(xué)習(xí)框架,通過編碼器學(xué)習(xí)一種低維點(diǎn)向量,然后通過解碼器重構(gòu)圖數(shù)據(jù)。GAE是一種常用的學(xué)習(xí)圖嵌入的方法,既適用于無屬性信息的普通圖,還適用于有屬性圖。對于屬性圖,圖自編碼模型利用GCN作為一個構(gòu)建塊用于編碼,并且通過鏈路預(yù)測解碼器重構(gòu)結(jié)構(gòu)信息。
圖生成網(wǎng)絡(luò)(Graph Generative Network,GGN)旨在從數(shù)據(jù)中生成可信的信息,生成給定圖經(jīng)驗分布的圖從根本上來說是具有挑戰(zhàn)性的,主要因為圖是復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。為了解決這個問題,采用生成網(wǎng)絡(luò)模型交替形成節(jié)點(diǎn)和邊,以此作為生成過程的因素,并借助生成過程作為訓(xùn)練過程。GGN一個很有前途的應(yīng)用領(lǐng)域是化合物合成。在化學(xué)圖中,視原子為節(jié)點(diǎn),化學(xué)鍵為邊,任務(wù)是發(fā)現(xiàn)具有一定化學(xué)和物理性質(zhì)的可合成的新分子。
GSTN從時空圖模型發(fā)展而來,在交通預(yù)測和人類活動預(yù)測等應(yīng)用中越來越重要。例如,道路交通網(wǎng)絡(luò)是一個自然圖,其中每個關(guān)鍵位置是一個節(jié)點(diǎn),它的交通數(shù)據(jù)是被連續(xù)監(jiān)測的,通過建立有效的GSTN,能夠準(zhǔn)確預(yù)測整個交通系統(tǒng)的交通狀態(tài),從而實現(xiàn)圖模型在交通領(lǐng)域的應(yīng)用。這種模型同時考慮了空間依賴性和時間依賴性,提升了信息挖掘效率。
圖數(shù)據(jù)結(jié)構(gòu)有著廣泛的應(yīng)用場景,特別是在大數(shù)據(jù)場合,往往都有圖數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)。隨著GNN技術(shù)在近幾年的發(fā)展,如GCN這類應(yīng)用型的圖卷積框架已經(jīng)在生產(chǎn)商業(yè)環(huán)境進(jìn)行了廣泛的應(yīng)用。GNN在圖形圖像處理、自然語言處理、計算機(jī)視覺、知識圖譜、推薦系統(tǒng)以及數(shù)據(jù)組合優(yōu)化等研究方向有著重要的研究應(yīng)用價值[4]。
在場景圖生成中,目標(biāo)之間的語義關(guān)系有助于理解視覺場景背后的語義。給定圖像,場景圖生成模型檢測和識別目標(biāo)并預(yù)測目標(biāo)對之間的語義關(guān)系。另一個應(yīng)用是在給定場景圖的情況下生成逼真的圖像,與上述過程相反。由于自然語言可以被解析為語義圖,其中每個單詞代表一個對象,因此,在給定文本描述的情況下合成圖像,是一種很有前途的 應(yīng)用。
在推薦系統(tǒng)中,目前研究人員已經(jīng)在在線社區(qū)、Facebook、微博、微信等社交平臺上,通過朋友添加、評論關(guān)注、加粉關(guān)注等行為,建立用戶之間的關(guān)系圖譜,通過用戶的圖數(shù)據(jù)結(jié)構(gòu)關(guān)系,建立有效的推薦算法模型。下一步對用戶的消費(fèi)行為進(jìn)行建模,預(yù)測用戶的行為偏好,同時完成了用戶的偏好刻畫。研究發(fā)現(xiàn),基于圖的深度學(xué)習(xí)模型,不僅能更好地找出用戶之間的關(guān)系,還能根據(jù)圖模型找出被推薦項目之間的關(guān)系與影響,以此捕捉更為全面的推薦信息。
縱觀GNN的各類應(yīng)用,GNN表現(xiàn)出3個優(yōu)勢。
(1)GNN具有強(qiáng)大的圖數(shù)據(jù)擬合能力。作為一種端到端的學(xué)習(xí)方式,GNN展現(xiàn)出的是針對圖數(shù)據(jù)更為強(qiáng)大的擬合能力,因為GNN的框架模型能更好地捕獲鄰接點(diǎn)更多的信息。
(2)GNN具有更為優(yōu)秀的推理能力。GNN對語義的表征任務(wù)有著更為強(qiáng)大的優(yōu)勢,在許多識別任務(wù)上都取得了前所未有的進(jìn)步,這得益于GNN能對語言模型進(jìn)行整體性的建模,將更好地理解語義上下文。
(3)GNN能更好地與知識圖譜結(jié)合??梢允褂脠D神經(jīng)網(wǎng)絡(luò)將先驗知識端的形式高效地嵌入系統(tǒng)中,這些知識如規(guī)則、經(jīng)驗、常識實施等,為模型提供了更多的相關(guān)信息,從而提升學(xué)習(xí)準(zhǔn)確度與學(xué)習(xí)效率。
總體來說,在目前的研究中,相對于處理關(guān)系型結(jié)構(gòu)的CNN與RNN,GNN有著更為靈活的特性,能夠與圖結(jié)構(gòu)的數(shù)據(jù)更為深度地耦合。在應(yīng)用圖神經(jīng)網(wǎng)絡(luò)的時候,一定要找準(zhǔn)數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)與圖數(shù)據(jù)模型的特點(diǎn),精準(zhǔn)定位問題與關(guān)鍵技術(shù),獲得相關(guān)場景的最優(yōu)效果。目前GNN中的GCN模型在研究中得到了更為廣泛的應(yīng)用,GCN在自然語言處理和社交網(wǎng)絡(luò)信息挖掘方面都有成熟的應(yīng)用案例。后期研究將以GCN為基礎(chǔ),研究圖神經(jīng)網(wǎng)絡(luò)在自然語言中的應(yīng)用。