CN114330758B - 基于联邦学习的数据处理方法、装置及存储介质 - Google Patents
基于联邦学习的数据处理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN114330758B CN114330758B CN202111680820.6A CN202111680820A CN114330758B CN 114330758 B CN114330758 B CN 114330758B CN 202111680820 A CN202111680820 A CN 202111680820A CN 114330758 B CN114330758 B CN 114330758B
- Authority
- CN
- China
- Prior art keywords
- vector
- mask
- ciphertext
- samples
- plaintext
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及联邦学习领域,提供一种基于联邦学习的数据处理方法、装置及存储介质。该方法应用于存储有多个第一样本的第一终端,包括:接收第二终端发送的第一、第二密文向量;根据各个第一样本的特征值,确定全部第一样本的各候选分裂方式,每个候选分裂方式将全部第一样本划分为两部分;基于各候选分裂方式分别构建掩码向量,每一掩码向量为根据对应候选分裂方式将全部第一样本划分后的划分结果;根据每个候选分裂方式的掩码向量、第一和第二密文向量,计算各候选分裂方式的分裂增益;其中,第一、第二密文向量和掩码向量均包括数量、结构均相同两个独立的数据元素。本申请针对各候选分裂方式构建掩码向量,简化了数据处理过程,提高了效率。
Description
技术领域
本申请的实施例涉及联邦学习领域,更具体地涉及基于联邦学习的数据处理方法、装置及存储介质。
背景技术
随着社会信息化和网络化的迅速发展,数据呈爆炸式增长。很多企业或机构通常需要使用大量的数据优化各自的业务功能,由于企业或机构通常业务功能较为单一,获取到的数据也较为片面,因此需要结合其他方的数据共同对自身的业务功能进行优化。然而,每个企业或机构的数据通常都会包含一些个人隐私、商业机密等较为敏感的信息,为了保证数据安全,不能随意的将数据进行公开。
现有技术中,基于联邦学习的模型的训练通常是通过对各参与方数据进行加密后发送至聚合方,聚合方根据各参与方的加密数据列举节点的候选分裂方式,以计算各候选分裂方式的分裂增益确定最佳分裂方式来实现模型的训练;但是现有技术中根据加密数据计算分裂增益由于计算时需要对应每个候选分裂方式的左、右子树都进行一次计算的原因,导致其数据处理效率较低,进而会造成模型的训练效率低下的问题,使得模型难以快速投入到实际应用。
发明内容
但是,出于分裂方式的分裂增益计算方式的原因,现有技术在根据加密数据计算分裂增益时需要对应每个候选分裂方式的左、右子树都进行一次计算,且对于各个分裂方式均对应左、右子树进行计算的耗时较长。
因此在现有技术中,根据加密数据计算分裂增益的计算方法导致数据处理效率较低是非常令人烦恼的过程。
为此,非常需要一种改进的基于联邦学习的数据处理方法,以使数据处理的效率提升。
本申请的实施例期望提供一种基于联邦学习的数据处理方法、装置及存储介质。
在本申请的第一方面中,提供了一种基于联邦学习的数据处理方法,应用于存储有多个第一样本的第一终端,包括:
接收第二终端发送的第一密文向量和第二密文向量;
根据各个第一样本的特征值,确定全部第一样本的各个候选分裂方式,每个候选分裂方式将全部第一样本划分为两部分;
基于各个候选分裂方式分别构建掩码向量,每一所述掩码向量表示根据对应候选分裂方式将全部第一样本划分后,各个第一样本为左子树节点或右子树节点;
根据每个候选分裂方式的掩码向量、所述第一密文向量和所述第二密文向量,计算各个候选分裂方式的分裂增益;
其中,所述第一密文向量、所述第二密文向量和所述掩码向量均包括相同数量的数据元素,每个数据元素具有相同的数据结构,包括两个独立的部分。
在本申请的第二方面中,提供了一种基于联邦学习的数据处理方法,应用于存储有多个第二样本和对应的多个标签的第二终端,包括:
根据各个第二样本的特征值和对应的标签,获取各个第二样本的一阶导数和二阶导数;
将各个一阶导数编码为第一明文向量,并将所述第一明文向量同态加密为第一密文向量;
将各个二阶导数编码为第二明文向量,并将所述第二明文向量同态加密为第二密文向量;
将所述第一密文向量和第二密文向量发送至第一终端;
其中,所述第一密文向量和所述第二密文向量均包括相同数量的数据元素,每个数据元素具有相同的数据结构,对应一个一阶导数或二阶导数,包括两个独立的部分。
在本申请的第三方面中,提供了一种基于联邦学习的数据处理装置,应用于存储有多个第一样本的第一终端,所述装置包括:
接收模块,被配置为接收第二终端发送的第一密文向量和第二密文向量;
处理模块,被配置为根据各个第一样本的特征值,确定全部第一样本的各个候选分裂方式,每个候选分裂方式将全部第一样本划分为两部分;以及
基于各个候选分裂方式分别构建掩码向量,每一所述掩码向量表示根据对应候选分裂方式将全部第一样本划分后,各个第一样本为左子树节点或右子树节点;
计算模块,被配置为根据每个候选分裂方式的掩码向量、所述第一密文向量和所述第二密文向量,计算各个候选分裂方式的分裂增益;
其中,所述第一密文向量、所述第二密文向量和所述掩码向量均包括相同数量的数据元素,每个数据元素具有相同的数据结构,包括两个独立的部分。
在本申请的第四方面中,提供了一种基于联邦学习的数据处理装置,应用于存储有多个第二样本和对应的多个标签的第二终端,所述装置包括:
获取模块,被配置为根据各个第二样本的特征值和对应的标签,获取各个第二样本的一阶导数和二阶导数;
加密模块,被配置为将各个一阶导数编码为第一明文向量,并将所述第一明文向量同态加密为第一密文向量;以及
将各个二阶导数编码为第二明文向量,并将所述第二明文向量同态加密为第二密文向量;
发送模块,被配置为将所述第一密文向量和第二密文向量发送至第一终端;
其中,所述第一密文向量和所述第二密文向量均包括相同数量的数据元素,每个数据元素具有相同的数据结构,对应一个一阶导数或二阶导数,包括两个独立的部分。
在本申请的第五方面中,提供了一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行第一方面或第二方面中所述的数据处理方法。
在本申请的第六方面中,提供了一种计算设备,包括:存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现第一方面或第二方面中所述的数据处理方法。
本申请实施例的基于联邦学习的数据处理方法、装置及存储介质和计算设备,可以根据各候选分裂方式的不同构建对应的掩码向量,即根据对应候选分裂方式将全部第一样本划分后各个第一样本为左子树节点或右子树节点构建掩码向量,在分裂增益计算过程中直接利用从第二终端接收到的第一密文向量、第二密文向量和所述格候选方式对应的掩码向量计算各候选分裂方式的分裂增益,具体包括提取所述掩码向量与所述第一密文向量和第二密文向量分别进行向量内积运算的结果确定所述各候选分裂方式的分裂增益,即一次运算就可以获取左、右子树的分别对应的结果;从而避免根据加密数据计算分裂增益由于计算时需要对应每个候选分裂方式的左、右子树都进行一次计算的问题,提高了分裂增益的计算速度,加快了联邦学习模型在训练中数据处理的进程。
附图说明
通过参考附图阅读下文的详细描述,本申请示例性实施例的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本申请的若干实施例,其中:
图1为本申请一实施例提供的基于联邦学习的数据处理系统的应用场景示意图;
图2为本申请一实施例提供的基于联邦学习的数据处理方法的信令交互示意图;
图3为本申请一实施例提供的现有技术中计算左子树中的各个第一样本的一阶导数之和的流程示意图;
图4为本申请一实施例提供的现有技术中计算右子树中的各个第一样本的一阶导数之和的流程示意图;
图5为采用本申请一实施例提供的基于联邦学习的数据处理方法计算左、右子树中的各个第一样本的一阶导数之和的流程示意图;
图6为本申请一实施例提供的基于联邦学习的数据处理方法的区块链网络示意图;
图7为采用本申请一实施例提供的基于联邦学习的数据处理方法构建决策树模型的流程图;
图8为本申请一实施例提供的基于联邦学习的数据处理装置的结构示意图;
图9为本申请另一实施例提供的基于联邦学习的数据处理装置的结构示意图;
图10示意性地示出了本申请实施例的一种计算机可读存储介质的结构示意图;
图11示意性地示出了本申请实施例的一种计算设备的结构示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施例来描述本申请的原理和精神。应当理解,给出这些实施例仅仅是为了使本领域技术人员能够更好地理解进而实现本申请,而并非以任何方式限制本申请的范围。相反,提供这些实施例是为了使本申请更加透彻和完整,并且能够将本声请的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本申请的实施例可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本申请可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
本申请实施例提供的方案涉及人工智能的机器学习、联邦学习等技术,具体提供了一种联邦学习中构建决策树时,提升计算各个候选分裂方式的分裂增益的计算速度的数据处理方法、装置及存储介质,实现分裂增益计算速度的提升,本申请提供的基于联邦学习的数据处理方法可以应用于联邦学习、联邦决策树的构建、联邦学习模型的训练等对各种基于联邦学习的分裂方式进行分裂增益的计算,以期望提高分裂增益的计算度,得到的分裂增益可以具体应用于商业机密保密状态下的模型训练、用户隐私数据的决策树构建等领域中。
其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
联邦学习(Federated Machine Learning/Federated Learning)又名联邦机器学习、联合学习或联盟学习;联邦学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。
相关技术中,联邦学习模型的训练和联邦决策树的构建主要采用计算时需要对应每个候选分裂方式的左、右子树都进行一次计算确定分裂增益,获取加密数据,针对每个候选分裂方式中第一样本划分到左、右子树分别对应进行两次运算,在计算过程中,需要耗费大量的时间进行计算,而这些计算过程中的数据也需要持续处理,因此数据处理过程耗时较长,且成本较高。
示例性地,结合参考图1,其示出了本申请一个实施例提供的基于联邦学习的数据处理系统的应用场景示意图。该基于联邦学习的数据处理系统可以包括第一终端10和第二终端20。第二终端20用于获取各个第二样本的一阶导数和二阶导数后将其对应编码成第一明文向量、第二明文向量,随后同态加密为第一密文向量和第二密文向量,最后向第一终端10发送第一密文向量和第二密文向量;其中,第二终端20是指任意用户所使用的终端。可选地,第二终端20可以是诸如手机、平板电脑、游戏主机、电子书阅读器、多媒体播放设备、可穿戴设备、个人计算机(Personal Computer,PC)、服务器、云服务器等终端。第二终端20中可以安装应用程序的客户端。其中,该应用程序是指任意能够为第二终端20与第一终端10之间提供交互平台的计算机程序。可选地,第一终端10也可以是诸如手机、平板电脑、游戏主机、电子书阅读器、多媒体播放设备、可穿戴设备、PC、服务器、云服务器等终端,本申请实施例对此不作限定。需要说明的一点是,上述应用程序可以是是需要下载安装的应用程序,也可以是即点即用的应用程序,本申请实施例对此不作限定。
第一终端10用于从第二终端20接收第一密文向量和第二密文向量;以及
根据存储的各个第一样本的特征值,确定全部第一样本的各个候选分裂方式,并基于各个候选分裂方式分别构建掩码向量,最后根据每个候选方式的掩码向量、第一密文向量和第二密文向量计算各个候选分裂方式的分裂增益。
可选地,第一终端10和第二终端20之间通过网络进行通信。
下面参考本申请的若干代表性实施例,详细阐释本申请的原理和精神。
示例性方法
图2为本申请一实施例提供的基于联邦学习的数据处理方法的信令交互示意图,本申请实施例应用于图1所示的基于联邦学习的数据处理系统中,该基于联邦学习的数据处理系统包括第一终端和第二终端,本申请实施例仅以第一终端与第二终端的一次交互过程为例,对基于联邦学习的数据处理过程进行说明,需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施例在此方面不受任何限制。相反,本申请的实施例可以应用于适用的任何场景。请参阅图2,该方法包括以下步骤:
步骤S201,第二终端根据各个第二样本的特征值和对应的标签,获取各个第二样本的一阶导数和二阶导数。
在本申请的一个实施例中,所述各个第二样本的一阶导数和二阶导数可以是预先设定的,也可以是在获取过程中计算得到的,对此,本申请不作任何限定。
具体的,所述各个第二样本的一阶导数和二阶导数计算过程可以为:对所述各个第二样本的特征值进行求导计算,得到所述各个第二样本的一阶导数;对所述各个第二样本的一阶导数进行求导计算,得到各个第二样本的二阶导数。
步骤S202,第二终端将各个一阶导数编码为第一明文向量,并将所述第一明文向量同态加密为第一密文向量;以及
将各个二阶导数编码为第二明文向量,并将所述第二明文向量同态加密为第二密文向量。
在本申请的一个实施例中,可以将各个一阶导数编码成实部和虚部绝对值相同的各个第一明文元素,将所述各个二阶导数编码成与所述第一明文元素的格式相同的各个第二明文元素,然后再分别将所述各个第一明文元素和所述第二明文元素对应按照所述第二样本在全部第二样本中的顺序进行排序,再将排序好的各个第一明文元素组合成第一明文向量,将排序好的各个第二明文元素组合成第二明文向量。
举例说明,全部第二样本为a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,则对应的一阶导数为g0,g1,g2,g3,g4,g5,g6,g7,g8,g9,将所述一阶导数编码为实部和虚部绝对值相同的第一明文元素为:|g0|+|g0|i,|g1|+|g1|i,…,|g9|+|g9|i,例如,当所述一阶导数的取值为:0,x,2x,3x,4x,5x,6x,7x,8x,9x,将所述一阶导数进行编码后,对应各个一阶导数进行编码,得到第一明文元素为:0+0i,x+xi,2x+2xi,3x+3xi,4x+4xi,5x+5xi,6x+6xi,7x+7xi,8x+8xi,9x+9xi,再将所述各个第一明文向量按照第二样本在全部第二样本中的顺序进行组合,得到第一明文向量为:(0+0i,x+xi,2x,3x+3xi,4x+4xi,5x+5xi,6x+6xi,7x+7xi,8x+8xi,9x+9xi)。
同理所述第二样本的二阶导数可以为h0,h1,h2,h3,h4,h5,h6,h7,h8,h9,将所述二阶导数编码为第二明文元素的过程与将所述一阶导数编码为第一明文元素的方法相同,例如,根据一阶导数的取值为0,x,2x,3x,4x,5x,6x,7x,8x,9x,可以求得二阶导数为:0,1,2,3,4,5,6,7,8,9,然后分别进行编码后对应得到第一明文元素为0+0i,1+1i,2+2i,3+3i,4+4i,5+5i,6+6i,7+7i,8+8i,9+9i,再按照第二样本的顺序组合成第二明文向量为:(0+0i,1+1i,2+2i,3+3i,4+4i,5+5i,6+6i,7+7i,8+8i,9+9i)。
可选的,也可以先对一阶导数进行运算处理后再编码为第一明文元素后组合成第一明文元素,例如,可以利用一阶导数与n相乘,得到n倍的一阶导数,再利用n倍的一阶导数进行编码,对应得到形如|g0|+|g0|i的第一明文元素;同理,当所述一阶导数与n相乘变成n倍的一阶导数时,所述二阶导数也需要与n相乘,生成n倍的二阶导数后再编码为形如|h0|+|h0|i的第一明文元素。
其中,所述全部第二样本对应的一阶导数不仅限于上述所列举的形式,可以是形如a+ai、a-ai或-a-ai的形式,对此,本申请不作任何限定。
在本申请的一个实施例中,将所述第一明文向量和所述第二明文向量同态加密得到的第一密文向量和第二密文向量均包括相同数量的数据元素,且每个数据元素具有相同的数据结构,对应一个一阶导数或者二阶导数,包括两个独立的部分。
在本申请的一个实施例中,将所述第一明文向量和第二明文向量分别加密为第一密文向量和第二密文向量可以采用CKKS同态加密方法是方法;其中,所述CKKS同态加密方法,主要包括:秘钥生成算法、加密算法、解密算法、同态加法运算、同态乘法运算以及明文移位算法。
步骤S203,第二终端将所述第一密文向量和所述第二密文向量发送至第一终端。
在本申请的一个实施例中,所述第二终端可以为手机、平板电脑、游戏主机、电子书阅读器、多媒体播放设备、可穿戴设备、PC、服务器等终端设备,其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器,但并不局限于此。所述第二终端和所述第一终端可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不作限制。
步骤S204,第一终端接收第二终端发送的第一密文向量和第二密文向量;
在本申请的一个实施例中,所述第一密文向量和第二密文向量是通过所述第二终端对获取到的多个第二样本数据分别计算一阶导数和二阶导数,再将所述一阶导数和二阶导数编码为第一、第二明文向量后进行同态加密得到的;其中,所述第一密文向量和第二密文向量均包括相同数量的数据元素,且每个数据元素具有相同的数据结构,对应一个一阶导数或者二阶导数,包括两个独立的部分。
在本申请的一个实施例中,所述第一终端可以为手机、平板电脑、游戏主机、电子书阅读器、多媒体播放设备、可穿戴设备、PC、服务器等终端设备,其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器,但并不局限于此。所述第一终端和所述第二终端可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不作限制。
步骤S205,第一终端根据各个第一样本的特征值,确定全部第一样本的各个候选分裂方式,每个候选分裂方式将全部第一样本划分为两部分。
在本申请的一个实施例中,将所述全部第一样本的特征值作为分裂条件对所述全部第一样本进行划分,得到全部第一样本根据所述分裂条件得到的划分结果,将所有划分结果作为全部的候选分裂方式。
其中,确定全部第一样本的各个候选分裂方式具体步骤包括:
将每个第一样本的特征值都作为分裂条件;
根据所述所有分裂条件确定所有的候选分裂方式;
基于所有的候选分裂方式将全部第一样本划分为两部分。
举例说明,假设第一终端存储有10个第一样本及其特征值,将10个第一样本及其对应的特征作为分裂节点,此时可得到10种候选分裂方式,再利用这10种候选分裂方式对全部的第一样本进行划分,例如,第5个个第一样本的特征值为3,则将10个样本中的8个大于特征值3的样本和2个小于特征值3的样本划分成两部分,并针对所有候选分裂条件都进行上述操作,直至得到10个第一样本及其特征值对应的10种候选分裂方式。
此外,所述候选分裂方式还可以是根据所述第一样本数据列举所有可能的候选分裂条件,然后再按照所有候选分裂条件将所述所有第一样本数据划分为两部分,生成与所述候选分裂条件数量相同的候选分裂方式。
同样举例说明,假设第一终端存储有n个第一样本及其特征值,根据第一样本的特征值的共性列举m个候选分裂条件,再把n个样本按照m个可能的分裂条件划分为两部分,例如m个候选分裂条件中的第h个候选分裂条件是特征值h,则将n个样本中的x个大于特征值h的样本和y个小于特征值h的样本划分成两部分,并针对所有候选分裂条件都进行上述操作,直至得到m种候选分裂方式。
此外,所述候选分裂方式还可以通过近似算法根据所述第一样本的特征的分布提前计算得到分位点,然后利用所述分位点将所述第一样本划分为两部分,生成与所述分位点数量相同的候选分裂方式。
步骤S206,第一终端基于各个候选分裂方式分别构建掩码向量,每一所述掩码向量表示根据对应候选分裂方式将全部第一样本划分后,各个第一样本为左子树节点或右子树节点;
在本申请的一个实施例中,所述每个掩码向量是对照所述每个候选的分裂方式包含的划分结果构建的,所述每个掩码向量可以用于表示对应的候选分裂方式中的分裂情况,例如,某个分裂方式中将第一样本划分到左子树的数量和左子树的数量以及所述第一样本的顺序均可以通过所述掩码向量进行表达。
在本申请的一个实施例中,利用基于一个候选分裂方式构建一个掩码向量的步骤说明掩码向量的具体构建步骤,其中,包括:
根据所述候选分裂方式将各个第一样本划分到左子树或右子树;
为左子树的每一个第一样本对应构建第一掩码元素,为右子树的每一个第一样本对应构建第二掩码元素;
按照各个第一掩码元素和第二掩码元素对应的第一样本在全部第一样本中的顺序,将各个第一掩码元素和第二掩码元素组合为掩码向量;
其中,所述第一掩码元素和第二掩码元素均为复数结构。
具体的,所述第一掩码元素和所述第二掩码元素被配置为各自的实部与虚部的绝对值相同,且第一掩码元素与第二掩码元素共轭。
举例说明,假设全部第一样本的数量为10个,对应的特征值分别为K,L,M,O,P,Q,R,S,T,利用特征值K,L,M,O,P,Q,R,S,T作为候选分裂条件,此时可以根据候选分裂条件得到对应数量的候选分裂方式,例如,当所述特征值T为候选分裂条件时对应的候选分裂方式是将所述10个第一样本中特征值小于T的第0、1、3、4、5个第一样本划分到左子树,特征值大于T的第2、6、7、8、9个第一样本划分到右子树;进而基于第0、1、3、4、5个第一样本划分到左子树,第2、6、7、8、9个第一样本划分到右子树的候选分裂方式,划分到左子树的第0、1、3、4、5个第一样本构建第一掩码元素为0.5+0.5i,为划分到右子树的第2、6、7、8、9个第一样本对应构建与所述第一掩码元素的实部和虚部相同,且与所述第一掩码元素共轭的第二掩码元素为0.5-0.5i,最后按照第一样本的顺序排列第一掩码元素和第二掩码元素,再将排列好的第一掩码元素和第二掩码元素组成掩码向量为(0.5+0.5i,0.5+0.5i,0.5-0.5i,0.5+0.5i,0.5+0.5i,0.5+0.5i,0.5-0.5i,0.5-0.5i,0.5-0.5i,0.5-0.5i)。
在本申请的实施例中,所述第一和第二掩码元素各自的实部与虚部的绝对值相同,且第一掩码元素与第二掩码元素共轭即可,进而所述第一掩码元素还可以为-1+1i,第二掩码元素对应为-1-1i,也就是所述第一样本对应划分至左子树的每个第一样本对应构建-1+1i的第一掩码元素,所述第一样本对应划分至右子树的每个第一样本对应构建-1+1i的第二掩码元素,对此,本实施例对所述绝对值的取值不作任何限定。
步骤S207,第一终端根据每个候选分裂方式的掩码向量、所述第一密文向量和所述第二密文向量,计算各个候选分裂方式的分裂增益。
在本申请的一个实施例中,所述掩码向量包括第一掩码元素第二掩码元素,所述第一掩码元素和所述第二掩码元素为复数结构,并被配置为作为掩码向量中的数据元素与第一密文向量或第二密文向量中的数据元素进行内积运算后,仅保留实部或虚部。
其中,利用复数运算法则计算所述第一样本和对应的掩码向量的内积后可知,若所述计算结果仅剩实部,则对应的第一样本被划分到左子树,若所述计算结果为仅剩虚部,则对应的第一样本被划分到右子树。
在本申请的一个实施例中,所述第一密文向量和所述第二密文向量中的数据元素被配置为各自的实部和虚部的绝对值相同;且所述第一密文向量和所述第二密文向量是通过第二终端加密得到的。
具体的,所述各个候选分裂方式的分裂增益的计算步骤包括:
首先,将所述掩码向量与所述第一密文向量和第二密文向量分别进行向量内积运算;
其次,提取所述掩码向量与所述第一密文向量的内积运算结果中的第一实部和第一虚部,所述第一实部和第一虚部分别为左子树或右子树中的各个第一样本的一阶导数之和;以及
提取所述掩码向量与所述第二密文向量的内积运算结果中的第二实部和第二虚部,所述第二实部和第二虚部分别为左子树或右子树中的各个第二样本的二阶导数之和;
举例说明,参照图3和图4中所示的现有技术中计算左子树中各个第一样本的一阶导数之和以及计算右子树中各个第一样本的一阶导数之和的流程,假设有10个第一样本,其对应的特征值为K,L,M,O,P,Q,R,S,T,其中一个分裂候选方式对应的分裂条件为特征值S,分别对应第一样本划分到左、右子树构建一个掩码向量,例如,针对划分到左子树的第2、4、6、9个第一样本设置掩码向量为0,为特征值大于S的第1、3、5、7、10个划分到右子树的第一样本对应设置掩码向量为1,生成左子树的第一样本对应的掩码向量为:0,1,0,1,0,1,0,0,1,0,相反对应右子树的第一样本生成的掩码向量为:1,0,1,0,1,0,1,1,0,1;如图3所示,分别利用第一密文向量:0.1,0.2,0.3,0.2,0.7,0,0.8,0.9,0.9,0.1与左子树掩码向量:0,1,0,1,0,1,0,0,1,0进行内积运算,得到划分到左子树的第一样本的一阶导数之和1.3;根据图4所示,对应利用右子树的掩码向量:1,0,1,0,1,0,1,1,0,1与所述第一密文向量进行内积运算,得到划分到右子树的第一样本的一阶导数之和为2.9。
同理,对于计算左、右子树的第一样本的二阶导数之和可以利用第二密文向量替换第一密文向量分别和左、右子树的第一样本的掩码向量进行内积运算。
同样举例说明,参照图5所示的采用本申请提供的基于联邦学习的数据处理方法计算左、右子树中的各个第一样本的一阶导数之和的流程,同样采用10个第一样本,其对应的特征值为K,L,M,O,P,Q,R,S,T,其中一个分裂候选方式对应的分裂条件为特征值S,按照分裂条件将第2、4、6、9个第一样本划分到左子树,第1、3、5、7、10个划分到右子树,再根据包括相同数量的数据元素且每个数据元素具有相同的数据结构的第一密文向量和第二密文向量构建包含的数据元素各自的实部与虚部的绝对值相同、与第一密文向量或第二密文向量中的数据元素进行内积运算后仅保留实部或虚部以及所述数据元素共轭的掩码向量,例如,第一密文向量为0.1+0.1i,0.2+0.2i,0.3+0.3i,0.2+0.2i,0.7+0.7i,0+0i,0.8+0.9i,0.9+0.9i,0.9+0.9i,0.1+0.1i,则按照所述掩码向量的构造规则,可为左子树的第一样本构建掩码向量为0.5+0.5i,0.5-0.5i,0.5+0.5i,0.5-0.5i,0.5+0.5i,0.5-0.5i,0.5+0.5i,0.5+0.5i,0.5-0.5i,0.5+0.5i,如图5所示,利用第一样本的掩码向量与所述第一密文向量0.1+0.1i,0.2+0.2i,0.3+0.3i,0.2+0.2i,0.7+0.7i,0+0i,0.8+0.9i,0.9+0.9i,0.9+0.9i,0.1+0.1i可以直接利用复数运算法则ac-bd+(ad+bc)i进行内积计算得到1.3+2.9i,其中,实部对应划分到左子树的第一样本的一阶导数之和,虚部对应划分到右子树的第一样本的一阶导数之和。
此外,所述掩码向量在满足与包括相同数量的数据元素且每个数据元素具有相同的数据结构的第一密文向量和第二密文向量构建包含的数据元素各自的实部与虚部的绝对值相同第一密文向量或第二密文向量中的数据元素进行内积运算后仅保留实部或虚部以及其包含的数据元素共轭的情况下的取值区间内,可以取任何值,本申请对于掩码向量的构建不作除此之外的任何取值约束。
同理,对于计算左、右子树的第一样本的二阶导数之和可以利用第二密文向量替换第一密文向量直接和左子树的第一样本的掩码向量进行内积运算后,得到的内积运算结果中的实部为划分至左子树第一样本的二阶导数之和,虚部为划分至右子树第一样本的二阶导数之和。
最后,根据所述第一实部、第一虚部、第二实部和第二虚部,计算根据所述候选分裂方式分裂后的分裂增益。
在本申请的一个实施例中,所述分裂增益还可以按照如下计算式计算:
式中,Gain为分裂增益,GL为左子树中各个第二样本的一阶导数之和,GR为右子树中各个第二样本的一阶导数之和,HL为左子树中的各个第二样本的一阶导数之和,HR为右子树中的各个第二样本的一阶导数之和,λ为叶子节点权重的正则化项,γ为叶子节点个数的正则化项。
本申请实施例提供的基于联邦学习的数据处理方法可以解决加密数据计算分裂增益由于计算时需要对应每个候选方式的左、右子树都进行一次计算导致的数据处理效率较低的问题,具体包括:利用存储有多个第一样本的第一终端接收第二终端发送的第一密文向量和第二密文向量;进而根据所述第一样本的特征值确定全部第一样本的各个候选分裂方式,每个候选分裂方式将全部第一样本划分为两部分;然后基于各个候选分裂方式分别构建掩码向量,每一所述掩码向量表示根据对应候选分裂方式将全部第一样本划分后,各个第一样本为左子树节点或右子树节点;根据各个候选分裂方式的掩码向量、第一密文向量和第二密文向量,计算各个候选分裂方式的分裂增益;由此,通过掩码向量与所述第一密文向量和第二密文向量计算分裂增益,可以避免对应每个分裂方式的左、右子树都进行一次计算的过程,即将所述左、右子树的计算合并为一步计算,从而降低了分裂增益的运算复杂度,提升了加密数据运算的处理速度;因此,利用本申请提供的基于联邦学习的数据处理方法可以在计算分裂增益的过程中降低数据运算的复杂程度,提供数据的处理效率。
本申请又一实施例中,可以将所述计算得到各个候选分裂方式的分裂增益保存在区块链节点上,区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
参见图6所示的基于联邦学习的数据处理方法的区块链网络示意图,区块链网络中包含参与者节点,参与者节点用于存储基于联邦学习进行数据处理过程中联邦学习节点产生的数据,如图6所示,区块链网络中包含参与者节点1和参与者节点2,联邦学习节点1可以为终端,联邦学习节点2也可以为终端,联邦学习节点2可将第二样本的一阶导数和二阶导数编码为第一明文向量和第二明文向量,并将所述第一明文向量和第二明文向量同态加密为第一密文向量和第二密文向量,并发送第一密文向量和第二密文向量,联邦学习节点1可以根据第一样本确定全部第一样本的各个候选分裂方式,然后基于各个分裂方式分别构建掩码向量,最后根据每个候选分裂方式的掩码向量、第一密文向量和第二密文向量计算各个候选分裂方式的分裂增益。为了保证区块链网络内的信息互通,区块链网络中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。
对于区块链网络中的每个节点,均具有与其对应的节点标识,而且区块链网络中的每个节点均可以存储有区块链网络中其他节点的节点标识,以便后续根据其他节点的节点标识,将加密生成的区块广播至区块链网络中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明。
表1
节点名称 | 节点标识 |
节点1 | 117.114.151.174 |
节点2 | 117.116.189.145 |
… | … |
节点N | 119.123.789.258 |
可选的,所述基于联邦学习的数据处理方法可以应用于区块链设备,所述第一终端和所述第二终端为所述区块链设备,所述区块链设备为区块链中的节点,所述多个第一样本及对应的各个候选分裂方式的分裂增益可以保存在区块链节点上。
为进一步说明本申请提供的一种基于联邦学习的数据处理方法的数据处理速度,参阅图7,图7为基于联邦学习的数据处理方法构建决策树模型的流程图;
其中,基于联邦学习的数据处理方法构建决策树模型的过程具体包括:
获取训练数据作为第一样本数据;
在本申请的一个实施例中,所述用于构建联邦决策树模型的第一样本可以直接采用获取得到的训练数据,或者可以基于联邦决策树模型的训练用途选取合适的训练数据作为所述第一样本数据。
根据各个第一样本的特征值,确定全部第一样本的各个候选分裂方式,每个候选分裂方式将全部第一样本划分为两部分;
此外,所述第一样本的数据数量需大于一个,且所述第一样本数据可以是一个数组或多个数组,并在所述训练数据作为第一样本时,需要为所有数据预先设定序列。
基于各个候选分裂方式分别构建掩码向量,每一所述掩码向量表示根据对应候选分裂方式将全部第一样本划分后,各个第一样本为左子树节点或右子树节点;
在本申请的一个实施例中,遍历获取所述每个第一样本作为分裂特征值,并确定为候选分裂条件,再根据所述分裂条件对所述所有第一样本进行划分,针对每个候选分裂条件都会得到一个将所有第一样本进行划分得到的划分结果,再将所述划分结果作为所述各个候选分裂条件对应的候选分裂方式;
具体的,所述掩码向量是为所述每个候选分裂方式构建的,所述候选分裂方式中包含被划分到左子树的第一样本和被划分到右子树的第一样本,因此,为所述左子树的每个第一样本构建第一掩码元素,为右子树的每个第一样本构建第二掩码元素,按照各个第一掩码元素和第二掩码元素对应的第一样本在全部第一样本中的预设序列将各个第一掩码元素和第二掩码元素组合为掩码元素;其中,所述第一、第二掩码元素均为结构。
根据每个候选分裂方式的掩码向量、所述第一密文向量和所述第二密文向量,计算各个候选分裂方式的分裂增益;
在本申请的一个实施例中,根据一个候选分裂方式的掩码向量、所述第一密文向量和第二密文向量,计算所述一个候选分裂方式的分裂增益,包括:将所述掩码向量与所述第一密文向量和第二密文向量分别进行向量内积运算;提取所述掩码向量与所述第一密文向量的内积运算结果中的第一实部和第一虚部,所述第一实部和第一虚部分别为左子树或右子树中的各个第一样本的一阶导数之和;提取所述掩码向量与所述第二密文向量的内积运算结果中的第二实部和第二虚部,所述第二实部和第二虚部分别为左子树或右子树中的各个第二样本的二阶导数之和;根据所述第一实部、第一虚部、第二实部和第二虚部,计算根据所述候选分裂方式分裂后的分裂增益。
在每次分裂的过程中,均按上述步骤选择分裂增益最大的候选分裂方式对所述待构建决策树进行分裂,生成目标决策树,并重复上述步骤,直到构建得到设定数量的目标决策树后生成联邦决策树模型。
在本申请的一个实施例中,所述目标决策树的生成可以是将所述第一样本的在分裂的过程中全部分配到各个分裂节点后生成的,也可以是预先设定目标决策树的分裂节点,当所述分裂节点达到所述预设节点的数量时,直接输出得到的。
举例说明,设定目标决策树的节点数量为5,此时有10个第一样本,在第一次分裂过程中,确定分裂增益最大时的候选分裂方式对应的分裂条件为t,在1个第一样本中,有4个大于t,被划分到左子树,6个小于t的被划分到右子树,在第二次分裂过程中,继续分别计算左、右子树的最大分裂增益确定分裂条件为n和h,再根据n和h分别对左、右子树进行节点分裂,此时达到设定的节点数量5,生成目标决策树。
采用本申请提供的一种基于联邦学习的数据处理方法构建所述决策树模型可以解决分裂增益计算速度的问题,其主要通过根据第一样本的特征值确定各个候选分裂方式,再针对各个候选分裂方式构建掩码向量,最后利用所述各个分裂方式的掩码向量和所述第一密文向量及第二密文向量计算对应的构建第一、第二密文向量的第二样本的二阶导数之和计算分裂增益;在数据处理的过程中,由于针对各个候选分裂方式均构建了掩码向量,因此在分裂增益的计算过程中,只采用各个候选分裂方式对应的掩码向量与第一、第二密文向量进行计算得到分裂增益即可,无需再对各个候选分裂方式的左、右子树进行分别计算,减少了运算的步骤的同时保证了运算的效率,进而可以加快决策树模型的构建。
示例性装置
在介绍了本申请示例性实施方式的方法之后,接下来,参考图8对本申请示例性实施方式的一种基于联邦学习的数据处理装置进行说明,该装置应用于存储有多个第一样本的第一终端,所述装置包括:
接收模块301,被配置为接收第二终端发送的第一密文向量和第二密文向量;
处理模块302,被配置为根据各个第一样本的特征值,确定全部第一样本的各个候选分裂方式,每个候选分裂方式将全部第一样本划分为两部分;以及
基于各个候选分裂方式分别构建掩码向量,每一所述掩码向量表示根据对应候选分裂方式将全部第一样本划分后,各个第一样本为左子树节点或右子树节点;
计算模块303,被配置为根据每个候选分裂方式的掩码向量、所述第一密文向量和所述第二密文向量,计算各个候选分裂方式的分裂增益;
其中,所述第一密文向量、所述第二密文向量和所述掩码向量均包括相同数量的数据元素,每个数据元素具有相同的数据结构,包括两个独立的部分。
作为一种可选的实施方式,所述处理模块302基于一个候选分裂方式构建一个掩码向量的具体步骤包括:
根据所述候选分裂方式将各个第一样本划分到左子树或右子树;
为左子树的每一个第一样本对应构建第一掩码元素,为右子树的每一个第一样本对应构建第二掩码元素;
按照各个第一掩码元素和第二掩码元素对应的第一样本在全部第一样本中的顺序,将各个第一掩码元素和第二掩码元素组合为掩码向量;
其中,所述第一掩码元素和第二掩码元素均为复数结构,并被配置为作为掩码向量中的数据元素与第一密文向量或第二密文向量中的数据元素进行内积运算后,仅保留实部或虚部;且所述第一掩码元素和所述第二掩码元素各自的实部和虚部的绝对值相同,所述第一掩码元素和所述第二掩码元素共轭。
作为一种可选的实施方式,所述计算模块303根据一个候选分裂方式的掩码向量、所述第一密文向量和第二密文向量,其中,所述第一密文向量和所述第二密文向量中的数据元素被配置为各自的实部和虚部的绝对值相同;且所述第一密文向量和所述第二密文向量是通过第二终端加密得到的;
具体的,计算所述一个候选分裂方式的分裂增益的步骤包括:
将所述掩码向量与所述第一密文向量和第二密文向量分别进行向量内积运算;
提取所述掩码向量与所述第一密文向量的内积运算结果中的第一实部和第一虚部,所述第一实部和第一虚部分别为左子树或右子树中的各个第一样本的一阶导数之和;
提取所述掩码向量与所述第二密文向量的内积运算结果中的第二实部和第二虚部,所述第二实部和第二虚部分别为左子树或右子树中的各个第二样本的二阶导数之和;
根据所述第一实部、第一虚部、第二实部和第二虚部,计算根据所述候选分裂方式分裂后的分裂增益。
其中,所述第一密文向量和所述第二密文向量中的数据元素被配置为各自的实部和虚部的绝对值相同。
此外,所述分裂增益还可以按照如下计算式计算:
式中,Gain为分裂增益,GL为左子树中各个第二样本的一阶导数之和,GR为右子树中各个第二样本的一阶导数之和,HL为左子树中的各个第二样本的一阶导数之和,HR为右子树中的各个第二样本的一阶导数之和,λ为叶子节点权重的正则化项,γ为叶子节点个数的正则化项。
本申请实施例提供的基于联邦学习的数据处理装置通过所述第一样本的特征值确定全部第一样本的各个候选分裂方式,然后基于各个候选分裂方式分别构建掩码向量,再根据各个候选分裂方式的掩码向量以及接收到的第一密文向量和第二密文向量,计算各个候选分裂方式的分裂增益;由此,通过各个候选分裂方式对应的掩码向量以及所述第一密文向量和第二密文向量计算分裂增益,可以减少对应每个分裂方式的左、右子树都进行一次计算的过程,也就是说通过为各个候选分裂方式构建掩码向量可以将左、右子树的计算合并为一步,从而减少了分裂增益的运算处理时间,提升了加密数据运算的处理效率;因此,利用本申请提供的基于联邦学习的数据处理装置可以在计算分裂增益的过程中降低数据运算的复杂程度,提高数据的处理速度。
请参阅图9,图9为本申请另一实施例提供的基于联邦学习的数据处理装置的结构示意图,该装置应用于存储有多个第二样本和对应多个的标签的第二终端,所述装置包括:
获取模块401,被配置为根据各个第二样本的特征值和对应的标签,获取各个第二样本的一阶导数和二阶导数;
加密模块402,被配置为将各个一阶导数编码为第一个明文向量,并将所述第一明文向量同态加密为第一密文向量;以及
将各个二阶导数编码为第二明文向量,并将所述第二明文向量同态加密为第二密文向量;
发送模块403,被配置为将所述第一密文向量和第二密文向量发送至第一终端。
作为一种可选的实施方式,所述加密模块402将各个一阶导数编码为第一个明文向量,并将所述第一明文向量同态加密为第一密文向量的具体步骤包括:
将各个一阶导数分别编码为对应的第一明文元素;
按照各个一阶导数对应的第二样本在全部第二样本中的顺序,将各个第一明文元素组合为第一明文向量;
将所述第一明文向量同态加密为第一密文向量;以及
将各个二阶导数编码为第二明文向量,并将所述第二明文向量同态加密为第二密文向量,包括:
将各个二阶导数分别编码为对应的第二明文元素;
按照各个二阶导数对应的第二样本在全部第二样本中的顺序,将各个第二明文元素组合为第二明文向量;
将所述第二明文向量同态加密为第二密文向量;
其中,所述第一明文元素和第二明文元素均为复数结构,并被配置为各自的实部与虚部的绝对值相同。
本申请提供的另一种基于联邦学习的数据处理装置能够在分裂增益的计算过程中提供安全准确的加密数据,进而协助解决分裂增益计算效率较低的问题,主要是在分别对计算分裂增益需要的第二样本及对应标签进行加编码后加密得到第一密文向量和第二密文向量再发送给第一终端过程中采用同态加密的方法来保证数据在处理过程中的联邦性,进而提高了数据处理的安全性,其次是对应所述分裂增益计算的数据元素及向量的格式设置明文向量后再加密成第一密文向量和第二密文向量,所以所述第一终端接收到所述第一密文向量和所述第二密文向量后可以直接用于计算所述分裂增益,简化了数据处理的步骤,进一步缩减了数据处理的过程,提高了数据处理的速度。
示例性介质
在介绍了本申请示例性实施方式的方法和装置之后,接下来,参考图10对本申请示例性实施方式的计算机可读存储介质进行说明,其示出的计算机可读存储介质为光盘50,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会实现上述方法实施方式中所记载的各步骤,例如,接收第二终端发送的第一密文向量和第二密文向量;根据各个第一样本的特征值,确定全部第一样本的各个候选分裂方式,每个候选分裂方式将全部第一样本划分为两部分;基于各个候选分裂方式分别构建掩码向量,每一所述掩码向量表示根据对应候选分裂方式将全部第一样本划分后,各个第一样本为左子树节点或右子树节点;根据每个候选分裂方式的掩码向量、所述第一密文向量和所述第二密文向量,计算各个候选分裂方式的分裂增益;其中,所述第一密文向量、所述第二密文向量和所述掩码向量均包括相同数量的数据元素,每个数据元素具有相同的数据结构,包括两个独立的部分。各步骤的具体实现方式在此不再重复说明。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
示例性计算设备
在介绍了本申请示例性实施方式的方法、装置及存储介质之后,接下来,参考图11对本申请示例性实施方式的用于基于联邦学习的数据处理的计算设备。
图11示出了适于用来实现本申请实施方式的示例性计算设备60的框图,该计算设备60可以是计算机系统或服务器。图11显示的计算设备60仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图11所示,计算设备60的组件可以包括但不限于:一个或者多个处理器或者处理单元601,系统存储器602,连接不同系统组件(包括系统存储器602和处理单元601)的总线603。
计算设备60典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算设备60访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器602可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)6021和/或高速缓存存储器6022。计算设备60可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,ROM6023可以用于读写不可移动的、非易失性磁介质(图11中未显示,通常称为“硬盘驱动器”)。尽管未在图11中示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线603相连。系统存储器602中可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块6024的程序/实用工具6025,可以存储在例如系统存储器602中,且这样的程序模块6024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块6024通常执行本申请所描述的实施例中的功能和/或方法。
计算设备60也可以与一个或多个外部设备604(如键盘、指向设备、显示器等)通信。这种通信可以通过输入/输出(I/O)接口605进行。并且,计算设备60还可以通过网络适配器606与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图11所示,网络适配器606通过总线603与计算设备60的其它模块(如处理单元601等)通信。应当明白,尽管图11中未示出,可以结合计算设备60使用其它硬件和/或软件模块。处理单元601通过运行存储在系统存储器602中的程序,从而执行各种功能应用以及数据处理,例如,接收第二终端发送的第一密文向量和第二密文向量;根据各个第一样本的特征值,确定全部第一样本的各个候选分裂方式,每个候选分裂方式将全部第一样本划分为两部分;基于各个候选分裂方式分别构建掩码向量,每一所述掩码向量表示根据对应候选分裂方式将全部第一样本划分后,各个第一样本为左子树节点或右子树节点;根据每个候选分裂方式的掩码向量、所述第一密文向量和所述第二密文向量,计算各个候选分裂方式的分裂增益;其中,所述第一密文向量、所述第二密文向量和所述掩码向量均包括相同数量的数据元素,每个数据元素具有相同的数据结构,包括两个独立的部分。各步骤的具体实现方式在此不再重复说明。
应当注意,尽管在上文详细描述中提及了基于联邦学习的数据处理装置的若干单元/模块或子单元/子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
Claims (14)
1.一种基于联邦学习的数据处理方法,应用于存储有多个第一样本的第一终端,所述数据处理方法包括:
接收第二终端发送的第一密文向量和第二密文向量;
根据各个第一样本的特征值,确定全部第一样本的各个候选分裂方式,每个候选分裂方式将全部第一样本划分为两部分;
基于各个候选分裂方式分别构建掩码向量,每一所述掩码向量表示根据对应候选分裂方式将全部第一样本划分后,各个第一样本为左子树节点或右子树节点;
根据每个候选分裂方式的掩码向量、所述第一密文向量和所述第二密文向量,计算各个候选分裂方式的分裂增益;
其中,所述第一密文向量、所述第二密文向量和所述掩码向量均包括相同数量的数据元素,每个数据元素具有相同的数据结构,包括两个独立的部分;
其中,所述第一样本包括商业机密和用户隐私数据。
2.如权利要求1所述的基于联邦学习的数据处理方法,其中,基于一个候选分裂方式构建一个掩码向量,包括:
根据所述候选分裂方式将各个第一样本划分到左子树或右子树;
为左子树的每一个第一样本对应构建第一掩码元素,为右子树的每一个第一样本对应构建第二掩码元素;
按照各个第一掩码元素和第二掩码元素对应的第一样本在全部第一样本中的顺序,将各个第一掩码元素和第二掩码元素组合为掩码向量;
其中,所述第一掩码元素和第二掩码元素均为复数结构,并被配置为作为掩码向量中的数据元素与第一密文向量或第二密文向量中的数据元素进行内积运算后,仅保留实部或虚部。
3.如权利要求2所述的基于联邦学习的数据处理方法,其中,所述第一密文向量和所述第二密文向量中的数据元素、所述第一掩码元素和所述第二掩码元素被配置为各自的实部与虚部的绝对值相同,且第一掩码元素与第二掩码元素共轭。
4.如权利要求2或3所述的基于联邦学习的数据处理方法,其中,根据一个候选分裂方式的掩码向量、所述第一密文向量和第二密文向量,计算所述一个候选分裂方式的分裂增益,包括:
将所述掩码向量与所述第一密文向量和第二密文向量分别进行向量内积运算;
提取所述掩码向量与所述第一密文向量的内积运算结果中的第一实部和第一虚部,所述第一实部和第一虚部分别为左子树或右子树中的各个第一样本的一阶导数之和;
提取所述掩码向量与所述第二密文向量的内积运算结果中的第二实部和第二虚部,所述第二实部和第二虚部分别为左子树或右子树中的各个第二样本的二阶导数之和;
根据所述第一实部、第一虚部、第二实部和第二虚部,计算根据所述候选分裂方式分裂后的分裂增益。
5.一种基于联邦学习的数据处理方法,应用于存储有多个第二样本和对应的多个标签的第二终端,所述数据处理方法包括:
根据各个第二样本的特征值和对应的标签,获取各个第二样本的一阶导数和二阶导数;
将各个一阶导数编码为第一明文向量,并将所述第一明文向量同态加密为第一密文向量;
将各个二阶导数编码为第二明文向量,并将所述第二明文向量同态加密为第二密文向量;
将所述第一密文向量和第二密文向量发送至第一终端;
其中,所述第一密文向量和所述第二密文向量均包括相同数量的数据元素,每个数据元素具有相同的数据结构,对应一个一阶导数或二阶导数,包括两个独立的部分;
其中,所述第二样本包括商业机密和用户隐私数据。
6.如权利要求5所述的基于联邦学习的数据处理方法,其中,将各个一阶导数编码为第一明文向量,并将所述第一明文向量同态加密为第一密文向量,包括:
将各个一阶导数分别编码为对应的第一明文元素;
按照各个一阶导数对应的第二样本在全部第二样本中的顺序,将各个第一明文元素组合为第一明文向量;
将所述第一明文向量同态加密为第一密文向量;
将各个二阶导数编码为第二明文向量,并将所述第二明文向量同态加密为第二密文向量,包括:
将各个二阶导数分别编码为对应的第二明文元素;
按照各个二阶导数对应的第二样本在全部第二样本中的顺序,将各个第二明文元素组合为第二明文向量;
将所述第二明文向量同态加密为第二密文向量;
所述第一明文元素和第二明文元素均为复数结构,并被配置为各自的实部与虚部的绝对值相同。
7.一种基于联邦学习的数据处理装置,应用于存储有多个第一样本的第一终端,所述装置包括:
接收模块,被配置为接收第二终端发送的第一密文向量和第二密文向量;
处理模块,被配置为根据各个第一样本的特征值,确定全部第一样本的各个候选分裂方式,每个候选分裂方式将全部第一样本划分为两部分;以及
基于各个候选分裂方式分别构建掩码向量,每一所述掩码向量表示根据对应候选分裂方式将全部第一样本划分后,各个第一样本为左子树节点或右子树节点;
计算模块,被配置为根据每个候选分裂方式的掩码向量、所述第一密文向量和所述第二密文向量,计算各个候选分裂方式的分裂增益;
其中,所述第一密文向量、所述第二密文向量和所述掩码向量均包括相同数量的数据元素,每个数据元素具有相同的数据结构,包括两个独立的部分;
其中,所述第一样本包括商业机密和用户隐私数据。
8.如权利要求7所述的基于联邦学习的数据处理装置,其中,所述处理模块还被配置为通过以下方式基于一个候选分裂方式构建一个掩码向量:
根据所述候选分裂方式将各个第一样本划分到左子树或右子树;
为左子树的每一个第一样本对应构建第一掩码元素,为右子树的每一个第一样本对应构建第二掩码元素;
按照各个第一掩码元素和第二掩码元素对应的第一样本在全部第一样本中的顺序,将各个第一掩码元素和第二掩码元素组合为掩码向量;
其中,所述第一掩码元素和第二掩码元素均为复数结构,并被配置为作为掩码向量中的数据元素与第一密文向量或第二密文向量中的数据元素进行内积运算后,仅保留实部或虚部。
9.如权利要求8所述的基于联邦学习的数据处理装置,其中,所述第一密文向量和所述第二密文向量中的数据元素、所述第一掩码元素和所述第二掩码元素配置为各自的实部与虚部的绝对值相同,且第一掩码元素与第二掩码元素共轭。
10.如权利要求7或8所述的基于联邦学习的数据处理装置,所述计算模块还被配置为通过以下方式计算所述一个候选分裂方式的分裂增益:
将所述掩码向量与所述第一密文向量和第二密文向量分别进行向量内积运算;
提取所述掩码向量与所述第一密文向量的内积运算结果中的第一实部和第一虚部,所述第一实部和第一虚部分别为左子树或右子树中的各个第一样本的一阶导数之和;
提取所述掩码向量与所述第二密文向量的内积运算结果中的第二实部和第二虚部,所述第二实部和第二虚部分别为左子树或右子树中的各个第二样本的二阶导数之和;
根据所述第一实部、第一虚部、第二实部和第二虚部,计算根据所述候选分裂方式分裂后的分裂增益。
11.一种基于联邦学习的数据处理装置,应用于存储有多个第二样本和对应的多个标签的第二终端,所述装置包括:
获取模块,被配置为根据各个第二样本的特征值和对应的标签,获取各个第二样本的一阶导数和二阶导数;
加密模块,被配置为将各个一阶导数编码为第一明文向量,并将所述第一明文向量同态加密为第一密文向量;以及
将各个二阶导数编码为第二明文向量,并将所述第二明文向量同态加密为第二密文向量;
发送模块,被配置为将所述第一密文向量和第二密文向量发送至第一终端;
其中,所述第一密文向量和所述第二密文向量均包括相同数量的数据元素,每个数据元素具有相同的数据结构,对应一个一阶导数或二阶导数,包括两个独立的部分;
其中,所述第二样本包括商业机密和用户隐私数据。
12.如权利要求11所述的基于联邦学习的数据处理装置,其中,所述加密模块还被配置为将各个一阶导数分别编码为对应的第一明文元素;以及按照各个一阶导数对应的第二样本在全部第二样本中的顺序,将各个第一明文元素组合为第一明文向量;以及将所述第一明文向量同态加密为第一密文向量;
所述加密模块还被配置为将各个二阶导数分别编码为对应的第二明文元素;以及按照各个二阶导数对应的第二样本在全部第二样本中的顺序,将各个第二明文元素组合为第二明文向量;以及将所述第二明文向量同态加密为第二密文向量;
其中,所述第一明文元素和第二明文元素均为复数结构,并被配置为各自的实部与虚部的绝对值相同。
13.一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-4中任一项所述的数据处理方法,或者,执行如权利要求5-6中任一项所述的数据处理方法。
14.一种计算设备,包括:存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如权利要求1-4中任一项所述的数据处理方法,或者,如权利要求5-6中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111680820.6A CN114330758B (zh) | 2021-12-30 | 2021-12-30 | 基于联邦学习的数据处理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111680820.6A CN114330758B (zh) | 2021-12-30 | 2021-12-30 | 基于联邦学习的数据处理方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114330758A CN114330758A (zh) | 2022-04-12 |
CN114330758B true CN114330758B (zh) | 2023-07-18 |
Family
ID=81022740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111680820.6A Active CN114330758B (zh) | 2021-12-30 | 2021-12-30 | 基于联邦学习的数据处理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114330758B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111368901A (zh) * | 2020-02-28 | 2020-07-03 | 深圳前海微众银行股份有限公司 | 基于联邦学习的多方联合建模方法、设备和介质 |
CN111598186A (zh) * | 2020-06-05 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 基于纵向联邦学习的决策模型训练方法、预测方法及装置 |
CN113408668A (zh) * | 2021-07-30 | 2021-09-17 | 深圳前海微众银行股份有限公司 | 基于联邦学习系统的决策树构建方法、装置及电子设备 |
WO2021249086A1 (zh) * | 2020-06-12 | 2021-12-16 | 深圳前海微众银行股份有限公司 | 多方联合决策树构建方法、设备及可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10360390B2 (en) * | 2016-12-14 | 2019-07-23 | Sap Se | Oblivious order-preserving encryption |
US10764048B2 (en) * | 2017-12-20 | 2020-09-01 | Nxp B.V. | Privacy-preserving evaluation of decision trees |
-
2021
- 2021-12-30 CN CN202111680820.6A patent/CN114330758B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111368901A (zh) * | 2020-02-28 | 2020-07-03 | 深圳前海微众银行股份有限公司 | 基于联邦学习的多方联合建模方法、设备和介质 |
CN111598186A (zh) * | 2020-06-05 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 基于纵向联邦学习的决策模型训练方法、预测方法及装置 |
WO2021249086A1 (zh) * | 2020-06-12 | 2021-12-16 | 深圳前海微众银行股份有限公司 | 多方联合决策树构建方法、设备及可读存储介质 |
CN113408668A (zh) * | 2021-07-30 | 2021-09-17 | 深圳前海微众银行股份有限公司 | 基于联邦学习系统的决策树构建方法、装置及电子设备 |
Non-Patent Citations (6)
Title |
---|
Fed-EINI: An Efficient and Interpretable Inference Framework for Decision;Xiaolin Chen等;the International Workshop on Federated Learning for User Privacy and Data Confidentiality;全文 * |
POSEIDON: Privacy-Preserving Federated Neural Network Learning;Sinem Sav等;Network and Distributed Systems Security (NDSS) Symposium 2021;全文 * |
Privacy Preserving Vertical Federated Learning for Tree-based Models;Yuncheng Wu等;Proceedings of the VLDB Endowment;第13卷(第11期);全文 * |
基于秘密分享和梯度选择的高效安全联邦学习;董业等;计算机研究与发展(第10期);全文 * |
联邦学习模型在涉密数据处理中的应用;贾延延等;中国电子科学研究院学报(第01期);全文 * |
面向数据共享交换的联邦学习技术发展综述;王亚珅;无人系统技术(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114330758A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bhattacharya et al. | Bindaas: Blockchain-based deep-learning as-a-service in healthcare 4.0 applications | |
CN110084377B (zh) | 用于构建决策树的方法和装置 | |
Zheng et al. | Identifying the vulnerabilities of bitcoin anonymous mechanism based on address clustering | |
CN107423632A (zh) | 可定制的敏感数据脱敏方法和系统 | |
CN107209787A (zh) | 提高专用加密数据的搜索能力 | |
CN111553443B (zh) | 裁判文书处理模型的训练方法、训练装置和电子设备 | |
CN112905187B (zh) | 编译方法、装置、电子设备及存储介质 | |
CN113221153B (zh) | 图神经网络训练方法、装置、计算设备及存储介质 | |
WO2018102861A1 (en) | Secure text analytics | |
CN111475838A (zh) | 基于深度神经网络的图数据匿名方法、装置、存储介质 | |
CN109840401A (zh) | 针对数据文本的水印嵌入方法 | |
CN115147111A (zh) | 密钥生成方法以及装置、电子设备、存储介质 | |
Li | Combination of blockchain and AI for music intellectual property protection | |
Imakura et al. | Non-readily identifiable data collaboration analysis for multiple datasets including personal information | |
CN116305294B (zh) | 数据泄露溯源方法、装置、电子设备及存储介质 | |
Nevrataki et al. | A survey on federated learning applications in healthcare, finance, and data privacy/data security | |
CN111475690B (zh) | 字符串的匹配方法和装置、数据检测方法、服务器 | |
Suliman et al. | Two models are better than one: Federated learning is not private for google gboard next word prediction | |
CN114330758B (zh) | 基于联邦学习的数据处理方法、装置及存储介质 | |
CN117675270A (zh) | 面向纵向联邦学习的多模态数据加密传输方法及系统 | |
CN112348041B (zh) | 日志分类、日志分类训练方法及装置、设备、存储介质 | |
CN111368552A (zh) | 一种面向特定领域的网络用户群组划分方法及装置 | |
CN111309848A (zh) | 一种梯度提升树模型的生成方法及系统 | |
Huang et al. | [Retracted] Cloud Storage Model Based on the BGV Fully Homomorphic Encryption in the Blockchain Environment | |
Jia et al. | Flexible privacy‐preserving machine learning: When searchable encryption meets homomorphic encryption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |