金柯君,于洪濤,吳翼騰,李邵梅,張建朋,鄭洪浩
(信息工程大學,鄭州 450001)
圖(Graph)在表示現(xiàn)實中的各類關(guān)系中具有獨特的優(yōu)勢,已經(jīng)成為數(shù)據(jù)挖掘和機器學習領(lǐng)域的重要研究對象。圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Network,GNN)是獲取圖節(jié)點和關(guān)系特征的有效工具之一[1],具有良好的性能,被廣泛應(yīng)用于各項圖分析任務(wù),例如:節(jié)點分類[2]、鏈路預(yù)測[3]、圖分類[4]、社區(qū)檢測[5]等,圖神經(jīng)網(wǎng)絡(luò)在圖表示學習領(lǐng)域取得了較大成功。然而研究表明:圖神經(jīng)網(wǎng)絡(luò)在面對專門設(shè)計的對抗性攻擊時存在魯棒性差的問題[6]。攻擊者可以通過操縱圖結(jié)構(gòu)或節(jié)點屬性“欺騙”圖神經(jīng)網(wǎng)絡(luò),從而生成圖對抗性攻擊。在金融系統(tǒng)和風險管理等安全攸關(guān)的領(lǐng)域應(yīng)用中,圖神經(jīng)網(wǎng)絡(luò)的這一安全缺陷引發(fā)了研究者的高度關(guān)注。例如,在信用評分系統(tǒng)中,欺詐者可以偽造出與一些高信用客戶的連接,從而逃避基于圖神經(jīng)網(wǎng)絡(luò)的反欺詐模型的檢測。因此需要針對圖神經(jīng)網(wǎng)絡(luò)對抗性攻擊問題研究行之有效的圖神經(jīng)網(wǎng)絡(luò)防御方法。
對抗性攻擊根據(jù)攻擊階段不同分為污染測試數(shù)據(jù)的逃逸攻擊和污染訓練數(shù)據(jù)的投毒攻擊[7-9]。本文主要研究針對圖卷積網(wǎng)絡(luò)(Graph Convolutional Network,GCN)投毒攻擊的防御方法。在投毒攻擊場景下,圖數(shù)據(jù)在模型訓練之前已被擾動,因此針對圖投毒攻擊常用的防御方法是在模型訓練之前對圖數(shù)據(jù)作凈化處理,清洗污染后的訓練數(shù)據(jù)以降低攻擊的影響,從而保證訓練得到模型的準確性。防御方法的關(guān)鍵問題是如何凈化被污染圖的訓練數(shù)據(jù)。
研究表明,現(xiàn)實世界中的圖具有一些共同性質(zhì)[10]。首先,這些圖都具有低秩性和稀疏性,例如,在社交網(wǎng)絡(luò)中大多數(shù)人只與少數(shù)節(jié)點連接,并且影響用戶之間連接的因素較少[11];其次,圖中相連接的節(jié)點往往具有相似的特征或?qū)傩裕ǚQ之為特征平滑性)[12],例如,在引文網(wǎng)絡(luò)中,具有引用關(guān)系的兩個出版物通常具有相似的主題[13]。實驗研究表明,對抗性投毒攻擊中修改邊的有效性強于修改特征,且增加邊的攻擊性強于刪除邊,增加連邊會增大鄰接矩陣的秩[14],破壞原圖的低秩性和稀疏性;并且對抗性攻擊傾向于在節(jié)點特征明顯不同的節(jié)點之間添加連邊[8],破壞原圖的特征平滑性。
為了凈化攻擊后的圖數(shù)據(jù),Entezari 等[14]提出了奇異值分解(Singular Value Decomposition,SVD)的預(yù)處理方法,對擾動后的圖進行奇異值分解和低秩近似處理,保證低秩性以抵御攻擊。然而該預(yù)處理方法只考慮圖的低秩性,忽略了圖的特征平滑性等其他規(guī)律,對精心設(shè)計的對抗性攻擊的防御效果有待提升。本文提出了一種改進的基于奇異值分解的圖卷積網(wǎng)絡(luò)防御方法ISVDatt,使圖卷積網(wǎng)絡(luò)保持低秩性和特征平滑性等性質(zhì)。具體而言,在SVD 之前,先進行一輪預(yù)處理,篩選出節(jié)點特征明顯不同的節(jié)點之間的邊并刪除;再進行奇異值分解和低秩近似等操作,實現(xiàn)對污染圖數(shù)據(jù)的凈化,之后再用于圖卷積網(wǎng)絡(luò)模型的訓練。在圖深度學習常用的數(shù)據(jù)集上進行了大量實驗,結(jié)果表明ISVDatt 能夠有效地防御針對圖結(jié)構(gòu)的投毒攻擊,相較于基于SVD 的防御方法,具有更佳的防御效果,并且復雜度較低,具有較高的實用價值。
圖是一種關(guān)系型結(jié)構(gòu)數(shù)據(jù),定義為G(V,E),其中:V={v1,v2,…,vN}表示節(jié)點集合,E={e1,e2,…,eM}表示連邊集合,N和M分別表示圖中節(jié)點和邊的數(shù)量。圖中節(jié)點之間的連接關(guān)系通過鄰接矩陣A表示,在無權(quán)無向圖中,A={0,1}N×N,AT=A;當節(jié)點vi和節(jié)點vj存在直 接連邊 時,Ai,j=1,否則Ai,j=0。特征圖中每個節(jié)點有d維的特征向量,節(jié)點特征矩陣用X∈{0,1}N×d表示。節(jié)點分類任務(wù)是圖上的基準測試任務(wù)之一[15]。假設(shè)每個節(jié)點vi有特征向量xi和標簽yi相關(guān)聯(lián),節(jié)點分類的目的是利用圖G(V,E)和有標簽節(jié)點的信息訓練一個節(jié)點分類模型,并利用該模型正確預(yù)測無標簽節(jié)點的類別。
傳統(tǒng)深度學習模型難以直接處理圖數(shù)據(jù),以圖卷積網(wǎng)絡(luò)(GCN)為代表的圖神經(jīng)網(wǎng)絡(luò)應(yīng)運而生。Kpif 等[13]于2016 年提出了GCN,它為圖數(shù)據(jù)的處理提供了一個嶄新的思路,將深度學習中常用于圖像的卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到圖數(shù)據(jù)上。GCN 通過圖卷積層聚合周圍節(jié)點的特征以更新自身節(jié)點。節(jié)點特征更新函數(shù)為:
圖對抗性攻擊指的是攻擊者通過對圖數(shù)據(jù)的結(jié)構(gòu)或節(jié)點特征進行微小的擾動,達到損害目標模型性能的目的[16]。在圖對抗學習中,未被攻擊的圖稱為原始圖G,被攻擊后的圖稱為擾動圖,攻擊算法添加或刪除的邊稱為擾動邊,修改圖中的邊會改變圖的鄰接矩陣,擾動圖的鄰接矩陣表示為,改變鄰接矩陣的攻擊算法稱為拓撲攻擊;如果攻擊算法修改了圖的特征矩陣,則擾動圖的特征矩陣表示為,改變特征矩陣的攻擊算法稱為特征攻擊。圖對抗性攻擊根據(jù)攻擊的時機可以分為污染測試數(shù)據(jù)的逃逸攻擊和污染訓練數(shù)據(jù)的投毒攻擊[7]。圖對抗性攻擊由Zügner 等[6]首次提出,他們提出了Nettack 算法,選擇圖中的單個節(jié)點,通過修改該節(jié)點的結(jié)構(gòu)或特征改變模型對該節(jié)點的預(yù)測,采用貪婪算法逐節(jié)點進行擾動得到擾動圖。之后,面向圖神經(jīng)網(wǎng)絡(luò)的對抗攻擊方法的研究相繼展開,出現(xiàn)了快速梯度攻擊(Fast Gradient Attack,F(xiàn)GA)[17]、Metattack[18]、GF-Attack(Graph Filter Attack)[19]、ReWatt[20]等多種圖對抗性攻擊方法。
隨著圖對抗性攻擊帶來的各種安全問題,提高GNN 的魯棒性顯得愈加重要,圖對抗性防御工作已經(jīng)開始得到關(guān)注和研究。圖對抗性防御是指通過一定的策略,使GNN 模型即使受到對抗攻擊,依舊能夠得到正確的輸出結(jié)果,從而保證模型魯棒性[9]。當前,已經(jīng)有多種防御算法用于提高GNN模型的魯棒性[21],如Dai 等[16]發(fā)現(xiàn)在訓練中隨機丟棄一些連邊可提高應(yīng)對攻擊的魯棒性。針對逃逸攻擊,增強GNN 魯棒性的方法主要包括攻擊檢測和對抗訓練等,例如Feng等[22]提出了圖對抗訓練(Graph Adversarial Training,GAT)方法以及虛擬圖對抗訓練(Virtual Graph Adversarial Training,GATV)。而針對投毒攻擊,目前多數(shù)防御算法采用修改模型的策略,出現(xiàn)了SVD[14]、魯棒圖卷積網(wǎng)絡(luò)(Robust Graph Convolutional Network,RGCN)[23]、Pro-GNN[24]等防御策略。這些方法可以有效防御針對模型訓練階段的投毒攻擊。
表1 列舉了上文提到的常見的圖對抗性攻擊與防御方法,本文主要研究針對投毒攻擊的圖對抗性防御,投毒攻擊將擾動樣本添加到訓練數(shù)據(jù)中,一個自然的想法便是采用圖凈化處理,清洗過濾掉圖中被污染的數(shù)據(jù)。基于此,本文提出了ISVDatt。
表1 常見圖對抗性攻擊與防御方法Tab.1 Common graph adversarial attacks and defense methods
Entezari 等[14]研究發(fā)現(xiàn)對抗性攻擊會擾動圖結(jié)構(gòu),從而增加鄰接矩陣的秩,并提出了基于奇異值分解(SVD)的預(yù)處理方法以消除加入圖結(jié)構(gòu)的對抗性擾動(該防御方法簡記為SVD)。盡管該方法在一定程度上可以達到防御效果,但基于SVD 的預(yù)處理方法僅考慮到原始圖的低秩性遭到破壞,防御效果仍有改進空間。
根據(jù)1.1 節(jié)分析,GCN 模型基于特征平滑性假設(shè)而設(shè)計,如式(1)所示,模型的主要原理是圖卷積層的特征聚合操作匯聚了與某節(jié)點關(guān)聯(lián)的其他節(jié)點特征,使得經(jīng)GCN 處理的節(jié)點特征也具備特征平滑性。本文認為,GCN 模型的脆弱性也表現(xiàn)在圖卷積層的特征聚合操作:對抗性攻擊通過增加虛假連邊得到擾動圖,擾動圖破壞了原始圖中節(jié)點的特征平滑性;GCN 模型會被擾動圖干擾,使得經(jīng)圖卷積層聚合的節(jié)點特征不再具備原始圖的特征平滑性,導致預(yù)測錯誤。因此,保持圖中節(jié)點之間的特征平滑性可有效提高GCN 的魯棒性。
基于這個假設(shè),本文提出一種針對圖卷積網(wǎng)絡(luò)投毒攻擊的凈化防御方法ISVDatt,旨在對圖數(shù)據(jù)進行凈化處理,使圖保持節(jié)點特征平滑性和低秩性。先篩選擾動圖特征明顯不同節(jié)點之間的邊并刪除,保證特征平滑性;再進行奇異值分解和低秩近似處理,保證鄰接矩陣的低秩性,處理后的圖可用于GCN 模型的訓練。
研究表明,2 層的GCN 模型在節(jié)點分類中性能表現(xiàn)較好。為了說明本文提出的防御方法的有效性,以2 層GCN 模型完成節(jié)點分類任務(wù)為例,公式表達如下:
其中:A為鄰接矩陣;X為節(jié)點特征矩陣;W1和W2分別為輸入層到隱藏層、隱藏層到輸出層的訓練參數(shù)矩陣;為模型輸出;Y為節(jié)點的真實標簽;使用交叉熵損失函數(shù),可得到損失函數(shù)計算公式。GCN 模型訓練階段損失函數(shù)如下:
ISVDatt 的框架如圖1 所示,在模型遭受投毒攻擊以后,該方法對擾動后的鄰接矩陣進行圖凈化處理,處理后再用于GCN 模型的訓練。具體而言,ISVDatt 方法主要分為2 個步驟:
圖1 ISVDatt方法框架Fig.1 Framework of ISVDatt method
1)刪除特征差異較大連邊。采用杰卡德相似系數(shù)[25]作為評分函數(shù)對擾動后的鄰接矩陣的節(jié)點特征之間的相似度進行度量,并刪除特征相似度較低的連邊,即具有明顯不同特征的節(jié)點之間的連邊,再進行下一步處理。
2)奇異值分解、低秩近似處理。對第一步處理后的鄰接矩陣進行奇異值分解,再使用最大的k個奇異值重組矩陣實現(xiàn)低秩近似處理。完成了對污染圖數(shù)據(jù)的凈化后,再使用處理后的圖訓練GCN 模型。
2.3.1 刪除特征差異較大連邊處理
Dai 等[16]簡要介紹了一種低成本的防御方法,該方法通過刪除部分連邊,能略微提高模型應(yīng)對攻擊的魯棒性。對抗性攻擊傾向于在節(jié)點特征明顯不同的節(jié)點之間添加邊,除去這類邊就可有效凈化污染數(shù)據(jù)。基于這個假設(shè),本文提出的ISVDatt 在擾動后的鄰接矩陣中,篩選出特征差異較大的節(jié)點之間的邊并移除。
本文研究的GCN 中,每個節(jié)點具有d維二元特征,特征為0 或1,采用杰卡德相似系數(shù)來評估節(jié)點之間的特征相似度,可得到特征相似度矩陣J。根據(jù)文獻[26],在二元離散條件下,節(jié)點vi和節(jié)點vj的杰卡德相似系數(shù)定義如下:
其中:M11表示節(jié)點vi的特征為1、節(jié)點vj的特征也為1 的數(shù)量;M01表示節(jié)點vi的特征為0、節(jié)點vj中特征為1 的數(shù)量;M10表示節(jié)點vi的特征為1、節(jié)點vj的特征為0 的數(shù)量。Ji,j∈[0,1],Ji,j值越大說明節(jié)點vi和節(jié)點vj的相似度越高。
在式(4)特征相似度計算的基礎(chǔ)上,對擾動后的鄰接矩陣進行預(yù)處理,篩選出特征差異較大的節(jié)點之間的邊并移除。盡管干凈的圖也可能有少量這樣的邊,但數(shù)量極少,刪除這些邊對目標節(jié)點的預(yù)測幾乎沒有影響,甚至能改善結(jié)果。定義Di,j為刪除連邊矩陣操作:
其中:τ為界定特征相似度的閾值,將受到攻擊后模型的鄰接矩陣記為={0,1}N×N,經(jīng)過該處理后的鄰接矩陣可以過濾部分擾動數(shù)據(jù),記為A'={0,1}N×N。
2.3.2 奇異值分解和低秩近似處理
奇異值分解(SVD)是在機器學習領(lǐng)域廣泛應(yīng)用的算法,它不光可以用于降維算法中的特征分解,還可以用于推薦系統(tǒng)、自然語言處理等領(lǐng)域,是很多機器學習算法的基石[27]。在上述刪除特征差異較大連邊的處理后,再對處理后的鄰接矩陣進行奇異值分解和低秩近似處理,使其保持圖的低秩性。奇異值分解定義如下:
其中:Σ為N階對角矩陣,它的對角線上的元素σi為奇異值,并且σ1>σ2>… >σmin,σi可由A'TA'的特征值λi取平方根求得,矩陣A'的秩即為非零奇異值的個數(shù);矩陣U和V都為N階正交矩陣,U的列元素稱為左奇異向量,由A'A'T的特征向量組成,V的列元素稱為右奇異向量,由A'TA'的特征向量組成,本文研究無向圖,A'T=A'。式(7)可以寫成:
經(jīng)過奇異值分解后,再對矩陣A'進行低秩近似操作,先在矩陣Σ中保留最大的k個奇異值,將剩余奇異值置0,再結(jié)合對應(yīng)的左右奇異向量便可近似描述矩陣A',即
經(jīng)過式(9)低秩近似處理后的鄰接矩陣記為A″,為N階矩陣,它的秩為k。至此,攻擊后的鄰接矩陣已過濾大量雜質(zhì),可直接用于GCN 模型的訓練。
ISVDatt的主要步驟為:
1)根據(jù)式(4)計算特征相似度矩陣J;
2)根據(jù)式(5)獲得過濾圖鄰接矩陣;
3)根據(jù)式(8)進行奇異值分解處理;
4)根據(jù)式(9)進行低秩近似,采用前k個奇異值重構(gòu)矩陣A″。
具體算法偽代碼如下所示:
算法 改進的基于SVD 的圖卷積網(wǎng)絡(luò)防御方法ISVDatt。
3.1.1 實驗環(huán)境
本文實驗環(huán)境為:型號為TITAN Xp 的GPU 顯卡,運行環(huán)境 ubuntu16.04 系 統(tǒng),CUDA10.0,Python3.7 以 及PyTorch1.2.0。
3.1.2 數(shù)據(jù)集及評價指標
本實驗采用圖深度學習常用的具有節(jié)點特征的Citeseer[28]、Cora[29]、Pubmed[30]數(shù)據(jù)集,表2 列出了這些數(shù)據(jù)集的統(tǒng)計特征。數(shù)據(jù)集隨機劃分為標記節(jié)點和未標記節(jié)點兩部分,其中:標記節(jié)點全部用于訓練(占比10%);在未標記的節(jié)點中,一部分用于測試(占比80%),另一部分用于驗證(占比10%)。
表2 數(shù)據(jù)集統(tǒng)計特征Tab.2 Statistical characteristics of datasets
本章每輪實驗均進行10 次并記錄平均值,使用模型的分類準確率作為評價指標,評估防御方法的有效性主要對比2 項內(nèi)容:
1)在原始圖上,需要保持GCN 原模型的性能;
2)在擾動圖上,盡可能地提高對對抗性攻擊的防御效果。
3.1.3 攻擊方法
本實驗采用經(jīng)典的對抗性攻擊算法:Metattack 算法[18]和DICE(Delete Internally,Connect Externally)啟發(fā)式算法[31],攻擊方法對圖卷積網(wǎng)絡(luò)的連邊進行擾動,將擾動連邊數(shù)與連邊總數(shù)的比值稱作擾動比例。下面對這兩種攻擊算法進行簡要介紹:
1)Metattack 攻擊使用元學習中的元梯度方法解決投毒攻擊的雙層優(yōu)化問題,先計算元梯度以指導攻擊行為,之后采用貪婪算法對鄰接矩陣遍歷擾動以實現(xiàn)攻擊。
2)DICE 啟發(fā)式算法則根據(jù)“從同類節(jié)點中刪除連邊,在不同類節(jié)點間增加連邊”這一規(guī)則,利用啟發(fā)式算法,刪除部分連邊,隨后通過添加連邊恢復其影響力。
3.2.1 防御模型構(gòu)建
本文的防御方法ISVDatt 在SVD 的基礎(chǔ)上增加了刪除特征差異較大連邊的操作,使圖同時保持低秩性和特征平滑性,因此防御模型主要由刪除特征差異較大連邊、奇異值分解和低秩近似兩部分組成,按照操作順序不同分別建模如下:
1)先進行奇異值分解和低秩近似,再刪除特征差異較大連邊,模型記為ISVD_0。
2)先刪除特征差異較大連邊,再進行奇異值分解和低秩近似,即本文方法,模型記為ISVDatt。
以Cora 數(shù)據(jù)集為例(其他數(shù)據(jù)集上均能得到相似結(jié)果),分別在原始圖和擾動圖上進行實驗,擾動圖選擇Metattack 攻擊5%至25%的連邊,節(jié)點特征相似度閾值τ和低秩近似后的矩陣秩k分別取為0.05 和10。分別記錄不采用防御方法(GCN)和采用ISVD_0 與ISVDatt 的2 種防御模型后的分類準確率,結(jié)果如表3 所示。
表3 不同模型配置在Cora數(shù)據(jù)集上的分類準確率Tab.3 Classification accuracy of different models under different settings on Cora dataset
如表3 所示,對于原始圖(擾動比例為0),采用模型ISVDatt 和ISVD_0 后,分類準確率均下降,ISVD_0 下降幅度較大,ISVDatt 幅度較小,說明這2 種模型對于未受干擾的原始圖的性能均有影響,但ISVDatt 模型對原始圖影響較小。對于Metattack 攻擊下的擾動圖,采取ISVDatt 模型防御后,分類準確率提升明顯,達到了一定的防御效果;而采用ISVD_0模型后,在擾動比例較小時,模型的分類準確率不升反降,擾動比例為20%時,才有所提升,但幅度較小。綜上,ISVD_0模型防御效果不如ISVDatt。究其原因,ISVD_0 模型先采用奇異值分解和低秩近似,后刪除特征差異較大連邊,奇異值分解和低秩近似本質(zhì)是對鄰接矩陣進行降秩,對其蘊含的連邊信息進行了壓縮處理,常應(yīng)用于圖像處理方面,然而圖數(shù)據(jù)的節(jié)點之間存在聯(lián)系,該操作會在一定程度上破壞節(jié)點的連邊情況,處理后的鄰接矩陣未必能反映原圖真實的連接情況,影響下步操作中杰卡德相似系數(shù)對特征差異較大連邊的判定,導致刪除連邊操作隨機性較大。因此ISVD_0 模型防御效果較差。
反觀ISVDatt 模型,先采用刪除特征差異較大連邊操作,該操作過濾明顯的可疑連邊,幾乎不會誤刪正常連邊,為下一步操作作了鋪墊,提高了奇異值分解的準確性,取得了更好的防御效果。故最終本文提出的防御方法采取先刪除特征差異較大連邊、后奇異值分解的模型框架(如圖1 所示)。
3.2.2 防御參數(shù)選擇
本文防御方法的性能與參數(shù)設(shè)置相關(guān),防御過程主要由刪除特征差異較大連邊與奇異值分解與低秩近似2 個階段組成,這2 階段的關(guān)鍵參數(shù)(即節(jié)點特征相似度閾值τ和低秩近似后的矩陣秩k)具有一定實際意義,其中節(jié)點特征相似度閾值τ決定刪除連邊的數(shù)量,凈化后矩陣秩k則衡量低秩近似的程度。本節(jié)對ISVDatt 的這2 個階段的關(guān)鍵參數(shù)設(shè)置進行分析。通過控制變量法,以Cora 數(shù)據(jù)集為例進行實驗。
本節(jié)實驗分別在擾動圖和原始圖上分別進行測試,其中擾動圖選擇Metattack 攻擊方法擾動10%的連邊。節(jié)點特征相似度閾值τ設(shè)置為:0~0.25,步長為0.05;低秩近似后的矩陣秩k設(shè)置為5~25,步長為5。結(jié)果如表4 所示。
由表4 可知,隨著節(jié)點特征相似度閾值τ增大,刪除連邊增多,同時對原始圖的影響也增大;凈化后矩陣秩k若過大則過濾污染數(shù)據(jù)較少,若k過小則對原始圖影響較大。為提高模型的分類準確率,參數(shù)需要選擇合適的值。根據(jù)上圖結(jié)果,綜合考慮參數(shù)變化在擾動圖和原始圖上的影響,力求在擾動圖上獲得較好的防御效果和對原始圖影響較小,最終設(shè)置τ為0.05,k為10,可以在保持原矩陣特性的基礎(chǔ)上消除大部分擾動數(shù)據(jù)。
為了驗證ISVDatt 的有效性,本文將它與針對GCN 投毒攻擊的其他三種防御方法進行比較,分別為:
1)Pro_GNN[24]:按照圖的特性,從受擾動的圖和模型參數(shù)中學習原始圖拓撲結(jié)構(gòu)和魯棒性,迭代地重構(gòu)1 個新圖以防御對抗性攻擊。
2)RGCN[23]:利用高斯分布對擾動的容忍性,將圖卷積層的隱層節(jié)點表示為高斯分布以吸收對抗攻擊帶來的影響;此外還利用方差為鄰居節(jié)點分配注意力權(quán)重,具有高方差的節(jié)點將受到懲罰。
3)SVD[14]:將受擾動的圖進行SVD,低秩近似對圖數(shù)據(jù)重組。
3.3.1 在原始圖上的分類性能
本節(jié)在GCN 模型上對各防御方法進行測試,結(jié)果如表5所示。由表5 可知,在未受擾動的原始圖上采用以上4 種防御方法后,模型的分類準確率變化較小,仍能保持原本的性能。
表5 不同防御方法在原始圖上的分類準確率Tab.5 Classification accuracy of different defense methods on original graph
3.3.2 在擾動圖上的分類性能
本節(jié)分別采用了Metattack 和DICE 對GCN 進行攻擊,擾動比例從0 增至25%,分別記錄不采用防御方法和采用防御方法后模型的節(jié)點分類準確率。實驗的結(jié)果如表6 所示。由表6 實驗結(jié)果可知,相較于RGCN 和SVD,本文提出的ISVDatt 多數(shù)情況下分類準確率更高,具有更好的防御效果。原因是RGCN 采用高斯分布作為GCN 層間節(jié)點的潛在表示,因此當圖中具有較多擾動邊時防御性能不佳;SVD 對圖進行了簡單的凈化處理,具有局限性,比如在DICE 攻擊下,SVD防御效果較差,原因是DICE 攻擊具有較高的隨機性,SVD 操作過于簡單,因此防御效果一般;ISVDatt 在SVD 基礎(chǔ)上增加了刪除特征差異較大連邊的操作,進一步凈化污染數(shù)據(jù),提高了模型應(yīng)對對抗性攻擊的魯棒性。但ISVDatt 防御性能不如Pro_GNN,因為Pro_GNN 方法將圖視作超參數(shù),反復迭代調(diào)優(yōu)。盡管Pro_GNN 具有較好的防御效果,但需要同時滿足圖的多項特性指標,模型性能對超參數(shù)的改進較為敏感,計算過程較復雜,計算資源消耗較大;而ISVDatt 相較于Pro_GNN 復雜度較低,時間開銷可以忽略不計,在3 個數(shù)據(jù)集的GCN 模型上啟用防御僅使訓練運行時間增加了不到20 s。綜合考慮到時間成本和運算復雜度,ISVDatt 比Pro_GNN 更具優(yōu)勢。ISVDatt 作為一種對擾動圖進行凈化的方法,可以應(yīng)用于多種場景,具有較高的防御通用性。
表6 Metattack和DICE攻擊下的分類準確率Tab.6 Classification accuracies under Metattack and DICE attacks
圖對抗性攻擊傾向于在特征明顯不同的節(jié)點之間添加連邊,以破壞圖的稀疏性和特征平滑性等特性。根據(jù)該結(jié)論,本文提出了一種改進的基于奇異值分解的圖卷積網(wǎng)絡(luò)防御方法ISVDatt。該方法可以在模型遭受投毒攻擊后對中毒數(shù)據(jù)進行預(yù)處理,達到數(shù)據(jù)凈化的效果,從而提高GCN 模型應(yīng)對對抗性攻擊的魯棒性。本文在圖深度學習常用的3 個開源數(shù)據(jù)集Citeseer、Cora 和Pubmed 上進行大量實驗,驗證了本方法具有較好的防御效果。但是在實驗中發(fā)現(xiàn),該方法對訓練數(shù)據(jù)進行了凈化處理,改變了圖結(jié)構(gòu),在未受投毒攻擊的原始圖上采取該防御方法會略微降低GCN 模型的分類準確率。因此在未來的工作中,我們將致力于改善運用本方法在原始圖上的性能,并進一步降低對抗性攻擊帶來的影響,提高GCN 模型應(yīng)對對抗性攻擊的防御能力。