袁立寧,胡皓,劉釗
(1.中國人民公安大學 信息網絡安全學院,北京 100038;2.中國人民公安大學 研究生院,北京 100038)
在現實世界中,圖被廣泛用于表示實體和實體間的關系,例如分子結構、通信網絡、社交網絡和犯罪網絡等。從圖數據中提取信息,用于節點分類[1]、節點聚類[2]、可視化[3]等下游任務具有重要的研究意義。但是,圖作為非歐氏數據,蘊含的信息往往具有高維隱式特性,這導致卷積神經網絡和循環神經網絡等針對歐氏數據設計的深度學習模型很難直接應用。因此,將圖數據從非歐氏空間轉換到歐氏空間是處理和分析圖數據的基礎和關鍵。圖表示學習,也稱圖嵌入,是將圖中節點轉換為保留原始圖關鍵信息的低維節點向量,從而實現非歐氏數據到歐氏數據的轉換。按照提取圖信息的不同,圖表示學習模型可分為基于圖結構的方法和基于圖特征的方法。
基于圖結構的方法僅使用拓撲結構生成節點表示。例如,Deepwalk[4]使用隨機游走采樣圖的拓撲結構生成節點序列,通過Skip-Gram[5]最大化序列中窗口范圍內節點之間的共現概率,生成低維嵌入。Node2Vec[6]在Deepwalk 的基礎上,引入有偏的隨機游走,增加鄰域搜索的靈活性,生成質量更高、信息更豐富的嵌入表示。結構深度網絡嵌入(Structural Deep Network Embedding,SDNE)[7]使用最簡單的線性全連接層構建多層欠完備自編碼器對圖數據進行降維,同時引入拉普拉斯特征映射(Laplacian Eigenmaps,LE)[8]保留一階相似度信息,增大非零項重構損失保留二階相似度信息,使生成嵌入同時保留局部結構信息和全局結構信息。由于上述方法只是針對圖拓撲結構的單一表示學習,缺乏對節點屬性信息的提取,因此限制了模型在屬性圖上的表示能力。
基于圖特征的方法同時使用圖的拓撲結構和節點屬性生成節點表示。深度屬性網絡嵌入(Deep Attributed Network Embedding,DANE)[9]在SDNE 的基礎上,增加了屬性信息自編碼器,生成節點屬性向量。為了在低維嵌入中保留拓撲結構和屬性信息,DANE 將屬性向量和拓撲向量進行拼接。由于SDNE 和DANE 使用最簡單的線性編碼器,難以有效捕獲圖的高階非線性信息,限制了模型的表示能力。圖神經網絡(Graph Neural Network,GNN)[10]通過特征傳播聚合鄰域信息,解決了屬性和拓撲融合問題。例如,圖卷積網絡(Graph Convolutional Network,GCN)[11]使用卷積運算迭代地聚合節點鄰域向量,同時使用當前和先前迭代中的表示生成下一時刻的表示。在多次迭代后,GCN 學習到的節點表示能夠同時表征屬性和拓撲信息。圖注意力網絡(Graph Attention Network,GAT)[12]在原始GCN 上使用注意力機制,對鄰近節點特征向量加權求和,分配不同的權值,構建圖注意力卷積核。變分圖自編碼器(Variational Graph Autoencoder,VGAE)[13]以變分自編碼器(Variational Autoencoder,VAE)[14]為基礎架構,使用GCN 編碼器和內積解碼器生成低維表示。GALA[15]采用完全對稱的圖卷積編碼器和解碼器生成低維表示。相較于僅使用GCN 編碼器的VGAE,GALA 的對稱結構能夠同時在編碼和解碼過程中使用結構信息。基于GCN 強大的表示能力,眾多圖分析任務性能顯著提升。但近期研究表明,GCN 融合節點屬性和拓撲結構的能力是有限的。LI等[16]證明了GCN 僅是對節點屬性執行拉普拉斯平滑使節點逐漸收斂,使得GCN 無法學習結構和屬性之間的深度關聯信息。WANG等[17]分別在拓撲圖和屬性圖上傳播節點特征,同時采用半監督的方式進行訓練,改善了節點屬性和拓撲結構信息的融合。
本文在上述工作的基礎上,提出基于多通道圖卷積自編碼器的無監督圖嵌入模型MC-GCAE。通過構建特定信息卷積編碼器和一致信息卷積編碼器,在屬性空間和拓撲空間傳播節點特征的同時,保留屬性和拓撲之間的關聯信息,生成屬性嵌入、拓撲嵌入和一致性嵌入,并采用與編碼器對稱的解碼器還原編碼過程,實現無監督學習。在嵌入生成過程中,使用重構損失、局部約束和一致性約束進行優化,其中,局部損失用于保留局部拓撲結構信息,一致性約束用于增強屬性和拓撲之間的關聯信息。另外,MC-GCAE 分別采用平均和拼接的方式融合不同編碼器生成的嵌入,充分保留原始圖信息。
本節通過3 個直觀的實驗以驗證基于GCN 的自編碼器模型保留節點屬性和拓撲結構信息的能力。首先,分別建立節點標簽與節點屬性和拓撲結構的依賴關系,并構建隨機拓撲相關屬性圖、相關拓撲隨機屬性圖和相關拓撲相關屬性圖。然后,使用相同參數及重構損失訓練GCN 編碼器和線性編碼器,生成低維嵌入表示。最后,通過比較生成嵌入在節點分類任務中的實驗表現,以驗證模型保留節點屬性和拓撲結構信息的能力。
隨機拓撲相關屬性圖由900 個節點構成,節點之間邊生成的概率為0.03,每個節點有50 維的節點屬性。其中,節點屬性通過3 個高斯分布生成(協方差相同但中心距離很遠),并依據所在中心將其分為3類。對于隨機拓撲相關屬性圖,每個節點的標簽與節點屬性高度相關且與拓撲結構無關。在節點分類實驗中,使用30%的節點標簽和隨機拓撲相關屬性圖的嵌入表示訓練分類器,使用50%的節點標簽進行測試,最終GCN 編碼器的預測準確率為35.1%,線性編碼器的預測準確率為41.1%。
相關拓撲隨機屬性圖由900 個節點構成,使用隨機區塊模型(Stochastic Block Model,SBM)[18]將節點分為3 個不同社區(節點數分別為0~299、300~599、600~899),社區內部節點成邊概率為0.03,社區外部節點成邊概率為0.001 5,根據所在社區不同將節點分為3類,每個節點隨機生成50 維的節點屬性。對于相關拓撲隨機屬性圖,每個節點的標簽與拓撲結構高度相關且與節點屬性無關。在節點分類實驗中,使用30%的節點標簽和相關拓撲隨機屬性圖的嵌入表示訓練分類器,使用50%的節點標簽進行測試,最終GCN 編碼器的預測準確率為74.9%,線性編碼器的預測準確率為85.6%。
相關拓撲相關屬性圖由900個節點構成,使用SBM將節點分為3 個不同社區(節點數分別為0~299、300~599、600~899),社區內部節點成邊概率為0.03,社區外部節點成邊概率為0.001 5,每個社區內的節點由高斯分布生成50 維節點屬性,不同社區使用的高斯分布協方差相同但中心距離很遠,根據社區和屬性信息將節點分為3類。對于相關拓撲相關屬性圖,每個節點的標簽與拓撲結構和節點屬性高度相關。在節點分類實驗中,使用30%的節點標簽和相關拓撲相關屬性圖的嵌入表示訓練分類器,使用50%的節點標簽進行測試,最終GCN 編碼器的預測準確率為78.9%,線性編碼器的預測準確率為97.3%。
上述實驗結果表明,基于GCN 的自編碼器模型保留節點屬性和拓撲結構信息的能力有限,甚至無法匹配簡單的線性模型。在節點標簽與原始圖信息關聯非常緊密的情況下,GCN 編碼器未能充分提取相關信息改善下游任務實驗表現。在現實世界中,圖數據的屬性和拓撲信息通常更為復雜,因此需要對現有GCN 編碼器模型進行改進,使生成的嵌入能夠保留更豐富的原始圖信息,增強模型的表征能力。
本節首先給出MC-GCAE 模型的整體結構,然后介紹模型的編碼器和解碼器結構以及融合機制,最后分析模型的損失函數。
MC-GCAE 是用于屬性圖G=(A,X)表示學習的無監督模型,其中:A∈Rn×n為圖的鄰接矩陣,n為節點個數;X∈Rn×d為節點屬性矩陣,由節點屬性向量xi∈R1×d堆疊構成,d為每個節點特征的維數。
MC-GCAE 由基于GCN 的編碼器和解碼器組成,模型整體結構如圖1 所示(彩色效果見《計算機工程》官網HTML 版)。為了有效捕獲節點屬性、拓撲信息以及拓撲與屬性之間的關聯信息,MC-GCAE 分別從屬性空間和拓撲空間對節點鄰域的特征信息進行聚合。首先,使用GCN 構建兩個特定信息卷積編碼器,利用屬性鄰接矩陣AF、拓撲鄰接矩陣AT和屬性矩陣X生成屬性嵌入YF和拓撲嵌入YT。然后,使用GCN 構建一致信息編碼器,采用參數共享的方式生成YCF和YCT,進而生成保留屬性和拓撲之間的關聯信息的一致性嵌入YC。通過對稱解碼器,將上述編碼器生成的嵌入矩陣還原為屬性矩陣X,實現無監督學習。在生成嵌入矩陣時,使用重構損失Lrecovery、局部約束Llocal和一致性約束LC進行優化,其中,Llocal用于保留AF和AT局部結構信息,LC用于增強YCF和YCT的關聯信息。為使最終嵌入Y能夠保留原始圖的關鍵信息,分別使用平均和拼接的方式對YF、YC和YT進行融合。

