張 芳,王 祺,劉彥北
(1.天津工業(yè)大學(xué) 生命科學(xué)學(xué)院,天津 300387;2.天津工業(yè)大學(xué) 電子與信息工程學(xué)院,天津 300387)
圖是表示不規(guī)則數(shù)據(jù)的強(qiáng)大工具,其結(jié)構(gòu)鏈接表示連接實(shí)體之間的某種形式的關(guān)系。在化學(xué)領(lǐng)域[1]中,它們可以代表化合物的分子結(jié)構(gòu);在生物學(xué)領(lǐng)域[2]中,它們可以代表蛋白質(zhì)相互作用的網(wǎng)絡(luò);在社會(huì)科學(xué)領(lǐng)域[3]中,它們可以代表人際關(guān)系網(wǎng)絡(luò)。圖表示學(xué)習(xí)已經(jīng)成為越來越受歡迎的研究領(lǐng)域,被用來解決各行各業(yè)的問題,例如:在生物化學(xué)領(lǐng)域中的藥物設(shè)計(jì)、疾病分類;在交通領(lǐng)域?qū)煌ㄐ枨箢A(yù)測(cè)、道路速度預(yù)測(cè);在計(jì)算機(jī)視覺領(lǐng)域的目標(biāo)檢測(cè)、視覺推理;在自然語(yǔ)言處理領(lǐng)域的實(shí)體關(guān)系抽取、文本生成;在網(wǎng)絡(luò)運(yùn)營(yíng)領(lǐng)域的社交推薦系統(tǒng)、用戶行為預(yù)測(cè)等。
圖自編碼器是一類圖表示學(xué)習(xí)方法,旨在通過使用神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)將網(wǎng)絡(luò)頂點(diǎn)表示為低維向量空間[4]。一種典型的解決方案是利用多層感知器作為編碼器來獲取節(jié)點(diǎn)表示,其中解碼器重建節(jié)點(diǎn)鄰域統(tǒng)計(jì)信息。自動(dòng)編碼器及其變體廣泛用于無監(jiān)督學(xué)習(xí),適用于學(xué)習(xí)沒有標(biāo)簽信息的圖的節(jié)點(diǎn)表示。稀疏自動(dòng)編碼器(SAE)[5]將鄰接矩陣或其變體作為節(jié)點(diǎn)的原始特征,并使用自動(dòng)編碼器作為降維技術(shù)來學(xué)習(xí)低維節(jié)點(diǎn)表示。用于圖表示的深度神經(jīng)網(wǎng)絡(luò)(DNGR)[6]使用堆疊式去噪自動(dòng)編碼器來重構(gòu)逐點(diǎn)互信息矩陣(PPMI),特別是當(dāng)存在缺失值時(shí)學(xué)習(xí)得到的潛在表示更具有魯棒性。結(jié)構(gòu)深度網(wǎng)絡(luò)嵌入(SDNE)[7]使用堆疊式自動(dòng)編碼器共同保留節(jié)點(diǎn)的一階近似度和二階近似度。深度遞歸網(wǎng)絡(luò)嵌入(DRNE)[8]提出了另一種修改方法代替重建鄰接矩陣,即使用長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)通過聚集鄰域信息來直接重建節(jié)點(diǎn)的低維向量。DRNE直接重建節(jié)點(diǎn)的隱藏狀態(tài),而不是整個(gè)圖形統(tǒng)計(jì)信息。變分圖自編碼器(VGAE)[9]是基于變分自動(dòng)編碼器(VAE)[10]無監(jiān)督學(xué)習(xí)圖結(jié)構(gòu)數(shù)據(jù)的框架,將降維與生成模型結(jié)合使用,該模型將圖卷積網(wǎng)絡(luò)(GCN)[11]集成到圖自編碼器中,并采用簡(jiǎn)單的線性內(nèi)積作為解碼器。對(duì)抗正則化圖形自編碼器(ARGA)[12]采用了生成對(duì)抗網(wǎng)絡(luò)(GAN)的訓(xùn)練方案[13]來正則化圖自編碼器。在ARGA中,編碼器通過GCN將具有其特征的節(jié)點(diǎn)結(jié)構(gòu)信息編碼為隱藏表示,然后解碼器從編碼器的輸出中重建鄰接矩陣。深度變異網(wǎng)絡(luò)嵌入(DVNE)[14]通過將每個(gè)節(jié)點(diǎn)表示為高斯分布,為圖數(shù)據(jù)提出了另一個(gè)VAE。與以前采用KL散度作為度量的工作不同,DVNE使用Wass-erstein距離來保留節(jié)點(diǎn)相似性的傳遞性。
盡管這些圖自編碼器網(wǎng)絡(luò)已廣泛用于無監(jiān)督學(xué)習(xí)中,并已取得了顯著的成果,但它們的解碼器僅考慮圖的結(jié)構(gòu)特征的重建,沒有明確考慮圖的節(jié)點(diǎn)屬性特征的重建。傳統(tǒng)的圖自編碼器的解碼器僅重建節(jié)點(diǎn)的結(jié)構(gòu)關(guān)系,并通過減少結(jié)構(gòu)信息重建的損失對(duì)其進(jìn)行進(jìn)一步優(yōu)化,而不重建節(jié)點(diǎn)的屬性特征。在無監(jiān)督學(xué)習(xí)中,當(dāng)節(jié)點(diǎn)的屬性信息更相似時(shí),它們更有可能彼此連接或?qū)儆谕活悇e。因此,節(jié)點(diǎn)屬性在圖自編碼器中的作用不能忽略。
本文提出了一種節(jié)點(diǎn)屬性增強(qiáng)的圖自編碼器(NEGAE),這是一種用于圖數(shù)據(jù)無監(jiān)督學(xué)習(xí)的新型模型。使用圖卷積網(wǎng)絡(luò)(GCN)[11]作為編碼器;除了簡(jiǎn)單的內(nèi)積之外,使用反卷積方法來重建節(jié)點(diǎn)屬性信息;將結(jié)構(gòu)信息和節(jié)點(diǎn)屬性信息的重建誤差結(jié)合在統(tǒng)一的損失函數(shù)中進(jìn)行優(yōu)化;將模型在Cora、Citeseer和Pubmed等3個(gè)國(guó)際公開的網(wǎng)絡(luò)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)以驗(yàn)證其有效性。
本文將圖定義為G=(V,E)。其中,V=(ν1,ν2,…,νn)表示節(jié)點(diǎn)的集合;E為節(jié)點(diǎn)之間相連的邊的集合。設(shè)n=|N|為節(jié)點(diǎn)數(shù),e=|E|為邊數(shù)。A為鄰接矩陣,D=diag(d1,d2,…,dn)為對(duì)角度矩陣(其中,X=(x1,x2,…,xn)T為節(jié)點(diǎn)特征向量的矩陣。NEGAE模型示意圖如圖1所示。
圖1 NEGAE模型的示意圖Fig.1 Schematic of NEGAE model
從深入理解公式的角度[15],GCN可以被視為拉普拉斯平滑的一種特殊形式。輸入特征的每個(gè)通道上的拉普拉斯平滑公式為:
當(dāng)γ=1時(shí),可以得到拉普拉斯平滑的一種特殊形式,即圖卷積在頻譜域上的表示:
式中:Y為拉普拉斯平滑的形式;Z為圖卷積得到的表示,兩者在特定參數(shù)下得到統(tǒng)一形式。
那么,與拉普拉斯平滑法相反,通過與鄰居特征的銳化來計(jì)算節(jié)點(diǎn)屬性的新特征,相當(dāng)于從平滑結(jié)果中重建節(jié)點(diǎn)特征。為了放大當(dāng)前節(jié)點(diǎn)與其鄰居之間的差異,圖的銳化公式為:
式中:Y為X銳化后新的特征矩陣。相應(yīng)地,當(dāng)γ=1時(shí),可以得到節(jié)點(diǎn)屬性信息的重建公式:
式中:為圖表示Z重建后得到的特征矩陣。
給定輸入節(jié)點(diǎn)屬性矩陣X∈Rn×m和鄰接矩陣A∈Rn×n,利用圖卷積網(wǎng)絡(luò)獲得編碼器,圖卷積的公式為:
式中:Wf為在卷積層中要訓(xùn)練的權(quán)重矩陣;Z為卷積后得到的圖表示;σ(·)表示激活函數(shù),例如ReLU(·)=max(0,·)。編碼過程如圖1的編碼部分所示。
解碼器重建圖數(shù)據(jù),包括結(jié)構(gòu)的重建和節(jié)點(diǎn)屬性的重建。計(jì)算重建的圖的結(jié)構(gòu)的公式為:
式中:為重建的鄰接矩陣。圖結(jié)構(gòu)重建過程如圖1的解碼上半部分所示。
使用交叉熵函數(shù)來衡量生成的圖結(jié)構(gòu)與原始圖結(jié)構(gòu)之間的差異。鄰接矩陣的重構(gòu)誤差的公式為:
式中:a代表A中元素的值(0或1);代表中相應(yīng)元素的值(0至1之間);Le為圖結(jié)構(gòu)重建的損失函數(shù)。
給定節(jié)點(diǎn)表示矩陣Z∈Rn×c,其中c為節(jié)點(diǎn)類別的數(shù)量。計(jì)算重建的圖的節(jié)點(diǎn)屬性的公式為:
式中:Wg為在反卷積層中要訓(xùn)練的權(quán)重矩陣;X^為重建后的節(jié)點(diǎn)屬性矩陣。經(jīng)過銳化處理后,可以從平滑特征中重建圖數(shù)據(jù)的節(jié)點(diǎn)屬性特征,如圖1的解碼下半部分所示。
使用均方根誤差來衡量所生成的節(jié)點(diǎn)屬性矩陣與原始節(jié)點(diǎn)屬性矩陣之間的差異。節(jié)點(diǎn)屬性的重構(gòu)誤差的公式為:
式中:RMSE代表均方根誤差的計(jì)算;Ln為節(jié)點(diǎn)屬性重建的損失函數(shù)。
給定輸入帶有屬性的圖數(shù)據(jù)G=(V,E),編碼部分通過圖卷積獲得圖的表示,解碼部分包含圖結(jié)構(gòu)重建和節(jié)點(diǎn)屬性重建,統(tǒng)一后的損失函數(shù)L的公式為:
利用3個(gè)開源的引文網(wǎng)絡(luò)數(shù)據(jù)集,包括Cora、Citeseer和Pubmed[16]驗(yàn)證本文所提出的NEGAE模型的有效性。數(shù)據(jù)集的詳細(xì)信息如表1所示。
表1實(shí)驗(yàn)中使用的引文網(wǎng)絡(luò)數(shù)據(jù)集信息Tab.1 Information of citation network datasets used in experiments
將本文提出的方法與譜聚類(SC)[17]、DeepWalk(DW)[18]、圖自編碼器(GAE)[9]和變分圖自編碼器(VGAE)[15]等4種流行的基線方法進(jìn)行比較。譜聚類(SC)[17]是一種學(xué)習(xí)社會(huì)表征的有效方法。DeepWalk(DW)[18]是一種將社會(huì)關(guān)系編碼為連續(xù)向量空間的網(wǎng)絡(luò)表示方法。圖自編碼器(GAE)[9]是用于圖數(shù)據(jù)的基于自動(dòng)編碼器的一種框架,它利用了拓?fù)湫畔⒑蛢?nèi)容信息進(jìn)行無監(jiān)督學(xué)習(xí)。變分圖自編碼器(VGAE)[9]是一種變分的進(jìn)行圖表示學(xué)習(xí)的圖自編碼器方法,它也利用拓?fù)浜蛢?nèi)容信息。
對(duì)于GAE、VGAE和NEGAE,按照Glorot的方法[19]進(jìn)行初始化權(quán)重,使用Adam優(yōu)化算法[20]以0.01的學(xué)習(xí)率進(jìn)行400次迭代訓(xùn)練。在所有實(shí)驗(yàn)中,都使用32維的隱藏層和16維的潛在變量。對(duì)于SC方法,按照Pedregosa的設(shè)置方式[21],即嵌入維數(shù)為128。對(duì)于DW方法,按照Grover提供的標(biāo)準(zhǔn)設(shè)置[22],即在單個(gè)迭代的訓(xùn)練中,嵌入維數(shù)為128,每個(gè)節(jié)點(diǎn)的長(zhǎng)度為80,隨機(jī)游走10次,上下文大小為10。
在所有3個(gè)數(shù)據(jù)集中,節(jié)點(diǎn)對(duì)應(yīng)于文檔,邊對(duì)應(yīng)(無向)引文。實(shí)驗(yàn)評(píng)估了1000個(gè)測(cè)試節(jié)點(diǎn)上圖表示的相關(guān)任務(wù)的性能。另外,使用500個(gè)其他節(jié)點(diǎn)進(jìn)行驗(yàn)證,這與GCN[11]中用于超參數(shù)優(yōu)化的設(shè)置相同。記錄的結(jié)果是20次隨機(jī)權(quán)重初始化的運(yùn)行的平均結(jié)果。
模型進(jìn)行訓(xùn)練時(shí),數(shù)據(jù)集的部分引文鏈接(邊)已經(jīng)被刪除,而所有節(jié)點(diǎn)特征均被保留下來。從先前刪除的邊和相同數(shù)量的未連接節(jié)點(diǎn)(非邊)的隨機(jī)采樣對(duì)中形成驗(yàn)證和測(cè)試集,實(shí)驗(yàn)記錄了測(cè)試集上每個(gè)模型的ROC曲線下面積(AUC)和平均精度分?jǐn)?shù)(AP)。
3個(gè)引文網(wǎng)絡(luò)基準(zhǔn)數(shù)據(jù)集的比較結(jié)果如表2所示,最佳結(jié)果標(biāo)記為粗體。由表2可以看到,本文提出的方法NEGAE在所有數(shù)據(jù)集上始終優(yōu)于基線方法。此外,與GAE相比,NEGAE在所有數(shù)據(jù)集上均得到了改進(jìn),表明NEGAE模型可以學(xué)習(xí)到更有效的節(jié)點(diǎn)表示。
表2 鏈接預(yù)測(cè)結(jié)果Tab.2 Link prediction results
將得到的節(jié)點(diǎn)表示作為新的輸入,然后利用KMeans算法[23]執(zhí)行節(jié)點(diǎn)聚類任務(wù)。聚類簇?cái)?shù)設(shè)置為數(shù)據(jù)集的類別數(shù)量。使用5個(gè)評(píng)估指標(biāo)來評(píng)估聚類結(jié)果的質(zhì)量,包括聚類準(zhǔn)確度(clustering accuracy,ACC)、歸一化互信息(normalized mutual information,NMI)、調(diào)整蘭德指數(shù)(adjusted rand index,ARI)、精確度(precision)和F1分?jǐn)?shù)(F1-score)。實(shí)驗(yàn)結(jié)果如表3所示。
由表3可以發(fā)現(xiàn),NEGAE在所有數(shù)據(jù)集上均取得良好的表現(xiàn),其中在Cora、Citeseer數(shù)據(jù)集上的所有指標(biāo)均優(yōu)于GAE方法,這再次驗(yàn)證了NEGAE模型用于圖表示學(xué)習(xí)的有效性。
表3 節(jié)點(diǎn)聚類結(jié)果Tab.3 Node clustering results
采用Cora數(shù)據(jù)集,將模型學(xué)習(xí)到的特征表示經(jīng)過2D t-SNE[24]變換,進(jìn)行可視化操作。DeepWalk、GAE、VGAE和NEGAE輸出的可視化結(jié)果如圖2所示。不同的類別用不同的顏色標(biāo)記。
圖2 Cora數(shù)據(jù)集上的t-SNE可視化Fig.2 t-SNE visualizations on Cora dataset
由圖2可以看出,與圖2(a)、(b)、(c)相比,圖2(d)中不同類別的分布更加清晰、緊湊,說明了NEGAE模型進(jìn)行圖表示學(xué)習(xí)的較強(qiáng)能力。
本文提出了一種節(jié)點(diǎn)屬性增強(qiáng)的圖自編碼器(NEGAE),它是一種同時(shí)包含結(jié)構(gòu)重建和節(jié)點(diǎn)屬性重建的新型模型,并在3個(gè)網(wǎng)絡(luò)數(shù)據(jù)集上對(duì)其有效性進(jìn)行了驗(yàn)證。結(jié)果表明:
(1)在鏈路預(yù)測(cè)任務(wù)中,NEGAE在Cora、Citeseer、Pubmed數(shù)據(jù)集上的AUC分別達(dá)到91.19%、90.27%、96.69%,均優(yōu)于基線方法;
(2)在聚類任務(wù)中,NEGAE在Cora、Citeseer、Pubmed數(shù)據(jù)集上的ACC分別達(dá)到60.31%、50.60%、66.79%,均優(yōu)于傳統(tǒng)GAE方法;
(3)實(shí)驗(yàn)驗(yàn)證了NEGAE模型用于圖表示學(xué)習(xí)的有效性。