CN115964738A - 一种基于多方安全计算的数据处理方法及装置 - Google Patents
一种基于多方安全计算的数据处理方法及装置 Download PDFInfo
- Publication number
- CN115964738A CN115964738A CN202211562566.4A CN202211562566A CN115964738A CN 115964738 A CN115964738 A CN 115964738A CN 202211562566 A CN202211562566 A CN 202211562566A CN 115964738 A CN115964738 A CN 115964738A
- Authority
- CN
- China
- Prior art keywords
- secret shares
- domain
- ring
- secret
- result
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供一种基于多方安全计算的数据处理方法,应用于多个计算参与方中的任一计算参与方,任一计算参与方具有待处理数据集的秘密份额,该方法包括:通过多方安全计算协议与多个计算参与方中其他计算参与方进行交互,对待处理数据集的秘密份额进行处理,得到处理结果的秘密份额;对待处理数据集的秘密份额进行处理过程中,在域上执行除操作,在环上执行非除操作,域大于环。本申请提供的方法在数据处理过程中,通过除操作在较大的域上进行,其他操作在较小的环上进行,降低了基于多方安全计算的数据处理过程中的通信量。
Description
技术领域
本申请涉及机器学习技术领域,尤其涉及一种基于多方安全计算的数据处理方法及装置。
背景技术
传统的机器学习范式需要汇聚大量的数据用于模型的训练,而用于训练的数据很有可能来自多个不同的组织或者用户。将多个不同组织或者不同用户的数据汇聚在一起,极有可能造成数据泄露的风险,对组织来说会暴露信息资产,对个人用户来说可能泄露个人隐私。
上述问题的存在对AI模型的训练提出了严峻的挑战,为解决上述问题,安全多方学习技术应运而生。安全多方学习是一种在不汇聚多方(不同组织或者用户)数据的情况下多方利用各自所有的数据协同训练AI模型的分布式机器学习范式。安全多方学习在保证多方数据隐私的情况下,通过采用秘密分享、混淆电路等安全多方计算技术协同计算共同训练AI模型。通过安全多方学习技术,即保护了多方用户数据,又可以充分利用多方数据来协同训练模型,从而得到更强大的模型。
目前针对树模型(例如决策树)的安全多方训练,需要较大的通信量,影响树模型的训练性能。
发明内容
本申请的实施例提供一种基于多方安全计算的数据处理方法及装置,在基于多方安全计算的数据处理过程中,通过除操作在较大的域上进行,其他操作在较小的环上进行,降低了基于多方安全计算的数据处理过程中的通信量。
第一方面,本申请实施例提供了一种基于多方安全计算的树模型训练方法,应用于多个计算参与方中的任一计算参与方,任一计算参与方具有待处理数据集的秘密份额,该方法包括:通过多方安全计算协议与多个计算参与方中其他计算参与方进行交互,对待处理数据集的秘密份额进行处理,得到处理结果的秘密份额;对待处理数据集的秘密份额进行处理过程中,在域上执行除操作,在环上执行非除操作,域大于环。
本申请实施例提供的方法在数据处理过程中,通过除操作在较大的域上进行,其他操作在较小的环上进行,降低了基于多方安全计算的数据处理过程中的通信量。
在一个可能的实现中,本申请实施例提供的基于多方安全计算的数据处理方法还包括:当从环上转换到域上执行操作时,将环上的各个元素转换到域上进行表示;当从域上转换到环上执行操作时,将域上的各个元素转换到环上进行表示。本申请提供了环域之间的转换,以实现树模型在训练过程中,当除运算转换到非除运算,或非除运算转换到除运算时的数据在环域之间的转换,使得树模型训练过程中数据的计算处理。
在一个可能的实现中,将环上的各个元素转换到域上进行表示包括获取多个计算参与方的环上的各个元素的秘密份额在域上的表示;计算多个计算参与方的环上的各个元素的秘密份额在域上的表示的和;基于多个计算参与方的环上的各个元素的秘密份额在域上的表示的和大于环大小的次数,确定环上的各个元素在域上的表示。本申请提供了一种快速环转域的方法,只需要4个通信轮次,相较于所有运算都在较大的域上进行,大大的减小了通信量。
在另一个可能的实现中,将域上的各个元素转换到环上进行表示包括将域上的各个元素加上环的大小,得到域上的各个元素的第一值;基于域上的各个元素的第一值和域的大小,得到第一中间参数和第二中间参数;获取多个计算参与方的第一中间参数和第二中间参数的秘密份额在环上的表示;基于多个计算参与方的第一中间参数和第二中间参数的秘密份额在环上的表示,确定域上的各个元素在环上的表示。本申请提供了一种快速域转环的方法,只需要2个通信轮次,相较于所有运算都在较大的域上进行,大大的减小了通信量。
在另一个可能的实现中,待处理数据集为训练样本集;对待处理数据集的秘密份额进行处理,得到处理结果的秘密份额包括:基于训练样本集的秘密份额对树模型进行训练,得到训练完成的树模型的秘密份额,其中,基于各个计算参与方对应的树模型的秘密份额能够得到训练完成的树模型。
在另一个可能的实现中,训练样本集的秘密份额包括训练样本集中多个样本的秘密份额;上述基于训练样本集的秘密份额对树模型进行训练,得到训练完成的树模型的秘密份额包括:基于样本的秘密份额的每个特征,对多个样本的秘密份额进行排序,得到每个特征对应的多个样本的秘密份额的第一排序结果;计算当前层各个分裂节点的样本分割策略的增益,基于增益确定当前层各个分裂节点的样本分割策略;基于当前层各个分裂节点的样本分割策略对多个样本的秘密份额进行分割;基于分割结果和每个特征对应的多个样本的秘密份额的第一排序结果,确定下一层每个特征对应的样本的秘密份额的排序结果以及分组结果。
本申请实施例提供的基于多方安全计算的数据处理方法当应用于树模型训练时,通过将基数排序和决策树的训练过程结合,节省了排序的次数。具体地,相较于相关技术的2*h*m次秘密分享下的完整排序,优化到训练过程只需要m次秘密分享下的完整排序和h*m次单比特排序。其中,h为树高,m为数据的特征数。
在另一个可能的实现中,基于分割结果和每个特征对应的样本的秘密份额的排序结果,确定下一层每个特征对应的样本的秘密份额的排序结果包括:基于分割结果确定每个特征的特征值对应的最高比特位;基于最高比特位,针对每个特征的对应的多个样本的秘密份额进行单比特排序,得到每个特征对应的多个样本的秘密份额的第二排序结果;基于每个特征对应的多个样本的秘密份额的第一排序结果和每个特征对应的多个样本的秘密份额的第二排序结果,确定下一层每个特征对应的样本的秘密份额的排序结果以及分组结果。
在另一个可能的实现中,基于训练样本集的秘密份额对树模型进行训练过程中通过多个算子对训练样本集的秘密份额进行处理;树模型包括多层节点,每层节点包括多个数据以及多个数据对应的组标识;当多个算子对多个数据以及多个数据对应的组标识进行处理时,基于组标识,通过单比特排序对多个数据进行排序。
本申请实施例通过对树模型训练过程中的相关算子进行改进,进一步优化训练过程中的通信量和通信轮次,例如,相关算子包括分组求和算子(GroupSum)、分组求前缀和算子(GroupPrefixSum)和分组求最大值算子(GroupMax),本申请实施例通过将算子涉及的完整排序更换为单比特排序,对3个算子中的GroupMax和GroupPrefix有了复杂度上的提升,对GroupMax有常数级上的提升。
第二方面,本申请实施例提供了一种基于多方安全计算的数据处理装置,应用于多个计算参与方中的任一计算参与方,任一计算参与方具有待处理数据集的秘密份额,基于多方安全计算的数据处理装置至少包括数据处理模块和代数模块,其中,数据处理模块用于通过多方安全计算协议与多个计算参与方中其他计算参与方进行交互,对待处理数据集的秘密份额进行处理,得到处理结果的秘密份额;代数模块用于对待处理数据集的秘密份额处理过程中,在域上执行除操作,在环上执行非除操作,域大于环。
在一个可能的实现中,代数模块还用于:当从环上转换到域上执行操作时,将环上的各个元素转换到域上进行表示;当从域上转换到环上执行操作时,将域上的各个元素转换到环上进行表示。
在另一个可能的实现中,将环上的各个元素转换到域上进行表示包括:获取多个计算参与方的环上的各个元素的秘密份额在域上的表示;计算多个计算参与方的环上的各个元素的秘密份额在域上的表示的和;基于多个计算参与方的环上的各个元素的秘密份额在域上的表示的和大于环大小的次数,确定环上的各个元素在域上的表示。
在另一个可能的实现中,将域上的各个元素转换到环上进行表示包括:将域上的各个元素加上环的大小,得到域上的各个元素的第一值;基于域上的各个元素的第一值和域的大小,得到第一中间参数和第二中间参数;获取多个计算参与方的第一中间参数和第二中间参数的秘密份额在环上的表示;基于多个计算参与方的第一中间参数和第二中间参数的秘密份额在环上的表示,确定域上的各个元素在环上的表示。
在另一个可能的实现中,待处理数据集为训练样本集;数据处理模块具体用于:基于训练样本集的秘密份额对树模型进行训练,得到训练完成的树模型的秘密份额,其中,基于各个计算参与方对应的树模型的秘密份额能够得到训练完成的所述树模型。
在另一个可能的实现中,训练样本集的秘密份额包括训练样本集中多个样本的秘密份额;数据处理模块具体用于:基于样本的秘密份额的每个特征,对多个样本的秘密份额进行排序,得到每个特征对应的多个样本的秘密份额的第一排序结果;计算当前层各个分裂节点的样本分割策略的增益,基于增益确定当前层各个分裂节点的样本分割策略;基于当前层各个分裂节点的样本分割策略对多个样本的秘密份额进行分割;基于分割结果和每个特征对应的多个样本的秘密份额的第一排序结果,确定下一层每个特征对应的样本的秘密份额的排序结果以及分组结果。
在另一个可能的实现中,基于分割结果和每个特征对应的样本的秘密份额的排序结果,确定下一层每个特征对应的样本的秘密份额的排序结果包括:基于分割结果确定每个特征的特征值对应的最高比特位;基于最高比特位,针对每个特征的对应的多个样本的秘密份额进行单比特排序,得到每个特征对应的多个样本的秘密份额的第二排序结果;基于每个特征对应的多个样本的秘密份额的第一排序结果和每个特征对应的多个样本的秘密份额的第二排序结果,确定下一层每个特征对应的多个样本的秘密份额的排序结果以及分组结果。
在另一个可能的实现中,基于训练样本集的秘密份额对树模型进行训练过程中通过多个算子对训练样本集的秘密份额进行处理;树模型包括多层节点,每层节点包括多个数据以及多个数据对应的组标识;本申请实施例提供的基于多方安全计算的树模型训练装置还包括算子模块,用于当多个算子对多个数据以及多个数据对应的组标识进行处理时,基于组标识,通过单比特排序对多个数据进行排序。
第三方面,本申请实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码,实现本申请第一方面提供的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本申请第一方面提供的方法。
第五方面,本申请实施例提供了一种计算机程序或计算机程序产品,所述计算机程序或计算机程序产品包括指令,当所述指令被执行时,实现本申请第一方面提供的方法。
第六方面,本申请的实施例提供了一种芯片,该芯片包括至少一个处理器和接口,所述至少一个处理器通过所述接口确定程序指令或者数据;该至少一个处理器用于执行所述程序指令,以实现第一方面提供的方法。
附图说明
图1为一种树模型的示意图;
图2为一种基于多方安全计算的树模型训练系统的框架示意图;
图3示出了本申请实施例提供的基于多方安全计算的树模型训练方法的一种应用场景示意图;
图4为本申请实施例提供的环转域协议的实现示意图;
图5为本申请实施例提供的域转环协议的实现示意图;
图6为本申请实施例提供的GroupSum算子的实现示意图;
图7为本申请实施例提供的GroupPrefixSum算子的实现示意图;
图8为本申请实施例提供的GroupMax算子的实现示意图;
图9为本申请实施例提供的基于多方安全计算的树模型训练装置的结构示意图;
图10为本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
下面通过附图和实施例,对本申请的技术方案做进一步的详细描述。
为了便于理解本申请实施例提供的基于多方安全计算的数据处理方法及装置,下面对本申请实施例涉及到的部分技术术语进行简单说明。
秘密分享(Secret Share),又称秘密拆分,是将秘密分散到人群的方法,每人得到秘密的一部分,称为份额。只有当足够多的份额结合时,才能还原出秘密;每件份额各自则没有用途。
树模型中的节点(Node),表示的是树型结构中圆圈部分所代表的结构,节点是树模型的核心结构,树中的节点可分为叶子节点与非叶子节点,叶子节点是树结构中最底层的节点,表示推理结果(如果是分类问题则表示某一个类别标签,如果是回归问题则是一个具体的值),非叶子节点是除最后一层节点的所有节点,非叶子节点负责为一条推理样本确定执行推理的路径(经过本节点后由左子节点继续执行推理还是由右子节点执行推理),节点中具体的值为所谓的样本切割策略,由样本切割策略决定推理样本执行推理的路径。
样本切割策略(Split feature value),所谓样本切割策略,本质是一个具体的特征的具体值,由于训练样本有许多特征,同时每个特征有很多不同的可选值,因此可选的样本切割策略有很多。树模型的训练过程,即为每个树模型的节点选择特定的样本切割策略的过程。
安全多方学习(Secure Multi-Party Learning),安全多方学习是介于安全多方计算方法和机器学习过程之间的一项技术。它基于一种或多种安全多方计算方法,联合并利用分布于多方的受保护数据,实现安全的分布式机器学习。
本申请实施例提供一种基于多方安全计算的数据处理方法及装置,应用于多个计算参与方中的任一计算参与方,任一计算参与方具有待处理数据集的秘密份额;多个计算参与方中的任一计算参与方通过多方安全计算协议与多个计算参与方中其他计算参与方进行交互,对待处理数据集的秘密份额进行处理,得到处理结果的秘密份额;对待处理数据集的秘密份额进行处理过程中,在域上执行除操作,在环上执行非除操作,域大于环。在数据处理过程中,通过除操作在较大的域上进行,其他操作在较小的环上进行,降低了基于多方安全计算的数据过程中的通信量。
本申请实施例提供一种基于多方安全计算的数据处理方法及装置的一个应用场景可以是,基于多方安全计算的运动数据处理场景。在该场景中,多方安全计算任务为计算跑步时的热量,其中相关的运动信息如跑步距离,跑步速度以及跑步时间等保持在一方,用于计算跑步时的卡路里消耗的模型包括模型中的参数值保存在另一方,双方分别对其保存的运动数据以及模型参数值进行秘密分享到两方,然后两方在秘密分享状态下执行卡路里消耗的计算任务,其中卡路里的计算任务计算公式为:体重(kg)×运动时间(小时)*30/速度,计算任务中包括乘法以及除法运算。
其中,乘法操作在较小的环上进行,除法操作在较大的域上进行,相比于,现有的多方安全计算,所有计算操作都在较大的域上进行,降低了基于多方安全计算的数据处理过程中的通信量。
当从环上转换到域上执行操作时,将环上的各个元素转换到域上进行表示;当从域上转换到环上执行操作时,将域上的各个元素转换到环上进行表示。也就是说,当数据处理过程中,由非除算子转换到除算子对数据进行处理时,需要进行环转域操作,由除算子转换到非除算子对数据进行处理时,需要进行域转换操作。也即在数据处理过程中可以使用环域转换方法在执行除法运算时进行转换。
本申请实施例提供的一种基于多方安全计算的数据处理方法及装置,另一个典型应用场景为,基于多方安全计算的树模型训练,当应用于基于多方安全计算的树模型训练场景时,本申请实施例提供的一种基于多方安全计算的数据处理方法及装置也可以称之为一种基于多方安全计算的树模型训练方法及装置。
下面详细介绍本申请实施例提供的一种基于多方安全计算的数据处理方法及装置应用于基于多方安全计算的树模型训练场景时的实现,也即一种基于多方安全计算的树模型训练方法及装置的具体实现。
树模型是一种典型的机器学习模型,树模型是一棵判别树,图1示出了一种树模型,其中叶子节点(图1中带阴影的节点)为判别结果,非叶子节点(图1中不带阴影的节点)为判别条件。在模型的推理阶段,待推理的样本根据非叶子节点所对应的判别条件(或者说具体的判别值)来判断此样本推理时应该划分到左子树还是右子树继续执行推理,根据上述推理规则,推理时从根节点开始依次从上往下推理到叶子节点从而得到最终的推理结果。在树模型的训练阶段,通过预先设置的判别标准,为树模型的每个非叶子节点从根节点开始从所有可选的判别条件中选择一个判别条件。
为了保护训练数据的安全性和隐私,多采用安全多方学习的方式对树模型进行训练。基于多方安全计算的树模型训练系统的训练框架如图2所示,系统中包含多个数据持有方和计算参与方。安全多方学习的树模型训练具体分为3个步骤:数据分享、模型训练和模型还原。步骤一:数据分享,各个数据持有方使用秘密分享的方式,将自己的数据分享给各个计算参与方,使得每一个计算参与方都拥有全集数据的秘密份额。步骤二:在训练阶段,计算参与方在全集数据上通过交互计算,执行训练过程,最后每个参与方都得到一个训练好的树模型的秘密份额。在这一过程中,所有的计算的中间结果也都是以秘密份额的形式存在。步骤三:在模型还原阶段,计算参与方各自将训练好的树模型的秘密份额传输给某个指定的服务器,由该服务器还原最后的模型。
通常使用安全多方学习技术实现树模型训练的方案具体区别在于底层的代数系统(代数系统层)、算子的实现方式(算子层)以及训练过程的实现(算法层)。这些区别带来了通信开销上的不同。本申请实施例从代数系统层、算子层以及算法层针对现有方案中的通信开销大的问题进行了改进,实现基于多方安全计算的树模型训练过程中,减少通信量和通信轮次。
秘密分享下主要有两种代数系统,一种是环,一种是域。一般而言,基于环的代数系统,会采用8、16、32、64位等整数环,从而使得在计算过程中可以利用计算机的自动取模,因此本地计算较快。基于域的代数系统,一般会选取一个较大的质数作为域的大小,在计算过程中,每一次都需要手动取模,因此本地计算较慢。此外,因为域存在逆元,所以,在域上计算可以在常数轮次上进行多输入乘法、无符号错误阶段等操作。而在环上执行这些操作,往往需要多轮次的通信。这里无论采用环还是域的代数系统,都需要满足代数系统的大小需要大于算法过程中所需要表示的最大数的大小。
对树模型进行多方安全计算的训练过程中涉及到秘密分享下的基数排序,我们使用来指代对秘密分享下的列表进行基数排序。基数排序的由以下几个函数构成:(1)比特分解函数:用于对进行比特分解,(2)生成单比特排序函数,根据列表中元素分解后的第k个比特生成秘密分享下排序的下标(3)应用排序函数,将生成的排序下标应用到秘密分享下的列表(4)合成排序函数,将两个秘密分享下的排序下标合成为一个。
使用安全多方学习技术实现树模型训练的相关方案中,在代数系统层上,完全基于一个域来实现。因此为了能够进行决策树训练过程中所需要的除法计算(进行除法时,需要额外的位数来表示小数部分),该技术方案不得不使用较为大的域,因此导致通信量增大。
在算子层,包括秘密分享下的组操作协议(也可称之为组操作算子),主要有以下三个:GroupSum、GroupPrefixSum和GroupMax。其中GroupSum输入一个秘密分享下的列表x和一个秘密分享下组标识g,之后输入秘密分享下的每个组的和y。具体地,假设输入x=[1,3,2,6,4,2,4,3,5],g=[1,0,0,1,0,1,0,0,0](其中g里面的1说明是一个组的开头,所以共有3个组),则输出y=[6,6,6,10,10,14,14,14,14]。GroupPrefixSum和GroupMax输入与GroupSum相同,GroupPrefixSum输出是每个组的前缀和,GroupMax输出的是每个组的最大值。同样是上述的例子,GroupPrefixSum输出的y=[1,4,6,6,10,2,6,9,14],GroupMax输出的y=[3,3,3,6,6,5,5,5,5]。此外,可以看到,对g计算前缀和,可以获得列表中元素的组号,PrefixSum(g)=[1,1,1,2,2,3,3,3,3]。
在树模型(例如可以是决策树)训练过程中,同一层的数据都存于一个列表,而节点则由组来表示,属于同一个节点的数据会存在同一个组内。例如,决策树第2层拥有2个节点,第一个节点拥有数据[1,2,3],第二个节点拥有数据[6,5,4,3],则第2层的数据会由特征列表x=[1,2,3,6,5,4,3]和组标识列表g=[1,0,0,1,0,0,0]来表示。
在算法层,决策树训练从第0层开始一直训练到第h层(h由参与方事先商议决定并公开),是一棵二叉树。每一层的训练过程一致,假设目前正在进行第i层的训练,步骤如下:
对每一个特征执行如下操作:
(a)根据特征值从小到大进行对该特征和标签进行组内排序。组内排序可以由两次秘密分享下的稳定排序操作实现:首先根据特征值排序,之后根据组号排序。
(b)使用GroupMax,GroupPrefixSum两个操作并结合秘密分享下的除法运算,计算每个切分点的基尼(Gini)系数及其阈值。
(c)使用GroupMax来获取每个组内最优的基尼系数及其阈值。(通常最优的基尼系数是最小值,但是可以通过加入负号,转化为求最大值)
通过比较获取不同特征之间的基尼系数获取最佳的切分属性及其阈值。这里的属性和阈值,也就是最后训练好的决策树节点的分裂属性和阈值。
根据分裂阈值及其对应的特征,对每一个样本进行比较,获得比较结果(小于阈值是0,大于阈值是1)。
根据比较结果,构建新的组标示,并对样本和组标示进行排序,从而使得样本被分配到第i+1层的节点上。
该方案的缺点是需要的通信量和通信轮次较高,导致效率低下。通信轮次和通信量较高主要来源于三个方面:
1、三个组操作协议的通信轮次和通信量复杂度较高,具有进一步的优化空间。
2、决策树训练过程秘密分享下排序次数太多,导致需要大量的通信轮次和通信量。
3、为了能够在计算基尼系数时进行除法,需要使用更大的域来表示数据,导致通信量增大。
为了减少树模型训练所需要的通信量和通信轮次,从而提高了安全多方树模型训练的效率,本申请实施例提供一种基于多方安全计算的树模型训练方法及装置。
下面详细介绍本申请实施例提供的基于多方安全计算的树模型训练方法及装置的具体实现。
图3示出了本申请实施例提供的基于多方安全计算的树模型训练方法的一种应用场景示意图。如图3所示,本申请实施例提供的基于多方安全计算的树模型训练方法可以应用于金融行业公司和运营商公司之间进行多方安全计算的树模型训练。例如,金融行业用户(如银行,券商等)可以借助其他金融行业用户或者运营商(如移动,电信,联通等)数据与自己所有的数据进行联合建模从而提高金融行业模型(如信用分模型,信用卡用户违约模型等)准确度,从而助力金融行业整体运营效率以及抗风险能力的提高。
金融行业公司和运营商公司分别将各自持有的数据通过秘密分享将数据分享给多个计算参与方,例如图3中的计算参与方1、计算参与方2和计算参与方3,多个计算参与方之间进行交互计算,训练树模型,各个计算参与方得到树模型的秘密份额,训练完成后各个计算参与方将树模型的秘密份额发送给金融行业公司,由金融行业公司根据得到的多个树模型的秘密份额,还原得到训练完成的树模型。
计算参与方的设备可以为具有计算能力的设备,例如,服务器和计算终端等。服务器可以是独立的服务器或者服务器组,该服务器组可以是集中式的或者分布式的。在一些示例中,服务器可以是区域的或者远程的。在一些示例中,服务器可以是在云平台上执行,例如,该云平台可包括私有云、公共云、混合云、社区云、分散云、内部云等中的一种或其任意组合。
树模型可以为决策树模型。
当然,图3仅为本申请实施例提供的基于多方安全计算的树模型训练方法的一种应用场景示例,并不构成对本申请实施例的限制,例如,除上述应用场景外,还有许多其他应用场景,如互联网广告场景下,互联网公司可以借助其他互联网公司的信息或者广告主的购买数据信息,建立基于互联网服务用户数据是否购买相关物品的模型,从而提高广告投放效率等。
下面分别从数据表示层、算子层和算法层介绍本申请实施例提供的基于多方安全计算的树模型训练方法及装置的实现。
在数据表示层,在基于训练样本集的秘密份额对树模型进行训练过程中,在域上执行除操作,在环上执行非除操作,域大于环。
本申请实施例提出一种快速的环域协议,使得训练过程中的整数运算能够在较小的环上进行,而有理数计算(主要是除法)能够在域上进行。从而节省了大量的通信量。而且环域转化只会带来的少量的开销,因为环转域只需要4个通信轮次,而域转环只需要2个通信轮次。
环转域协议的实现如图4所示,计算参与方首先在域上共享环上的加法秘密份额并计算它们的总和(第1-2行)。然后计算总和超过环大小(2k)的次数(第3行)。这里添加了一个额外的2k-1,因此如果x∈[0,2k-1-1]则wrap保持不变。而如果x∈[2k-1,2k-1],则wrap将额外加1,从而使得环上的编码与域上的编码一致。最后,计算参与方直接从sum中减去wrap*2k以获得域上的秘密份额。
域转环协议基于下述定理。假设,x是域上的一个元素且2x<p(域的大小),t0和t1是域上的两个元素,满足t0+t1=x+wrap*p,那么wrap满足wrap=((2t0 mod p)mod 2)|((2t1mod p)mod 2)。域转环协议的实现如图5所示。各方首先将x在域上的秘密份额与2k相加(第1行),以便将域上的负整数编码转换为环上的编码。注意,正数的编码虽然也被多加了2k,但对最终结果没有影响。因为转换为环上的分享后,多余的2k会被自动取模消除。然后第0方和第1方分别计算t0、t1、2t0 mod p mod 2和2t1 mod p mod 2,并在环上秘密分享它们(第2-4行)。最后,计算参与方计算sum和wrap,并从sum中减去wrap*(p mod 2k)以获得环上的秘密份额(第5-7行)。
针对于算子层,优化组操作协议,也即本申请实施例首先对组操作协议进行了优化,降低了组操作协议所需的通信量和通信轮次。在本申请实施例中使用单比特排序优化了GroupSum,使得通信量从原本的O(n*logn)降低到了O(n),通信轮次从O(logn)优化到了O(1)。而GroupPrefixSum和GroupMax因为其本身也基于GroupSum,所以效率也因此得到了提升。其中GroupPrefixSum信量从原本的O(n*logn)降低到了O(n),通信轮次从O(logn)优化到了O(1);GroupMax则在通信量和通信轮次上得到了常数级别的优化。
以下是三个组操作协议的实现:
GroupSum的实现如图6所示,假设r是组数。
在第5步中,计算此时,对于每个k∈[1,r],是x中第k个组的和。从第5步到第7步,将每个复制到第k组中的每一个元素。为了达到这个目的,首先计算每个相邻组的总和之间的差异,并存储在中。然后将每个放回到第k组的第一个元素,这里k∈[1,r],并得到最后计算的前缀和以获得结果。相关技术中使用完整排序从生成排列。但是我们观察到的每个元素应该是1或0。所以本申请实施例中用单比特排序代替了完全排序,这大大提高了GroupSum的效率。
GroupPrefixSum的实现如图7所示,首先计算即的前缀和。现在,的每个元素不仅包括其组的前缀和,还包括前面组的和。因此,从第2步到第5步,计算即每个元素的前面组的总和,最后从中减去它。相关技术中的GroupPrefixSum的实现效率瓶颈在GroupSum上,所以在改进GroupSum的性能后,GroupPrefixSum的性能也得到了很大的提升。
GroupMax的实现如图8所示。整体上采用了动态规划的思想(步骤5-14)。中每个元素代表第i个轮次时,所在区域是否包含组的第一个元素。中的每个元素代表到第i个轮次时,由该元素的位置往前最多2i步长且不超过当前组开头元素能够找到的最大值。更新完m-1个轮次后,每个组的最大值都会出现在组的最后一个元素上。因此,可以将组里面的其他元素清空后,使用GroupSum使得组内的每一个元素都等于最大值(步骤18)。可见GroupMax的实现需要基于GroupSum,所以在改进GroupSum的性能后,GroupMax的性能也得到了提升。
针对算法层,本申请实施例提供的基于多方安全计算的树模型训练方法,优化了决策树的训练流程。
示例性的,本申请实施例通过将决策树训练流程和秘密分享下的基数排序相结合,减少了决策树训练过程中需要的排序次数,从而减少了需要的通信量和通信轮次。具体地,假设决策树高度为h,数据的特征数量位m。相关技术中决策树训练过程中需要的排序次数为2*h*m次秘密分享下的完整排序,而本申请实施例优化后的训练过程只需要m次秘密分享下的完整排序和h*m次单比特排序。优化后的训练流程具体如下:首先各个参与方使用为训练数据的每个特征生成秘密分享下的排序的下标IDXs。例如,训练数据的年龄特征为[10,20,1,4,3],则根据年龄生成的IDX为[3,4,0,2,1]。
决策树训练从第0层开始一直训练到第h层,是一棵二叉树。
假设目前正在进行第i层的训练,步骤如下:
1.对每一个特征执行如下操作:
(a)首先对每一个属性执行如下操作:使用applyPerm(IDXs,~)将生成好的排序下标IDXs应用到属性值和标签上。这里的~指代各个属性值和标签。
(b)使用GroupMax,GroupPrefixSum两个操作以及环域转化协议,计算每个切分点(也可称为样本分割策略)的基尼系数及其阈值。这里的环域转化协议用于在计算除法前和计算除法后使用。
(c)使用GroupMax来获取每个组内最优的基尼系数及其阈值。(通常最优的基尼系数是最小值,但是可以通过加入负号,转化为求最大值)
2.通过比较获取不同特征之间的基尼系数获取最佳的切分属性及其阈值。这里的属性和阈值,也就是最后训练好的决策树节点的分裂属性和阈值,因此需要被保存。
3.根据分裂阈值及其对应的特征,对每一个样本进行比较,获得比较结果(小于阈值是0,大于阈值是1)。
4.根据比较结果,构建新的组标示,同时将该比较结果视为所有属性新的最高比特位,并根据该比特位使用genPermbyBit生成排序结果IDXs2,之后结合之前的排序结果IDXs,使用compose(IDXs,IDXs2)生成新的IDXs。使得应用该新的IDXs到样本属性和组标示上,既能保证样本归属于正确的组且组内的属性呈递增顺序。
可以理解的是,基尼系数是为了评价每个样本分割策略的增益的,而每个样本分割策略的增益是衡量样本分割策略好坏的指标,样本分割策略的增益除了基尼系数还可以有其他计算方式,例如信息熵等。
本申请的实施例提供的基于多方安全计算的树模型训练方法,极大地节省了通信量和通信轮次。在数据表示层,通过快速的环域转化协议,使得整个训练过程可以在较小的环上进行加法乘法比较等运算,在较大的域上进行除法运算。单就该操作使得相对于现有技术在通信量上节省了50%以上。针对算子层,通过将相关技术中的组操作协议中的完整排序更换为单比特排序,对3个组操作协议中的GroupMax和GroupPrefix有了复杂度上的提升,对GroupMax有常数级上的提升。针对算法层,通过将基数排序和决策树的训练过程结合,节省了排序的次数。具体地,从现有技术的2*h*m次秘密分享下的完整排序,优化到训练过程只需要m次秘密分享下的完整排序和h*m次单比特排序。其中,h为树高,m为数据的特征数。
与前述的基于多方安全计算的树模型训练方法的实施例基于相同的构思,本申请实施例中还提供了一种基于多方安全计算的树模型训练装置900,该基于多方安全计算的树模型训练装置900包括用以实现图2-8中的各个步骤的单元或模块。
图9为本申请实施例提供的基于多方安全计算的树模型训练装置的结构示意图。该装置可部署于任何具有计算能力的装置、设备、平台或设备集群,例如可以部署于图3中的计算参与方,以实现基于多方安全计算的树模型训练过程中减少通信轮次和通信量。
如图9所示,该基于多方安全计算的树模型训练装置900至少包括训练模块901和代数模块902,其中,训练模块901用于通过多方安全计算协议与多个计算参与方中其他计算参与方进行交互,基于训练样本集的秘密份额对树模型进行训练,得到训练完成的树模型的秘密份额,其中,基于各个计算参与方对应的树模型的秘密份额能够得到训练完成的树模型;代数模块902用于基于训练样本集的秘密份额对树模型进行训练过程中,在域上执行除操作,在环上执行非除操作,域大于环。
在一个可能的实现中,代数模块902还用于:当从环上转换到域上执行操作时,将环上的各个元素转换到域上进行表示;当从域上转换到环上执行操作时,将域上的各个元素转换到环上进行表示。
在另一个可能的实现中,将环上的各个元素转换到域上进行表示包括:获取多个计算参与方的环上的各个元素的秘密份额在域上的表示;计算多个计算参与方的环上的各个元素的秘密份额在域上的表示的和;基于多个计算参与方的环上的各个元素的秘密份额在域上的表示的和大于环大小的次数,确定环上的各个元素在域上的表示。
在另一个可能的实现中,将域上的各个元素转换到环上进行表示包括:将域上的各个元素加上环的大小,得到域上的各个元素的第一值;基于域上的各个元素的第一值和域的大小,得到第一中间参数和第二中间参数;获取多个计算参与方的第一中间参数和第二中间参数的秘密份额在环上的表示;基于多个计算参与方的第一中间参数和第二中间参数的秘密份额在环上的表示,确定域上的各个元素在环上的表示。
在另一个可能的实现中,训练样本集的秘密份额包括训练样本集中多个样本的秘密份额;训练模块901具体用于:基于样本的秘密份额的每个特征,对多个样本的秘密份额进行排序,得到每个特征对应的多个样本的秘密份额的第一排序结果;计算当前层各个分裂节点的样本分割策略的增益,基于增益确定当前层各个分裂节点的样本分割策略;基于当前层各个分裂节点的样本分割策略对多个样本的秘密份额进行分割;基于分割结果和每个特征对应的多个样本的秘密份额的第一排序结果,确定下一层每个特征对应的样本的秘密份额的排序结果以及分组结果。
在另一个可能的实现中,基于分割结果和每个特征对应的样本的秘密份额的排序结果,确定下一层每个特征对应的样本的秘密份额的排序结果包括:基于分割结果确定每个特征的特征值对应的最高比特位;基于最高比特位,针对每个特征的对应的多个样本的秘密份额进行单比特排序,得到每个特征对应的多个样本的秘密份额的第二排序结果;基于每个特征对应的多个样本的秘密份额的第一排序结果和每个特征对应的多个样本的秘密份额的第二排序结果,确定下一层每个特征对应的多个样本的秘密份额的排序结果以及分组结果。
在另一个可能的实现中,基于训练样本集的秘密份额对树模型进行训练过程中通过多个算子对训练样本集的秘密份额进行处理;树模型包括多层节点,每层节点包括多个数据以及多个数据对应的组标识;本申请实施例提供的基于多方安全计算的树模型训练装置还包括算子模块903,用于当多个算子对多个数据以及多个数据对应的组标识进行处理时,基于组标识,通过单比特排序对多个数据进行排序。
根据本申请实施例的基于多方安全计算的树模型训练装置900可对应于执行本申请实施例中描述的方法,并且基于多方安全计算的树模型训练装置900中的各个模块的上述和其它操作和/或功能分别为了实现图2-8中的各个方法的相应流程,为了简洁,在此不再赘述。
与前述的方法的实施例基于相同的构思,本申请实施例中还提供了一种计算设备,该计算设备至少包括处理器和存储器,存储器上存储有程序,处理器该程序时,可以实现图2-8所示的方法中的各个步骤的单元或模块。
图10为本申请实施例提供的一种计算设备的结构示意图。
如图10所示,所述计算设备1000包括至少一个处理器1001、存储器1002和通信接口1003。其中,处理器1001、存储器1002和通信接口1003通信连接,可以通过有线(例如总线)的方式实现通信连接,也可以通过无线的方式实现通信连接。该通信接口1003用于接收其他设备发送的数据(例如训练样本集的秘密份额);存储器1002存储有计算机指令,处理器1001执行该计算机指令,执行前述方法实施例中的方法。
应理解,在本申请实施例中,该处理器1001可以是中央处理单元CPU,该处理器1801还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
该存储器1002可以包括只读存储器和随机存取存储器,并向处理器1001提供指令和数据。存储器1002还可以包括非易失性随机存取存储器。
该存储器1002可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
应理解,根据本申请实施例的计算设备1000可以执行实现本申请实施例中图2-8所示方法,该方法实现的详细描述参见上文,为了简洁,在此不再赘述。
本申请的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机指令在被处理器执行时,使得上文提及的方法被实现。
本申请的实施例提供了一种芯片,该芯片包括至少一个处理器和接口,所述至少一个处理器通过所述接口确定程序指令或者数据;该至少一个处理器用于执行所述程序指令,以实现上文提及的方法。
本申请的实施例提供了一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括指令,当该指令执行时,令计算机执行上文提及的方法。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (18)
1.一种基于多方安全计算的数据处理方法,应用于多个计算参与方中的任一计算参与方,所述任一计算参与方具有待处理数据集的秘密份额,其特征在于,包括:
通过多方安全计算协议与所述多个计算参与方中其他所述计算参与方进行交互,对所述待处理数据集的秘密份额进行处理,得到处理结果的秘密份额;
对所述待处理数据集的秘密份额处理过程中,在域上执行除操作,在环上执行非除操作,所述域大于所述环。
2.根据权利要求1所述的方法,其特征在于,还包括:
当从所述环上转换到所述域上执行操作时,将所述环上的各个元素转换到所述域上进行表示;
当从所述域上转换到所述环上执行操作时,将所述域上的各个元素转换到所述环上进行表示。
3.根据权利要求2所述的方法,其特征在于,所述将所述环上的各个元素转换到所述域上进行表示,包括:
获取所述多个计算参与方的环上的各个元素的秘密份额在所述域上的表示;
计算所述多个计算参与方的环上的各个元素的秘密份额在所述域上的表示的和;
基于所述多个计算参与方的环上的各个元素的秘密份额在所述域上的表示的和大于所述环大小的次数,确定所述环上的各个元素在所述域上的表示。
4.根据权利要求2或3所述的方法,其特征在于,所述将所述域上的各个元素转换到所述环上进行表示,包括:
将所述域上的各个元素加上所述环的大小,得到所述域上的各个元素的第一值;
基于所述域上的各个元素的第一值和所述域的大小,得到第一中间参数和第二中间参数;
获取所述多个计算参与方的所述第一中间参数和第二中间参数的秘密份额在所述环上的表示;
基于所述多个计算参与方的所述第一中间参数和第二中间参数的秘密份额在所述环上的表示,确定所述域上的各个元素在所述环上的表示。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述待处理数据集为训练样本集;
所述对所述待处理数据集的秘密份额进行处理,得到处理结果的秘密份额,包括:
基于所述训练样本集的秘密份额对树模型进行训练,得到训练完成的所述树模型的秘密份额,其中,基于各个所述计算参与方对应的所述树模型的秘密份额能够得到训练完成的所述树模型。
6.根据权利要求5所述的方法,其特征在于,所述训练样本集的秘密份额包括所述训练样本集中多个样本的秘密份额;
所述基于所述训练样本集的秘密份额对树模型进行训练,得到训练完成的所述树模型的秘密份额,包括:
基于所述样本的秘密份额的每个特征,对所述多个样本的秘密份额进行排序,得到所述每个特征对应的所述多个样本的秘密份额的第一排序结果;
计算当前层各个分裂节点的样本分割策略的增益,基于所述增益确定所述当前层各个分裂节点的样本分割策略;
基于所述当前层各个分裂节点的样本分割策略对所述多个样本的秘密份额进行分割;
基于所述分割结果和所述每个特征对应的所述多个样本的秘密份额的第一排序结果,确定下一层所述每个特征对应的所述样本的秘密份额的排序结果以及分组结果。
7.根据权利要求6所述的方法,其特征在于,所述基于所述分割结果和所述每个特征对应的所述样本的秘密份额的排序结果,确定下一层所述每个特征对应的所述样本的秘密份额的排序结果,包括:
基于所述分割结果确定所述每个特征的特征值对应的最高比特位;
基于所述最高比特位,针对每个特征的对应的所述多个样本的秘密份额进行单比特排序,得到所述每个特征对应的所述多个样本的秘密份额的第二排序结果;
基于所述每个特征对应的所述多个样本的秘密份额的第一排序结果和所述每个特征对应的所述多个样本的秘密份额的第二排序结果,确定下一层所述每个特征对应的所述样本的秘密份额的排序结果以及分组结果。
8.根据权利要求5-7任一项所述的方法,其特征在于,所述基于所述训练样本集的秘密份额对树模型进行训练过程中通过多个算子对所述训练样本集的秘密份额进行处理;
所述树模型包括多层节点,每层节点包括多个数据以及多个数据对应的组标识;
当所述多个算子对所述多个数据以及多个数据对应的组标识进行处理时,基于所述组标识,通过单比特排序对所述多个数据进行排序。
9.一种基于多方安全计算的数据处理装置,应用于多个计算参与方中的任一计算参与方,所述任一计算参与方具有待处理数据集的秘密份额,其特征在于,包括:
数据处理模块,用于通过多方安全计算协议与所述多个计算参与方中其他所述计算参与方进行交互,对所述待处理数据集的秘密份额进行处理,得到处理结果的秘密份额;
代数模块,用于对所述待处理数据集的秘密份额处理过程中,在域上执行除操作,在环上执行非除操作,所述域大于所述环。
10.根据权利要求9所述的装置,其特征在于,所述代数模块还用于:
当从所述环上转换到所述域上执行操作时,将所述环上的各个元素转换到所述域上进行表示;
当从所述域上转换到所述环上执行操作时,将所述域上的各个元素转换到所述环上进行表示。
11.根据权利要求10所述的装置,其特征在于,所述将所述环上的各个元素转换到所述域上进行表示,包括:
获取所述多个计算参与方的环上的各个元素的秘密份额在所述域上的表示;
计算所述多个计算参与方的环上的各个元素的秘密份额在所述域上的表示的和;
基于所述多个计算参与方的环上的各个元素的秘密份额在所述域上的表示的和大于所述环大小的次数,确定所述环上的各个元素在所述域上的表示。
12.根据权利要求10或11所述的装置,其特征在于,所述将所述域上的各个元素转换到所述环上进行表示,包括:
将所述域上的各个元素加上所述环的大小,得到所述域上的各个元素的第一值;
基于所述域上的各个元素的第一值和所述域的大小,得到第一中间参数和第二中间参数;
获取所述多个计算参与方的所述第一中间参数和第二中间参数的秘密份额在所述环上的表示;
基于所述多个计算参与方的所述第一中间参数和第二中间参数的秘密份额在所述环上的表示,确定所述域上的各个元素在所述环上的表示。
13.根据权利要求9-12任一项所述的装置,其特征在于,所述待处理数据集为训练样本集;
所述数据处理模块具体用于:
基于所述训练样本集的秘密份额对树模型进行训练,得到训练完成的所述树模型的秘密份额,其中,基于各个所述计算参与方对应的所述树模型的秘密份额能够得到训练完成的所述树模型。
14.根据权利要求13所述的装置,其特征在于,所述训练样本集的秘密份额包括所述训练样本集中多个样本的秘密份额;
所述数据处理模块具体用于:
基于所述样本的秘密份额的每个特征,对所述多个样本的秘密份额进行排序,得到所述每个特征对应的所述多个样本的秘密份额的第一排序结果;
计算当前层各个分裂节点的样本分割策略的增益,基于所述增益确定所述当前层各个分裂节点的样本分割策略;
基于所述当前层各个分裂节点的样本分割策略对所述多个样本的秘密份额进行分割;
基于所述分割结果和所述每个特征对应的所述多个样本的秘密份额的第一排序结果,确定下一层所述每个特征对应的所述多个样本的秘密份额的排序结果以及分组结果。
15.根据权利要求14所述的装置,其特征在于,所述基于所述分割结果和所述每个特征对应的所述样本的秘密份额的排序结果,确定下一层所述每个特征对应的所述样本的秘密份额的排序结果,包括:
基于所述分割结果确定所述每个特征的特征值对应的最高比特位;
基于所述最高比特位,针对每个特征的对应的所述多个样本的秘密份额进行单比特排序,得到所述每个特征对应的所述多个样本的秘密份额的第二排序结果;
基于所述每个特征对应的所述多个样本的秘密份额的第一排序结果和所述每个特征对应的所述多个样本的秘密份额的第二排序结果,确定下一层所述每个特征对应的所述多个样本的秘密份额的排序结果以及分组结果。
16.根据权利要求13-15任一项所述的装置,其特征在于,所述基于所述训练样本集的秘密份额对树模型进行训练过程中通过多个算子对所述训练样本集的秘密份额进行处理;
所述树模型包括多层节点,每层节点包括多个数据以及多个数据对应的组标识;
所述装置还包括:
算子模块,用于当所述多个算子对所述多个数据以及多个数据对应的组标识进行处理时,基于所述组标识,通过单比特排序对所述多个数据进行排序。
17.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码,实现权利要求1-8任一项所述的方法。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211562566.4A CN115964738A (zh) | 2022-12-07 | 2022-12-07 | 一种基于多方安全计算的数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211562566.4A CN115964738A (zh) | 2022-12-07 | 2022-12-07 | 一种基于多方安全计算的数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115964738A true CN115964738A (zh) | 2023-04-14 |
Family
ID=87362599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211562566.4A Pending CN115964738A (zh) | 2022-12-07 | 2022-12-07 | 一种基于多方安全计算的数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115964738A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117114059A (zh) * | 2023-05-16 | 2023-11-24 | 华为云计算技术有限公司 | 神经网络中激活函数的计算方法、装置以及计算设备 |
CN117857039A (zh) * | 2024-03-04 | 2024-04-09 | 浪潮(北京)电子信息产业有限公司 | 多方安全计算方法、装置、设备及介质 |
-
2022
- 2022-12-07 CN CN202211562566.4A patent/CN115964738A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117114059A (zh) * | 2023-05-16 | 2023-11-24 | 华为云计算技术有限公司 | 神经网络中激活函数的计算方法、装置以及计算设备 |
CN117114059B (zh) * | 2023-05-16 | 2024-07-05 | 华为云计算技术有限公司 | 神经网络中激活函数的计算方法、装置以及计算设备 |
CN117857039A (zh) * | 2024-03-04 | 2024-04-09 | 浪潮(北京)电子信息产业有限公司 | 多方安全计算方法、装置、设备及介质 |
CN117857039B (zh) * | 2024-03-04 | 2024-05-28 | 浪潮(北京)电子信息产业有限公司 | 多方安全计算方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115964738A (zh) | 一种基于多方安全计算的数据处理方法及装置 | |
CN111125727B (zh) | 混淆电路生成方法、预测结果确定方法、装置和电子设备 | |
CN108718231A (zh) | 一种全同态加密方法、装置和计算机可读存储介质 | |
CN109615021B (zh) | 一种基于k均值聚类的隐私信息保护方法 | |
CN113098691B (zh) | 数字签名方法、签名信息的验证方法、相关装置及电子设备 | |
CN111144576A (zh) | 模型训练方法、装置和电子设备 | |
CN111026359B (zh) | 多方联合判定隐私数据的数值范围的方法和装置 | |
CN115510502B (zh) | 一种隐私保护的pca方法及系统 | |
CN112100642B (zh) | 在分布式系统中保护隐私的模型训练方法及装置 | |
US11843587B2 (en) | Systems and methods for tree-based model inference using multi-party computation | |
CN111143862B (zh) | 数据处理方法、查询方法、装置、电子设备和系统 | |
Zhang | Generic constant-round oblivious sorting algorithm for MPC | |
CN115189878B (zh) | 一种基于秘密分享的共享数据排序方法及电子设备 | |
WO2023240934A1 (zh) | 针对隐私向量的安全处理方法和装置 | |
CN116743376B (zh) | 基于高效密文混淆技术的多方秘密分享数据隐私比较方法 | |
CN116471072A (zh) | 一种基于邻居协作的联邦服务质量预测方法 | |
Yan et al. | Multi-participant vertical federated learning based time series prediction | |
Zhou et al. | An improved software list sphere polar decoder with synchronous determination | |
CN111859440B (zh) | 基于混合协议的分布式隐私保护逻辑回归模型的样本分类方法 | |
CN116187431A (zh) | 面向非独立同分布场景的联邦学习蒸馏方法及装置 | |
WO2023038995A1 (en) | Systems and methods for securely training a decision tree | |
Nishida et al. | Efficient secure neural network prediction protocol reducing accuracy degradation | |
Neumann et al. | Homomorphic WiSARDs: Efficient Weightless Neural Network training over encrypted data | |
Zheng et al. | Federated matrix factorization recommendation based on secret sharing for privacy preserving | |
Nie et al. | Localizing the information source in a network |
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 |