3

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

 1 year ago
source link: https://www.cnblogs.com/orion-orion/p/16537292.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

联邦学习:联邦场景下的多源知识图谱嵌入 - orion-orion - 博客园

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

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

L=∑(h,r,t)∈T−log(σ(fr(h,t)))−γEt−∼P−h(E)logσ(−fr(h,t−))L=∑(h,r,t)∈T−log⁡(σ(fr(h,t)))−γEt−∼Ph−(E)log⁡σ(−fr(h,t−))

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

o_220729124646_%E5%B8%B8%E8%A7%81%E7%9F%A5%E8%AF%86%E5%9B%BE%E8%B0%B1score-function.png

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

在实际应用中我们常常面临一系列来自不同数据持有方的知识图谱,我们将其称为多源知识图谱(Multi-Source KG)。我们将来自KK个不同数据持有方的知识图谱集合记为G={gk}Kk=1={{Ek,Rk,Tk}}Kk=1G={gk}k=1K={{Ek,Rk,Tk}}k=1K,按照数据异构程度可分为以下两种形式:

多源同领域

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

o_220728074048_%E9%93%B6%E8%A1%8C%E5%A4%9A%E6%BA%90%E7%9F%A5%E8%AF%86%E5%9B%BE%E8%B0%B1.png

多源跨领域

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

o_90c7118c.png

如果能让在多个知识图谱间进行知识共享,那么很可能提高实体的嵌入质量与下游任务的表现。目前多源知识图谱融合(cross source knowlege graph fusion)领域的工作大都是需要先将多个知识图谱集中起来的。然而,在现实场景中,不同部门之间由于数据隐私的问题,共享数据是很困难的,那么联邦学习在这里就成为了一个很好的解决方案。

在联邦场景下,对于多源且同领域的情况,我们可以采用传统FedAvg的思想,训练一个让多方共享的嵌入模型;然而对于多源且不同领域的情况,不同的知识图谱就应当使用不同的嵌入模型。不过不论是在同领域和不同领域的情况下,都需要涉及对某些知识图谱间重叠(也称为对齐的,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=PkTE。
  • 执行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}k=1N。

  • 进行参数聚合:

E=(1⊘∑vk)⊗∑PkEkE=(1⊘∑vk)⊗∑PkEk
  • 将嵌入矩阵EE发往对应的client。

上面只展示了实体embeddings的更新流程,关系embeddings的更新同理,此处从简省略掉。这里Ek∈Rnk×deEk∈Rnk×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个实体;(vk)i=1(vk)i=1意为第ii个实体在client kk中存在,⊘⊘表示逐元素除,(1⊘∑vk)(1⊘∑vk)表示给聚合结果的加权,在所有client中出现多的实体权重小;⊗⊗表示带广播的逐元素乘,[v⊗M]i,j=vi×Mi,j[v⊗M]i,j=vi×Mi,j。

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

o_05457686.png

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

L=∑(h,r,t)∈b−log(σ(fr(h,t)−γ))−∑i=1n−p(h,r,t−i)logσ(γ−fr(h,t−i))L=∑(h,r,t)∈b−log⁡(σ(fr(h,t)−γ))−∑i=1n−p(h,r,ti−)log⁡σ(γ−fr(h,ti−))

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

p(h,r,t−j)=exp(αfr(h,t−j))∑iexp(αfr(h,t−i))p(h,r,tj−)=exp⁡(αfr(h,tj−))∑iexp⁡(αfr(h,ti−))

这里αα是温度。

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

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

o_ebe75fba.png

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

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

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

o_5fad0f31.png

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

lG(θG;S)=1n∑i=1nlog(1−S(G(xi);θS))lG(θG;S)=1n∑i=1nlog⁡(1−S(G(xi);θS))

这里G(X)=WXG(X)=WX;SS是一个参数为θSθS的学生判别器,它同时将G(X)G(X)和YY做为输入。

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

LtT(θtT;G)=−[∑i=1nlog(1−Tt(G(xi);θtT))+∑yi∈Dtlog(Tt(yi;θtT))]LTt(θTt;G)=−[∑i=1nlog⁡(1−Tt(G(xi);θTt))+∑yi∈Dtlog⁡(Tt(yi;θTt))]

这里DtDt是TtTt对应的数据集XX和YY的子集,满足|Dt|=nT|Dt|=nT且子集之间无交集。

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

PATEλ(x)=argmaxc∈{0,1}(nc(x)+Vc)PATEλ(x)=arg⁡maxc∈{0,1}(nc(x)+Vc)

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

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

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

LS(θS;T,G)=1n∑i=1n[γilogS(G(xi);θS)+(1−γi)log(1−S(G(xi);θS))]LS(θS;T,G)=1n∑i=1n[γilog⁡S(G(xi);θS)+(1−γi)log⁡(1−S(G(xi);θS))]

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

这样学生判别器SS由带噪声的标签训练,则具有差分隐私性。而生成器又由学生判别器训练,则同样具有了差分隐私性。最终促使生成器产生带有差分隐私保护的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.

__EOF__


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK