张玉潇,杜晓敬,陈庆锋
(广西大学 计算机与电子信息学院,南宁 530004)
近年来,作为人类结构化知识的一种形式,知识图谱(Knowledge Graph,KG)得到越来越多来自学术界和工业界的关注和研究.知识图谱最早由谷歌提出,其初衷是为了提升搜索引擎返回答案的质量以及用户查询的效率.在知识图谱的辅助下,搜索引擎能够掌握用户查询背后的语义信息,然后返回更为精准的结构化信息,从而提高用户的搜索质量以及搜索体验.知识图谱又被称作知识库,能够将互联网中大量存储的结构分散、内容多元的碎片信息以结构化的方式组织和利用起来.从物理结构上看,知识图谱是由包括实体、关系以及它们的语义描述在内的事实三元组组成.其中,实体可以是现实世界中的具体对象或者抽象概念,关系代表两个实体之间的相互联系,语义描述则包含实体和关系的类型定义和属性说明.知识图谱其中知识可以通过事实三元组以(头实体,关系,尾实体)形式表示,例如:三元组(史蒂夫.乔布斯,发明者,iPhone)表示“史蒂夫.乔布斯是iPhone的发明者”.从组织结构上看,知识图谱是由节点-实体和边-关系组成的网状结构,可以看作一个有向图,它的节点代表头实体和尾实体,有向连边代表头实体和尾实体之间的关系.正是由于在知识存储和管理上的优点,知识图谱被广泛应用于聊天机器人[1]、智能问答系统[2]和智能推荐系统[3]等人工智能相关的应用,并取得了巨大的成功.因此,许多大型开源知识图谱包括Freebase[4]、Dbpedia[5]、YAGO[6]和NELL[7]等得到了开发和应用.
在知识图谱相关研究中,知识表示是知识图谱应用的基础.一方面,虽然知识图谱能够有效记录大量的知识,但是它们底层的符号特性使得它们不能直接应用于机器学习模型中.另一方面,当前最先进的知识图谱也仍存在三元组缺失等问题,因此进行知识图谱的链接预测任务至关重要.知识图谱的知识表示学习(Knowledge Representation Learning,KRL)也称为知识图谱嵌入[8](Knowledge Graph Embedding,KGE),同词嵌入方法捕获单词的语义信息类似,通过将实体和关系映射到低维向量中,捕获它们的语义信息.知识图谱嵌入相较于one-hot 编码,能够提高计算效率,并且能够缓解数据稀疏问题,达到融合异构信息的目的.同时,知识图谱嵌入还保留实体和关系原有的结构信息,可有效应用于包括链接预测和关系推理等相关下游任务.
尽管知识图谱嵌入越来越普及并取得了越来越好的效果,但是同其他机器学习模型一样,知识图谱嵌入极易受到对抗性扰动样本(Adversarial Perturbation Samples)的干扰.所谓的对抗性扰动样本是指在原始的干净样本数据集上进行的修改(如在原知识图谱上删除或者添加三元组),微小的扰动对于整体知识图谱而言是微不可查的,但是却能诱导知识图谱嵌入的输出发生偏差.例如Zhang等人[9]在WN18数据集上仅仅通过删除1条相关三元组便使得知识图谱嵌入模型在目标三元组上的前十命中率从0.7降到0.26,这个过程也就是对知识图谱嵌入进行对抗性攻击.目前知识图谱嵌入对抗性攻击的相关研究[10]表明,针对目标三元组,在训练集中删除或者添加少量精心设计的扰动样本就能够对训练后的嵌入模型造成极大的伤害,甚至能够使得嵌入模型对目标三元组产生完全错误的预测结果.事实上,目前许多知识图谱都是建立在不可靠甚至公共数据源之上,如著名的Freebase知识图谱从包括个人以及维基用户提交等来源获取数据,这类数据的开放性会使得知识图谱嵌入模型很容易受到恶意的攻击.当受到攻击时,知识图谱嵌入模型会产生大量不可靠甚至有偏差的嵌入结果,对相关下游任务和应用造成损害.例如,在反诈骗应用中,嫌疑账户通过在财务关系知识图谱中与其他正常账户进行交易产生联系,从而规避检测模型[11];垃圾邮件发送者通过创建虚拟的关注者,以增加虚假信息被推荐和传播的机会[12]等.知识图谱嵌入技术被广泛应用到各种相关人工智能应用当中,如果在现实生活中知识图谱嵌入不能有效防御对抗性攻击,恶意的攻击就将会给普通民众带来金钱损失和人身伤害,特别是对于许多安全敏感的应用,这甚至会对社会安全造成严重的威胁.因此,知识图谱嵌入的健壮性以及对抗性攻击的研究具有重要的意义与价值,也可为防御对策提供参考.
1.1 知识图谱嵌入
作为人类结构化知识的一种形式,知识图谱是事实的结构化表示,由实体、关系和语义描述组成.知识图谱嵌入将知识图谱的实体和关系转化为连续的低维向量空间,这样既方便了知识图谱的操作同时保留了知识图谱原有的结构和语义.对于知识图谱嵌入的研究主要集中在以下4个部分:表示空间、评分函数、编码模型和知识图谱辅助信息.
表示空间的关键问题是学习实体和关系的低维分布式嵌入,现有的知识图谱嵌入的表示空间主要有实值点集空间(包括向量、矩阵和张量空间)、复数向量空间、高斯空间和流形空间等.点集欧式空间被广泛应用于表示实体和关系,在向量或矩阵空间中投影关系和实体的嵌入.其中,TransE模型[13]在d维向量空间中表示实体和关系即h,r,t∈d,并使嵌入遵循平移原理h+r≈t.为了解决实体和关系在单一空间不足的问题(在处理一对多、多对一和多对多复杂关系时的局限性),TransR[14]进一步引入了实体和关系的分离空间,使用投影矩阵Mr∈k×d将实体(h,t∈k)投影到关系(r∈d)空间.NTN模型通过双线性张量神经层对实体进行多维度建模,头实体和尾实体之间的关系被捕获为一个张量,表示为在复数向量空间中,实体和关系不再使用实值空间,而是在复数空间中表示,其中h,r,t∈d.以头实体为例,h有一个实部Re(h)和一个虚部Im(h),即h=Re(h)+iIm(h).在欧拉等式eiθ=cosθ+isinθ的启发下,RotatE[15]提出了一种旋转模型,该模型以关系作为复数空间中从头实体到尾实体的旋转,如t=h∘r.其中∘ 表示元素哈达玛积.高斯空间中,基于密度的KG2E嵌入模型引入高斯分布来处理实体和关系的(不)确定性,将实体和关系嵌入到多维高斯分布H~N(μh,∑h)和T~N(μt,∑t)中.
得分函数用于衡量事实三元组的合理性,有两种典型的评分函数,基于距离的评分函数和基于相似性的评分函数.基于距离的评分函数通过计算实体之间距离来衡量事实三元组的合理性,其中具有h+r∈t关系的Trans系列模型被广泛使用.基于语义相似性的评分函数通过语义匹配来衡量事实三元组的合理性,语义匹配通常采用乘法公式,即hTMr≈tT.编码模型包括线性/双线性模型、因式分解模型和神经网络模型.线性模型通过将头部实体投影到接近尾部实体的表示空间中,将关系表示为线性/双线性映射.因式分解旨在将关系数据分解成低秩矩阵进行表示学习.神经网络模型用非线性神经激活和更复杂的网络结构编码关系数据.为了便于更有效的知识表示,一些嵌入模型结合了外部辅助信息,如文本描述、类型约束、关系路径和视觉信息以及知识图谱本身等.
1.2 对抗性攻击
研究者们很早之前就已经开始研究在图像、图数据以及知识图谱上的机器学习模型的健壮性(或鲁棒性),最早可以追溯到图像分类任务上的对抗性攻击研究.2014年,Szegedy等人[16]首次发现了图像上存在的少量人类难以察觉的改动(也称为扰动)能够导致深度学习模型输出完全错误的分类结果,他们进而尝试通过方程求解使深度神经网络分类错误的最小扰动解.但是由于计算难度很高,他们提出基于盒约束的L_BFGS方法,将问题转化为凸优化过程,寻找最小的损失函数添加项,从而使得深度神经网络分类错误.受图像分类对抗性攻击的启发,图数据上的图表示学习的健壮性也相继得到研究,并取得不错的效果.图表示学习主要分为图神经网络(Graph Neural Network)、网络嵌入(Network Embedding)和知识图谱嵌入等.2018年,Zügner等人[17]首次提出图神经网络的对抗性攻击方法.他们提出的NETTACK方法,利用节点的特征和图的结构,构建评估函数进而筛选出攻击效果最佳的连边.实验表明,即使只进行少量的扰动攻击,节点分类的准确性也会显著降低,且这种图神经网络攻击方法具有可转移性.随着对抗性攻击工作的日益积累,许多不同角度的攻击方法得到研究.
通常对抗性攻击根据攻击者的知识背景可以分为白盒攻击、黑盒攻击和灰盒攻击.1) 白盒攻击:目标模型的相关参数、训练数据、标签和预测输出等所有信息均可获知,攻击者根据这些信息进行相应攻击策略的选择,例如利用模型的损失函数的梯度进行攻击.然而在实际攻击场景中,攻击者通常无法全部掌握所有信息,因此白盒攻击常用于评估目标模型在极端不利情况下的鲁棒性;2) 灰盒攻击:白盒攻击设定攻击者可以通过模型参数来计算梯度等方式直接进行攻击,这在现实场景中并不总是可行的.大部分情况下攻击者并不能完全获知目标模型的结构,通过带标记的数据训练一个目标模型结构类似的替代模型,对替代模型进行白盒攻击,实现对目标模型的攻击;3) 黑盒攻击:黑盒攻击设定攻击者对于目标模型的相关参数以及训练数据等完全不可知,攻击者只能通过目标模型的输入信息和输出信息进行攻击,因此黑盒攻击最难以实施.
通常对抗性攻击可以发生在模型训练和模型测试两个阶段,攻击者的攻击能力意味着对抗性攻击发生的阶段,分为中毒攻击和逃逸攻击两类.中毒攻击(Poisoning attack)作用在目标模型的训练阶段,攻击者通过在训练数据集中添加扰动样本来影响训练后的目标模型的性能.逃逸攻击(Evasion attack)发生于目标模型已经训练好之后或者发生在目标模型的测试阶段.此时目标模型已经固定,攻击者无法通过任何手段修改模型的参数或者结构.逃逸攻击的目标是在测试阶段添加对抗样本,使得目标模型对测试阶段中的对抗样本做出错误判断.
1.3 知识图谱嵌入对抗性攻击
随着图神经网络上的对抗性攻击研究不断取得进展,知识图谱嵌入的对抗性攻击也逐渐取得关注.2019年,Zhang等人[9]首次提出对知识图谱嵌入模型的对抗性攻击方法.由于知识图谱的异构特性,图神经网络上的攻击方法不能直接应用到知识图谱嵌入中,作者提出一系列包括直接删除攻击(Direct Deleting Attack)、直接添加攻击(Direct Adding Attack)、间接删除攻击(Indirect Deleting Attack)与间接添加攻击(Indirect Adding Attack)等方法,有效操纵了知识图谱中任意目标事实的合理性.2021年,Bhardwaj等人[10]利用知识图谱的关系模式,通过推理模式包括对称模式、反转模式与组成模式提高知识图谱嵌入模型对于虚假三元组的预测置信度.如图1所示,该知识图谱由个人和银行账户两种类型的实体组成,最初的知识图谱嵌入模型对目标三元组(Karl,affiliated_with,Joe_the_mobster)的预测为真.但是当恶意攻击者添加了两条虚假的对抗性三元组后,这两条三元组通过组合模式将Karl和一个并不可疑的人Bob关联起来.此时,重新训练后的知识图谱嵌入模型将目标的三元组预测为假.目前已有的知识图谱嵌入攻击都是从嵌入模型的损失函数出发,通过构建目标三元组相关的攻击得分函数进行攻击,缺少对于知识图谱图结构信息的掌握,往往难以得到最佳的攻击样本.同时,已有的知识图谱嵌入攻击均属于白盒攻击,在实际的攻击中,攻击者往往无法完全掌握嵌入模型的全部信息,一旦相关嵌入模型对评分函数和训练过程等进行优化,原先的攻击就有可能失去效果.针对上述已有的对抗性攻击存在的问题,本文从子图结构出发,通过修正的余弦相似度进行辅助攻击.
图1 知识图谱嵌入对抗性攻击示例[10]Fig.1 Example of adversarial attack on knowledge graph[10]
2.1 问题定义
为了便于后续的描述和方便理解,本节首先对相关问题进行定义和说明.
定义1.(知识图谱)对于一个给定的知识图谱,本文用G=(V,E)表示,其中V代表所有的实体节点,E代表实体之间的真实连边,其中E分为两个部分:可观测到的链接EO和未知链接ET,EO∪E,EO∩ET=Ø.这里,由于本文基于目标三元组的子图结构,不同于其他知识图谱定义的是,G被定义为无向图.
定义3.(代理模型)根据灰盒攻击的定义,攻击者根据掌握的目标模型的部分信息,利用标记的训练数据训练一个代理模型近似目标模型,然后生成扰动样本进行攻击.
根据上述的定义,本文采用基于图结构的链接预测任务训练代理模型,通过代理模型生成扰动样本对目标知识图谱嵌入模型进行灰盒攻击.
2.2 DLOSSAA子图结构深度学习框架
子图结构深度学习模型的框架如图2所示,以知识图谱中目标三元组原始的相关子图作为输入,并在相同节点上输出一个带有新的链路权值的图,链路权重的大小代表对子图以及目标三元组的重要程度.如图2中左边原始子图所示,为了提高子图结构的学习能力,采用目标三元组的三阶及低阶邻接矩阵作为输入来学习子图结构.如图2中右边生成的新的带有链路权值的子图所示(高权值链接用粗线条表示),对目标三元组以及子图重要性高的链接的权值在训练中得到增强.
图2 图结构深度学习框架Fig.2 Graph structure of deep learning framework
Z*=λ(λXTX+I)-1XTX
(1)
其中,I表示单位矩阵.这样权值邻接矩阵可以计算为:X*=XZ*,因此图结构深度学习模型的更新过程可以表示为:
(2)
X*=φ(X,n,λ)
(3)
为了更好地捕获图的结构信息,学习框架还考虑了二阶及三阶邻接矩阵,这样最终的输出定义为:
O*=φ(X,n,λ1)+αφ(X2,n,λ2)+βφ(X3,n,λ3)
(4)
其中,X,X2与X3为线性编码的输入,λ1,λ2与λ3为参数,α与β为正则化参数,邻接矩阵O*中的所有元素都可能为非0值,代表相关链接在图结构中对于目标三元组的影响力.图结构深度学习的过程如算法1所示.
算法1.子图结构深度学习
输入:目标三元组相关子图的邻接矩阵X,迭代层数n,参数λ1,λ2与λ3以及正则化参数α与β
输出:优化邻接矩阵O*
1.分别获取二阶及三阶邻接矩阵X2,X3
2.基于公式(4)学习第n层邻接矩阵
3.计算最终优化邻接矩阵O*
2.3 修正的余弦相似度方法
由上节可知,图结构学习模块最终学习的优化邻接矩阵中的元素的值均可能非0,其权值大小代表对目标三元组链接相关子图的影响程度.一般情况下,可以直接通过优化邻接矩阵O*筛选扰动样本进行攻击,对抗性删除攻击情况下可以根据O*选出EO中权值最大的链接作为扰动样本进行删除.然而对于添加攻击,考虑到知识图谱不同关系的存在,也就是在将ET中的权值最小链接添加到知识图谱的训练集中时,仅确定两个实体间存在链接并不够,还需要确定中间关系.显然,通过穷举每个实体对与关系的组合作为扰动样本分别进行攻击选出最优的组合并不可行,这样每次攻击都需要重新训练知识图谱嵌入模型,计算量过大.另外,通过随机选取一个关系与实体对组合成扰动样本的方法难以得到最优的扰动样本,攻击效果也不稳定.
为了解决上述问题,本文采用修正的余弦相似度[18](Adjusted Cosine Similarity)辅助攻击.需要注意的是,利用修正的余弦相似度衡量扰动样本与目标三元组之间的影响力,此时的攻击属于白盒攻击,需要掌握目标嵌入模型包括嵌入表示在内的全部信息.给定两个向量a,b∈d,它们之间的余弦相似度可以定义为:其中:=显然,余弦相似度侧重于通过特征向量之间的角度来衡量两个向量之间的相似程度.直观上,两个三元组的嵌入向量之间的相似度越高,代表这两个三元组彼此间的影响力越强,修改其中的一条三元组对于剩下的三元组的干扰越高.
余弦相似度致力于从方向上区分差异,但是却对绝对数值并不敏感,这容易出现在位置上差距很大但是相似度却很高的情况,例如真实性度量相差较大的两个三元组,它们的嵌入向量间的余弦相似度反而较高.为了解决余弦相似度对绝对数值的不敏感性导致结果的误差,修正的余弦相似度先对向量a,b∈d进行修正,即在所有维度上的数值减去它们的均值:然后再对修正后的向量a′,b′计算余弦相似度.
对于知识图谱嵌入来说,一个三元组的嵌入表示(h,r,t)包含了h,r,t∈k共3个嵌入向量,为了能够利用修正的余弦相似度来分析扰动样本三元组Z与目标三元组X之间的相似程度φ(Z,X),首先将三元组的实体和关系的嵌入组合起来,这里本文采用点积的形式:这里hZ表示三元组Z的头实体嵌入向量.然后计算fZ与fX的修正向量f′Z与f′X,最后得到三元组Z和X间修正的余弦相似度:
φ(Z,X):=cos(f′Z,f′X)
(5)
2.4 对抗性攻击
在前面两节中,对于本文使用到的模型和方法进行了介绍,本节将前两节生成的扰动样本进行知识图谱嵌入对抗性攻击.
本文为了降低计算难度以方便计算,同时为了同其他知识图谱嵌入对抗性攻击设定保持一致,将对抗性攻击分为对抗性删除和对抗性添加攻击两个部分分开进行研究.事实上,知识图谱嵌入的对抗性添加攻击的难度比删除攻击的难度高很多,这是因为删除攻击只需要在训练集中存在的真实三元组中筛选扰动样本即可,而添加攻击却需要在训练集中添加并不存在的三元组,考虑到知识图谱的规模,添加攻击的搜索空间往往非常庞大,这也是本文分开进行删除和添加攻击研究的原因.
根据定义4,本文分别从对抗性删除攻击和添加攻击进行知识图谱嵌入的攻击,首先介绍对抗性删除攻击.如图3所示,其中3(a)表示利用目标三元组子图结构深度学习得到的带权值的子图,其中加粗线条表示的链接对于目标三元组具有较高的影响力.直观上,删除权值最高的链接能够最大程度上降低目标三元组的可信度,如图3(b)中虚线所示.考虑到攻击预算Δ(删除或者添加三元组的个数),基于子图的优化邻接矩阵O*获取扰动样本,如算法2所示,这种删除攻击属于灰盒攻击.为了进步提升删除攻击的效果,可以根据修正的余弦相似度辅助筛选,只需计算EO中链接对应的三元组与目标三元组T的相似度,再根据Δ选取相似度最高的三元组作为删除扰动样本集即可.
图3 基于子图结构深度学习的对抗性攻击示例Fig.3 Example of adversarial attack based on sub-graph structure deep learning
算法2.对抗性删除攻击
输入:原知识图谱G=(V,E),目标三元组T,攻击预算Δ
1.获取目标三元组的相关子图
2.利用算法1计算相关子图的优化邻接矩阵O*
3.根据相关子图得到EO
4.按照O*降序排列EO
5.基于Δ获取删除攻击扰动样本Eattack-
算法3.对抗性添加攻击
输入:原知识图谱G=(V,E),目标三元组T,攻击预算Δ
1.获取目标三元组的相关子图
2.利用算法1计算相关子图的优化邻接矩阵O*
3.根据相关子图得到ET
4.按照O*升序排列ET
5.基于Δ获取添加攻击扰动样本的头尾实体对
6.将头尾实体对于所有关系组合得到候选扰动样本集
7.根据公式(3)~公式(5),计算候选样本三元组与T的相似度φ
8.对于每个头尾实体对,筛选出φ最低的扰动三元组
9.根据筛选出的扰动样本生成Eattack+
本文的对抗性添加攻击如算法3所示,首先需要对目标三元组的相关子图进行图结构深度学习得到优化邻接矩阵O*.根据2.3节,在进行添加攻击时,不仅要考虑到需要实体对E×E,还需要考虑实体对之间的实体.如果仅仅考虑实体对,那么通过优化邻接矩阵O*选取链接权值最小的实体对,然后随机选取关系组成扰动样本三元组,最后添加到训练数据集中,这样尽可能对目标三元组的真实性造成影响.本文通过修正的余弦相似度对实体对与关系的所有组合进行筛选,进一步筛选出与目标三元组相似度最低的组合,如图3(c)所示,图中的虚线线条代表的三元组便是经过筛选后的扰动样本.
3.1 数据集
本文采用两个通用的知识图谱数据集:FB15K-237和WN18RR验证和评估对抗性攻击方法的效果.完成知识图谱嵌入的链接预测,并与其他对抗性攻击方法进行对比分析.FB15K237源于Freebase,是一个由大量关于电影、演员、奖项、体育和运动队等真实事实组成的知识图谱.WN18RR属于WordNet,是一个大型词汇知识图谱.FB15K-237和WN18RR的统计信息如表1所示.
表1 WN18RR与FB15K-237统计Table 1 Statistics of WN18RR and FB15K-237
为了验证子图结构攻击方法降低链接预测性能的效果,本文采取了筛选措施:从基准数据集的测试三元组集中选取子图结构较为复杂度排名较高的三元组子集,这样可以过滤掉知识图谱稀疏的部分,从而更好地研究知识图谱的子图结构.
3.2 对比模型
本文选取3个最具代表性的知识图谱嵌入模型:TransE、DistMult和ComplEx作为目标模型,它们的评分函数及相关参数在第1节有详细介绍.本文将提出的基于子图结构深度学习的对抗性攻击方法在这些目标模型上与目前已有的对抗性攻击方法进行对比.在这些对抗性攻击方法中,Random_d方法随机从基准数据集的训练集中随机选取三元组作为扰动样本进行删除攻击;Randon_a方法则随机生成不存在于训练集中的三元组作为扰动样本进行添加攻击.Random_d和Randon_a方法都是采用完全随机的方法进行攻击,用来研究嵌入模型在随机攻击情况下的性能表现,同时作为其他对抗性攻击方法的参照.Direct_Del和Direct_Add是由Zhang等人[9]提出的利用目标嵌入模型评分函数以及梯度进行对抗性删除和添加攻击;CRIAGE方法是由Pezeshkpour等人[19]提出的通过构造自动编码器在潜在空间中重建实体和关系来进行对抗性攻击.需要注意的是,该方法仅针对DistMult模型,由于构造的自动编码器的原因无法适用到TransE模型和ComplEx模型.Bhardwaj等人[20]先后提出了RIP(Relation Inference Pattern)方法和IA(Instance Attribution)方法进行知识图谱嵌入对抗性攻击.其中,RIP方法包括对称模式、翻转模式和组合模式3种攻击模式,这里本文采取这3种攻击模式攻击结果的平均值作为对比结果;IA方法则采用相似性度量作为衡量指标生成扰动样本.
为了便于进行试验和统一比较,本文随机从基准数据集的测试集中选取100条三元组作为目标三元组,并统一作为这些对抗性攻击方法的目标三元组,其他攻击设置均保持一致.
3.3 评价指标和实验设置
同之前的知识图谱嵌入对抗性攻击工作一样,本文采用MRR和Hit@10作为实验的评估指标,这两个指标也是知识图谱嵌入模型在链接预测上的常用评估指标.MRR是指所有真实三元组的平均倒数排名,Hit@10是指正确三元组排名前十的比例.MRR和Hit@10值越大代表知识图谱嵌入模型在链接预测上的性能越好,而对抗性攻击后它们的值越低则代表对抗性攻击方法的效果越好.
由于计算资源的限制,试验中知识图谱嵌入模型的维度均设置为k=50,训练迭代次数设置为500次.为了统一标准,知识图谱嵌入模型的训练使用THUNLP-OpenKE提供的代码实现[21],其他参数采用默认设定.对于本文提出的DLOSSAA模型,实验中λ1,λ2与λ3均设置为0.12,正则化参数α与β分别设置为0.1和0.005,模型迭代层数n设置为4.同时,对于对抗性攻击的攻击预算(attack budget,添加干扰样本的数量)统一设置为1.这些攻击方法基于Pytorch和Python 3实现,相关代码在配有RTX 2080 Ti GPU 的服务器上运行.
3.4 实验结果与分析
本节将对相关实验结果进行详细展示和说明,并对本文提出的基于子图结构深度学习的知识图谱嵌入对抗性攻击方法的攻击效果进行分析和讨论.表2与表3显示的是在不同知识图谱数据集上对抗性删除攻击的结果,表4与表5则是在对抗性添加攻击的实验结果.这几个表都按照行中的内容分为了4个区域块,并用边框线进行分割.第1个区域块中的内容为3个目标知识图谱嵌入模型以及分别对应的评价指标,第2个区域为在原始的知识图谱数据集上相关嵌入模型的结果,其中*表示该数据来源于Dettmers[22]中的数据结果,这些结果将与嵌入模型在攻击后的知识图谱上得到的实验结果进行对比.第3个区域为已有的的对抗性攻击方法在不同知识图谱数据集上对不同的知识图谱嵌入模型攻击后嵌入模型的结果,显然,攻击后的结果越低表明攻击方法越有效.第4个区域是本论文提出的对抗性攻击方法的实验结果,其中DLOSSAA(Deep Learning of Subgraph Structure Adversarial Attack)表示基于子图结构深度学习进行对抗性攻击,DLOSSAA_Cosine则表示在子图结构深度学习的基础上利用修正的余弦相似度辅助攻击.
表2 对抗性删除攻击在FB15K-237上的结果Table 2 Adversarial deleting attack on FB15K-237
表3 对抗性删除攻击在WN18RR上的结果Table 3 Adversarial adding attack on WN18RR
表4 对抗性添加攻击在FB15K-237上的结果Table 4 Adversarial deleting attack on FB15K-237
表5 对抗性添加攻击在WN18RR上的结果Table 5 Adversarial deleting attack on WN18RR
对抗性删除攻击:对抗性攻击删除攻击的实验结果如表2与表3所示,其中表2为在FB15K-237知识图谱数据集上的攻击结果,表3为在WN18RR上的攻击结果.首先对比Random_d和Randon_a攻击方法攻击前后的实验结果,可以发现通过随机选取三元组作为扰动样本进行删除或者添加攻击对于目标三元组的真实性影响微乎其微,这是因为知识图谱的规模比较庞大,通过随机选取的方法得到对于目标三元组有影响的三元组的概率可以忽略不计.对比目前提出的对抗性攻击方法的结果,可以发现IA方法对ComplEx模型和DistMult模型的攻击表现突出,而Direct_Del方法对TransE模型的攻击效果较优.最后对比本文提出的攻击方法与上述方法的结果,可以发现基于子图结构深度学习的对抗性攻击DLOSSAA方法在所有的攻击方法中对TransE模型的攻击效果最佳,例如在FB15K-237上MRR能够从原来的0.26降到0.18.不过SAA方法对于ComplEx模型和DistMult模型的攻击效果则要稍弱于IA方法,但是比其他方法的攻击要好.而可以发现,在修正的余弦相似度的辅助下,DLOSSAA_Cosine方法在FB15K-237和WN18RR上对于3个嵌入模型的攻击效果都表现最佳,验证了本方法提出的对抗性攻击方法的有效性.
对抗性添加攻击:对抗性添加攻击的实验结果如表4与5所示,其中表4为对抗性添加攻击在FB15K-237上的实验结果,表5为对抗性添加攻击在WN18RR上的结果.首先对比删除攻击和添加攻击的实验结果,显然添加攻击的攻击效果比删除攻击的效果整体上要差一些.这是因为相较于删除攻击,添加攻击更难也更复杂一些.删除攻击只需要考虑在训练数据集中筛选出扰动样本三元组,而添加攻击则需要考虑添加训练数据集中并不存在的三元组,导致添加攻击需要在远大于删除攻击搜索空间的由实体对与关系组合的搜索空间进行筛选.对比已有的对抗性攻击方法的实验结果,可以发现Direct_Add方法的表现相对最为欠佳,因为Direct_Add方法在通过扰动收益得分函数的梯度进行攻击前对搜索空间通过下采样方式进行缩敛.而RIP方法与IA方法通过关系推理与相似性度量的方法在一定程度上缓解了搜索空间过大的问题.对比本文提出的对抗性添加攻击方法与其他攻击方法,可以发现基于子图结构深度学习的DLOSSAA方法表现并未达到预期,攻击效果仅比Direct_Add方法的效果稍好一些.不过通过修正的余弦相似度对子图深度学习生成的添加扰动攻击样本进行筛选后,DLOSSAA_Cosine添加攻击方法表现同样好于上述攻击方法,在WN18RR上将DistMult模型的MRR从0.43降到0.22.
灰盒攻击:通过2.1节中的的介绍可知,本文提出的DLOSSAA方法属于灰盒攻击,也就是说攻击者仅能获取攻击模型的训练数据等部分信息,通过训练代理模型近似目标模型展开攻击,而结合Consine相似度辅助攻击的DLOSSAA_Cosine方法则属于白盒攻击.目前已有的知识图谱嵌入对抗性攻击均属于白盒攻击,本文首次探索了有限条件下的灰盒攻击场景.根据上述的攻击实验结果可以发现灰盒攻击的效果与目前已有的其他白盒攻击效果相当.
子图结构分析:上述的实验验证了通过子图结构深度学习对知识图谱嵌入进行对抗性攻击的有效性,本文进一步分析子图结构,研究不同的子图输入的学习效果,在WN18RR上的实验结果如表6所示.其中,DLOSSAA_1表示仅考虑目标三元组相关子图的一阶邻接矩阵,即在学习优化邻接矩阵O*时仅计算一阶邻接矩阵,此时α与β均为0;DLOSSAA_2表示仅计算相关子图的一阶和二阶邻接矩阵,此时β设置为0;DLOSSAA_3表示学习相关子图的一阶、二阶和三阶邻接矩阵结构信息,此时的实验结果即为上述DLOSSAA方法的实验结果.通过对比可以看到,融合多阶邻接矩阵结构信息进行对抗性攻击的攻击效果更好,DLOSSAA_3无论是删除攻击还是添加攻击的结果均优于DLOSSAA_1和DLOSSAA_2.另外,与其他已有的攻击方法的结果比较可以发现,DLOSSAA_1与已有的Direct_Del和Direct_Add攻击方法的效果比较接近.这可能是因为Direct_Del和Direct_Add方法生成的扰动样本直接与目标三元组相关,这正包含在目标三元组的一阶邻接矩阵结构信息当中.
表6 子图结构分析实验结果Table 6 Results of subgraph structre analysis
本章提出了一种基于子图结构深度学习的知识图谱嵌入对抗性攻击方法(DLOSSAA),通过对目标三元组的相关子图结构进行学习并利用修正的余弦相似度来筛选生成扰动样本.实验结果表明,DLOSSAA_Cosine的攻击效果优于目前已有的对抗性攻击方法,在FB15K-237和WN18RR数据集上,无论是删除攻击还是添加攻击的攻击效果.同时,本文还首次研究了灰盒攻击设定下的知识图谱嵌入对抗性攻击.实验结果显示灰盒攻击场景下DLOSSAA的对抗性攻击效果达到白盒攻击中一般攻击方法的水平,可为后续更多场景下的知识图谱嵌入对抗性攻击研究提供参照.本研究对于知识图谱嵌入的健壮性研究具有重要的意义,也可为防御对策提供参考.
猜你喜欢 对抗性三元组子图 基于带噪声数据集的强鲁棒性隐含三元组质检算法*计算机与数字工程(2023年5期)2023-08-31技能主导类隔网对抗性项群运动训练特征和实战技巧研究——以网球为例四川工商学院学术新视野(2021年1期)2021-07-22特征标三元组的本原诱导子山西大学学报(自然科学版)(2021年1期)2021-04-21缺乏阳刚的男孩子要多参加对抗性运动家庭医学(下半月)(2019年8期)2019-09-25关于余挠三元组的periodic-模五邑大学学报(自然科学版)(2019年3期)2019-09-06临界完全图Ramsey数同济大学学报(自然科学版)(2019年2期)2019-04-02关于羽毛球教学中多球训练的探讨东方教育(2018年19期)2018-08-23技战能主导类格斗对抗性项群的竞技特点与训练要求中国体育教练员(2017年2期)2017-07-31基于频繁子图挖掘的数据服务Mashup推荐电子科技大学学报(2016年2期)2016-08-31不含2K1+K2和C4作为导出子图的图的色数华东师范大学学报(自然科学版)(2014年1期)2014-04-16