湯齊浩,楊 亮
(河北工業大學人工智能與數據科學學院,天津 300401)
現實世界中的對象及其互動通常是多模式和多類型的,異構圖能夠很好地對這些復雜而多樣的聯系進行建模,它包含了多種類型的節點或邊,并廣泛存在于自然科學和社會科學界,比如引文網絡和電商網絡。近些年來,異構圖表征學習受到了廣泛關注,并基于這個研究發展了異構圖神經網絡(heterogeneous graph neural networks,HGNNs)。
然而,現有的HGNNs 基于節點交互的方式來進行鄰居信息聚合,這種方法雖然能夠較好地捕捉簡單的二元關系,但存在于鄰居節點之間的高階語義聯系卻被忽略,因此,節點表征無法蘊含其局部特征。一些基于異構注意力機制[1-3]的方法引入了與類型有關的注意力層來捕獲類型信息,不同類型的節點基于各自的上下文進行交互,這種方式不僅需要引入大量的參數組,而且對圖中存在的噪聲較為敏感,另外,還需要多個注意力頭來提取多樣化的局部信息,由于多個注意力頭之間沒有任何約束,這使得捕獲的信息存在高度的冗余性。盡管后來一些方法[4-5]將超圖與異構圖進行結合來進一步考慮節點之間的高階關系,它們利用元路徑實例構建超邊,將原始異構圖分解成多重超圖,然而這些方法受限于專家知識預定義的元路徑,而且也僅僅將這種高階關系局限于元路徑內部。
針對上述問題,本文提出了基于局部建模的異構圖表征學習方法L2NH。該方法通過構建鄰居節點之間的協方差矩陣來捕獲它們之間潛在的語義聯系,為了進一步融入邊的類型信息,提出關系編碼對局部網絡進行“去異”操作,并將類型信息融入到協方差矩陣從而全面地描述局部網絡特征。然后將局部子網進行特征值分解并從一個全局的視角進行鄰居聚合,即局部到點的聚合方式,使得節點表征蘊含其局部特征。最后在分解的基礎上,提出了一種多通道機制來捕獲多樣化的局部信息。
本節將詳細闡述所提出的L2NH模型,它的總體框架如圖1所示,可分為多關系局部網絡提取、關系編碼與相關性建模和多通道融合三個階段。

