鄭裕龍,陳啟買,賀超波,2,劉 海,張曉雨
1.華南師范大學 計算機學院,廣州 510631
2.仲愷農業工程學院 信息科學與技術學院,廣州 510225
真實世界中廣泛存在著各種各樣的復雜網絡,例如社交網絡、作者合著關系網絡、論文引用網絡以及蛋白質交互網絡等。社區發現是復雜網絡分析的重要研究話題,它的任務在于將復雜網絡劃分成多個子網絡,并且要求各子網絡內部節點之間連接緊密,而不同子網絡的節點之間連接稀疏[1]。有效發現復雜網絡存在的社區結構有助于理解整個網絡的結構特征和支持許多基于復雜網絡的數據分析應用,例如用戶興趣點推薦[2]和發現電信詐騙團伙[3]。
在過去幾十年,各類社區發現方法不斷涌現,其中包括基于圖劃分的方法[4-5]、基于譜聚類的方法[6]、基于模塊度優化的方法[7-8]、基于標簽傳播的方法[9-10]以及基于深度學習的方法等[11]。值得指出的是,非負矩陣分解(NMF)因其簡單、易擴展和可解釋性強也被廣泛應用于社區發現[12]。目前,已提出許多基于NMF的社區發現方法,例如,基于樸素非負矩陣分解的社區方法[13]、基于對稱NMF的社區發現方法SNMF[14]、基于半監督的NMF社區發現方法SNMF-SS15]、基于節點相似度和模塊度的NMF社區發現方法M-NMF[16]等。盡管現有基于NMF的社區發現方法都獲得了不同程度的性能提升,但由于NMF本質上是線性模型,因此這些方法仍然屬于線性方法,其表達能力較弱,對于包含大量非線性特征的真實世界復雜網絡,常常無法獲得滿意的社區發現性能。
近年來,深度神經網絡(如卷積神經網絡)因其強大的非線性特征學習能力被廣泛應用于自然語言處理和計算機視覺領域[17]。然而,傳統的深度神經網絡只能應用于歐式空間的數據,如圖像、語音以及文本等數據,而無法有效應用于更為常見的圖數據,因為圖是一種典型的非歐式空間數據結構。針對該問題,圖神經網絡[18]被提出將神經網絡模型拓展到圖數據處理領域。目前圖神經網絡發展迅速,并產生了許多變種,其中圖卷積網絡GCN[19]由于既具有傳統卷積網絡的優勢又能應用于圖數據而備受關注?,F有的研究工作表明,GCN比傳統的深度神經網絡(包括卷積網絡)更適合處理圖數據,并且具有強大的圖數據非線性特征學習能力[20]。由于復雜網絡本質上可以很自然地建模為圖結構數據,因此應用GCN可以期待更好地提升各類復雜網絡分析任務的性能,其中就包括本文關注的社區發現?;谝陨戏治?,本文提出應用GCN增強NMF社區發現方法的性能,所做的主要工作包括:
(1)設計了一種非線性的NMF社區發現方法NMFGCN,該方法通過結合NMF和GCN的各自優勢,使得其同時具備復雜網絡的非線性特征學習及社區發現能力。
(2)通過設計NMF和GCN的聯合優化框架,提出一個聯合訓練的損失函數,在考慮網絡結構的同時也充分利用社區信息,使得GCN可以學習到更有利于NMF社區發現結果的網絡節點表示,從而促進社區發現性能的提高。
(3)通過在人工合成網絡和真實網絡下進行大量實驗,結果表明NMFGCN優于現有基于NMF的社區發現方法及常用的網絡表示學習方法:DeepWalk[21]和LINE[22]。

