崇志強 馬世乾 郭 悅 徐福華 周作靜
1(國網天津市電力公司電力科學研究院 天津 300380)2(國網天津靜海供電有限公司 天津 735412)
近年來,隨著信息社會的發展,對網絡或圖結構信息表示與利用的研究已成為學界的熱點問題[1]。網絡嵌入已經成為網絡分析的一種范式,引起了研究者廣泛關注。其目的是將網絡中的每個節點映射到一個低維向量空間,得到節點的低維向量表示。節點的表示向量可以應用于許多下游分析任務,如節點分類[2]、鏈路預測[3]。
一般而言,經典的網絡嵌入方法可以分為兩類:基于網絡結構的方法和融合外部信息的方法(一般為文本信息)。前者通常基于隨機游走[4]、局部鄰居[5]。但上述方法忽略了網絡豐富的外部信息,模型無法收斂至全局最優。此外,這些方法使用短而固定的節點鄰居范圍,無法捕捉全局的結構信息。
目前存在許多融合文本信息的網絡嵌入方法,但這些方法一般對文本信息與網絡結構信息分別建模,最終簡單地拼接兩個表示向量得到最終的表示[6],這導致兩種模態的信息難以有機地整合。此外,這些方法使用循環神經網絡或卷積神經網絡作為編碼器,但是循環神經網絡本身的序列依賴導致其無法實現大規模并行計算,而卷積神經網絡則受限于卷積核的大小,無法捕捉到文本的長距離特征。節點標簽是另一個重要的外部信息,充分利用標簽信息將進一步增強節點向量的表示能力,但現實中并非所有網絡節點都被標記,合理利用標記節點和未標記節點對網絡嵌入過程具有重要意義。
針對以上問題,本文提出了一種基于多頭注意力機制的半監督卷積網絡嵌入方法(SMAC),以更好地捕捉和融合網絡的結構信息和外部信息。具體而言,模型以網絡中的邊作為樣本,分別提取一條邊上兩個節點對應的子網絡;利用多頭注意機制[7]作文本編碼器,對子網絡中各節點的文本進行編碼,得到各節點的文本表示向量,多頭注意力機制能很好地解決文本的長距離依賴問題,同時可以并行計算;將各節點的文本表示向量作為可訓練的節點特征輸入圖卷積神經網絡[8],可以捕獲任意尺度的結構信息;以半監督學習的方式將標簽信息引入節點表示。模型充分融合了網絡的結構、文本與標簽信息,得到表示性較強的節點表示向量。
傳統的網絡嵌入算法通常將網絡表示為圖,并使用數據點的特征向量構建關聯圖,例如數據的k近鄰圖。由此,利用關聯圖[9]可以將數據點嵌入到低維空間中,得到節點的向量表示?;谠撍枷?,大量的網絡嵌入方法被提出,例如LLE[10]、IsoMap[11]和拉普拉斯特征映射[12]等。然而,這些算法通常依賴于求解鄰接矩陣的特征向量,其復雜度至少是節點數的平方,因此導致效率低下,并且難以應用于大規模網絡。
近年來,網絡嵌入逐漸成為了一個熱門的研究課題。Deepwalk[4]是第一種將深度學習引入網絡嵌入的方法,作為一種基于網絡拓撲結構的方法,它在網絡上執行截斷的隨機游走,并使用SkipGram[13]學習節點嵌入。除了網絡的拓撲結構外,節點通常與其自身的屬性信息緊密相關,例如文本內容、節點標簽等。為了進一步考慮節點的屬性信息,Yang等[14]提出了文本關聯的Deepwalk模型(TADW),在矩陣分解框架下,將節點的內容引入到網絡嵌入中。MMDW[15]考慮監督標簽信息,同時學習網絡表示和最大邊緣分類器,將標簽信息引入學習過程。
雖然現有的相關方法綜合考慮了網絡拓撲結構和節點屬性信息,但是這些方法通常是對屬性信息和拓撲結構分別建模,并對兩部分表示進行簡單拼接以得到最終的表示。因此針對該問題,本文提出一種基于多頭注意力機制的半監督卷積網絡嵌入方法。利用多頭注意力機制及圖卷積神經網絡,本文提出的模型可以充分融合網絡拓撲結構、節點的文本內容、節點的標簽信息,進而得到表示性更強的節點向量。
本文提出了一種基于多頭注意力機制的半監督卷積網絡嵌入方法,模型充分融合了網絡的結構、文本與標簽信息。圖1從整體上闡述了模型的結構,由節點文本編碼器和節點結構編碼器兩部分組成。