圖1 L2NH模型示意圖
在第一階段中,以每個節點為中心提取它所在的局部子網。如圖1(a)所示,淺藍色橢圓區域代表以節點v為中心的局部網絡。在第二階段中,首先以關系編碼的方式將邊表征增廣到節點表征上進行“去異”操作,然后構建節點之間的協方差矩陣來挖掘它們之間的潛在語義聯系,具體示意圖見圖1(b)。在第三階段,對局部網絡進行分解得到多個正交的通道,在每個通道中得到蘊含局部特征的節點表征,最后通過注意力機制將這些表征進行融合得到最終的節點表征,如圖1(c)所示,圖中u1、u2、u3坐標軸代表著3個通道的方向,不同的通道兩兩正交,zv表示多個通道下的表征經過注意力融合之后最終節點v的表征。
一個異構圖可以被定義G={V,E,Tv,Te,?,φ} ,它包括節點集V、邊集E、節點類型集合Tv和邊類型(或者關系)集合Te,由于包含多種類型的節點或邊,它還定義了一個節點類型映射函數?:V→Tv和一個邊類型映射函數φ:E→Te。對于任何關系r∈Te,都可以得到一個關系矩陣Ar∈R|V|×|V|,它對應著G的一個二部子圖。對于Ar中的任何非0 元素aij,它表示節點vi與vj之間存在關系r,反之則不存在。最后將所有的關系矩陣加在一起得到G的鄰接矩陣A,其具體表達式如下:
對于節點v來說,它對應的局部網絡可以從A的第v列導出,將提取節點v的局部網絡定義如下:
其中:f(). 代表子圖提取操作,Gv表示以v為中心的局部子網,它包含了v的一階鄰居以及它們關聯的邊,如圖1(a)淺藍色區域所示。
當得到多關系局部子網Gv以后,開始進行局部建模來挖掘潛在的語義聯系。為了方便闡述,這里僅僅關注模型的第一層,并且不失一般性地假設Gv一共有M個節點。這些節點的屬性矩陣表示為Xv=[x1,x2,…,xM],每一列對應一個節點的屬性向量,它們關聯的關系集合為。
由于不同類型的節點可能具有不同維度的屬性,因此采用了針對每種節點類型的線性層,將節點特征映射到共享的特征空間,具體表達式如下:
表示節點的原始特征向量,hv∈RF表示對齊之后的節點向量,表示可學習參數矩陣,即一個與節點原始特征維度有關的線性層。
正如前文所述,傳統的點對點傳播方式默認鄰居節點之間相互獨立而忽略了它們的潛在語義聯系,本文提出的L2NH模型認為鄰居節點之間具有相關性,節點之間的傳播應該反映節點周圍的特征。具體而言,L2NH 構建了一個協方差矩陣來描述鄰居節點之間的相關性,并采用自注意力機制[6]來捕捉這種成對的依賴關系。自注意力機制可以描述為一個映射函數,它接受一個查詢和一系列鍵值對作為輸入,并生成一個輸出。為了避免引入過多的參數組增加模型的復雜度,L2NH 僅使用一個投影矩陣來簡化查詢(Q)、鍵(K)和值(V)矩陣的獲取過程。用H=[h1,h2,…,hM]表示Gv中的節點投影到公共空間的表征矩陣,它的每一列對應著一個節點,然后再通過一個投影矩陣W∈RF×F將所有節點映射到隱藏層表征空間來獲取Q、K、V三種矩陣,它們表示如下:
受圖像尺度歸一化[7]使得圖像更具有對比度的啟發,節點的每個維度減去節點整體平均值的操作使得節點在每個維度上的表征更具有區分度和可比性。設所有節點的平均值構成局部網絡的平均向量,它表示為μ=[μ1,μ2,…,μM]T,對于μv∈R,它的具體表達式如下:
經過尺度歸一化之后,Q、K、V矩陣可以重定義為
得到Q、K矩陣以后,基于它們的相似度來捕獲節點之間的相關性,進而構建鄰居節點的協方差矩陣來描述局部特征,于是,協方差矩陣表示為
然而,在Gv中通常存在多種類型的邊,由于局部性已經融入了拓撲信息,如何在局部建模的過程中融合邊的類型信息成了又一挑戰。在以往基于點對點傳播方式的研究工作中,要么引入與邊類型有關的參數組[8],要么將邊的表征融入到消息中進行傳播[9],要么將關系類型融入到注意力值中,它們一是引入了大量的可學習參數組導致模型過于復雜,二是仍然堅持建模同構圖的觀點。為了避免這種問題,這里L2NH采用了一種非常簡單而有效的關系編碼方式。具體而言,給每條邊分配一個d維的表征,對于相同類型的邊它們分配的表征一樣,而不同類型的邊分配的表征則不一樣。基于這種限制,Ev對應的邊表征矩陣可以表示為R=[r1,r2,…,rM],然后將邊的類型信息轉移到節點上對Gv進行“去異”操作得到增廣后的節點表征矩陣表達如下:
協方差矩陣S本質上描述了節點之間的相關性,而通過關系編碼將邊的類型信息融合到該矩陣中,因此可以用更少的參數對局部子網進行建模,全面地反映了節點的局部特征。
為了在鄰居聚合的時候考慮到局部的潛在語義聯系,L2NH 采用了一種局部到點的鄰居聚合方式。具體而言,將協方差矩陣S∈RM×M進行特征值分解得到局部子網的特征向量,計算過程定義如下:
為了獲取更為多樣化的局部信息,目前流行的方法為多頭注意力機制和多通道機制。它們利用相同意義的非共享參數重復著相同的操作流程,試圖捕獲多樣化的信息。然而,注意力頭或者通道之間是完全獨立的,沒有任何約束來加強信息的多樣性,這會造成信息的冗余而進一步引發過擬合。為此,本文在局部相關性建模的基礎上提出了一種全新的多通道方法來提取多樣化的局部信息。具體而言,不同的特征向量可以用作不同的通道,不同的通道之間相互正交,這種正交的性質可以加強捕獲信息的多樣性。對于通道m,節點v的表征為
節點最終的表征zv可以通過注意力機制將多個通道進行加權求和得到,具體表達如下:
其中:M為通道的個數,可以被解釋為通道m對節點v的重要性,該系數可以通過以下公式進行計算:
其中MLP:RF∈R 是一個兩層的多層感知機,隱藏層的激活函數為tanh,所有節點的局部網絡都共享同一個MLP。
對于半監督節點分類任務,通過最小化交叉熵損失來優化模型參數,具體的損失函數表達如下:
其中:C代表著分類器的參數,VL代表訓練集的節點集合。而yv表示節點v真實標簽。zv代表節點v用于分類任務的表征,它來自于模型的輸出層。
為了驗證L2NH的有效性,本文將在四個常用的異構圖數據集上與八個先進的基準方法進行實驗對比。
本文實驗數據集包括兩個學術網絡DBLP 和ACM,一個電影網絡IMDB 和一個商業網絡Yelp。數據集詳細統計信息如表1所示。

