張玉瀟,杜曉敬,陳慶鋒
(廣西大學(xué) 計算機(jī)與電子信息學(xué)院,南寧 530004)
近年來,作為人類結(jié)構(gòu)化知識的一種形式,知識圖譜(Knowledge Graph,KG)得到越來越多來自學(xué)術(shù)界和工業(yè)界的關(guān)注和研究.知識圖譜最早由谷歌提出,其初衷是為了提升搜索引擎返回答案的質(zhì)量以及用戶查詢的效率.在知識圖譜的輔助下,搜索引擎能夠掌握用戶查詢背后的語義信息,然后返回更為精準(zhǔn)的結(jié)構(gòu)化信息,從而提高用戶的搜索質(zhì)量以及搜索體驗.知識圖譜又被稱作知識庫,能夠?qū)⒒ヂ?lián)網(wǎng)中大量存儲的結(jié)構(gòu)分散、內(nèi)容多元的碎片信息以結(jié)構(gòu)化的方式組織和利用起來.從物理結(jié)構(gòu)上看,知識圖譜是由包括實體、關(guān)系以及它們的語義描述在內(nèi)的事實三元組組成.其中,實體可以是現(xiàn)實世界中的具體對象或者抽象概念,關(guān)系代表兩個實體之間的相互聯(lián)系,語義描述則包含實體和關(guān)系的類型定義和屬性說明.知識圖譜其中知識可以通過事實三元組以(頭實體,關(guān)系,尾實體)形式表示,例如:三元組(史蒂夫.喬布斯,發(fā)明者,iPhone)表示“史蒂夫.喬布斯是iPhone的發(fā)明者”.從組織結(jié)構(gòu)上看,知識圖譜是由節(jié)點-實體和邊-關(guān)系組成的網(wǎng)狀結(jié)構(gòu),可以看作一個有向圖,它的節(jié)點代表頭實體和尾實體,有向連邊代表頭實體和尾實體之間的關(guān)系.正是由于在知識存儲和管理上的優(yōu)點,知識圖譜被廣泛應(yīng)用于聊天機(jī)器人[1]、智能問答系統(tǒng)[2]和智能推薦系統(tǒng)[3]等人工智能相關(guān)的應(yīng)用,并取得了巨大的成功.因此,許多大型開源知識圖譜包括Freebase[4]、Dbpedia[5]、YAGO[6]和NELL[7]等得到了開發(fā)和應(yīng)用.
在知識圖譜相關(guān)研究中,知識表示是知識圖譜應(yīng)用的基礎(chǔ).一方面,雖然知識圖譜能夠有效記錄大量的知識,但是它們底層的符號特性使得它們不能直接應(yīng)用于機(jī)器學(xué)習(xí)模型中.另一方面,當(dāng)前最先進(jìn)的知識圖譜也仍存在三元組缺失等問題,因此進(jìn)行知識圖譜的鏈接預(yù)測任務(wù)至關(guān)重要.知識圖譜的知識表示學(xué)習(xí)(Knowledge Representation Learning,KRL)也稱為知識圖譜嵌入[8](Knowledge Graph Embedding,KGE),同詞嵌入方法捕獲單詞的語義信息類似,通過將實體和關(guān)系映射到低維向量中,捕獲它們的語義信息.知識圖譜嵌入相較于one-hot 編碼,能夠提高計算效率,并且能夠緩解數(shù)據(jù)稀疏問題,達(dá)到融合異構(gòu)信息的目的.同時,知識圖譜嵌入還保留實體和關(guān)系原有的結(jié)構(gòu)信息,可有效應(yīng)用于包括鏈接預(yù)測和關(guān)系推理等相關(guān)下游任務(wù).
盡管知識圖譜嵌入越來越普及并取得了越來越好的效果,但是同其他機(jī)器學(xué)習(xí)模型一樣,知識圖譜嵌入極易受到對抗性擾動樣本(Adversarial Perturbation Samples)的干擾.所謂的對抗性擾動樣本是指在原始的干凈樣本數(shù)據(jù)集上進(jìn)行的修改(如在原知識圖譜上刪除或者添加三元組),微小的擾動對于整體知識圖譜而言是微不可查的,但是卻能誘導(dǎo)知識圖譜嵌入的輸出發(fā)生偏差.例如Zhang等人[9]在WN18數(shù)據(jù)集上僅僅通過刪除1條相關(guān)三元組便使得知識圖譜嵌入模型在目標(biāo)三元組上的前十命中率從0.7降到0.26,這個過程也就是對知識圖譜嵌入進(jìn)行對抗性攻擊.目前知識圖譜嵌入對抗性攻擊的相關(guān)研究[10]表明,針對目標(biāo)三元組,在訓(xùn)練集中刪除或者添加少量精心設(shè)計的擾動樣本就能夠?qū)τ?xùn)練后的嵌入模型造成極大的傷害,甚至能夠使得嵌入模型對目標(biāo)三元組產(chǎn)生完全錯誤的預(yù)測結(jié)果.事實上,目前許多知識圖譜都是建立在不可靠甚至公共數(shù)據(jù)源之上,如著名的Freebase知識圖譜從包括個人以及維基用戶提交等來源獲取數(shù)據(jù),這類數(shù)據(jù)的開放性會使得知識圖譜嵌入模型很容易受到惡意的攻擊.當(dāng)受到攻擊時,知識圖譜嵌入模型會產(chǎn)生大量不可靠甚至有偏差的嵌入結(jié)果,對相關(guān)下游任務(wù)和應(yīng)用造成損害.例如,在反詐騙應(yīng)用中,嫌疑賬戶通過在財務(wù)關(guān)系知識圖譜中與其他正常賬戶進(jìn)行交易產(chǎn)生聯(lián)系,從而規(guī)避檢測模型[11];垃圾郵件發(fā)送者通過創(chuàng)建虛擬的關(guān)注者,以增加虛假信息被推薦和傳播的機(jī)會[12]等.知識圖譜嵌入技術(shù)被廣泛應(yīng)用到各種相關(guān)人工智能應(yīng)用當(dāng)中,如果在現(xiàn)實生活中知識圖譜嵌入不能有效防御對抗性攻擊,惡意的攻擊就將會給普通民眾帶來金錢損失和人身傷害,特別是對于許多安全敏感的應(yīng)用,這甚至?xí)ι鐣踩斐蓢?yán)重的威脅.因此,知識圖譜嵌入的健壯性以及對抗性攻擊的研究具有重要的意義與價值,也可為防御對策提供參考.
作為人類結(jié)構(gòu)化知識的一種形式,知識圖譜是事實的結(jié)構(gòu)化表示,由實體、關(guān)系和語義描述組成.知識圖譜嵌入將知識圖譜的實體和關(guān)系轉(zhuǎn)化為連續(xù)的低維向量空間,這樣既方便了知識圖譜的操作同時保留了知識圖譜原有的結(jié)構(gòu)和語義.對于知識圖譜嵌入的研究主要集中在以下4個部分:表示空間、評分函數(shù)、編碼模型和知識圖譜輔助信息.
表示空間的關(guān)鍵問題是學(xué)習(xí)實體和關(guān)系的低維分布式嵌入,現(xiàn)有的知識圖譜嵌入的表示空間主要有實值點集空間(包括向量、矩陣和張量空間)、復(fù)數(shù)向量空間、高斯空間和流形空間等.點集歐式空間被廣泛應(yīng)用于表示實體和關(guān)系,在向量或矩陣空間中投影關(guān)系和實體的嵌入.其中,TransE模型[13]在d維向量空間中表示實體和關(guān)系即h,r,t∈d,并使嵌入遵循平移原理h+r≈t.為了解決實體和關(guān)系在單一空間不足的問題(在處理一對多、多對一和多對多復(fù)雜關(guān)系時的局限性),TransR[14]進(jìn)一步引入了實體和關(guān)系的分離空間,使用投影矩陣Mr∈k×d將實體(h,t∈k)投影到關(guān)系(r∈d)空間.NTN模型通過雙線性張量神經(jīng)層對實體進(jìn)行多維度建模,頭實體和尾實體之間的關(guān)系被捕獲為一個張量,表示為在復(fù)數(shù)向量空間中,實體和關(guān)系不再使用實值空間,而是在復(fù)數(shù)空間中表示,其中h,r,t∈d.以頭實體為例,h有一個實部Re(h)和一個虛部Im(h),即h=Re(h)+iIm(h).在歐拉等式eiθ=cosθ+isinθ的啟發(fā)下,RotatE[15]提出了一種旋轉(zhuǎn)模型,該模型以關(guān)系作為復(fù)數(shù)空間中從頭實體到尾實體的旋轉(zhuǎn),如t=h°r.其中° 表示元素哈達(dá)瑪積.高斯空間中,基于密度的KG2E嵌入模型引入高斯分布來處理實體和關(guān)系的(不)確定性,將實體和關(guān)系嵌入到多維高斯分布H~N(μh,∑h)和T~N(μt,∑t)中.
得分函數(shù)用于衡量事實三元組的合理性,有兩種典型的評分函數(shù),基于距離的評分函數(shù)和基于相似性的評分函數(shù).基于距離的評分函數(shù)通過計算實體之間距離來衡量事實三元組的合理性,其中具有h+r∈t關(guān)系的Trans系列模型被廣泛使用.基于語義相似性的評分函數(shù)通過語義匹配來衡量事實三元組的合理性,語義匹配通常采用乘法公式,即hTMr≈tT.編碼模型包括線性/雙線性模型、因式分解模型和神經(jīng)網(wǎng)絡(luò)模型.線性模型通過將頭部實體投影到接近尾部實體的表示空間中,將關(guān)系表示為線性/雙線性映射.因式分解旨在將關(guān)系數(shù)據(jù)分解成低秩矩陣進(jìn)行表示學(xué)習(xí).神經(jīng)網(wǎng)絡(luò)模型用非線性神經(jīng)激活和更復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)編碼關(guān)系數(shù)據(jù).為了便于更有效的知識表示,一些嵌入模型結(jié)合了外部輔助信息,如文本描述、類型約束、關(guān)系路徑和視覺信息以及知識圖譜本身等.
研究者們很早之前就已經(jīng)開始研究在圖像、圖數(shù)據(jù)以及知識圖譜上的機(jī)器學(xué)習(xí)模型的健壯性(或魯棒性),最早可以追溯到圖像分類任務(wù)上的對抗性攻擊研究.2014年,Szegedy等人[16]首次發(fā)現(xiàn)了圖像上存在的少量人類難以察覺的改動(也稱為擾動)能夠?qū)е律疃葘W(xué)習(xí)模型輸出完全錯誤的分類結(jié)果,他們進(jìn)而嘗試通過方程求解使深度神經(jīng)網(wǎng)絡(luò)分類錯誤的最小擾動解.但是由于計算難度很高,他們提出基于盒約束的L_BFGS方法,將問題轉(zhuǎn)化為凸優(yōu)化過程,尋找最小的損失函數(shù)添加項,從而使得深度神經(jīng)網(wǎng)絡(luò)分類錯誤.受圖像分類對抗性攻擊的啟發(fā),圖數(shù)據(jù)上的圖表示學(xué)習(xí)的健壯性也相繼得到研究,并取得不錯的效果.圖表示學(xué)習(xí)主要分為圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Network)、網(wǎng)絡(luò)嵌入(Network Embedding)和知識圖譜嵌入等.2018年,Zügner等人[17]首次提出圖神經(jīng)網(wǎng)絡(luò)的對抗性攻擊方法.他們提出的NETTACK方法,利用節(jié)點的特征和圖的結(jié)構(gòu),構(gòu)建評估函數(shù)進(jìn)而篩選出攻擊效果最佳的連邊.實驗表明,即使只進(jìn)行少量的擾動攻擊,節(jié)點分類的準(zhǔn)確性也會顯著降低,且這種圖神經(jīng)網(wǎng)絡(luò)攻擊方法具有可轉(zhuǎn)移性.隨著對抗性攻擊工作的日益積累,許多不同角度的攻擊方法得到研究.
通常對抗性攻擊根據(jù)攻擊者的知識背景可以分為白盒攻擊、黑盒攻擊和灰盒攻擊.1) 白盒攻擊:目標(biāo)模型的相關(guān)參數(shù)、訓(xùn)練數(shù)據(jù)、標(biāo)簽和預(yù)測輸出等所有信息均可獲知,攻擊者根據(jù)這些信息進(jìn)行相應(yīng)攻擊策略的選擇,例如利用模型的損失函數(shù)的梯度進(jìn)行攻擊.然而在實際攻擊場景中,攻擊者通常無法全部掌握所有信息,因此白盒攻擊常用于評估目標(biāo)模型在極端不利情況下的魯棒性;2) 灰盒攻擊:白盒攻擊設(shè)定攻擊者可以通過模型參數(shù)來計算梯度等方式直接進(jìn)行攻擊,這在現(xiàn)實場景中并不總是可行的.大部分情況下攻擊者并不能完全獲知目標(biāo)模型的結(jié)構(gòu),通過帶標(biāo)記的數(shù)據(jù)訓(xùn)練一個目標(biāo)模型結(jié)構(gòu)類似的替代模型,對替代模型進(jìn)行白盒攻擊,實現(xiàn)對目標(biāo)模型的攻擊;3) 黑盒攻擊:黑盒攻擊設(shè)定攻擊者對于目標(biāo)模型的相關(guān)參數(shù)以及訓(xùn)練數(shù)據(jù)等完全不可知,攻擊者只能通過目標(biāo)模型的輸入信息和輸出信息進(jìn)行攻擊,因此黑盒攻擊最難以實施.
通常對抗性攻擊可以發(fā)生在模型訓(xùn)練和模型測試兩個階段,攻擊者的攻擊能力意味著對抗性攻擊發(fā)生的階段,分為中毒攻擊和逃逸攻擊兩類.中毒攻擊(Poisoning attack)作用在目標(biāo)模型的訓(xùn)練階段,攻擊者通過在訓(xùn)練數(shù)據(jù)集中添加擾動樣本來影響訓(xùn)練后的目標(biāo)模型的性能.逃逸攻擊(Evasion attack)發(fā)生于目標(biāo)模型已經(jīng)訓(xùn)練好之后或者發(fā)生在目標(biāo)模型的測試階段.此時目標(biāo)模型已經(jīng)固定,攻擊者無法通過任何手段修改模型的參數(shù)或者結(jié)構(gòu).逃逸攻擊的目標(biāo)是在測試階段添加對抗樣本,使得目標(biāo)模型對測試階段中的對抗樣本做出錯誤判斷.
隨著圖神經(jīng)網(wǎng)絡(luò)上的對抗性攻擊研究不斷取得進(jìn)展,知識圖譜嵌入的對抗性攻擊也逐漸取得關(guān)注.2019年,Zhang等人[9]首次提出對知識圖譜嵌入模型的對抗性攻擊方法.由于知識圖譜的異構(gòu)特性,圖神經(jīng)網(wǎng)絡(luò)上的攻擊方法不能直接應(yīng)用到知識圖譜嵌入中,作者提出一系列包括直接刪除攻擊(Direct Deleting Attack)、直接添加攻擊(Direct Adding Attack)、間接刪除攻擊(Indirect Deleting Attack)與間接添加攻擊(Indirect Adding Attack)等方法,有效操縱了知識圖譜中任意目標(biāo)事實的合理性.2021年,Bhardwaj等人[10]利用知識圖譜的關(guān)系模式,通過推理模式包括對稱模式、反轉(zhuǎn)模式與組成模式提高知識圖譜嵌入模型對于虛假三元組的預(yù)測置信度.如圖1所示,該知識圖譜由個人和銀行賬戶兩種類型的實體組成,最初的知識圖譜嵌入模型對目標(biāo)三元組(Karl,affiliated_with,Joe_the_mobster)的預(yù)測為真.但是當(dāng)惡意攻擊者添加了兩條虛假的對抗性三元組后,這兩條三元組通過組合模式將Karl和一個并不可疑的人Bob關(guān)聯(lián)起來.此時,重新訓(xùn)練后的知識圖譜嵌入模型將目標(biāo)的三元組預(yù)測為假.目前已有的知識圖譜嵌入攻擊都是從嵌入模型的損失函數(shù)出發(fā),通過構(gòu)建目標(biāo)三元組相關(guān)的攻擊得分函數(shù)進(jìn)行攻擊,缺少對于知識圖譜圖結(jié)構(gòu)信息的掌握,往往難以得到最佳的攻擊樣本.同時,已有的知識圖譜嵌入攻擊均屬于白盒攻擊,在實際的攻擊中,攻擊者往往無法完全掌握嵌入模型的全部信息,一旦相關(guān)嵌入模型對評分函數(shù)和訓(xùn)練過程等進(jìn)行優(yōu)化,原先的攻擊就有可能失去效果.針對上述已有的對抗性攻擊存在的問題,本文從子圖結(jié)構(gòu)出發(fā),通過修正的余弦相似度進(jìn)行輔助攻擊.
圖1 知識圖譜嵌入對抗性攻擊示例[10]Fig.1 Example of adversarial attack on knowledge graph[10]
為了便于后續(xù)的描述和方便理解,本節(jié)首先對相關(guān)問題進(jìn)行定義和說明.
定義1.(知識圖譜)對于一個給定的知識圖譜,本文用G=(V,E)表示,其中V代表所有的實體節(jié)點,E代表實體之間的真實連邊,其中E分為兩個部分:可觀測到的鏈接EO和未知鏈接ET,EO∪E,EO∩ET=?.這里,由于本文基于目標(biāo)三元組的子圖結(jié)構(gòu),不同于其他知識圖譜定義的是,G被定義為無向圖.
定義3.(代理模型)根據(jù)灰盒攻擊的定義,攻擊者根據(jù)掌握的目標(biāo)模型的部分信息,利用標(biāo)記的訓(xùn)練數(shù)據(jù)訓(xùn)練一個代理模型近似目標(biāo)模型,然后生成擾動樣本進(jìn)行攻擊.
根據(jù)上述的定義,本文采用基于圖結(jié)構(gòu)的鏈接預(yù)測任務(wù)訓(xùn)練代理模型,通過代理模型生成擾動樣本對目標(biāo)知識圖譜嵌入模型進(jìn)行灰盒攻擊.
子圖結(jié)構(gòu)深度學(xué)習(xí)模型的框架如圖2所示,以知識圖譜中目標(biāo)三元組原始的相關(guān)子圖作為輸入,并在相同節(jié)點上輸出一個帶有新的鏈路權(quán)值的圖,鏈路權(quán)重的大小代表對子圖以及目標(biāo)三元組的重要程度.如圖2中左邊原始子圖所示,為了提高子圖結(jié)構(gòu)的學(xué)習(xí)能力,采用目標(biāo)三元組的三階及低階鄰接矩陣作為輸入來學(xué)習(xí)子圖結(jié)構(gòu).如圖2中右邊生成的新的帶有鏈路權(quán)值的子圖所示(高權(quán)值鏈接用粗線條表示),對目標(biāo)三元組以及子圖重要性高的鏈接的權(quán)值在訓(xùn)練中得到增強.
圖2 圖結(jié)構(gòu)深度學(xué)習(xí)框架Fig.2 Graph structure of deep learning framework
Z*=λ(λXTX+I)-1XTX
(1)
其中,I表示單位矩陣.這樣權(quán)值鄰接矩陣可以計算為:X*=XZ*,因此圖結(jié)構(gòu)深度學(xué)習(xí)模型的更新過程可以表示為:
(2)
X*=φ(X,n,λ)
(3)
為了更好地捕獲圖的結(jié)構(gòu)信息,學(xué)習(xí)框架還考慮了二階及三階鄰接矩陣,這樣最終的輸出定義為:
O*=φ(X,n,λ1)+αφ(X2,n,λ2)+βφ(X3,n,λ3)
(4)
其中,X,X2與X3為線性編碼的輸入,λ1,λ2與λ3為參數(shù),α與β為正則化參數(shù),鄰接矩陣O*中的所有元素都可能為非0值,代表相關(guān)鏈接在圖結(jié)構(gòu)中對于目標(biāo)三元組的影響力.圖結(jié)構(gòu)深度學(xué)習(xí)的過程如算法1所示.
算法1.子圖結(jié)構(gòu)深度學(xué)習(xí)
輸入:目標(biāo)三元組相關(guān)子圖的鄰接矩陣X,迭代層數(shù)n,參數(shù)λ1,λ2與λ3以及正則化參數(shù)α與β
輸出:優(yōu)化鄰接矩陣O*
1.分別獲取二階及三階鄰接矩陣X2,X3
2.基于公式(4)學(xué)習(xí)第n層鄰接矩陣
3.計算最終優(yōu)化鄰接矩陣O*
由上節(jié)可知,圖結(jié)構(gòu)學(xué)習(xí)模塊最終學(xué)習(xí)的優(yōu)化鄰接矩陣中的元素的值均可能非0,其權(quán)值大小代表對目標(biāo)三元組鏈接相關(guān)子圖的影響程度.一般情況下,可以直接通過優(yōu)化鄰接矩陣O*篩選擾動樣本進(jìn)行攻擊,對抗性刪除攻擊情況下可以根據(jù)O*選出EO中權(quán)值最大的鏈接作為擾動樣本進(jìn)行刪除.然而對于添加攻擊,考慮到知識圖譜不同關(guān)系的存在,也就是在將ET中的權(quán)值最小鏈接添加到知識圖譜的訓(xùn)練集中時,僅確定兩個實體間存在鏈接并不夠,還需要確定中間關(guān)系.顯然,通過窮舉每個實體對與關(guān)系的組合作為擾動樣本分別進(jìn)行攻擊選出最優(yōu)的組合并不可行,這樣每次攻擊都需要重新訓(xùn)練知識圖譜嵌入模型,計算量過大.另外,通過隨機(jī)選取一個關(guān)系與實體對組合成擾動樣本的方法難以得到最優(yōu)的擾動樣本,攻擊效果也不穩(wěn)定.
為了解決上述問題,本文采用修正的余弦相似度[18](Adjusted Cosine Similarity)輔助攻擊.需要注意的是,利用修正的余弦相似度衡量擾動樣本與目標(biāo)三元組之間的影響力,此時的攻擊屬于白盒攻擊,需要掌握目標(biāo)嵌入模型包括嵌入表示在內(nèi)的全部信息.給定兩個向量a,b∈d,它們之間的余弦相似度可以定義為:其中:=顯然,余弦相似度側(cè)重于通過特征向量之間的角度來衡量兩個向量之間的相似程度.直觀上,兩個三元組的嵌入向量之間的相似度越高,代表這兩個三元組彼此間的影響力越強,修改其中的一條三元組對于剩下的三元組的干擾越高.
余弦相似度致力于從方向上區(qū)分差異,但是卻對絕對數(shù)值并不敏感,這容易出現(xiàn)在位置上差距很大但是相似度卻很高的情況,例如真實性度量相差較大的兩個三元組,它們的嵌入向量間的余弦相似度反而較高.為了解決余弦相似度對絕對數(shù)值的不敏感性導(dǎo)致結(jié)果的誤差,修正的余弦相似度先對向量a,b∈d進(jìn)行修正,即在所有維度上的數(shù)值減去它們的均值:然后再對修正后的向量a′,b′計算余弦相似度.
對于知識圖譜嵌入來說,一個三元組的嵌入表示(h,r,t)包含了h,r,t∈k共3個嵌入向量,為了能夠利用修正的余弦相似度來分析擾動樣本三元組Z與目標(biāo)三元組X之間的相似程度φ(Z,X),首先將三元組的實體和關(guān)系的嵌入組合起來,這里本文采用點積的形式:這里hZ表示三元組Z的頭實體嵌入向量.然后計算fZ與fX的修正向量f′Z與f′X,最后得到三元組Z和X間修正的余弦相似度:
φ(Z,X):=cos(f′Z,f′X)
(5)
在前面兩節(jié)中,對于本文使用到的模型和方法進(jìn)行了介紹,本節(jié)將前兩節(jié)生成的擾動樣本進(jìn)行知識圖譜嵌入對抗性攻擊.
本文為了降低計算難度以方便計算,同時為了同其他知識圖譜嵌入對抗性攻擊設(shè)定保持一致,將對抗性攻擊分為對抗性刪除和對抗性添加攻擊兩個部分分開進(jìn)行研究.事實上,知識圖譜嵌入的對抗性添加攻擊的難度比刪除攻擊的難度高很多,這是因為刪除攻擊只需要在訓(xùn)練集中存在的真實三元組中篩選擾動樣本即可,而添加攻擊卻需要在訓(xùn)練集中添加并不存在的三元組,考慮到知識圖譜的規(guī)模,添加攻擊的搜索空間往往非常龐大,這也是本文分開進(jìn)行刪除和添加攻擊研究的原因.
根據(jù)定義4,本文分別從對抗性刪除攻擊和添加攻擊進(jìn)行知識圖譜嵌入的攻擊,首先介紹對抗性刪除攻擊.如圖3所示,其中3(a)表示利用目標(biāo)三元組子圖結(jié)構(gòu)深度學(xué)習(xí)得到的帶權(quán)值的子圖,其中加粗線條表示的鏈接對于目標(biāo)三元組具有較高的影響力.直觀上,刪除權(quán)值最高的鏈接能夠最大程度上降低目標(biāo)三元組的可信度,如圖3(b)中虛線所示.考慮到攻擊預(yù)算Δ(刪除或者添加三元組的個數(shù)),基于子圖的優(yōu)化鄰接矩陣O*獲取擾動樣本,如算法2所示,這種刪除攻擊屬于灰盒攻擊.為了進(jìn)步提升刪除攻擊的效果,可以根據(jù)修正的余弦相似度輔助篩選,只需計算EO中鏈接對應(yīng)的三元組與目標(biāo)三元組T的相似度,再根據(jù)Δ選取相似度最高的三元組作為刪除擾動樣本集即可.
圖3 基于子圖結(jié)構(gòu)深度學(xué)習(xí)的對抗性攻擊示例Fig.3 Example of adversarial attack based on sub-graph structure deep learning
算法2.對抗性刪除攻擊
輸入:原知識圖譜G=(V,E),目標(biāo)三元組T,攻擊預(yù)算Δ
1.獲取目標(biāo)三元組的相關(guān)子圖
2.利用算法1計算相關(guān)子圖的優(yōu)化鄰接矩陣O*
3.根據(jù)相關(guān)子圖得到EO
4.按照O*降序排列EO
5.基于Δ獲取刪除攻擊擾動樣本Eattack-
算法3.對抗性添加攻擊
輸入:原知識圖譜G=(V,E),目標(biāo)三元組T,攻擊預(yù)算Δ
1.獲取目標(biāo)三元組的相關(guān)子圖
2.利用算法1計算相關(guān)子圖的優(yōu)化鄰接矩陣O*
3.根據(jù)相關(guān)子圖得到ET
4.按照O*升序排列ET
5.基于Δ獲取添加攻擊擾動樣本的頭尾實體對
6.將頭尾實體對于所有關(guān)系組合得到候選擾動樣本集
7.根據(jù)公式(3)~公式(5),計算候選樣本三元組與T的相似度φ
8.對于每個頭尾實體對,篩選出φ最低的擾動三元組
9.根據(jù)篩選出的擾動樣本生成Eattack+
本文的對抗性添加攻擊如算法3所示,首先需要對目標(biāo)三元組的相關(guān)子圖進(jìn)行圖結(jié)構(gòu)深度學(xué)習(xí)得到優(yōu)化鄰接矩陣O*.根據(jù)2.3節(jié),在進(jìn)行添加攻擊時,不僅要考慮到需要實體對E×E,還需要考慮實體對之間的實體.如果僅僅考慮實體對,那么通過優(yōu)化鄰接矩陣O*選取鏈接權(quán)值最小的實體對,然后隨機(jī)選取關(guān)系組成擾動樣本三元組,最后添加到訓(xùn)練數(shù)據(jù)集中,這樣盡可能對目標(biāo)三元組的真實性造成影響.本文通過修正的余弦相似度對實體對與關(guān)系的所有組合進(jìn)行篩選,進(jìn)一步篩選出與目標(biāo)三元組相似度最低的組合,如圖3(c)所示,圖中的虛線線條代表的三元組便是經(jīng)過篩選后的擾動樣本.
本文采用兩個通用的知識圖譜數(shù)據(jù)集:FB15K-237和WN18RR驗證和評估對抗性攻擊方法的效果.完成知識圖譜嵌入的鏈接預(yù)測,并與其他對抗性攻擊方法進(jìn)行對比分析.FB15K237源于Freebase,是一個由大量關(guān)于電影、演員、獎項、體育和運動隊等真實事實組成的知識圖譜.WN18RR屬于WordNet,是一個大型詞匯知識圖譜.FB15K-237和WN18RR的統(tǒng)計信息如表1所示.
表1 WN18RR與FB15K-237統(tǒng)計Table 1 Statistics of WN18RR and FB15K-237
為了驗證子圖結(jié)構(gòu)攻擊方法降低鏈接預(yù)測性能的效果,本文采取了篩選措施:從基準(zhǔn)數(shù)據(jù)集的測試三元組集中選取子圖結(jié)構(gòu)較為復(fù)雜度排名較高的三元組子集,這樣可以過濾掉知識圖譜稀疏的部分,從而更好地研究知識圖譜的子圖結(jié)構(gòu).
本文選取3個最具代表性的知識圖譜嵌入模型:TransE、DistMult和ComplEx作為目標(biāo)模型,它們的評分函數(shù)及相關(guān)參數(shù)在第1節(jié)有詳細(xì)介紹.本文將提出的基于子圖結(jié)構(gòu)深度學(xué)習(xí)的對抗性攻擊方法在這些目標(biāo)模型上與目前已有的對抗性攻擊方法進(jìn)行對比.在這些對抗性攻擊方法中,Random_d方法隨機(jī)從基準(zhǔn)數(shù)據(jù)集的訓(xùn)練集中隨機(jī)選取三元組作為擾動樣本進(jìn)行刪除攻擊;Randon_a方法則隨機(jī)生成不存在于訓(xùn)練集中的三元組作為擾動樣本進(jìn)行添加攻擊.Random_d和Randon_a方法都是采用完全隨機(jī)的方法進(jìn)行攻擊,用來研究嵌入模型在隨機(jī)攻擊情況下的性能表現(xiàn),同時作為其他對抗性攻擊方法的參照.Direct_Del和Direct_Add是由Zhang等人[9]提出的利用目標(biāo)嵌入模型評分函數(shù)以及梯度進(jìn)行對抗性刪除和添加攻擊;CRIAGE方法是由Pezeshkpour等人[19]提出的通過構(gòu)造自動編碼器在潛在空間中重建實體和關(guān)系來進(jìn)行對抗性攻擊.需要注意的是,該方法僅針對DistMult模型,由于構(gòu)造的自動編碼器的原因無法適用到TransE模型和ComplEx模型.Bhardwaj等人[20]先后提出了RIP(Relation Inference Pattern)方法和IA(Instance Attribution)方法進(jìn)行知識圖譜嵌入對抗性攻擊.其中,RIP方法包括對稱模式、翻轉(zhuǎn)模式和組合模式3種攻擊模式,這里本文采取這3種攻擊模式攻擊結(jié)果的平均值作為對比結(jié)果;IA方法則采用相似性度量作為衡量指標(biāo)生成擾動樣本.
為了便于進(jìn)行試驗和統(tǒng)一比較,本文隨機(jī)從基準(zhǔn)數(shù)據(jù)集的測試集中選取100條三元組作為目標(biāo)三元組,并統(tǒng)一作為這些對抗性攻擊方法的目標(biāo)三元組,其他攻擊設(shè)置均保持一致.
同之前的知識圖譜嵌入對抗性攻擊工作一樣,本文采用MRR和Hit@10作為實驗的評估指標(biāo),這兩個指標(biāo)也是知識圖譜嵌入模型在鏈接預(yù)測上的常用評估指標(biāo).MRR是指所有真實三元組的平均倒數(shù)排名,Hit@10是指正確三元組排名前十的比例.MRR和Hit@10值越大代表知識圖譜嵌入模型在鏈接預(yù)測上的性能越好,而對抗性攻擊后它們的值越低則代表對抗性攻擊方法的效果越好.
由于計算資源的限制,試驗中知識圖譜嵌入模型的維度均設(shè)置為k=50,訓(xùn)練迭代次數(shù)設(shè)置為500次.為了統(tǒng)一標(biāo)準(zhǔn),知識圖譜嵌入模型的訓(xùn)練使用THUNLP-OpenKE提供的代碼實現(xiàn)[21],其他參數(shù)采用默認(rèn)設(shè)定.對于本文提出的DLOSSAA模型,實驗中λ1,λ2與λ3均設(shè)置為0.12,正則化參數(shù)α與β分別設(shè)置為0.1和0.005,模型迭代層數(shù)n設(shè)置為4.同時,對于對抗性攻擊的攻擊預(yù)算(attack budget,添加干擾樣本的數(shù)量)統(tǒng)一設(shè)置為1.這些攻擊方法基于Pytorch和Python 3實現(xiàn),相關(guān)代碼在配有RTX 2080 Ti GPU 的服務(wù)器上運行.
本節(jié)將對相關(guān)實驗結(jié)果進(jìn)行詳細(xì)展示和說明,并對本文提出的基于子圖結(jié)構(gòu)深度學(xué)習(xí)的知識圖譜嵌入對抗性攻擊方法的攻擊效果進(jìn)行分析和討論.表2與表3顯示的是在不同知識圖譜數(shù)據(jù)集上對抗性刪除攻擊的結(jié)果,表4與表5則是在對抗性添加攻擊的實驗結(jié)果.這幾個表都按照行中的內(nèi)容分為了4個區(qū)域塊,并用邊框線進(jìn)行分割.第1個區(qū)域塊中的內(nèi)容為3個目標(biāo)知識圖譜嵌入模型以及分別對應(yīng)的評價指標(biāo),第2個區(qū)域為在原始的知識圖譜數(shù)據(jù)集上相關(guān)嵌入模型的結(jié)果,其中*表示該數(shù)據(jù)來源于Dettmers[22]中的數(shù)據(jù)結(jié)果,這些結(jié)果將與嵌入模型在攻擊后的知識圖譜上得到的實驗結(jié)果進(jìn)行對比.第3個區(qū)域為已有的的對抗性攻擊方法在不同知識圖譜數(shù)據(jù)集上對不同的知識圖譜嵌入模型攻擊后嵌入模型的結(jié)果,顯然,攻擊后的結(jié)果越低表明攻擊方法越有效.第4個區(qū)域是本論文提出的對抗性攻擊方法的實驗結(jié)果,其中DLOSSAA(Deep Learning of Subgraph Structure Adversarial Attack)表示基于子圖結(jié)構(gòu)深度學(xué)習(xí)進(jìn)行對抗性攻擊,DLOSSAA_Cosine則表示在子圖結(jié)構(gòu)深度學(xué)習(xí)的基礎(chǔ)上利用修正的余弦相似度輔助攻擊.
表2 對抗性刪除攻擊在FB15K-237上的結(jié)果Table 2 Adversarial deleting attack on FB15K-237
表3 對抗性刪除攻擊在WN18RR上的結(jié)果Table 3 Adversarial adding attack on WN18RR
表4 對抗性添加攻擊在FB15K-237上的結(jié)果Table 4 Adversarial deleting attack on FB15K-237
表5 對抗性添加攻擊在WN18RR上的結(jié)果Table 5 Adversarial deleting attack on WN18RR
對抗性刪除攻擊:對抗性攻擊刪除攻擊的實驗結(jié)果如表2與表3所示,其中表2為在FB15K-237知識圖譜數(shù)據(jù)集上的攻擊結(jié)果,表3為在WN18RR上的攻擊結(jié)果.首先對比Random_d和Randon_a攻擊方法攻擊前后的實驗結(jié)果,可以發(fā)現(xiàn)通過隨機(jī)選取三元組作為擾動樣本進(jìn)行刪除或者添加攻擊對于目標(biāo)三元組的真實性影響微乎其微,這是因為知識圖譜的規(guī)模比較龐大,通過隨機(jī)選取的方法得到對于目標(biāo)三元組有影響的三元組的概率可以忽略不計.對比目前提出的對抗性攻擊方法的結(jié)果,可以發(fā)現(xiàn)IA方法對ComplEx模型和DistMult模型的攻擊表現(xiàn)突出,而Direct_Del方法對TransE模型的攻擊效果較優(yōu).最后對比本文提出的攻擊方法與上述方法的結(jié)果,可以發(fā)現(xiàn)基于子圖結(jié)構(gòu)深度學(xué)習(xí)的對抗性攻擊DLOSSAA方法在所有的攻擊方法中對TransE模型的攻擊效果最佳,例如在FB15K-237上MRR能夠從原來的0.26降到0.18.不過SAA方法對于ComplEx模型和DistMult模型的攻擊效果則要稍弱于IA方法,但是比其他方法的攻擊要好.而可以發(fā)現(xiàn),在修正的余弦相似度的輔助下,DLOSSAA_Cosine方法在FB15K-237和WN18RR上對于3個嵌入模型的攻擊效果都表現(xiàn)最佳,驗證了本方法提出的對抗性攻擊方法的有效性.
對抗性添加攻擊:對抗性添加攻擊的實驗結(jié)果如表4與5所示,其中表4為對抗性添加攻擊在FB15K-237上的實驗結(jié)果,表5為對抗性添加攻擊在WN18RR上的結(jié)果.首先對比刪除攻擊和添加攻擊的實驗結(jié)果,顯然添加攻擊的攻擊效果比刪除攻擊的效果整體上要差一些.這是因為相較于刪除攻擊,添加攻擊更難也更復(fù)雜一些.刪除攻擊只需要考慮在訓(xùn)練數(shù)據(jù)集中篩選出擾動樣本三元組,而添加攻擊則需要考慮添加訓(xùn)練數(shù)據(jù)集中并不存在的三元組,導(dǎo)致添加攻擊需要在遠(yuǎn)大于刪除攻擊搜索空間的由實體對與關(guān)系組合的搜索空間進(jìn)行篩選.對比已有的對抗性攻擊方法的實驗結(jié)果,可以發(fā)現(xiàn)Direct_Add方法的表現(xiàn)相對最為欠佳,因為Direct_Add方法在通過擾動收益得分函數(shù)的梯度進(jìn)行攻擊前對搜索空間通過下采樣方式進(jìn)行縮斂.而RIP方法與IA方法通過關(guān)系推理與相似性度量的方法在一定程度上緩解了搜索空間過大的問題.對比本文提出的對抗性添加攻擊方法與其他攻擊方法,可以發(fā)現(xiàn)基于子圖結(jié)構(gòu)深度學(xué)習(xí)的DLOSSAA方法表現(xiàn)并未達(dá)到預(yù)期,攻擊效果僅比Direct_Add方法的效果稍好一些.不過通過修正的余弦相似度對子圖深度學(xué)習(xí)生成的添加擾動攻擊樣本進(jìn)行篩選后,DLOSSAA_Cosine添加攻擊方法表現(xiàn)同樣好于上述攻擊方法,在WN18RR上將DistMult模型的MRR從0.43降到0.22.
灰盒攻擊:通過2.1節(jié)中的的介紹可知,本文提出的DLOSSAA方法屬于灰盒攻擊,也就是說攻擊者僅能獲取攻擊模型的訓(xùn)練數(shù)據(jù)等部分信息,通過訓(xùn)練代理模型近似目標(biāo)模型展開攻擊,而結(jié)合Consine相似度輔助攻擊的DLOSSAA_Cosine方法則屬于白盒攻擊.目前已有的知識圖譜嵌入對抗性攻擊均屬于白盒攻擊,本文首次探索了有限條件下的灰盒攻擊場景.根據(jù)上述的攻擊實驗結(jié)果可以發(fā)現(xiàn)灰盒攻擊的效果與目前已有的其他白盒攻擊效果相當(dāng).
子圖結(jié)構(gòu)分析:上述的實驗驗證了通過子圖結(jié)構(gòu)深度學(xué)習(xí)對知識圖譜嵌入進(jìn)行對抗性攻擊的有效性,本文進(jìn)一步分析子圖結(jié)構(gòu),研究不同的子圖輸入的學(xué)習(xí)效果,在WN18RR上的實驗結(jié)果如表6所示.其中,DLOSSAA_1表示僅考慮目標(biāo)三元組相關(guān)子圖的一階鄰接矩陣,即在學(xué)習(xí)優(yōu)化鄰接矩陣O*時僅計算一階鄰接矩陣,此時α與β均為0;DLOSSAA_2表示僅計算相關(guān)子圖的一階和二階鄰接矩陣,此時β設(shè)置為0;DLOSSAA_3表示學(xué)習(xí)相關(guān)子圖的一階、二階和三階鄰接矩陣結(jié)構(gòu)信息,此時的實驗結(jié)果即為上述DLOSSAA方法的實驗結(jié)果.通過對比可以看到,融合多階鄰接矩陣結(jié)構(gòu)信息進(jìn)行對抗性攻擊的攻擊效果更好,DLOSSAA_3無論是刪除攻擊還是添加攻擊的結(jié)果均優(yōu)于DLOSSAA_1和DLOSSAA_2.另外,與其他已有的攻擊方法的結(jié)果比較可以發(fā)現(xiàn),DLOSSAA_1與已有的Direct_Del和Direct_Add攻擊方法的效果比較接近.這可能是因為Direct_Del和Direct_Add方法生成的擾動樣本直接與目標(biāo)三元組相關(guān),這正包含在目標(biāo)三元組的一階鄰接矩陣結(jié)構(gòu)信息當(dāng)中.
表6 子圖結(jié)構(gòu)分析實驗結(jié)果Table 6 Results of subgraph structre analysis
本章提出了一種基于子圖結(jié)構(gòu)深度學(xué)習(xí)的知識圖譜嵌入對抗性攻擊方法(DLOSSAA),通過對目標(biāo)三元組的相關(guān)子圖結(jié)構(gòu)進(jìn)行學(xué)習(xí)并利用修正的余弦相似度來篩選生成擾動樣本.實驗結(jié)果表明,DLOSSAA_Cosine的攻擊效果優(yōu)于目前已有的對抗性攻擊方法,在FB15K-237和WN18RR數(shù)據(jù)集上,無論是刪除攻擊還是添加攻擊的攻擊效果.同時,本文還首次研究了灰盒攻擊設(shè)定下的知識圖譜嵌入對抗性攻擊.實驗結(jié)果顯示灰盒攻擊場景下DLOSSAA的對抗性攻擊效果達(dá)到白盒攻擊中一般攻擊方法的水平,可為后續(xù)更多場景下的知識圖譜嵌入對抗性攻擊研究提供參照.本研究對于知識圖譜嵌入的健壯性研究具有重要的意義,也可為防御對策提供參考.