圖1 基于多頭注意力機制的半監督卷積網絡嵌入模型
節點內容編碼器采用N層多頭注意力機制編碼文本信息,很好地解決了文本地長距離依賴問題,使得最終學得的文本表示向量更好地反應語義深度信息。節點結構編碼器由L層圖卷積神經網絡組成,通過堆疊的多層結構,能夠捕獲任意尺度的結構信息。模型整體流程如下:(1) 模型以邊為樣本,提取邊兩端的節點u、v對應的子網絡sub_Gu和sub_Gv;(2) 將子網絡中的所有節點通過節點內容編碼器映射到潛在語義空間,得到節點的文本表示;(3) 由多層圖卷積神經網絡組成的節點結構編碼器以網絡拓撲結構與節點文本表示為輸入,融合節點文本與網絡結構信息;(4) 用半監督學習的方式融入節點標簽信息。模型通過采樣邊來對部分節點進行學習,不需要將所有節點的信息放入顯存,能較好地應用于實際場景中的大規模圖。
首先給出如下基本的符號和定義:
定義1信息網絡。信息網絡表示為G=(V,E,T,L),其中:V為網絡中節點的集合,E?V×V為網絡中邊的集合。T為網絡中節點的文本信息集合,L為網絡中節點的標簽集合。Tu=(xu1,xu2,…,xum)表示節點u的文本信息,其中xui代表第i個詞,m為文本長度。節點u的文本表示向量和最終表示向量分別為uT和uR。本文使用的圖均為無向、無權重圖,可通過按權重采樣邊的策略將算法擴展至有權重圖。
定義2子網絡。節點u的子網絡表示為sub_Gu,由u本身和它的相鄰節點組成,稱u為中心節點,其余節點為u節點的鄰居節點。為保證模型訓練時批次大小相同,本文采樣固定數量的鄰居節點。
長文本是現實世界中常見的文本形式,例如:在論文引用網絡中,摘要作為網絡節點文本信息就是一種長文本。傳統的文本編碼器無法解決長文本建模時的長距離依賴問題。而多頭注意力機制的每個頭是一個自我注意機制,它通過計算當前詞與其他詞之間注意力權重,使得當前詞和句子中任意詞都發生了聯系,能夠很好地解決長距離依賴問題。因此,本文基于多頭注意機制對文本特征進行編碼。節點文本編碼器由位置編碼器、多頭注意力機制和前饋神經網絡組成。
2.2.1位置編碼器
為了保留輸入文本中單詞的相對位置信息,需在節點文本編碼器得底部構造位置編碼器編碼單詞的相對位置信息。位置編碼器有多種選擇,比如正弦和余弦函數和獨熱編碼。其中獨熱編碼為最簡單的位置編碼器,而其他編碼方式將增加模型復雜度。實驗表明,獨熱編碼在不降低模型性能的情況下,能夠加快模型收斂速度。
首先,文本原始單詞通過映射得到詞向量,則u的文本信息可表示為Tu=(wu1,wu2,…,wum),其中:wui∈Rd為xui的詞向量,d為詞向量的維度,m為節點文本中包含詞的個數。位置編碼器可形式化地表示為矩陣Pu=(pu1,pu2,…,pum),其中pui∈Rm是獨熱向量。將位置編碼器與使本文的文本編碼器進行拼接,得到多頭注意力機制的輸入,這樣的輸入包含了詞的相對位置關系,即eu=(wu1⊕pu1,wu2⊕pu2,…,wum⊕pum),其中⊕表示拼接操作。
2.2.2多頭注意力機制

(1)
(2)
(3)

(4)
將多頭注意力機制中所有頭的輸出拼接成一個向量,之后乘一個權重矩陣WO,即可得到多頭注意力機制的輸出結果,計算式表示如下:
Ou=(z1⊕z2⊕…⊕zh)WO
(5)
式中:WO∈Rhdk×dm,為一個可訓練的權重矩陣。
2.2.3前饋神經網絡
除了多頭注意力機制外,節點文本編碼器的每一層都包含一個全連接的前饋網絡FFN。前饋神經網絡由兩個使用ReLU的線性變換組成,計算式表示為:
(6)

無向網絡中的子網絡存在兩個基本問題:
1) 在一個子網絡中,中心節點與相鄰節點的關系是對稱的。在u的子網絡sub_Gu中,鄰居節點ui包含的信息應該向中心節點u聚合,而在ui的子網絡中情況則相反。
2) 同一個子網絡中的鄰居節點的排列通常是無序的。例如,在u的子網絡sub_Gu中有三個鄰居u1、u2、u3,其下標是任意的,并不能表示該子網絡中鄰居節點的優先級。
在通過節點文本編碼器獲得節點文本表示向量的基礎上,模型使用圖卷積神經網絡[8]來建模網絡結構,因其可以捕獲任意尺度的結構信息。圖卷積操作關心每個節點的隱藏狀態如何更新,通過鄰居節點隱藏狀態的聚合來更新中心節點的隱藏狀態。假設節點結構編碼器由L層圖卷積操作組成,第l層的更新過程可以表示為:
(7)
(8)
M=(E+I)D-1
(9)
(10)

通過圖卷積神經網絡,模型可以很好地解決子網絡的兩個基本問題。對稱矩陣M可以滿足子網絡中中心節點與鄰居節點的對稱連接關系。此外,式(8)具有置換不變性,即改變鄰居節點的順序不會影響聚合過程。隨著多層圖卷積網絡的疊加,每個節點遞歸地聚合來自每層子網絡的信息,并將自己的信息擴散到相鄰節點。
樣本標簽蘊含了樣本的類別信息。現實中的大規模網絡只有少數節點具有標注明確的標簽,而大部分節點是未標注的,因此需要半監督學習的方法對標簽信息進行建模?;诠濣c結構編碼器的輸出向量,SMAC共同優化了無標簽節點的無監督學習損失和有標簽節點的有監督學習損失。
在論文引用網絡中,兩篇具有引用關系的論文在內容上會具有一定的相似性。對于無標簽節點,目標函數Lunlabel由兩部分組成,即描述同邊相連節點的文本內容相似度的Ltt,和節點結構編碼器輸出的表示向量的相似度Lss。Lunlabel、Ltt和Lss和計算式分別表示為:
Lunlabel(u)=αLss(u)+βLtt(u)
(11)
(12)
(13)
式中:α、β為控制權重。式(12)與式(13)中條件概率p定義為:
(14)
相比于無標簽節點,帶標簽節點的目標函數通過標簽匹配損失來融合標簽信息,Lmatch(ul)計算式為:
(15)
式中:Ω為正則化項。
使用全連接層將節點表示向量uR映射到標簽空間,得到節點標簽分布的預測。標簽匹配損失的目的在于最小化預測的標簽分布與真實分布的距離,計算式表示為:
Llabel(u)=αLss(u)+βLtt(u)-τLmatch(u)
(16)
式中:α、β和τ用來控制帶標簽節點目標函數各部分的權重。
本文所采用的半監督學習方式是為了聯合優化無標簽節點的無監督學習過程和帶標簽節點的監督學習過程。SMAC的整體目標函數定義為:
(17)
式中:Lu和Ll分別是無標簽節點和帶標簽節點的集合。
為了最大化目標函數,需要計算式(14)形式的條件概率,而條件概率在計算代價上是昂貴的。故本文采用負采樣技術[16]降低計算代價。對于同邊相連的兩個節點u和v,使用負采樣來計算條件概率的過程,計算式可表示為:
(17)
(18)
式中:σ為Sigmoid函數;dv為節點v的度。使用隨機梯度下降對模型進行優化。
本文在兩個廣泛應用于網絡公開嵌入的論文引用網絡公開數據集Cora與Citeseer上進行了實驗。
Cora是一個論文引用網絡,共包含人工智能領域的7個類,分別為實例學習、遺傳算法、神經網絡、概率方法、強化學習、規則學習和機器學習理論。數據集中的節點文本為論文的摘要,網絡的邊代表著論文之間的引用關系。CiteSeer是另外的一個論文引用網絡,共包含科學領域的10個類,分別為農學、考古學、生物學、計算機科學、金融經濟學、工業工程學、材料科學、石油化學、物理學和社會科學。數據集中節點內容為論文的標題,同樣地,網絡的邊代表論文間引用關系。
本文刪除了低頻詞和無效的論文。表1總結了預處理后的兩個數據集的統計數據??梢钥闯?,Cora包含更豐富的內容信息。Citeseer中的節點更有特色,因為它們屬于更多樣化的類。需要注意的是,這兩個網絡都被視為無向圖和無權圖。

表1 數據集統計信息
為了驗證SMAC的性能,本文將該模型與其他幾種常用的網絡嵌入方法的實驗效果進行了對比,所選擇的方法如下:
① Deepwalk[4]:它通過隨機游走的方式產生節點序列,之后生成節點向量表示。參照文獻[4],游走數量設為10,游走長度設為80,窗口大小設為10。
② LINE[5]:通過節點間的一階與二階相似度建模網絡結構。參數設置參照文獻[5],同時使用一階與二階相似度,負采樣個數設為5。
③ GraRep[17]:在矩陣分解的框架下,考慮到了網絡的全局結構信息。節點最終表示為1至7階相似度下節點表示的拼接。
④ GCN[8]:它將歐氏空間中的卷積操作擴展到了非歐氏空間,并使用一種基于邊標簽的傳播規則實現半監督學習。節點特征采用TF-IDF形式的文本信息。
⑤ TADW[14]:它在一個矩陣分解的框架下同時學得文本表示與結構表示,最后對兩者做拼接形成最終節點表示。采用TF-IDF形式的節點文本特征。
網絡嵌入的輸出為網絡中節點的低維向量表示,這個表示向量可以用作推理網絡結構。在現實世界中,網絡往往是不完全的。例如在社交網絡中,兩個互相認識的人可能并沒有好友關系(可以視作網絡中的邊)。網絡節點表示應該保留網絡不同階的相似度信息,或不同尺度的結構信息。因此,這些節點表示可以用作預測網絡中缺失的邊。這就是鏈接預測任務。
對于鏈接預測任務,本文用一種廣泛使用的評測方法AUC評價SMAC與對比算法在鏈接預測任務上的性能。AUC是一個概率值,表示在數據集中隨機挑選一個正樣本與負樣本,模型根據計算得到的分數將正樣本排在負樣本前面的概率。AUC值越大,模型就能更好地區分應該存在的鏈接與不該存在的鏈接。計算方式如下:
(19)
(20)
AUC=1-lrank
(21)
式中:π(·)表示若輸入條件成立則為1,否則為0;D+與D-分別代表正、負樣本的集合。式(20)的含義為:考慮每一對正、負樣本,若正例的分數小于反例,則計一個“罰分”,若兩者相等,則計0.5個“罰分”。用1減去總計罰分即為最終AUC的值。需要注意的是,AUC的計算存在隨機性,同樣的節點表示在同樣的測試集上的兩次計算結果可能不同。本文采用求20次AUC取平均值的方式,以降低隨機性的影響。
表2和表3分別為SMAC及對比算法在Cora與Citeseer數據集上的鏈接預測實驗結果。p表示訓練邊的比例,即僅保留網絡中p比例的邊作為訓練集進行模型訓練,將模型結果(節點表示向量)在剩余1-p比例邊的網絡上作測試;表中每個單元格表示對應行列狀態下的AUC值。訓練集測試集經十折交叉驗證劃分,最終結果為10次交叉驗證的均值。超參數設置為α=0.3、β=0.3、τ=0.4,節點文本編碼器和節點結構編碼器的層數分別為1和3。

