Loading [MathJax]/jax/output/CommonHTML/fonts/TeX/Math-BoldItalic.js

联邦学习:联邦场景下的多源知识图谱嵌入

1 导引

目前,知识图谱(Knowlege Graph)在医疗、金融等领域都取得了广泛的应用。我们将知识图谱定义为g={E,R,T}g={E,R,T},这里E={ei}ni=1E={ei}ni=1是由nn个实体(entity)组成的集合,R={ri}mi=1R={ri}mi=1是由mm个关系(relation)组成的集合。元组集合T={(h,r,t)E×R×E}T={(h,r,t)E×R×E}则建模了不同实体之间的关系。知识图谱嵌入是知识图谱在应用中非常重要的一步。我们先通过知识图谱嵌入将知识图谱中的实体和关系嵌入到embeddings向量,然后再在下游进行元组分类(triple classfication)或者链接预测(link prediction)的任务。

对于知识图谱嵌入任务我们常采用基于负采样的交叉熵函数[1]

L=(h,r,t)Tlog(σ(fr(h,t)))γEtPh(E)logσ(fr(h,t))L=(h,r,t)Tlog(σ(fr(h,t)))γEtPh(E)logσ(fr(h,t))

这里(h,r,t)(h,r,t)即知识图谱中存在的元组,其对应的负样本(h,r,t)(h,r,t)即图谱中不存在的元组;σσ为sigmoid函数;Ph(E)Ph(E)为实体集EE的负采样分布(可能是关于hh的),最简单的设置为均匀分布(不过易造成“假阴性结果”,即采样实际上存在于图谱中的负样本,一种改进方法参见[2]);超参数γ>0γ>0
这里fr(h,t)fr(h,t)称为Score function,定义为元组(h,r,t)(h,r,t)存在于知识图谱的可能性。适用于常见经典知识图谱的Score function fr(h,t)fr(h,t)可以参见下图。

这里h,r,th,r,th,r,th,r,t对应的embeddings。Re()Re()表示复值向量的实值部分。表示逐项乘积(即Hadamard乘积)。

在实际应用中我们常常面临一系列来自不同数据持有方的知识图谱,我们将其称为多源知识图谱(Multi-Source KG)。我们将来自KK个不同数据持有方的知识图谱集合记为G={gk}Kk=1={{Ek,Rk,Tk}}Kk=1G={gk}Kk=1={{Ek,Rk,Tk}}Kk=1,如果能让在多个知识图谱间进行知识共享,那么很可能提高实体的嵌入质量与下游任务的表现。目前多源知识图谱融合(cross source knowlege graph fusion)领域的工作大都是需要先将多个知识图谱集中起来的。然而,在现实场景中,不同部门之间由于数据隐私的问题,共享数据是很困难的,那么联邦学习在这里就成为了一个很好的解决方案,我们称这种情况下的知识图谱为联邦多源知识图谱。

我们将联邦多源知识图谱按照数据异构程度可分为以下两种形式:

联邦同领域知识图谱

这种类型中各知识图谱的领域(domain)相同,比如都是来自不同银行的用户知识图谱。这些知识图谱中也可能有实体重叠(overlapped),因为在日常生活中,一个用户很可能在不同银行都产生有相关的数据(元组)[2]

对于这种情况情况,我们可以采用传统FedAvg的思想,训练一个让多方共享的嵌入模型。

联邦跨领域知识图谱

这种情况下数据更具有异构性,各个知识图谱之间是跨领域(cross domain)的 ,如下图中所示的大学(university)、文学(literature)和宾夕法尼亚州(pennsylvania)这三个不同领域的知识图谱[3]。这种知识图谱中也有可能出现实体重叠,比如CMU实体在大学知识图谱和宾夕法尼亚州知识图谱中就同时出现(当然在两个知识图谱中的嵌入向量是不同的)。

对于这种情况,不同的知识图谱就应当使用不同的嵌入模型。

不过,不论是在同领域和不同领域的情况下,都需要涉及对某些知识图谱间重叠(也称为对齐的,aligned)实体的embeddings进行统一(unify),以提高整体的学习效果,类似于分布式优化算法中聚合的意思。

2 联邦多源知识图谱嵌入论文阅读

2.1 IJCKG 2021:《FedE: Embedding Knowledge Graphs in Federated Setting》[3]

这篇论文属于多源同领域的类型。该问题的靓点在于首次采用FedAvg的框架对知识图谱嵌入模型进行训练,其解决方案非常直接:所有client共享一份所有实体的嵌入(在本文中关系的嵌入不共享),然后在本地进行优化时通过查表的方式获得元组(h,r,t)(h,r,t)对应的嵌入向量。

