知识引擎实验室“联邦知识图谱表示学习”获国际知识图谱联合会议最佳论文奖
Wed Dec 01 17:27:03 CST 2021

    AZFT-知识引擎实验室论文“FedE:Embedding Knowledge Graph In Federated Setting”被 IJCKG 2021 录用,并获最佳论文奖。论文作者为陈名杨,张文,苑宗港,贾岩涛,陈华钧。


    论文简介:联邦知识图谱表示学习考虑在多个知识图谱分布于不同客户端的情况下,如何保证不暴露数据且互相协同地学习知识图谱嵌入表示。传统的知识图谱表示学习模型一般只考虑单个知识图谱的情况,但由于知识图谱的不完整性,不同数据拥有者往往需要利用其他知识图谱的信息来辅助补全自己的知识图谱,但考虑到数据隐私、商业利益等因素,不同数据拥有者并不能显式地暴露知识图谱。联邦知识图谱的提出可以在保护数据隐私的情况下,对不同客户端的知识图谱同时学习知识图谱表示。本篇论文获国际知识图谱联合会议IJCKG2021 Best Paper Award。

引言

    知识图谱是由大量三元组形式的事实组成,如(头实体,关系,尾实体)。当前已经有许多的大规模知识图谱被构建并应用于真实场景中,如Freebase、NELL、Wikidata等等。随着知识图谱的逐渐流行,每天都有大量的机构在利用自身数据构建知识图谱。对于某个机构所构建的知识图谱来说,如果能够利用到其他机构所构建的知识图谱,那么自然地会有利于自身知识图谱的推理以及下游任务的应用。如下如所示,Eric在图书馆中的相关三元组表明Eric对于野外探险感兴趣,这样的信息可以被电商平台所使用并预测出(Eric,interested,tent)这样的新知识。

    然而因为考虑到数据保护、商业利益以及隐私政策等问题,如需对不同机构的知识图谱进行相互的信息利用,并不能通过简单地将知识图谱进行数据交换完成。

为了解决这个问题,这里提出一种联邦知识图谱嵌入框架(FedE)来完成联邦知识图谱补全问题。仿照先前提出的联邦学习算法FedAvg,我们将FedE建模成两个部分,一个中心服务器端,以及多个客户端。不同的知识图谱被放置在多个客户端上,不同的知识图谱之间有重叠的实体,并且定义他们自己的三元组和关系。不同客户端上的知识图谱使用他们自己的三元组,通过“客户端更新”对实体、关系的嵌入表示进行更新。中心服务器端通过“服务器操作”负责控制实体嵌入表示的聚合和共享。在中心服务器上,会保存并维护一个实体表格,用于记录所有客户端中的实体,并且负责将不同客户端知识图谱中的实体对应到服务器端的实体表格上。同时这里还设计了一个“模型融合”的过程。在模型融合中,我们将通过联邦知识图谱学习而来的嵌入表示和通过客户端自身三元组学习而来的嵌入表示进行模型融合,从而从不同角度提升嵌入表示的能力。

方法

    在本文所定义的联邦知识图谱中,多个具有重叠实体的知识图谱被放置在不同的客户端上。一个服务器端用于保存实体表T,该表将不同客户端之间的实体进行对应。我们提出的联邦知识图谱嵌入方法FedE,在保证数据隐私的前提下同时利用其他知识图谱中的信息,从而完成对各个客户端中的知识图谱进行嵌入表示,从而完成知识图谱补全任务。整体的流程如下图所示。

    这一部分我们我们首先在此介绍框架中“服务器操作”和“客户端更新”两个流程,然后介绍“模型融合”的过程。

(1)服务器操作

    服务器端负责聚合来自不同客户端的实体嵌入并将聚合的实体嵌入发送回每个客户端。我们将单个服务器端聚合操作称为FedE的一轮操作。在服务器中,根据实体表T会对每个客户端构建一个置换矩阵和存在向量,用于记录客户端中的实体和服务器中实体表中实体的对应关系,以及客户端中的实体是否存在于服务器端的实体表中。

    最开始,服务器会初始化实体表中的所有实体,并利用置换矩阵将实体向量发送到各个客户端,如下,


    其中c表示客户端c。

    在客户端上完成特定Epoch的训练次数后,客户端中的实体向量表示会传回服务器并利用置换矩阵以及存在向量进行聚合更新,如下


    聚合结束后,聚合的实体向量表示会通过置换矩阵进行重新排列后,分发回每个客户端中。

(2)客户端操作

    在客户端中,会选用特定的知识图谱嵌入方法对知识图谱嵌入进行更新,本文选用如下的常见知识图谱嵌入方法,利用客户端中的三元组,对实体和关系表示进行更新。

    同时客户端中的嵌入更新,使用自对抗损失函数如下,


(3)模型融合

    服务器操作和客户端更新的过程一直迭代进行,直到收敛。然而,学习到的知识图谱嵌入表示的优化是基于所有客户端的全局最小值,而不是每个客户端的局部最小值。为此,我们设计了一个模型融合的过程来集成从本地知识图谱和联邦知识图谱中学习到的知识图谱嵌入表示。

    在模型融合的过程中,对于一个三元组(ℎ,𝑟,𝑡),其分数计算由如下的线性分类器完成=

    其中由𝑙作为上标的打分函数使用由本地知识图谱训练的嵌入表示,由f作为上标的打分函数使用由联邦知识图谱训练的嵌入表示。这个线性分类器通过边距排序损失训练,使正样本三元组的排名高于负样本三元组,(ℎ,𝑟,𝑡)的模型融合损失定义如下:

实验

    我们在传统的知识图谱嵌入测试数据集上进行数据划分,分成拥有不同数量客户端的数据集如下
    为了展示我们 FedE 框架的能力,我们在设置Isolation和Collection下对比 FedE 和传统的KGE方法。对于设置,知识图嵌入仅针对每个客户端在其自己的知识图谱上进行训练。对于设置Collection,我们将来自不同客户端的知识图谱三元组收集在一起,并在这样的整个三元组上训练知识图嵌入。请注意,Collection设置违反了隐私保护,因为在收集过程中会暴露来自不同客户端的三元组。

    在数据集FB15k-237-Fed3的结果如下,可以看出我们的结果相比于Isolation和Collection设置都有较大的提升。

    同时我们在更多数量的客户端数据集下进行实验如下,
    我们还发现,在大多数情况下,我们提出的 FedE 可以获得比在Collection设置中训练的知识图嵌入更好的性能,并在其他情况下获得相当的结果。从下表中,我们发现没有模型融合的 FedE 只能获得与使用设置Collection训练的 KGE 相当但并不是更优的性能,但是模型融合的过程使 FedE 的结果优于Collection设置。说明了模型融合的重要性。

总结

    本文提出一种在联邦知识图谱的场景下进行知识图谱嵌入的方法FedE,该方法在进行联邦知识图谱嵌入的时候可以避免知识图谱数据的泄漏,并获得有效的嵌入表示进行知识图谱补全。未来的工作中我们会考虑更多不同的知识图谱联邦场景。

阿里技术 | 达摩院 copyright@2017-2018 阿里巴巴-浙江大学前沿技术联合研究中心《法律声明》
浙公网安备: 33010002000092号
| ICP备案网站信息: 浙B2-20120091-4