李鵬輝,翟正利,馮 舒
青島理工大學(xué) 信息與控制工程學(xué)院,山東 青島 266525
在現(xiàn)實(shí)系統(tǒng)中,從基因序列到社交網(wǎng)絡(luò)、從化學(xué)分子到通信網(wǎng)絡(luò)都可以被抽象為圖數(shù)據(jù),因此對(duì)于圖數(shù)據(jù)的研究一直受到廣泛的關(guān)注。圖神經(jīng)網(wǎng)絡(luò)(graph neural networks,GNN)[1-3]由于同時(shí)考慮了圖中節(jié)點(diǎn)的屬性信息和節(jié)點(diǎn)間的拓?fù)湫畔?,?duì)于描述圖數(shù)據(jù)中節(jié)點(diǎn)間的關(guān)聯(lián)性存在天然的優(yōu)勢,在節(jié)點(diǎn)分類[4]、鏈路預(yù)測[5]、社團(tuán)探測[6]等領(lǐng)域表現(xiàn)出優(yōu)于其他方法的效果,在實(shí)踐中也得到了大規(guī)模的部署應(yīng)用[7]。
盡管GNN 在圖建模任務(wù)中表現(xiàn)出色,但與其他深度學(xué)習(xí)一樣,易受到微小擾動(dòng)的誤導(dǎo)而致使模型的性能嚴(yán)重下降[8-9],僅通過添加或刪除少量的節(jié)點(diǎn)或邊就能夠使模型產(chǎn)生完全錯(cuò)誤的結(jié)果。具體而言,圖對(duì)抗攻擊是指通過在圖中添加微小擾動(dòng)(通常擾動(dòng)量限制在一定的預(yù)算范圍內(nèi))來降低模型性能。按照攻擊算法在圖中添加擾動(dòng)的不同階段,攻擊算法可以分為“逃逸攻擊”和“投毒攻擊”兩類,其中逃逸攻擊指攻擊者構(gòu)造對(duì)抗樣本在模型測試階段欺騙目標(biāo)模型,而投毒攻擊指攻擊者在模型訓(xùn)練階段向訓(xùn)練集中注入對(duì)抗樣本使得訓(xùn)練后的模型具有誤導(dǎo)性;也可以根據(jù)攻擊目標(biāo)的不同將攻擊算法分為“定向攻擊”和“非定向攻擊”,定向攻擊的攻擊目標(biāo)是預(yù)先設(shè)定的,而非定向攻擊只需要令攻擊后的模型產(chǎn)生錯(cuò)誤的預(yù)測結(jié)果。
經(jīng)典圖對(duì)抗攻擊算法主要包括:Nettack[10]是對(duì)屬性圖進(jìn)行攻擊的算法,其利用圖卷積網(wǎng)絡(luò)(graph convolutional network,GCN)的梯度信息修改圖數(shù)據(jù),使得目標(biāo)節(jié)點(diǎn)被錯(cuò)誤分類為指定類別;metattack[11]利用元學(xué)習(xí)將圖作為優(yōu)化目標(biāo)產(chǎn)生用于攻擊的圖數(shù)據(jù);RL-S2V[12]將強(qiáng)化學(xué)習(xí)引入圖對(duì)抗攻擊,把攻擊過程抽象為馬爾可夫決策過程(Markov decision process,MDP);Q-Attack[13]是一種利用遺傳算法攻擊鏈路預(yù)測模型的攻擊方法。以上攻擊算法已經(jīng)成為多數(shù)防御算法評(píng)估防御性能的基準(zhǔn),圖對(duì)抗攻擊引發(fā)的安全性擔(dān)憂阻礙了GNN 在更廣泛領(lǐng)域的應(yīng)用。
雖然深度學(xué)習(xí)模型的高精確性和高效性近年來在各個(gè)領(lǐng)域都發(fā)揮出令人矚目的表現(xiàn),但為了使GNN 模型在遭受對(duì)抗攻擊的情況下,仍然能夠得到正確的結(jié)果,增強(qiáng)模型的魯棒性已經(jīng)成為深度學(xué)習(xí)充分發(fā)揮潛力的另一個(gè)關(guān)鍵點(diǎn),因此對(duì)于圖對(duì)抗防御算法的研究亟待更多的關(guān)注。
深入研究圖對(duì)抗防御理論,設(shè)計(jì)出行之有效的防御策略,不僅可以增強(qiáng)GNN 模型在受到攻擊時(shí)的魯棒性,同時(shí)對(duì)于提高模型的可解釋性和泛化能力也有著重要的推動(dòng)作用。本文介紹了圖對(duì)抗防御的基本概念及研究進(jìn)展,根據(jù)防御算法的不同防御策略將其分為攻擊檢測、對(duì)抗訓(xùn)練、可認(rèn)證魯棒性和免疫防御四類,并系統(tǒng)地介紹和對(duì)比了不同算法采用的防御方法、目標(biāo)任務(wù)及其優(yōu)缺點(diǎn)等;最后對(duì)防御模型進(jìn)行總結(jié),探討圖對(duì)抗防御面臨的挑戰(zhàn)并對(duì)未來的研究方向進(jìn)行展望。
圖是一種關(guān)系型數(shù)據(jù)結(jié)構(gòu),本文使用G=(V,E)表示包含節(jié)點(diǎn)集合V={v1,v2,…,vN}和邊集合E={e1,e2,…,eM}的圖,其中N和M分別表示圖中節(jié)點(diǎn)和邊的數(shù)量;圖中節(jié)點(diǎn)間的連接使用鄰接矩陣A∈RN×N表示,當(dāng)節(jié)點(diǎn)vi和vj之間存在邊的連接時(shí)Aij=1,否則Aij=0;使用特征矩陣X∈RN×d表示圖中節(jié)點(diǎn)的特征或?qū)傩?,如果將其表示為向量形式X=[X1,X2,…,XN],則其中每個(gè)元素Xi∈Rd表示節(jié)點(diǎn)vi的d維特征向量。
在圖對(duì)抗學(xué)習(xí)領(lǐng)域,通常將未被攻擊的圖數(shù)據(jù)稱為原始圖,而采用某種攻擊算法后被成功攻擊的圖稱為對(duì)抗樣本或擾動(dòng)圖G′。攻擊算法添加或刪除的邊稱為擾動(dòng)邊,修改圖中的邊等價(jià)于改變了圖的鄰接矩陣,擾動(dòng)圖的鄰接矩陣表示為A′,改變鄰接矩陣的攻擊算法也稱為拓?fù)涔?;而如果攻擊算法修改了圖的特征矩陣,則擾動(dòng)圖中的特征矩陣使用X′表示,改變特征矩陣的攻擊算法也稱為特征攻擊,fθ表示參數(shù)為θ的GNN 模型,本文常用符號(hào)及其含義在表1 中列出。
隨著圖對(duì)抗攻擊引發(fā)的擔(dān)憂,提高GNN 的魯棒性顯得愈加重要,圖對(duì)抗防御工作已經(jīng)開始得到關(guān)注和研究,縱觀現(xiàn)有圖對(duì)抗防御相關(guān)文獻(xiàn),可以總結(jié)定義圖對(duì)抗防御如下:
Table 1 Symbols and descriptions表1 符號(hào)及含義
圖對(duì)抗防御是指通過一定的策略,使GNN 模型即使受到對(duì)抗攻擊,依舊能夠得到正確的輸出結(jié)果,從而保證模型魯棒性:
其中,fθ*表示具有防御策略的模型,表示GNN 的輸入可以是擾動(dòng)圖也可以是原始圖。
當(dāng)前,圖對(duì)抗攻擊算法可以分為逃逸攻擊和投毒攻擊[10],已經(jīng)研究出多種防御算法用于提高GNN模型的魯棒性。針對(duì)逃逸攻擊,增強(qiáng)GNN 魯棒性的方法主要包括攻擊檢測和對(duì)抗訓(xùn)練,其中攻擊檢測通過檢測并消除圖數(shù)據(jù)中的惡意節(jié)點(diǎn)和邊,從而恢復(fù)近似原始圖的數(shù)據(jù)來提高GNN 模型的魯棒性[14-20];對(duì)抗訓(xùn)練則是通過在訓(xùn)練數(shù)據(jù)集中添加擾動(dòng)樣本進(jìn)行訓(xùn)練以增強(qiáng)模型的泛化能力[21-23];除此之外,也有部分算法從其他角度出發(fā),通過驗(yàn)證GNN 或節(jié)點(diǎn)的魯棒性來了解圖數(shù)據(jù)的攻擊容忍度,此類算法稱為可認(rèn)證魯棒性[24-26],但是這類方法并沒有直接提高GNN 的魯棒性。
而針對(duì)投毒攻擊,目前多數(shù)防御算法采用修改模型的策略,具體而言包括在模型中添加注意力機(jī)制懲罰擾動(dòng)節(jié)點(diǎn)和邊的權(quán)重以區(qū)分惡意邊和節(jié)點(diǎn)與正常邊和節(jié)點(diǎn)[27-28],修改模型架構(gòu)以獲取更強(qiáng)的魯棒性[29-31],修改圖卷積算子取代GNN 模型中的經(jīng)典拉普拉斯算子[32]等;也有部分算法利用凈化數(shù)據(jù)的策略提高模型性能[33],由于投毒攻擊將擾動(dòng)樣本添加到訓(xùn)練數(shù)據(jù)中,凈化數(shù)據(jù)方法首先修改訓(xùn)練數(shù)據(jù)消除訓(xùn)練數(shù)據(jù)集中對(duì)抗樣本的影響,然后在凈化后的數(shù)據(jù)集上訓(xùn)練GNN 模型。這幾種策略由于可以防御針對(duì)模型訓(xùn)練階段的攻擊,統(tǒng)稱為免疫防御。
綜上,根據(jù)現(xiàn)有模型采用的不同防御策略,將圖對(duì)抗防御分為算法攻擊檢測、對(duì)抗訓(xùn)練、可認(rèn)證魯棒性和免疫防御四類,如圖1 所示。
Fig.1 Classification of graph adversarial defense algorithms圖1 圖對(duì)抗防御算法分類
攻擊檢測通過在模型中添加獨(dú)立檢測器[14-17]或集成檢測器[18-20]來檢測輸入的測試圖中是否含有對(duì)抗性擾動(dòng)。攻擊檢測方法的比較如表2 所示。
Zhang 等[17]深入研究了隨機(jī)攻擊與Nettack 對(duì)圖深度學(xué)習(xí)模型的影響,提出針對(duì)Nettack 攻擊的檢測器。GraphSAC[19]是一種通過隨機(jī)子圖抽樣和共識(shí)機(jī)制來檢測大規(guī)模圖中異常節(jié)點(diǎn)的算法,通過限制隨機(jī)抽樣的次數(shù)來保證算法的高效性。
攻擊檢測可以針對(duì)不同應(yīng)用特點(diǎn),對(duì)檢測策略進(jìn)行特定設(shè)計(jì)。Pezeshkpour 等[34]分析了應(yīng)用于知識(shí)圖譜鏈路預(yù)測模型的魯棒性和可解釋性,基于梯度算法識(shí)別知識(shí)圖譜中改變目標(biāo)預(yù)測的“擾動(dòng)事實(shí)”,同時(shí)為了提高算法的效率,構(gòu)造解碼器還原知識(shí)圖譜嵌入的拓?fù)湫畔⒑吞卣餍畔ⅰ榱藱z測系統(tǒng)中注入的惡意軟件,Hou 等[18]研究了針對(duì)惡意軟件檢測系統(tǒng)的對(duì)抗攻擊的特征。在社交網(wǎng)絡(luò)中,與檢測長期存在的虛假用戶[35]不同,SybilEdge[16]通過利用新用戶與其他用戶之間的交互來檢測其是否為虛假用戶。
Table 2 Comparison of attack detection methods表2 攻擊檢測方法比較
而在推薦系統(tǒng)中,為了防御潛在對(duì)抗攻擊的威脅,F(xiàn)ang等[14]設(shè)計(jì)了基于用戶行為進(jìn)行檢測的二元分類器來阻止虛假用戶的干擾;Zhang 等提出的GraphRFI[20]是由GCN 和神經(jīng)隨機(jī)森林組成的端到端系統(tǒng),其中GCN 模塊利用用戶信息和評(píng)價(jià)信息來捕獲用戶的愛好信息,隨機(jī)森林模塊用于檢測惡意用戶。
對(duì)抗訓(xùn)練本質(zhì)上是一種對(duì)模型進(jìn)行正則化的方法,通過將動(dòng)態(tài)生成的對(duì)抗樣本添加到訓(xùn)練集中,使訓(xùn)練后的模型具有更強(qiáng)大的魯棒性和泛化能力,優(yōu)化目標(biāo)可以表述為:
其中,Φε表示擾動(dòng)空間,可以將上述min-max問題表述為最小化含有最佳擾動(dòng)效果的對(duì)抗樣本的預(yù)測損失。
Feng 等[21]通過實(shí)驗(yàn)證明了對(duì)抗訓(xùn)練本質(zhì)上是降低了連接節(jié)點(diǎn)間的差異。與全局正則化的對(duì)抗訓(xùn)練方法[36]不同,Dai 等[37]采用局部正則化來提高圖嵌入模型的泛化能力,同時(shí)還通過限制嵌入的擾動(dòng)方向來提供可解釋性;文獻(xiàn)[26,38-40]從多個(gè)角度研究了拓?fù)涔?,并提出了在輸入層注入擾動(dòng)進(jìn)行對(duì)抗訓(xùn)練的其他幾種變體。
與添加離散空間擾動(dòng)[12,39-40]進(jìn)行對(duì)抗訓(xùn)練不同,Wang 等[22]提出通過添加連續(xù)空間的擾動(dòng)來獲得對(duì)抗樣本用于對(duì)抗訓(xùn)練,并且證明了擾動(dòng)特征矩陣和擾動(dòng)鄰接矩陣進(jìn)行對(duì)抗訓(xùn)練的效果是等價(jià)的;LATGCN(latent adversarial training GCN)[23]通過對(duì)模型第一隱藏層的輸出添加連續(xù)擾動(dòng)進(jìn)行對(duì)抗訓(xùn)練:
其中,H1表示模型第一隱藏層的輸出,δ∈D表示擾動(dòng)是在連續(xù)空間進(jìn)行的,可以同時(shí)進(jìn)行特征擾動(dòng)和結(jié)構(gòu)擾動(dòng)。圖2顯示了對(duì)抗訓(xùn)練中注入擾動(dòng)的不同方式。
Fig.2 Different methods of injecting perturbations in adversarial training圖2 對(duì)抗訓(xùn)練中注入擾動(dòng)的不同方式
Sun 等[41]和Feng 等[21]將虛擬對(duì)抗訓(xùn)練引入GCN中用于半監(jiān)督節(jié)點(diǎn)分類,提高GNN 分類器的平滑度,從而增強(qiáng)模型的泛化性能。Deng 等[42]認(rèn)為直接將虛擬對(duì)抗訓(xùn)練用于圖數(shù)據(jù),會(huì)導(dǎo)致對(duì)某一節(jié)點(diǎn)產(chǎn)生的全局?jǐn)_動(dòng)并非最壞情況下的虛擬對(duì)抗擾動(dòng),降低虛擬對(duì)抗訓(xùn)練的效果。為了解決這一問題,提出了批虛擬對(duì)抗訓(xùn)練(batch virtual adversarial training,BVAT),其利用隨機(jī)采樣彼此距離較遠(yuǎn)的節(jié)點(diǎn)子集或設(shè)計(jì)更有效的優(yōu)化算法獲得虛擬對(duì)抗擾動(dòng),從而平滑分類器模型的輸出。對(duì)抗訓(xùn)練防御算法的比較如表3所示。
在鏈路預(yù)測問題中,Zhou 等[43]將攻擊與防御問題建模為Bayesian Stackelberg 博弈,其中防御者選擇要保證預(yù)測準(zhǔn)確性的目標(biāo)鏈路集,攻擊者則刪除圖中邊集合的子集;Minervini等[44]將訓(xùn)練目標(biāo)定義為零和博弈問題,其中鏈路預(yù)測模型目標(biāo)為最小化包含對(duì)抗樣本數(shù)據(jù)集上的預(yù)測損失和不一致性損失,而攻擊者則通過改變輸入集最大化不一致性損失。
可認(rèn)證魯棒性并不針對(duì)特定攻擊方法,而是對(duì)不同學(xué)習(xí)模型計(jì)算輸入圖數(shù)據(jù)最壞情況下的攻擊容忍度。
在計(jì)算機(jī)視覺領(lǐng)域,可認(rèn)證魯棒性已經(jīng)得到了深入的研究[45],Zügner 等[24]首次在圖數(shù)據(jù)建模中進(jìn)行了可認(rèn)證魯棒性的數(shù)學(xué)驗(yàn)證。節(jié)點(diǎn)上的可認(rèn)證魯棒性表示在所有允許的攻擊下模型關(guān)于節(jié)點(diǎn)t的預(yù)測都不會(huì)改變,具體而講,其目標(biāo)是為節(jié)點(diǎn)t提供一個(gè)魯棒性證書,該證書可以確保在任何允許的擾動(dòng)下模型對(duì)于該節(jié)點(diǎn)的預(yù)測都是可靠的。為了實(shí)現(xiàn)這一目標(biāo),需要驗(yàn)證是否存在可以改變目標(biāo)節(jié)點(diǎn)t的允許擾動(dòng)X′,假定節(jié)點(diǎn)t的類別為y*,最壞情況裕度定義為:
Table 3 Comparison of adversarial training methods表3 對(duì)抗訓(xùn)練方法比較
其中,X 表示所有允許的節(jié)點(diǎn)特征擾動(dòng)集合,當(dāng)對(duì)于任何y≠y*,都有ht(y*,y)>0,則此模型fθ關(guān)于節(jié)點(diǎn)t和X 具有可認(rèn)證魯棒性。換句話說,在定義的擾動(dòng)內(nèi),不存在改變模型預(yù)測類別的對(duì)抗樣本。
與針對(duì)節(jié)點(diǎn)特征擾動(dòng)提供魯棒性證書[24-25]不同,Bojchevski等[26]對(duì)拓?fù)涔粝碌目烧J(rèn)證魯棒性進(jìn)行了研究,同時(shí)擾動(dòng)需要滿足全局和局部預(yù)算,全局預(yù)算限制擾動(dòng)邊的總數(shù)量,局部預(yù)算限制單個(gè)節(jié)點(diǎn)上的擾動(dòng)邊的數(shù)量,最壞情況裕度可以通過簡單修改式得到,將尋找最壞情況下的對(duì)抗樣本過程建模為MDP,其中圖中每個(gè)節(jié)點(diǎn)對(duì)應(yīng)一個(gè)狀態(tài),動(dòng)作定義為選擇包含容易被成功攻擊的邊的集合,獎(jiǎng)勵(lì)函數(shù)設(shè)計(jì)為:
Bojchevski 等[46]同時(shí)考慮了拓?fù)涔艉吞卣鞴?,提出了基于隨機(jī)平滑的離散數(shù)據(jù)稀疏性感知認(rèn)證,并且魯棒性證書的計(jì)算復(fù)雜度與輸入圖數(shù)據(jù)的大小無關(guān),從而提高了可認(rèn)證魯棒性防御方法的可擴(kuò)展性。除了GNN 的節(jié)點(diǎn)分類任務(wù)外,Jia 等[47]提出了針對(duì)社團(tuán)探測任務(wù)的可認(rèn)證魯棒性算法以防御拓?fù)涔???烧J(rèn)證魯棒性防御算法的比較如表4 所示。
以上三類防御策略都是針對(duì)逃逸攻擊設(shè)計(jì)的,而免疫防御是一類防御投毒攻擊的策略,通過刪除訓(xùn)練圖中的擾動(dòng)、修改模型結(jié)構(gòu)或添加注意力機(jī)制等達(dá)到防御目的。免疫防御算法的比較如表5 所示。
Wu 等[48]基于觀察到攻擊的特征:(1)修改邊的有效性高于修改特征,且增加邊的攻擊性高于刪除邊;(2)度越高的節(jié)點(diǎn)攻擊難度越大;(3)攻擊傾向于在目標(biāo)節(jié)點(diǎn)和具有不同特征和標(biāo)簽的節(jié)點(diǎn)間構(gòu)建連接。提出在訓(xùn)練前刪除圖中相似度較低的節(jié)點(diǎn)間的邊,在有效提高GCN 魯棒性的同時(shí)幾乎不會(huì)增加模型的訓(xùn)練時(shí)間。
針對(duì)Nettack 攻擊模型,Entezari 等[49]研究了其攻擊特性,表明Nettack 生成的不易察覺的擾動(dòng)會(huì)改變鄰接矩陣的小奇異值,因此通過奇異值分解得到鄰接矩陣和特征矩陣的低秩近似用于訓(xùn)練GCN;Miller等[50]提出了修改分類器和改變訓(xùn)練集兩種方法防御Nettack 攻擊。Jin 等[33]通過研究Nettack 和Metattack攻擊,發(fā)現(xiàn)攻擊破壞了原始圖的低秩、稀疏性和特征平滑度,因此提出Pro-GNN 同時(shí)學(xué)習(xí)原始圖拓?fù)浣Y(jié)構(gòu)和魯棒性的GNN 模型,其模型架構(gòu)如圖3 所示。
Table 4 Comparison of robustness certification methods表4 可認(rèn)證魯棒性方法比較
Table 5 Comparison of immunologic defense methods表5 免疫防御方法比較
Fig.3 Framework of Pro-GNN圖3 Pro-GNN 架構(gòu)
PTDNet[51]通過參數(shù)化網(wǎng)絡(luò)過濾掉與任務(wù)無關(guān)的邊,限制了輸入圖中邊的數(shù)量,同時(shí)應(yīng)用正則化方法對(duì)得到的稀疏圖施加低秩約束,避免擾動(dòng)在GNN 中的聚集與傳遞。
GNNGUARD[29]通過修改圖神經(jīng)網(wǎng)絡(luò)的消息傳遞結(jié)構(gòu)使模型能夠防御對(duì)抗攻擊,利用重要性估計(jì)動(dòng)態(tài)調(diào)整節(jié)點(diǎn)局部鄰域的相關(guān)性,對(duì)于可能的擾動(dòng)邊,將其丟棄或分配較低的權(quán)重,利用分層圖存儲(chǔ)器保存圖神經(jīng)網(wǎng)絡(luò)每層的前一層網(wǎng)絡(luò)信息。DefNet[30]利用雙層聚合和瓶頸感知器來解決GNN 中聚合層和感知層的漏洞,其中雙層聚合借鑒了DenseNet[31]架構(gòu)聚合來自不同階的鄰居信息,瓶頸感知器利用神經(jīng)網(wǎng)絡(luò)模型的脆弱性隨著輸入數(shù)據(jù)維度的增加而增加這一事實(shí)將輸入數(shù)據(jù)映射到低維空間,同時(shí)為了防止在訓(xùn)練集中生成無效的對(duì)抗樣本導(dǎo)致模型受攻擊時(shí)魯棒性被削弱,利用條件GAN 進(jìn)行對(duì)比學(xué)習(xí)解決訓(xùn)練數(shù)據(jù)集較少的問題,DefNet 的架構(gòu)如圖4。文獻(xiàn)[52-53]對(duì)于GCN 聚合層中存在的漏洞進(jìn)行了深入研究,并提出了不同的聚合函數(shù),用來解決現(xiàn)有GCN 使用求和函數(shù)作為聚合函數(shù)容易被惡意構(gòu)造的單個(gè)異常值擾亂消息傳遞的問題。
Fig.4 Framework of DefNet圖4 DefNet架構(gòu)
RGCN(robust graph convolutional networks)[27]是用于增強(qiáng)GCN 魯棒性的模型,由于受攻擊節(jié)點(diǎn)在傳播其影響時(shí)通常其方差較大而權(quán)重較小,將隱藏層中的輸出表示為高斯分布會(huì)吸收擾動(dòng)圖中高斯分布方差的變化:
其中,γ是超參數(shù),表示第l層中節(jié)點(diǎn)vi的注意力權(quán)重,根據(jù)卷積運(yùn)算中節(jié)點(diǎn)鄰域的方差為節(jié)點(diǎn)鄰域分配不同的權(quán)重。
PA-GNN(penalized aggregation GNN)[28]首先利用Metattack[11]在圖中注入擾動(dòng)邊,然后使用獲得的擾動(dòng)圖訓(xùn)練具有懲罰性聚合機(jī)制的模型,懲罰性聚合機(jī)制通過分配低注意力系數(shù)限制擾動(dòng)邊對(duì)模型的影響。通過元學(xué)習(xí)將這種懲罰機(jī)制轉(zhuǎn)移到目標(biāo)擾動(dòng)圖,構(gòu)造M個(gè)初始狀態(tài)不同的模型,通過目標(biāo)函數(shù)進(jìn)行元優(yōu)化:
其中,α表示學(xué)習(xí)率,通過隨機(jī)梯度下降更新模型參數(shù)θ,經(jīng)過元優(yōu)化,PA-GNN 成功地利用對(duì)抗樣本進(jìn)行訓(xùn)練來懲罰擾動(dòng),并可以轉(zhuǎn)移懲罰目標(biāo)圖數(shù)據(jù)中的不同擾動(dòng),從而提高魯棒性。
除了從架構(gòu)上修改模型外,Jin 等[32]認(rèn)為經(jīng)典的圖拉普拉斯算子能夠聚合的鄰域信息有限,因此提出了可變冪算子來增強(qiáng)GCN 的表達(dá)能力,r階可變冪算子定義如下:
其中,A[k]表示k階鄰接矩陣,當(dāng)且僅當(dāng)原始圖中節(jié)點(diǎn)vi和vi間的最短距離為k時(shí)=1,參數(shù)θk表示全局影響因子,當(dāng)冪r>1 時(shí)可以在卷積操作中增加鄰域信息聚合的范圍。
針對(duì)鏈路預(yù)測問題中存在的隱私泄露問題,Yu等[54]利用啟發(fā)算法和遺傳算法來保護(hù)目標(biāo)隱私鏈接不被泄露,對(duì)于大規(guī)模圖算法的效率不高;相反,Lim等[55]通過強(qiáng)化學(xué)習(xí)重建被惡意隱藏的鏈接。
縱觀現(xiàn)有圖對(duì)抗防御算法,大部分算法是針對(duì)節(jié)點(diǎn)分類任務(wù)的防御,在鏈路級(jí)別和圖級(jí)別任務(wù)上的對(duì)抗防御研究仍寥寥無幾,缺乏在動(dòng)態(tài)圖和異構(gòu)圖上防御機(jī)制的研究,且只有少數(shù)算法考慮大規(guī)模圖上的擴(kuò)展性[20,26]。
與針對(duì)特定攻擊算法進(jìn)行防御的研究[17,50]相比,獨(dú)立于特定攻擊算法設(shè)計(jì)的防御模型[32,37,40,43]具有更加廣泛的適用性。多數(shù)防御算法,當(dāng)測試圖數(shù)據(jù)未被攻擊時(shí),模型的性能反而不如原始模型,即以犧牲模型性能的方式換取魯棒性,只有少數(shù)算法考慮了此缺陷[26,30,32,42],因此亟待設(shè)計(jì)更多不會(huì)將降低模型性能作為提高魯棒性的代價(jià)的算法,同時(shí)提高在原始圖和擾動(dòng)圖上的模型性能。已經(jīng)有研究考慮理論上對(duì)模型的魯棒性進(jìn)行證明[24-25,32,56],但是魯棒性認(rèn)證只是節(jié)點(diǎn)魯棒性的評(píng)估方法,下一步應(yīng)當(dāng)研究提高GNN 可認(rèn)證魯棒性[57];或者提出多角度評(píng)估標(biāo)準(zhǔn)度量模型的魯棒性[58];但是大多數(shù)防御算法仍然是通過基于原始模型的修改達(dá)到防御效果,這種修改缺乏可解釋性,同時(shí)容易被攻擊者設(shè)計(jì)新的針對(duì)性攻擊。除了在安全性方面,防御算法也應(yīng)當(dāng)關(guān)注數(shù)據(jù)的隱私保護(hù)問題[54,59]。
總體而言,防御算法在多樣性任務(wù)、可擴(kuò)展性、隱私保護(hù)等方面仍存在諸多限制,針對(duì)目前圖對(duì)抗防御存在的問題和挑戰(zhàn),需要在以下方向進(jìn)行重點(diǎn)研究和突破:
(1)理論研究:盡管GNN 已經(jīng)得到了廣泛的應(yīng)用,但是對(duì)于圖濾波器的穩(wěn)定性分析仍然缺乏關(guān)注,這對(duì)于設(shè)計(jì)魯棒的GNN 模型至關(guān)重要,雖然文獻(xiàn)[56]彌補(bǔ)了這一空白,但其嚴(yán)格假設(shè)擾動(dòng)不會(huì)改變節(jié)點(diǎn)的度,對(duì)于更加復(fù)雜的擾動(dòng)下的圖濾波器穩(wěn)定性分析仍然有待研究;同時(shí),GNN 容易受到對(duì)抗攻擊的原因仍沒有得到全面的分析,文獻(xiàn)[52-53,60]指出非魯棒性的聚合函數(shù)導(dǎo)致GCN 在面對(duì)拓?fù)涔魰r(shí)的脆弱性,而更加復(fù)雜攻擊背后的原理有待深入挖掘;最后,當(dāng)前大多數(shù)圖對(duì)抗防御算法僅利用實(shí)驗(yàn)來說明其有效性,或者通過總結(jié)圖對(duì)抗攻擊算法的缺陷設(shè)計(jì)防御模型,而從理論上證明防御算法的有效性仍缺乏深入的研究,若可以從理論上闡述防御算法有效性的依據(jù)[32],將極大地推動(dòng)防御算法在更廣泛的圖分析、學(xué)習(xí)模型中得到應(yīng)用。
(2)可擴(kuò)展性:防御算法的可擴(kuò)展性包含三方面,首先是在動(dòng)態(tài)圖和大規(guī)模圖上的擴(kuò)展性,由于現(xiàn)實(shí)世界的圖通常具有較大規(guī)模且會(huì)隨時(shí)間不斷擴(kuò)大,因此降低算法的時(shí)空復(fù)雜度以提高其可擴(kuò)展性是圖對(duì)抗防御的發(fā)展趨勢;然后是在不同攻擊算法中的可擴(kuò)展性,針對(duì)特定攻擊算法設(shè)計(jì)的防御由于具有更廣泛的攻擊假設(shè),相較于與具體攻擊算法無關(guān)的防御通常具有更高的適用性;最后是在不同任務(wù)中的可擴(kuò)展性,目前防御算法集中于研究在節(jié)點(diǎn)分類任務(wù)中的應(yīng)用,在鏈路預(yù)測、社團(tuán)探測和推薦系統(tǒng)等方面的研究仍然較少,同時(shí)由于多數(shù)防御算法是針對(duì)不同應(yīng)用設(shè)計(jì)的,開發(fā)可應(yīng)用于多種任務(wù)中的防御算法應(yīng)當(dāng)是未來研究工作的重點(diǎn)。
(3)數(shù)據(jù)純化:在現(xiàn)實(shí)世界的圖數(shù)據(jù)中,除了可能受到對(duì)抗攻擊導(dǎo)致圖中拓?fù)浣Y(jié)構(gòu)與特征信息發(fā)生變化外,圖數(shù)據(jù)中的信息也可能因噪聲等原因存在標(biāo)注錯(cuò)誤或缺失的情況[61],隨著GNN 對(duì)鄰域信息的聚合,網(wǎng)絡(luò)將逐漸適應(yīng)這類異常的數(shù)據(jù),導(dǎo)致性能和泛化能力較差,未來的研究可能通過圖對(duì)比學(xué)習(xí)[62]等自監(jiān)督學(xué)習(xí)模型來捕獲圖數(shù)據(jù)中對(duì)任務(wù)影響最主要的信息,移除冗余和異常信息,得到近似純凈的圖數(shù)據(jù)用于下游任務(wù)。
(4)正則化:除了對(duì)抗訓(xùn)練外,其他正則化技術(shù)在防御算法中的應(yīng)用也有待研究。在GNN 模型中施加正則化本質(zhì)上是為了限制擾動(dòng)在網(wǎng)絡(luò)中的傳播,可以通過懲罰梯度,或者強(qiáng)制約束權(quán)重范數(shù)與梯度范數(shù)來實(shí)施正則化;文獻(xiàn)[63]指出對(duì)抗性攻擊的存在源于模型對(duì)弱相關(guān)特征的利用,因此可以通過稀疏性減少弱相關(guān)特征的影響達(dá)到類似Dropout 正則化的效果。
(5)隱私保護(hù):隨著GNN 優(yōu)異擬合能力的展現(xiàn),其強(qiáng)大的鄰域聚合能力也向希望獲取節(jié)點(diǎn)敏感屬性的使用者暴露了一些附加的危害,例如社交平臺(tái)可以根據(jù)用戶在社交網(wǎng)絡(luò)中的顯式內(nèi)容進(jìn)行推斷,得到用戶的隱式信息;或者攻擊者也可以根據(jù)用戶信息或者用戶在網(wǎng)絡(luò)中好友的信息獲取目標(biāo)用戶的敏感信息[59]。在隱私保護(hù)日益重要的今天,幫助用戶保護(hù)隱私是研究者應(yīng)該持續(xù)關(guān)注的問題,在保持GNN 模型性能的同時(shí)保護(hù)用戶的敏感信息免受惡意預(yù)測攻擊。
(6)模型魯棒性與泛化能力的權(quán)衡:當(dāng)前的防御算法研究中,多數(shù)更注重實(shí)現(xiàn)模型的魯棒性,而忽略了泛化的影響,針對(duì)目前多數(shù)算法以犧牲模型性能來提高其魯棒性的問題,需要防御算法能夠保證無論模型是否受到攻擊其性能均能得到保持甚至提高,例如設(shè)計(jì)新的損失函數(shù)來訓(xùn)練神經(jīng)網(wǎng)絡(luò),用以同時(shí)提高模型的魯棒性和泛化能力,或者根據(jù)實(shí)際應(yīng)用場景在兩者之間取舍。
圖對(duì)抗防御致力于解決圖對(duì)抗攻擊導(dǎo)致的模型性能下降問題,提高模型的魯棒性和泛化能力,增強(qiáng)GNN 應(yīng)用的安全性。本文首先介紹了圖對(duì)抗防御的研究背景和目的,并通過對(duì)現(xiàn)有相關(guān)文獻(xiàn)的歸納,總結(jié)出圖對(duì)抗防御的統(tǒng)一表述;然后根據(jù)現(xiàn)有防御算法采用的不同類型的防御策略,對(duì)其進(jìn)行分類,分別為攻擊檢測、對(duì)抗訓(xùn)練、可認(rèn)證魯棒性和免疫防御。然后全面、系統(tǒng)地總結(jié)了現(xiàn)有圖對(duì)抗防御算法的核心思想和實(shí)現(xiàn)策略,對(duì)典型算法進(jìn)行了比較分析。最后,從對(duì)抗防御算法的理論證明、可擴(kuò)展性、數(shù)據(jù)純化以及隱私保護(hù)等方面出發(fā),分析了圖對(duì)抗防御領(lǐng)域目前存在的問題以及未來可能的發(fā)展方向。