相關工作
來源:科技導報
作者:韓忠明、熊峙冰、陳福宇、楊偉杰、張珣
針對大規(guī)模網(wǎng)絡安全知識圖譜表示學習訓練速度慢、對頭尾實體的關系表達缺乏的問題,提出一種基于隨機游走的快速訓練模型。該模型首先通過關系路徑下的隨機游走對整體知識圖譜的實體進行初步訓練表示;設計了主賓語嵌入,聯(lián)合關系特定主語嵌入與關系特定賓語嵌入,學習知識圖譜中關系的語法含義;再次通過關系路徑下的隨機游走輔助知識圖譜的快速訓練。在多個數(shù)據(jù)集上進行了大量實驗,并與多個現(xiàn)有模型進行對比,結果表明,提出的模型能夠縮短1/3的訓練時間,提升約3%的表示效果,在加快知識圖譜表示學習訓練速度的同時,有效改善了表示學習的效果。
網(wǎng)絡安全情報分析是網(wǎng)絡安全的重要基礎,知識圖譜則為網(wǎng)絡安全情報分析提供了強大的手段,學術界和工業(yè)界,如Palantir、MITRE等,都對網(wǎng)絡安全領域知識圖譜進行了深入研究。然而,網(wǎng)絡安全領域知識圖譜具有規(guī)模大、關系復雜多樣等特點,這對知識圖譜的快速訓練提出了很大挑戰(zhàn)。
現(xiàn)有的典型知識圖譜表示方法中,不使用神經(jīng)網(wǎng)絡的方法,如TransE、ComplEx、DistMult、TransR、RESCAL、RotatE等,都需要大量時間的訓練。而基于神經(jīng)網(wǎng)絡的編碼模型,在構建方法上從實體和關系的分布式表示出發(fā),利用復雜的神經(jīng)網(wǎng)絡結構,如張量網(wǎng)絡、圖卷積網(wǎng)絡和變換器等,可以學習到更豐富的表示方法。這些深度模型雖然取得了有競爭力的效果,但對算力和空間的要求非常大,無法滿足實際應用中大規(guī)模知識圖譜的快速訓練要求?,F(xiàn)有的分布式訓練方法主要基于數(shù)據(jù)并行實現(xiàn),通過增加GPU數(shù)量或者提升GPU內(nèi)存大小的方法加速訓練,這些方法都要求使用者提供相應的算力完成訓練。而針對單個計算設備,知識圖譜嵌入訓練加速問題的研究仍處于初步階段,有部分研究者采用基于多線程的并行優(yōu)化提升訓練速度,但這些方法的加速仍然依賴于機器的基礎性能,受算力的限制,并不能從根本上提升表示學習的速度。
另外,知識圖譜中的實體表達不僅與其本身語義有關,也與它所在的三元組有關。三元組中的關系可以為三元組的頭尾實體附加一層隱藏語義,如對網(wǎng)絡安全知識圖譜的關系“攻擊”而言,其所有尾實體都存在一個隱藏的共同屬性“主機”。對于某個關系的所有頭實體或尾實體而言,也應當有部分相似的語義,而現(xiàn)有的方法均沒有對這種關系隱含的共同特征進行表達,造成實體嵌入信息的缺失,導致下游任務效果降低。有部分研究者基于實體本身的分類特征為實體嵌入增加屬性,但這些方法需要知識圖譜本身提供實體的分類信息,無法對沒有分類信息的知識圖譜的自適應進行表達?;诖?,提出了一種基于隨機游走的知識圖譜快速學習方法,通過關系路徑下的隨機游走加快表示學習收斂速度,同時引入主賓嵌入的關系編碼,以解決大規(guī)模知識圖譜的訓練效率問題,同時提升表示學習的效果。
相關工作
根據(jù)知識圖譜表示學習模型的得分函數(shù)的類型,知識圖譜嵌入方法被分為以下3類。
基于翻譯的模型,認為對于一個三元組(h,r,t),關系r可以當作是從頭實體h到尾實體t的一個翻譯(translation)操作。TransE是最具代表性的轉化距離模型,在TransE中,它將實體和關系都表示為同一空間中的向量,給定一個fact(h,r,t),關系被解釋為一個翻譯向量r,實體h和t通過r以較低的誤差連接起來。TransH在TransE的基礎上引入了特定于關系的超平面;TransR引入了特定于關系的空間;TransD和TranSparce為TransR的簡化;TransM、ManifoldE、TransF和TransA則放寬了對于h r≈t過分嚴格的要求。除了TransE及其變體,基于高斯嵌入的方法KG2E將實體和關系表示為從多維高斯分布中抽取的隨機向量,TransG用混合高斯來表示關系。另一類基于翻譯思想的變種模型將關系建模為頭尾實體之間的旋轉,代表性的模型為RotatE,HAKE模型也采用了旋轉建模的方式,使用同心圓表達實體之間的層級語義信息。
基于語義匹配的模型,利用基于相似度的評分標準,通過匹配實體關系內(nèi)的潛在語義信息來度量三元組的可信性。其中RESCAL將實體表示為向量,每種關系表示為一個矩陣,用來代表實體之間所有潛在成分之間的相互作用。TATEC建模雙向交互,即一個實體與一個關系之間的交互。DistMult通過將關系矩陣限制為對角矩陣來簡化RESCAL。Hole結合了RESCAL的表現(xiàn)力和DistMult的效率和簡單性,用循環(huán)相關操作將實體表示組成h?t∈Rd。ComplEx在DistMult的基礎上引入了復值嵌入。
基于神經(jīng)網(wǎng)絡的模型,將神經(jīng)網(wǎng)絡方法引入知識圖譜嵌入中,挖掘知識圖譜中的深層隱藏信息,提升嵌入表達效果。SME使用神經(jīng)網(wǎng)絡架構進行語義匹配。神經(jīng)張量網(wǎng)絡(NTN)將實體投影成輸入層的向量嵌入,提出了特定于關系的向量Mr用于組合實體h和t,多層感知機MLP中每個實體和關系都表示為一個單獨的向量,參數(shù)為所有關系共享。神經(jīng)關聯(lián)模型NAM使用“deep”架構進行語義匹配,使用L層線性隱藏層組成深層神經(jīng)網(wǎng)絡。近年來,ConvE使用2D卷積將頭實體和關系重塑為2維矩陣,通過多層非線性層來學習語義信息。RGCN則首次將GCN框架引入了知識圖譜的表示學習中。SACN在ConvE的基礎上引入了GCN,由加權卷積網(wǎng)絡WGCN編碼器和ConvE-TransE解碼器組成。CompGCN將知識圖嵌入技術中的實體—關系組合操作與圖卷積模型結合,在聚合鄰域信息時引入關系信息??紤]到神經(jīng)網(wǎng)絡模型無法解釋網(wǎng)絡如何捕捉到語義信息的潛在結構,Carl等基于詞嵌入的最新理論將知識圖譜關系分為3種類型,并將其運用到知識圖譜表示學習中。
近年來越來越多中國研究人員投入到知識圖譜表示學習的研究中。方陽等在2018年提出了基于TransE的改進模型TransAH,引入面向特定關系的超平面模型,彭敏等在TransE的基礎上提出了聚合鄰域信息的聯(lián)合知識表示模型TransE-NA,李鑫超等提出了基于改進向量投影距離的知識表示學習模型SProjE,該模型引入自適應度量方法,降低了噪聲信息的影響。為了加強嵌入向量的語義表達,文洋等提出了基于實體相似性的表示學習方法SimE,利用實體的結構鄰域度量實體的相似性。陳恒等將關系定義為超復數(shù)空間中頭實體到尾實體的旋轉,用于推理和建模各種關系模式,包括對稱/反對稱、反轉和組合。
總體而言,雙線性模型主要基于乘法運算,使得其參數(shù)要比基于神經(jīng)網(wǎng)絡方法使用的參數(shù)少,但會有很多性能上的局限性。而基于神經(jīng)網(wǎng)絡的編碼模型,從實體和關系的分布式表示出發(fā),利用復雜的神經(jīng)結構來學習更豐富的表示方法,但也存在無法體現(xiàn)網(wǎng)絡安全知識圖譜中復雜的多重邊問題。
基于隨機游走的大規(guī)模知識圖譜快速訓練模型
為了對大規(guī)模的知識圖譜進行快速訓練,實現(xiàn)更加高效的知識圖譜表示學習,將圖表示學習中的隨機游走思想引入本研究,提出了一種基于隨機游走的大規(guī)模知識圖譜表示學習快速模型RWRel,整體模型框架如圖1所示。模型通過關系路徑下的隨機游走,融合知識圖譜全局結構信息,對知識圖譜中實體嵌入進行初步的訓練,加速后續(xù)表示學習收斂速度。同時,為了使得知識圖譜表示學習模型得到的向量能夠較好地刻畫關系中的主謂語義,模型聯(lián)合關系特定主語嵌入與關系特定賓語嵌入,學習了知識圖譜中關系的語法含義,最后,再次通過關系路徑下的隨機游走輔助知識圖譜的快速訓練。另外,模型還能與現(xiàn)有的多種知識圖嵌入方法進行結合,如TransE、TransR和RotatE等,具有極強的可擴展性。
1、關系路徑下的隨機游走
為了在隨機游走過程中融入知識圖譜中的關系信息,針對知識圖譜的多關系特點設計了關系路徑下隨機游走的方法,目標是使游走時搜索的目標節(jié)點在語義上與當前節(jié)點更相似。為了實現(xiàn)采樣時的語義接近,設計了一種基于關系類型的有偏采樣策略,采樣時根據(jù)之前游走的關系路徑在當前節(jié)點的鄰居節(jié)點中選擇采樣節(jié)點。具體來說,對于當前節(jié)點v,若該節(jié)點為初始節(jié)點,下一步游走沿關系r的概率為
Rv代表有節(jié)點v參與的關系類型。
通過這種處理,可以確保初始游走方向不會因為大量重復關系類型而忽視節(jié)點v周圍只出現(xiàn)1次的稀有關系。選擇完游走方向后,在該關系下繼續(xù)確定下一步游走的節(jié)點,對于當前初始節(jié)點v,若選擇的游走路線是r,下一步采樣節(jié)點是x的概率為
Nvr代表節(jié)點v在關系r下的鄰居節(jié)點。
根據(jù)初始節(jié)點選擇完第一步的游走方向和具體游走節(jié)點后,接下來游走的方向與節(jié)點上一步游走的關系路徑以及上一步的節(jié)點相關。即,對當前節(jié)點v,若上一步游走是經(jīng)過(t,rl,v)路徑,則下一步游走的采樣節(jié)點是x的概率為
π(v,rl,x)是節(jié)點v和節(jié)點x之間的未歸一化轉移概率,Z是歸一化常數(shù)。
希望游走方向整體趨向于更相似的節(jié)點的同時,保證游走中的節(jié)點多樣性,因此引入了超參數(shù)α,β,γ。通過超參數(shù)α控制關系多樣性,通過β,γ控制整體游走的深度和廣度。節(jié)點v和節(jié)點x之間的轉移概率π(v,rl,x)計算公式如下
通過α控制下一步游走時仍選擇與上一步相同的關系路線的概率,當α較大時,游走傾向于選擇與上一步不同的關系,當α小時,游走傾向于選擇與上一步相同的關系路線。ωrl(t,x)和ω(t,x)通過β,γ控制整體走向,具體計算公式如下
參數(shù)β控制反走回訪問過節(jié)點的概率,當β值較高,則游走進行反走的概率就會降低,反之,反走的概率變高。然后使用參數(shù)γ控制游走進行廣度搜索或是深度搜索。當γ>1,游走傾向于與上一步游走節(jié)點t接近的節(jié)點,當γ<1,游走傾向于當前節(jié)點v接近的節(jié)點。最后,為了減少游走過程中存在度為1的節(jié)點而出現(xiàn)的反走,我們考慮采用一種跳躍式的游走策略,使得當游走到度為1的節(jié)點時,向一定范圍內(nèi)其他與當前節(jié)點類似的節(jié)點上跳躍,這時需要依次反向搜索路徑上節(jié)點的鄰居。另外,我們認為其特定關系下的度占總度數(shù)比例越大則該節(jié)點與當前關系游走到的節(jié)點越像,在關系r下游走到的v節(jié)點和搜索節(jié)點x之間的轉移概率π(v,rl,x)計算公式如下
式中,dvx代表節(jié)點x和節(jié)點v之間的距離。
通過這個參數(shù)控制反向搜索的距離,回退的節(jié)點數(shù)越多,轉移概率越小。式(6)中
通過基于關系類型的有偏采樣策略對知識圖譜進行采樣后,本研究使用Word2Vec學習實體的向量,得到知識圖譜的初步實體嵌入。
2、引入主賓嵌入的關系編碼
實驗與結果分析
1 實驗設置
為驗證提出的模型在訓練時間和準確度上的效果,在鏈接預測任務上將其與多個得分函數(shù)組合進行了對比性實驗分析,使用Pytorch實現(xiàn)模型,并在1660TiGPU上運行。
首先使用FB15k-237和WN18RR兩個數(shù)據(jù)集進行評估,為驗證本模型在大規(guī)模數(shù)據(jù)集上的有效性,選擇部分典型的基線模型在FB15k數(shù)據(jù)集上進行對比實驗。數(shù)據(jù)集的具體統(tǒng)計信息如表1所示。
2 、實驗結果
在鏈路預測實驗中使用2個評價指標:平均倒數(shù)排名(MRR)和命中率(Hits@k)。
其中,|Q|是三元組集合的個數(shù),ranki是指第i個三元組在鏈接預測中的排名,該指標越大越好。
Hits@k是指在鏈接預測中排名小于k的三元組的平均占比。
其中,|Q|是三元組集合的個數(shù),ranki是指第i個三元組在鏈接預測中的排名,Π(?)是indicator函數(shù)(若條件真則函數(shù)值為1,否則為0)。一般的取k等于1、3或者10,該指標越大越好。
分別對比了RWRel框架和各基線模型組合在兩個數(shù)據(jù)集的結果,具體如表2、表3所示。
表2、表3中,第1部分為非神經(jīng)網(wǎng)絡方法,這類方法均可直接與RWRel框架結合;第2部分為神經(jīng)網(wǎng)絡方法,這類方法的耗時普遍比非神經(jīng)網(wǎng)絡方法高,但結果比非神經(jīng)網(wǎng)絡好一些。在FB15k-237數(shù)據(jù)集上,引入RWRel框架后,各非神經(jīng)網(wǎng)絡模型在各項指標上均優(yōu)于原始結果,在MRR指標上使用RWRel框架的TransE、DistMult、ComplEx和RotatE平均提升了2%。其中表現(xiàn)最優(yōu)秀的得分函數(shù)為RotatE,和這些方法原本的表現(xiàn)一致。在神經(jīng)網(wǎng)絡的方法上,RWRel方法略弱于最新的神經(jīng)網(wǎng)絡方法CompGCN,但在Hits@1上表現(xiàn)略好于CompGCN。在WN18RR數(shù)據(jù)集上,引入RWRel框架后各非神經(jīng)網(wǎng)絡模型均有了明顯提升,其中表現(xiàn)最好的RotatE得分函數(shù)在RWRel框架下能獲得比最新的CompGCN在論文上報告的結果高出0.6%。這表明提出的引入主賓嵌入的關系編碼方法使原始的非神經(jīng)網(wǎng)絡方法能獲得對標神經(jīng)網(wǎng)絡方法的效果。
為驗證所提出的方法在訓練時間的改善效果,將其與基線模型收斂的時間進行對比,具體結果如圖3所示。
可以看到在FB15k-237數(shù)據(jù)集上,在相同的學習率時,使用RWRel的方法均比不使用時訓練時長縮短1/2。其中效果最突出的是在DistMult模型上,時間縮短了近64%,同時在準確率上提升了4%。在WN18RR數(shù)據(jù)集上表現(xiàn)更為優(yōu)秀,使用RWRel框架后訓練時長縮短接近2/3。基于神經(jīng)網(wǎng)絡的方法在2個數(shù)據(jù)集上訓練普遍耗時在4h以上,其中效果最好的CompGCN在FB15k-237數(shù)據(jù)集上訓練時長達到6.5h,在WN18RR數(shù)據(jù)集上訓練時長接近8h。而效果表現(xiàn)最接近CompGCN模型的RWRel RotatE方法在2個數(shù)據(jù)集上僅需訓練38min和58min,可見本文方法在快速學習方面的有效性。
為了分析RWRel中隨機游走方法對于實體嵌入初始化表示的有效性,使用表現(xiàn)最好的RotatE模型,將其本身與結合RWRel框架后的2種模型在開始訓練的前600s的MRR指標變化情況進行對比,具體情況如圖4所示。
從圖4可以看出,在FB15k-237數(shù)據(jù)集上,使用RotatE作為解碼器的RWRel模型在訓練開始的10min內(nèi)就可以獲得最終收斂結果約70%的效果。而這時原始的RotatE方法僅達到最終效果的20%左右。在WN18RR數(shù)據(jù)集上,使用RotatE作為解碼器的RWRel模型在10min時表現(xiàn)出的性能要比原始的RotatE模型相對提升25%以上,這證明了RWRel模型中的隨機游走能有效提升實體嵌入初始化表達的效果,可以加快訓練速度,使模型在較短的時間內(nèi)獲得良好的表示向量。
最后,為驗證RWRel模型中引入主賓嵌入的關系編碼對表示學習效果的提升,設計了一個消融實驗,分別將模型中的隨機游走模塊和關系編碼模塊移除,觀察剩余模塊對實驗結果的影響。具體結果如表4所示。其中,RWRel RotatE(1)代表模型中初始化嵌入為隨機生成,保留了主賓嵌入,RWRel RotatE(2)代表模型保留了關系路徑下的隨機游走,移除了主賓嵌入的關系編碼。實驗中各模型運行時間對比如圖5所示。
從表4可以看出,去除引入主賓嵌入的關系編碼后,RWRel框架得到的表示結果與原來得分函數(shù)RotatE的結果基本一致,證明RWRel框架在提升訓練速度的同時能基本保留原始得分函數(shù)的性能。同時,僅保留關系編碼模塊的RWRel框架則比RotatE模型提升了超過3%的性能,證明引入主賓嵌入的關系編碼能有效表達知識圖譜中關系的語法信息,為RWRel框架提供良好的性能支撐。從圖5中各模型的運行時間可以看出,不使用隨機游走的RotatE和RWRel RotatE(1)訓練時長均超過了80min,而使用了隨機游走的RWRel RotatE(2)和RWRel RotatE的訓練時長均在40min以下,證明RWRel框架的訓練速度提升主要來源于隨機游走模塊。通過消融實驗可以看出,完整的RWRel框架中,關系路徑下的隨機游走加快表示學習方法的訓練速度,引入主賓嵌入的關系編碼提升了表示學習的表示性能。
結論
針對現(xiàn)有大規(guī)模知識圖譜表示學習需要大量時間進行訓練的現(xiàn)狀,提出了一種基于隨機游走的知識圖譜快速訓練模型RWRel,該模型包含了關系路徑下的隨機游走策略和針對關系語法含義的主賓嵌入編碼,能夠縮短大規(guī)模知識圖譜表示學習時訓練所需的時間,并有效改善知識圖譜關系中蘊含的語法信息的表達。同時該方法還擁有良好的可擴展性,可直接運用于未來提出的其他得分函數(shù)上。但是,計算效率和模型表現(xiàn)力之間權衡,始終是大規(guī)模知識圖譜的構建需要考慮的問題。隨著預訓練模型的發(fā)展,將預訓練模型移植到圖譜表示學習上,提前捕捉知識圖譜中的實體關系和相關知識,可能會在下游應用中縮短時間、提升用戶體驗。另外,對于動態(tài)知識圖譜中的快速表示學習也是未來的重要研究方向。