表1 數據集的統計數據
本文通過與一些先進的基線模型進行對比,來驗證所提出的L2NH的有效性。
Metapath2Vec(簡稱MP2Vec)[10]:該方法基于元路徑進行截斷隨機游走并結合skip-gram 算法實現保留語義相似性。本文依次測試了MP2Vec所有元路徑,并報告了最佳性能結果。
HAN[11]:該方法利用層次化的注意力機制,包括節點級別的注意力和語義級別的注意力,同時學習節點和元路徑的重要性。
MAGNN[12]:該方法進一步考慮了HAN 忽略的元路徑實例中的中間節點,然后使用注意力機制執行元路徑內部聚合和元路徑間聚合。
RGCN:該方法在GCN[13]的基礎上在聚合鄰居的時候引入與邊類型有關的參數組來對不同邊上的消息進行與類型有關的轉換。
GTN[14]:該方法將每種關系看作一個可學習權重,整個異構圖就是一個可學習的帶權同構圖,并且通過端到端學習來自動發現元路徑,因此該方法可以認為是基于注意力機制的模型。
HGT:是一種基于Transformer 架構的異構圖神經網絡,通過引入與相鄰節點類型和邊類型有關的參數組來計算邊注意力值。
HetSANN:該方法應用與邊類型有關的注意力層來計算不同類型邊上的注意力值。
SimpleHGN:該方法在GAT[15]的基礎上將邊類型表征融入注意力層中,并使用殘差連接和表征歸一化技巧來提高表達能力。
本研究采用Macro-F1 和Micro-F1 作為指標來全面地評價模型的性能,實驗結果如表2 所示,其中加粗表示最優性能,加下劃線表示次優性能,所有結果是五次實驗的平均值。

表2 節點分類實驗結果
實驗結果表明,LNPH 方法在所有基準數據集上均表現出最佳的性能,特別是在IMDB數據集,相較于次優的算法整體提升了5.59%。MP2Vec 屬于淺層模型且只考慮了結構信息,并沒有考慮到節點的屬性信息,其性能往往不如其他深層模型。基于元路徑的方法的性能容易受到預定義元路徑的影響,比如HAN 在一些數據集上的性能不如自動發現元路徑模型GTN。而基于注意力機制的方法雖然考慮了類型信息,但學習到的注意力值完全基于節點對交互,容易忽略局部節點之間的潛在語義聯系,這可能導致噪聲和過擬合,例如HetSANN 在Yelp 數據集上的表現遠不如其他模型。RGCN既沒有使用多通道機制,也沒有考慮高階語義關系,因此表現也不如L2NH。注意力模型Si-HGN 與自動發現元路徑模型GTN 在四個數據集上包含了次優的性能,這在某種意義上能夠說明融入類型的注意力機制也能夠隱式地挖掘元路徑,但是這種注意力機制并沒有考慮局部高階語義聯系,且GTN 的時間復雜度又是相當高的。綜上所述,L2NH 方法能夠在所有數據集上取得最佳性能,進一步證明了捕捉局部潛在的高階語義聯系和多樣化聚合在異構圖分析中的重要性。
為了更好地展示L2NH各部分的效果,本節實驗將該模型的部分操作進行剝離來觀察實驗結果的變化。這里評估了L2NH的兩種變體:
L2NH-R:該變體不使用關系編碼,直接忽略邊的類型信息。
L2NH-V:該變體不使用多通道機制,即將通道個數設為1。
圖2 展示了兩個變體和完整的L2NH 在節點分類(IMDB 數據集以右邊的y軸為準)任務的消融實驗結果,其中橫坐標表示數據集,縱坐標表示Micro-F1 指標。實驗結果均表明完整的L2NH 模型的性能最好,這說明L2NH 的兩個關鍵組成部分都對其改進性能具有積極作用。具體而言,L2NH-R 與L2NH 的比較突出了關系信息的重要性,而與LNPH-V比較則突出了用于捕捉多樣化局部信息的多通道機制的有效性。從圖2節點的分類結果可以看出,相較于L2NH-R,在四個數據集上,L2NH 的性能表現分別上升了1.77%、0.70%、1.75%和1.34%。與此同時,相較于L2NH-V,L2NH 的性能也表現出了上升趨勢,尤其是在IMDB數據集上提升了3.28%。

圖2 探究不同模塊對模型性能的影響
本文基于局部建模的方式提出了一種用于異構圖表征學習方法L2NH。該方法通過建立鄰居節點之間的協方差矩陣來挖掘蘊含在局部的潛在語義聯系,并在此基礎上提出了一種局部到點的多通道聚合方式來捕獲多樣化的局部信息。實驗表明,L2NH 在四個真實的異構圖數據集上進行節點分類的性能優于目前現有的先進的基準方法,從而證明了該方法的有效性。