1.本技术涉及计算机技术领域,特别是涉及一种决策树模型的处理方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术:2.人工智能模型需要大量数据进行训练,但实际场景下,数据库可能分布在不同组织、公司和部分,由于隐私限制,无法采用数据共享的方式进行训练。联邦学习是一种分布式机器学习,各参与方可以借助其他方数据进行联合建模,各方无需共享数据资源。
3.传统技术中,具备标签数据的对象a将梯度加密后发送至不具备标签数据的对象b,对象b基于加密的梯度确定直方图,但是基于加密的梯度确定直方图的耗时较长,严重影响了联邦学习的模型调优效率。
技术实现要素:4.基于此,有必要针对上述技术问题,提供一种能够提高确定直方图信息的效率,进而提高模型调优效率的决策树模型的处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
5.第一方面,本技术提供了一种决策树模型的处理方法。所述方法包括:接收第一对象发送的第一梯度密文和第二梯度密文;在可信执行环境中,对第一梯度密文和第二梯度密文进行解密,基于训练样本、解密所得的第一梯度和第二梯度确定决策树模型中目标节点的直方图信息,以及根据直方图信息确定决策树模型中目标节点的第一分裂增益值,并加密第一分裂增益值;第一梯度和第二梯度是不同阶的梯度;在获得加密的第一分裂增益值时,基于加密的第一分裂增益值对决策树模型中的目标节点进行节点分裂。
6.第二方面,本技术还提供了一种决策树模型的处理方法。所述方法包括:向第二对象发送第一梯度密文和第二梯度密文,以使第二对象在可信执行环境中,对第一梯度密文和第二梯度密文进行解密,基于训练样本、解密所得的第一梯度和第二梯度确定决策树模型中目标节点的直方图信息,以及根据直方图信息确定决策树模型中目标节点的第一分裂增益值,并加密第一分裂增益值;接收第二对象发送的经过加密的第一分裂增益值;基于加密的第一分裂增益值,对决策树模型中的目标节点进行节点分裂。
7.第三方面,本技术还提供了一种决策树模型的处理装置。所述装置包括:梯度密文接收模块,用于接收第一对象发送的第一梯度密文和第二梯度密文;第一分裂增益值确定模块,用于在可信执行环境中,对所述第一梯度密文和所述第二梯度密文进行解密,基于训练样本、解密所得的第一梯度和第二梯度确定决策树模型中目标节点的直方图信息,以及根据所述直方图信息确定所述决策树模型中目标节点的第一分裂增益值,并加密所述第一分裂增益值;所述第一梯度和所述第二梯度是不同阶的梯度;
节点分裂模块,用于在获得加密的所述第一分裂增益值时,基于加密的所述第一分裂增益值对所述决策树模型中的目标节点进行节点分裂。
8.第四方面,本技术还提供了一种决策树模型的处理装置。所述装置包括:梯度密文发送模块,用于向第二对象发送第一梯度密文和第二梯度密文,以使所述第二对象在可信执行环境中,对所述第一梯度密文和所述第二梯度密文进行解密,基于训练样本、解密所得的第一梯度和第二梯度确定决策树模型中目标节点的直方图信息,以及根据所述直方图信息确定所述决策树模型中目标节点的第一分裂增益值,并加密所述第一分裂增益值;加密的第一分裂增益值获取模块,用于接收所述第二对象发送的经过加密的第一分裂增益值;第二节点分裂模块,用于基于加密的所述第一分裂增益值,对所述决策树模型中的目标节点进行节点分裂。
9.第五方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面或第二方面的决策树模型的处理方法。
10.第六方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面或第二方面的决策树模型的处理方法。
11.第七方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面或第二方面的决策树模型的处理方法。
12.上述决策树模型的处理方法、装置、计算机设备、存储介质和计算机程序产品,第二对象接收第一对象发送的第一梯度密文和第二梯度密文,在可信执行环境中,对第一梯度密文和第二梯度密文进行解密,在可信执行环境中,基于训练样本、解密得到的第一梯度和第二梯度确定目标节点的直方图信息,并基于直方图信息确定第一分裂增益值,基于加密的第一分裂增益值对目标节点进行节点分裂;第二对象在可信执行环境中,对第一梯度密文和第二梯度密文进行解密,第二对象无法访问可信执行环境,因此第二对象无法获得第一梯度和第二梯度,不会导致第一对象的标签数据泄露,保证了第一对象的数据安全;第二对象在可信执行环境中,基于明文的第一梯度和第二梯度确定直方图信息,相对于基于加密的梯度确定直方图信息,减少了计算的数据量,极大地提高了确定直方图信息的效率,进而提高了联邦学习的调优效率,进而提高了决策树模型的训练效率。
附图说明
13.图1为一个实施例中决策树模型的处理方法的应用环境图;图2为一个实施例中决策树模型的处理方法的流程示意图;图3为一个实施例中目标节点分裂得到左子节点和右子节点的示意图;图4为一个实施例中第二对象得到对称密钥的流程示意图;图5为一个实施例中确定目标节点的直方图信息的流程示意图;图6为一个实施例中对待处理样本进行分箱的示意图;
图7为一个实施例中将分箱的一阶梯度叠加,得到分箱对应的一阶梯度叠加值的示意图;图8为一个实施例中确定目标节点的一阶梯度直方图和二阶梯度直方图的流程示意图;图9为一个实施例中一阶梯度直方图的示意图;图10为一个实施例中二阶梯度直方图的示意图;图11为一个应用场景实施例中决策树模型的处理方法的示意图;图12为另一个应用场景实施例中决策树模型的处理方法的示意图;图13为一个具体实施例中决策树模型的处理方法的示意图;图14为另一个实施例中决策树模型的处理方法的流程示意图;图15为一个实施例中决策树模型的处理装置的结构框图;图16为另一个实施例中决策树模型的处理装置的结构框图;图17为一个实施例中计算机设备的内部结构图。
具体实施方式
14.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
15.人工智能(artificial intelligence, ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
16.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
17.本技术实施例提供的决策树模型的处理方法,可以应用于如图1所示的应用环境中。其中,第一终端102和第二终端104通过网络与服务器106进行通信;数据存储系统可以存储服务器106需要处理的数据。数据存储系统可以集成在服务器106上,也可以放在云上或其他网络服务器上。
18.第一对象通过第一终端102,向第二对象发送第一梯度密文和第二梯度密文,第二对象通过第二终端104接收第一梯度密文和第二梯度密文,第二对象通过第二终端104,在可信执行环境中,对第一梯度密文和第二梯度密文进行解密,基于训练样本、解密所得的第一梯度和第二梯度确定决策树模型中目标节点的直方图信息,以及根据直方图信息确定决策树模型中目标节点的第一分裂增益值,并加密第一分裂增益值,在获取加密的第一分裂增益值时,第二终端104基于加密的所述第一分裂增益值对决策树模型中的目标节点进行节点分裂。
19.需要说明的是,本技术提供的决策树模型的处理方法,可以应用于联邦学习的场
景中,联邦学习指的是,双方数据都保留在本地,双方联合数据以训练模型,也就是说,在双方不共享数据的情况下,进行数据联合训练。比如,第一对象基于己方数据确定第一梯度密文和第二梯度密文,第二对象基于己方数据、第一梯度密文和第二梯度密文确定直方图信息,并确定第一分裂增益值,基于第一分裂增益值进行决策树模型的节点分裂,以实现联合第一对象和第二对象的数据,训练决策树模型。
20.其中,第一终端102和第二终端104可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调和智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。
21.服务器106可以是独立的物理服务器,也可以是区块链系统中的服务节点,该区块链系统中的各服务节点之间形成组成点对点(p2p,peer to peer)网络,p2p协议是一个运行在传输控制协议(tcp,transmission control protocol)协议之上的应用层协议。
22.此外,服务器106可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
23.第一终端102、第二终端104与服务器106之间可以通过蓝牙、usb(universal serial bus,通用串行总线)或者网络等通讯连接方式进行连接,本技术在此不做限制。
24.在一些实施例中,如图2所示,提供了一种决策树模型的处理方法,以该方法应用于图1中的第二终端为例进行说明,包括以下步骤:步骤s202,接收第一对象发送的第一梯度密文和第二梯度密文。
25.其中,第一对象是具备训练样本和样本标签的对象,可以是成员组织,包括但不限于:企业和部门。第一对象对应的设备是第一终端,第一对象通过第一终端发送第一梯度密文和第二梯度密文;第一对象对应的设备还可以是第一服务器。可以理解的是,第一对象执行的动作,包括但不限于第一对象发送、第一对象接收、第一对象加密、第二对象解密和第一对象确定,均为第一对象通过第一终端或第一服务器执行的动作,为了便于描述,本技术实施例中,将第一对象通过第一终端或第一服务器执行的动作,均描述为第一对象执行的动作。
26.第一梯度密文是第一对象对第一梯度进行加密得到的,第二梯度密文是第一对象对第二梯度进行加密得到的。
27.在实际应用中,第一对象根据上一棵决策树模型对训练样本进行预测,得到预测值,根据训练样本的样本标签和预测值确定损失函数,并根据损失函数确定第一梯度和第二梯度,即第一梯度和第二梯度是基于上一棵决策树模型对应预测值的损失函数确定的;第一对象对第一梯度和第二梯度进行加密得到第一梯度密文和第二梯度密文;在生成当前的决策树模型时,第一对象将第一梯度密文和第二梯度密文发送至第二对象。在当前的决策树模型为第一棵决策树模型时,采用初始化的预测值确定损失函数,对该损失函数的第一梯度和第二梯度进行加密,得到第一梯度密文和第二梯度密文。
28.示例性地,第一对象根据第t棵决策树模型对应训练样本进行预测,得到预测值yt,基于预测值yt确定损失函数,得到第一梯度gt和第二梯度ht,在训练第t+1棵决策树模型时,第一对象向第二对象发送加密后的第一梯度gt和加密后的第二梯度ht。在训练第1棵决策树模型时,第一对象基于初始化的预测值yc,确定第一梯度和第二梯度,向第二对象发送加密后的第一梯度和加密后的第二梯度。
29.第二对象是具备训练样本的对象,可以是成员组织,包括但不限于:企业和部门。第二对象对应的设备是第二终端,第二对象通过第二终端接收第一梯度密文和第二梯度密文;第二对象对应的设备还可以是第二服务器。可以理解的是,第二对象执行的动作,包括但不限于第二对象发送、第二对象接收、第一对象加密、第二对象解密和第二对象确定,均为第二对象通过第二终端或第二服务器执行的动作,为了便于描述,本技术实施例中,将第二对象通过第二终端或第二服务器执行的动作,均描述为第二对象执行的动作。
30.第二对象具备的训练样本,与第一对象具备的训练样本相同,第二对象不具备训练样本的样本标签。在实际应用中,第一对象具备第一初始样本,第二对象具备第二初始样本,确定第一初始样本和第二初始样本的交集,得到训练样本。第一对象具备的训练样本的特征数据,与第二对象具备的训练样本的特征数据不同。
31.示例性地,第一对象为企业a,第二对象为企业b,企业a涉及区域a的虚拟资源的借调业务,企业b涉及区域a的虚拟资源的储蓄业务,由于企业a和企业b均涉及区域a的业务,因此参与企业a和企业b的业务的成员可能存在重叠,将重叠部分的成员作为企业a和企业b的训练样本,又由于企业a和企业b涉及的业务不同,因此企业a和企业b具备的训练样本的特征数据不同。
32.具体地,由于第一梯度和第二梯度是第一对象根据其样本标签计算的,包含了样本标签的相关信息,若第二对象获取到第一梯度和第二梯度,则第二对象可以反推出第一对象的样本标签,导致第一对象的样本标签泄露;在本技术实施例中,第一对象向第二对象发送第一梯度密文和第二梯度密文,第二对象接收第一对象发送的第一梯度密文和第二梯度密文,第二对象无法通过第一梯度密文和第二梯度密文反推出第一对象的样本标签,保证了第一对象的数据安全。
33.步骤s204,在可信执行环境中,对第一梯度密文和第二梯度密文进行解密,基于训练样本、解密所得的第一梯度和第二梯度确定决策树模型中目标节点的直方图信息,以及根据直方图信息确定决策树模型中目标节点的第一分裂增益值,并加密第一分裂增益值;第一梯度和第二梯度是不同阶的梯度。
34.其中,可信执行环境(trusted execution environment,tee),是通过软硬件方法构建的一个安全区域,在可信执行环境中处理数据,可以很好地保证数据的机密性。示例性地,将第二终端的硬件和软件资源划分为可信执行环境和非可信执行环境,可信执行环境和非可信执行环境之间存在安全隔离,各自存在独立的内部数据通路和存储空间,非可信执行环境无法访问可信执行环境。需要说明的是,当第二对象对应设备是第二服务器时,可以在第二服务器中部署可信执行环境和非可信执行环境。
35.训练样本是第一对象和第二对象共同拥有的样本,将第一对象具备的训练样本的特征数据,和第二对象具备的训练样本的特征数据联合,训练决策树模型。
36.一棵完整的决策树模型包括:根节点、中间节点和叶子节点,目标节点是决策树模
型中的、当前待分裂的根节点或中间节点。
37.目标节点的直方图信息,包括目标节点对应的各特征的第一梯度直方图和第二梯度直方图;第一梯度直方图,是依据训练样本中目标节点对应样本在各特征下的特征值,以及目标节点对应样本的第一梯度确定的,第二梯度直方图,是依据训练样本中目标节点对应样本在各特征下的特征值,以及目标节点对应样本的第二梯度确定的。
38.第一分裂增益值,是目标节点对应的各特征中某一特征的增益值,信息增益值可以用于反映特征的重要程度,即对决策树模型的预测值产生影响的程度,特征的增益值越大,则特征的重要程度越高,特征的增益值越小,则特征的重要程度越低。
39.在实际应用中,第一梯度可以是一阶梯度,第二梯度可以是二阶梯度。
40.具体地,第二对象在tee环境中对第一梯度密文和第二梯度密文进行解密,得到第一梯度和第二梯度,由于第一梯度和第二梯度在tee环境中,非可信执行环境无法访问tee环境,因此第二对象无法获得第一梯度和第二梯度,不会导致第一对象的标签数据泄露,保证了第一对象的数据安全。
41.第二对象在tee环境中,根据训练样本、第一梯度、第二梯度和第二对象具备的训练样本的第二特征,确定目标节点对应的各特征的第一梯度直方图和第二梯度直方图;由于第一梯度直方图和第二梯度直方图在tee环境中,非可信执行环境无法访问tee环境,因此第二对象无法获得第一梯度直方图和第二梯度直方图,第二对象无法通过第一梯度直方图和第二梯度直方图反推出第一对象的样本标签,进而保证了第一对象的数据安全。
42.第二对象在tee环境中,根据目标节点对应的各特征的第一梯度直方图和第二梯度直方图,确定各特征的增益值,进而在各特征的增益值中确定第一分裂增益值,第二对象在tee环境中对第一分裂增益值进行加密。
43.步骤s206,在获得加密的第一分裂增益值时,基于加密的第一分裂增益值对决策树模型中的目标节点进行节点分裂。
44.其中,对目标节点进行节点分裂,是将目标节点对应样本划分至左子节点和右子节点,使得决策树模型生成新的子节点。示例性地,如图3所示,目标节点nid1对应样本包括:x1,x2,x3,x4,x5,x6,对目标节点进行分裂,使得x1,x2,x6被划分至目标节点的左子节点nid2-1;x3,x4,x5被划分至目标节点的右子节点nid2-2。
45.需要说明的是,在对决策树模型中的目标节点进行节点分裂之后,将生成的新的子节点作为目标节点,重复上述对决策树模型中目标节点进行分裂的过程,直至目标节点不可再进行节点分裂时,将不可再进行节点分裂的目标节点作为决策树模型的叶子节点,得到决策树模型。
46.具体地,第二对象向第一对象发送加密的第一分裂增益值,第一对象接收加密的第一分裂增益值,并对加密的第一分裂增益值进行解密,得到第一分裂增益值,在依据第一分裂增益值进行节点分裂的情况下,第一对象向第二对象发送提示信息,第二对象接收该提示信息。提示信息用于指示第二对象基于加密的第一分裂增益值对目标节点进行节点分裂。
47.由于第一分裂增益值是目标节点对应的各特征中某一特征的增益值,基于加密的第一分裂增益值对目标节点进行分裂包括:获取加密的第一分裂增益值对应的第一分裂特征和第一分裂特征值,获取目标节点对应样本在第一分裂特征下的特征值,依据第一分裂
特征值,以及目标节点对应样本的特征值,对目标节点进行分裂,以生成目标节点的左子节点和右子节点,其中,左子节点包括目标节点对应样本中的第一部分样本,右子节点包括目标节点对应样本中的第二部分样本,第一部分样本在第一分裂特征下的特征值,均小于或均大于第二部分样本在第一分裂特征下的特征值。
48.示例性地,目标节点为d1,目标节点d1对应样本包括:x1,x2,x3,x4,x5,x6,第二对象具备各样本的特征包括:f1,f2,f3,假设加密的第一分裂特征值是特征f1的信息增益值,获取特征f1的第一分裂特征值v1,对于各样本,将特征f1的特征值小于或等于v1的样本划分至目标节点d1的左子节点d21,将特征f1的特征值大于v1的样本划分至目标节点d1的右子节点d22,假设左子节点d21的样本包括:x1,x2,x6,右子节点的样本包括x3,x4,x5;x1,x2,x6在特征f1下的特征值,均小于x3,x4,x5在特征f1下的特征值。
49.在上述决策树模型的处理方法中,第二对象接收第一对象发送的第一梯度密文和第二梯度密文,在可信执行环境中,对第一梯度密文和第二梯度密文进行解密,在可信执行环境中,基于训练样本、解密得到的第一梯度和第二梯度确定目标节点的直方图信息,并基于直方图信息确定第一分裂增益值,基于加密的第一分裂增益值对目标节点进行节点分裂;第二对象在可信执行环境中,对第一梯度密文和第二梯度密文进行解密,第二对象无法访问可信执行环境,因此第二对象无法获得第一梯度和第二梯度,不会导致第一对象的标签数据泄露,保证了第一对象的数据安全;第二对象在可信执行环境中,基于明文的第一梯度和第二梯度确定直方图信息,相对于基于加密的梯度确定直方图信息,减少了计算的数据量,极大地提高了确定直方图信息的效率,进而提高了联邦学习的调优效率,进而提高了决策树模型的训练效率。
50.在一些实施例中,接收第一对象发送的第一梯度密文和第二梯度密文,包括:接收第一对象发送的基于对称密钥分别对第一梯度和第二梯度进行加密所得的第一梯度密文和第二梯度密文;对第一梯度密文和第二梯度密文进行解密,包括:基于对称密钥对第一梯度密文和第二梯度密文进行解密。
51.其中,对称密钥是依据对称加密算法生成的密钥,对于通过对称密钥对明文进行加密得到的密文,可以采用该对称密钥对密文进行解密得到明文。对称加密算法包括但不限于:des(data encryption standard,数据加密标准),aes(advanced encryption standard,高级加密标准)和sm4(一种分组密码标准)。
52.具体地,第一对象采用对称加密算法生成对称密钥,通过对称密钥对第一梯度和第二梯度进行加密,得到第一梯度密文和第二梯度密文,第一对象向第二对象发送第一梯度密文和第二梯度密文。
53.第二对象接收第一梯度密文和第二梯度密文,在tee环境中,采用对称密钥对第一梯度密文和第二梯度密文进行解密,得到第一梯度和第二梯度。第二对象执行解密所用的对称密钥,与第一对象执行加密所用的对称密钥相同,第二对象执行解密所用的对称密钥是第一对象发送的。
54.在一种实现方式中,第一对象对第一梯度和第二梯度进行压缩,采用对称密钥对压缩后的第一梯度和第二梯度进行加密,得到第一梯度密文和第二梯度密文,相应地,第二对象通过对称密钥对第一梯度密文和第二梯度密文进行解密,得到压缩后的第一梯度和第二梯度,再对压缩后的第一梯度和第二梯度进行解压,得到第一梯度和第二梯度。
55.将第一梯度和第二梯度压缩后再加密,减少了第一梯度密文和第二梯度密文的数据量小,提高了第一对象和第二对象之间传输第一梯度密文和第二梯度密文的通信效率。
56.在上述实施例中,第一对象通过对称密钥对第一梯度和第二梯度进行加密,第二对象在tee环境中,通过对称密钥对第一梯度密文和第二梯度密文进行解密,得到第一梯度和第二梯度;相较于同态加密,对称加密的数据处理速度可以达到千兆比特每秒,采用对称加密可以提高加密效率,并且,通过对称加密得到的密文的数据量小,可以提高第一对象向第二对象发送第一梯度密文和第二梯度密文的通信效率。
57.在一些实施例中,如图4所示,决策树模型的处理方法还包括:步骤s401,在可信执行环境中生成非对称加密的公钥和私钥,并获取从可信执行环境输出的公钥;步骤s402,向第一对象发送公钥,以指示第一对象基于公钥对对称密钥进行加密,得到密钥密文;步骤s403,接收第一对象发送的密钥密文;步骤s404,在可信执行环境中,基于私钥对密钥密文进行解密,得到用于对第一梯度密文和第二梯度密文进行解密的对称密钥。
58.其中,公钥和私钥是通过非对称加密算法生成的密钥对所包括的公钥和私钥,对于通过公钥对明文进行加密得到的密文,通过相应私钥对该密文进行解密可以得到明文。非对称加密算法包括但不限于:sm2(一种椭圆曲线公钥密码算法)和rsa算法。
59.具体地,第二对象在tee环境中,采用非对称加密算法生成公钥和私钥,tee环境输出公钥,第二对象向第一对象发送公钥,私钥处于tee环境中。
60.第一对象接收公钥,采用公钥对第一对象生成的对称密钥进行加密,得到密钥密文,第一对象向第二对象发送密钥密文,第二对象接收密钥密文,在tee环境中,通过私钥对密钥密文进行解密,得到对称密钥。
61.在上述实施例中,第一对象通过公钥对其生成的对称密钥进行加密,得到密钥密文,第二对象在tee环境中,通过私钥对密钥密文进行解密,得到对称密钥,以使得第二对象可以在tee环境中,通过对称密钥对第一梯度密文和第二梯度密文进行解密。通过非对称加密的方式,使得只有具备私钥的第二对象可以获取第一对象生成的对称密钥,并且私钥存在于tee环境中,在tee环境中通过私钥对密钥密文进行解密得到对称密钥,对称密钥处于tee环境中,使得第二对象无法得到对称密钥,不会导致第一对象的标签数据泄露,保证了第一对象的数据安全。
62.在一些实施例中,第一梯度包括训练样本的一阶梯度,第二梯度包括训练样本的二阶梯度,直方图信息包括一阶梯度直方图和二阶梯度直方图;如图5所示,基于训练样本、解密所得的第一梯度和第二梯度确定决策树模型中目标节点的直方图信息,包括:步骤s501,获取决策树模型中目标节点对应的待处理样本;步骤s502,在训练样本的一阶梯度中确定待处理样本的一阶梯度,以及在训练样本的二阶梯度中确定待处理样本的二阶梯度;步骤s503,基于待处理样本的一阶梯度和二阶梯度、以及第二对象具备的待处理样本的第二特征,确定目标节点的一阶梯度直方图和二阶梯度直方图。
63.其中,训练样本包括第一对象和第二对象共同拥有的多个训练样本,训练样本的
一阶梯度,包括多个训练样本各自对应的一阶梯度,训练样本的二阶梯度,包括多个训练样本各自对应的二阶梯度。
64.示例性地,第一对象根据第t棵决策树模型分别对n个训练样本进行预测,得到n个训练样本各自对应的预测值,n个预测值包括:yt1,yt2,
……
,ytn,根据n个预测值分别建立损失函数,并确定n个损失函数的一阶梯度和二阶梯度,得到n个训练样本的一阶梯度,包括:gt1,gt2,
……
,gtn,以及n个训练样本的二阶梯度,包括ht1,ht2,
……
,htn。
65.待处理样本是多个训练样本中,目标节点对应的训练样本。待处理样本可以包括多个待处理样本。在决策树模型的生成过程,多个训练样本会被逐次划分至不同的节点,因此决策树模型中不同节点,对应不同的待处理样本。示例性地,当目标节点为决策树模型的根节点时,目标节点对应的待处理样本为多个训练样本,当目标节点为根节点的左子节点时,目标节点对应的待处理样本为多个训练样本中的第一部分训练样本,当目标节点为根节点的右子节点时,目标节点对应的待处理样本为多个训练样本中的第二部分训练样本。
66.第二特征,是第二对象具备的待处理样本的特征;第二特征可以包括多个第二特征。
67.具体地,在多个训练样本中确定目标节点对应的多个待处理样本,对于每个第二特征,获取多个待处理样本在该第二特征下的第二特征值,根据多个第二特征值确定该第二特征对应的多个分箱值,按照多个分箱值,将多个第二特征值划分为多个分箱,每个分箱均有对应的第二特征值区间,第二特征值区间是基于多个分箱值确定的。对于每个分箱,将该分箱中各第二特征值对应待处理样本的一阶梯度叠加,得到该分箱的一阶梯度叠加值,根据各分箱的一阶梯度叠加值,以及各分箱对应第二特征值区间,确定第一梯度直方图;同样的,对于每个分箱,将该分箱中各第二特征值对应待处理样本的二阶梯度叠加,得到该分箱的二阶梯度叠加值,根据各分箱的二阶梯度叠加值,以及各分箱对应第二特征值区间,确定第二梯度直方图。
68.示例性地,如图6所示,多个待处理样本分别为:x1,x2,
……
,x10,在第二特征f1下,多个待处理样本的第二特征值包括:k11=0.8,k12=0.5,k13=1,k14=0.4,k15=0.2,k16=0.6,k17=0.7,k18=0.1,k19=0.9,k110=0.3,多个待处理样本的一阶梯度分别为:g1=0.03,g2=0.12,g3=0.4,g4=0.2,g5=-0.3,g6=-0.1,g7=0.05,g8=-0.08,g9=0.22,g10=-0.07。
69.确定第二特征的多个分箱值分别为:z1=0.35,z2=0.55,z3=0.75,根据多个分箱值确定四个分箱,分别为分箱1,分箱2,分箱3和分箱4,分箱1对应的第二特征值区间为(0,0.35],分箱2对应的第二特征值区间为(0.35,0.55],分箱3对应的第二特征值区间为(0.55,0.75],分箱4对应的第二特征值区间为(0.75,1]。进而可以确定分箱1中的第二特征值包括:k15,k18和k110,分箱2中的第二特征值包括:k12和k14,分箱3中的第二特征值包括:k16和k17,分箱4中的第二特征值包括:k11,k13和k19。
70.如图7所示,将分箱1中第二特征值对应待处理样本x5、x8和x10的一阶梯度叠加,得到分箱1对应的一阶梯度叠加值gd1=-0.45,将分箱2中第二特征值对应待处理样x2和x4的一阶梯度叠加,得到分箱2对应的一阶梯度叠加值gd2=0.32,将分箱3中第二特征值对应待处理样本x6和x7的一阶梯度叠加,得到分箱3对应的一阶梯度叠加值gd3=-0.05,将分箱4中第二特征值对应待处理样本x1、x3和x9的一阶梯度叠加,得到分箱4对应的一阶梯度叠加值gd4=0.65。
71.根据分箱1对应的第二特征值区间(0,0.35]和一阶梯度叠加值gd1=-0.45、分箱2对应的第二特征值区间(0.35,0.55]和一阶梯度叠加值gd2=0.32、分箱3对应的第二特征值区间(0.55,0.75]和一阶梯度叠加值gd3=-0.05,以及分箱4对应的第二特征值区间(0.75,1]和一阶梯度叠加值gd4=0.65,确定第二特征f1的一阶梯度直方图。
72.在上述实施例中,第二对象在tee环境中,通过明文的一阶梯度和二阶梯度确定一阶梯度直方图和二阶梯度直方图,相较于通过密文的一阶梯度和二阶梯度确定一阶梯度直方图和二阶梯度直方图,减少了计算量,极大地减少了确定一阶梯度直方图和二阶梯度直方图所需的时长和计算资源,提高了确定一阶梯度直方图和二阶梯度直方图的效率。
73.在一些实施例中,基于待处理样本的一阶梯度和二阶梯度、以及第二对象具备的待处理样本的第二特征,如图8所示,确定目标节点的一阶梯度直方图和二阶梯度直方图,包括:步骤s801,基于待处理样本的一阶梯度和二阶梯度,对待处理样本进行单边采样,得到目标训练样本;步骤s802,基于目标训练样本的一阶梯度和二阶梯度、以及第二对象具备的目标训练样本的第二特征,确定目标节点的一阶梯度直方图和二阶梯度直方图。
74.其中,单边采样是基于梯度的单边采样(gradient-based one-side sampling,goss),指通过待处理样本的采样梯度,对待处理样本进行采样,用于降低样本量,提升学习效率。
75.采样梯度与信息增益相关,待处理样本的采样梯度越大,表示待处理样本的信息增益越高,待处理样本的采样梯度越小,表示待处理样本的信息增益越低;如果一个待处理样本的采样梯度较小,表示该待处理样本已经充分训练过,如果一个待处理样本的采样梯度较大,表示该待处理样本还未被充分训练。在实际应用中,待处理样本的采样梯度是待处理样本的一阶梯度和二阶梯度的乘积。
76.通过goss保留采样梯度较大的待处理样本,并在采样梯度较小的待处理样本中随机采样部分待处理样本。
77.具体地,对于每个待处理样本,确定该待处理样本的一阶梯度和二阶梯度之间的乘积,得到该待处理样本的采样梯度;将多个待处理样本按照采样梯度从大到小的顺序排列,得到待处理样本序列,在该待处理样本序列中,选取排列在前的第一预设比例的第一待处理样本,在除了第一待处理样本以外的其他待处理样本中,随机采样第二预设比例的第二待处理样本,目标训练样本包括第一待处理样本和第二待处理样本。需要说明的是,第一预设比例是第一待处理样本占待处理样本序列中所有待处理样本的比例,第二预设比例是第二待处理样本占待处理样本序列中所有待处理样本的比例。
78.通过goss处理之后,减少了目标比例的待处理样本,因此将目标比例设定为第二待处理样本的目标权重,用于后续计算。目标权重(目标比例)为1和第一预设比例之间的差值,与第二预设比例之间的比值。第一预设比例和第二预设比例的取值可以根据实际需求设定,本技术实施例对此不进行限定。
79.示例性地,将多个待处理样本按照采样梯度从大到小的顺序排列,得到待处理样本序列{xc},将样本序列{xc}中排列在前a%的待处理样本作为第一待处理样本,在样本序列{xc}中排列在后(1-a)%的待处理样本中,随机选取b%的待处理样本,得到第二待处理样
本,确定目标比例为,将设定为第二待处理样本的目标权重。
80.将目标训练样本中,第二待处理样本的一阶梯度和二阶梯度乘以目标权重,得到第二待处理样本的目标一阶梯度和目标二阶梯度;根据目标训练样本中第一待处理样本的一阶梯度和二阶梯度、第二待处理样本的目标一阶梯度和目标二阶梯度,以及第二对象具备的目标训练样本的第二特征,确定目标节点的一阶梯度直方图和二阶梯度直方图。
81.根据目标训练样本中第一待处理样本的一阶梯度和二阶梯度、第二待处理样本的目标一阶梯度和目标二阶梯度,以及第二对象具备的目标训练样本的第二特征,确定目标节点的一阶梯度直方图和二阶梯度直方图的具体实现方式,与上述实施例中,基于待处理样本的一阶梯度和二阶梯度、以及第二对象具备的待处理样本的第二特征,确定目标节点的一阶梯度直方图和二阶梯度直方图的具体方式相同,因此对于该内容,可以参考上述实施例中,对基于待处理样本的一阶梯度和二阶梯度、以及第二对象具备的待处理样本的第二特征,确定目标节点的一阶梯度直方图和二阶梯度直方图的说明。
82.在上述实施例中,通过goss对训练样本进行采样,降低了样本量,进一步地减少了确定一阶梯度直方图和二阶梯度直方图的计算量,提高了确定一阶梯度直方图和二阶梯度直方图的效率,进而提升了决策树模型的学习效率。
83.在一些实施例中,目标节点的一阶梯度直方图为第二特征的一阶梯度直方图,目标节点的二阶梯度直方图为第二特征的二阶梯度直方图;根据直方图信息确定决策树模型中目标节点的第一分裂增益值,包括:基于第二特征的一阶梯度直方图和二阶梯度直方图,确定第二特征的增益值;在第二特征的增益值中选取满足增益条件的增益值;将满足增益条件的增益值,作为决策树模型中目标节点的第一分裂增益值。
84.其中,目标节点的一阶梯度直方图包括,第二对象在目标节点处对应各第二特征下的一阶梯度直方图;目标节点的二阶梯度直方图包括,第二对象在目标节点处对应各第二特征下的二阶梯度直方图。
85.示例性地,目标节点对应样本包括:x1,x2,x3,x4,x5,x6,第二对象在目标节点处具备的各样本的第二特征包括:f1,f2,f3,根据x1,x2,x3,x4,x5,x6的一阶梯度和二阶梯度,以及x1,x2,x3,x4,x5,x6在各第二特征下的第二特征值,得到各第二特征对应的一阶梯度直方图和二阶梯度直方图,包括:f1对应的一阶梯度直方图gf1和二阶梯度直方图hf1,f2对应的一阶梯度直方图gf2和二阶梯度直方图hf2,f3对应的一阶梯度直方图gf3和二阶梯度直方图hf3。
86.具体地,对于每个第二特征对应的一阶梯度直方图和二阶梯度直方图,对于一阶梯度直方图中的每个分箱,将该分箱作为分割点,将分割点左侧所有分箱至分割点所在分箱的一阶梯度累加,得到第一梯度和,将分割点右侧所有分箱至分割点所在分箱的一阶梯度累加,得到第二梯度和,在二阶梯度直方图中,将分割点左侧所有分箱至分割点所在分箱的二阶梯度累加,得到第三梯度和,将分割点右侧所有分箱至分割点所在分箱的二阶梯度累加,得到第四梯度和;采用增益值计算公式,根据第一梯度和、第二梯度和、第三梯度和、以及第四梯度和,确定该第二特征在该分割点处的增益值;遍历一阶梯度直方图中的每个分箱,以得到以每个分箱为分割点时对应的增益值,将第二特征在各分箱对应的增益值中的最大增益值,作为该第二特征的增益值。
87.示例性地,第二特征f1对应的一阶梯度直方图如图9所示,第二特征f1对应的二阶梯度直方图如图10所示,将分箱4作为分割点,确定分箱4对应的第一梯度和gl4、第二梯度和gr4、第三梯度和hl4以及第四梯度和hr4,增益值计算公式如公式(1)所示。
88.(1)其中,是第二特征f1在分箱4下的增益值,gl4是分箱4对应的第一梯度和,gr4是分箱4对应的第二梯度和,hl4是分箱4对应的第三梯度和,hr4是分箱4对应的第四梯度和,g4=gl4+gr4,h4=hl4+hr4,和是预设增益参数;预设增益参数可以根据实际需求设定。
89.如图9或图10所示,第二特征f1包括8个分箱,分别确定第二特征f1在8个分箱下对应的增益值,将其中最大的增益值,作为第二特征f1的增益值。
90.在第二特征的增益值中选取满足增益条件的增益值,可以是在各第二特征的增益值中选取最大的增益值,将各第二特征的增益值中最大的增益值作为目标节点的第一分裂增益值。
91.示例性地,第二对象在目标节点处具备的各样本的第二特征包括:f1,f2,f3,根据上述过程确定f1,f2,f3的增益值分别为、和,假设是、和中最大的增益值,则将作为第一分裂增益值。
92.需要说明的是,在确定第一分裂增益值后,可以确定第一分裂增益值对应第二特征是分裂特征,以及第一分裂增益值对应的分裂特征值。
93.示例性地,是第一分裂增益值,则第二特征f1是第一分裂增益值对应的分裂特征,假设是第二特征f1下第4分箱的增益值,则第二特征f1下第4分箱对应的特征值,是第一分裂增益值对应的分裂增益值。
94.在上述实施例中,第二对象在tee环境中,根据一阶梯度直方图和二阶梯度直方图,确定第二对象对应的目标节点的第一分裂增益值;现有技术中,第二对象将通过密文的一阶梯度的二阶梯度确定的密文的直方图信息发送至第一对象,由第一对象确定第一分裂增益值,第一对象通过密文的直方图信息可以反推出第二对象的特征数据;上述实施例避免了第二对象的特征数据泄露,保证了第二对象的数据安全。此外,由于一阶梯度直方图和二阶梯度直方图是根据明文的一阶梯度和二阶梯度计算的,相较于通过密文的直方图信息确定第一分裂增益值,通过明文的一阶梯度直方图和二阶梯度直方图确定第一分裂增益值的效率更高。
95.在一些实施例中,接收第一对象发送的第一梯度密文和第二梯度密文之后,方法还包括:将第一梯度密文和第二梯度密文输入可信执行环境中;当在可信执行环境中完成第一分裂增益值的加密后,从可信执行环境中输出经过加密的第一分裂增益值。
96.具体地,第二对象接收第一梯度密文和第二梯度密文,此时第一梯度密文和第二梯度密文存在于非可信执行环境中,第二对象将第一梯度密文和第二梯度密文输入至tee环境中;在tee环境中确定加密的第一分裂增益值,tee环境输出加密的第一分裂增益值,使得第二对象获取到加密的第一分裂增益值。
97.在一些实施例中,第二对象获取到加密的第一分裂增益值、该加密的第一分裂增益值对应的分裂特征,以及加密的第一分裂增益值对应的分裂特征值。
98.具体地,tee环境输出加密的第一分裂增益值、该加密的第一分裂增益值对应的第一分裂特征和第一分裂特征值,以使得当第二对象基于加密的第一分裂增益值对目标节点进行节点分裂时,可以直接根据加密的第一分裂增益值对应的第一分裂特征和第一分裂特征值对目标节点进行节点分裂。
99.在上述实施例中,第二对象获取到第一梯度密文和第二梯度密文后,将第一梯度密文和第二梯度密文输入tee环境,在tee环境中对第一梯度密文和第二梯度密文进行解密,得到第一梯度和第二梯度,基于第一梯度和第二梯度确定直方图信息,确定第一分裂增益值,并将加密的第一分裂增益值输出tee环境,使得第二对象只能获取到第一梯度密文、第二梯度密文和加密的第一分裂增益值,无法获取到明文的第一梯度、第二梯度、直方图信息和第一分裂增益值,不会导致第一对象的标签数据泄露,保证了第一对象的数据安全。
100.在一些实施例中,加密第一分裂增益值,包括:基于对称密钥对第一分裂增益值进行加密;基于加密的第一分裂增益值对决策树模型中的目标节点进行节点分裂,包括:向第一对象发送加密的第一分裂增益值,以使第一对象基于对称密钥对加密的第一分裂增益值进行解密,得到第一分裂增益值,并在第一分裂增益值和第二分裂增益值中选取满足预设条件的分裂增益值;第二分裂增益值是第一对象,基于目标节点对应的待处理样本的第一梯度和第二梯度、以及第一对象具备的待处理样本的第一特征确定的;当满足预设条件的分裂增益值是第一分裂增益值时,接收第一对象发送的提示信息,基于加密的第一分裂增益值对决策树模型中的目标节点进行节点分裂。
101.其中,第一特征,是第一对象具备的待处理样本的特征,第一特征可以包括多个第一特征。需要说明的是,对于目标节点,第一对象和第二对象具备相同的待处理样本,而第一对象具备的待处理样本的第一特征,和第二对象具备的待处理样本的第二特征可能不同。示例性地,第一对象为部门a,部门a涉及的业务是虚拟资源交换应用,第二对象为部门b,部门b涉及的业务是社交应用,虚拟资源交换应用和社交应用存在重叠用户(第一对象和第二对象共同拥有的训练对象),而虚拟资源交换应用拥有的特征数据,与社交应用拥有的特征数据不同。
102.满足预设条件的分裂增益值,包括:分裂增益值大于第一分裂增益值和第二分裂增益值中的非分裂增益值。示例性地,分裂增益值是第一分裂增益值,则第二分裂增益值是非分裂增益值,第一分裂增益值大于第二分裂增益值。也就是说,将第一分裂增益值和第二分裂增益值中的较大者,作为满足预设条件的分裂增益值。
103.提示信息用于告知第二对象拥有满足预设条件的分裂增益值,并指示第二对象基于加密的第一分裂增益值对决策树模型的目标节点进行节点分裂。在实际应用中,提示信息可以是预设的提示标识。
104.具体地,第二对象在tee环境中,采用第一对象生成的对称密钥对第一分裂增益值进行加密,得到加密的第一分裂增益值。第二对象向第一对象发送加密的第一分裂增益值,使得第一对象获取到加密的第一分裂增益值,第一对象可以采用其生成的对称密钥对加密的第一分裂增益值进行解密,得到第一分裂增益值。
105.第一对象获取目标节点对应的多个待处理样本,对于每个第一特征,获取多个待
处理样本在该第一特征下的第一特征值,将多个第一特征值划分至多个分箱,基于每个分箱中第一特征值对应待处理样本的一阶梯度,确定一阶梯度直方图,基于每个分箱中第二特征值对应待处理样本的二阶梯度,确定二阶梯度直方图;根据一阶梯度直方图和二阶梯度直方图确定该第一特征下的增益值;将各第一特征分别对应的增益值中的最大增益值,作为第二分裂增益值。
106.第一对象将第一分裂增益值和第二分裂增益值中的较大者,作为满足预设条件的分裂增益值;当满足预设条件的分裂增益值是第一分裂增益值时,由于第一分裂增益值是基于第二对象具备的待处理样本的第二特征确定的,第一对象无法通过第一分裂增益值进行节点分裂,进而由第二对象基于加密的第一分裂增益值对目标节点进行节点分裂;第一对象向第二对象发送提示信息,第二对象接收提示信息,依据该提示信息,基于加密的第一分裂增益值对决策树模型中的目标节点进行节点分裂。
107.在上述实施例中,第二对象向第一对象发送加密的第一分裂增益值,第一对象通过对称密钥对加密的第一分裂增益值进行解密得到第一分裂增益值,第一对象未获取到直方图信息,无法反推出第二对象的特征数据,保证了第二对象的数据安全。此外,第二对象向第一对象发送的是加密的第一分裂增益值,相较于密文的直方图信息,加密的第一分裂增益值的数据量较小,提高了第一对象和第二对象之间的通信效率。
108.在一些实施例中,基于加密的第一分裂增益值对决策树模型中的目标节点进行节点分裂,包括:基于加密的第一分裂增益值对第二对象对应的决策树模型中的目标节点进行节点分裂,得到第一分裂结果;向第一对象发送第一分裂结果,以使第一对象基于第一分裂结果对第一对象对应的决策树模型进行更新。
109.其中,第一分裂结果用于反映第二对象对目标节点进行节点分裂后,目标节点对应样本中,一部分样本被划分至目标节点的左子节点,另一部分样本被划分至目标节点的右子节点。
110.第一对象对应的决策树模型,与第二对象对应的决策树模型中每个节点对应的样本均相同,示例性地,第一对象对应的决策树模型包括根节点、根节点的左子节点和根节点的右子节点,第一对象对应的决策树模型中,根节点对应样本包括:x21,x22,x23,x24,x25,x26,左子节点对应样本包括:x21,x22,x23,右子节点对应样本包括:x24,x25,x26;同样地,第二对象对应的决策树模型包括根节点、左子节点和右子节点,第二对象对应的决策树模型中,根节点对应样本包括:x21,x22,x23,x24,x25,x26,左子节点对应样本包括:x21,x22,x23,右子节点对应样本包括:x24,x25,x26。
111.具体地,第二对象获取加密的第一分裂增益值对应的第一分裂特征和第一分裂特征值,第二对象获取待处理样本在第一分裂特征下的特征值,基于待处理样本在第一分裂特征下的特征值,按照第一分裂特征值,将目标节点的待处理样本划分为第一部分样本和第二部分样本,以完成对其对应决策树中目标节点的节点分裂;第一部分样本在第一分裂特征下的特征值,均小于或均大于第二部分样本在第二分裂特征下的特征值。
112.示例性地,在tee环境输出加密的第一分裂增益值enc(gain1)的同时,输出第一分裂增益值enc(gain1)对应的第一分裂特征fid1和第一分裂特征值value1;第二对象接收提示信息,获取加密的第一分裂增益值enc(gain1)对应的第 一分裂特征fid1和第一分裂特征值value1,获取各待处理样本在fid1下的特征值,按照value1和各待处理样本在fid1下
的特征值,将目标节点的各待处理样本划分为第一部分样本和第二部分样本。
113.第二对象将第一部分样本的样本号,与第一部分样本对应节点索引关联,将第一部分样本的样本号,与第二部分样本对应节点索引关联,得到第一分裂结果,第二对象向第一对象发送第一分裂结果。第一部分样本对应节点,可以是目标节点的左子节点,或者目标节点的右子节点;相应地,第二部分样本对应节点,可以是目标节点的右子节点,或者目标节点的左子节点。
114.第一对象获取到第一分裂结果,按照第一分裂结果对其对应的决策树模型进行更新。对第一对象对应的决策树模型进行更新,可以是对第一对象对应的决策树模型的样本节点索引信息进行更新;具体地,在当前决策树模型的样本节点索引信息中,添加第一分裂结果,以更新决策树模型的样本节点索引信息。
115.第一对象通过第一分裂结果,可以确定第二对象对目标节点进行节点分裂的结果,第一对象只能确定第一部分样本在某个第二特征下的特征值,均小于或者大于第二部分样本在某个第二特征下的特征值,而无法确定某个第二特征的具体含义,也无法确定第一部分样本和第二部分样本在某个第二特征下的特征值,保证了第二对象的特征数据的安全。
116.在上述实施例中,当选取的满足预设条件的分裂增益值是第一分裂增益值时,通过第二对象基于加密的第一分裂增益值对决策树模型中目标节点进行节点分裂,并向第一对象发送第一分裂结果,第一对象采用第一分裂结果更新决策树模型,使得第一对象和第二对象共享节点分裂结果,并且第二对象的特征数据不会泄露,保证了第二对象的特征数据的安全。
117.在一些实施例中,决策树模型的处理方法还包括:当满足预设条件的分裂增益值是第二分裂增益值时,接收第一对象基于第二分裂增益值对第一对象对应的决策树模型中的目标节点进行分裂得到的第二分裂结果;基于第二分裂结果对第二对象对应的决策树模型进行更新。
118.其中,第二分裂结果用于反映第一对象对目标节点进行节点分裂后,目标节点对应样本中,一部分样本被划分至目标节点的左子节点,另一部分样本被划分至目标节点的右子节点。
119.具体地,当选取的满足预设条件的分裂增益值是第二分裂增益值时,由于第二分裂增益值是基于第一对象具备的待处理样本的第一特征确定的,第二对象无法通过第二分裂增益值进行节点分裂,进而由第一对象基于第二分裂增益值对目标节点进行节点分裂。
120.第一对象在第一特征中确定第二分裂增益值对应的第二分裂特征和第二分裂特征值,第一对象获取待处理样本在该第二分裂特征下的特征值,基于待处理样本在第二分裂特征下的特征值,按照第二分裂特征值,将目标节点的待处理样本划分为第三部分样本和第四部分样本,以完成对其对应决策树模型中目标节点的节点分裂;第三部分样本在第二分裂特征下的特征值,均小于或均大于第四部分样本在第二分裂特征下的特征值。
121.示例性地,第一对象获取第二分裂增益值gain2对应的第二分裂特征fid2和第二分裂特征值value2,获取各待处理样本在fid2下的特征值,按照value2和各待处理样本在fid2下的特征值,将目标节点的各待处理样本划分为第三部分样本和第四部分样本。
122.第一对象将第三部分样本的样本号,与第三部分样本对应节点索引关联,将第四
部分样本的样本号,与第四部分样本对应节点索引关联,得到第二分裂结果,第一对象向第二对象发送第二分裂结果。第三部分样本对应节点,可以是目标节点的左子节点,或者目标节点的右子节点;相应地,第四部分样本对应节点,可以是目标节点的右子节点,或者目标节点的左子节点。
123.第二对象获取到第二分裂结果,按照第二分裂结果对其对应的决策树模型进行更新。对第二对象对应的决策树模型进行更新,可以是对第二对象对应的决策树模型的样本节点索引信息进行更新;具体地,在当前决策树模型的样本节点索引信息中,添加第二分裂结果,以更新决策树模型的样本节点索引信息;决策树模型的样本节点索引信息,用于反映决策树模型包括的各节点,以及每个节点对应的样本。
124.第二对象通过第二分裂结果,可以确定第一对象对目标节点进行节点分裂的结果,第二对象只能确定第三部分样本在某个第一特征下的特征值,均小于或者大于第四部分样本在某个第一特征下的特征值,而无法确定某个第一特征的具体含义,也无法确定第三部分样本和第四部分样本在某个第一特征下的特征值,保证了第一对象的特征数据的安全。
125.在一些实施例中,第一对象和第二对象均存在样本节点索引信息,第一对象和第二对象的样本节点索引信息相同,在第一对象基于第二分裂增益值对第一对象对应决策树模型中目标节点进行节点分裂的情况下,第一对象根据第一分裂结果更新其样本节点索引信息,第一对象将第一分裂结果发送至第二对象,第二对象根据第一分裂结果更新第二对象的样本节点索引信息,使得第一对象和第二对象的样本节点索引信息保持一致。在第二对象基于第一分裂增益值对第二对象对应决策树模型中目标节点进行节点分裂的情况下,第二对象根据第二分裂结果更新其样本节点索引信息,第二对象将第二分裂结果发送至第一对象,第一对象根据第二分裂结果更新第一对象的样本节点索引信息,使得第一对象和第二对象的样本节点索引信息保持一致。
126.在上述实施例中,当选取的分裂增益值是第二分裂增益值时,通过第一对象基于第二分裂增益值对决策树模型中目标节点进行节点分裂,并向第二对象发送第一分裂结果,第二对象采用第一分裂结果更新决策树模型,使得第一对象和第二对象共享节点分裂结果,并且第一对象的特征数据不会泄露,保证了第一对象的特征数据的安全。
127.在一个应用场景中,第一对象具备训练样本的样本标签,第二对象不具备训练样本的样本标签,在联邦学习中,可以将具备样本标签的一方称为guest方,将不具备样本标签的一方称为host方,即可以将第一对象记为guest方,将第二对象记为host方。如图11所示,决策树模型的处理方法中,通过guest方和host方之间的交互,使得guest方获取到基于host方的第二特征确定的第一分裂增益值的过程包括:1、host方在tee环境中,通过非对称加密方式生成公钥pk和私钥sk,将公钥pk导出tee环境,将公钥pk发送至guest方;如图11中的路径
①
所示;2、guest方通过对称加密方式生成对称密钥sym-key,通过sym-key对一阶梯度gt和二阶梯度ht,得到第一梯度密文enc(gt)和第二梯度密文enc(ht);如图11中的路径
②
所示;3、guest方将第一梯度密文enc(gt)和第二梯度密文enc(ht)发送至host方,host方将第一梯度密文enc(gt)和第二梯度密文enc(ht)输入tee环境中;如图11中的路径
③
所
示;4、guest方通过公钥pk加密对称密钥sym-key,得到密钥密文pk(sym-key),guest方将密钥密文pk(sym-key)发送至host方,host方将密钥密文pk(sym-key)输入tee环境中,host方在tee环境中,通过私钥sk对密钥密文pk(sym-key)进行解密,得到对称密钥sym-key;如图11中的路径
④
所示;5、host方在tee环境中,通过对称密钥sym-key对第一梯度密文enc(gt)和第二梯度密文enc(ht)进行解密,得到一阶梯度gt和二阶梯度ht;如图11中的路径
⑤
所示;6、host方在tee环境中,采用goss对目标节点对应的待处理样本进行采样,得到目标节点对应的目标训练样本,基于一阶梯度gt、二阶梯度ht和host方具备的目标训练样本的第二特征,建立目标节点对应的一阶梯度直方图和二阶梯度直方图;如图11中的路径
⑥
所示;7、host方在tee环境中,基于一阶梯度直方图和二阶梯度直方图计算第一分裂增益值gain1、第一分裂增益值gain1对应的第一分裂特征fid1和分裂增特征值value1;如图11中的路径
⑦
所示;8、host方在tee环境中,采用对称密钥sym-key对第一分裂增益值gain1进行加密,得到加密的第一分裂增益值enc(gain1);如图11中的路径
⑧
所示;9、host方将加密的第一分裂增益值enc(gain1)、第一分裂特征fid1和分裂增特征值value1输出tee环境,host方将加密的第一分裂增益值enc(gain1)发送至guest方,guest方通过对称密钥sym-key对加密的第一分裂增益值enc(gain1)进行解密得到第一分裂增益值gain1;如图11中的路径
⑨
所示。
128.在另一个应用场景中,第一对象为运营虚拟资源交换应用的企业a,第二对象为运营社交应用的企业b,如图12所示,决策树模型的处理方法包括:企业b在tee环境中,生成公钥pk和私钥sk,将公钥pk导出tee环境,将公钥pk发送至企业a;在训练第t棵决策树模型时,企业a生成对称密钥sym-key,通过公钥pk加密对称密钥sym-key,得到密钥密文pk(sym-key),企业a将密钥密文pk(sym-key),发送至企业b;企业b将密钥密文pk(sym-key)输入tee环境,在tee环境中通过私钥sk对密钥密文pk(sym-key)进行解密,得到对称密钥sym-key。
129.企业a根据第t-1棵决策树模型,确定各训练样本的预测值,根据样本标签和各训练样本的预测值,确定一阶梯度gt和二阶梯度ht;企业a通过对称密钥sym-key对一阶梯度gt和二阶梯度ht进行加密,得到第一梯度密文enc(gt)和第二梯度密文enc(ht),向企业b发送第一梯度密文enc(gt)和第二梯度密文enc(ht);企业b将第一梯度密文enc(gt)和第二梯度密文enc(ht)输入tee环境中,在tee环境中,通过对称密钥sym-key对第一梯度密文enc(gt)和第二梯度密文enc(ht)进行解密,得到一阶梯度gt和二阶梯度ht;企业b在tee环境中,通过goss对目标节点nid对应的待处理样本进行采样,得到目标节点nid对应的目标训练样本,通过企业b具备的目标训练样本的第一特征,以及一阶梯度gt和二阶梯度ht,确定一阶梯度直方图和二阶梯度直方图,并确定第一分裂增益值
gain1,以及第一分裂增益值gain1对应的第一分裂特征fid1和第一分裂增特征值value1;企业b在tee环境中,通过对称密钥sym-key对第一分裂增益值gain1进行加密,并将加密的第一分裂增益值enc(gain1)、第一分裂特征fid1和第一分裂增特征值value1输出tee环境;企业b向企业a发送加密的第一分裂增益值enc(gain1);企业a接收加密的第一分裂增益值enc(gain1),通过对称密钥sym-key对加密的第一分裂增益值enc(gain1)解密,得到第一分裂增益值gain1;企业a根据目标节点nid对应待处理样本,以及企业a具备的待处理样本的第一特征,确定第二分裂增益值gain2,以及第二分裂增益值gain2对应的第二分裂特征fid2和第二分裂特征值value2;当第一分裂增益值gain1大于第二分裂增益值gain2时,即第一分裂增益值gain1是选取的分裂增益值,则企业a向企业b发送提示信息;企业b接收提示信息,根据加密的第一分裂增益值enc(gain1)对应的第一分裂特征fid1和第一分裂增特征值value1对目标节点nid进行节点分裂,得到第一分裂结果;企业b将第一分裂结果发送至企业a,企业a根据第一分裂结果更新样本节点索引信息;当第二分裂增益值gain2大于第一分裂增益值gain1时,即第二分裂增益值gain2是选取的分裂增益值,则企业a根据第二分裂增益值gain2对应的第二分裂特征fid2和第二分裂特征值value2对目标节点nid进行节点分裂,得到第二分裂结果;企业a将第二分裂结果发送至企业b,企业b根据第二分裂结果更新样本节点索引信息。
130.在一个具体实施例中,如图13所示,决策树模型的处理方法包括:步骤s1301、第二对象在可信执行环境中生成非对称加密的公钥和私钥,并获取从可信执行环境输出的公钥;步骤s1302、第二对象向第一对象发送公钥,以指示第一对象基于公钥对对称密钥进行加密,得到密钥密文;步骤s1303、第二对象接收第一对象发送的密钥密文,在可信执行环境中,基于私钥对密钥密文进行解密,得到用于对第一梯度密文和第二梯度密文进行解密的对称密钥;步骤s1304、第二对象接收第一对象发送的基于对称密钥分别对第一梯度和第二梯度进行加密所得的第一梯度密文和第二梯度密文;步骤s1305、第二对象将第一梯度密文和第二梯度密文输入可信执行环境中,在可信执行环境中,基于对称密钥对第一梯度密文和第二梯度密文进行解密,得到第一梯度和第二梯度;第一梯度包括训练样本的一阶梯度,第二梯度包括训练样本的二阶梯度;步骤s1306、第二对象在可信执行环境中,获取决策树模型中目标节点对应的待处理样本,在训练样本的一阶梯度中确定待处理样本的一阶梯度,以及在训练样本的二阶梯度中确定待处理样本的二阶梯度;步骤s1307、第二对象在可信执行环境中,基于待处理样本的一阶梯度和二阶梯度,对待处理样本进行单边采样,得到目标训练样本;基于目标训练样本的一阶梯度和二阶梯度、以及第二对象具备的目标训练样本的第二特征,确定目标节点的一阶梯度直方图和
二阶梯度直方图;目标节点的一阶梯度直方图为第二特征的一阶梯度直方图,目标节点的二阶梯度直方图为第二特征的二阶梯度直方图;步骤s1308、第二对象在可信执行环境中,基于第二特征的一阶梯度直方图和二阶梯度直方图,确定第二特征的增益值;在第二特征的增益值中选取满足增益条件的增益值;将满足增益条件的增益值,作为决策树模型中目标节点的第一分裂增益值;步骤s1309、第二对象在可信执行环境中,基于对称密钥对第一分裂增益值进行加密;当在可信执行环境中完成第一分裂增益值的加密后,从可信执行环境中输出经过加密的第一分裂增益值;步骤s1310、在第二对象获得加密的第一分裂增益值时,向第一对象发送加密的第一分裂增益值,以使得第一对象基于对称密钥对加密的第一分裂增益值进行解密,得到第一分裂增益值,基于目标节点对应的待处理样本的一阶梯度和二阶梯度、以及第一对象具备的待处理样本的第一特征确定第二分裂增益值;第一对象在第一分裂增益值和第二分裂增益值中,选取满足预设条件的分裂增益值;步骤s1311、当选取的分裂增益值为第一分裂增益值时,第二对象接收第一对象发送的提示信息,基于加密的第一分裂增益值对第二对象对应的决策树模型中的目标节点进行节点分裂,得到第一分裂结果,向第一对象发送第一分裂结果,以使第一对象基于第一分裂结果对第一对象对应的决策树模型进行更新;步骤s1312、当选取的分裂增益值为第二分裂增益值时,第二对象接收第一对象根据第二分裂增益值对第一对象对应的决策树模型中的目标节点进行节点分裂,得到的第二分裂结果,根据第二分裂结果对第二对象对应的决策树模型进行更新。
131.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
132.在上述决策树模型的处理方法中,第二对象接收第一对象发送的第一梯度密文和第二梯度密文,在可信执行环境中,对第一梯度密文和第二梯度密文进行解密,在可信执行环境中,基于训练样本、解密得到的第一梯度和第二梯度确定目标节点的直方图信息,并基于直方图信息确定第一分裂增益值,基于加密的第一分裂增益值对目标节点进行节点分裂;第二对象在可信执行环境中,对第一梯度密文和第二梯度密文进行解密,第二对象无法访问可信执行环境,因此第二对象无法获得第一梯度和第二梯度,不会导致第一对象的标签数据泄露,保证了第一对象的数据安全;第二对象在可信执行环境中,基于明文的第一梯度和第二梯度确定直方图信息,相对于基于加密的梯度确定直方图信息,减少了计算的数据量,极大地提高了确定直方图信息的效率,进而提高了联邦学习的调优效率,进而提高了决策树模型的训练效率。
133.在一些实施例中,如图14所示,提供了一种决策树模型的处理方法,以该方法应用于图1中的第一终端为例进行说明,包括以下步骤:
步骤s1402,向第二对象发送第一梯度密文和第二梯度密文,以使第二对象在可信执行环境中,对第一梯度密文和第二梯度密文进行解密,基于训练样本、解密所得的第一梯度和第二梯度确定决策树模型中目标节点的直方图信息,以及根据直方图信息确定决策树模型中目标节点的第一分裂增益值,并加密第一分裂增益值;步骤s1404,接收第二对象发送的经过加密的第一分裂增益值;步骤s1406,基于加密的第一分裂增益值,对决策树模型中的目标节点进行节点分裂。
134.其中,步骤s1402至步骤s1406的详细过程可以参考上述步骤s202至步骤s206的实施例。
135.在一些实施例中,向第二对象发送第一梯度密文和第二梯度密文,包括:基于对称密钥分别对第一梯度和第二梯度进行加密,得到第一梯度密文和第二梯度密文;向第二对象发送第一梯度密文和第二梯度密文;基于加密的第一分裂增益值,对决策树模型中的目标节点进行节点分裂,包括:基于对称密钥对加密的第一分裂增益值进行解密,得到第一分裂增益值;基于第一分裂增益值,对决策树模型中的目标节点进行节点分裂。
136.在本实施例中,第一对象对第一梯度和第二梯度进行加密,得到第一梯度密文和第二梯度的详细过程,可以参考上述实施例中,第二对象接收第一对象发送的第一梯度密文和第二梯度密文的过程的相关说明;第一对象基于加密的第一分裂增益值,对决策树模型中的目标节点进行节点分裂的详细过程,可以参考上述实施例中,第二对象基于加密的第一分裂增益值对决策树模型中的目标节点进行节点分裂的过程的相关说明。
137.在一些实施例中,决策树模型的处理方法还包括:接收第二对象发送的公钥,通过公钥对对称密钥进行加密,得到密钥密文;向第二对象发送密钥密文,以指示第二对象基于公钥对应的私钥对密钥密文进行解密,得到对称密钥,并基于对称密钥对第一分裂增益值进行加密得到加密的第一分裂增益值。
138.在本实施例中,第一对象通过公钥对对称密钥进行加密,得到密钥密文的详细过程,可以参考上述步骤s401至步骤s404对应的实施例。
139.在一些实施例中,基于第一分裂增益值,对决策树模型中的目标节点进行节点分裂,包括:基于目标节点对应的待处理样本的第一梯度和第二梯度、以及第一对象具备的待处理样本的第一特征确定第二分裂增益值;在第一分裂增益值和第二分裂增益值中,选取满足预设条件的分裂增益值;基于选取的分裂增益值,对决策树模型中的目标节点进行节点分裂。
140.在本实施例中,第一对象基于第一分裂增益值,对决策树模型中的目标节点进行节点分裂的详细过程,可以参考上述实施例中,第二对象基于加密的第一分裂增益值对决策树模型中的目标节点进行节点分裂的过程的相关说明。
141.在一些实施例中,基于选取的分裂增益值,对决策树模型中的目标节点进行节点分裂,包括:当选取的分裂增益值为第一分裂增益值时,向第二对象发送提示信息,以使第二对象基于加密的第一分裂增益值对第二对象对应的决策树模型中的目标节点进行节点分裂,得到第一分裂结果;接收第二对象发送的第一分裂结果,根据第一分裂结果对第一对象对应的决策树模型进行更新。
142.在本实施例中,当选取的分裂增益值为第一分裂增益值时,第一对象对决策树模
型中的目标节点进行节点分裂的详细过程,可以参考上述实施例中,对当满足预设条件的分裂增益值是第一分裂增益值时,第二对象接收第一对象发送的提示信息,基于加密的第一分裂增益值对决策树模型中的目标节点进行节点分裂的过程的相关说明。
143.在一些实施例中,基于选取的分裂增益值,对决策树模型中的目标节点进行节点分裂,包括:当选取的分裂增益值为第二分裂增益值时,根据第二分裂增益值对第一对象对应的决策树模型中的目标节点进行节点分裂,得到第二分裂结果;向第二对象发送第二分裂结果,以使第二对象基于第二分裂结果对第二对象对应的决策树模型进行更新。
144.在本实施例中,当选取的分裂增益值为第二分裂增益值时,第一对象对决策树模型中的目标节点进行节点分裂的详细过程,可以参考上述实施例中,对当满足预设条件的分裂增益值是第二分裂增益值时,第二对象接收第二分裂结果,基于第二分裂结果对第二对象对应的决策树模型进行更新的过程的相关说明。
145.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的决策树模型的处理方法的决策树模型的处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个决策树模型的处理装置实施例中的具体限定可以参见上文中对于决策树模型的处理方法的限定,在此不再赘述。
146.在一些实施例中,如图15所示,提供了一种决策树模型的处理装置,包括:梯度密文接收模块1501、第一分裂增益值确定模块1502和第一节点分裂模块1503,其中:梯度密文接收模块1501,用于接收第一对象发送的第一梯度密文和第二梯度密文;第一分裂增益值确定模块1502,用于在可信执行环境中,对第一梯度密文和第二梯度密文进行解密,基于训练样本、解密所得的第一梯度和第二梯度确定决策树模型中目标节点的直方图信息,以及根据直方图信息确定决策树模型中目标节点的第一分裂增益值,并加密第一分裂增益值;第一梯度和第二梯度是不同阶的梯度;第一节点分裂模块1503,用于在获得加密的第一分裂增益值时,基于加密的第一分裂增益值对决策树模型中的目标节点进行节点分裂。
147.在一些实施例中,梯度密文接收模块1501,具体用于接收第一对象发送的基于对称密钥分别对第一梯度和第二梯度进行加密所得的第一梯度密文和第二梯度密文;第一分裂增益值确定模块1502,包括解密单元;解密单元用于:基于对称密钥对第一梯度密文和第二梯度密文进行解密。
148.在一些实施例中,决策树模型的处理装置还包括:对称密钥确定模块,用于在可信执行环境中生成非对称加密的公钥和私钥,并获取从可信执行环境输出的公钥;向第一对象发送公钥,以指示第一对象基于公钥对对称密钥进行加密,得到密钥密文;接收第一对象发送的密钥密文;在可信执行环境中,基于私钥对密钥密文进行解密,得到用于对第一梯度密文和第二梯度密文进行解密的对称密钥。
149.在一些实施例中,第一分裂增益值确定模块1502包括加密单元,用于基于对称密钥对第一分裂增益值进行加密;第一节点分裂模块1503,具体用于向第一对象发送加密的第一分裂增益值,以使第一对象基于对称密钥对加密的第一分裂增益值进行解密,得到第一分裂增益值,并在第一分裂增益值和第二分裂增益中选取满足预设条件的分裂增益值;第二分裂增益值是第一
对象,基于目标节点对应的待处理样本的第一梯度和第二梯度、以及第一对象具备的待处理样本的第一特征确定的;当满足预设条件的分裂增益值是第一分裂增益值时,接收第一对象发送的提示信息,基于加密的第一分裂增益值对决策树模型中的目标节点进行节点分裂。
150.在一些实施例中,第一节点分裂模块1503包括第一分裂单元;第一分裂单元,用于基于加密的第一分裂增益值对决策树模型中的目标节点进行节点分裂,包括:基于加密的第一分裂增益值对第二对象对应的决策树模型中的目标节点进行节点分裂,得到第一分裂结果;向第一对象发送第一分裂结果,以使第一对象基于第一分裂结果对第一对象对应的决策树模型进行更新。
151.在一些实施例中,第一节点分裂模块1503包括第二分裂单元;第二分裂单元,用于当满足预设条件的分裂增益值是第二分裂增益值时,接收第一对象基于第二分裂增益值对第一对象对应的决策树模型中的目标节点进行分裂得到的第二分裂结果;基于第二分裂结果对第二对象对应的决策树模型进行更新。
152.在一些实施例中,决策树模型的处理装置,还用于将第一梯度密文和第二梯度密文输入可信执行环境中;当在可信执行环境中完成第一分裂增益值的加密后,从可信执行环境中输出经过加密的第一分裂增益值。
153.在一些实施例中,第一梯度包括训练样本的一阶梯度,第二梯度包括训练样本的二阶梯度,直方图信息包括一阶梯度直方图和二阶梯度直方图;第一分裂增益值确定模块1502,包括直方图信息确定单元,用于获取决策树模型中目标节点对应的待处理样本;在训练样本的一阶梯度中确定待处理样本的一阶梯度,以及在训练样本的二阶梯度中确定待处理样本的二阶梯度;基于待处理样本的一阶梯度和二阶梯度、以及第二对象具备的待处理样本的第二特征,确定目标节点的一阶梯度直方图和二阶梯度直方图。
154.在一些实施例中,第一分裂增益值确定模块1502,包括直方图信息确定子单元,用于基于待处理样本的一阶梯度和二阶梯度,对待处理样本进行单边采样,得到目标训练样本;基于目标训练样本的一阶梯度和二阶梯度、以及第二对象具备的目标训练样本的第二特征,确定目标节点的一阶梯度直方图和二阶梯度直方图。
155.在一些实施例中,目标节点的一阶梯度直方图为第二特征的一阶梯度直方图,目标节点的二阶梯度直方图为第二特征的二阶梯度直方图;第一分裂增益值确定模块1502包括第一分裂增益值确定单元,用于基于第二特征的一阶梯度直方图和二阶梯度直方图,确定第二特征的增益值;在第二特征的增益值中选取满足增益条件的增益值;将满足增益条件的增益值,作为决策树模型中目标节点的第一分裂增益值。
156.上述决策树模型的处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
157.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的决策树模型的处理方法的决策树模型的处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个决策树模型的处理装置实施例中
的具体限定可以参见上文中对于决策树模型的处理方法的限定,在此不再赘述。
158.在一些实施例中,如图16所示,提供了一种决策树模型的处理装置,包括:梯度密文发送模块1601、加密的第一分裂增益值获取模块1602和第二节点分裂模块1603,其中:梯度密文发送模块1601,用于向第二对象发送第一梯度密文和第二梯度密文,以使第二对象在可信执行环境中,对第一梯度密文和第二梯度密文进行解密,基于训练样本、解密所得的第一梯度和第二梯度确定决策树模型中目标节点的直方图信息,以及根据直方图信息确定决策树模型中目标节点的第一分裂增益值,并加密第一分裂增益值;加密的第一分裂增益值获取模块1602,用于接收第二对象发送的经过加密的第一分裂增益值;第二节点分裂模块1603,用于基于加密的第一分裂增益值,对决策树模型中的目标节点进行节点分裂。
159.在一些实施例中,梯度密文发送模块1601,包括梯度加密单元;梯度加密单元,用于基于对称密钥分别对第一梯度和第二梯度进行加密,得到第一梯度密文和第二梯度密文;向第二对象发送第一梯度密文和第二梯度密文;第二节点分裂模块1603,具体用于基于对称密钥对加密的第一分裂增益值进行解密,得到第一分裂增益值;基于第一分裂增益值,对决策树模型中的目标节点进行节点分裂。
160.在一些实施例中,决策树模型的处理装置还包括:密钥加密模块,用于接收第二对象发送的公钥,通过公钥对对称密钥进行加密,得到密钥密文;向第二对象发送密钥密文,以指示第二对象基于公钥对应的私钥对密钥密文进行解密,得到对称密钥,并基于对称密钥对第一分裂增益值进行加密得到加密的第一分裂增益值。
161.在一些实施例中,第二节点分裂模块1603,具体用于基于目标节点对应的待处理样本的第一梯度和第二梯度、以及第一对象具备的待处理样本的第一特征确定第二分裂增益值;在第一分裂增益值和第二分裂增益值中,选取满足预设条件的分裂增益值;基于选取的分裂增益值,对决策树模型中的目标节点进行节点分裂。
162.在一些实施例中,第二节点分裂模块1603包括第三分裂单元;第三分裂单元,用于当选取的分裂增益值为第一分裂增益值时,向第二对象发送提示信息,以使第二对象基于加密的第一分裂增益值对第二对象对应的决策树模型中的目标节点进行节点分裂,得到第一分裂结果;接收第二对象发送的第一分裂结果,根据第一分裂结果对第一对象对应的决策树模型进行更新。
163.在一些实施例中,第二节点分裂模块1603包括第四分裂单元;第四分裂单元,用于当选取的分裂增益值为第二分裂增益值时,根据第二分裂增益值对第一对象对应的决策树模型中的目标节点进行节点分裂,得到第二分裂结果;向第二对象发送第二分裂结果,以使第二对象基于第二分裂结果对第二对象对应的决策树模型进行更新。
164.上述决策树模型的处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操
作。
165.在一些实施例中,提供了一种计算机设备,该计算机设备可以是第二对象对应的第二服务器,也可以是第二对象对应的第二终端,其内部结构图可以如图17所示。该计算机设备包括处理器、存储器、输入/输出接口(input/output,简称i/o)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种决策树模型的处理方法。
166.本领域技术人员可以理解,图17中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
167.在一些实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收第一对象发送的第一梯度密文和第二梯度密文;在可信执行环境中,对第一梯度密文和第二梯度密文进行解密,基于训练样本、解密所得的第一梯度和第二梯度确定决策树模型中目标节点的直方图信息,以及根据直方图信息确定决策树模型中目标节点的第一分裂增益值,并加密第一分裂增益值;第一梯度和第二梯度是不同阶的梯度;在获得加密的第一分裂增益值时,基于加密的第一分裂增益值对决策树模型中的目标节点进行节点分裂,或者;向第二对象发送第一梯度密文和第二梯度密文,以使第二对象在可信执行环境中,对第一梯度密文和第二梯度密文进行解密,基于训练样本、解密所得的第一梯度和第二梯度确定决策树模型中目标节点的直方图信息,以及根据直方图信息确定决策树模型中目标节点的第一分裂增益值,并加密第一分裂增益值;接收第二对象发送的经过加密的第一分裂增益值;基于加密的第一分裂增益值,对决策树模型中的目标节点进行节点分裂。
168.在一些实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收第一对象发送的第一梯度密文和第二梯度密文;在可信执行环境中,对第一梯度密文和第二梯度密文进行解密,基于训练样本、解密所得的第一梯度和第二梯度确定决策树模型中目标节点的直方图信息,以及根据直方图信息确定决策树模型中目标节点的第一分裂增益值,并加密第一分裂增益值;第一梯度和第二梯度是不同阶的梯度;在获得加密的第一分裂增益值时,基于加密的第一分裂增益值对决策树模型中的目标节点进行节点分裂,或者;向第二对象发送第一梯度密文和第二梯度密文,以使第二对象在可信执行环境中,对第一梯度密文和第二梯度密文进行解密,基于训练样本、解密所得的第一梯度和第二梯度确定决策树模型中目标节点的直方图信息,以及根据直方图信息确定决策树模型中目标节点的第一分裂增益值,并加密第一分裂增益值;接收第二对象发送的经过加密的第一
分裂增益值;基于加密的第一分裂增益值,对决策树模型中的目标节点进行节点分裂。
169.在一些实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:接收第一对象发送的第一梯度密文和第二梯度密文;在可信执行环境中,对第一梯度密文和第二梯度密文进行解密,基于训练样本、解密所得的第一梯度和第二梯度确定决策树模型中目标节点的直方图信息,以及根据直方图信息确定决策树模型中目标节点的第一分裂增益值,并加密第一分裂增益值;第一梯度和第二梯度是不同阶的梯度;在获得加密的第一分裂增益值时,基于加密的第一分裂增益值对决策树模型中的目标节点进行节点分裂,或者;向第二对象发送第一梯度密文和第二梯度密文,以使第二对象在可信执行环境中,对第一梯度密文和第二梯度密文进行解密,基于训练样本、解密所得的第一梯度和第二梯度确定决策树模型中目标节点的直方图信息,以及根据直方图信息确定决策树模型中目标节点的第一分裂增益值,并加密第一分裂增益值;接收第二对象发送的经过加密的第一分裂增益值;基于加密的第一分裂增益值,对决策树模型中的目标节点进行节点分裂。
170.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
171.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
172.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
173.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保
护范围。因此,本技术的保护范围应以所附权利要求为准。