圖1 MC-GCAE 模型結構Fig.1 Structure of the MC-GCAE model
2.2.1 屬性相似度鄰接圖
為了捕獲屬性空間中節點的結構關系,需要計算任意兩個節點屬性向量xi和xj的相似度,構建相似度矩陣。使用余弦相似度構建相似度矩陣S:

然后,從S中選擇k對最相似的節點對構建圖的邊集,生成基于屬性相似度的k 近鄰圖GF=(AF,X),其中AF為k 近鄰相似度圖的鄰接矩陣。
2.2.2 特定信息卷積編碼器
GCN 能夠利用卷積運算從圖G中提取特征,生成包含拓撲結構和節點屬性信息的低維嵌入。在通常情況下,GCN 使用節點屬性矩陣X與鄰接矩陣A作為原始輸入,各層之間的傳播公式表示如下:

其中:W(l+1)為第l+1 層圖卷積的參數矩陣;σ為激活函數;H(l)為激活矩陣,且H(0)=X。
使用雙層GCN 以及LeakyReLU 激活函數構建特定信息卷積編碼器,對于屬性相似度圖使用節點屬性矩陣X與鄰接矩陣AF作為原始輸入,生成如下嵌入表示:

對于拓撲圖GT=(AT,X),特定信息卷積編碼器使用節點屬性矩陣X與鄰接矩陣AT作為原始輸入,采用與屬性圖相同的計算方式,生成如下嵌入表示:

其中:YT為捕獲拓撲空間特定信息的拓撲嵌入。
2.2.3 一致信息卷積編碼器
節點屬性和拓撲結構通常不是完全無關的,但是兩者之間的重要性、關聯性通常難以確定。因此,在生成的嵌入表示中,不僅要分別提取屬性空間和拓撲空間的特定信息,還需要提取這兩個空間共享的一致信息。受WANG等[17]工作的啟發,設計一個具有參數共享策略的Consensus-GCN 編碼器,捕獲兩個空間的關聯信息。首先,利用Consensus-GCN從屬性近鄰圖中提取節點嵌入YCF:

然后,在使用Consensus-GCN 編碼器從屬性圖中學習節點嵌入的同時,為了提取屬性圖和拓撲圖的一致信息,對每一層Consensus-GCN 共享相同的權重矩陣:

最后,使用共享參數矩陣可以從兩個空間獲取屬性和拓撲的一致信息。將編碼器部分生成的YCT和YCF進行融合,生成屬性和拓撲空間的一致性嵌入YC:

MC-GCAE 的編碼器部分為多通道GCN。解碼器部分采用與編碼器具有相同層數的對稱解碼器,每個解碼器層都反轉對應卷積編碼器層的編碼過程,使模型能夠在沒有任何監督信息的情況下學習節點表示。解碼器部分的層間傳播公式表示如下:

對于特定信息卷積編碼器生成的YF和YT,雙層對稱解碼器的恢復過程表示如下:

其中:和分別表示特定信息解碼器利用拓撲圖和屬性圖重構的屬性矩陣。
對于一致信息卷積編碼器生成的YCF和YCT,在解碼器部分同樣使用參數共享策略,恢復過程表示如下:

其中:和分別表示一致信息解碼器利用拓撲圖和屬性圖重構的屬性矩陣。
MC-GCAE 利用編碼器生成了兩個包含特定信息的嵌入YF和YT,以及一個包含一致信息的嵌入YC。為使生成的最終嵌入Y能夠保留更多原始圖信息,分別采用平均和拼接兩種方式融合嵌入矩陣YF、YC和YT。
MC-GCAE-avg 采用平均的方式生成最終嵌入Yavg,其表達式如下:

MC-GCAE-concat 采用拼接的方式生成最終嵌入Yconcat,其表達式如下:

其中:||表示拼接操作。
2.5.1 重構損失
在一般情況下,AE 的優化目標是最小化輸入和輸出的重構誤差,其損失函數表示如下:

最小化重構誤差不能顯式地保持樣本之間的相似性,但能夠平滑地捕獲數據流形,進而隱式地保持相似性。由于圖的屬性信息使用0-1 矩陣表示,使得X中非零元素個數遠小于零元素個數,如果直接使用X和,則會導致解碼器更傾向于重構零元素。為解決上述問題,修改原有LAE函數,對非零元素的重構誤差施加比零元素更大的懲罰:

MC-GCAE 使用四組編碼器-解碼器結構,每組重構損失均使用式(14)進行優化,完整的重構損失Lrecovery表示如下:

2.5.2 局部約束
除了利用重構損失作為全局約束以外,捕獲圖的局部結構信息也十分重要。LE 能夠從局部近似的角度構建節點之間的關系,使相連節點在嵌入空間中盡可能靠近,進而使生成嵌入中保留局部結構信息。LE 的損失函數表示如下:

其中:Aij表示鄰接矩陣的元素。
對于YF、YT、YCF和YCT,在生成過程中均使用LE損失進行約束,因此局部約束Llocal表示如下:

2.5.3 一致性約束
Consensus-GCN 使用共享權值矩陣的方式保持YCT和YCF中的一致信息。為了進一步增強這種一致性,在MC-GCAE 中引入一致性約束函數。首先,使用L2 范數將嵌入矩陣歸一化為YCTnorm和YCFnorm。然后,利用上述歸一化矩陣捕獲圖中節點間的相似性信息,生成相似性矩陣SCT和SCF:

由于一致性表示矩陣SCT和SCF是相似的,因此一致性約束函數表示如下:

結合重構損失、局部約束和一致性約束,MCGCAE 完整的損失函數表示如下:

其中:ε為控制Llocal的超參數;Lreg為防止參數過擬合的正則化項。Lreg計算如下:

3.1.1 數據集
為了驗證低維節點嵌入的表示能力,在6 個真實世界的數據集上對MC-GCAE 和基線模型進行評估。表1 為數據集的統計信息,具體說明如下:

表1 數據集統計信息 Table 1 Statistics of the datasets
1)網頁網絡:Cornell[19]和Texas[19]是卡耐基梅隆大學采集的網頁數據集的兩個子集,其中,節點表示網頁,邊表示網頁之間的超鏈接,節點屬性是網頁的詞袋表示。這些網頁被人工分為學生、項目、課程、工作人員和教師5類。Cornell 用于節點分類和節點聚類任務,Texas 用于節點分類任務。
2)引文網絡:Cora[20]和Citeseer[20]是標準的引文網絡數據集,其中,節點表示論文,邊表示一篇論文對另一篇論文的引用,節點屬性是論文詞袋表示,節點標簽是論文學術主題。Cora 用于節點分類任務,Citeseer 用于節點分類和節點聚類任務。
3)社交網絡:BlogCatalog[21]是博客網站的數據集,其中,節點表示博主,邊表示博主間的社交關系,節點屬性由博主信息的關鍵字構造,標簽代表作者提供的主題類別。Flickr[22]是圖片分享網站數據集,用戶通過圖片分享進行互動,其中,節點表示用戶,邊表示用戶間的友誼關系,節點標簽根據用戶興趣組劃分。BlogCatalog 和Flickr 均用于節點分類任務。
3.1.2 基線模型
將以下模型作為基線模型:
1)Deepwalk:以鄰接矩陣作為輸入,首先利用隨機游走獲取節點序列,然后使用Skip-Gram 算法最大化節點共現概率,生成節點表示。
2)SDNE:以鄰接矩陣作為輸入,利用深度線性自編碼器以及圖的一階、二階相似度,生成并捕獲高度非線性的節點表示。
3)SSDNE[23]:以鄰接矩陣作為輸入,在SDNE 的基礎上增加傳統鏈路預測相似度矩陣(Katz 矩陣)作為約束條件,生成節點表示。
4)DANE:以屬性矩陣和鄰接矩陣作為輸入,在SDNE 的基礎上增加獨立的屬性編碼器,將深度線性自編碼器生成的屬性嵌入和拓撲嵌入進行拼接,生成節點表示。
5)AENEA[24]:以鄰接矩陣作為輸入,通過隨機沖浪生成共現概率矩陣后,計算PPMI 矩陣作為深度線性自編碼器輸入,使用圖的一階、二階相似度作為約束,生成節點表示。
6)GALA:以屬性矩陣和鄰接矩陣作為輸入,采用完全對稱的GCN 自編碼器生成節點表示,在編碼和解碼過程中同時使用結構和屬性信息。
7)GATE[25]:以屬性矩陣和鄰接矩陣作為輸入,編碼器各層首先通過self-attention 為鄰居節點分配不同權重,然后聚合鄰域信息生成節點表示,解碼器對編碼過程進行反轉。
8)GASN[26]:以屬性矩陣和鄰接矩陣作為輸入,使用改進GCN[26]編碼生成節點表示,在解碼器部分利用內積解碼器重構鄰接矩陣,采用對稱GCN 解碼器重構屬性矩陣。
9)VGAE:以屬性矩陣和鄰接矩陣作為輸入,編碼器首先利用GCN 獲得節點表示的概率分布,然后在分布中采樣生成節點表示,最后使用內積解碼器重構圖的鄰接矩陣。
10)OSA-VGAE[27]:以屬性矩陣和鄰接矩陣作為輸入,在VGAE 的基礎上引入One-Shot 聚合[28]增強深層模型性能,生成節點表示。
3.1.3 參數設置
所有基線模型按照原始論文中建議的參數進行初始化,并對部分模型進一步調整,以獲取基線的最佳性能。對于MC-GCAE,隱藏層的維度hhidden∈{512,768},生成嵌入的維度d∈{25,26,27};屬性鄰接圖近鄰數k∈{2,3,…,20};損失函數中懲罰系數b∈{1,3,5,7,10},超參數ε∈{10-3,10-2,10-1}。表2 為MC-GCAE 的參數設置。

表2 MC-GCAE 參數設置 Table 2 Parameter setting of MC-GCAE
3.1.4 評價指標
為了評估模型在節點分類、節點聚類上的性能,使用Macro-F1、Micro-F1、聚類精度(Clustering Accuracy,Cluster-Acc)和歸一化互信息(Normalized Mutual Information,NMI)作為評價指標。
在多標簽節點分類任務中,Micro-F1 計算公式如下:

其中:P表示精確率;R表示召回率。
Macro-F1 計算公式如下:

其中:L表示標簽集;F(l)是標簽l的F1值。
在節點聚類任務中,給定真實標簽li和聚類標簽zi,Cluster-Acc 計算公式如下:

其中:n為節點數;map(·)為映射函數,使用Hungarian 算法[29]映射聚類標簽和真實標簽;δ(·)函數用于判別映射標簽和真實標簽是否一致,相同結果為1,不同結果為0。
節點聚類任務還采用NMI 評估模型性能,計算公式如下:

其中:NMI 用于度量M1和M2聚類結果之間的相似性;H(·)表示信息熵。
本節通過多標簽分類任務評估不同模型性能。生成的低維嵌入作為邏輯回歸分類器的輸入,對于每個數據集,以10%為間隔,隨機抽取10%~50%的節點表示作為訓練數據,剩余節點中抽取50%作為測試集,各模型采用相同的數據集劃分,記錄Micro-F1和Macro-F1。節點分類實驗結果如圖2~圖4 所示(彩色效果見《計算機工程》官網HTML 版),由圖2~圖4 可以得出:

圖2 網頁網絡的Micro-F1 和Macro-F1Fig.2 Micro-F1 and Macro-F1 on the Web networks
1)在大多數情況下,MC-GCAE 能夠超過基線模型的分類性能,特別是在Cornell、BlogCatalog 和Flickr數據集上,MC-GCAE 的Micro-F1 和Macro-F1 值始終高于基線模型。上述結果表明,MC-GCAE 能夠從不同特征空間中捕獲原始圖信息,并將其保留在生成的低維嵌入中,提升節點分類任務的實驗表現。
2)在大部分數據集上,僅使用GCN 編碼解碼的GALA 的實驗表現不佳,特別是在Cora、Citeseer 和BlogCatalog 數據集上,GALA 的Micro-F1 和Macro-F1 值顯著低于其他模型。上述結果表明,僅使用重構損失的GCN 編碼器提取節點屬性和拓撲結構信息的能力有限,在生成嵌入中未能充分保留原始圖相關信息。
3)在BlogCatalog 和Flickr 數據集上,基于線性編碼器的基線模型的實驗表現顯著優于基于GNN編碼器的基線模型。上述結果進一步表明,基于GCN 及其變體的編碼器模型在無監督條件下不能有效提取結構、屬性及其關聯信息,導致模型分類性能低于使用隨機游走的Deepwalk 以及采用簡單線性編碼器的SDNE、SSDNE、DANE 和AENEA。
4)在不同數據集上,同一基線模型的分類表現差異明顯。例如:DANE 在網頁網絡Texas 數據集上表現出色,但在同類型且統計信息相似的Cornell 數據集上表現不佳;GATE 在引文網絡Citeseer 數據集上表現出色,但在社交網絡BlogCatalog 和Flickr 數據集上表現不佳。上述結果表明,基線模型在處理不同數據集時,泛化能力有限。與基線模型相反,MC-GCAE 在所有數據集上均取得了良好的實驗性能,證明了MC-GCAE強大的泛化能力。此外,與基線模型相比,MC-GCAE使用10%~30%的訓練數據即可顯著提升分類任務的性能表現。

圖3 引文網絡的Micro-F1 和Macro-F1Fig.3 Micro-F1 and Macro-F1 on the citation networks

圖4 社交網絡的Micro-F1 和Macro-F1Fig.4 Micro-F1 and Macro-F1 on the social networks
5)對比基于圖結構和基于圖特征基線的實驗結果,雖然基于圖特征的方法輸入的原始圖信息更豐富,但模型融合和保留圖特征的能力有限,屬性空間和拓撲空間的關鍵信息相互抵消,導致性能差于基于圖結構的方法。為改善上述問題,MC-GCAE 通過增加一致性空間特征提取,平衡生成嵌入中的屬性和拓撲信息,提升模型的表示能力。
6)對 比MC-GCAE-avg 和MC-GCAE-concat 的實驗結果,在大部分情況下,拼接方式優于平均方式。特別是在Texas 數據集上,由于屬性信息明顯多于節點數和邊數,采用平均方式的MC-GCAE-avg 弱化了屬性信息的比重,使其性能差于采用拼接方式的MC-GCAE-concat。在同樣屬性信息較多的Cornell 數據集上,雖然MC-GCAE-avg 的Micro-F1值在部分訓練集比率下高于MC-GCAE-concat,但是隨著訓練集比率提高,MC-GCAE-concat 的Macro-F1 值逐漸優于MC-GCAE-avg,同樣證明了拼接方式能夠保留更多的圖信息,提升分類性能。
由于各模型生成的嵌入維度不同,為了保證公平性,首先使用降維算法[3,30]將所有模型生成的嵌入降至2維,然后執行K-means++[31]實現無監督節點聚類。在K-means++算法中,K值設置為Cornell 和Citeseer 數據集的類別數,運行算法10次,記錄Cluster-Acc 和NMI的平均值。節點聚類的實驗結果如表3 所示,其中,排名第一的實驗結果用加粗表示,排名第二的實驗結果用下劃線表示。