表2 Cora數據集上鏈接預測實驗結果 %

表3 Citeseer數據集上鏈接預測實驗結果 %
節點分類是評價網絡嵌入模型最為常見的任務,旨在為每個節點預測一個標簽類別。
本文使用的兩個數據集上的節點分類均為多分類問題(Cora為7分類,CiteSeer為10分類)。在得到節點表示向量后,用支持向量機作分類器,在不同的帶標簽節點比例下進行模型訓練與測試。本文使用的節點分類評測指標為微平均F1-Score(Micro_F1)其具體計算方法為:
(22)
式中:Micro_P和Micro_R分別為微平均準確率和召回率;TPi即為第i類樣本正確分類的個數;N代表整體樣本數;Micro_F1越大代表分類性能越好。超參數設置為α=0.2、β=0.3、τ=0.5,節點文本編碼器和節點結構編碼器的層數分別為1和3。表4和表5分別為SMAC及對比算法在Cora與Citeseer數據集上的節點分類的Micro_F1值結果。

表4 Cora數據集上節點分類實驗結果 %

表5 Citeseer數據集上節點分類實驗結果 %

續表5 %
由表2至表4可見,SMAC的性能均為最優或次優,這說明了SMAC模型的有效性。將表2、表4與表3、表5對比可發現,幾乎所有的模型在Citeseer上的性能都要比在Cora上的性能差。本文認為這是因為Citeseer相較于Cora更為稀疏(見表1邊密度)。這說明網絡的稀疏性仍為網絡嵌入領域的一大挑戰。
結合表2和表3可發現,在訓練邊比例較小時,Deepwalk、LINE和GraRep性能很差(AUC值越接近0.5,模型學到的有用信息越少)。這是因為僅依賴網絡結構(即節點與節點的連接關系)的網絡嵌入方法在網絡中保留的邊較少的情況下,無法學得恰當的參數。與之相反,結合文本信息的算法在訓練邊比例較小時均取得了不錯的成績,說明文本信息的確是節點重要特征。
另外,對比其他算法,SMAC在Citeseer上的性能下降相比Cora要更大。這是因為Cora中節點的文本特征為論文摘要,屬于長文本;而Citeseer中節點文本特征為論文題目。這從另一側面印證了SMAC的多頭注意力機制對建模長文本、解決長距離依賴問題的有效性。
分析表4與表5可發現,隨著帶標簽節點比例的增加,各模型的微平均F1-Score均增加。但一般情況下,結合文本信息的方法優于僅依賴網絡結構的方法,說明結構特征不足以為節點分類任務提供足夠的識別信息。而半監督的GCN和本文提出的SMAC優于其他方法,說明半監督方法能夠較好地集成標簽信息。
網絡嵌入是機器學習、表示學習等領域的重要研究方向之一,有著重要的學術意義與應用價值。本文對信息網絡的網絡嵌入方法進行了探討,提出了一種基于多頭注意力機制的半監督卷積網絡嵌入方法(SMAC)。SMAC的優勢有三個方面:(1) 多頭注意機制可以很好地解決長依賴問題,更好地編碼文本信息;(2) SMAC利用圖卷積網絡對子網絡的特征進行聚合,可以捕獲任意尺度的結構信息;(3) SMAC以半監督的方式將標簽信息引入到學習過程中,進一步提高了表示能力。