熊 晗
(重慶工商職業學院,重慶 400052)
從2009年論文The graph neural network mode發表以來,圖神經網絡(Graph Neural Network,GNN) 受到越來越多的領域研究與關注。2016年以后,圖神經網絡在各大頂級會議與相關論文中占據相當可觀的份額。圖神經網絡的出現有其必然性與重要性。深度神經網絡發展以來,在圖像、語音、文本等機器學習領域被不斷改進與應用,其技術已經在商業化進程中取得了巨大的成功[1]。但在互聯網與公共數據領域,很多數據采用圖結構才能更好地描述數據關系。而圖數據并不規則,圖節點上有大量的數據屬性,同時圖節點有不同的鄰接點,有不同的關系描述,因而傳統的卷積神經網絡的計算方式不太能很好地使用在圖數據結構上。圖結構的數據關系不僅僅表現在鄰居關系,多層鄰居關系也有挖掘的價值,同時還要包括屬性、依賴、泛化、引用等關系,較為復雜[1]。
本文將從基礎的圖數據結構應用場景、圖結構的表示學習、圖神經網絡的框架與變體以及圖神經網絡的應用場景等幾個方面研究,詳細地闡述圖神經網絡的基本原理與應用;對圖神經網絡技術進行歸納與總結,將圖神經網絡運用到實際應用領域問題中,顯著優化計算機技術效能,從而提高完成目標的質量與效率。
圖數據結構就是網絡中頂點與邊的關系,涉及“節點”與“關系”這兩個重要的屬性。圖數據結構本身比較復雜,并且在實際的應用中,類別非常地多。大多數圖結構在實際的應用中采用的是屬性圖,即節點與關系都有標簽、屬性,這樣能廣泛地表達多種業務(如社交網絡、電子購物、化學分子、交通網絡等)下的實際需求[2]。
由于圖數據結構的事物本身就有很復雜的結構,并且它不是標準的歐式數據,因此很難套用現在成熟的神經網絡框架,如循環神經網絡(Rerrent Neural Network,RNN)與卷積神經網絡(Convolutional Neural Networks,CNN)。在CNN中,輸入數據是標準的矩陣形式,卷積核也是標準的柵格結構,這種結構與卷積神經網絡機制形成了良好的對應關系。在RNN中,文本本身就是一種前后關系緊密關聯的數據,文本的語法與格式有著天然的線性關系,所以在RNN中應用效果顯著。
受圖信號處理基本理論的研究影響,GNN的思路不斷地成熟。在圖結構中,一個節點可以表示一個對象或概念,而邊可以表示節點之間的關系[3]。GNN用一個狀態向量xn表示節點n的狀態。節點n的狀態需要用4個部分的向量進行計算:節點n的特征向量、鄰居節點的特征向量、鄰居節點的狀態向量以及邊(與n相連)的特征向量[2]。計算如 式(1)所示。其中i,j,k,m均為l的鄰居節點。
每次迭代完成所有的點,則為更新完成一次。更新分為傳播與輸出,輸出則為最新的狀態向量。每次迭代計算方法為:

式中:lco[n]表示邊的特征向量,xce[n](t)表示t時刻鄰居節點的狀態向量,lce[n]表示鄰居節點的特征向量。輸出狀態如式(3)所示:

式中:On(t)表示t時刻的輸出狀態,即迭代穩定狀態,xn(t)是t時刻所有鄰居節點狀態向量,ln代表鄰居節點向量,gw表示多輪fw計算。圖神經網絡采用此方式不斷地迭代直至收斂,最終得到一個穩定狀態。每個節點的最終收斂特征狀態就是圖神經網絡的最后的表示方式,稱為表示學習過程。
表示學習是研究如何對模型進行描述,達到能夠表示出模型研究對象特征的特性。研究針對圖數據的模型,必須實現針對圖數據的端到端的學習過程。即基于GNN的方法,必須是輸入端是數據,輸出端是任務,用空間網絡中一個低維度的空間向量對該節點進行準確的表示。GNN針對圖信息的學習模式體現在計算公式上,可以把計算過程拆分為兩步:
第一步,對圖中的屬性信息進行仿射變換,學習屬性特征之間的交互模式;
第二步,聚合鄰居節點的信息過程,代表了對局部節點信息的編碼重構。
通過以上兩步,迭代式地結合鄰居節點的信息來更新當前節點信息。堆疊圖卷積層,讓上述信息的屬性編碼與結構不斷地交替進行,完成對圖數據的復雜學習模式。
在GNN的學習任務中,GNN類似一個低通濾波器。一般情況下,使用拉普拉斯做二次正則約束可以用如下的公式來表示:

式(4)中:L表示模型的總體損失,L0表示監督學習中的損失,Lreg表示正則項。從頻域上看,相當于對圖數據中的信號做了低通濾波處理。式(5)中:f(X)表示分布在圖上各個頂點的一個信息函數,L是拉普拉斯矩陣,則f(X)TLf(X)表示f(X)的平滑程度。從這點可以看出,采用頻域的方式去理解圖數據以及GNN具有十分重要的價值。總之,在GNN模型中,模型的表示直接基于圖數據結構,為圖數據的學習提供了一套端到端的表示方式,對相關圖數據深度學習的任務提供了更好的表示學習方式。
目前研究的GNN應用框架中,以圖卷積神經網 絡(Graph Convolution Network,GCN)最 為 成熟與完善,GCN在捕獲結構依賴性方面起到了重要作用。除GCN外,生成對抗網絡(Generative Adversarial Networks,GAN),圖自編碼器(Graph Auto Encoders,GAE),圖 生 成 網 絡(Graph Generative Network,GGN),圖 時 空 網 絡(Graph Spatio Temporal Network,GSTN)也都是現階段提及較為廣泛的模型[5]。
圖卷積神經網絡(Graph Convolution Network,GCN)將傳統數據的卷積算子泛化到圖數據,這個算法的關鍵是學習一個函數f(x),能夠結合Vi鄰居節點的特征Xj以及其本身特征Xi生成Vi的新 表示。
按照圖神經網絡的定義,對于一層的GCN計算,可以將圖卷積神經網絡定義為式(5):

