本发明涉及机器学习,尤其涉及一种基于重构网络的联邦知识图谱表示学习方法和系统。
背景技术:
1、现有知识图谱联邦学习模型多基于服务器-客服端架构,在服务器端定义全局模型并将其分发到客户端训练,最后聚合所有客户端的全局模型作为最终的模型。但是上述模型忽视了知识图谱在不同客户端的知识异构性,因此部分方法采用本地模型和全局模型两个单独的模型来缓解数据异构性。其中本地模型通常采用张量分解、字典索引、线性映射等方式关联全局模型。但此类方法受限于关联运算的限制,只适用于特定图谱结构而无法扩展到更多领域的知识图谱。知识图谱由实体(节点)和实体之间的关系(边)构成,其结构化的数据形式能够有效的表示海量的通用/领域知识,并且能够提供简洁的索引方式。知识图谱表示学习将其包含的实体和关系映射到低维向量空间中,并确保实体和关系的向量表示可以体现知识图谱的结构信息。实体和关系的向量表示进一步提高了知识图谱在下游任务(如推荐系统、知识发现、问答系统)中使用的便利性,并支持包括图谱补全、推理、纠错等任务。
2、通常情况下,知识图谱会储存在大型图数据库中,然而,现实生活中,许多知识图谱会分散在多个客户端,比如用户在不同银行的账户信息,客户在不同平台的购买记录。并且,客户端由于信息安全、数据限制等原因无法将自己的数据共享给其他客户端。这种情况下,由于单个客户端只包含部分知识图谱,因此无法直接应用传统知识图谱表示学习方法。为了解决这个问题,联邦学习架构被引入到知识图谱表示学习来实现在不接触完整数据的情况下完成表示学习。
3、同时知识图谱表示学习需要将知识图谱映射到低维向量空间中,而对于知识图谱分布在多个客户端的场景,可以通过基于联邦学习的框架从而实现在不接触全部数据的情况下完成知识图谱的表示学习。但是知识图谱的数据类型通常为图数据,和传统联邦学习处理的图像、文本等存在很大的区别,因此需要对联邦学习模型进行针对性的设计。
4、现有联邦知识图谱表示学习分为两种主要类型。第一种类型采用客户端-客户端的联邦学习架构,即客户端可以将本地的知识图谱模型分享给信任的其他客户端,而每个客户端可以用其本地数据和获得的其他客户端的模型完成训练。如果客户端之间的连接关系多于一个包含所有客户端的最小生成树,最终每个客户端的模型可以获取完整的知识图谱信息。
5、第二种类型采用服务器-客户端的联邦学习架构,该架构额外引入一个可以获取全部客户端模型的服务器。在学习过程中,服务器定义一个全局模型,并将该全局模型分发到每一个客户端中。客户端根据本地的知识图谱训练全局模型,并将训练完成的全局模型返回到服务器。随后服务器采用模型聚合算法将所有接收到的全局模型聚合成统一的全局模型。考虑到知识图谱在不同客户端会表现出较高的异构特性,因此部分方法额外定义了独立于全局模型的本地模型。由此,全局模型学习不同客户端之间共享的特征,而本地模型学习本地知识图谱独特的特征。这些本地模型通常采用张量分解、字典索引、线性映射等方式关联全局模型,以确保本地和全局信息的一致性。
6、然而,这些关联方法受限于其运算的特性,只能学习特定类型图结构上的关联关系,无法扩展到其他类型的知识图谱。同时,这些关联方法的定义困难且计算复杂,会降低整个模型的训练效率。
技术实现思路
1、本发明目的之一在于提供一种基于重构网络的联邦知识图谱表示学习方法,以解决由于联邦学习架构下分布式知识图谱表示学习服务器-客户端之间的通信复杂度,学习效果低,自适应能力差的问题。
2、本发明通过下述技术方案实现,一种基于重构网络的联邦知识图谱表示学习方法,包括以下步骤:
3、s100,对联邦知识图谱进行初始定义,所述初始定义包括,定义联邦知识图谱的数据格式、类型以及学习场景,并根据所述学习场景的区别从而定义服务器和客户端;s200,构建位于服务器s的全局模型m,其中,m为全局模型,为实体表示向量的集合,r为关系表示向量的集合;定义关系表示向量为n维向量,即r∈rn,全局实体的表示向量为低于n维的向量,即其中,e为实体的集合,r为关系集合,为低维全局实体表示向量,为低维全局实体向量的维度,n为本地实体向量维度,表示任意实体;s300,重建定义后的客户端实体的神经网络,其中每个被定义的客户端拥有独自的重建网络,即每一个被定义的客户端ci都有重建网络fi(*),通过fi(*)在全局实体信息的基础上重建本地知识图谱的独有特征;s400,从服务器中获取全局模型,并将其中的全局低维实体向量通过实体重建网络还原为本地实体向量,即其中,e为本地实体向量,为重建网络;为全局低维实体向量;s500,结合服务器全局模型、客户端的本地重建神经网络以及知识图谱表示学习损失函数进行联邦训练,训练过程进行c轮直到达成模型收敛,并通过头实体或尾实体预测问题对模型训练的结果进行验证。
4、需要说明的是,由于全局模型的复杂度和实体向量的维度呈线性关系,因此采用更低维的全局实体向量可以有效的减少全局模型的参数,而知识图谱中关系的数量通常远小于实体,故不需要特别的减小关系的向量维度。所以从这个角度考虑本发明在步骤200中采用在服务器中构建低维全局实体向量来减少全局模型中的参数,降低服务器-客户端之间的通信复杂度。同时通过在步骤s400中将全局低维实体向量通过实体重建网络还原为本地实体向量,将代表全局信息且表示能力较低的全局低维实体向量,映射到带有本地知识图谱特征且表示能力强的较高维度向量,保证了训练数据的准确性,在降低服务器-客户端之间的通信复杂度的同时避免了牺牲模型的性能。
5、进一步地,所述定义服务器和客户端可以包括,定义服务器为s,定义客户端为c,其中,c=(c1,c2,...,cm),m为客户端的数量。
6、进一步地,可以将联邦知识图谱数据整合为联邦知识图谱数据集,联邦知识图谱数据集表示为g=(e,r,t),其中,e为实体的集合,r为关系集合,t为三元组的集合;其中,三元组表示为q=(h,r,t),其中,q为单个单元组,h为头实体,t为尾实体,r为实体之间的关系,由上述内容可知,第i个客户端的本地知识图谱可以表示为gi。
7、需要说明的是,在联邦知识图谱表示学习中,将实体和关系映射到低维向量,即e,r∈rn,其中n为向量的维度,e为实体向量,r为实体之间关系的向量,r为关系集合。
8、进一步地,步骤s100中还可以包括联邦知识图谱数据集中的数据进行标准化处理的步骤,标准化处理可以采用分布式min-max标准化,具体包括,每个参与节点在本地计算其数据集的最小值和最大值;通过安全多方计算方法,聚合各节点的本地最小值和最大值,从而计算出全局最小值和最大值;将全局最小值和最大值通过安全通信机制分发到各参与节点;每个节点使用全局最小值和最大值对其本地数据进行标准化。
9、需要说明的是,联邦知识图谱数据集中包含大量各个客户端在不同时间的数据值,在对这些数据进行训练前需要对这些噪声数据进行剔除。如果不对这些数据进行处理就进行全局模型运算的话很可能会导致最终的结果出错,或者无法形成收敛。所以对联邦知识图谱数据集中的数据进行标准化处理,能够有效提高联邦知识图谱数据集中的数据的一致性,并且分布式min-max标准化能够将数据缩放到一个固定的范围,使得数据的值域固定,有助于提升对联邦知识图谱模型的训练效率,同时能够保留原始数据的分布形状和相对大小,不会对最终的训练结果造成影响,并且分布式min-max标准化具备极高的安全性,能够保证服务器和客户端之间的通信信息的安全。
10、进一步地,步骤s200中还可以包括,为实体向量添加相似度约束,即其中,h为实体相似度函数,ei为索引为i的本地实体向量,ej为索引为j的本地实体向量,σ2为rbf核函数的参数,exp为自然底数,为索引为i的全局低维实体向量,为索引为j的全局低维实体向量。
11、需要说明的是,由于全局模型的复杂度和实体向量的维度呈线性关系,因此采用更低维的全局实体向量在有效的减少全局模型的参数的同时也会导致整个模型的特异性的减少,但特异性的减少对于训练效果而言并不好,所以本发明为了保证实体向量能够具备足够的特异性,在此处为实体向量添加了相似度约束,其目的是为了确保m中的实体向量能够具有特异性,通过该约束可以确保每个实体的低维表示向量有较大的差异性从而保证最终训练结果的准确性。
12、进一步地,所述重建网络可以为多层图注意力网络。
13、进一步地,所述多层注意力网络中第l层的实体表示的计算方式为,其中,n为e在知识图谱中邻居的集合,el为多层注意力网络中第l层的实体,为多层注意力网络中第l-1层的索引为i的实体,αi为第i个邻居对e的注意力权重。
14、进一步地,αi的计算方式为:att(ei,e)=ht(wei+ue),
15、其中,ei为索引为i的本地实体向量,ej为索引为j的本地实体向量,n为e在知识图谱中邻居的集合,h,w,u为神经网络可学习的参数,ht为h的转置,wei和ue为矩阵乘法。
16、进一步地,在s400中客户端可以设置有压缩网络可以将本地实体再次压缩成低维实体向量,即通过设置压缩网络能够保证整个过程的可逆性,确保整个训练结果的准确性。
17、进一步地,步骤s500还可以包括以下子步骤:s510,服务器将全局模型m发送到每一个客户端中;s520客户端ci执行,将全局实体向量转换为本地实体向量的操作,使用e和r在本地知识图谱gi上按学习目标函数loss进行多轮训练获得更新后的e',r'和f(*);s530客户端将训练好的e'通过t分布式随机邻居嵌入(t-sne)重新变换成低维实体向量然后和r'一起作为客户端训练的全局模型,即上传到服务器;s540,在服务器端对所有客户端上传的全局模型进行聚合,即其中m为聚合后的全局模型,为第i个客户端更新后的全局参数。
18、进一步地,在服务器端进行模型聚合还可以包括如下步骤:s541,服务器端接收通过本地压缩网络重新变换成低维实体向量s542,使用参数小批量随机梯度下降算法进行加权平均,更新全局模型并对低维实体向量进行优化,得到全局模型参数优化更新的公式,wt+1=wt+n1k=1∑k nkδw,其中,wt为第t轮的全局模型参数,wt+1为第t+1轮的全局模型参数,n为总数数据量,δwk为第k个客户端上的模型参数更新,nk为k个客户端上的本地数据量;s543,服务器端将更新后的全局模型分发给所有客户端,客户端根据本地数据训练模型,并生成本地模型参数更新,并将更新后的参数发送到服务器;s544,服务器对所有客户端发送的更新后的参数进行加权平均,得到更新后的全局模型参数。
19、需要说明的是,全局模型参数优化更新的公式可以通过下述步骤得到,假设有k个客户端,第k个客户端上的本地数据量为nk,则总数据量为n=k=1∑knk,第k个设备上的模型参数更新为δwk,则可以推导出全局模型参数更新的公式为wt+1=wt+n1k=1∑knkδw。
20、进一步地,尾实体预测模型可以为头实体预测模型可以为g=||h+r-t||p,为三元组分数,其中,g为三元组分数,p为范数(通常为2),h为头实体,r为关系,为候选尾实体。
21、进一步地,基于所述尾实体预测模型和头实体预测模型得到客户端的学习目标函数为,loss=∑q∈d,q-∈d-{[g(q)-γ1]++∈[γ2-g(q-)]+,其中,q为三元组,q-为负样本三元组,g(q)为三元组q的分数,g(q-)为负样本三元组q-的分数,d为知识图谱三元组集合,d-为知识图谱三元组负样本集合,γ1为正样本边界常量,γ2为负样本边界常量,其中,负样本可以采用标准的随机负采样获得。
22、本发明另一方面提供了一种基于重构网络的联邦知识图谱表示学习系统,包括,初始定义单元、全局模型构建单元、神经网络重建单元、向量变换单元以及训练单元。
23、其中,初始定义单元被配置为对联邦知识图谱进行初始定义,所述初始定义包括,定义联邦知识图谱的数据格式、类型以及学习场景,并根据所述学习场景的区别从而定义服务器和客户端。
24、全局模型构建单元与初始定义单元相连接,被配置为构建位于服务器s的全局模型m,其中,m为全局模型,为实体表示向量的集合,r为关系表示向量的集合;定义关系表示向量为n维向量,即r∈rn,全局实体的表示向量为低于n维的向量,即其中,e为实体的集合,r为关系集合,为低维全局实体表示向量,n为低维全局实体向量的维度,n为本地实体向量维度,表示任意实体。
25、神经网络重建单元与全局模型构建单元相连接,被配置为重建定义后的客户端实体的神经网络,其中每个被定义的客户端拥有独自的重建网络,即每一个被定义的客户端ci都有重建网络fi(*),通过fi(*)在全局实体信息的基础上重建本地知识图谱的独有特征。
26、全局实体向量与神经网络重建单元相连接,被配置为从服务器中获取全局模型,并将其中的低维实体向量通过实体重建网络还原为本地实体向量,即其中,e为本地实体向量,为重建网络;为低维实体向量。
27、训练验证单元与向量变换单元相连接,被配置为结合服务器全局模型、客户端的本地重建神经网络以及知识图谱表示学习损失函数进行联邦训练,训练过程进行c轮直到达成模型收敛,并通过头实体或尾实体预测问题对模型训练的结果进行验证。
28、进一步地,训练验证单元还可以包括,模型分发子单元、函数训练子单元、向量更新子单元以及全局模型聚合单元。
29、其中,模型分发子单元被配置为服务器将全局模型m发送到每一个客户端中。
30、函数训练子单元与模型分发子单元相连接,被配置为,客户端ci执行,将全局实体向量转换为本地实体向量的操作,使用e和r在本地知识图谱gi上按学习目标函数loss进行多轮训练获得更新后的e',r'和f(*)。
31、向量更新子单元与函数训练子单元相连接,被配置为客户端将训练好的e'通过t分布式随机邻居嵌入(t-sne)重新变换成低维实体向量然后和r'一起作为客户端训练的全局模型,即上传到服务器。
32、全局模型聚合单元与向量更新子单元相连接,被配置为在服务器端对所有客户端上传的全局模型进行聚合,即其中m为聚合后的全局模型,为第i个客户端更新后的全局参数。
33、本发明与现有技术相比,具有如下的优点和有益效果:
34、1、本发明通过为实体向量添加了相似度约束确保实体向量能够具有特异性,通过该约束可以确保每个实体的低维表示向量有较大的差异性从而保证最终训练结果的准确性,同时通过具有特异性的低维全局表示向量,提供高表示能力全局模型;
35、2、本发明通过构建全局模型通过全局模型在本地重建神经网络,并从全局模型中构建能适应本地知识图谱的本地模型,并结合知识图谱表示学习的损失函数,经过多轮训练得到最终的联邦知识图谱表示学习模型,实现了降低服务器-客户端之间的通信复杂度。
36、3、本发明通过对联邦知识图谱数据集中的数据进行标准化处理,提升了联邦知识图谱模型的训练效率,同时能够保留原始数据的分布形状和相对大小。
1.一种基于重构网络的联邦知识图谱表示学习方法,其特征在于,所述联邦知识图谱表示学习方法包括,
2.根据权利要求1所述的基于重构网络的联邦知识图谱表示学习方法,其特征在于,所述定义服务器和客户端包括,定义服务器为s,定义客户端为c,其中,c=(c1,c2,...,cm),m为客户端的数量;
3.根据权利要求1所述的基于重构网络的联邦知识图谱表示学习方法,其特征在于,所述步骤s200中还包括,为实体向量添加相似度约束,即
4.根据权利要求1所述的基于混合注意力的时序知识图谱补全方法,其特征在于,所述重建网络fi(*)为多层图注意力网络,用于基于全局实体向量重建本地知识图谱的独有特征。
5.根据权利要求4所述的基于重构网络的联邦知识图谱表示学习方法,其特征在于,所述多层注意力网络中第l层的实体表示的计算方式为,
6.根据权利要求1所述的基于重构网络的联邦知识图谱表示学习方法,其特征在于,所述步骤s500还包括以下子步骤:
7.根据权利要求1所述的基于重构网络的联邦知识图谱表示学习方法,其特征在于,所述通过头实体或尾实体预测问题对模型训练的结果进行验证中,
8.根据权利要求7所述的基于重构网络的联邦知识图谱表示学习方法,其特征在于,基于所述尾实体预测模型和头实体预测模型得到客户端的学习目标函数为,
9.一种基于重构网络的联邦知识图谱表示学习系统,其特征在于,所述联邦知识图谱表示学习系统包括:初始定义单元、全局模型构建单元、神经网络重建单元、向量变换单元以及训练单元,其中,
10.根据权利要求1所述的基于重构网络的联邦知识图谱表示学习系统,其特征在于,所述训练验证单元还包括,模型分发子单元、函数训练子单元、向量更新子单元以及全局模型聚合单元,其中,