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