表3 節點聚類實驗結果 Table 3 Experiment results of the node clustering
由表3 可以得出:
1)相較基線模型,MC-GCAE 取得了最佳聚類性能,在Cornell數據集上Cluster-Acc 和NMI 相比于表現最優的基線模型提升了2.49%和160.27%,在Citeseer數據集上Cluster-Acc 和NMI 相比于表現最優的基線模型提升了11.84%和34.03%。上述實驗結果進一步表明,同時使用屬性、拓撲和一致信息的MC-GCAE 在生成的低維嵌入中充分保留了原始圖信息,顯著提升了模型在無監督聚類任務中的實驗表現。
2)在兩個數據集上,同一基線模型的聚類表現差異明顯。例如:DANE 在Cornell 上的Cluster-Acc 顯著優于其他基線模型,但在Citeseer 上表現不佳;基于變分自編碼器架構的GASN 和VGAE 在Citeseer 上的實驗表現優于Cornell。上述結果進一步表明,基線模型處理不同數據集的泛化能力有限。MC-GCAE 在兩個數據集上均取得了良好的實驗性能,再次證明了其具有較強的泛化能力。
3)基于GCN 及其變體的自編碼器模型GALA、GATE、GASN、VGAE 和OSA-VGAE 保留節點屬性和拓撲結構信息的能力有限,在兩個數據集上實驗表現均差于基于圖結構的Deepwalk。此外,在訓練過程中僅使用最大化共現概率和負采樣進行優化的Deepwalk 缺乏明確優化函數,并且僅使用鄰接矩陣作為輸入,上述特性使得Deepwalk 的實驗性能遠低于保留屬性、拓撲和一致信息的MC-GCAE。
在節點表示中蘊含了圖的屬性和拓撲信息,對其進行可視化后,能夠直觀地反映原始圖的某些特征。對于可視化任務,首先使用t-分布隨機鄰域嵌入(t-distributed Stochastic Neighbor Embedding,t-SNE)[3]將節點表示的維度降低到2,然后將其在2 維平面上進行可視化,最后根據Citeseer 數據集的類別標簽,將節點標記為6 種不同的顏色。各模型生成嵌入的可視化結果如圖5 所示(彩色效果見《計算機工程》官網HTML 版)。
從圖5 可以看出:多數基線模型生成嵌入的可視化效果很差,不同類型的節點大多混合在一起,基本是無序的;MC-GCAE 的可視化效果明顯好于上述模型,學習到的節點表示有較高的類內相似性和類間界限。可視化結果直觀反映了模型保留同一社群節點相似特征的能力,證明了MC-GCAE 分別從屬性空間、拓撲空間和一致性空間提取圖信息的方式能夠充分保留原始圖信息,使同類節點在低維嵌入空間彼此接近。

圖5 Citeseer 數據集上節點表示可視化Fig.5 Visualization of node representations on the Citeseer dataset
為了進一步驗證MC-GCAE的有效性,在Cornell、Citeseer 和BlogCatalog 數據集上進行節點分類實驗(40%數據作為訓練集,50%數據作為測試集),對比MC-GCAE(拼接融合)及其變體的實驗性能。各變體相關信息如下:
1)GCAE-T:MC-GCAE 的拓撲信息編碼組件,用于生成拓撲嵌入YT。
2)GCAE-A:MC-GCAE 的屬性信息編碼組件,用于生成屬性嵌入YF。
3)GCAE-C:MC-GCAE 的屬性和拓撲一致信息編碼組件,用于生成一致性嵌入YC。
4)GCAE-A&T:MC-GCAE 的特定信息編碼部分,拼接拓撲嵌入YT和屬性嵌入YF。
從圖6 的實驗結果可以得出:

圖6 MC-GCAE 及其變體的實驗結果 Fig.6 Experimental results of MC-GCAE and its variants
1)在3 個數據集上,MC-GCAE 的實驗結果始終優于4 個變體,證明了采用多通道方式學習屬性信息、拓撲信息和一致信息的方式能夠提升基于GCN自編碼器模型保留原始圖信息的能力。
2)在Cornell 數據集上,原始圖的屬性信息遠超節點和邊的數量,因此僅使用屬性空間信息的GCAE-A 性能更為突出,優于僅使用拓撲信息的GCAE-T 和一致信息的GCAE-C,并且與同時使用拓撲信息和屬性信息的GCAE-A&T 性能接近。
3)GCAE-T 和GCAE-A 的性能受實驗數據影響明顯,即屬性信息豐富的圖上GCAE-A 性能更好,拓撲信息豐富的圖上GCAE-T 性能更好,而保留屬性和拓撲一致信息的GCAE-C 性能始終在兩者之間。
4)在3 個數據集上,GCAE-A&T 的實驗性能始終差于MC-GCAE,這是因為同時使用拓撲嵌入、屬性嵌入和一致性嵌入能夠在最終嵌入中保留更豐富的原始圖信息,增強模型的表示能力。此外,綜合對比3 個數據集上的實驗表現,MC-GCAE 比僅使用拓撲嵌入和屬性嵌入的GCAE-A&T 更穩定。
為了分析MC-GCAE 性能與參數的關聯性,使用Texas 和Citeseer 數據集上的節點分類任務(10%數據作為訓練集,50%數據作為測試集)進行參數實驗。
為了驗證k 近鄰節點中不同k值對屬性相似度圖的影響,記錄不同k值在Texas 和Citeseer 數據集上的分類性能,實驗結果如圖7 所示。由圖7 可以看出,在Texas 和Citeseer 數據集上,Micro-F1 和Macro-F1 都呈現先上升后下降的趨勢,過高和過低的k值表現均較為一般,這是因為k值過低屬性圖無法保留充足的屬性空間信息,而k值過高屬性圖會生成大量噪聲邊降低模型性能。

圖7 參數k 分析 Fig.7 Analysis of the parameter k
為了驗證b值對模型性能的影響,記錄不同b值在Texas 和Citeseer 數據集上的分類性能,實驗結果如圖8 所示。b值越大,模型越容易重構非零元素。當b=1時,模型將平等地重建非零元素和零元素,這使得其在屬性信息稀疏的Citeseer 數據集上分類性能較差。當b值過大時,分類性能也會下降,原因在于模型執行重構更傾向保持非零項,忽略了零元素包含的屬性之間的差異性信息。實驗結果表明,在模型訓練過程中既要關注非零元素包含的屬性信息,又要關注零元素包含的屬性差異信息。

圖8 參數b 分析 Fig.8 Analysis of the parameter b
參數ε用于控制損失函數中局部約束的比重,圖9給出了不同ε值的實驗結果。ε值越大,模型越關注一階相似度信息,但是較大的ε值不會帶來較好的分類性能。由圖9 可以看出,在Texas 和Citeseer 數據集上,當ε=10-2時,模型獲得最佳性能。上述結果表明,雖然局部約束能夠保留原始圖的重要信息,但是過高的比重會降低模型的表示能力,因此需要通過參數ε平衡損失函數中的局部損失比重。

圖9 參數ε 分析 Fig.9 Analysis of the parameter ε
參數d用于控制生成嵌入的維度,圖10 給出了不同d值的實驗結果。Micro-F1 和Macro-F1 在開始時隨維度的增加而提高,這是因為更多的維度使嵌入中編碼了更多有益信息,提升了實驗表現。但是,隨著維度不斷增加,Micro-F1 和Macro-F1 開始下降,這是因為過大的維度使嵌入中編碼了噪聲信息,降低了實驗表現。因此,在生成節點嵌入時需要選擇合適的維度,以獲取模型的最佳性能。

圖10 參數d 分析 Fig.10 Analysis of the parameter d
為了比較不同模型的訓練時間,記錄Cora 數據集上迭代100 次后單次迭代的平均訓練時間(包括前向傳播、損失函數計算和反向傳播),實驗結果如圖11 所示。由圖11 可以看出:GALA 由于僅使用GCN 編碼器和重構損失,計算速度最快;DANE 使用簡單的線性編碼器進行編碼,利用重構損失、一階損失和高階損失進行優化,因此訓練時間比GALA 更長;GATE 在每次迭代中都需要計算節點間的注意力系數,同時使用重構損失和局部約束進行優化,使得訓練時間較長;MC-GCAE 使用4 組GCN 編碼器,同時利用重構損失、局部約束和一致性約束進行優化,導致訓練時間長于結構和優化方式更簡單的GALA。

圖11 訓練時間對比Fig.11 Comparison of the training times
為提升傳統GCN 編碼器模型對于屬性和拓撲信息的融合能力,本文提出基于多通道圖卷積自編碼器的圖表示學習模型MC-GCAE,充分保留了原始圖的屬性、拓撲以及兩者關聯信息。實驗結果表明,多通道圖卷積編碼器生成的融合嵌入表示能夠提升節點分類、節點聚類、可視化等圖機器學習任務的性能表現。此外,通過組件性能分析可以看出,多通道融合模型相較使用單一特征空間的組件能夠更好地泛化到不同類型的圖數據集上。在當前工作中,使用局部約束保留了圖的一階相似度信息,但未保留二階相似度、社群特征等高階相似度信息。因此,在后續工作中,將對圖的低階信息、高階信息及兩者關聯信息進行分析和挖掘,使生成嵌入中能夠保留更豐富的原始圖信息。