NMF被證明與K-means和譜聚類模型具有近似等價關系[24],因此NMF具備良好的數據聚類能力。此外,社區發現本質上也是節點聚類問題,所以NMF也適合應用于社區發現。目前,已有許多基于NMF的社區發現方法,主要是通過擴展基本NMF模型解決各種復雜網絡的社區發現問題,例如,基于對稱NMF的社區發現方法SNMF[14,25]、基于聯合NMF的社區發現方法S2-j NMF[26]、基于半監督NMF的社區方法SPOCD[27]、SMpC[28]以及基于深度NMF的社區方法DANMF[29]等。盡管這些方法在不同程度上獲得了一定的性能提升,但由于NMF本質上是線性模型,所以這些方法仍然屬于線性方法,不具有非線性表達能力,在處理包含大量非線性特征的復雜網絡社區發現問題上仍然有待進一步改進。
卷積神經網絡在圖像處理和自然語言處理上效果顯著,主要歸功于其中的卷積運算可以學習到數據對象多層次的非線性表示。然而,卷積神經網絡的卷積運算只能定義在圖像、文本以及序列等歐式空間數據,而無法定義在屬于非歐式空間數據結構的圖上。為了將卷積運算推廣到圖數據,Bruna等人提出了譜域圖卷積網絡Spectral GCN[30]。Spectral GCN通過計算圖的拉普拉斯矩陣的特征分解,利用卷積定理[31],在傅里葉域中定義卷積運算。然而,Spectral GCN由于需要計算圖拉普拉斯矩陣的特征值,因而具有較高的時間復雜度。為了提高Spectral GCN的計算效率,Levie等人[32]提出了切比雪夫網絡ChebyNet。ChebyNet利用切比雪夫展開來近似卷積運算,使得圖卷積運算的效率大大提升。Kipf等人[19]進一步將切比雪夫網絡簡化到一階,提出了圖卷積網絡GCN。GCN的核心思想是節點通過聚合鄰居節點和自身節點的表示來定義卷積操作,從而得到自身節點的表示。由于簡單有效,GCN已經成為目前圖卷積網絡的基本模型。
圖卷積網絡是半監督方法,通常需要知道部分節點的標簽信息來訓練網絡參數。然而,真實世界的網絡大多是沒有標簽信息的,因此傳統的圖卷積不能直接用于處理社區發現任務。圖自編碼器(graph auto-encoder,GAE)[33]是GCN的一個變種,GAE不需要節點的標簽信息來監督訓練網絡參數,其核心思想是通過圖卷積學習到的節點低維表示來重構網絡,并在訓練過程中使得重構網絡接近于原始的網絡。GAE是一種無監督網絡表示學習方法,可以應用于沒有真實標簽的復雜網絡任務中,為此本文提出將圖卷積自編碼器與NMF結合的社區發現方法。
不失一般性,對于給定的包含n個節點的復雜網絡,可以建模為無向圖G=(V,E),其中節點集為V={v1,v2,…,v n},無向邊集合為E={eij|vi∈V,v j∈V}。G對應的鄰接矩陣A為二值矩陣。

G中的每個節點擁有d維的特征向量x∈?1×d,G的n個節點的特征向量構成了節點特征矩陣X∈?n×d。設k為網絡的社區數,C={c1,c2,…,ck}表示G的社區劃分,其中ci是屬于第i個社區的節點集合,例如c2={1,2,5}代表屬于第2個社區的節點為v1、v2、v5。基于以上定義,本文致力于解決的問題是:對于給定的G=(V,E),設計非線性的無監督社區發現方法NMFGCN,學習到社區成員表示矩陣U∈?n×k+,0≤uij≤1,從而預測給定網絡的社區劃分C,以提升基于NMF的社區發現方法的性能。其中,U的第i行U i是節點i隸屬于k個不同社區的概率,且具體地,u4,2=0.6代表節點4隸屬于社區c2的概率為0.6。
NMFGCN的模型框架如圖1所示,它主要包括2個模塊:GCN Module和NMF Module。GCN將鄰接矩陣A和節點的特征矩陣X作為輸入,輸出節點表示Z∈?n×m+,m為GCN輸出層維度。NMF以節點表示Z作為輸入,輸出節點的社區成員表示矩陣U。下面分別介紹各模塊的具體實現。

圖1 NMFGCN模型框架Fig.1 Framework of NMFGCN
(1)GCN Module。GCN Module的輸入是鄰接矩陣A和節點的特征矩陣X,其目標是學習到節點的低維表示矩陣Z。考慮L層的GCN,對于第1至L-1層,節點的隱藏層表示計算公式如下:

通過圖卷積學習到節點的表示Z后,使其與ZΤ做內積以重構鄰接矩陣:

重構鄰接矩陣的目的是使A′近似于A,從而可以用低維稠密的矩陣Z來表示圖的信息。為此,需要使用一個損失函數來衡量A與A′的誤差,并通過最小化誤差來使得A′近似于A,本文使用交叉熵作為損失函數:

重復迭代使用式(14)和式(15)分別更新U和V,直到LNMF收斂,則U為節點的社區成員表示矩陣,uij∈U為節點i隸屬于社區c j的概率。算法1描述了通過節點表示Z得到社區成員表示矩陣U的過程,具體如下:
算法1NMF獲取社區成員表示算法


(1)損失函數。本文處理的問題是無監督社區發現,僅使用LGCN作為損失函數訓練圖卷積得到的節點表示不能很好地用作社區表示,因此本文采用LGCN與LNMF聯合訓練的方式:

在實際進行迭代優化求解過程中,可以通過設置外部迭代次數控制GCN的更新,同時設置內部迭代次數控制NMF的更新。當L函數收斂或超過外部迭代次數時停止迭代,得到節點社區成員表示矩陣U。矩陣U的第i行U i為節點i的社區表示。U ij為節點i隸屬于社區c j的概率。取U i中最大值所對應的下標j,則c j為節點i所屬的社區。根據該思路,NMFGCN社區發現算法設計如算法2所示。
算法2NMFGCN社區發現算法


分析算法1和算法2,容易得出NMFGCN有兩個核心步驟:第一步是迭代優化圖卷積網絡和NMF,第二步是從社區成員表示矩陣U中得到社區劃分結果C。根據算法2,第二步的時間復雜度顯然為O(nk),以下主要分析第一步的時間復雜度。
在具體實現上,使用2層的GCN。為了簡單起見,GCN每一層輸出的維度均用m表示。假設網絡的節點數為n,邊數為 |E|,社區數為k,節點的特征維度為d,模型迭代次數為T,NMF內部迭代次數為t,鄰接矩陣A用稀疏矩陣存儲,那么GCN的時間復雜度可表示為O(md|E|)。迭代優化NMF的時間主要花費在式(14)、(15)對社區成員矩陣U和社區特征矩陣V的更新上,其時間復雜度為O(tnmk)。因此模型訓練的總時間復雜度為O(T(md|E|+tnmk)),其中k?m,m?d。大多數真實網絡由于關系復雜,節點之間連接比較稠密,網絡節點數n通常遠小于其邊數 ||E。因此,NMFGCN的時間復雜度主要取決于網絡的邊數 ||E。
為了驗證NMFGCN的有效性,本文在人工合成網絡和真實網絡上與多種代表性方法進行對比分析。實驗硬件平臺為Intel Core i7-9700 CPU,主頻2.4 GHz,內存32 GB,操作系統為Windows 10,各對比方法均使用Python 3.7實現。
本文選擇多個基于NMF的社區發現方法進行對比,此外還選擇目前廣泛使用的基于網絡表示學習的社區發現方法DeepWalk和LINE進行比較,所有這些對比方法簡要介紹如下:
NMF[13]:該方法采用基本的NMF模型,直接分解鄰接矩陣A獲得矩陣U和V,||A-U V||2F,其中U作為社區成員表示矩陣。
SNMF[14]:SNMF基于對稱非負矩陣分解模型(sym-其中H可以直接表示社區成員隸屬強度。
M-NMF[16]:M-NMF是一種基于模塊度的NMF社區檢測模型,該模型將網絡的社區結構融入到網絡嵌入中,聯合優化基于非負矩陣分解的社區檢測模型和基于模塊度的社區檢測模型。
ONMF[34]:ONMF基于正交非負矩陣分解模型(orthogonal NMF,ONMF),其基本思想是在NMF模型基礎上,對W施加正交約束,使得WTW=I。
HPNMF[35]:HPNMF基于圖正則化NMF模型,可以集成網絡的拓撲結構以及節點的同質性信息進行社區發現。
NSED[36]:NSED基于聯合NMF模型,包含一個編碼器和一個解碼器,可以通過編碼器獲得社區成員表示矩陣。
DeepWalk[21]:DeepWalk是一種經典的網絡表示學習方法,該方法的核心思想是通過隨機游走的方式在圖中進行采樣,使用圖中節點之間的共現關系來學習節點的低維表示。
LINE[22]:LINE也是一種網絡表示學習方法,其通過保留節點的一階和二階相似度來獲得網絡節點的低維表示。
需要指出的是,對于基于NMF的社區發現方法,即NMF、SNMF、ONMF、M-NMF、HPNMF以及NSED,可以直接通過社區成員表示矩陣獲得社區發現結果,而對于基于網絡表示學習的方法DeepWalk和LINE,可以使用這些方法先學習到節點的低維表示,再通過K-means對低維表示進行聚類,聚類結果作為最終的社區發現結果。
實驗使用的數據集包括人工合成網絡和真實網絡兩部分,這些數據集介紹如下。
(1)人工合成網絡。本文使用LFR基準網絡合成工具[37]生成帶有真實社區標簽的人工網絡,LFR工具有多個可調參數(表1)。本文通過固定部分參數,變化剩余參數來生成多組不同的人工網絡。具體地,首先通過固定n、k、maxk、minc、maxc,使mu從0.1變化到0.3,且每次增加0.05共生成一組5個網絡。接著通過固定k、maxk、minc、maxc及mu,使節點數量n從1 000增加到5 000,每次遞增1 000生成另外一組5個網絡。兩組網絡的具體參數設置如表2所示。

表1 LFR的可調節參數Table 1 Adjustable parameters of LFR

表2 人工合成網絡參數設置Table 2 Parameters setting of synthetic networks
(2)真實網絡。本文選擇4個真實網絡的數據集,分別是WebKB、Cora、Citeseer和Pubmed[38]。真實數據集的具體參數如表3所示。以上四個數據集均可在https://linqs.soe.ucsc.edu/data下載獲得。

表3 真實網絡參數Table 3 Parameters of real networks
考慮到對比方法大多數是針對非屬性網絡的無監督社區發現方法,為了公平起見,在真實網絡和合成網絡中,與對比方法進行比較時,NMFGCN的輸入特征X使用NMF分解鄰接矩陣A得到。
為評價社區發現結果的性能,本文使用4個目前普遍采用的評價準則:互信息(normalized mutual information,NMI)、調整蘭德指數(adjusted rand index,ARI)、準確率(accuracy,ACC)及模塊度Q,這些評價準則的具體定義可以參考文獻[39]關于社區發現性能評價準則的綜述。對于人工合成網絡,本文均采用NMI、ARI、ACC及模塊度Q進行結果評價。對于真實網絡,由于沒有真實的社區劃分標簽,本文使用模塊度Q進行結果評價。對于所有評價準則,值越大預示著性能越好,反之則相反。
為了公平比較,實驗中所有對比方法的參數均參考其在原文中的默認值。具體地,對于M-NMF,設置其正則化參數α=1,β=5;對于HPNMF,置其正則化參數λ=1;對于DeepWalk,設置窗口大小ω=10,迭代次數γ=80,walk_length=40,特征維度d=128;對于LINE,保留二階相似度,設置負樣本數量k=5,特征維度d=128;對于NMFGCN,設置損失權衡系數λ=1。GCN Module使用2層的圖卷積,第1層、第2層的輸出維度分別設置為256和128。此外,實驗中對于每個方法均運行10次,并取各評價指標的平均值進行評價。
在表2所示的兩組人工合成網絡數據集上進行了對比分析,其中第一組網絡的實驗結果如表4所示。

表4 具有不同混淆系數mu的人工合成網絡性能比較Table 4 Performance comparison of synthetic networks with different mu
從表4可以看出,隨著混淆系數mu的增大,網絡的社區結構越來越不清晰,檢測社區的難度不斷加大,各個方法的性能都有著較為明顯的下降趨勢,但本文方法NMFGCN在各個網絡上的表現都優于其他模型。例如,當mu=0.1時,與基于NMF表現最好的社區發現算法SNMF相比,NMFGCN的ACC、NMI、ARI和模塊度Q分別提升了7.7%、3.1%、8.2%、2.4%。與基于圖表示學習表現最好的社區發現算法LINE相比,NMFGCN的ACC、NMI、ARI和模塊度Q分別提升了4.6%、1.7%、7.1%、1.3%。不同的數據集上,NMFGCN在四個評價指標上也有不同程度的提升。第二組人工合成網絡上的實驗結果如圖2所示,從中也可以看出NMFGCN在所有具有不同節點數量的網絡均獲得最好的性能。

圖2 具有不同節點數量n的人工合成網絡性能比較Fig.2 Performance comparison of synthetic networks with different n
以上在人工合成網絡上的實驗結果表明,NMFGCN比現有基于NMF的社區發現方法具有更好的性能,GCN增強NMF社區發現性能的設想得到了初步驗證。
為進一步驗證NMFGCN的有效性,在4個真實網絡上進行比較分析,實驗結果如表5所示。可以看出,NMFGCN在各真實網絡上的結果均優于各對比方法。在WebKB、Cora、Citeseer、Pubmed上,NMFGCN與基于NMF表現最好的方法HPNMF相比,模塊度分別提升了5.4%、1.5%、9.3%、1.3%,與基于圖表示學習表現最好的方法LINE相比,模塊度分別提升了58.4%、19.6%、6.4%、2.4%。真實網絡通常比合成網絡更加復雜,包含更多非線性的節點特征,在合成網絡上表現較好的模型SNMF、LINE,在三個真實的數據集中表現較差,而NMFGCN是一種非線性的社區發現模型,在真實網絡和合成網絡中表現都比其他模型好,上述結果進一步證明NMFGCN通過集成GCN與NMF模塊,可以增強網絡非線性特征的表示能力,進而提升NMF社區發現的性能。

表5 真實網絡模塊度Q比較Table 5 Modularity Q comparison on real networks
如前所述,NMFGCN通過聯合優化NMF和GCN模塊,可以得到更好的社區劃分結果。為進一步驗證NMFGCN的聯合優化效果,對NMFGCN與GCN+NMF的性能進行對比分析。
對于GCN+NMF,先通過GCN學習節點的表示Z,再使用NMF分解Z得到社區劃分結果。由于不再進行聯合訓練,GCN的損失函數只有重構鄰接矩陣的損失LGCN,而不再考慮NMF分解的損失LNMF,即其損失函數為L=LGCN。
對比實驗中,分別在真實網絡與人工合成網絡(表2第二組數據)中進行實驗比較,并在每個網絡數據集上均運行10次并取平均值。合成網絡的實驗結果如圖3所示,真實網絡的實驗結果如圖4所示??梢钥闯觯琋MFGCN在四個真實數據集上的模塊度Q均高于GCN+NMF。其原因是NMFGCN在訓練的同時考慮了鄰接矩陣重構的損失和NMF分解的損失,從而可以同時利用網絡的拓撲結構信息和社區信息,并使得NMF與GCN可以相互促進存進:GCN能夠學習到更有利于NMF的節點表示,NMF也能獲得更好的社區劃分結果。在人工合成網絡上,隨著節點數的增加,NMFGCN和GCN+NMF的四個指標上的值均有所下降,但NMFGCN的表現仍優于GCN+NMF。以上兩組實驗充分證明了NMFGCN進行聯合優化的有效性。

圖3 人工合成網絡的聯合優化對比Fig.3 Comparison of joint optimization on synthetic networks

圖4 真實網絡的聯合優化對比Fig.4 Comparison of joint optimization on real networks
為更清楚地展示NMFGCN的社區劃分效果,本文利用t-SNE[40]工具對社區成員表示向量在二維平面進行可視化分析實驗。實驗選擇Cora和Citeseer作為數據集,同時選擇NMF和HPNMF作為對比方法。通過為不同社區的節點標識不同的顏色,可以對可視化結果進行對比分析(圖5和圖6)。從圖5可以看出,在Cora上,NMFGCN的相同顏色節點更加集中,社區邊界更清晰,而NMF和HPNMF不同顏色的節點聚集混合明顯,社區邊界較為模糊。從圖6可以看出,在Citeseer數據集上,NMF劃分的數據集幾乎不能看清楚邊界,HPNMF劃分的社區雖然能夠看清邊界,但是屬于同一社區的節點比較分散,而NMFGCN在該數據集上不僅社區邊界清晰,而且同一社區的節點也相對集中。這些結果進一步表明NMFGCN具有更好的社區劃分性能。

圖5 Cora的社區劃分可視化Fig.5 Community partitioning visualization on Cora

圖6 Citeseer的社區劃分可視化Fig.6 Community partitioning visualizations on Citeseer
為進一步觀察NMFGCN的社區劃分能力,將其在Cora和Citeseer上不同迭代次數(分別取1、5和10)的社區劃分結果進行可視化,結果如圖7和圖8所示??梢钥闯鲭S著迭代次數的增加,NMFGCN的社區邊界越來越清晰,并且不需要太多的迭代次數就可以獲得較好的社區劃分效果,這在一定程度上也說明了NMFGCN具有較好的社區發現效率。

圖7 NMFGCN在Cora上不同迭代次數的社區劃分可視化Fig.7 NMFGCN community partitioning visualizations with different iterations on Cora

圖8 NMFGCN在Citeseer上不同迭代次數的社區劃分可視化Fig.8 NMFGCN community partitioning visualizations with different iterations on Citeseer
在式(12)中,NMFGCN的損失函數為L=LGCN+λLNMF,其中λ用來平衡NMF損失。為獲得λ的合理設置,本文選擇表2的第二組人工合成網絡中節點數量n為3 000的數據集進行實驗,通過將λ在{10-3,10-2,10-1,100,101,102,103}依次取值并計算相應的NMI、ARI、ACC以及模塊度Q,結果如圖9所示??梢钥闯?,λ在[10-3,1]取值時,各性能評價指標表現平穩。當λ大于10時,隨著λ增大,各性能評價指標略有下降趨勢,但并不明顯。在不同數據集上,λ的取值也在[10-3,1]內取得最好的結果。整體而言,NMFGCN對參數λ是不敏感的。為了使NMFGCN得到較好的性能,λ可以在[10-3,1]內取值,如本文中的所有實驗,都將λ設置為1。

圖9 不同λ取值對NMFGCN性能的影響Fig.9 Performance of NMFGCN with differentλ
在2.4節中,本文分析得出NMFGCN的時間復雜度為O(T(md|E|+tnmk)),但迭代次數T是不確定的。為了探索NMFGCN獲得最好的社區劃分結果所需要的最小迭代次數。本節選擇真實網絡Pubmed作為實驗數據,選擇基于NMF的社區發現方法NMF、SNMF、M-NMF、ONMF、HPNMF、NSED進行對比,測試并記錄每個方法在獲得最好社區劃分結果時所需要的最少迭代次數T m以及相應所花費的時間S。實驗結果如圖10所示,可以看出,在運行時間上,NMF和SNMF由于模型簡單,運行效率更高,因而獲得最好社區劃分結果所花費的時間更少。ONMF所花費的時間最長,主要是由正交約束計算復雜度高所導致。HPNMF由于計算相似度矩陣導致模型復雜度高,且相應的Tm值較大,因此所花費的時間僅次于ONMF。NMFGCN的Tm為11,相比于其他模型,NMFGCN能夠在更小的迭代次數下獲得理想的社區劃分結果。在運行時間上,相比于ONMF和HPNMF,NMFGCN具有較為明顯的優勢。

圖10 運行時間比較Fig.10 Runtime comparison
為了提升基于NMF的社區發現方法性能,本文提出了一種GCN增強的非線性NMF社區發現方法NMFGCN,利用GCN強大的網絡節點非線性特征學習能力提升NMF社區發現性能。為了驗證NMFGCN的有效性,本文在人工合成網絡和真實網絡進行了大量的對比實驗,結果表明NMFGCN優于現有基于NMF的社區發現方法,也優于常用的網絡表示學習方法DeepWalk和LINE,很好地解決了現有NMF社區發現方法由于屬于線性模型而導致非線性網絡節點特征難于處理、社區發現性能受限的問題。
需要指出的是,盡管相比于現有的基于NMF的社區發現模型和一些常用的圖表示學習方法,NMFGCN都獲得了不小的提升,但其仍存在需要改進的地方,具體表現在兩個方面:
(1)NMFGCN的運行效率不高,訓練大型網絡花費時間較長。NMFGCN的訓練時間主要花費在圖卷積層學習節點表示Z以及NMF分解Z上。其中后者可以通過減小圖卷積層的輸出維度的大小和減少NMF迭代次數來減少訓練時間。
(2)由于圖卷積是一種直推式圖表示學習方法,當網絡中增加節點或者改變拓撲關系時需要重新訓練模型。為了解決該問題,在下一步工作中將會考慮借鑒歸納式圖表示學習方法GraphSAGE[41]來學習節點的表示Z。