本篇论文算法的每轮通信描述如下:

(1) 第kk个client节点执行

  • 从server接收所有实体的嵌入矩阵EE,令本地嵌入矩阵Ek=PTkEEk=PTkE
  • 执行EE个局部epoch的SGD:

    Ek=EkηL(Ek;b)Ek=EkηL(Ek;b)

    (此处将局部元组数据TkTk划分为多个批量bb)
  • PkEkPkEk发往server。

(2) server节点执行

  • NN个client接收{PkEk}Nk=1{PkEk}Nk=1

  • 进行参数聚合:

E=(1vk)PkEkE=(1vk)PkEk

  • 将嵌入矩阵EE发往对应的client。

这里EkRnk×deEkRnk×de表示本地实体的embeddings,dede为实体嵌入维度;Pk{0,1}n×nkPk{0,1}n×nk用于将客户端kk的本地embeddings映射到服务端的全局embeddings中,(Pk)ij=1(Pk)ij=1意为全局embeddings中的第ii个实体对应client中的第jj个实体,若(Pk)ij=0(Pk)ij=0则意为全局embeddings中的第ii个实体在client jj中并没有对应;(vk)i=1(vk)i=1意为第ii个实体在client kk中存在,表示逐元素除,(1vk)(1vk)表示给前面对各client实体embeddings的求和结果进行平均 ;表示带广播的逐元素乘,[vM]i,j=vi×Mi,j[vM]i,j=vi×Mi,j
这里有必要举个例子来说明参数聚合过程。假设一共编号为1,2,31,2,3的三个实体,client1中有实体1133,本地编号为1_11_11_21_2,client2中有实体2233,本地编号为2_12_12_22_2,则对两个client的embeddings进行聚合的过程可表示如下:

Σ=P1E1+P2E2=(100001)(eT1_1eT1_2)+(001001)(eT2_1eT2_2)=(eT1_1eT2_1eT1_2+eT2_2)

然后有

E=(1vk)Σ=(111/2)(eT1_1eT2_1eT1_2+eT2_2)=(eT1_1eT2_1(eT1_2+eT2_2)/2)

整个算法流程如下图所示:

该算法本地优化采用的损失函数为论文[2]中提出的标准损失函数的变种,写为如下形式(考虑本地数据集Tk的一个批量b):

L=(h,r,t)blog(σ(fr(h,t)γ))ni=1p(h,r,ti)logσ(γfr(h,ti))

这里γ是一个间隔超参数;(h,r,ti)(h,r,t)对应的负样本,(h,r,ti)Tkn为负样本的数量。p(h,r,ti)为对应负样本的权重,这种非均匀的负采样叫做自对抗负采样(self-adversarial negative sampling),权重定义如下:

p(h,r,tj)=exp(αfr(h,tj))iexp(αfr(h,ti))

这里α是温度。

最后,作者还设计了一种模型融合(model fusion)策略来对每个client中在使用/不使用联邦情形下学得的模型进行权衡,以求获得更好的学习效果(类似于个性化联邦学习里的全局和本地模型权衡的思想)。对元组(,r,t),首先将其score fsr(,t)(本地)和 ffr(,t)(联邦)拼接做为特征向量。之后使用线性分类器将向量做为输入,并输出元组的最终分数:

s(h,r,t)=Wx+bx=[fsr(h,t);ffr(h,t)]

该线性分类器的参数使用验证集来训练,注意该训练必须在embeddings嵌入训练完毕之后进行,且训练过程中只更新线性分类器的参数,而之前学得的embeddings需要固定住。线性分类器训练的损失函数采用margin ranking loss,使正元组获得比负元组更高的分数,对Gc(,r,t)模型融合损失定义如下:

Lf(h,r,t)=max(0,βs(h,r,t)+s(h,r,t))

在使用测试集的预测阶段,则直接使用该线性分类器的分数做为输出。作者在实验中证明,模型融合策略可以使模型在链接预测任务上达到更好的效果。

2.2 CIKM 2021:《Differentially Private Federated Knowledge Graphs Embedding》[4]

这篇论文考虑的是各知识图谱之间跨领域的情况。这种情况下因为数据更加异构,就不能单纯地对重叠实体的embeddings进行平均了。本文的靓点在于提出了一种隐私保护的对抗转换网络(privacy-preserving adversarial translation, PPAT),可以在隐私保护的前提下完成两两知识图谱间重叠实体及关系embeddings的统一。

