富 坤,高金輝,趙曉夢(mèng),李佳寧
(河北工業(yè)大學(xué)人工智能與數(shù)據(jù)科學(xué)學(xué)院,天津 300401)
在許多領(lǐng)域中,越來越多的數(shù)據(jù)以圖的方式呈現(xiàn),如通信網(wǎng)絡(luò)中的信息傳播、生物網(wǎng)絡(luò)中的蛋白質(zhì)交互、社交用戶的偏好和交際關(guān)系[1-2]等,因此,通過對(duì)圖數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)表示學(xué)習(xí)并對(duì)其深入挖掘有較高的研究?jī)r(jià)值和現(xiàn)實(shí)意義。在相關(guān)研究中,網(wǎng)絡(luò)信息的表示是一個(gè)重要的問題。本文主要針對(duì)基于拓?fù)鋬?yōu)化的圖卷積網(wǎng)絡(luò)(Topology Optimization based Graph Convolutional Network,TOGCN)無(wú)法表達(dá)全局結(jié)構(gòu)信息的問題進(jìn)行研究。
圖卷積神經(jīng)網(wǎng)絡(luò)(Graph Convolutional Neural Network,GCNN)是卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[3]在圖數(shù)據(jù)上的一種推廣,是近期進(jìn)行網(wǎng)絡(luò)表示學(xué)習(xí)的一類重要模型[4-6]。Bruna 等[7]提出將GCNN 根據(jù)定義卷積的方式分為兩種:
1)基于譜域的GCNN 以卷積定理和圖譜理論作為理論基礎(chǔ),利用拉普拉斯矩陣定義圖中的傅里葉變換,并使用不同的濾波器進(jìn)行圖數(shù)據(jù)的特征提取。Spectral CNN 模型將濾波器定義為一組可學(xué)習(xí)參數(shù),使用了多通道濾波器對(duì)圖數(shù)據(jù)進(jìn)行特征提取。ChebNet(Network with Chebyshev polynomials)模型[8]使用切比雪夫多項(xiàng)式來近似圖卷積濾波,用多項(xiàng)式的階數(shù)K控制卷積核的參數(shù)數(shù)量,減少了圖卷積的參數(shù),降低了計(jì)算復(fù)雜度。Kipf 等[9]提出了圖卷積網(wǎng)絡(luò)(Graph Convolutional Network,GCN)模型對(duì)ChebNet 進(jìn)行簡(jiǎn)化,使用的卷積濾波近似于一階切比雪夫?yàn)V波,該模型同時(shí)屬于基于譜域和基于空域的GCNN 模型。Levie 等[10]提出了CayleyNet(Network with Cayley polynomials)模型使用一個(gè)定義于復(fù)空間的函數(shù)Cayley 多項(xiàng)式近似卷積濾波來捕獲窄頻帶。譜域GCNN 優(yōu)勢(shì)在于具有扎實(shí)的理論基礎(chǔ),便于研究人員對(duì)其運(yùn)行機(jī)制進(jìn)行挖掘,但該類模型只能應(yīng)用于無(wú)向圖中,且在圖發(fā)生變化時(shí)模型的適用性較差。
2)基于空域的GCNN 主要考慮節(jié)點(diǎn)的空間關(guān)系,節(jié)點(diǎn)更新是對(duì)其鄰域節(jié)點(diǎn)特征進(jìn)行聚合的過程。Micheli[11]提出了NN4G(Neural Network For Graphs)模型累加鄰域節(jié)點(diǎn)信息進(jìn)行特征聚合,并使用剩余鏈接和跳躍鏈接的方式記憶每一層的節(jié)點(diǎn)信息。Atwood 等[12]提出DCNN(Diffusion-CNN)模型把圖卷積看作是節(jié)點(diǎn)信息擴(kuò)散的過程,假設(shè)每個(gè)節(jié)點(diǎn)的信息以一定的概率轉(zhuǎn)移到相鄰節(jié)點(diǎn)。相較于譜域GCNN,空域GCNN 的卷積過程更加靈活。
傳統(tǒng)的GCNN 一般通過原始的拓?fù)鋱D進(jìn)行節(jié)點(diǎn)向量的學(xué)習(xí)。雖然使用原始的拓?fù)鋱D進(jìn)行學(xué)習(xí)有益于模型的可解釋性,便于分析圖數(shù)據(jù)的特性,但由于圖數(shù)據(jù)關(guān)系的稀疏性,原始的拓?fù)鋱D中會(huì)帶有噪聲,不利于學(xué)習(xí)節(jié)點(diǎn)表示向量。為了解決這個(gè)問題,研究人員們提出了TOGCN,該類模型根據(jù)節(jié)點(diǎn)屬性等特征優(yōu)化拓?fù)鋱D。Veli?kovi? 等[13]提出的GAT(Graph Attention Network)模型利用注意力機(jī)制確定每個(gè)鄰居節(jié)點(diǎn)對(duì)中心節(jié)點(diǎn)的重要性,將其作為新的網(wǎng)絡(luò)拓?fù)鋱D中的邊權(quán)重。Li 等[14]提出的AGCN(Adaptive Graph Convolutional Network)模型使用廣義馬氏距離替代歐氏距離來計(jì)算節(jié)點(diǎn)之間的距離,更新拓?fù)渚仃嚨臍埐罹仃?。Vashishth 等[15]提出的Conf-GCN(Confidence-based GCN)模型對(duì)每個(gè)節(jié)點(diǎn)都設(shè)置一個(gè)關(guān)于其標(biāo)簽分布的置信度向量,根據(jù)兩相鄰節(jié)點(diǎn)的置信度差異對(duì)拓?fù)鋱D進(jìn)行更新,Jiang 等[16]提出的圖學(xué)習(xí)卷積網(wǎng)絡(luò)(Graph Learning-Convolutional Network,GLCN)模型則利用相鄰節(jié)點(diǎn)屬性相似度來約束其鏈接權(quán)重,并對(duì)圖拓?fù)鋬?yōu)化訓(xùn)練與圖卷積訓(xùn)練進(jìn)行集成,提高了模型的優(yōu)化效率。
雖然TOGCN 很好地衡量了相鄰節(jié)點(diǎn)間的關(guān)聯(lián)程度,但仍存在以下問題:1)忽略了全局信息對(duì)節(jié)點(diǎn)表征的影響;2)不能很好地處理由于信息缺失帶來的模型性能下降的問題。
本文針對(duì)以上兩個(gè)問題,對(duì)TOGCN 中的一個(gè)經(jīng)典模型GLCN 進(jìn)行改進(jìn),提出融合全局結(jié)構(gòu)信息的TOGCN(Global structural information Enhanced-TOGCN,GE-TOGCN)模型,該模型通過運(yùn)用GLCN 的圖學(xué)習(xí)方法保留了拓?fù)鋬?yōu)化在學(xué)習(xí)節(jié)點(diǎn)鄰域信息方面的優(yōu)勢(shì);同時(shí)以類中心向量作為網(wǎng)絡(luò)的全局向量,將其與類標(biāo)簽同時(shí)作為節(jié)點(diǎn)的類輔助信息進(jìn)行訓(xùn)練。先利用標(biāo)記節(jié)點(diǎn)計(jì)算類中心向量,而后利用部分未標(biāo)記節(jié)點(diǎn)更新類中心向量,再使用新的類中心向量更新節(jié)點(diǎn)表示向量,使模型能夠同時(shí)學(xué)習(xí)到豐富的局部信息和全局信息。
在這部分,本文主要介紹網(wǎng)絡(luò)表示學(xué)習(xí)與全局結(jié)構(gòu)信息的概念,介紹用于網(wǎng)絡(luò)表示學(xué)習(xí)的經(jīng)典模型GCN 的譜域圖卷積原理。
網(wǎng)絡(luò)表示學(xué)習(xí)[17]目的是學(xué)習(xí)節(jié)點(diǎn)低維稠密的特征信息,得到的低維節(jié)點(diǎn)特征不僅能在最大化保留原有網(wǎng)絡(luò)信息的情況下減小節(jié)點(diǎn)特征的存儲(chǔ)空間,而且降低了圖中冗余噪聲信息的影響,再將這些節(jié)點(diǎn)特征用于后續(xù)的網(wǎng)絡(luò)數(shù)據(jù)分析任務(wù)。
全局結(jié)構(gòu)信息[18]可表示為非相鄰節(jié)點(diǎn)間存在的結(jié)構(gòu)關(guān)系或網(wǎng)絡(luò)本身存在的某種特征信息,如子圖、路徑等。本文中使用類信息作為全局結(jié)構(gòu)信息,來捕獲節(jié)點(diǎn)的類特征。
CNN 在不需過多先驗(yàn)知識(shí)的情況下仍保持著強(qiáng)大的特征提取能力,被廣泛應(yīng)用于圖像處理、計(jì)算機(jī)視覺等領(lǐng)域中。但CNN 只能處理網(wǎng)格數(shù)據(jù),即每個(gè)節(jié)點(diǎn)的鄰域節(jié)點(diǎn)數(shù)量要保持一致,而圖數(shù)據(jù)中每個(gè)節(jié)點(diǎn)的鄰居數(shù)量并不固定,不符合CNN 卷積的前提條件,因此,GCNN 設(shè)計(jì)了適于處理圖數(shù)據(jù)的非歐氏卷積核。
CNN 中的卷積過程可以表示為輸入信號(hào)與卷積核經(jīng)傅里葉變換后乘積的逆變換,傅里葉變換的目的是通過一組正交基將輸入信號(hào)由空域投影到頻域中,本質(zhì)上是時(shí)域信號(hào)與正交基的內(nèi)積運(yùn)算。正交基為拉普拉斯算子的特征函數(shù),推廣到圖上時(shí),由于拉普拉斯矩陣是拉普拉斯算子的離散形式,因此拉普拉斯矩陣的特征向量集合就可看作是GCNN 的一組正交基。下面以圖輸入信號(hào)為例,簡(jiǎn)要敘述圖中的傅里葉變換過程。
首先定義圖的拉普拉斯矩陣:
其中:D代表度矩陣;A代表圖的拓?fù)渚仃嚒?/p>
假設(shè)圖為無(wú)向圖,則矩陣L為對(duì)稱矩陣,因此可分解為:
其中:Λ為矩陣L的特征值矩陣;U為對(duì)應(yīng)于Λ的特征向量組成的矩陣。
那么在圖中的傅里葉變換過程可表示為:
其中:N代表圖中節(jié)點(diǎn)個(gè)數(shù);f*(λl)代表圖信號(hào)在第l個(gè)特征值λl對(duì)應(yīng)的特征向量上的投影;f(i)代表圖信號(hào)第i個(gè)節(jié)點(diǎn)的信號(hào)值;ul(i)表示第l個(gè)特征值對(duì)應(yīng)的特征向量在節(jié)點(diǎn)i上的分量。則在全圖中的圖信號(hào)傅里葉變換可表示為:
類似地,定義傅里葉逆變換為:
定義卷積核為g,則圖的卷積過程可表示為:
本文提出的GE-TOGCN 模型整體結(jié)構(gòu)如圖1 所示。通過一個(gè)含有5 個(gè)節(jié)點(diǎn),且節(jié)點(diǎn)分為2 類的圖來表示模型中節(jié)點(diǎn)表示向量的計(jì)算過程,其中:x1,x2,…,x5表示5 個(gè)節(jié)點(diǎn)的高維向量;z1,z2,…,z5表示經(jīng)訓(xùn)練后各節(jié)點(diǎn)的低維表示向量;μ1和μ2表示兩類的類中心向量。
圖1 GE-TOGCN模型整體結(jié)構(gòu)Fig.1 Overall structure of GE-TOGCN model
本文模型主要包括以下部分。
1)圖拓?fù)鋬?yōu)化層:沿用GLCN 的拓?fù)鋬?yōu)化方式,學(xué)習(xí)一個(gè)最優(yōu)的拓?fù)鋱D來表示節(jié)點(diǎn)間更準(zhǔn)確的相互關(guān)系。
在圖拓?fù)鋬?yōu)化層中引入類中心向量作為圖中的全局結(jié)構(gòu)信息,通過維持準(zhǔn)則將類中心向量與節(jié)點(diǎn)表示向量關(guān)聯(lián)起來,使得節(jié)點(diǎn)可以更準(zhǔn)確地學(xué)習(xí)到類內(nèi)節(jié)點(diǎn)與類之間的結(jié)構(gòu)關(guān)系。依據(jù)以下步驟進(jìn)行類中心向量計(jì)算與基于全局正則化的節(jié)點(diǎn)表示更新:首先利用標(biāo)記節(jié)點(diǎn)向量定義初始類中心向量;然后利用未標(biāo)記節(jié)點(diǎn)更新類中心向量,從而使計(jì)算出的類中心向量可以更好地代表類內(nèi)節(jié)點(diǎn)的整體情況;最后根據(jù)全局正則化規(guī)則使用更新后的類中心向量更新節(jié)點(diǎn)表示向量。
2)圖拓?fù)鋬?yōu)化損失LGTO:該損失函數(shù)通過計(jì)算兩個(gè)相鄰節(jié)點(diǎn)屬性向量的距離來修正優(yōu)化后的拓?fù)鋱D中兩個(gè)節(jié)點(diǎn)之間的連接權(quán)重。
3)圖卷積層:將學(xué)習(xí)好的拓?fù)鋱D進(jìn)行卷積操作得到節(jié)點(diǎn)的低維表示向量。
4)半監(jiān)督損失Lsemi:該損失函數(shù)利用交叉熵?fù)p失來降低每一個(gè)給定標(biāo)簽節(jié)點(diǎn)的表示向量與真實(shí)類標(biāo)簽之間的差異。
在本層中,給定圖的屬性矩陣,目的是學(xué)習(xí)一個(gè)可優(yōu)化的相似矩陣S。圖拓?fù)鋬?yōu)化層具體計(jì)算步驟如下:
給定一個(gè)輸入X=(x1,x2,…,xN)∈RN×p,先通過一個(gè)全連接神經(jīng)網(wǎng)絡(luò)層學(xué)習(xí)一個(gè)節(jié)點(diǎn)的低維屬性表示向量H,而后使用一個(gè)添加注意力機(jī)制的神經(jīng)網(wǎng)絡(luò)層擬合一個(gè)映射函數(shù)Sij=m(hi,hj),Sij代表由第i個(gè)節(jié)點(diǎn)的低維表示向量hi與第j個(gè)節(jié)點(diǎn)的屬性hj由函數(shù)m映射后得到的節(jié)點(diǎn)i與節(jié)點(diǎn)j之間的相似程度,如式(7)~(8)所示:
其中:WL為神經(jīng)網(wǎng)絡(luò)層的權(quán)重矩陣;b為偏置向量;ReLU(·)=max(0,·)代表激活函數(shù),保證拓?fù)鋱D矩陣S中每一個(gè)元素非負(fù);a為注意力向量,用于學(xué)習(xí)每一個(gè)鄰居節(jié)點(diǎn)j對(duì)節(jié)點(diǎn)i的重要程度。先通過使用注意力向量與連接節(jié)點(diǎn)之間的距離來計(jì)算兩節(jié)點(diǎn)之間的連接相似性,再使用softmax 操作對(duì)相似權(quán)重進(jìn)行歸一化,目的是滿足矩陣S每一行元素相加為1,有利于簡(jiǎn)化模型在圖卷積層中的計(jì)算過程。在拓?fù)鋬?yōu)化層中使用式(9)所示損失函數(shù)優(yōu)化圖拓?fù)渚仃嘢:
式(9)表示:若節(jié)點(diǎn)i和節(jié)點(diǎn)j屬性向量之間的差距較大,則兩節(jié)點(diǎn)之間的相似度會(huì)較小,第二項(xiàng)對(duì)相似度矩陣做了正則化來控制該矩陣的稀疏性。該損失函數(shù)通過計(jì)算兩個(gè)相鄰節(jié)點(diǎn)屬性向量的距離來修正優(yōu)化后的拓?fù)鋱D中兩個(gè)節(jié)點(diǎn)之間的連接權(quán)重。
在學(xué)習(xí)到優(yōu)化后的拓?fù)鋱D后,將其作為新的圖卷積核進(jìn)行卷積操作,共同提升圖拓?fù)鋬?yōu)化和圖卷積的表現(xiàn)。在一個(gè)完整的圖拓?fù)鋬?yōu)化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中包含多個(gè)圖卷積層,每層的傳播規(guī)則如式(10)所示:
其中:k代表卷積的層數(shù);DS=diag(d1,d2,…,dn)是關(guān)于S的一個(gè)對(duì)角矩陣,di=為節(jié)點(diǎn)i在優(yōu)化圖S中的“度”,使用DS對(duì)矩陣S進(jìn)行歸一化可以消除梯度消失和梯度爆炸對(duì)模型的影響;W(k)代表第k層卷積層中的權(quán)重矩陣;σ(·)代表激活函數(shù),在中間層設(shè)置為ReLU(·)=max(0,·)函數(shù)保證向量非負(fù);X(k+1)代表經(jīng)過第k層卷積得到的節(jié)點(diǎn)特征向量。由于優(yōu)化后的圖S本身滿足行相加為1 的條件,不需要使用DS對(duì)S進(jìn)行歸一化,因此可簡(jiǎn)化為式(11):
對(duì)于半監(jiān)督學(xué)習(xí)任務(wù),最后一層的輸出如式(12)所示:
其中:C代表類的個(gè)數(shù);Z為模型最終輸出的節(jié)點(diǎn)表示向量;zi表示第i個(gè)節(jié)點(diǎn)的表示向量。
由于TOGCN 是基于半監(jiān)督學(xué)習(xí)的圖模型,因此該模型引入部分節(jié)點(diǎn)的標(biāo)簽向量,通過交叉熵函數(shù)減小標(biāo)簽向量與對(duì)應(yīng)節(jié)點(diǎn)表示向量之間的距離,損失函數(shù)如式(13)所示:
其中:Y為部分給定的|Nlabel|個(gè)標(biāo)簽向量;Z為對(duì)應(yīng)的節(jié)點(diǎn)向量。
TOGCN 模型的總損失函數(shù)如式(14)所示:
損失函數(shù)的第一部分利用交叉熵?fù)p失來降低每一個(gè)給定標(biāo)簽節(jié)點(diǎn)的表示向量與真實(shí)類標(biāo)簽之間的差異;第二部分為圖拓?fù)鋬?yōu)化層的損失函數(shù),使用參數(shù)θ表示圖拓?fù)鋬?yōu)化層損失函數(shù)所占比重。
在TOGCN 中,雖然使用注意力機(jī)制和相鄰節(jié)點(diǎn)的屬性信息來獲取節(jié)點(diǎn)間實(shí)際的鏈接權(quán)重,但并沒有考慮到全局結(jié)構(gòu)信息對(duì)節(jié)點(diǎn)的影響。Li 等[19]提出的LGAE(Local-Global AutoEncoder)模型定義了全局信息維持準(zhǔn)則,并將類中心向量作為全局信息加入模型中,實(shí)驗(yàn)結(jié)果表明加入該信息后分類任務(wù)的準(zhǔn)確率有一定的提升。受該模型的啟發(fā),為了更好地量化全局結(jié)構(gòu)信息與節(jié)點(diǎn)屬性信息之間的關(guān)系,本文使用類中心向量更新節(jié)點(diǎn)表示向量,并利用部分節(jié)點(diǎn)的真實(shí)標(biāo)簽優(yōu)化類中心向量。具體來說,在圖中每個(gè)類都設(shè)置一個(gè)軟類標(biāo)簽,即類分布中心向量,使節(jié)點(diǎn)的表示向量接近于該向量。
LGAE 模型使用一個(gè)虛擬二部圖G來對(duì)節(jié)點(diǎn)與類之間的關(guān)系進(jìn)行描述并定義全局信息維持準(zhǔn)則:定義二部圖G=((V,Vˉ),E)為節(jié)點(diǎn)集合V與Vˉ之間、邊權(quán)重為E的無(wú)向圖。對(duì)于一個(gè)被分為C個(gè)類的圖,頂點(diǎn)集分別為圖數(shù)據(jù)樣本V和數(shù)據(jù)類分布中心Vˉ,E代表數(shù)據(jù)樣本和類分布中心之間的連接權(quán)重矩陣,可看作是樣本與類向量之間的相似程度。將第c(c∈C)個(gè)類的類中心分布向量定義為μc(x(Vc)),Vc代表第c個(gè)類的節(jié)點(diǎn)集合,x(Vc)代表第c個(gè)類節(jié)點(diǎn)集合中節(jié)點(diǎn)的高維向量,則Vˉ可表示為類中心分布向量的集合,即Vˉ=[μ1(x(V1)),μ2(x(V2)),…,μC(x(VC))]。全局嵌入的目的是建立一個(gè)映射g*:V→g*(x(V)),該映射要滿足:若數(shù)據(jù)樣本高維向量xi接近于第c類的分布中心μc(x(Vc)),那么作為樣本節(jié)點(diǎn)的低維表示向量,g*(xi)也應(yīng)當(dāng)接近于低維的類分布中心μc(g*(x(Vc))),因此,維持全局結(jié)構(gòu)信息的準(zhǔn)則如式(15)所示:
其中:μc(g*(x(Vc)))表示與第c類相對(duì)應(yīng)的類分布中心向量(以下簡(jiǎn)稱為μc);B是一個(gè)關(guān)于映射矩陣G*的約束矩陣。全局圖嵌入尋求一種低維表示,來保持?jǐn)?shù)據(jù)樣本和對(duì)應(yīng)類分布中心之間的鄰近性。全局信息嵌入可以將同一類的表示數(shù)據(jù)映射到對(duì)應(yīng)類分布中心附近,因此,它可以降低類內(nèi)差異。
下面介紹維持全局結(jié)構(gòu)信息的準(zhǔn)則中相似度e的選取方式?,F(xiàn)有圖卷積網(wǎng)絡(luò)模型中通常用兩種方式設(shè)定相鄰節(jié)點(diǎn)間的連接權(quán)重:
1)高斯核權(quán)重。該方法使用高斯核函數(shù)來度量?jī)蓚€(gè)向量之間的相似程度,函數(shù)如式(16)所示:
其中:xi與xj代表節(jié)點(diǎn)i與j的屬性向量。高斯核函數(shù)可以將低維的向量投影到無(wú)窮維來度量?jī)蓚€(gè)向量的相似度,并使用參數(shù)σ控制函數(shù)的徑向作用范圍。即若σ減小,則在兩向量距離減小時(shí),兩個(gè)向量的相似度會(huì)更明顯地增大。
2)相同權(quán)重。即節(jié)點(diǎn)與所有相連節(jié)點(diǎn)之間的相似度e相同,如式(17)所示:
若節(jié)點(diǎn)i是節(jié)點(diǎn)j的鄰居節(jié)點(diǎn),則節(jié)點(diǎn)i對(duì)于節(jié)點(diǎn)j的相似度為1;若節(jié)點(diǎn)i與節(jié)點(diǎn)j無(wú)連接關(guān)系,則i對(duì)于j的相似度為0。
在正則化損失中,若選用第一種方式定義權(quán)重會(huì)削弱距離類中心向量較遠(yuǎn)的節(jié)點(diǎn)對(duì)損失函數(shù)的影響,因此本文選用第二種方法來設(shè)定節(jié)點(diǎn)與類節(jié)點(diǎn)之間的相似度e。
本文同時(shí)使用標(biāo)記節(jié)點(diǎn)與未標(biāo)記節(jié)點(diǎn)計(jì)算類中心向量,將節(jié)點(diǎn)根據(jù)2.3 節(jié)中的全局正則化準(zhǔn)則,使用更新后的類中心向量更新節(jié)點(diǎn)的表示向量,并利用標(biāo)記節(jié)點(diǎn)的真實(shí)標(biāo)簽對(duì)類中心向量與節(jié)點(diǎn)表示向量進(jìn)行優(yōu)化。
本文先使用標(biāo)記節(jié)點(diǎn)的表示向量計(jì)算初始類中心向量,具體來說,每類的初始類中心向量為該類中全部標(biāo)記節(jié)點(diǎn)的表示向量的平均值,如式(18)所示。
使用標(biāo)簽向量計(jì)算類中心之后,需要使計(jì)算出的類中心更接近類內(nèi)全部節(jié)點(diǎn)的中心,因此,在計(jì)算過程中不僅要考慮標(biāo)記節(jié)點(diǎn),也需要考慮未標(biāo)記節(jié)點(diǎn)的情況。Shoestring 模型[20]根據(jù)未標(biāo)記節(jié)點(diǎn)表示向量與當(dāng)前的類中心向量之間的相似度將部分未標(biāo)記節(jié)點(diǎn)分配至對(duì)應(yīng)的類,綜合考慮當(dāng)前類的中心向量和這些未標(biāo)記節(jié)點(diǎn)的情況,重新計(jì)算類中心向量,從而使計(jì)算出的類中心向量可以更好地代表類內(nèi)節(jié)點(diǎn)的整體情況,經(jīng)實(shí)驗(yàn)表明由該向量?jī)?yōu)化后的節(jié)點(diǎn)表征在標(biāo)簽較少時(shí)具有良好的性能。
受該模型啟發(fā),本文增加了類中心向量的更新過程,并使用類中心向量進(jìn)行節(jié)點(diǎn)表示的更新工作。在每一次迭代過程中,根據(jù)未標(biāo)記節(jié)點(diǎn)的表示向量與當(dāng)前計(jì)算出的類中心向量的相似度,利用部分相似度排名高的未標(biāo)記節(jié)點(diǎn)更新對(duì)應(yīng)的類中心向量,而后根據(jù)更新后的類中心向量將節(jié)點(diǎn)分配到其最接近的類中,并利用半監(jiān)督損失函數(shù)來保持標(biāo)記節(jié)點(diǎn)的表示向量與更新后的對(duì)應(yīng)類中心向量之間的鄰近性(節(jié)點(diǎn)的表示向量代表該節(jié)點(diǎn)從屬于每類的概率)。
具體來說,計(jì)算未標(biāo)記節(jié)點(diǎn)向量對(duì)更新后類中心向量的貢獻(xiàn)權(quán)重與對(duì)應(yīng)的貢獻(xiàn)向量,根據(jù)權(quán)重將更新前類中心向量與未標(biāo)記節(jié)點(diǎn)的貢獻(xiàn)向量相加,更新后的類中心向量用于節(jié)點(diǎn)表示向量的更新。具體計(jì)算步驟如下所示:
1)設(shè)定未標(biāo)記節(jié)點(diǎn)的分配比例k∈[0,1],將每類中100k%個(gè)未標(biāo)記節(jié)點(diǎn)分配到每類中。而后,使用softmax 函數(shù)計(jì)算未標(biāo)記節(jié)點(diǎn)分配到各個(gè)類別的概率,計(jì)算公式如式(19)所示:
其中:i表示未標(biāo)記節(jié)點(diǎn);c∈C為類別;zi為當(dāng)前模型中節(jié)點(diǎn)i最后一層的輸出向量;j為節(jié)點(diǎn)i所屬的類別;μj為第j類的類分布中心向量;eij代表節(jié)點(diǎn)i與類j之間的邊權(quán)重。
2)對(duì)于每一個(gè)類別,將所有未標(biāo)記節(jié)點(diǎn)根據(jù)從屬于該類別的概率p(i∈c)進(jìn)行排序,并根據(jù)設(shè)定的節(jié)點(diǎn)抽取比例k將從屬概率排名前100k%的節(jié)點(diǎn)抽取出來,后續(xù)將根據(jù)這些節(jié)點(diǎn)的表示向量計(jì)算新的類中心向量。
3)計(jì)算每個(gè)分配到各類的未標(biāo)記節(jié)點(diǎn)向量對(duì)于對(duì)應(yīng)類中心向量的貢獻(xiàn)權(quán)重。①對(duì)于每個(gè)類,將該類中所有分配的未標(biāo)記節(jié)點(diǎn)的分配概率相加作為未標(biāo)記節(jié)點(diǎn)的初始貢獻(xiàn)權(quán)重基數(shù)。②為了根據(jù)給定標(biāo)簽節(jié)點(diǎn)的情況自適應(yīng)調(diào)控分配的未標(biāo)記節(jié)點(diǎn)對(duì)更新后類中心向量的貢獻(xiàn)權(quán)重,統(tǒng)計(jì)該類中標(biāo)記節(jié)點(diǎn)的總數(shù),將該總數(shù)與未標(biāo)記節(jié)點(diǎn)的初始貢獻(xiàn)權(quán)重基數(shù)相加得到該類中所有未標(biāo)記節(jié)點(diǎn)的最終貢獻(xiàn)權(quán)重基數(shù)。這樣計(jì)算后,若每類給定的標(biāo)記節(jié)點(diǎn)較少,那么未標(biāo)記節(jié)點(diǎn)的總貢獻(xiàn)權(quán)重相對(duì)較高。因?yàn)槿艚o定標(biāo)簽節(jié)點(diǎn)較少,那么由給定標(biāo)簽節(jié)點(diǎn)表示向量計(jì)算出的類中心向量個(gè)例性太強(qiáng),相對(duì)不可靠,就需要增加未標(biāo)記節(jié)點(diǎn)的貢獻(xiàn)權(quán)重調(diào)整類中心向量。③節(jié)點(diǎn)自身分配概率p計(jì)算出的貢獻(xiàn)權(quán)重基數(shù)的比值即為該節(jié)點(diǎn)向量對(duì)其所分配類的類中心向量的貢獻(xiàn)權(quán)重,計(jì)算方法如式(20)所示:
4)計(jì)算各類中未標(biāo)記節(jié)點(diǎn)向量與更新前類中心向量的差異向量,計(jì)算公式如式(21)所示:
5)對(duì)于分配到某個(gè)類的未標(biāo)記節(jié)點(diǎn),它的貢獻(xiàn)向量為該節(jié)點(diǎn)的貢獻(xiàn)權(quán)重與差異向量的乘積。對(duì)于類別c,將更新前第c類的類中心向量與被分配到該類的所有節(jié)點(diǎn)的貢獻(xiàn)向量相加就可以得到更新后的類中心向量,計(jì)算過程如式(22)所示:
6)參考全局正則化準(zhǔn)則與Shoestring 模型中節(jié)點(diǎn)的重分配過程,通過節(jié)點(diǎn)與類中心向量的歐氏距離計(jì)算節(jié)點(diǎn)屬于每類的概率,將其作為更新后的節(jié)點(diǎn)表示向量。通過進(jìn)行softmax 操作,可以增大類內(nèi)節(jié)點(diǎn)的相似性與不同類節(jié)點(diǎn)間的差異性,計(jì)算方法如式(23)所示:
經(jīng)過上述步驟,完成了對(duì)類中心向量與節(jié)點(diǎn)表示向量的更新工作。由于融合了未標(biāo)記節(jié)點(diǎn)的類信息,因此在更新之后,每類的中心向量可以更好地表示該類節(jié)點(diǎn)的整體聚合趨勢(shì)。
得到更新后的節(jié)點(diǎn)表示向量后,通過交叉熵?fù)p失函數(shù)減小節(jié)點(diǎn)預(yù)測(cè)類向量與對(duì)應(yīng)節(jié)點(diǎn)真實(shí)標(biāo)簽向量之間的距離(標(biāo)簽向量矩陣定義為Y,yij表示第i個(gè)節(jié)點(diǎn)標(biāo)簽向量在第j類上的分量),計(jì)算方法如式(24)所示:
GE-TOGCN 模型總損失函數(shù)LGE-TOGCN由LGTO和Lsemi兩部分構(gòu)成,計(jì)算方式如式(25)所示:
其中:λ1,λ2∈[0,1]是LGTO和Lsemi的權(quán)重控制參數(shù)。
GE-TOGCN 模型偽碼如下所示:
為評(píng)估模型GE-TOGCN 的性能,使用Cora、Citeseer 兩個(gè)真實(shí)數(shù)據(jù)集在完成模型訓(xùn)練后進(jìn)行節(jié)點(diǎn)分類和可視化任務(wù)實(shí)驗(yàn),選用的對(duì)比模型為原模型GLCN[16]、譜域圖卷積網(wǎng)絡(luò)模型ChebNet[8]、圖卷積網(wǎng)絡(luò)模型GCN[9]與同樣基于拓?fù)鋬?yōu)化策略的信任圖卷積網(wǎng)絡(luò)模型Conf-GCN[15]。
本文實(shí)驗(yàn)環(huán)境是基于Windows 10 系統(tǒng),內(nèi)存為8 GB 的CPU 環(huán)境,編程語(yǔ)言為Python3.6,實(shí)驗(yàn)框架為Tensorflow。
實(shí)驗(yàn)數(shù)據(jù)集Cora 是一個(gè)包含多個(gè)領(lǐng)域的機(jī)器學(xué)習(xí)論文的引文數(shù)據(jù)集,論文根據(jù)類型分為基于事例、基于遺傳模型、基于神經(jīng)網(wǎng)絡(luò)模型、基于概率模型、基于強(qiáng)化學(xué)習(xí)、基于規(guī)則學(xué)習(xí)和基于理論共7 類,共2 708 篇文章。在預(yù)處理過程中,將每篇文章中所有頻數(shù)大于10 且有實(shí)際意義的詞語(yǔ)(無(wú)意義詞語(yǔ)如“的”“有”等)提取出來構(gòu)建一個(gè)詞匯表,詞匯表中單詞的個(gè)數(shù)即為論文屬性的個(gè)數(shù)。經(jīng)提取后Cora 數(shù)據(jù)集屬性個(gè)數(shù)為1 433。
實(shí)驗(yàn)數(shù)據(jù)集Citeseer 是由論文數(shù)據(jù)庫(kù)Citeseer 上提取的部分論文組成的引文數(shù)據(jù)集,分為代理技術(shù)、人工智能、數(shù)據(jù)庫(kù)、信息檢索、機(jī)器學(xué)習(xí)和人機(jī)交互共6 類。共選取3 327 篇論文,詞匯表中單詞個(gè)數(shù)為3 703。
兩個(gè)數(shù)據(jù)集的詳細(xì)信息如表1 所示。
表1 數(shù)據(jù)集詳細(xì)信息Tab.1 Details of datasets
在兩個(gè)數(shù)據(jù)集中,每一類分別從原訓(xùn)練集隨機(jī)抽取1、2、5、10 個(gè)節(jié)點(diǎn)作為訓(xùn)練集來模擬標(biāo)簽信息缺失的情況(每類抽取部分標(biāo)簽即代表缺失訓(xùn)練集中其他節(jié)點(diǎn)的標(biāo)簽信息),選擇500 個(gè)節(jié)點(diǎn)作為驗(yàn)證集,1 000 個(gè)測(cè)試節(jié)點(diǎn)作為測(cè)試集,進(jìn)行節(jié)點(diǎn)分類任務(wù)。模型由一個(gè)圖拓?fù)鋬?yōu)化層與兩個(gè)圖卷積層構(gòu)成,圖拓?fù)鋬?yōu)化層隱藏單元數(shù)為70,圖卷積層中第一層隱藏單元數(shù)為30,第二層需根據(jù)數(shù)據(jù)集類的個(gè)數(shù)具體設(shè)定。設(shè)置最大訓(xùn)練迭代次數(shù)為10 000,使用Adam 優(yōu)化器[21]進(jìn)行參數(shù)優(yōu)化,學(xué)習(xí)率設(shè)置為0.05。如果驗(yàn)證損失在100 次內(nèi)沒有下降,則提前停止訓(xùn)練。
完成模型訓(xùn)練后,分別使用測(cè)試集進(jìn)行節(jié)點(diǎn)分類和可視化任務(wù)。
1)GE-TOGCN 在節(jié)點(diǎn)分類任務(wù)中的實(shí)驗(yàn)結(jié)果與分析。
將模型訓(xùn)練后得到的節(jié)點(diǎn)表示向量與真實(shí)標(biāo)簽向量進(jìn)行比較,使用Micro-F1 指標(biāo)[22]計(jì)算節(jié)點(diǎn)分類的準(zhǔn)確率。由于抽取標(biāo)記節(jié)點(diǎn)時(shí)具有隨機(jī)性,因此將模型重復(fù)運(yùn)行10 次,計(jì)算平均分類準(zhǔn)確率作為最后的分類結(jié)果。節(jié)點(diǎn)分類準(zhǔn)確率如表2~3 所示。
表2 Cora數(shù)據(jù)集上的節(jié)點(diǎn)分類準(zhǔn)確率 單位:%Tab.2 Node classification accuracy on Cora dataset unit:%
表3 Citeseer數(shù)據(jù)集上的節(jié)點(diǎn)分類準(zhǔn)確率 單位:%Tab.3 Node classification accuracy on Citeseer dataset unit:%
可以看出,在缺失標(biāo)簽信息的情況下,GE-TOGCN 的分類精度優(yōu)于基準(zhǔn)模型及GLCN 模型。根據(jù)分類結(jié)果,改進(jìn)后的模型與次優(yōu)的模型相比,在Cora 數(shù)據(jù)集上的分類準(zhǔn)確率提高了1.2~12.0 個(gè)百分點(diǎn),在Citeseer 數(shù)據(jù)集上分類準(zhǔn)確率提高了0.9~9.9 個(gè)百分點(diǎn)。實(shí)驗(yàn)結(jié)果分析如下:
ChebNet 利用切比雪夫高階展開式近似圖的卷積過程,簡(jiǎn)化了原始圖卷積過程的計(jì)算,同時(shí)加強(qiáng)高頻信號(hào)的作用,但高頻信號(hào)對(duì)節(jié)點(diǎn)分類效果產(chǎn)生了一定的負(fù)面作用。GCN簡(jiǎn)化了ChebNet,使用重歸一化加強(qiáng)了低頻信號(hào)的作用,所以優(yōu)于ChebNet 中節(jié)點(diǎn)的分類效果。Conf-GCN 對(duì)每個(gè)節(jié)點(diǎn)都設(shè)置了類分布向量作為節(jié)點(diǎn)的信任向量,根據(jù)鄰接節(jié)點(diǎn)的分布向量與分布方差計(jì)算兩者之間的相似度來優(yōu)化拓?fù)渚仃?。GLCN 與Conf-GCN 分別利用相鄰節(jié)點(diǎn)的屬性相似度與節(jié)點(diǎn)的信任向量?jī)?yōu)化拓?fù)渚仃?,為模型提供了額外的弱監(jiān)督信息。在標(biāo)記節(jié)點(diǎn)較少時(shí),這些弱監(jiān)督信息會(huì)幫助節(jié)點(diǎn)學(xué)習(xí)到更準(zhǔn)確的表示向量,因此性能優(yōu)于GCN;但這兩種方法只能使相鄰節(jié)點(diǎn)信息更準(zhǔn)確地進(jìn)行傳播,而對(duì)于非相鄰節(jié)點(diǎn)的類相似度考慮不足。GE-TOGCN 在GLCN 的基礎(chǔ)上融合了全局結(jié)構(gòu)信息,量化了非相鄰節(jié)點(diǎn)的表示信息與全局類信息之間的關(guān)系,因此在訓(xùn)練節(jié)點(diǎn)較少的情況下,通過標(biāo)記節(jié)點(diǎn)與非標(biāo)記節(jié)點(diǎn)的雙重作用,模型可以更充分地利用標(biāo)記節(jié)點(diǎn)的標(biāo)簽信息,并利用全局類信息更好地表示該類節(jié)點(diǎn)的整體聚合趨勢(shì),分類效果優(yōu)于TOGCN。
2)GE-TOGCN 在節(jié)點(diǎn)可視化任務(wù)中的實(shí)驗(yàn)結(jié)果與分析。
在節(jié)點(diǎn)可視化任務(wù)中,本文使用t-SNE(t-distributed Stochastic Neighbor Embedding)模型[23],通過非線性降維的方式將學(xué)習(xí)到的最終節(jié)點(diǎn)表示向量投影到二維空間。圖2 中的點(diǎn)表示測(cè)試集中各節(jié)點(diǎn)表示向量經(jīng)投影后的二維向量,點(diǎn)的顏色表示類別。由于模型分類結(jié)果會(huì)隨著選取標(biāo)簽的質(zhì)量上下浮動(dòng),因此運(yùn)行結(jié)果會(huì)存在偏差,本文選擇10 次結(jié)果中分類準(zhǔn)確率最接近平均值的一次完成可視化任務(wù)。從圖2 中可以看出,GE-TOGCN 模型比基準(zhǔn)模型類內(nèi)節(jié)點(diǎn)的聚合程度更高,不同類簇之間邊界劃分更清晰。實(shí)驗(yàn)結(jié)果說明加入類中心向量后,每類類內(nèi)節(jié)點(diǎn)具有更強(qiáng)的聚合性,不同類節(jié)點(diǎn)間具有更明顯的差異性。
圖2 Cora數(shù)據(jù)集上每類標(biāo)簽節(jié)點(diǎn)個(gè)數(shù)為5時(shí)的可視化結(jié)果Fig.2 Visualization results with 5 label nodes per class on Cora dataset
本文針對(duì)TOGCN 僅對(duì)鄰接節(jié)點(diǎn)之間的連接關(guān)系進(jìn)行優(yōu)化,卻忽略全局結(jié)構(gòu)信息的問題進(jìn)行了改進(jìn),將類向量作為全局結(jié)構(gòu)信息融入到節(jié)點(diǎn)信息中,使得節(jié)點(diǎn)可以在學(xué)習(xí)局部信息的同時(shí)在低維空間中保持高維空間中節(jié)點(diǎn)與對(duì)應(yīng)類之間的幾何結(jié)構(gòu)。在Cora 與Citeseer 上進(jìn)行了模型訓(xùn)練和下游任務(wù)實(shí)驗(yàn),節(jié)點(diǎn)分類任務(wù)實(shí)驗(yàn)結(jié)果表明,引入類信息作為全局結(jié)構(gòu)信息可以提高在標(biāo)簽信息缺失的情況下節(jié)點(diǎn)分類的準(zhǔn)確率;節(jié)點(diǎn)可視化任務(wù)實(shí)驗(yàn)結(jié)果顯示,改進(jìn)后的模型可以增強(qiáng)同類節(jié)點(diǎn)之間的內(nèi)聚性,同時(shí)增強(qiáng)不同類節(jié)點(diǎn)間的差異性。實(shí)驗(yàn)結(jié)果表明,加入類全局信息有助于提高原模型在標(biāo)簽信息缺失時(shí)的魯棒性,同時(shí)節(jié)點(diǎn)能夠表現(xiàn)出更明顯的類特征。
致謝:感謝天津大學(xué)金弟老師為本文研究提出的建設(shè)性意見。