袁立寧,胡皓,劉釗
(1.中國人民公安大學(xué) 信息網(wǎng)絡(luò)安全學(xué)院,北京 100038;2.中國人民公安大學(xué) 研究生院,北京 100038)
在現(xiàn)實世界中,圖被廣泛用于表示實體和實體間的關(guān)系,例如分子結(jié)構(gòu)、通信網(wǎng)絡(luò)、社交網(wǎng)絡(luò)和犯罪網(wǎng)絡(luò)等。從圖數(shù)據(jù)中提取信息,用于節(jié)點分類[1]、節(jié)點聚類[2]、可視化[3]等下游任務(wù)具有重要的研究意義。但是,圖作為非歐氏數(shù)據(jù),蘊含的信息往往具有高維隱式特性,這導(dǎo)致卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)等針對歐氏數(shù)據(jù)設(shè)計的深度學(xué)習(xí)模型很難直接應(yīng)用。因此,將圖數(shù)據(jù)從非歐氏空間轉(zhuǎn)換到歐氏空間是處理和分析圖數(shù)據(jù)的基礎(chǔ)和關(guān)鍵。圖表示學(xué)習(xí),也稱圖嵌入,是將圖中節(jié)點轉(zhuǎn)換為保留原始圖關(guān)鍵信息的低維節(jié)點向量,從而實現(xiàn)非歐氏數(shù)據(jù)到歐氏數(shù)據(jù)的轉(zhuǎn)換。按照提取圖信息的不同,圖表示學(xué)習(xí)模型可分為基于圖結(jié)構(gòu)的方法和基于圖特征的方法。
基于圖結(jié)構(gòu)的方法僅使用拓?fù)浣Y(jié)構(gòu)生成節(jié)點表示。例如,Deepwalk[4]使用隨機游走采樣圖的拓?fù)浣Y(jié)構(gòu)生成節(jié)點序列,通過Skip-Gram[5]最大化序列中窗口范圍內(nèi)節(jié)點之間的共現(xiàn)概率,生成低維嵌入。Node2Vec[6]在Deepwalk 的基礎(chǔ)上,引入有偏的隨機游走,增加鄰域搜索的靈活性,生成質(zhì)量更高、信息更豐富的嵌入表示。結(jié)構(gòu)深度網(wǎng)絡(luò)嵌入(Structural Deep Network Embedding,SDNE)[7]使用最簡單的線性全連接層構(gòu)建多層欠完備自編碼器對圖數(shù)據(jù)進(jìn)行降維,同時引入拉普拉斯特征映射(Laplacian Eigenmaps,LE)[8]保留一階相似度信息,增大非零項重構(gòu)損失保留二階相似度信息,使生成嵌入同時保留局部結(jié)構(gòu)信息和全局結(jié)構(gòu)信息。由于上述方法只是針對圖拓?fù)浣Y(jié)構(gòu)的單一表示學(xué)習(xí),缺乏對節(jié)點屬性信息的提取,因此限制了模型在屬性圖上的表示能力。
基于圖特征的方法同時使用圖的拓?fù)浣Y(jié)構(gòu)和節(jié)點屬性生成節(jié)點表示。深度屬性網(wǎng)絡(luò)嵌入(Deep Attributed Network Embedding,DANE)[9]在SDNE 的基礎(chǔ)上,增加了屬性信息自編碼器,生成節(jié)點屬性向量。為了在低維嵌入中保留拓?fù)浣Y(jié)構(gòu)和屬性信息,DANE 將屬性向量和拓?fù)湎蛄窟M(jìn)行拼接。由于SDNE 和DANE 使用最簡單的線性編碼器,難以有效捕獲圖的高階非線性信息,限制了模型的表示能力。圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Network,GNN)[10]通過特征傳播聚合鄰域信息,解決了屬性和拓?fù)淙诤蠁栴}。例如,圖卷積網(wǎng)絡(luò)(Graph Convolutional Network,GCN)[11]使用卷積運算迭代地聚合節(jié)點鄰域向量,同時使用當(dāng)前和先前迭代中的表示生成下一時刻的表示。在多次迭代后,GCN 學(xué)習(xí)到的節(jié)點表示能夠同時表征屬性和拓?fù)湫畔?。圖注意力網(wǎng)絡(luò)(Graph Attention Network,GAT)[12]在原始GCN 上使用注意力機制,對鄰近節(jié)點特征向量加權(quán)求和,分配不同的權(quán)值,構(gòu)建圖注意力卷積核。變分圖自編碼器(Variational Graph Autoencoder,VGAE)[13]以變分自編碼器(Variational Autoencoder,VAE)[14]為基礎(chǔ)架構(gòu),使用GCN 編碼器和內(nèi)積解碼器生成低維表示。GALA[15]采用完全對稱的圖卷積編碼器和解碼器生成低維表示。相較于僅使用GCN 編碼器的VGAE,GALA 的對稱結(jié)構(gòu)能夠同時在編碼和解碼過程中使用結(jié)構(gòu)信息?;贕CN 強大的表示能力,眾多圖分析任務(wù)性能顯著提升。但近期研究表明,GCN 融合節(jié)點屬性和拓?fù)浣Y(jié)構(gòu)的能力是有限的。LI等[16]證明了GCN 僅是對節(jié)點屬性執(zhí)行拉普拉斯平滑使節(jié)點逐漸收斂,使得GCN 無法學(xué)習(xí)結(jié)構(gòu)和屬性之間的深度關(guān)聯(lián)信息。WANG等[17]分別在拓?fù)鋱D和屬性圖上傳播節(jié)點特征,同時采用半監(jiān)督的方式進(jìn)行訓(xùn)練,改善了節(jié)點屬性和拓?fù)浣Y(jié)構(gòu)信息的融合。
本文在上述工作的基礎(chǔ)上,提出基于多通道圖卷積自編碼器的無監(jiān)督圖嵌入模型MC-GCAE。通過構(gòu)建特定信息卷積編碼器和一致信息卷積編碼器,在屬性空間和拓?fù)淇臻g傳播節(jié)點特征的同時,保留屬性和拓?fù)渲g的關(guān)聯(lián)信息,生成屬性嵌入、拓?fù)淝度牒鸵恢滦郧度?,并采用與編碼器對稱的解碼器還原編碼過程,實現(xiàn)無監(jiān)督學(xué)習(xí)。在嵌入生成過程中,使用重構(gòu)損失、局部約束和一致性約束進(jìn)行優(yōu)化,其中,局部損失用于保留局部拓?fù)浣Y(jié)構(gòu)信息,一致性約束用于增強屬性和拓?fù)渲g的關(guān)聯(lián)信息。另外,MC-GCAE 分別采用平均和拼接的方式融合不同編碼器生成的嵌入,充分保留原始圖信息。
本節(jié)通過3 個直觀的實驗以驗證基于GCN 的自編碼器模型保留節(jié)點屬性和拓?fù)浣Y(jié)構(gòu)信息的能力。首先,分別建立節(jié)點標(biāo)簽與節(jié)點屬性和拓?fù)浣Y(jié)構(gòu)的依賴關(guān)系,并構(gòu)建隨機拓?fù)湎嚓P(guān)屬性圖、相關(guān)拓?fù)潆S機屬性圖和相關(guān)拓?fù)湎嚓P(guān)屬性圖。然后,使用相同參數(shù)及重構(gòu)損失訓(xùn)練GCN 編碼器和線性編碼器,生成低維嵌入表示。最后,通過比較生成嵌入在節(jié)點分類任務(wù)中的實驗表現(xiàn),以驗證模型保留節(jié)點屬性和拓?fù)浣Y(jié)構(gòu)信息的能力。
隨機拓?fù)湎嚓P(guān)屬性圖由900 個節(jié)點構(gòu)成,節(jié)點之間邊生成的概率為0.03,每個節(jié)點有50 維的節(jié)點屬性。其中,節(jié)點屬性通過3 個高斯分布生成(協(xié)方差相同但中心距離很遠(yuǎn)),并依據(jù)所在中心將其分為3類。對于隨機拓?fù)湎嚓P(guān)屬性圖,每個節(jié)點的標(biāo)簽與節(jié)點屬性高度相關(guān)且與拓?fù)浣Y(jié)構(gòu)無關(guān)。在節(jié)點分類實驗中,使用30%的節(jié)點標(biāo)簽和隨機拓?fù)湎嚓P(guān)屬性圖的嵌入表示訓(xùn)練分類器,使用50%的節(jié)點標(biāo)簽進(jìn)行測試,最終GCN 編碼器的預(yù)測準(zhǔn)確率為35.1%,線性編碼器的預(yù)測準(zhǔn)確率為41.1%。
相關(guān)拓?fù)潆S機屬性圖由900 個節(jié)點構(gòu)成,使用隨機區(qū)塊模型(Stochastic Block Model,SBM)[18]將節(jié)點分為3 個不同社區(qū)(節(jié)點數(shù)分別為0~299、300~599、600~899),社區(qū)內(nèi)部節(jié)點成邊概率為0.03,社區(qū)外部節(jié)點成邊概率為0.001 5,根據(jù)所在社區(qū)不同將節(jié)點分為3類,每個節(jié)點隨機生成50 維的節(jié)點屬性。對于相關(guān)拓?fù)潆S機屬性圖,每個節(jié)點的標(biāo)簽與拓?fù)浣Y(jié)構(gòu)高度相關(guān)且與節(jié)點屬性無關(guān)。在節(jié)點分類實驗中,使用30%的節(jié)點標(biāo)簽和相關(guān)拓?fù)潆S機屬性圖的嵌入表示訓(xùn)練分類器,使用50%的節(jié)點標(biāo)簽進(jìn)行測試,最終GCN 編碼器的預(yù)測準(zhǔn)確率為74.9%,線性編碼器的預(yù)測準(zhǔn)確率為85.6%。
相關(guān)拓?fù)湎嚓P(guān)屬性圖由900個節(jié)點構(gòu)成,使用SBM將節(jié)點分為3 個不同社區(qū)(節(jié)點數(shù)分別為0~299、300~599、600~899),社區(qū)內(nèi)部節(jié)點成邊概率為0.03,社區(qū)外部節(jié)點成邊概率為0.001 5,每個社區(qū)內(nèi)的節(jié)點由高斯分布生成50 維節(jié)點屬性,不同社區(qū)使用的高斯分布協(xié)方差相同但中心距離很遠(yuǎn),根據(jù)社區(qū)和屬性信息將節(jié)點分為3類。對于相關(guān)拓?fù)湎嚓P(guān)屬性圖,每個節(jié)點的標(biāo)簽與拓?fù)浣Y(jié)構(gòu)和節(jié)點屬性高度相關(guān)。在節(jié)點分類實驗中,使用30%的節(jié)點標(biāo)簽和相關(guān)拓?fù)湎嚓P(guān)屬性圖的嵌入表示訓(xùn)練分類器,使用50%的節(jié)點標(biāo)簽進(jìn)行測試,最終GCN 編碼器的預(yù)測準(zhǔn)確率為78.9%,線性編碼器的預(yù)測準(zhǔn)確率為97.3%。
上述實驗結(jié)果表明,基于GCN 的自編碼器模型保留節(jié)點屬性和拓?fù)浣Y(jié)構(gòu)信息的能力有限,甚至無法匹配簡單的線性模型。在節(jié)點標(biāo)簽與原始圖信息關(guān)聯(lián)非常緊密的情況下,GCN 編碼器未能充分提取相關(guān)信息改善下游任務(wù)實驗表現(xiàn)。在現(xiàn)實世界中,圖數(shù)據(jù)的屬性和拓?fù)湫畔⑼ǔ8鼮閺?fù)雜,因此需要對現(xiàn)有GCN 編碼器模型進(jìn)行改進(jìn),使生成的嵌入能夠保留更豐富的原始圖信息,增強模型的表征能力。
本節(jié)首先給出MC-GCAE 模型的整體結(jié)構(gòu),然后介紹模型的編碼器和解碼器結(jié)構(gòu)以及融合機制,最后分析模型的損失函數(shù)。
MC-GCAE 是用于屬性圖G=(A,X)表示學(xué)習(xí)的無監(jiān)督模型,其中:A∈Rn×n為圖的鄰接矩陣,n為節(jié)點個數(shù);X∈Rn×d為節(jié)點屬性矩陣,由節(jié)點屬性向量xi∈R1×d堆疊構(gòu)成,d為每個節(jié)點特征的維數(shù)。
MC-GCAE 由基于GCN 的編碼器和解碼器組成,模型整體結(jié)構(gòu)如圖1 所示(彩色效果見《計算機工程》官網(wǎng)HTML 版)。為了有效捕獲節(jié)點屬性、拓?fù)湫畔⒁约巴負(fù)渑c屬性之間的關(guān)聯(lián)信息,MC-GCAE 分別從屬性空間和拓?fù)淇臻g對節(jié)點鄰域的特征信息進(jìn)行聚合。首先,使用GCN 構(gòu)建兩個特定信息卷積編碼器,利用屬性鄰接矩陣AF、拓?fù)溧徑泳仃嘇T和屬性矩陣X生成屬性嵌入YF和拓?fù)淝度隮T。然后,使用GCN 構(gòu)建一致信息編碼器,采用參數(shù)共享的方式生成YCF和YCT,進(jìn)而生成保留屬性和拓?fù)渲g的關(guān)聯(lián)信息的一致性嵌入YC。通過對稱解碼器,將上述編碼器生成的嵌入矩陣還原為屬性矩陣X,實現(xiàn)無監(jiān)督學(xué)習(xí)。在生成嵌入矩陣時,使用重構(gòu)損失Lrecovery、局部約束Llocal和一致性約束LC進(jìn)行優(yōu)化,其中,Llocal用于保留AF和AT局部結(jié)構(gòu)信息,LC用于增強YCF和YCT的關(guān)聯(lián)信息。為使最終嵌入Y能夠保留原始圖的關(guān)鍵信息,分別使用平均和拼接的方式對YF、YC和YT進(jìn)行融合。
圖1 MC-GCAE 模型結(jié)構(gòu)Fig.1 Structure of the MC-GCAE model
2.2.1 屬性相似度鄰接圖
為了捕獲屬性空間中節(jié)點的結(jié)構(gòu)關(guān)系,需要計算任意兩個節(jié)點屬性向量xi和xj的相似度,構(gòu)建相似度矩陣。使用余弦相似度構(gòu)建相似度矩陣S:
然后,從S中選擇k對最相似的節(jié)點對構(gòu)建圖的邊集,生成基于屬性相似度的k 近鄰圖GF=(AF,X),其中AF為k 近鄰相似度圖的鄰接矩陣。
2.2.2 特定信息卷積編碼器
GCN 能夠利用卷積運算從圖G中提取特征,生成包含拓?fù)浣Y(jié)構(gòu)和節(jié)點屬性信息的低維嵌入。在通常情況下,GCN 使用節(jié)點屬性矩陣X與鄰接矩陣A作為原始輸入,各層之間的傳播公式表示如下:
其中:W(l+1)為第l+1 層圖卷積的參數(shù)矩陣;σ為激活函數(shù);H(l)為激活矩陣,且H(0)=X。
使用雙層GCN 以及LeakyReLU 激活函數(shù)構(gòu)建特定信息卷積編碼器,對于屬性相似度圖使用節(jié)點屬性矩陣X與鄰接矩陣AF作為原始輸入,生成如下嵌入表示:
對于拓?fù)鋱DGT=(AT,X),特定信息卷積編碼器使用節(jié)點屬性矩陣X與鄰接矩陣AT作為原始輸入,采用與屬性圖相同的計算方式,生成如下嵌入表示:
其中:YT為捕獲拓?fù)淇臻g特定信息的拓?fù)淝度搿?/p>
2.2.3 一致信息卷積編碼器
節(jié)點屬性和拓?fù)浣Y(jié)構(gòu)通常不是完全無關(guān)的,但是兩者之間的重要性、關(guān)聯(lián)性通常難以確定。因此,在生成的嵌入表示中,不僅要分別提取屬性空間和拓?fù)淇臻g的特定信息,還需要提取這兩個空間共享的一致信息。受WANG等[17]工作的啟發(fā),設(shè)計一個具有參數(shù)共享策略的Consensus-GCN 編碼器,捕獲兩個空間的關(guān)聯(lián)信息。首先,利用Consensus-GCN從屬性近鄰圖中提取節(jié)點嵌入YCF:
然后,在使用Consensus-GCN 編碼器從屬性圖中學(xué)習(xí)節(jié)點嵌入的同時,為了提取屬性圖和拓?fù)鋱D的一致信息,對每一層Consensus-GCN 共享相同的權(quán)重矩陣:
最后,使用共享參數(shù)矩陣可以從兩個空間獲取屬性和拓?fù)涞囊恢滦畔?。將編碼器部分生成的YCT和YCF進(jìn)行融合,生成屬性和拓?fù)淇臻g的一致性嵌入YC:
MC-GCAE 的編碼器部分為多通道GCN。解碼器部分采用與編碼器具有相同層數(shù)的對稱解碼器,每個解碼器層都反轉(zhuǎn)對應(yīng)卷積編碼器層的編碼過程,使模型能夠在沒有任何監(jiān)督信息的情況下學(xué)習(xí)節(jié)點表示。解碼器部分的層間傳播公式表示如下:
對于特定信息卷積編碼器生成的YF和YT,雙層對稱解碼器的恢復(fù)過程表示如下:
其中:和分別表示特定信息解碼器利用拓?fù)鋱D和屬性圖重構(gòu)的屬性矩陣。
對于一致信息卷積編碼器生成的YCF和YCT,在解碼器部分同樣使用參數(shù)共享策略,恢復(fù)過程表示如下:
其中:和分別表示一致信息解碼器利用拓?fù)鋱D和屬性圖重構(gòu)的屬性矩陣。
MC-GCAE 利用編碼器生成了兩個包含特定信息的嵌入YF和YT,以及一個包含一致信息的嵌入YC。為使生成的最終嵌入Y能夠保留更多原始圖信息,分別采用平均和拼接兩種方式融合嵌入矩陣YF、YC和YT。
MC-GCAE-avg 采用平均的方式生成最終嵌入Yavg,其表達(dá)式如下:
MC-GCAE-concat 采用拼接的方式生成最終嵌入Yconcat,其表達(dá)式如下:
其中:||表示拼接操作。
2.5.1 重構(gòu)損失
在一般情況下,AE 的優(yōu)化目標(biāo)是最小化輸入和輸出的重構(gòu)誤差,其損失函數(shù)表示如下:
最小化重構(gòu)誤差不能顯式地保持樣本之間的相似性,但能夠平滑地捕獲數(shù)據(jù)流形,進(jìn)而隱式地保持相似性。由于圖的屬性信息使用0-1 矩陣表示,使得X中非零元素個數(shù)遠(yuǎn)小于零元素個數(shù),如果直接使用X和,則會導(dǎo)致解碼器更傾向于重構(gòu)零元素。為解決上述問題,修改原有LAE函數(shù),對非零元素的重構(gòu)誤差施加比零元素更大的懲罰:
MC-GCAE 使用四組編碼器-解碼器結(jié)構(gòu),每組重構(gòu)損失均使用式(14)進(jìn)行優(yōu)化,完整的重構(gòu)損失Lrecovery表示如下:
2.5.2 局部約束
除了利用重構(gòu)損失作為全局約束以外,捕獲圖的局部結(jié)構(gòu)信息也十分重要。LE 能夠從局部近似的角度構(gòu)建節(jié)點之間的關(guān)系,使相連節(jié)點在嵌入空間中盡可能靠近,進(jìn)而使生成嵌入中保留局部結(jié)構(gòu)信息。LE 的損失函數(shù)表示如下:
其中:Aij表示鄰接矩陣的元素。
對于YF、YT、YCF和YCT,在生成過程中均使用LE損失進(jìn)行約束,因此局部約束Llocal表示如下:
2.5.3 一致性約束
Consensus-GCN 使用共享權(quán)值矩陣的方式保持YCT和YCF中的一致信息。為了進(jìn)一步增強這種一致性,在MC-GCAE 中引入一致性約束函數(shù)。首先,使用L2 范數(shù)將嵌入矩陣歸一化為YCTnorm和YCFnorm。然后,利用上述歸一化矩陣捕獲圖中節(jié)點間的相似性信息,生成相似性矩陣SCT和SCF:
由于一致性表示矩陣SCT和SCF是相似的,因此一致性約束函數(shù)表示如下:
結(jié)合重構(gòu)損失、局部約束和一致性約束,MCGCAE 完整的損失函數(shù)表示如下:
其中:ε為控制Llocal的超參數(shù);Lreg為防止參數(shù)過擬合的正則化項。Lreg計算如下:
3.1.1 數(shù)據(jù)集
為了驗證低維節(jié)點嵌入的表示能力,在6 個真實世界的數(shù)據(jù)集上對MC-GCAE 和基線模型進(jìn)行評估。表1 為數(shù)據(jù)集的統(tǒng)計信息,具體說明如下:
表1 數(shù)據(jù)集統(tǒng)計信息 Table 1 Statistics of the datasets
1)網(wǎng)頁網(wǎng)絡(luò):Cornell[19]和Texas[19]是卡耐基梅隆大學(xué)采集的網(wǎng)頁數(shù)據(jù)集的兩個子集,其中,節(jié)點表示網(wǎng)頁,邊表示網(wǎng)頁之間的超鏈接,節(jié)點屬性是網(wǎng)頁的詞袋表示。這些網(wǎng)頁被人工分為學(xué)生、項目、課程、工作人員和教師5類。Cornell 用于節(jié)點分類和節(jié)點聚類任務(wù),Texas 用于節(jié)點分類任務(wù)。
2)引文網(wǎng)絡(luò):Cora[20]和Citeseer[20]是標(biāo)準(zhǔn)的引文網(wǎng)絡(luò)數(shù)據(jù)集,其中,節(jié)點表示論文,邊表示一篇論文對另一篇論文的引用,節(jié)點屬性是論文詞袋表示,節(jié)點標(biāo)簽是論文學(xué)術(shù)主題。Cora 用于節(jié)點分類任務(wù),Citeseer 用于節(jié)點分類和節(jié)點聚類任務(wù)。
3)社交網(wǎng)絡(luò):BlogCatalog[21]是博客網(wǎng)站的數(shù)據(jù)集,其中,節(jié)點表示博主,邊表示博主間的社交關(guān)系,節(jié)點屬性由博主信息的關(guān)鍵字構(gòu)造,標(biāo)簽代表作者提供的主題類別。Flickr[22]是圖片分享網(wǎng)站數(shù)據(jù)集,用戶通過圖片分享進(jìn)行互動,其中,節(jié)點表示用戶,邊表示用戶間的友誼關(guān)系,節(jié)點標(biāo)簽根據(jù)用戶興趣組劃分。BlogCatalog 和Flickr 均用于節(jié)點分類任務(wù)。
3.1.2 基線模型
將以下模型作為基線模型:
1)Deepwalk:以鄰接矩陣作為輸入,首先利用隨機游走獲取節(jié)點序列,然后使用Skip-Gram 算法最大化節(jié)點共現(xiàn)概率,生成節(jié)點表示。
2)SDNE:以鄰接矩陣作為輸入,利用深度線性自編碼器以及圖的一階、二階相似度,生成并捕獲高度非線性的節(jié)點表示。
3)SSDNE[23]:以鄰接矩陣作為輸入,在SDNE 的基礎(chǔ)上增加傳統(tǒng)鏈路預(yù)測相似度矩陣(Katz 矩陣)作為約束條件,生成節(jié)點表示。
4)DANE:以屬性矩陣和鄰接矩陣作為輸入,在SDNE 的基礎(chǔ)上增加獨立的屬性編碼器,將深度線性自編碼器生成的屬性嵌入和拓?fù)淝度脒M(jìn)行拼接,生成節(jié)點表示。
5)AENEA[24]:以鄰接矩陣作為輸入,通過隨機沖浪生成共現(xiàn)概率矩陣后,計算PPMI 矩陣作為深度線性自編碼器輸入,使用圖的一階、二階相似度作為約束,生成節(jié)點表示。
6)GALA:以屬性矩陣和鄰接矩陣作為輸入,采用完全對稱的GCN 自編碼器生成節(jié)點表示,在編碼和解碼過程中同時使用結(jié)構(gòu)和屬性信息。
7)GATE[25]:以屬性矩陣和鄰接矩陣作為輸入,編碼器各層首先通過self-attention 為鄰居節(jié)點分配不同權(quán)重,然后聚合鄰域信息生成節(jié)點表示,解碼器對編碼過程進(jìn)行反轉(zhuǎn)。
8)GASN[26]:以屬性矩陣和鄰接矩陣作為輸入,使用改進(jìn)GCN[26]編碼生成節(jié)點表示,在解碼器部分利用內(nèi)積解碼器重構(gòu)鄰接矩陣,采用對稱GCN 解碼器重構(gòu)屬性矩陣。
9)VGAE:以屬性矩陣和鄰接矩陣作為輸入,編碼器首先利用GCN 獲得節(jié)點表示的概率分布,然后在分布中采樣生成節(jié)點表示,最后使用內(nèi)積解碼器重構(gòu)圖的鄰接矩陣。
10)OSA-VGAE[27]:以屬性矩陣和鄰接矩陣作為輸入,在VGAE 的基礎(chǔ)上引入One-Shot 聚合[28]增強深層模型性能,生成節(jié)點表示。
3.1.3 參數(shù)設(shè)置
所有基線模型按照原始論文中建議的參數(shù)進(jìn)行初始化,并對部分模型進(jìn)一步調(diào)整,以獲取基線的最佳性能。對于MC-GCAE,隱藏層的維度hhidden∈{512,768},生成嵌入的維度d∈{25,26,27};屬性鄰接圖近鄰數(shù)k∈{2,3,…,20};損失函數(shù)中懲罰系數(shù)b∈{1,3,5,7,10},超參數(shù)ε∈{10-3,10-2,10-1}。表2 為MC-GCAE 的參數(shù)設(shè)置。
表2 MC-GCAE 參數(shù)設(shè)置 Table 2 Parameter setting of MC-GCAE
3.1.4 評價指標(biāo)
為了評估模型在節(jié)點分類、節(jié)點聚類上的性能,使用Macro-F1、Micro-F1、聚類精度(Clustering Accuracy,Cluster-Acc)和歸一化互信息(Normalized Mutual Information,NMI)作為評價指標(biāo)。
在多標(biāo)簽節(jié)點分類任務(wù)中,Micro-F1 計算公式如下:
其中:P表示精確率;R表示召回率。
Macro-F1 計算公式如下:
其中:L表示標(biāo)簽集;F(l)是標(biāo)簽l的F1值。
在節(jié)點聚類任務(wù)中,給定真實標(biāo)簽li和聚類標(biāo)簽zi,Cluster-Acc 計算公式如下:
其中:n為節(jié)點數(shù);map(·)為映射函數(shù),使用Hungarian 算法[29]映射聚類標(biāo)簽和真實標(biāo)簽;δ(·)函數(shù)用于判別映射標(biāo)簽和真實標(biāo)簽是否一致,相同結(jié)果為1,不同結(jié)果為0。
節(jié)點聚類任務(wù)還采用NMI 評估模型性能,計算公式如下:
其中:NMI 用于度量M1和M2聚類結(jié)果之間的相似性;H(·)表示信息熵。
本節(jié)通過多標(biāo)簽分類任務(wù)評估不同模型性能。生成的低維嵌入作為邏輯回歸分類器的輸入,對于每個數(shù)據(jù)集,以10%為間隔,隨機抽取10%~50%的節(jié)點表示作為訓(xùn)練數(shù)據(jù),剩余節(jié)點中抽取50%作為測試集,各模型采用相同的數(shù)據(jù)集劃分,記錄Micro-F1和Macro-F1。節(jié)點分類實驗結(jié)果如圖2~圖4 所示(彩色效果見《計算機工程》官網(wǎng)HTML 版),由圖2~圖4 可以得出:
圖2 網(wǎng)頁網(wǎng)絡(luò)的Micro-F1 和Macro-F1Fig.2 Micro-F1 and Macro-F1 on the Web networks
1)在大多數(shù)情況下,MC-GCAE 能夠超過基線模型的分類性能,特別是在Cornell、BlogCatalog 和Flickr數(shù)據(jù)集上,MC-GCAE 的Micro-F1 和Macro-F1 值始終高于基線模型。上述結(jié)果表明,MC-GCAE 能夠從不同特征空間中捕獲原始圖信息,并將其保留在生成的低維嵌入中,提升節(jié)點分類任務(wù)的實驗表現(xiàn)。
2)在大部分?jǐn)?shù)據(jù)集上,僅使用GCN 編碼解碼的GALA 的實驗表現(xiàn)不佳,特別是在Cora、Citeseer 和BlogCatalog 數(shù)據(jù)集上,GALA 的Micro-F1 和Macro-F1 值顯著低于其他模型。上述結(jié)果表明,僅使用重構(gòu)損失的GCN 編碼器提取節(jié)點屬性和拓?fù)浣Y(jié)構(gòu)信息的能力有限,在生成嵌入中未能充分保留原始圖相關(guān)信息。
3)在BlogCatalog 和Flickr 數(shù)據(jù)集上,基于線性編碼器的基線模型的實驗表現(xiàn)顯著優(yōu)于基于GNN編碼器的基線模型。上述結(jié)果進(jìn)一步表明,基于GCN 及其變體的編碼器模型在無監(jiān)督條件下不能有效提取結(jié)構(gòu)、屬性及其關(guān)聯(lián)信息,導(dǎo)致模型分類性能低于使用隨機游走的Deepwalk 以及采用簡單線性編碼器的SDNE、SSDNE、DANE 和AENEA。
4)在不同數(shù)據(jù)集上,同一基線模型的分類表現(xiàn)差異明顯。例如:DANE 在網(wǎng)頁網(wǎng)絡(luò)Texas 數(shù)據(jù)集上表現(xiàn)出色,但在同類型且統(tǒng)計信息相似的Cornell 數(shù)據(jù)集上表現(xiàn)不佳;GATE 在引文網(wǎng)絡(luò)Citeseer 數(shù)據(jù)集上表現(xiàn)出色,但在社交網(wǎng)絡(luò)BlogCatalog 和Flickr 數(shù)據(jù)集上表現(xiàn)不佳。上述結(jié)果表明,基線模型在處理不同數(shù)據(jù)集時,泛化能力有限。與基線模型相反,MC-GCAE 在所有數(shù)據(jù)集上均取得了良好的實驗性能,證明了MC-GCAE強大的泛化能力。此外,與基線模型相比,MC-GCAE使用10%~30%的訓(xùn)練數(shù)據(jù)即可顯著提升分類任務(wù)的性能表現(xiàn)。
圖3 引文網(wǎng)絡(luò)的Micro-F1 和Macro-F1Fig.3 Micro-F1 and Macro-F1 on the citation networks
圖4 社交網(wǎng)絡(luò)的Micro-F1 和Macro-F1Fig.4 Micro-F1 and Macro-F1 on the social networks
5)對比基于圖結(jié)構(gòu)和基于圖特征基線的實驗結(jié)果,雖然基于圖特征的方法輸入的原始圖信息更豐富,但模型融合和保留圖特征的能力有限,屬性空間和拓?fù)淇臻g的關(guān)鍵信息相互抵消,導(dǎo)致性能差于基于圖結(jié)構(gòu)的方法。為改善上述問題,MC-GCAE 通過增加一致性空間特征提取,平衡生成嵌入中的屬性和拓?fù)湫畔?,提升模型的表示能力?/p>
6)對 比MC-GCAE-avg 和MC-GCAE-concat 的實驗結(jié)果,在大部分情況下,拼接方式優(yōu)于平均方式。特別是在Texas 數(shù)據(jù)集上,由于屬性信息明顯多于節(jié)點數(shù)和邊數(shù),采用平均方式的MC-GCAE-avg 弱化了屬性信息的比重,使其性能差于采用拼接方式的MC-GCAE-concat。在同樣屬性信息較多的Cornell 數(shù)據(jù)集上,雖然MC-GCAE-avg 的Micro-F1值在部分訓(xùn)練集比率下高于MC-GCAE-concat,但是隨著訓(xùn)練集比率提高,MC-GCAE-concat 的Macro-F1 值逐漸優(yōu)于MC-GCAE-avg,同樣證明了拼接方式能夠保留更多的圖信息,提升分類性能。
由于各模型生成的嵌入維度不同,為了保證公平性,首先使用降維算法[3,30]將所有模型生成的嵌入降至2維,然后執(zhí)行K-means++[31]實現(xiàn)無監(jiān)督節(jié)點聚類。在K-means++算法中,K值設(shè)置為Cornell 和Citeseer 數(shù)據(jù)集的類別數(shù),運行算法10次,記錄Cluster-Acc 和NMI的平均值。節(jié)點聚類的實驗結(jié)果如表3 所示,其中,排名第一的實驗結(jié)果用加粗表示,排名第二的實驗結(jié)果用下劃線表示。
表3 節(jié)點聚類實驗結(jié)果 Table 3 Experiment results of the node clustering
由表3 可以得出:
1)相較基線模型,MC-GCAE 取得了最佳聚類性能,在Cornell數(shù)據(jù)集上Cluster-Acc 和NMI 相比于表現(xiàn)最優(yōu)的基線模型提升了2.49%和160.27%,在Citeseer數(shù)據(jù)集上Cluster-Acc 和NMI 相比于表現(xiàn)最優(yōu)的基線模型提升了11.84%和34.03%。上述實驗結(jié)果進(jìn)一步表明,同時使用屬性、拓?fù)浜鸵恢滦畔⒌腗C-GCAE 在生成的低維嵌入中充分保留了原始圖信息,顯著提升了模型在無監(jiān)督聚類任務(wù)中的實驗表現(xiàn)。
2)在兩個數(shù)據(jù)集上,同一基線模型的聚類表現(xiàn)差異明顯。例如:DANE 在Cornell 上的Cluster-Acc 顯著優(yōu)于其他基線模型,但在Citeseer 上表現(xiàn)不佳;基于變分自編碼器架構(gòu)的GASN 和VGAE 在Citeseer 上的實驗表現(xiàn)優(yōu)于Cornell。上述結(jié)果進(jìn)一步表明,基線模型處理不同數(shù)據(jù)集的泛化能力有限。MC-GCAE 在兩個數(shù)據(jù)集上均取得了良好的實驗性能,再次證明了其具有較強的泛化能力。
3)基于GCN 及其變體的自編碼器模型GALA、GATE、GASN、VGAE 和OSA-VGAE 保留節(jié)點屬性和拓?fù)浣Y(jié)構(gòu)信息的能力有限,在兩個數(shù)據(jù)集上實驗表現(xiàn)均差于基于圖結(jié)構(gòu)的Deepwalk。此外,在訓(xùn)練過程中僅使用最大化共現(xiàn)概率和負(fù)采樣進(jìn)行優(yōu)化的Deepwalk 缺乏明確優(yōu)化函數(shù),并且僅使用鄰接矩陣作為輸入,上述特性使得Deepwalk 的實驗性能遠(yuǎn)低于保留屬性、拓?fù)浜鸵恢滦畔⒌腗C-GCAE。
在節(jié)點表示中蘊含了圖的屬性和拓?fù)湫畔?,對其進(jìn)行可視化后,能夠直觀地反映原始圖的某些特征。對于可視化任務(wù),首先使用t-分布隨機鄰域嵌入(t-distributed Stochastic Neighbor Embedding,t-SNE)[3]將節(jié)點表示的維度降低到2,然后將其在2 維平面上進(jìn)行可視化,最后根據(jù)Citeseer 數(shù)據(jù)集的類別標(biāo)簽,將節(jié)點標(biāo)記為6 種不同的顏色。各模型生成嵌入的可視化結(jié)果如圖5 所示(彩色效果見《計算機工程》官網(wǎng)HTML 版)。
從圖5 可以看出:多數(shù)基線模型生成嵌入的可視化效果很差,不同類型的節(jié)點大多混合在一起,基本是無序的;MC-GCAE 的可視化效果明顯好于上述模型,學(xué)習(xí)到的節(jié)點表示有較高的類內(nèi)相似性和類間界限。可視化結(jié)果直觀反映了模型保留同一社群節(jié)點相似特征的能力,證明了MC-GCAE 分別從屬性空間、拓?fù)淇臻g和一致性空間提取圖信息的方式能夠充分保留原始圖信息,使同類節(jié)點在低維嵌入空間彼此接近。
圖5 Citeseer 數(shù)據(jù)集上節(jié)點表示可視化Fig.5 Visualization of node representations on the Citeseer dataset
為了進(jìn)一步驗證MC-GCAE的有效性,在Cornell、Citeseer 和BlogCatalog 數(shù)據(jù)集上進(jìn)行節(jié)點分類實驗(40%數(shù)據(jù)作為訓(xùn)練集,50%數(shù)據(jù)作為測試集),對比MC-GCAE(拼接融合)及其變體的實驗性能。各變體相關(guān)信息如下:
1)GCAE-T:MC-GCAE 的拓?fù)湫畔⒕幋a組件,用于生成拓?fù)淝度隮T。
2)GCAE-A:MC-GCAE 的屬性信息編碼組件,用于生成屬性嵌入YF。
3)GCAE-C:MC-GCAE 的屬性和拓?fù)湟恢滦畔⒕幋a組件,用于生成一致性嵌入YC。
4)GCAE-A&T:MC-GCAE 的特定信息編碼部分,拼接拓?fù)淝度隮T和屬性嵌入YF。
從圖6 的實驗結(jié)果可以得出:
圖6 MC-GCAE 及其變體的實驗結(jié)果 Fig.6 Experimental results of MC-GCAE and its variants
1)在3 個數(shù)據(jù)集上,MC-GCAE 的實驗結(jié)果始終優(yōu)于4 個變體,證明了采用多通道方式學(xué)習(xí)屬性信息、拓?fù)湫畔⒑鸵恢滦畔⒌姆绞侥軌蛱嵘贕CN自編碼器模型保留原始圖信息的能力。
2)在Cornell 數(shù)據(jù)集上,原始圖的屬性信息遠(yuǎn)超節(jié)點和邊的數(shù)量,因此僅使用屬性空間信息的GCAE-A 性能更為突出,優(yōu)于僅使用拓?fù)湫畔⒌腉CAE-T 和一致信息的GCAE-C,并且與同時使用拓?fù)湫畔⒑蛯傩孕畔⒌腉CAE-A&T 性能接近。
3)GCAE-T 和GCAE-A 的性能受實驗數(shù)據(jù)影響明顯,即屬性信息豐富的圖上GCAE-A 性能更好,拓?fù)湫畔⒇S富的圖上GCAE-T 性能更好,而保留屬性和拓?fù)湟恢滦畔⒌腉CAE-C 性能始終在兩者之間。
4)在3 個數(shù)據(jù)集上,GCAE-A&T 的實驗性能始終差于MC-GCAE,這是因為同時使用拓?fù)淝度搿傩郧度牒鸵恢滦郧度肽軌蛟谧罱K嵌入中保留更豐富的原始圖信息,增強模型的表示能力。此外,綜合對比3 個數(shù)據(jù)集上的實驗表現(xiàn),MC-GCAE 比僅使用拓?fù)淝度牒蛯傩郧度氲腉CAE-A&T 更穩(wěn)定。
為了分析MC-GCAE 性能與參數(shù)的關(guān)聯(lián)性,使用Texas 和Citeseer 數(shù)據(jù)集上的節(jié)點分類任務(wù)(10%數(shù)據(jù)作為訓(xùn)練集,50%數(shù)據(jù)作為測試集)進(jìn)行參數(shù)實驗。
為了驗證k 近鄰節(jié)點中不同k值對屬性相似度圖的影響,記錄不同k值在Texas 和Citeseer 數(shù)據(jù)集上的分類性能,實驗結(jié)果如圖7 所示。由圖7 可以看出,在Texas 和Citeseer 數(shù)據(jù)集上,Micro-F1 和Macro-F1 都呈現(xiàn)先上升后下降的趨勢,過高和過低的k值表現(xiàn)均較為一般,這是因為k值過低屬性圖無法保留充足的屬性空間信息,而k值過高屬性圖會生成大量噪聲邊降低模型性能。
圖7 參數(shù)k 分析 Fig.7 Analysis of the parameter k
為了驗證b值對模型性能的影響,記錄不同b值在Texas 和Citeseer 數(shù)據(jù)集上的分類性能,實驗結(jié)果如圖8 所示。b值越大,模型越容易重構(gòu)非零元素。當(dāng)b=1時,模型將平等地重建非零元素和零元素,這使得其在屬性信息稀疏的Citeseer 數(shù)據(jù)集上分類性能較差。當(dāng)b值過大時,分類性能也會下降,原因在于模型執(zhí)行重構(gòu)更傾向保持非零項,忽略了零元素包含的屬性之間的差異性信息。實驗結(jié)果表明,在模型訓(xùn)練過程中既要關(guān)注非零元素包含的屬性信息,又要關(guān)注零元素包含的屬性差異信息。
圖8 參數(shù)b 分析 Fig.8 Analysis of the parameter b
參數(shù)ε用于控制損失函數(shù)中局部約束的比重,圖9給出了不同ε值的實驗結(jié)果。ε值越大,模型越關(guān)注一階相似度信息,但是較大的ε值不會帶來較好的分類性能。由圖9 可以看出,在Texas 和Citeseer 數(shù)據(jù)集上,當(dāng)ε=10-2時,模型獲得最佳性能。上述結(jié)果表明,雖然局部約束能夠保留原始圖的重要信息,但是過高的比重會降低模型的表示能力,因此需要通過參數(shù)ε平衡損失函數(shù)中的局部損失比重。
圖9 參數(shù)ε 分析 Fig.9 Analysis of the parameter ε
參數(shù)d用于控制生成嵌入的維度,圖10 給出了不同d值的實驗結(jié)果。Micro-F1 和Macro-F1 在開始時隨維度的增加而提高,這是因為更多的維度使嵌入中編碼了更多有益信息,提升了實驗表現(xiàn)。但是,隨著維度不斷增加,Micro-F1 和Macro-F1 開始下降,這是因為過大的維度使嵌入中編碼了噪聲信息,降低了實驗表現(xiàn)。因此,在生成節(jié)點嵌入時需要選擇合適的維度,以獲取模型的最佳性能。
圖10 參數(shù)d 分析 Fig.10 Analysis of the parameter d
為了比較不同模型的訓(xùn)練時間,記錄Cora 數(shù)據(jù)集上迭代100 次后單次迭代的平均訓(xùn)練時間(包括前向傳播、損失函數(shù)計算和反向傳播),實驗結(jié)果如圖11 所示。由圖11 可以看出:GALA 由于僅使用GCN 編碼器和重構(gòu)損失,計算速度最快;DANE 使用簡單的線性編碼器進(jìn)行編碼,利用重構(gòu)損失、一階損失和高階損失進(jìn)行優(yōu)化,因此訓(xùn)練時間比GALA 更長;GATE 在每次迭代中都需要計算節(jié)點間的注意力系數(shù),同時使用重構(gòu)損失和局部約束進(jìn)行優(yōu)化,使得訓(xùn)練時間較長;MC-GCAE 使用4 組GCN 編碼器,同時利用重構(gòu)損失、局部約束和一致性約束進(jìn)行優(yōu)化,導(dǎo)致訓(xùn)練時間長于結(jié)構(gòu)和優(yōu)化方式更簡單的GALA。
圖11 訓(xùn)練時間對比Fig.11 Comparison of the training times
為提升傳統(tǒng)GCN 編碼器模型對于屬性和拓?fù)湫畔⒌娜诤夏芰Γ疚奶岢龌诙嗤ǖ缊D卷積自編碼器的圖表示學(xué)習(xí)模型MC-GCAE,充分保留了原始圖的屬性、拓?fù)湟约皟烧哧P(guān)聯(lián)信息。實驗結(jié)果表明,多通道圖卷積編碼器生成的融合嵌入表示能夠提升節(jié)點分類、節(jié)點聚類、可視化等圖機器學(xué)習(xí)任務(wù)的性能表現(xiàn)。此外,通過組件性能分析可以看出,多通道融合模型相較使用單一特征空間的組件能夠更好地泛化到不同類型的圖數(shù)據(jù)集上。在當(dāng)前工作中,使用局部約束保留了圖的一階相似度信息,但未保留二階相似度、社群特征等高階相似度信息。因此,在后續(xù)工作中,將對圖的低階信息、高階信息及兩者關(guān)聯(lián)信息進(jìn)行分析和挖掘,使生成嵌入中能夠保留更豐富的原始圖信息。