首页> 中国专利> 基于知识联邦的知识推理方法、系统、设备及介质

基于知识联邦的知识推理方法、系统、设备及介质

摘要

本发明涉及一种基于知识联邦的知识推理方法、系统、设备及介质,属于机器学习领域,该方法包括:接收客户端发送的推理请求,所述推理请求中携带有与待推理实体数据对应的特征数据,其中,所述客户端通过预先生成的本地模型对所述待推理实体数据进行编码得到编码数据,对所述编码数据进行压缩得到压缩数据,对所述压缩数据进行加密以生成特征数据;根据所述推理请求和预先构建的知识网络,向所述客户端反馈密文推理结果,所述密文推理结果用于所述客户端解密以得到明文推理结果。采用本发明的方法,客户端的实体原始数据不会被泄漏,从而保障客户端的数据隐私安全,而且能够减少数据的传输量。

著录项

  • 公开/公告号CN112348192A

    专利类型发明专利

  • 公开/公告日2021-02-09

    原文格式PDF

  • 申请/专利权人 同盾控股有限公司;

    申请/专利号CN202010988090.5

  • 发明设计人 孟丹;张宇;李宏宇;李晓林;

    申请日2020-09-18

  • 分类号G06N5/04(20060101);G06F21/62(20130101);

  • 代理机构33324 杭州创智卓英知识产权代理事务所(普通合伙);

  • 代理人张超

  • 地址 311121 浙江省杭州市余杭区五常街道文一西路998号18幢704室

  • 入库时间 2023-06-19 09:51:02

说明书

技术领域

本发明涉及机器学习领域,尤其涉及一种基于知识联邦的知识推理方法、系统、电子设备及存储介质。

背景技术

基于人类的先验知识,通过知识网络可以挖掘出大数据中隐藏的、未知的但具有价值的信息。在实现数据挖掘的过程中,对知识网络的表达是一项十分重要的工作。在知识网络表达的基础上,可以进行知识推理,知识推理是指在计算机或智能机器中,进行问题求解的操作过程。换而言之,知识推理就是利用知识之间的关系进行机器思维和求解问题的过程,目的是探索问题与结论之间的关系,实现从已知知识中得到结论。知识推理可广泛应用在风险分析、事件预测等人工智能领域。

然而,知识推理往往需要在多个客户端间知识共享的场景下,为了能让知识在不同知识源之间自由流动,需要将每个客户端作为一个知识节点连接起来构建一个知识网络,以创造、挖掘出更全面、更有价值的知识。随之而来的问题是:一方面,客户端内的数据存在泄漏的风险;另一方面,客户端与服务端之间需要进行网络传输,随着客户端数量的不断增多,网络传输的开销会成为系统性能提升的瓶颈。

发明内容

为了解决上述问题,第一方面,本发明实施例提供一种基于知识联邦的知识推理方法,应用于服务端,该方法包括:接收客户端发送的推理请求,所述推理请求中携带有与待推理实体数据对应的特征数据,其中,所述客户端通过预先生成的本地模型对所述待推理实体数据进行编码得到编码数据,对所述编码数据进行压缩得到压缩数据,对所述压缩数据进行加密得到所述特征数据;

根据所述推理请求和预先构建的知识网络,向所述客户端反馈密文推理结果,所述密文推理结果用于所述客户端解密以得到明文推理结果。

可选的,所述的对所述编码数据进行压缩得到压缩数据,包括:采用奇异值分解方法对所述编码数据进行压缩得到压缩数据。

可选的,所述本地模型和所述知识网络通过如下方式获得:

从与所述服务端相连的多个客户端中选择基准客户端,所述基准客户端持有自身的实体数据相对于其他客户端的实体数据的标签;循环进行如下步骤直至达到预设的停止条件,并以最后一次循环得到假设本地模型和假设知识网络作为各个客户端的本地模型和服务端的知识网络:

获取各个客户端的特征数据,所述特征数据为各个客户端分别利用预设的假设本地模型对各实体数据进行编码以表达知识,再对编码后的数据进行压缩,然后对压缩的数据进行加密以生成得到;

对来自所有客户端的多个所述特征数据进行配对,且每一对特征数据中的一个特征数据来自于所述基准客户端;

学习所述每一对特征数据所对应的实体数据对之间的网络拓扑关系以训练预设的假设知识网络,并将所述的网络拓扑关系后发送给基准客户端;

