李荊 劉鈺 鄒磊,?
1. 北京大學(xué)前沿交叉學(xué)科研究院, 北京 100871; 2. 北京大學(xué)王選計算機(jī)研究所, 北京 100871;? 通信作者, E-mail: zoulei@pku.edu.cn
隨著卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)在計算機(jī)視覺、自然語言處理以及語音識別等領(lǐng)域的成功應(yīng)用, 研究者們對圖神經(jīng)網(wǎng)絡(luò)(graph neural networks, GNN)在圖學(xué)習(xí)方面的潛力產(chǎn)生極大的興趣。圖像、自然語言和語音信號都屬于歐幾里德數(shù)據(jù)結(jié)構(gòu)(Euclidean data structure), 這類數(shù)據(jù)結(jié)構(gòu)排列整齊, 很容易定義其中的鄰居。例如, 可以用矩陣表示一張圖片中的每個像素點, 將文本和語音信號視為一維序列。這種數(shù)據(jù)結(jié)構(gòu)的特性使得我們很容易定義作用于其上的卷積操作, 用來提取局部特征。然而, 圖(graph)卻是一種非歐幾里德數(shù)據(jù)結(jié)構(gòu)(non-Euclidean data structure), 其中的節(jié)點并不是規(guī)則的排列。并且, 對于不同節(jié)點, 其鄰居數(shù)目不同, 因此傳統(tǒng) CNN 的卷積操作無法直接運用到圖中。
圖卷積神經(jīng)網(wǎng)絡(luò)(graph convolutional networks,GCN)將 CNN 中的卷積概念擴(kuò)展到圖中, 通過定義作用于圖上的卷積操作來提取節(jié)點的鄰域信息。由于圖卷積操作可以對圖結(jié)構(gòu)以及圖上的鄰域信息進(jìn)行有效的提取, 所以 GCN 在圖表示學(xué)習(xí)領(lǐng)域表現(xiàn)出強(qiáng)大的優(yōu)勢。研究表明, GCN 在很多圖挖掘任務(wù)(如節(jié)點分類、邊分類、鏈接預(yù)測和聚類等)中有最優(yōu)的表現(xiàn)[1-2]。
已有的圖卷積神經(jīng)網(wǎng)絡(luò)大多基于靜態(tài)圖設(shè)計,即模型對圖的建模和表示進(jìn)行學(xué)習(xí), 假設(shè)圖結(jié)構(gòu)不改變。然而, 現(xiàn)實中提取的圖是動態(tài)變化的, 圖中的節(jié)點和邊都會隨著時間而有插入和刪除, 節(jié)點屬性和邊屬性也會隨時間而改變。例如, 在一個以用戶為節(jié)點, 用戶間交易為邊的金融網(wǎng)絡(luò)中, 一個具有現(xiàn)實意義的任務(wù)就是識別其中的可疑用戶(例如洗錢組織成員)或可疑交易(例如信用卡詐騙交易)。在這個圖中, 隨著用戶間不斷進(jìn)行交易, 圖結(jié)構(gòu)也隨之不斷地變化, 因此我們不僅需要關(guān)注圖中當(dāng)前時刻的信息, 也需要分析圖上歷史時刻的信息。如圖 1 所示, 銀行賬戶F在時刻t可能是一個正常用戶, 之后加入某洗錢組織, 從而在t+1 時刻開始一些可疑交易(虛線箭頭所示F→D,D→B,B→C,C→F), 因此在t+2 時刻, 根據(jù)賬戶H與賬戶F之間的聯(lián)系以及歷史交易記錄等, 需要考慮H是否有可能也變成了可疑用戶。在圖不斷變化的場景下, 需要用動態(tài)模型去提取動態(tài)圖上的結(jié)構(gòu)信息以及歷史時刻信息, 從而得到具有豐富信息的節(jié)點表示。
圖1 動態(tài)圖示例Fig. 1 An example of a dynamic graph
本文提出一個基于時空建模的動態(tài)圖卷積神經(jīng)網(wǎng)絡(luò)(dynamic graph convolutional network, DynGCN)來建模動態(tài)圖上的節(jié)點表示問題。模型將動態(tài)圖的節(jié)點表示學(xué)習(xí)視為時間維度和空間維度信息的聚合, 并引入自適應(yīng)的模型更新機(jī)制, 感知圖結(jié)構(gòu)的動態(tài)性。為了進(jìn)一步驗證模型的建模能力, 在多組比特幣交易數(shù)據(jù)集上進(jìn)行鏈接預(yù)測任務(wù), 實驗結(jié)果表明了 DynGCN 模型對動態(tài)圖節(jié)點信息提取的有效性。
傳統(tǒng)的圖表示學(xué)習(xí)方法是在圖的鄰接矩陣計算出的相似矩陣上進(jìn)行奇異向量分解(singular vector decomposition, SVD), 得到節(jié)點的低維向量表示[3-4]。這種方法非常直觀, 但基于 SVD 的操作卻缺乏可擴(kuò)展性。另一類方法是受 Word2Vec[5]對單詞向量表示學(xué)習(xí)的啟發(fā), 將處理句子的方法遷移到處理圖中(如 DeepWalk[6]和 Node2Vec[7]), 在圖中設(shè)計隨機(jī)游走策略, 得到節(jié)點序列, 然后將這些節(jié)點序列視為句子, 輸入 SkipGram[5]模型, 學(xué)習(xí)到節(jié)點的低維向量表示。隨著深度學(xué)習(xí)在很多領(lǐng)域表現(xiàn)出的巨大優(yōu)勢, 如 GNN[8-12]廣泛應(yīng)用于節(jié)點表示學(xué)習(xí)領(lǐng)域, 第三類方法主要通過設(shè)計圖卷積算子來學(xué)習(xí)圖中節(jié)點的鄰域信息。以上方法都聚焦在靜態(tài)圖上的節(jié)點表示學(xué)習(xí), 而缺乏對圖動態(tài)性的建模。
1.2.1 基于矩陣分解的方法
解決動態(tài)圖上節(jié)點表示學(xué)習(xí)問題的一個思路是, 將靜態(tài)圖上的方法進(jìn)行擴(kuò)展, 比如加入某些更新機(jī)制。DANE[13]就是采用這種方法, 將動態(tài)圖視為時序上的一系列快照(snapshot), 每個快照是一個靜態(tài)圖,t時刻的向量表示是由t-1 時刻的特征向量更新而來, 不是在每個時間切片上都重新計算。相似地, DHPE[14]也動態(tài)地更新學(xué)習(xí)到的表示向量, 同時通過廣義的奇異值分解(generalized singular value decomposition, GSVD)和矩陣攝動理論(matrix perturbation theory), 保留高階相似性。在不斷更新求近似的過程中, 這類增量 SVD 的方法會產(chǎn)生越來越嚴(yán)重的誤差累積, 因此 Zhang 等[15]提出一種 SVD重啟的最大誤差界限理論, 通過設(shè)置最優(yōu)的重啟時間來減少學(xué)習(xí)過程中的誤差累積。
1.2.2 基于隨機(jī)游走的方法
受靜態(tài)圖上基于隨機(jī)游走方法的啟發(fā), 一些研究者提出在動態(tài)圖上隨機(jī)游走的方法。DNE 模型[16]采用一種與 LINE[17]等價的可分解的目標(biāo)函數(shù)來學(xué)習(xí)新節(jié)點的表示向量, 同時也提出一種對受到最大影響原始節(jié)點的嵌入向量調(diào)整機(jī)制。另一方面, CTDNE[18]將動態(tài)圖建模為連續(xù)時間上的過程,為條邊設(shè)置多個相關(guān)的時間戳, 同時將隨機(jī)游走的路徑限制在符合邊的時間序列路徑上。CTDNE 將動態(tài)性和時序性考慮進(jìn)隨機(jī)游走的過程中, 同時也保證了模型的可擴(kuò)展性。
1.2.3 基于自編碼器的方法
此類動態(tài)圖表示學(xué)習(xí)方法是基于一些非監(jiān)督學(xué)習(xí)框架, 例如自編碼器。DynGEM[19]利用前一時刻的自編碼器來初始化當(dāng)前時刻的訓(xùn)練參數(shù), 從而能夠保留節(jié)點表示的歷史信息。同時, DynGEM 通過一個啟發(fā)式的算法, 根據(jù)不同時刻的圖結(jié)構(gòu), 將SDNE[20]的架構(gòu)進(jìn)行調(diào)整, 從而適應(yīng)新的圖結(jié)構(gòu)。考慮到 DynGEM 只利用過去一個時刻的歷史信息,Goyal 等[21]隨之提出 dyngraph2vec 模型, 可以編碼更多的歷史時刻信息, 但架構(gòu)更復(fù)雜, 不具有更好的可擴(kuò)展性。
1.2.4 基于點過程的方法
為了將圖的動態(tài)性建模為連續(xù)的而不是分段的時間切片, 基于點過程的方法, 嘗試將圖中的邊視為一個事件, 則一個事件的發(fā)生會反過來影響整個網(wǎng)絡(luò)結(jié)構(gòu)。KnowEvolve[22]和 DyRep[23]是其中的重要研究成果。DyRep 將圖的動態(tài)性考慮為關(guān)聯(lián)過程(association process)和通信過程(communi-cation process) 兩個過程, 將圖中的節(jié)點表示視為關(guān)聯(lián)過程和通信過程中間的調(diào)解者, 這兩個過程反過來又帶來節(jié)點表示的更新。DynamicTriad 模型[24]也受點過程的啟發(fā), 嘗試建模圖中的閉合三點(兩兩之間有邊相連的 3 個節(jié)點)是如何從開放的三點(3 個節(jié)點中有兩個節(jié)點之間沒有邊相連)的狀態(tài)發(fā)展而來。DynamicTriad 模型認(rèn)為閉合三點的形成是圖的動態(tài)性的反映。這類方法考慮了連續(xù)時間的因素,在事件建模和預(yù)測方面有很強(qiáng)的優(yōu)勢。
1.2.5 基于圖卷積的方法
隨著圖卷積神經(jīng)網(wǎng)絡(luò)在獲取圖結(jié)構(gòu)信息方面表現(xiàn)出的巨大優(yōu)勢, 一種新的動態(tài)圖嵌入學(xué)習(xí)的方法是將 GCN 與 RNN (如 LSTM 等)相結(jié)合, 其中 GCN用來提取圖結(jié)構(gòu)上的信息, RNN 則用來建模時間維度上的動態(tài)變化。Seo 等[25]提出兩種 GCRN 架構(gòu),其共同特征是利用 GCN 來學(xué)習(xí)節(jié)點的向量表示,然后將一段時間學(xué)習(xí)到的向量序列輸入 LSTM 模型, 建模序列上的動態(tài)性。兩種架構(gòu)的唯一區(qū)別在于, 其中一個模型將傳統(tǒng)的 LSTM 中的歐幾里德 2D卷積運算修改為圖卷積運算。相似地, Manessi 等[26]提出 WD-GCN/CD-GCN 結(jié)合 LSTM 的變種和擴(kuò)展的圖卷積運算來建模圖結(jié)構(gòu)及其長短期依賴。不同的是, WD-GCN 的輸入是圖序列, 而 CD-GCN 的輸入是對應(yīng)的節(jié)點特征的有序序列。
進(jìn)一步地, GCN-GAN 模型[27]將帶權(quán)動態(tài)圖上的時序性鏈接預(yù)測任務(wù)建模為 GCN 與 RNN 的架構(gòu),再與生成性對抗網(wǎng)絡(luò)(generative adversarial networks,GAN)相結(jié)合。GCN-GAN 模型同樣運用GCN 去學(xué)習(xí)每個時間片上的拓?fù)浣Y(jié)構(gòu)特征, 然后運用 LSTM去學(xué)習(xí)序列性的變化, 采用 GAN 的學(xué)習(xí)框架去生成下一個時間步, 從而學(xué)習(xí)到更有效的節(jié)點表示。STAR[28]模型加入對偶注意力(attention)機(jī)制來增強(qiáng)GCN 和 RNN 架構(gòu)的學(xué)習(xí)能力。Evolve-GCN[29]模型改變了之前方法中學(xué)習(xí)節(jié)點表示在時序上的動態(tài)性的思路, 轉(zhuǎn)而去學(xué)習(xí) GCN 參數(shù)在時序上的動態(tài)性。雖然 EvolveGCN 也采用 GCN 與RNN 相結(jié)合的方式, 但此結(jié)構(gòu)中的 RNN 用于建模GCN 的權(quán)重參數(shù)在時間維度上的動態(tài)性, 從而學(xué)習(xí)到動態(tài)圖上的節(jié)點表示。
我們定義動態(tài)圖和動態(tài)圖上的表示學(xué)習(xí)如下:一個動態(tài)圖被表示為多個靜態(tài)圖的序列, 即G={G1,G2, …,GT}, 其中Gt=(Vt,Et)表示在時刻t,t∈{1,2, …,T}的快照。對于圖Gt的鄰接矩陣At∈RN×N, 如果(vt)i和(vt)j之間有邊相連, 那么(At)i,j=1, 否則(At)i,j=0。動態(tài)圖上的節(jié)點表示學(xué)習(xí)為學(xué)習(xí)到一組映射的序列F={f1,f2, …,fT}, ?t∈{1, 2, …,T}, 其中每個映射都將時刻t的節(jié)點映射為低維向量(yt)v=ft(v), 使得映射后的向量能保留節(jié)點的原始信息。也就是說若兩個點在原始圖中越相似, 則它們映射后的向量就越接近。
本文提出的模型將動態(tài)圖上的表示學(xué)習(xí)建模為時間和空間信息的聚合, 同時加入模型自適應(yīng)機(jī)制,可以隨著圖結(jié)構(gòu)的變化而更新模型參數(shù)。如圖 2 所示, 模型基本架構(gòu)由空間卷積層和時間卷積層組成,模型第一層是由一個空間卷積層來聚合節(jié)點的鄰居信息, 同時利用 GRU 單元自適應(yīng)更新參數(shù)。輸出的向量輸入第二層的時間卷積層, 聚合當(dāng)前時刻和歷史時刻的信息。由此, 每個節(jié)點的表示都融合當(dāng)前以及歷史時刻的鄰居信息。最后, 加上一個自適應(yīng)的空間卷積層, 用來聚合鄰居的當(dāng)前時刻和歷史時刻信息。
我們利用GCN的圖結(jié)構(gòu)提取優(yōu)勢來學(xué)習(xí)每個時間片下的結(jié)構(gòu)信息。GCN 通過定義的譜圖卷積聚合鄰居信息, 從而將卷積的思想擴(kuò)展到圖上。形式化地, 對于t時刻的圖Gt=(Vt,Et), GCN 的第l層輸入為第l-1 層輸出的向量和鄰接矩陣At, 輸出是更新后的節(jié)點向量。第l層的運算表示為
考慮到圖的動態(tài)性, 動態(tài)圖卷積層在靜態(tài) GCN的架構(gòu)上加入更新機(jī)制。因為當(dāng)圖結(jié)構(gòu)改變時, 卷積操作的權(quán)重參數(shù)也應(yīng)進(jìn)行更新, 以便適應(yīng)新的圖結(jié)構(gòu)。動態(tài)圖卷積層采用 RNN 組件對 GCN 模型的權(quán)重參數(shù)進(jìn)行更新, 對于每一個t∈{1, 2, …,T}和l∈{1, 2, …,L}, RNN 組件都以參數(shù)的初始值為輸入, 輸出更新后的。雖然 RNN 的多種實現(xiàn)(如LSTM 和 GRU)都能達(dá)到這個目的, 但由于 GRU 結(jié)構(gòu)的輸入包含每個時刻的節(jié)點表示, 可以為權(quán)重參數(shù)的更新引入更豐富的圖結(jié)構(gòu)信息, 因此我們的架構(gòu)采用 GRU 的實現(xiàn)方式。
時刻t第l層的權(quán)重更新方式如下:GCN 模塊自下而上聚合節(jié)點的鄰居信息, 而GRU 模塊隨時間維度自左向右更新權(quán)重參數(shù)。由此, 空間卷積層動態(tài)地獲得節(jié)點的鄰域信息??臻g卷積層的操作可以形式化地表示為
其中, 函數(shù) F和 G 分別表示圖卷積操作和權(quán)重更新操作。
在動態(tài)圖節(jié)點表示學(xué)習(xí)中提取時序信息是非常關(guān)鍵的環(huán)節(jié)。已有的模型大多采用 RNN 的架構(gòu)來建模時序變化, 由于基于 RNN 的架構(gòu)具有復(fù)雜的門機(jī)制, 因此在運算上更加耗時, 也更消耗內(nèi)存。同時, 標(biāo)準(zhǔn)的 RNN 在訓(xùn)練中容易出現(xiàn)梯度消失的問題, 并且只能獲取較短時間的記憶, 對長時間的序列無法很好地處理。雖然 LSTM 和 GRU 在一定程度上解決了梯度消失和短期記憶的局限, 但相對于基于 CNN 的架構(gòu), 在運算速度、內(nèi)存消耗以及性能表現(xiàn)方面依然處于劣勢, 因此我們的模型采用基于 CNN 的架構(gòu)(即 TCN[30]結(jié)構(gòu))來獲取歷史信息。
與 RNN 的架構(gòu)相比, 由于卷積操作的可并行性, TCN 使得運算速度獲得極大提升, 同時其運算對內(nèi)存的消耗也更小。重要的是, TCN 結(jié)構(gòu)對歷史信息的感受域更靈活, 可以通過簡單地增大卷積核或增加擴(kuò)張卷積的 dilation size 來增大感受域, 從而獲取更長時間序列的信息。另一方面, RNN 的架構(gòu)對動態(tài)性的建模是將歷史信息單純地歸納入每個時刻的 Hidden state 中, 通過Hidden state 來記憶歷史信息。TCN 的卷積結(jié)構(gòu)則通過靈活性的信息聚合方式, 將歷史信息與當(dāng)前時刻的信息相結(jié)合, 從而提取動態(tài)圖中的時序信息和結(jié)構(gòu)信息, 也從另一個角度將時間卷積與空間卷積進(jìn)行統(tǒng)一。
時間卷積層由一個 1D 的全連接卷積模塊(1D fully-convolutional unit)和一個因果卷積模塊(causal convolutional unit)構(gòu)成, 1D 的全連接卷積操作保證輸出層與輸入層有相同的序列長度, 因果卷積操作則保證在t時刻的輸出都只由它之前的時刻(包括當(dāng)前時刻)卷積得到, 由此保證由當(dāng)前時刻的信息和歷史信息去建模未來時刻的預(yù)測。在因果卷積階段, 為使網(wǎng)絡(luò)結(jié)構(gòu)對更長的時間序列也有更長更靈活的感受域, 在因果卷積中加入擴(kuò)張卷積(dilated convolutions)的設(shè)置, 隨著網(wǎng)絡(luò)層數(shù)增加, 卷積的擴(kuò)張(dilation)值設(shè)置為 2 的層數(shù)次冪。圖 3 展示TCN 中的擴(kuò)張卷積過程, 其中每層的 dilation size依次為 1, 2 和 4, 卷積核大小為 2。
圖3 TCN 中擴(kuò)張卷積示例Fig. 3 An example of dilation convolution in TCN
形式化地, 給定一個第l層的長為T, 有M維特征的輸入序列X l∈RT×M, 以及一個濾波器f:{0,1, …,k-2}, 對于X l的元素x, 卷積運算H 定義如下:其中,d是擴(kuò)張因子,k是濾波器大小,x-d·i代表歷史的方向。我們可以通過增加濾波器大小k或增加擴(kuò)張因子d來增大卷積的感受域。同時, 卷積操作支持對序列的并行運算, 因此在效率上有極大的提升。
時空卷積模型第l層空間卷積后的節(jié)點嵌入向量是對鄰居信息的聚合, 經(jīng)過時間卷積層后, 可以得到每個節(jié)點以及節(jié)點鄰居的歷史信息。在此之上疊加一個空間卷積層, 則每個節(jié)點的向量表示都包含它及其鄰居的當(dāng)前和歷史時刻信息的聚合。因此, 這種時間卷積與空間卷積相互交疊的模型結(jié)構(gòu)使得輸出的節(jié)點嵌入向量擁有更豐富的結(jié)構(gòu)信息和歷史信息。
為了測試模型的表示能力, 我們在特定的邊分類任務(wù)中對模型進(jìn)行訓(xùn)練。邊分類任務(wù)在很多現(xiàn)實場景下有很強(qiáng)的現(xiàn)實意義, 例如對金融網(wǎng)絡(luò)中的犯罪識別, 就需要對兩個賬戶之間的連邊進(jìn)行邊分類研究。動態(tài)圖下的邊分類任務(wù)旨在預(yù)測某條邊(u,v)在t時刻的邊標(biāo)簽類別。為了對邊進(jìn)行分類, 我們需要邊的兩個端點的節(jié)點向量表示。給定有邊相連的兩個節(jié)點u和v在t時刻的向量表示分別為和, 用參數(shù)矩陣P來預(yù)測邊(u,v)的標(biāo)簽:
模型的交叉熵?fù)p失函數(shù)為
在兩個金融領(lǐng)域數(shù)據(jù)集上進(jìn)行模型驗證。數(shù)據(jù)集來自兩個不同的比特幣交易網(wǎng)站的用戶之間的信任度評分網(wǎng)絡(luò)。數(shù)據(jù)集的詳細(xì)信息如表 1 所示。
Bitcoin OTC①http://snap.standford.edu/data/soc-sign-bitcoin-otc.html;數(shù)據(jù)集是從比特幣交易網(wǎng)站中提取的用戶之間的信任度評分網(wǎng)絡(luò)。用戶用-10 (完全不信任)到+10(完全信任)對其他用戶進(jìn)行打分, 每個打分用相應(yīng)的時間戳代表打分時間。數(shù)據(jù)集的時間跨度約為 5 年, 我們設(shè)置 13.8 天的時間間隔, 數(shù)據(jù)集共產(chǎn)生 138 個時間步。將 138 個時間步切分為訓(xùn)練集、驗證集和測試集, 切分比例見表 1。另外,Bitcoin OTC 數(shù)據(jù)集的類別分布極不均衡, 89%的數(shù)據(jù)都是正例, 負(fù)例只占很少的部分。
表1 數(shù)據(jù)集信息Table 1 Dataset statistics
Bitcoin Alpha②http://snap.standford.edu/data/soc-sign-bitcoin-alpha.html數(shù)據(jù)集同樣是一個比特幣用戶之間的信任網(wǎng)絡(luò), 但用戶和評分?jǐn)?shù)據(jù)提取自另一個比特幣平臺 BTC-Alpha。評分?jǐn)?shù)據(jù)為 2010 年 11 月8 日—2016 年 1 月 22 日, 設(shè)置 13.6 天的時間間隔,將數(shù)據(jù)集分為 140 個時間步。訓(xùn)練集、驗證集和測試集的劃分比例見表 1。評分依然從-10 (完全不信任)到+10 (完全信任), 但是與 Bitcoin OTC 的 89%的正例比例相比, Bitcoin Alpha 有更高的正例比例( 93%)。
由于兩個數(shù)據(jù)集都存在類別嚴(yán)重不均衡問題,在反欺詐場景下, 負(fù)例的評分類別更值得關(guān)注。所以, 我們把負(fù)分的類別作為分類的主類別, 更加注重負(fù)分類的分類情況。
我們使用靜態(tài)方法和動態(tài)方法, 將 DynGCN 模型與一些現(xiàn)有模型進(jìn)行對比。在對比模型中, 動態(tài)方法是從不同的方向進(jìn)行: 節(jié)點導(dǎo)向的(基于節(jié)點表示向量的動態(tài)性)、模型導(dǎo)向的(基于模型參數(shù))以及各自不同的動態(tài)建模方式。
GCN 這是一個靜態(tài)的圖卷積模型, 也是進(jìn)行圖表示學(xué)習(xí)的經(jīng)典方法。模型通過譜卷積聚合節(jié)點的鄰居信息來學(xué)習(xí)節(jié)點的嵌入向量。由于動態(tài)圖中的每一個時間步都會產(chǎn)生一個圖的快照, 我們對每個時間步都采用同一個 GCN 模型, 即不考慮圖的動態(tài)性, GCN 模型基于每個時間步上的圖進(jìn)行訓(xùn)練。
GCN-GRU[25]將 GCN 與序列建模相結(jié)合, 首先通過 GCN 架構(gòu)學(xué)習(xí)每個時間快照下節(jié)點的表示向量, 再將這些向量輸入 GRU 單元, 學(xué)習(xí)節(jié)點表示的動態(tài)性。此方法對動態(tài)性的表示建立在節(jié)點表示向量上, 屬于節(jié)點導(dǎo)向的方法。為了更好地進(jìn)行對比, 本實驗將原方法中的 ChebNet 更換為 GCN, 將LSTM 替換為 GRU。
EvolveGCN 這是一種模型導(dǎo)向的方法。此方法也將 GCN 與 RNN 相結(jié)合, 但與 GCN-GRU 不同,EvolveGCN 中采用 RNN 建模 GCN 參數(shù)的更新。整個模型訓(xùn)練沿著卷積層從下到上和時間維從前到后進(jìn)行。將動態(tài)性建模到 RNN 的隱向量中, 針對每個時間步, 學(xué)習(xí)到更新后的 GCN 權(quán)重參數(shù), 節(jié)點的表示向量經(jīng)過更新后的權(quán)重參數(shù), 進(jìn)行圖卷積運算,得到更新后的節(jié)點表示。EvolveGCN 有 EvolveGCNH 和 EvolveGCN-O 兩種實現(xiàn)方法。-H 類采用 GRU進(jìn)行動態(tài)建模, -O 類采用 LSTM 進(jìn)行動態(tài)性建模。我們的對比基于這兩種方法。
兩個數(shù)據(jù)集在每個時間步上的邊都比較少, 導(dǎo)致每個時間步的圖快照很稀疏。為了讓圖表示學(xué)習(xí)算法有更好的學(xué)習(xí)能力, 我們設(shè)置每條邊的生存時長為自邊產(chǎn)生起 10 個時間步的時間窗口。實驗中,對歷史信息的步長設(shè)置為 10。所有模型的 GCN 卷積層數(shù)都為 2, Bitcoin OTC 數(shù)據(jù)集的 em-bedding size 設(shè)置為 110, Bitcoin Alpha 的 embedding size 設(shè)置為 90, 同時設(shè)置兩層 GCN 卷積的 embed-ding size為相同值。輸入的節(jié)點特征設(shè)置為節(jié)點的出度/入度值。模型中的權(quán)重初始化均為正態(tài)分布初始化,并且都采用 Adam 優(yōu)化器, dropout 的比例均設(shè)置為0.3, 學(xué)習(xí)率(learning rate)設(shè)置為 0.001。我們在損失函數(shù)中加入 L2 正則化項, L2 正則的權(quán)重設(shè)置為0.0005。所有測試集上的結(jié)果均在驗證集最優(yōu)的迭代輪下記錄。
表 2 展示 DynGCN 模型與對比模型的分類表現(xiàn)對比。兩個數(shù)據(jù)集的類別不均衡使得模型的分類能力面臨很大挑戰(zhàn), 但本文的 DynGCN 模型取得最好的分類能力, 比其他模型有明顯的優(yōu)勢。對于整體的分類能力, 我們對比準(zhǔn)確率和加權(quán) F1 值; 由于小類對反金融欺詐有更強(qiáng)的現(xiàn)實意義, 我們也對比小類的 F1 值以及對應(yīng)的精確率和召回率。表 2 中所有的實驗結(jié)果均為在驗證集上取得最優(yōu)時的測試結(jié)果。
從表 2 可以發(fā)現(xiàn), DynGCN 有最高的分類準(zhǔn)確率和加權(quán) F1 值, 表明 DynGCN 有很好的總體分類性能表現(xiàn)。對于小類的分類結(jié)果, DynGCN 也達(dá)到最好的 F1 值和精確率。雖然從召回率來看, DynGCN略低于 GCN 和 GCN-GRU, 但 DynGCN 仍然優(yōu)于其他方法, 因為其他方法雖然有更高的召回率, 卻以更低的精確率為代價。作為精確率和召回率的調(diào)和平均值, F1 值在分類性能上是更有效的評估標(biāo)準(zhǔn)。
進(jìn)一步地, 我們繪制在 Bitcoin Alpha 測試集上小類的 F1 值和分類準(zhǔn)確率隨時間變化曲線(圖 4)??梢钥闯? 靜態(tài)的 GCN 方法與其他動態(tài)方法有明顯的差距, 并且 DynGCN 的優(yōu)勢在各個時間步都更明顯。另外, GCN 方法的準(zhǔn)確率也更低。因為 GCN是為靜態(tài)圖設(shè)計的, 未考慮圖上的動態(tài)性, GCN 在動態(tài)圖上的性能劣勢反映動態(tài)性建模的必要性和優(yōu)勢。
從圖 4 可以看出, DynGCN 模型的優(yōu)勢在整個時間軸上都可以保持。特別地, 對于時間步 15, 其他方法的分類能力都非常差, 而 DynGCN 模型依然保持 F1 值的絕對優(yōu)勢。這得益于 DynGCN 模型對時空信息的雙重建模, 能對于時間序列上的突變情況有較為穩(wěn)定的表現(xiàn)。另外, 相比兩個類型的EvolveGCN, DynGCN 都有更好的分類表現(xiàn), 因為EvolveGCN 只關(guān)注模型權(quán)重參數(shù)的動態(tài)性而忽略圖結(jié)構(gòu)的變化。GCN-GRU 的相對更低分類能力是因為,雖然每個節(jié)點的歷史信息都被考慮, 但由于 DynGCN獨特的時空卷積操作以及模型更新機(jī)制, 對于更高層次的表示學(xué)習(xí), 仍然是 DynGCN 更有優(yōu)勢。
本文提出一種動態(tài)圖的表示學(xué)習(xí)模型 DynGCN,通過時間卷積和空間卷積的交替進(jìn)行以及自適應(yīng)的模型更新機(jī)制, 聚合時間維度和空間維度的信息,可以學(xué)習(xí)到更有效的節(jié)點表示。進(jìn)一步地, 在兩個類別分類極其不均衡的動態(tài)金融網(wǎng)絡(luò)中進(jìn)行邊分類任務(wù), 結(jié)果表明DynGCN 模型優(yōu)于所有對比模型。
本文對動態(tài)圖表示學(xué)習(xí)的研究具有很強(qiáng)的現(xiàn)實意義, 也可為未來的研究方向提供多種可能性。后續(xù)工作中, 可以進(jìn)一步提升模型的可擴(kuò)展性, 將模型的圖表示學(xué)習(xí)任務(wù)擴(kuò)展到更廣泛的領(lǐng)域, 如節(jié)點分類、鏈接預(yù)測和聚類等, 同時增加對其他領(lǐng)域數(shù)據(jù)集的學(xué)習(xí)和分析。