如上图就展示了使用了论文提出的PPAT网络后的整个去中心化异步训练流程。图中Train表示本地训练知识图谱嵌入模型;PPAT(gk,gl)表示用PAPAT网络生成的gkgl之间重叠部分的embeddings;KGEmb-Update表示更新之前PAPAT网络所生产的embeddings并再对client中所有embeddings进行训练(同Train)。如果在KGEmb-Update之后的本地评估结果没有提升,则会对client进行回退(backtrack),也即舍弃新训练得到的embeddings并使用训练前的旧版本。

接下来我们来看PPAT网络是怎么实现的。该网络利用GAN结构来辅助重叠实体embeddings的统一。给定任意两个图(gk,gl),论文将生成器设置于client k上,判别器设置与client j上。生成器的目标是将gk中重叠实体的embeddings转换到gl的嵌入空间;判别器负责区分生成器生成的人工embeddings和gl中的基准embeddings。在GAN训练完毕后,生成器产生的人工embeddings能够学得两个知识图谱的特征,因此可以做为EkElRkRl的原始embeddings的有效替代(此时即完成了对embeddings的统一)。

这里需要注意的是,论文将原始GAN的判别器改为了多个学生判别器和一个教师判别器。论文在多个教师判别器的投票表决结果上加以Laplace噪声,得到带噪声的标签来训练学生判别器,这样学生判别器具有差分隐私性。而生成器又由学生判别器训练,则同样具有了差分隐私性。最终促使生成器产生带有差分隐私保护的embeddings。设生成器为G(参数为θG),学生判别器为S(参数为θS),多个教师判别器为T={T1,T2,,T|T|}(参数为θ1T,θ2T,,θ|T|T。这里使用X={x1,x2,,xn}来表示gkEkElRkRl的embeddings,用Y={y1,y2,,yn}来表示glEkElRkRl的embeddings,则整个PPAT网络流程可描述如下:

如上图所示,生成器G的目标是产生与Y相似的对抗样本G(X),以求学生判别器S不能够识别它们。下面这个式子是生成器的损失函数:

lG(θG;S)=1nni=1log(1S(G(xi);θS))

这里G(X)=WXS是一个参数为θS的学生判别器,它同时将G(X)Y做为输入。

教师判别器T={T1,T2,,T|T|}的学习目标和原始GAN中判别器相似,也即区分伪造样本G(X)与真样本Y。唯一的不同是各个教师判别器会使用划分好的数据集来训练,第t个教师判别器的损失函数如下:

LtT(θtT;G)=[ni=1log(1Tt(G(xi);θtT))+yiDtlog(Tt(yi;θtT))]

这里DtTt对应的数据集XY的子集,满足|Dt|=nT且子集之间无交集。

而学生判别器S的学习目标则是在给定带噪声标签的情况下,对生成器产生的真假样本进行分类。这里所谓的带噪声标签是在教师判别器的投票结果的基础上,加以随机的Laplace噪声来生成。下面的式子描述了在带噪声标签的生成机制(即所谓PATE机制):

PATEλ(x)=argmaxc{0,1}(nc(x)+Vc)

这里V0,V1为用于引入噪声的IID的Laplace分布随机变量。nj(x)表示对于输入x预测类别为c的教师数量:

nc(x)=|{Tt:Tt(x)=c}| for c=0,1

(此处符号不严谨,Tt(x)应该是个概率值,但意会意思即可)
学生判别器则利用带有上述标签的生成样本来训练自身。学生判别器的损失函数定义如下:

LS(θS;T,G)=1nni=1[γilogS(G(xi);θS)+(1γi)log(1S(G(xi);θS))]

这里γi=PATEλ(xi)即生成的带噪声标签。

这样学生判别器S由带噪声的标签训练,则具有差分隐私性。而生成器又由学生判别器训练,则同样具有了差分隐私性。最终促使生成器产生带有差分隐私保护的embeddings。

参考

  • [1] Hamilton W L. Graph representation learning[J]. Synthesis Lectures on Artifical Intelligence and Machine Learning, 2020, 14(3): 1-159.
  • [2] Sun Z, Deng Z H, Nie J Y, et al. Rotate: Knowledge graph embedding by relational rotation in complex space[J]. arXiv preprint arXiv:1902.10197, 2019.
  • [3] Chen M, Zhang W, Yuan Z, et al. Fede: Embedding knowledge graphs in federated setting[C]//The 10th International Joint Conference on Knowledge Graphs. 2021: 80-88.
  • [4] Peng H, Li H, Song Y, et al. Differentially private federated knowledge graphs embedding[C]//Proceedings of the 30th ACM International Conference on Information & Knowledge Management. 2021: 1416-1425.
posted @   orion-orion  阅读(2572)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示