接收来自所述基准客户端的密文损失,所述密文损失为所述基准客户端基于预设的损失函数根据标签以及服务端发送的网络拓扑关系;

基于所述密文损失采用梯度下降法,将所述多个客户端的所述假设本地模型和所述假设知识网络联合训练以更新所述假设知识网络和所述假设本地模型。

可选的,所述假设知识网络为神经网络模型,所述梯度下降法包括:

使用最小二乘损失方法,根据链式法则迭代计算所述假设知识网络的第k层神经网络的更新梯度:

其中[s

所述假设知识网络的第k层神经网络的权重参数

所述假设知识网络关于第一层神经网络的输入

其中

客户端i和客户端j分别对接收到的所述加密梯度[L

其中λ为学习率。

可选的,所述神经网络模型包括多层神经网络模型、循环神经网络模型、卷积神经网络模型中任意一种。

可选的,所述卷积神经网络模型为三元组卷积神经网络模型。

第二方面,本发明实施例提供一种基于知识联邦的知识推理方法,应用于客户端,该方法包括如下步骤:

向服务端发送推理请求,所述推理请求中携带有与待推理实体数据对应的特征数据,其中,所述客户端通过预先生成的本地模型对所述待推理实体数据进行编码得到编码数据,对所述编码数据进行压缩得到压缩数据,对所述压缩数据进行加密得到所述特征数据;

接收所述服务端发送的密文推理结果,对所述密文推理结果进行解密以得到明文推理结果,其中,所述服务端根据所述推理请求和预先构建的知识网络,向所述客户端反馈密文推理结果。

第三方面,本发明实施例提供一种基于知识联邦的知识推理系统,包括服务端和客户端,其中,所述服务端用于接收所述客户端发送的推理请求;根据所述推理请求和预先构建的知识网络,向所述客户端反馈密文推理结果;

所述客户端用于向所述服务端发送推理请求,所述推理请求中携带有与待推理实体数据对应的特征数据,其中,所述客户端通过预先生成的本地模型对所述待推理实体数据进行编码得到编码数据,对所述编码数据进行压缩得到压缩数据,对所述压缩数据进行加密以生成特征数据;接收所述服务端发送的所述密文推理结果,并对所述密文推理结果进行解密以得到明文推理结果。

第四方面,本发明实施例提供一种电子设备,包括处理器和存储有计算机程序的存储介质,所述计算机程序被所述处理器执行时实现如上述任一项所述的知识推理方法。

第五方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的知识推理方法。

根据上述内容,采用本发明的基于知识联邦的知识推理方法,从客户端传输至服务端以及从服务端同步至客户端的数据均为加密后的数据,客户端的实体原始数据不会被泄漏,从而保障客户端的数据隐私安全。由于客户端的原始数据经过编码、压缩和加密,然后再上传至服务端,以此能够在原始数据不出本地的情况下实现数据的流通(即指本申请的知识联邦)。而且,客户端的实体数据经过编码后再进行压缩,减少了数据的传输量,能够有效的解决随着客户端数量的不断增多,网络传输的开销会成为系统性能提升的瓶颈的问题。另外,由于数据传输量的减少,可以提高数据传输效率,解决服务器反应慢的问题,还可以节约CPU计算成本和存储介质的存储成本。

附图说明

图1是本发明一实施形态的基于知识联邦的知识推理方法的流程示意图;

图2(a)是一实施形态中客户端的数据进行重构的示意图,图2(b)是一实施形态中服务端构建知识网络的示意图;

图3是实施例1的基于知识联邦的知识推理过程中客户端与服务端的虚拟关系示意图;

图4是实施例2的基于知识联邦的知识推理系统的结构示意图;

图5是实施例3的电子设备的结构示意图。

具体实施方式

以下将结合附图,对本发明进行更为详细的描述,需要说明的是,以下参照附图对本发明进行的描述仅是示意性的,而非限制性的。各个不同实施例之间可以进行相互组合,以构成未在以下描述中示出的其他实施例。

请参阅图1所示,本发明一实施形态的基于知识联邦的知识推理方法包括以下步骤:

S1:接收客户端发送的推理请求,所述推理请求中携带有与待推理实体对应的特征数据,其中,所述客户端通过预先生成的本地模型对所述待推理实体数据进行编码得到编码数据,对所述编码数据进行压缩得到压缩数据,对所述压缩数据进行加密得到所述特征数据;

S2:根据所述推理请求和预先构建的知识网络,向所述客户端反馈密文推理结果,所述密文推理结果用于所述客户端解密以得到明文推理结果。

上述知识推理的过程中,客户端和服务端仅交互特征数据即加密后的数据,保证了知识共享的同时也保护了用户安全。具体而言,从客户端传输至服务端以及从服务端同步至客户端的数据均为加密后的数据,客户端的实体原始数据不会被泄漏,从而保障客户端的数据隐私安全。由于客户端的原始数据经过编码、压缩和加密,然后再上传至服务端,以此能够在原始数据不出本地的情况下实现数据的流通。而且,客户端的实体数据经过编码后再进行压缩,减少了数据的传输量,能够有效的解决随着客户端数量的不断增多,网络传输的开销会成为系统性能提升的瓶颈的问题。

可选的,所述的对编码后的数据进行压缩,具体为:采用奇异值分解方法对编码后的数据进行压缩。所述奇异值分解(SVD)是线性代数中一种重要的矩阵分解,是将数据集映射到低维空间,实现降维、压缩的目的。奇异值分解后数据集的奇异值按照重要性进行排列。本实施形态中对各客户端中编码后的数据进行聚合处理后进行SVD处理,具体是按照每层的梯度矩阵进行处理,分别对每层对应的矩阵进行矩阵分解得到U*S*V,U是左奇异向量组成的矩阵、S是对角矩阵、V是右奇异向量组成的矩阵,对角矩阵的对角线上的元素为奇异值,奇异值按照大小顺序排列,进行压缩时,只选择前n个(两个或者三个等,根据实际需求可以调整)非零奇异值,和对应的前n个奇异向量,即只选择U的前n列(即前n个左奇异向量),V的前n行(即前n个右奇异向量)和S的前n个对角线元素(即最大的n个奇异值)。非零奇异值是按重要性进行排列的,只取前几个是为了缩减传输量,又不影响后续模型训练结果的准确性。

以下给出具体的示例对SVD处理效果进行说明:假设对各客户端编码后的数据进行聚合处理后某一层的梯度矩阵是一个500*800的矩阵,如果不进行SVD处理正常传输需要传送400000个数字组成的矩阵;经过SVD近似处理后,我们取2个奇异值,那么现在需要传输2个长度为500的左奇异向量,2个长度为800的右奇异向量和2个奇异值,总共传输的量是(2*500+2*800+2)=2602个数字。

如果客户端中编码后的数据不经过压缩,而直接采用加密(例如同态加密)的方式进行传输,那么传输量至少是原始数据的64倍(与根加密时的密钥空间有关)。但是,采用SVD压缩技术后,传输量约为原始数据的1/10,最终经同态加密后,传输量为原始数据的6.4倍,能够达到降低传输量的有益效果。

需要说明的是,在不考虑传输效率时,本发明另一实施形态的基于知识联邦的知识推理方法客户端可以不对编码后的数据进行压缩。

下文将对上述的本地模型和知识网络的获得方式进行说明。

本申请中,客户端通过对实体数据进行编码以表达知识,从而将表达形式不尽相同的知识统一到相同框架,实现了不同问题领域的自适应。请参阅图2(a)所示,为了实现多客户端间的知识自适应以及用户隐私保护,本申请中首先客户端将实体数据进行编码以表达知识,实现各客户端中的知识重构,再对编码后的数据进行压缩,然后对压缩的数据进行加密生成特征数据。请参阅图2(b)所示,服务端基于获取的大量的特征数据,学习实体数据间网络拓扑关系以构建知识网络,该知识网络包含各知识间的关系。

作为一个示例,本地模型和所述知识网络通过如下方式获得:

从与所述服务端相连的多个客户端中选择基准客户端,所述基准客户端是指除持有自身的实体数据外,还拥有其他客户端没有的对应于同一实体数据的标签;

循环进行如下步骤直至达到预设的停止条件,并以最后一次循环得到假设本地模型和所述假设知识网络作为各个客户端的本地模型和服务端的知识网络:

获取各个客户端的特征数据,所述特征数据为各个客户端分别利用预设的假设本地模型先对本地各实体数据进行编码以表达知识,然后对编码后的数据进行压缩,最后对压缩的数据进行加密以生成得到;

对来自所有客户端的多个所述特征数据进行配对,且每一对特征数据中的一个特征数据来自于所述基准客户端;

学习所述每一对特征数据所对应的实体数据对之间的网络拓扑关系以训练预设的假设知识网络,并将所述的网络拓扑关系的密文表达发送给基准客户端;

接收来自基准客户端的密文损失,所述密文损失为基准客户端基于预设的损失函数,根据标签以及服务端发送的网络拓扑关系的密文表达经基准客户端私钥解密后计算并加密得到;

基于所述密文损失采用梯度下降法,将所述多个客户端的所述假设本地模型和所述假设知识网络联合训练以更新所述假设知识网络和所述假设本地模型。

所述预设的停止条件可以为循环次数也可以为根据需要设定的其他条件,例如相邻两次循环中损失函数的差值小于某一设定值等。

基准客户端所持有的标签可以理解为就是该基准客户端的各个实体数据相对于其他客户端中的各个实体数据之间的拓扑关系,通常该基准客户端持有的标签数量较大以保证后续模型训练的准确性。

举例而言,客户端通过训练集对假设本地模型进行训练,该训练集包括若干个样本,每个样本包括两个实体数据(实体数据可以包括ID和特征信息)以及该两个实体数据之间的关系,例如,第m个客户端中的一个样本包含实体数据对(h,t),该实体数据对(h,t)经过假设本地模型

请参阅图3所示,客户端i(指定为基准客户端)对自身的多个实体数据h

按照上述方式,服务端可以获得多个客户端上传的多个特征数据,并对这些特征数据进行配对,且每一对特征数据中的一个特征数据来自于基准客户端;根据神经网络模型学习每一对特征数据所对应的实体数据对之间的网络拓扑关系以训练预设的假设知识网络,例如,通过学习实体数据(h

采用梯度下降法,将总数为例如P个客户端的所述假设本地模型

作为一个示例,梯度下降法包括:

使用最小二乘损失方法,根据链式法则迭代计算所述假设知识网络的第k层神经网络的更新梯度为:

其中[s

所述假设知识网络的第k层神经网络的权重参数的更新表达式为:

其中

所述假设知识网络关于第一层神经网络的输入

其中,

记来自客户端i中的多个所述特征数据

客户端i和客户端j分别对接收到的加密梯度[L

其中λ为学习率。

需要说明的是,客户端i作为基准客户端可以对其他客户端进行秘钥分配以构成关联,以上客户端均连接于服务端,从而服务端可以和这些客户端联合训练假设本地模型和假设知识网络。

在获得本地模型和知识网络的基础上,查询客户端可以向服务端发送查询请求,查询请求中携带有待查询的实体数据对应的特征数据作为查询目标;服务端接收到查询请求后,从其他客户端获取所有实体数据对应的特征数据;利用知识网络学习查询目标与其他客户端的特征数据之间的密文关系,并将该密文关系反馈给查询客户端,查询客户端对密文关系进行解密以得到明文关系。

需要说明的是,上文所述的“生成的或构建的本地模型及知识网络”均指某一阶段训练完成的本地模型及知识网络,在训练本地模型及知识网络的过程中,使用的训练集越多,得到的地模型及知识网络越完善,所以当有新的训练集增加时,可以基于已经训练的结果继续进行学习。

通过上述内容,由于客户端的原始数据经过编码、压缩和加密,然后再上传至服务端,以此能够在原始数据不出本地的情况下实现数据的流通。

可选的,上述神经网络模型包括但不限于多层神经网络模型、循环神经网络模型(RNN,Recurrent Neural Network)、卷积神经网络模型(CNN,Convolutional NeuralNetworks)。

进一步的,所述卷积神经网络模型可以为三元组卷积神经网络模型。

进一步,所述方法还包括采用同态加密方法在各客户端之间进行密钥分配,服务器端不持有密钥,因此不进行加解密操作。

根据上述内容,本申请的技术方案具有以下优势:

(1)使用网络拓扑形式定义知识网络;

(2)通过对原始知识编码的方式实现了不同问题领域的自适应;

(3)在训练与推理的过程中只传输加密后的数据,保护了用户隐私;

(4)客户端的实体数据经过编码后再进行压缩,减少了数据的传输量,能够有效的解决随着客户端数量的不断增多,网络传输的开销会成为系统性能提升的瓶颈的问题。

针对知识网络的构建,以下举例进行详细说明。

实施例1

本实施例的场景设定为跨特征联邦学习(即横向联邦学习),适用于以下情况:样本ID重叠较多,但是在特征维度几乎无重叠,并且每个客户端包含了用户在不同领域的特征。当只有一个客户端有标签时,可采用跨领域的知识网络,实现安全的知识网络系统架构与知识推理。为方便表述,以1个客户端i、1个客户端j以及1个服务端C为例,其中客户端i持有标签

构建安全的知识网络的一次迭代过程如下:

1.初始化:

a.指定客户端i为基准客户端,基准客户端i持有标签

b.由客户端i生成同态加密的公私钥密钥对(pub_key,pri_key),并将公私钥密钥对(pub_key,pri_key)发送给客户端j;

c.预先定义假设本地模型和假设知识网络,预先针对每一个客户端分别设定相应的权重参数。

2.每一个客户端利用预设的假设本地模型进行编码,并对编码后的实体数据依次进行压缩和加密生成各个实体的特征数据并发送给服务端。例如,客户端i对自身的多个实体数据h

3.服务端C对所有客户端上传的特征数据进行配对,例如得到一个配对为

4.服务端C将密文表达r’同步给客户端i,客户端i利用私钥pri_key进行解密,得到假设知识网络中实体数据间网络拓扑关系的明文表达r;客户端i基于所持有的标签

5.服务端C基于密文损失,进行反向传播,计算假设知识网络的梯度密文,并对假设知识网络进行权重参数的更新:

其中λ为学习率,

使用最小二乘损失方法,根据链式法则迭代计算所述假设知识网络的第k层神经网络的更新梯度为:

其中[s

该假设知识网络关于第一层神经网络的输入

记来自客户端i中的多个所述特征数据

6.客户端i和客户端j分别对加密梯度利用私钥pri_key进行解密和解压(恢复SVD压缩的数据)得到明文梯度L

对上述步骤2-6进行迭代,通过优化

以下,为基于知识联邦的知识推理的过程所包含的步骤:

任何一个客户端都可以发起知识推理的,知识推理的结果仅返回给发起方,以客户端i发起知识推理为例:

1.客户端i生成同态加密的公私钥密钥对(pub_key,pri_key),并将公私钥密钥对(pub_key,pri_key)发送给客户端j;

2.客户端i和客户端j分别对各自的实体数据n和实体数据m利用训练好的本地模型进行编码,并对编码后的数据进行压缩(SVD)以及利用公钥pub_key进行加密以生成特征数据

3.服务端C接收到客户端i发送的推理请求(该推理请求中携带有待推理实体数据n所对应的特征数据

4.客户端i利用私钥pri_key对密文表达r’进行解密,得到待推理目标实体数据n和待推理目标实体数据m的明文关系r,完成知识推理。

需要说明的是,上述步骤3,也可以是:客户端i先从客户端j获取特征数据

需要说明的是,上述步骤1如果在进行系统搭建,即模型管理过程中已经进行过密钥生成步骤,在进行推理时,可以不再进行密钥分配。

进一步,如果系统搭建之后若需要增加新的客户端需要重新进行模型训练(相当于更新系统)。

实施例2

如图4所示,为基于知识联邦的知识推理系统的结构示意图,该知识推理系统包括服务端和客户端,服务端可以为一个服务器,也可以包括多个相连的服务器;客户端的数量为多个,且各个客户端与服务端连接。

所述客户端和服务端分别用于执行本发明各种实施形态的基于知识联邦的知识推理过程中的必要步骤。

实施例3

如图5所示,为电子设备的结构示意图,该电子设备包括处理器610、存储器620、输入装置630和输出装置640;计算机设备中处理器610的数量可以是一个或多个;电子设备中的处理器610、存储器620、输入装置630和输出装置640可以通过总线或其他方式连接。

处理器610通过运行存储在存储器620中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及,即实现本发明各种实施形态的基于知识联邦的知识推理方法。

存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器620可进一步包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置630可用于接收实体数据、编码数据、压缩数据和特征数据等。输出装置640可包括显示屏等显示装备。

实施例4

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是手机,个人计算机,服务端,或者网络设备等)执行本发明各种实施形态的基于知识联邦的知识推理方法。

对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号