式中:L(t)表示迭代結束后的下一時刻節點新狀態,P表示的是激活函數,N表示鄰接矩陣,表示對稱標準化的鄰接矩陣,Wo為鄰接權重矩陣。
生成對抗網絡(Generative Adversarial Networks,GAN)與GCN類似,致力于尋找一個聚合函數,融合圖中相鄰的節點,隨機游動和候選模型,學習一種新的表示。關鍵區別是,GAN使用注意力機制識別更重要的節點,或者為模型中的重要節點分配更大的權重,然后將權重與整個網絡一起學習。
圖自編碼器(Graph Auto Encoders,GAE)是一種無監督學習框架,通過編碼器學習一種低維點向量,然后通過解碼器重構圖數據。GAE是一種常用的學習圖嵌入的方法,既適用于無屬性信息的普通圖,還適用于有屬性圖。對于屬性圖,圖自編碼模型利用GCN作為一個構建塊用于編碼,并且通過鏈路預測解碼器重構結構信息。
圖生成網絡(Graph Generative Network,GGN)旨在從數據中生成可信的信息,生成給定圖經驗分布的圖從根本上來說是具有挑戰性的,主要因為圖是復雜的數據結構。為了解決這個問題,采用生成網絡模型交替形成節點和邊,以此作為生成過程的因素,并借助生成過程作為訓練過程。GGN一個很有前途的應用領域是化合物合成。在化學圖中,視原子為節點,化學鍵為邊,任務是發現具有一定化學和物理性質的可合成的新分子。
GSTN從時空圖模型發展而來,在交通預測和人類活動預測等應用中越來越重要。例如,道路交通網絡是一個自然圖,其中每個關鍵位置是一個節點,它的交通數據是被連續監測的,通過建立有效的GSTN,能夠準確預測整個交通系統的交通狀態,從而實現圖模型在交通領域的應用。這種模型同時考慮了空間依賴性和時間依賴性,提升了信息挖掘效率。
圖數據結構有著廣泛的應用場景,特別是在大數據場合,往往都有圖數據結構的數據。隨著GNN技術在近幾年的發展,如GCN這類應用型的圖卷積框架已經在生產商業環境進行了廣泛的應用。GNN在圖形圖像處理、自然語言處理、計算機視覺、知識圖譜、推薦系統以及數據組合優化等研究方向有著重要的研究應用價值[4]。
在場景圖生成中,目標之間的語義關系有助于理解視覺場景背后的語義。給定圖像,場景圖生成模型檢測和識別目標并預測目標對之間的語義關系。另一個應用是在給定場景圖的情況下生成逼真的圖像,與上述過程相反。由于自然語言可以被解析為語義圖,其中每個單詞代表一個對象,因此,在給定文本描述的情況下合成圖像,是一種很有前途的 應用。
在推薦系統中,目前研究人員已經在在線社區、Facebook、微博、微信等社交平臺上,通過朋友添加、評論關注、加粉關注等行為,建立用戶之間的關系圖譜,通過用戶的圖數據結構關系,建立有效的推薦算法模型。下一步對用戶的消費行為進行建模,預測用戶的行為偏好,同時完成了用戶的偏好刻畫。研究發現,基于圖的深度學習模型,不僅能更好地找出用戶之間的關系,還能根據圖模型找出被推薦項目之間的關系與影響,以此捕捉更為全面的推薦信息。
縱觀GNN的各類應用,GNN表現出3個優勢。
(1)GNN具有強大的圖數據擬合能力。作為一種端到端的學習方式,GNN展現出的是針對圖數據更為強大的擬合能力,因為GNN的框架模型能更好地捕獲鄰接點更多的信息。
(2)GNN具有更為優秀的推理能力。GNN對語義的表征任務有著更為強大的優勢,在許多識別任務上都取得了前所未有的進步,這得益于GNN能對語言模型進行整體性的建模,將更好地理解語義上下文。
(3)GNN能更好地與知識圖譜結合。可以使用圖神經網絡將先驗知識端的形式高效地嵌入系統中,這些知識如規則、經驗、常識實施等,為模型提供了更多的相關信息,從而提升學習準確度與學習效率。
總體來說,在目前的研究中,相對于處理關系型結構的CNN與RNN,GNN有著更為靈活的特性,能夠與圖結構的數據更為深度地耦合。在應用圖神經網絡的時候,一定要找準數據結構的特點與圖數據模型的特點,精準定位問題與關鍵技術,獲得相關場景的最優效果。目前GNN中的GCN模型在研究中得到了更為廣泛的應用,GCN在自然語言處理和社交網絡信息挖掘方面都有成熟的應用案例。后期研究將以GCN為基礎,研究圖神經網絡在自然語言中的應用。