CN115496229A - 一种协议选择系统、方法、装置、设备以及存储介质 - Google Patents
一种协议选择系统、方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN115496229A CN115496229A CN202211154959.1A CN202211154959A CN115496229A CN 115496229 A CN115496229 A CN 115496229A CN 202211154959 A CN202211154959 A CN 202211154959A CN 115496229 A CN115496229 A CN 115496229A
- Authority
- CN
- China
- Prior art keywords
- convergence
- candidate
- trained
- model
- protocol
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Communication Control (AREA)
Abstract
本申请实施例提供了一种协议选择系统、方法、装置、设备以及存储介质,涉及计算机技术领域,包括发起设备、多个参与设备,发起设备向各个参与设备发送候选汇聚协议;参与设备利用本地所存储的样本数据对待训练模型进行训练,得到训练参数,针对每一候选汇聚协议,按照该候选汇聚协议指定的参数处理方式,对训练参数进行处理,向发起设备发送处理结果;发起设备获得各个参与设备发送的该候选汇聚协议对应的处理结果,利用每一候选汇聚协议对所获得的处理结果进行汇聚,利用汇聚结果调整待训练模型,获得调整后待训练模型的评估参数,从多个候选汇聚协议中选择对应的评估参数满足预设的评估条件的目标汇聚协议。应用本系统,能够提高模型的可靠度。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种协议选择系统、方法、装置、设备以及存储介质。
背景技术
在传统的机器学习中,训练方式通常是中心化训练,即将样本数据集中在待训练的模型所在的发起设备上对模型进行训练。若原始的样本数据不在发起设备上,则需要其他参与训练的参与设备向发起设备发送样本数据,发起设备可能根据所发送的样本数据得到参与设备的隐私信息。因此,为了保护隐私信息,各参与设备会采用本地所具有的样本数据对与发起设备上相同的待训练模型进行训练,并将训练结果发送至发起设备。发起设备选择一种汇聚协议对所接收的训练结果进行汇聚,得到汇聚结果,并采用汇聚结果对发起设备上的待训练模型进行调整。
在此情况下,若所选择的汇聚协议的汇聚方式对不同的训练结果得到的汇聚结果不同,训练模型的效果不同,若汇聚结果训练模型的效果不好,可能造成模型不能收敛等情况,使得模型的可靠度较差。
发明内容
本申请实施例的目的在于提供一种协议选择系统、方法、装置、设备以及存储介质,以提高模型的可靠度。具体技术方案如下:
本申请实施例提供了一种协议选择系统,所述系统包括发起设备、多个参与设备,其中:
所述发起设备,用于:获得多个候选汇聚协议,向各个参与设备发送所述候选汇聚协议;
所述参与设备,用于:利用本地所存储的样本数据对待训练模型进行训练,得到训练参数,针对每一候选汇聚协议,按照该候选汇聚协议指定的参数处理方式,对所述训练参数进行处理,得到处理结果,向所述发起设备发送所述处理结果;
所述发起设备,用于:针对每一候选汇聚协议,获得各个参与设备发送的该候选汇聚协议对应的处理结果,利用该候选汇聚协议对所获得的处理结果进行汇聚,得到汇聚结果,利用所述汇聚结果调整所述待训练模型,获得调整后所述待训练模型的评估参数,从多个候选汇聚协议中选择对应的评估参数满足预设的评估条件的目标汇聚协议,其中,所述目标汇聚协议用于对所述待训练模型继续训练。
本申请实施例还提供了一种协议选择方法,应用于发起设备,所述方法包括:
获得多个候选汇聚协议,向各个参与设备发送所述候选汇聚协议;
接收各个参与设备发送的处理结果,其中,不同的候选汇聚协议对应不同的处理结果,针对每一候选汇聚协议,该候选汇聚协议对应的处理结果为:所述参与设备利用本地所存储的样本数据对待训练模型进行训练得到训练参数后,按照该候选汇聚协议指定的参数处理方式,对所述训练参数进行处理所得的结果;
针对每一候选汇聚协议,获得各个参与设备发送的该候选汇聚协议对应的处理结果,利用该候选汇聚协议对所获得的处理结果进行汇聚,得到汇聚结果,利用所述汇聚结果调整所述待训练模型,获得调整后所述待训练模型的评估参数,从多个候选汇聚协议中选择对应的评估参数满足预设的评估条件的目标汇聚协议,其中,所述目标汇聚协议用于对所述待训练模型继续训练。
本申请实施例还提供了一种协议选择方法,应用于参与设备,所述方法包括:
接收发起设备发送的候选汇聚协议,其中,所述候选汇聚协议为:所述发起设备获得的多个候选汇聚协议;
利用本地所存储的样本数据对待训练模型进行训练,得到训练参数,针对每一候选汇聚协议,按照该候选汇聚协议指定的参数处理方式,对所述训练参数进行处理,得到处理结果,向所述发起设备发送所述处理结果,
以使得所述发起设备针对每一候选汇聚协议,获得各个参与设备发送的该候选汇聚协议对应的处理结果,利用该候选汇聚协议对所获得的处理结果进行汇聚,得到汇聚结果,利用所述汇聚结果调整所述待训练模型,获得调整后所述待训练模型的评估参数,从多个候选汇聚协议中选择对应的评估参数满足预设的评估条件的目标汇聚协议,其中,所述目标汇聚协议用于对所述待训练模型继续训练。
本申请实施例还提供了一种协议选择装置,应用于发起设备,所述装置包括:
协议发送模块,用于获得多个候选汇聚协议,向各个参与设备发送所述候选汇聚协议;
结果接收模块,用于接收各个参与设备发送的处理结果,其中,不同的候选汇聚协议对应不同的处理结果,针对每一候选汇聚协议,该候选汇聚协议对应的处理结果为:所述参与设备利用本地所存储的样本数据对待训练模型进行训练得到训练参数后,按照该候选汇聚协议指定的参数处理方式,对所述训练参数进行处理所得的结果;
协议选择模块,用于针对每一候选汇聚协议,获得各个参与设备发送的该候选汇聚协议对应的处理结果,利用该候选汇聚协议对所获得的处理结果进行汇聚,得到汇聚结果,利用所述汇聚结果调整所述待训练模型,获得调整后所述待训练模型的评估参数,从多个候选汇聚协议中选择对应的评估参数满足预设的评估条件的目标汇聚协议,其中,所述目标汇聚协议用于对所述待训练模型继续训练。
可选的,所述协议选择模块,包括:
结果获得单元,用于针对每一候选汇聚协议,确定各个参与设备的贡献度,以所确定的贡献度为权重,对各参与设备对应的处理结果进行加权计算,得到加权后的处理结果;
参数获得单元,用于利用该候选协议对加权后的处理结果进行汇聚,得到汇聚结果,利用所述汇聚结果调整所述待训练模型,获得调整后所述待训练模型的评估参数;
协议选择单元,用于从多个候选汇聚协议中选择对应的评估参数满足预设的评估条件的目标汇聚协议,其中,所述目标汇聚协议用于对所述待训练模型继续训练。
可选的,所述结果获得单元,具体用于:
针对每一候选汇聚协议,针对每一参与设备,确定该参与设备本地的样本数据的数据量与总数据量的第一比例;确定该参与设备当前对所述待训练模型进行训练的当前轮次与总轮次的第二比例;确定该参与设备发送的处理结果与参考汇聚结果的相似度,其中,所述总数据量为:所有参与设备本地的样本数据的数据量之和,所述总轮次为:所述发起设备对所述待训练模型进行参数调整的轮次,所述参考汇聚结果为:所述发起设备在上一轮次对所述待训练模型进行参数调整时所利用的汇聚结果;根据所确定的第一比例、第二比例、相似度,确定每一参与设备的贡献度;以所确定的贡献度为权重,对各参与设备对应的处理结果进行加权计算,得到加权后的处理结果。
可选的,所述参数获得单元,具体用于利用该候选汇聚协议对各个参与设备发送的、加密后的处理结果进行汇聚,得到汇聚结果,利用所述汇聚结果调整所述待训练模型,获得调整后所述待训练模型的评估参数。
可选的,所述评估参数包括以下至少一项:
参数调整后的待训练模型的准确率、所述待训练模型达到预设的收敛条件所需的时间、所述发起设备与各参与设备进行通信的数据量、所述待训练模型达到预设的收敛条件所需的训练轮次。
可选的,不同评估参数的优先级不同;
所述协议选择单元,具体用于:
确定优先级最高的第一评估参数;从多个候选汇聚协议中选择对应的第一评估参数满足预设的评估条件的参考汇聚协议;在所选择的参考汇聚协议的数量大于1的情况下,确定处于所述第一评估参数下一优先级的第二评估参数,将所述第一评估参数更新为所述第二评估参数,并将所述候选汇聚协议更新为所述参考汇聚协议,返回所述从多个候选汇聚协议中选择对应的第一评估参数满足预设的评估条件的参考汇聚协议的步骤,直至所选择的参考汇聚协议的数量为1,将所选择的参考汇聚协议确定为目标汇聚协议。
可选的,所述装置还包括:
第一摘要生成模块,用于接收各参与设备发送的注册信息;针每一参与设备,按照预设的摘要生成方法对该参与设备发送的注册信息进行计算,生成该参与设备对应的第一摘要信息,向该参与设备发送所述摘要生成方法;
摘要接收模块,用于接收各参与设备发送的第二摘要信息,其中,所述第二摘要信息为:各参与设备接收所述摘要生成方法,基于所述摘要生成方法对本地的注册信息进行计算生成的信息;
设备验证模块,用于针对每一参与设备,在该参与设备的第一摘要信息和第二摘要信息匹配的情况下,确定该参与设备验证通过。
本申请实施例还提供了一种协议选择装置,应用于参与设备,所述装置包括:
协议接收模块,用于接收发起设备发送的候选汇聚协议,其中,所述候选汇聚协议为:所述发起设备获得的多个候选汇聚协议;
模型训练模块,用于利用本地所存储的样本数据对待训练模型进行训练,得到训练参数,针对每一候选汇聚协议,按照该候选汇聚协议指定的参数处理方式,对所述训练参数进行处理,得到处理结果,向所述发起设备发送所述处理结果,以使得所述发起设备针对每一候选汇聚协议,获得各个参与设备发送的该候选汇聚协议对应的处理结果,利用该候选汇聚协议对所获得的处理结果进行汇聚,得到汇聚结果,利用所述汇聚结果调整所述待训练模型,获得调整后所述待训练模型的评估参数,从多个候选汇聚协议中选择对应的评估参数满足预设的评估条件的目标汇聚协议,其中,所述目标汇聚协议用于对所述待训练模型继续训练。
可选的,所述模型训练模块,具体用于利用本地所存储的样本数据对待训练模型进行训练,得到训练参数,针对每一候选汇聚协议,按照该候选汇聚协议指定的参数处理方式,对所述训练参数进行处理,得到处理结果;得到处理结果后,利用同态加密算法对所获得的处理结果进行加密,向所述发起设备发送加密后的处理结果;
可选的,所述装置还包括:
信息发送模块,用于向发起设备发送注册信息;
第二摘要生成模块,用于接收所述摘要生成方法,基于所述摘要生成方法对本地的注册信息进行计算,生成第二摘要信息,将所述第二摘要信息发送至所述发起设备,以使得所述发起设备针对所述参与设备,在所述参与设备的第一摘要信息和第二摘要信息匹配的情况下,确定所述参与设备验证通过;
其中,所述摘要生成方法为:所述发起设备接收各参与设备发送的注册信息;针对所述参与设备,按照预设的摘要生成方法对所述参与设备发送的注册信息进行计算,生成该参与设备对应的第一摘要信息,向该参与设备发送所述摘要生成方法。
本申请实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一项所述的协议选择方法步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的协议选择方法步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一项所述的协议选择方法步骤。
本申请实施例的有益效果:
本申请实施例提供的方案中,发起设备从各参与设备获得的处理结果,并对处理结果进行汇聚,得到汇聚结果。由于汇聚结果包含了多个参与设备的样本数据进行训练的处理结果,且各参与设备上的待训练模型与发起设备上一致,因此用汇聚结果训练待训练模型,相当于参考了所有参与设备的样本数据,使得使用的样本数据较为充分。另外,在选择汇聚协议时,按照评估参数选择了较优的汇聚协议,保证了汇聚结果对模型训练的训练效果;在此情况下,既保证了训练发起设备上的待训练的样本数据的数据量,又保证了训练效果,能够提高所得训练后模型的可靠度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为本申请实施例提供的一种协议选择系统的结构示意图。
图2为本申请实施例提供的一种设备通信系统的结构示意图。
图3为本申请实施例提供的一种注册信息验证的流程示意图。
图4为本申请实施例提供的第一种协议选择方法的流程示意图。
图5为本申请实施例提供的第二种协议选择方法的流程示意图。
图6为本申请实施例提供的第一种协议选择装置的结构示意图。
图7为本申请实施例提供的第二种协议选择装置的结构示意图。
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本发明保护的范围。
下面对本申请实施例的应用场景进行说明。
在一个应用场景中,本申请可以通过分散在各参与设备上的样本数据,对发起设备上的待训练模型进行训练,实现联邦学习的过程。在此情况下,发起设备按照后续实施例的方法步骤,在不直接获取各参与设备原始的样本数据的情况下完成训练,并且保护了各参与设备的隐私。
另一方面,本申请实施例中采用的样本数据可以是:用于预训练的样本数据集中的少量样本数据。这样,在下述实施例中,各参与设备均采用少量样本数据进行训练,减少了模型训练的工作量。此时进行的训练为预训练,用于确定最优的汇聚协议
在按照本申请实施例提供的方案选择汇聚协议之后,即可以用所选择的汇聚协议对大量的样本数据进行模型训练。
本申请的一个实施例中,参见图1,提供了一种协议选择系统的结构示意图,该系统包括:发起设备、参与设备。如图所示,参与设备可以有多个,且每一参与设备,即图中参与设备1、参与设备2、……、参与设备N均可以按照下述实施例所示的方式执行协议选择的步骤。
其中,发起设备和参与设备,可以是多种类型的电子设备,如台式计算机,服务器等。
发起设备用于获得多个候选汇聚协议,向各个参与设备发送候选汇聚协议。
参与设备用于利用本地所存储的样本数据对待训练模型进行训练,得到训练参数,针对每一候选汇聚协议,按照该候选汇聚协议指定的参数处理方式,对训练参数进行处理,得到处理结果,向发起设备发送处理结果。
发起设备用于:针对每一候选汇聚协议,获得各个参与设备发送的该候选汇聚协议对应的处理结果,利用该候选汇聚协议对所获得的处理结果进行汇聚,得到汇聚结果,利用汇聚结果调整待训练模型,获得调整后待训练模型的评估参数,从多个候选汇聚协议中选择对应的评估参数满足预设的评估条件的目标汇聚协议,其中,所述目标汇聚协议用于对所述待训练模型继续训练。
上述发起设备、参与设备中部署有相同的待训练模型,该待训练模型可以是人脸识别模型、对象分割模型、车牌识别模型、目标事件检测模型等。
汇聚协议指的是:用于对各个参与设备训练得到的参数进行汇聚的协议。
在训练模型时,获取处理结果的类型不同,使用处理结果的方式相应地不同,例如,获取的是梯度,即用于调整训练模型的参数的调整值,则根据汇聚协议对梯度进行汇聚,采用汇聚后的梯度调整待训练模型的参数,所调整的参数表示待训练模型中用于数据处理的各项权重系数,若获得的是参数值,即权重系数的系数值,则根据汇聚协议对参数值进行汇聚,并用汇聚后的参数值对待训练模型中原有的参数值进行替换。
候选汇聚协议中可以包含多种不同的汇聚协议,用于协议选择,例如,其包含的汇聚协议可以是FedAVG(Federated Averaging,联邦平均)协议、FedProx(Federatedproximal,联邦修正)协议等。
参与设备可以在多个轮次中执行上述得到并发送处理结果的步骤。在此情况下,发起设备可以接收多个轮次的处理结果,并进行多个轮次的汇聚。具体的汇聚方式参见后续实施例,此处暂不详述。
下面说明前述实施例中参与设备在本地对待训练模型进行训练的具体实现方式。
对待训练模型进行训练,可以是将样本数据输入待训练模型,由待训练模型输出训练结果。具体的训练结果可以根据待训练模型的类型不同而不同,例如待训练模型是分类模型,则训练结果可以是分类概率,待训练模型是图像识别模型,则训练结果可以是图像中人物的身份。训练参数可以基于上述训练结果和预期待训练模型的输出结果之间的差异得到,具体的训练参数可以是计算上述差异的目标函数生成的梯度,也可以基于梯度调整待训练模型后的模型参数等,其中,目标函数可以按照如下公式设置:
候选汇聚协议可以指定参数处理方式,对所得训练参数进行处理,以实现参数调整策略。例如,样本数据的数量会对影响模型训练的效果,如样本数据的数量过少的情况下,待训练模型的准确度较低,在此情况下,得到的训练结果有效性不足。相应的,参数调整策略可以是,按照样本数据的数量,调整参与设备的训练结果的影响,对应的参数处理方式见下述公式:
公式中,为处理结果,为第i个参与设备上的训练参数,在公式中假设有k个参与设备,则i的取值可以是1,2……k中的任一整数,nk为当前轮次训练时,所有参与设备包含的样本数据的总量,Ni表示第i个参与设备上所有的样本数据的数量。
在各参与设备向发起设备发送处理结果时,为了保证处理结果不会因为明文发送而被不在协议选择系统中的其他设备获取,可以对处理结果进行加密,并发送加密后的处理结果。具体实现方式可以如下:
一种实现方式中,参与设备得到处理结果后,可以利用同态加密算法对所获得的处理结果进行加密,向发起设备发送加密后的处理结果。在发送过程中,处理结果为同态密文。
另一种实现方式中,也可以采用对称加密算法对处理结果进行加密,本申请实施例并不对此进行限定。
下面说明前述实施例中发起设备对处理结果进行汇聚的具体实现方式。
每一候选汇聚协议可以指定汇聚方式,并用所指定的汇聚方式分别对发起设备接收到的所有汇聚结果进行汇聚,得到每一候选汇聚协议的汇聚结果。不同的候选汇聚协议指定的汇聚方式不同,
例如,在FedAVG汇聚协议中,指定的汇聚方式可以是取各处理结果的平均值。在其他的汇聚协议中,指定的汇聚方式可以是计算加权平均值、中位值、最大值等。计算加权平均值时,可以基于各个参与设备的贡献度设置权重,参见后续实施例,此处暂不详述。
若各处理结果为密文,则进行汇聚时需要按照所得密文进行相应的解密处理,得到正确的汇聚结果。例如,若各处理结果为同态密文,则可以基于同态密文的处理结果先进行汇聚,利用该候选汇聚协议对各个参与设备发送的、加密后的处理结果进行汇聚,得到汇聚结果。在此情况下,得到的是同态密文的汇聚结果,再对同态密文的汇聚结果进行解密,得到明文的汇聚结果。
由上,使用同态加密的算法进行处理结果的传输,保障了处理结果在传输过程中的安全性。
上述过程中,调整待训练模型,并从多个候选汇聚协议中选择目标汇聚协议的过程的可以看作是对待训练模型进行预训练的过程。相对的,用所选择的目标汇聚协议对待训练模型继续训练,可以是接收新的参与设备的处理结果,按照利用目标汇聚协议对所获得的处理结果进行汇聚,再次得到汇聚结果,利用新的汇聚结果调整待训练模型,获得再次调整后待训练模型的评估参数,得到训练好的模型。具体实现方式与上述实施例中调整待训练模型的方式类似,区别仅在于采用的汇聚协议不同,此处不再详述。
由上可见,本申请实施例提供的方案中,发起设备从各参与设备获得的处理结果,并对处理结果进行汇聚,得到汇聚结果。由于汇聚结果包含了多个参与设备的样本数据进行训练的处理结果,且各参与设备上的待训练模型与发起设备上一致,因此用汇聚结果训练待训练模型,相当于参考了所有参与设备的样本数据,使得使用的样本数据较为充分。另外,在选择汇聚协议时,按照评估参数选择了较优的汇聚协议,保证了汇聚结果对模型训练的训练效果;在此情况下,既保证了训练发起设备上的待训练的样本数据的数据量,又保证了训练效果,能够提高所得训练后模型的可靠度。
下面说明前述实施例中发起设备调整待训练模型的具体实现方式。
针对每一候选汇聚协议得到的汇聚结果可以独立地调整待训练模型,得到多个调整后的待训练模型。利用不同的候选汇聚协议训练得到的待训练模型的训练效果不同,训练效果可以基于下述评估参数确定:
参数调整后的待训练模型的准确率、待训练模型达到预设的收敛条件所需的时间、发起设备与各参与设备进行通信的数据量、待训练模型达到预设的收敛条件所需的训练轮次。
其中,待训练模型的准确率可以由待训练模型的输出结果与预期结果的差异大小确定;预设的收敛条件可以是待训练模型输出结果与预期结果的差异的值小于预设阈值等;
由上可见,设置的评估参数考量了训练过程中多个方面的信息,对于汇聚协议的训练效果的评估参考的信息较为充分,评估参数对训练效果的评估更为全面和准确。
本申请的一个实施例中,可以给各项评估参数设置优先级,并按照不同优先级的评估参数满足评估条件的情况确定最终选择的汇聚协议,作为用于对待训练模型进行后续训练的目标汇聚协议。具体实现方式参见后续实施例,此处暂不详述。
在上述实施例中,发起设备和参与设备会进行通信,以使得参与方能够按照上述步骤得到汇聚结果。具体的通信方式见图2所示的实施例。
如图2,节点管理模块用于向partyA-发起方,也就是上述发起设备提供参与方信息。在发起设备的算法实现中,fit模块用于调整设备的待训练模型,set_param模块用于设置场景参数,包括参与设备的端口参数,以使得发起设备按照端口参数向参与设备的端口发送信息,即图中发送远程计算任务,以使得参与设备,即图中的partyB-参与方,利用本地所存储的样本数据对参与设备上的待训练模型进行训练。partyA-发起方的汇聚协议用于得到汇聚结果,evaluate(评估)模块用于设置上述目标函数。
在参与设备的算法实现中,接收远程计算任务后,fit模块用于对参与设备上的待训练模型进行训练,set_param模块用于设置场景参数,包括发起设备的端口参数,以使得参与设备能够向发起设备的端口发送消息,反馈远程计算结果,即前述实施例中、基于图中partyB-参与方的汇聚协议指定的参数处理方式得到的处理结果;参与设备的evaluate用于为本地的模型训练设置目标函数。
路由通信模块用于通过路由发现,传递参与设备和发起设备发送的各类型消息,例如在partyB-参与方反馈远程计算结果的过程中,路由通信模块接收所反馈的计算结果,并据此向partyA-发起方反馈远程计算结果。
下面说明前述实施例中基于各个参与设备的贡献度设置权重,并得到汇聚结果的具体实现方式。
本申请的一个实施例中,可以确定各个参与设备的贡献度,以所确定的贡献度为权重,对各参与设备对应的处理结果进行加权计算,得到加权后的处理结果;利用该候选协议对加权后的处理结果进行汇聚,得到汇聚结果。
按照以下公式,得到汇聚结果:
由上可见,通过贡献度的加权,使得贡献度更高的参与设备的处理结果对汇聚结果影响更大,更符合实际训练过程中各参与设备的实际训练情况,能够提高所得汇聚结果的有效性。
具体的,贡献度可以按照如下方式确定:
针对每一参与设备,确定该参与设备本地的样本数据的数据量与总数据量的第一比例;确定该参与设备当前对待训练模型进行训练的当前轮次与总轮次的第二比例;确定该参与设备发送的处理结果与参考汇聚结果的相似度,其中,总数据量为:所有参与设备本地的样本数据的数据量之和,总轮次为:发起设备对待训练模型进行参数调整的轮次,参考汇聚结果为:发起设备在上一轮次对待训练模型进行参数调整时所利用的汇聚结果;
根据所确定的第一比例、第二比例、相似度,确定每一参与设备的贡献度。
上述计算过程可以由下述公式表示:
其中,γi表示贡献度,i表示计算的贡献度为第i参与设备的贡献度,即可以表示任一参与设备,dataScalei表示第i参与设备的样本数据的数据量,totalScale表示总数据量,即所有参与设备上的样本数据的总数据量;aggreTimesi表示第i参与设备参与的调整待训练模型的轮次,aggreTimest表示当前已进行过的所有轮次的次数;为第i参与设备的处理结果,为上一轮次的汇聚结果,即参考汇聚结果。在公式中,计算的相似度为和的余弦相似度。
由上可见,在确定贡献度时考虑了参与设备的多项参数,描述贡献度时参考的信息更为充分,能够提升所得贡献度的准确性。
本申请的一个实施例中,不同评估参数的优先级不同。
在此情况下,前述实施例中,目标汇聚协议按照以下步骤D1-D3获得:
步骤D1:确定优先级最高的第一评估参数;
步骤D2:从多个候选汇聚协议中选择对应的第一评估参数满足预设的评估条件的参考汇聚协议;
预设的评估条件可以是所选的候选汇聚协议的第一评估参数的参数值大于另一候选汇聚协议的第一评估参数的参数值,且所比较的两个候选汇聚协议之间的参数值差异大于预设阈值。
步骤D3:在所选择的参考汇聚协议的数量大于1的情况下,确定处于第一评估参数下一优先级的第二评估参数,将第一评估参数更新为第二评估参数,并将候选汇聚协议更新为参考汇聚协议,返回步骤D2从多个候选汇聚协议中选择对应的第一评估参数满足预设的评估条件的参考汇聚协议的步骤,直至所选择的参考汇聚协议的数量为1,将所选择的参考汇聚协议确定为目标汇聚协议。
按照D2的预设评估条件,进行选择,可以得到两种情况:一种情况是,存在一个候选汇聚协议,对其他汇聚协议都满足评估条件,则所选择的参考汇聚协议的数量为1,该候选汇聚协议为目标汇聚协议。
另一种情况下,存在多个候选汇聚协议,均满足评估条件,且两两之间不满足评估条件,即在第一评估参数下的参数值较为接近,则采用下一优先级的第二评估参数更新第一评估参数,再次进行比较。
若在所有优先级的评估参数下比较后,仍然存在一个以上的汇聚协议,则可以从中随机选择一个汇聚协议作为目标汇聚协议。
由上可见,按照优先级对目标汇聚协议进行筛选,使得优先级越高的评估参数对选择目标汇聚协议的作用越大,而优先级高的评估参数在实际训练时评估训练效果的价值更高,相应的,据此选择的目标汇聚协议得到的汇聚结果训练效果更好。
本申请的一个实施例中,参与设备还用于:向发起设备发送注册信息;
注册信息中可以包括参与设备参与训练的样本数据的数据量,这样发起设备可以统计各参与设备发送的数据量,得到前述实施例中的总数据量。
另外,注册信息中还可以包括参与设备的IP地址;样本数据的数据结构,包括样本数据的数据类型,存储样本数据的数据表的字段信息;参与设备的算力,包括GPU(graphicsprocessing unit,图形处理器)算力、CPU(central processing unit,中央处理器)算力、Memory(内存)大小。
发起设备,还用于:接收各参与设备发送的注册信息;针每一参与设备,按照预设的摘要生成方法对该参与设备发送的注册信息进行计算,生成该参与设备对应的第一摘要信息,向该参与设备发送第一摘要信息将摘要生成方法发送给参与设备;
上述摘要生成方法可以是哈希算法,例如MD5、SHA-1算法等;将参与设备的注册信息作为哈希算法的输入参数,得到的输出参数即为第一摘要信息。
参与设备,还用于:接收摘要生成方法,基于摘要生成方法对本地的注册信息进行计算,生成第二摘要信息,将摘要信息发送至发起设备;
第二摘要信息的生成方法类似第一摘要信息,区别仅在于第二摘要信息和第一摘要信息等名称概念上的替换,此处暂不详述。
发起设备,还用于:针对每一参与设备,在该参与设备的第一摘要信息和第二摘要信息匹配的情况下,确定该参与设备验证通过。
第一摘要信息和第二摘要信息匹配,意味着注册信息未被修改,即参与设备仍然具有其在注册信息中设置的属性,发起设备则可以按照属性为参与设备分配相应的训练任务,使其开始任一轮次的待训练模型的训练。在此情况下,确定确定该参与设备验证通过。
由上可见,发起设备通过验证注册信息的方式确定参与设备,使得协议选择系统建立时各参与设备都受到安全验证,建立的系统更为安全。
具体的,上述注册信息验证的流程示意图如图3所示。
如图3,参与方注册申请,表示参与设备发送注册信息;发起方接受注册,表示接收各参与设备发送的注册信息;发起方生成摘要信息,即前述第一摘要信息,并发送摘要生成方法,参与方接收摘要生成方法并生成摘要,即第二摘要信息,并且,参与设备发送摘要给发起方,使得发起方可以比对摘要信息,即对第一摘要信息和第二摘要信息进行匹配,匹配的参与设备可以认为注册信息无篡改,在此情况下,可以进行注册信息格式审核;若注册信息有篡改则结束,即参与设备注册失败。
进行格式审核时,若格式错误,则结束;若格式正确,则进行参与者服务连通性测试,即发起设备与参与设备进行通信,根据参与设备的端口是否可以正常连接,若连通测试失败,即不能正常连接,同样结束,若连通测试成功,即能够正常连接,发起方写入注册信息,即注册成功。
在此情况下,执行前述实施例中任一协议选择的步骤时,可以采用注册成功的参与设备,以提高协议选择的安全性。
与上述协议选择系统相对应,本申请的一个实施例中,参见图4,提供了第一种协议选择方法的流程示意图,应用于发起设备,包括以下步骤S401-S403。
步骤S401:获得多个候选汇聚协议,向各个参与设备发送所述候选汇聚协议;
步骤S402:接收各个参与设备发送的处理结果;
其中,不同的候选汇聚协议对应不同的处理结果,针对每一候选汇聚协议,该候选汇聚协议对应的处理结果为:所述参与设备利用本地所存储的样本数据对待训练模型进行训练得到训练参数后,按照该候选汇聚协议指定的参数处理方式,对所述训练参数进行处理所得的结果;
步骤S403:针对每一候选汇聚协议,获得各个参与设备发送的该候选汇聚协议对应的处理结果,利用该候选汇聚协议对所获得的处理结果进行汇聚,得到汇聚结果,利用所述汇聚结果调整所述待训练模型,获得调整后所述待训练模型的评估参数,从多个候选汇聚协议中选择对应的评估参数满足预设的评估条件的目标汇聚协议。
其中,所述目标汇聚协议用于对所述待训练模型继续训练。
由上可见,本申请实施例提供的方案中,发起设备从各参与设备获得的处理结果,并对处理结果进行汇聚,得到汇聚结果。由于汇聚结果包含了多个参与设备的样本数据进行训练的处理结果,且各参与设备上的待训练模型与发起设备上一致,因此用汇聚结果训练待训练模型,相当于参考了所有参与设备的样本数据,使得使用的样本数据较为充分。另外,在选择汇聚协议时,按照评估参数选择了较优的汇聚协议,保证了汇聚结果对模型训练的训练效果;在此情况下,既保证了训练发起设备上的待训练的样本数据的数据量,又保证了训练效果,能够提高所得训练后模型的可靠度。
本申请的一个实施例中,所述利用该候选汇聚协议对所获得的处理结果进行汇聚,得到汇聚结果,包括:
确定各个参与设备的贡献度,以所确定的贡献度为权重,对各参与设备对应的处理结果进行加权计算,得到加权后的处理结果;
利用该候选协议对加权后的处理结果进行汇聚,得到汇聚结果。
由上可见,通过贡献度的加权,使得贡献度更高的参与设备的处理结果对汇聚结果影响更大,更符合实际训练过程中各参与设备的实际训练情况,能够提高所得汇聚结果的有效性。
本申请的一个实施例中,所述确定各个参与设备的贡献度,包括:
针对每一参与设备,确定该参与设备本地的样本数据的数据量与总数据量的第一比例;确定该参与设备当前对所述待训练模型进行训练的当前轮次与总轮次的第二比例;确定该参与设备发送的处理结果与参考汇聚结果的相似度,其中,所述总数据量为:所有参与设备本地的样本数据的数据量之和,所述总轮次为:所述发起设备对所述待训练模型进行参数调整的轮次,所述参考汇聚结果为:所述发起设备在上一轮次对所述待训练模型进行参数调整时所利用的汇聚结果;
根据所确定的第一比例、第二比例、相似度,确定每一参与设备的贡献度。
由上可见,在确定贡献度时考虑了参与设备的多项参数,描述贡献度时参考的信息更为充分,能够提升所得贡献度的准确性。
本申请的一个实施例中,所述获得各个参与设备发送的该候选汇聚协议对应的处理结果,利用该候选汇聚协议对所获得的处理结果进行汇聚,得到汇聚结果,包括:
接收所述参与设备发送的处理结果,其中,所述所述处理结果为所述参与设备得到处理结果后,利用同态加密算法对所获得的处理结果进行加密得到的结果;
利用该候选汇聚协议对各个参与设备发送的、加密后的处理结果进行汇聚,得到汇聚结果。
由上,使用同态加密的算法进行处理结果的传输,保障了处理结果在传输过程中的安全性。
本申请的一个实施例中,所述评估参数包括以下至少一项:
参数调整后的待训练模型的准确率、所述待训练模型达到预设的收敛条件所需的时间、所述发起设备与各参与设备进行通信的数据量、所述待训练模型达到预设的收敛条件所需的训练轮次。
由上可见,设置的评估参数考量了训练过程中多个方面的信息,对于汇聚协议的训练效果的评估参考的信息较为充分,评估参数对训练效果的评估更为全面和准确。
本申请的一个实施例中,不同评估参数的优先级不同;
所述从多个候选汇聚协议中选择对应的评估参数满足预设的评估条件的目标汇聚协议,包括:
确定优先级最高的第一评估参数;
从多个候选汇聚协议中选择对应的第一评估参数满足预设的评估条件的参考汇聚协议;
在所选择的参考汇聚协议的数量大于1的情况下,确定处于所述第一评估参数下一优先级的第二评估参数,将所述第一评估参数更新为所述第二评估参数,并将所述候选汇聚协议更新为所述参考汇聚协议,返回所述从多个候选汇聚协议中选择对应的第一评估参数满足预设的评估条件的参考汇聚协议的步骤,直至所选择的参考汇聚协议的数量为1,将所选择的参考汇聚协议确定为目标汇聚协议。
由上可见,按照优先级对目标汇聚协议进行筛选,使得优先级越高的评估参数对选择目标汇聚协议的作用越大,而优先级高的评估参数在实际训练时评估训练效果的价值更高,相应的,据此选择的目标汇聚协议得到的汇聚结果训练效果更好。
本申请的一个实施例中,所述获得多个候选汇聚协议,向各个参与设备发送所述候选汇聚协议之前,还包括:
接收各参与设备发送的注册信息;针每一参与设备,按照预设的摘要生成方法对该参与设备发送的注册信息进行计算,生成该参与设备对应的第一摘要信息,向该参与设备发送所述摘要生成方法;
接收各参与设备发送的第二摘要信息,其中,所述第二摘要信息为:各参与设备接收所述摘要生成方法,基于所述摘要生成方法对本地的注册信息进行计算,生成的信息;
针对每一参与设备,在该参与设备的第一摘要信息和第二摘要信息匹配的情况下,确定该参与设备验证通过。
由上可见,发起设备通过验证注册信息的方式确定参与设备,使得协议选择系统建立时各参与设备都受到安全验证,建立的系统更为安全。
与上述协议选择系统相对应,本申请的一个实施例中,参见图5,提供了第二种协议选择方法的流程示意图,应用于参与设备,包括以下步骤S501-S502。
步骤S501:接收发起设备发送的候选汇聚协议。
其中,所述候选汇聚协议为:所述发起设备获得的多个候选汇聚协议;
步骤S502:利用本地所存储的样本数据对待训练模型进行训练,得到训练参数,针对每一候选汇聚协议,按照该候选汇聚协议指定的参数处理方式,对所述训练参数进行处理,得到处理结果,向所述发起设备发送所述处理结果;
上述步骤S502使得所述发起设备针对每一候选汇聚协议,获得各个参与设备发送的该候选汇聚协议对应的处理结果,利用该候选汇聚协议对所获得的处理结果进行汇聚,得到汇聚结果,利用所述汇聚结果调整所述待训练模型,获得调整后所述待训练模型的评估参数,从多个候选汇聚协议中选择对应的评估参数满足预设的评估条件的目标汇聚协议。
其中,所述目标汇聚协议用于对所述待训练模型继续训练。
由上可见,本申请实施例提供的方案中,发起设备从各参与设备获得的处理结果,并对处理结果进行汇聚,得到汇聚结果。由于汇聚结果包含了多个参与设备的样本数据进行训练的处理结果,且各参与设备上的待训练模型与发起设备上一致,因此用汇聚结果训练待训练模型,相当于参考了所有参与设备的样本数据,使得使用的样本数据较为充分。另外,在选择汇聚协议时,按照评估参数选择了较优的汇聚协议,保证了汇聚结果对模型训练的训练效果;在此情况下,既保证了训练发起设备上的待训练的样本数据的数据量,又保证了训练效果,能够提高所得训练后模型的可靠度。
本申请的一个实施例中,所述向所述发起设备发送所述处理结果,包括:
得到处理结果后,利用同态加密算法对所获得的处理结果进行加密,向所述发起设备发送加密后的处理结果。
由上,使用同态加密的算法进行处理结果的传输,保障了处理结果在传输过程中的安全性。
本申请的一个实施例中,所述接收发起设备发送的候选汇聚协议之前,还包括:
向发起设备发送注册信息;
接收所述摘要生成方法,基于所述摘要生成方法对本地的注册信息进行计算,生成第二摘要信息,将所述第二摘要信息发送至所述发起设备,以使得所述发起设备针对所述参与设备,在所述参与设备的第一摘要信息和第二摘要信息匹配的情况下,确定所述参与设备验证通过;
其中,所述摘要生成方法为:所述发起设备接收各参与设备发送的注册信息;针对所述参与设备,按照预设的摘要生成方法对所述参与设备发送的注册信息进行计算,生成该参与设备对应的第一摘要信息,向该参与设备发送所述摘要生成方法。
由上可见,发起设备通过验证注册信息的方式确定参与设备,使得协议选择系统建立时各参与设备都受到安全验证,建立的系统更为安全。
与上述方法实施例相对应,本申请实施例还提供了协议选择装置。
本申请的一个实施例中,参见图6,提供了第一种协议选择装置的结构示意图,应用于发起设备,所述装置包括:
协议发送模块601,用于获得多个候选汇聚协议,向各个参与设备发送所述候选汇聚协议;
结果接收模块602,用于接收各个参与设备发送的处理结果,其中,不同的候选汇聚协议对应不同的处理结果,针对每一候选汇聚协议,该候选汇聚协议对应的处理结果为:所述参与设备利用本地所存储的样本数据对待训练模型进行训练得到训练参数后,按照该候选汇聚协议指定的参数处理方式,对所述训练参数进行处理所得的结果;
协议选择模块603,用于针对每一候选汇聚协议,获得各个参与设备发送的该候选汇聚协议对应的处理结果,利用该候选汇聚协议对所获得的处理结果进行汇聚,得到汇聚结果,利用所述汇聚结果调整所述待训练模型,获得调整后所述待训练模型的评估参数,从多个候选汇聚协议中选择对应的评估参数满足预设的评估条件的目标汇聚协议,其中,所述目标汇聚协议用于对所述待训练模型继续训练。
由上可见,本申请实施例提供的方案中,发起设备从各参与设备获得的处理结果,并对处理结果进行汇聚,得到汇聚结果。由于汇聚结果包含了多个参与设备的样本数据进行训练的处理结果,且各参与设备上的待训练模型与发起设备上一致,因此用汇聚结果训练待训练模型,相当于参考了所有参与设备的样本数据,使得使用的样本数据较为充分。另外,在选择汇聚协议时,按照评估参数选择了较优的汇聚协议,保证了汇聚结果对模型训练的训练效果;在此情况下,既保证了训练发起设备上的待训练的样本数据的数据量,又保证了训练效果,能够提高所得训练后模型的可靠度。
本申请的一个实施例中,所述协议选择模块603,包括:
结果获得单元,用于针对每一候选汇聚协议,确定各个参与设备的贡献度,以所确定的贡献度为权重,对各参与设备对应的处理结果进行加权计算,得到加权后的处理结果;
参数获得单元,用于利用该候选协议对加权后的处理结果进行汇聚,得到汇聚结果,利用所述汇聚结果调整所述待训练模型,获得调整后所述待训练模型的评估参数;
协议选择单元,用于从多个候选汇聚协议中选择对应的评估参数满足预设的评估条件的目标汇聚协议,其中,所述目标汇聚协议用于对所述待训练模型继续训练。
由上可见,通过贡献度的加权,使得贡献度更高的参与设备的处理结果对汇聚结果影响更大,更符合实际训练过程中各参与设备的实际训练情况,能够提高所得汇聚结果的有效性。
本申请的一个实施例中,所述结果获得单元,具体用于:
针对每一候选汇聚协议,针对每一参与设备,确定该参与设备本地的样本数据的数据量与总数据量的第一比例;确定该参与设备当前对所述待训练模型进行训练的当前轮次与总轮次的第二比例;确定该参与设备发送的处理结果与参考汇聚结果的相似度,其中,所述总数据量为:所有参与设备本地的样本数据的数据量之和,所述总轮次为:所述发起设备对所述待训练模型进行参数调整的轮次,所述参考汇聚结果为:所述发起设备在上一轮次对所述待训练模型进行参数调整时所利用的汇聚结果;根据所确定的第一比例、第二比例、相似度,确定每一参与设备的贡献度;以所确定的贡献度为权重,对各参与设备对应的处理结果进行加权计算,得到加权后的处理结果。
由上可见,在确定贡献度时考虑了参与设备的多项参数,描述贡献度时参考的信息更为充分,能够提升所得贡献度的准确性。
本申请的一个实施例中,所述参数获得单元,具体用于利用该候选汇聚协议对各个参与设备发送的、加密后的处理结果进行汇聚,得到汇聚结果,利用所述汇聚结果调整所述待训练模型,获得调整后所述待训练模型的评估参数。
由上,使用同态加密的算法进行处理结果的传输,保障了处理结果在传输过程中的安全性。
本申请的一个实施例中,所述评估参数包括以下至少一项:
参数调整后的待训练模型的准确率、所述待训练模型达到预设的收敛条件所需的时间、所述发起设备与各参与设备进行通信的数据量、所述待训练模型达到预设的收敛条件所需的训练轮次。
由上可见,设置的评估参数考量了训练过程中多个方面的信息,对于汇聚协议的训练效果的评估参考的信息较为充分,评估参数对训练效果的评估更为全面和准确。
本申请的一个实施例中,不同评估参数的优先级不同;
所述协议选择单元,具体用于:
确定优先级最高的第一评估参数;从多个候选汇聚协议中选择对应的第一评估参数满足预设的评估条件的参考汇聚协议;在所选择的参考汇聚协议的数量大于1的情况下,确定处于所述第一评估参数下一优先级的第二评估参数,将所述第一评估参数更新为所述第二评估参数,并将所述候选汇聚协议更新为所述参考汇聚协议,返回所述从多个候选汇聚协议中选择对应的第一评估参数满足预设的评估条件的参考汇聚协议的步骤,直至所选择的参考汇聚协议的数量为1,将所选择的参考汇聚协议确定为目标汇聚协议。
由上可见,按照优先级对目标汇聚协议进行筛选,使得优先级越高的评估参数对选择目标汇聚协议的作用越大,而优先级高的评估参数在实际训练时评估训练效果的价值更高,相应的,据此选择的目标汇聚协议得到的汇聚结果训练效果更好。
本申请的一个实施例中,所述装置还包括:
第一摘要生成模块,用于接收各参与设备发送的注册信息;针每一参与设备,按照预设的摘要生成方法对该参与设备发送的注册信息进行计算,生成该参与设备对应的第一摘要信息,向该参与设备发送所述摘要生成方法;
摘要接收模块,用于接收各参与设备发送的第二摘要信息,其中,所述第二摘要信息为:各参与设备接收所述摘要生成方法,基于所述摘要生成方法对本地的注册信息进行计算生成的信息;
设备验证模块,用于针对每一参与设备,在该参与设备的第一摘要信息和第二摘要信息匹配的情况下,确定该参与设备验证通过。
由上可见,发起设备通过验证注册信息的方式确定参与设备,使得协议选择系统建立时各参与设备都受到安全验证,建立的系统更为安全。
本申请的一个实施例中,参见图7,提供了第二种协议选择装置的结构示意图,应用于参与设备,所述装置包括:
协议接收模块701,用于接收发起设备发送的候选汇聚协议,其中,所述候选汇聚协议为:所述发起设备获得的多个候选汇聚协议;
模型训练模块702,用于利用本地所存储的样本数据对待训练模型进行训练,得到训练参数,针对每一候选汇聚协议,按照该候选汇聚协议指定的参数处理方式,对所述训练参数进行处理,得到处理结果,向所述发起设备发送所述处理结果,以使得所述发起设备针对每一候选汇聚协议,获得各个参与设备发送的该候选汇聚协议对应的处理结果,利用该候选汇聚协议对所获得的处理结果进行汇聚,得到汇聚结果,利用所述汇聚结果调整所述待训练模型,获得调整后所述待训练模型的评估参数,从多个候选汇聚协议中选择对应的评估参数满足预设的评估条件的目标汇聚协议,其中,所述目标汇聚协议用于对所述待训练模型继续训练。
由上可见,本申请实施例提供的方案中,发起设备从各参与设备获得的处理结果,并对处理结果进行汇聚,得到汇聚结果。由于汇聚结果包含了多个参与设备的样本数据进行训练的处理结果,且各参与设备上的待训练模型与发起设备上一致,因此用汇聚结果训练待训练模型,相当于参考了所有参与设备的样本数据,使得使用的样本数据较为充分。另外,在选择汇聚协议时,按照评估参数选择了较优的汇聚协议,保证了汇聚结果对模型训练的训练效果;在此情况下,既保证了训练发起设备上的待训练的样本数据的数据量,又保证了训练效果,能够提高所得训练后模型的可靠度。
本申请的一个实施例中,所述模型训练模块702,具体用于利用本地所存储的样本数据对待训练模型进行训练,得到训练参数,针对每一候选汇聚协议,按照该候选汇聚协议指定的参数处理方式,对所述训练参数进行处理,得到处理结果;得到处理结果后,利用同态加密算法对所获得的处理结果进行加密,向所述发起设备发送加密后的处理结果;
由上,使用同态加密的算法进行处理结果的传输,保障了处理结果在传输过程中的安全性。
本申请的一个实施例中,所述装置还包括:
信息发送模块,用于向发起设备发送注册信息;
第二摘要生成模块,用于接收所述摘要生成方法,基于所述摘要生成方法对本地的注册信息进行计算,生成第二摘要信息,将所述第二摘要信息发送至所述发起设备,以使得所述发起设备针对所述参与设备,在所述参与设备的第一摘要信息和第二摘要信息匹配的情况下,确定所述参与设备验证通过;
其中,所述摘要生成方法为:所述发起设备接收各参与设备发送的注册信息;针对所述参与设备,按照预设的摘要生成方法对所述参与设备发送的注册信息进行计算,生成该参与设备对应的第一摘要信息,向该参与设备发送所述摘要生成方法。
由上可见,发起设备通过验证注册信息的方式确定参与设备,使得协议选择系统建立时各参与设备都受到安全验证,建立的系统更为安全。
本申请实施例还提供了一种电子设备,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,
存储器803,用于存放计算机程序;
处理器801,用于执行存储器803上所存放的程序时,实现前述任一实施例所述的协议选择方法步骤:
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一协议选择方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一协议选择方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法、装置、电子设备及存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (13)
1.一种协议选择系统,其特征在于,所述系统包括发起设备、多个参与设备,其中:
所述发起设备,用于:获得多个候选汇聚协议,向各个参与设备发送所述候选汇聚协议;
所述参与设备,用于:利用本地所存储的样本数据对待训练模型进行训练,得到训练参数,针对每一候选汇聚协议,按照该候选汇聚协议指定的参数处理方式,对所述训练参数进行处理,得到处理结果,向所述发起设备发送所述处理结果;
所述发起设备,用于:针对每一候选汇聚协议,获得各个参与设备发送的该候选汇聚协议对应的处理结果,利用该候选汇聚协议对所获得的处理结果进行汇聚,得到汇聚结果,利用所述汇聚结果调整所述待训练模型,获得调整后所述待训练模型的评估参数,从多个候选汇聚协议中选择对应的评估参数满足预设的评估条件的目标汇聚协议,其中,所述目标汇聚协议用于对所述待训练模型继续训练。
2.根据权利要求1所述的系统,其特征在于,所述发起设备,具体用于:
确定各个参与设备的贡献度,以所确定的贡献度为权重,对各参与设备对应的处理结果进行加权计算,得到加权后的处理结果;
利用该候选协议对加权后的处理结果进行汇聚,得到汇聚结果。
3.根据权利要求2所述的系统,其特征在于,所述发起设备,具体用于:
针对每一参与设备,确定该参与设备本地的样本数据的数据量与总数据量的第一比例;确定该参与设备当前对所述待训练模型进行训练的当前轮次与总轮次的第二比例;确定该参与设备发送的处理结果与参考汇聚结果的相似度,其中,所述总数据量为:所有参与设备本地的样本数据的数据量之和,所述总轮次为:所述发起设备对所述待训练模型进行参数调整的轮次,所述参考汇聚结果为:所述发起设备在上一轮次对所述待训练模型进行参数调整时所利用的汇聚结果;
根据所确定的第一比例、第二比例、相似度,确定每一参与设备的贡献度。
4.根据权利要求1所述的系统,其特征在于,所述参与设备,具体用于:
得到处理结果后,利用同态加密算法对所获得的处理结果进行加密,向所述发起设备发送加密后的处理结果;
所述发起设备,具体用于:
利用该候选汇聚协议对各个参与设备发送的、加密后的处理结果进行汇聚,得到汇聚结果。
5.根据权利要求1所述的系统,其特征在于,所述评估参数包括以下至少一项:
参数调整后的待训练模型的准确率、所述待训练模型达到预设的收敛条件所需的时间、所述发起设备与各参与设备进行通信的数据量、所述待训练模型达到预设的收敛条件所需的训练轮次。
6.根据权利要求5所述的系统,其特征在于,不同评估参数的优先级不同;
所述发起设备,具体用于:
确定优先级最高的第一评估参数;
从多个候选汇聚协议中选择对应的第一评估参数满足预设的评估条件的参考汇聚协议;
在所选择的参考汇聚协议的数量大于1的情况下,确定处于所述第一评估参数下一优先级的第二评估参数,将所述第一评估参数更新为所述第二评估参数,并将所述候选汇聚协议更新为所述参考汇聚协议,返回所述从多个候选汇聚协议中选择对应的第一评估参数满足预设的评估条件的参考汇聚协议的步骤,直至所选择的参考汇聚协议的数量为1,将所选择的参考汇聚协议确定为目标汇聚协议。
7.根据权利要求1-6中任一项所述的系统,其特征在于,所述参与设备,还用于:向所述发起设备发送注册信息;
所述发起设备,还用于:接收各参与设备发送的注册信息;针每一参与设备,按照预设的摘要生成方法对该参与设备发送的注册信息进行计算,生成该参与设备对应的第一摘要信息,向该参与设备发送所述摘要生成方法;
所述参与设备,还用于:接收所述摘要生成方法,基于所述摘要生成方法对本地的注册信息进行计算,生成第二摘要信息,将所述第二摘要信息发送至所述发起设备;
所述发起设备,还用于:针对每一参与设备,在该参与设备的第一摘要信息和第二摘要信息匹配的情况下,确定该参与设备验证通过。
8.一种协议选择方法,其特征在于,应用于发起设备,所述方法包括:
获得多个候选汇聚协议,向各个参与设备发送所述候选汇聚协议;
接收各个参与设备发送的处理结果,其中,不同的候选汇聚协议对应不同的处理结果,针对每一候选汇聚协议,该候选汇聚协议对应的处理结果为:所述参与设备利用本地所存储的样本数据对待训练模型进行训练得到训练参数后,按照该候选汇聚协议指定的参数处理方式,对所述训练参数进行处理所得的结果;
针对每一候选汇聚协议,获得各个参与设备发送的该候选汇聚协议对应的处理结果,利用该候选汇聚协议对所获得的处理结果进行汇聚,得到汇聚结果,利用所述汇聚结果调整所述待训练模型,获得调整后所述待训练模型的评估参数,从多个候选汇聚协议中选择对应的评估参数满足预设的评估条件的目标汇聚协议,其中,所述目标汇聚协议用于对所述待训练模型继续训练。
9.一种协议选择方法,其特征在于,应用于参与设备,所述方法包括:
接收发起设备发送的候选汇聚协议,其中,所述候选汇聚协议为:所述发起设备获得的多个候选汇聚协议;
利用本地所存储的样本数据对待训练模型进行训练,得到训练参数,针对每一候选汇聚协议,按照该候选汇聚协议指定的参数处理方式,对所述训练参数进行处理,得到处理结果,向所述发起设备发送所述处理结果,
以使得所述发起设备针对每一候选汇聚协议,获得各个参与设备发送的该候选汇聚协议对应的处理结果,利用该候选汇聚协议对所获得的处理结果进行汇聚,得到汇聚结果,利用所述汇聚结果调整所述待训练模型,获得调整后所述待训练模型的评估参数,从多个候选汇聚协议中选择对应的评估参数满足预设的评估条件的目标汇聚协议,其中,所述目标汇聚协议用于对所述待训练模型继续训练。
10.一种协议选择装置,其特征在于,应用于发起设备,所述装置包括:
协议发送模块,用于获得多个候选汇聚协议,向各个参与设备发送所述候选汇聚协议;
结果接收模块,用于接收各个参与设备发送的处理结果,其中,不同的候选汇聚协议对应不同的处理结果,针对每一候选汇聚协议,该候选汇聚协议对应的处理结果为:所述参与设备利用本地所存储的样本数据对待训练模型进行训练得到训练参数后,按照该候选汇聚协议指定的参数处理方式,对所述训练参数进行处理所得的结果;
协议选择模块,用于针对每一候选汇聚协议,获得各个参与设备发送的该候选汇聚协议对应的处理结果,利用该候选汇聚协议对所获得的处理结果进行汇聚,得到汇聚结果,利用所述汇聚结果调整所述待训练模型,获得调整后所述待训练模型的评估参数,从多个候选汇聚协议中选择对应的评估参数满足预设的评估条件的目标汇聚协议,其中,所述目标汇聚协议用于对所述待训练模型继续训练。
11.一种协议选择装置,其特征在于,应用于参与设备,所述装置包括:
协议接收模块,用于接收发起设备发送的候选汇聚协议,其中,所述候选汇聚协议为:所述发起设备获得的多个候选汇聚协议;
模型训练模块,用于利用本地所存储的样本数据对待训练模型进行训练,得到训练参数,针对每一候选汇聚协议,按照该候选汇聚协议指定的参数处理方式,对所述训练参数进行处理,得到处理结果,向所述发起设备发送所述处理结果,以使得所述发起设备针对每一候选汇聚协议,获得各个参与设备发送的该候选汇聚协议对应的处理结果,利用该候选汇聚协议对所获得的处理结果进行汇聚,得到汇聚结果,利用所述汇聚结果调整所述待训练模型,获得调整后所述待训练模型的评估参数,从多个候选汇聚协议中选择对应的评估参数满足预设的评估条件的目标汇聚协议,其中,所述目标汇聚协议用于对所述待训练模型继续训练。
12.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求8或9任一所述的方法步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求8或9任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211154959.1A CN115496229A (zh) | 2022-09-21 | 2022-09-21 | 一种协议选择系统、方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211154959.1A CN115496229A (zh) | 2022-09-21 | 2022-09-21 | 一种协议选择系统、方法、装置、设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115496229A true CN115496229A (zh) | 2022-12-20 |
Family
ID=84470461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211154959.1A Pending CN115496229A (zh) | 2022-09-21 | 2022-09-21 | 一种协议选择系统、方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115496229A (zh) |
-
2022
- 2022-09-21 CN CN202211154959.1A patent/CN115496229A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230205918A1 (en) | Methods and apparatus for distributed use of a machine learning model | |
WO2021232754A1 (zh) | 联邦学习建模方法、设备及计算机可读存储介质 | |
CN108351932B (zh) | 基于图像的captcha挑战 | |
US20200159847A1 (en) | Contribution of multiparty data aggregation using distributed ledger technology | |
JP2021508889A (ja) | 本人確認方法および装置 | |
US12081588B2 (en) | Detection of malicious activity within a network | |
JP2018501567A (ja) | 装置検証方法及び機器 | |
CN112235264A (zh) | 一种基于深度迁移学习的网络流量识别方法及装置 | |
US11874804B2 (en) | Load balancing based blockchain transaction submission | |
US12034867B2 (en) | Blockchain with random committee selection | |
CN109447791B (zh) | 一种基于区块链的资金交易方法及装置 | |
WO2020160391A1 (en) | An efficient, environmental and consumer friendly consensus method for cryptographic transactions | |
US11924348B2 (en) | Honest behavior enforcement via blockchain | |
EP3158445B1 (en) | Data verification in a distributed data processing system | |
US20230208640A1 (en) | Selective audit process for privacy-preserving blockchain | |
CN107919959B (zh) | 用于受信设备对新设备的认证的方法、系统、装置及计算机可读存储介质 | |
WO2020140616A1 (zh) | 一种数据加密方法和相关装置 | |
CN115496229A (zh) | 一种协议选择系统、方法、装置、设备以及存储介质 | |
WO2022188602A1 (zh) | 数据的提供方法、装置和系统 | |
US11658824B2 (en) | Plagiarism detection from encrypted documents | |
WO2019069905A1 (ja) | 情報処理装置、制御方法、及びプログラム | |
CN112700244B (zh) | 一种基于区块链的信息存储系统、方法及服务器 | |
CN112291188B (zh) | 注册验证方法及系统、注册验证服务器、云服务器 | |
EP3868068B1 (en) | Distributing analysis models | |
US20240289489A1 (en) | System and method for data access management based on environmental risk assessment |
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 |