CN111340242A - 保护隐私的模型联合训练方法及装置 - Google Patents
保护隐私的模型联合训练方法及装置 Download PDFInfo
- Publication number
- CN111340242A CN111340242A CN202010409990.XA CN202010409990A CN111340242A CN 111340242 A CN111340242 A CN 111340242A CN 202010409990 A CN202010409990 A CN 202010409990A CN 111340242 A CN111340242 A CN 111340242A
- Authority
- CN
- China
- Prior art keywords
- training
- terminal device
- model
- target terminal
- contribution value
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Telephonic Communication Services (AREA)
Abstract
本说明书实施例提供一种保护隐私的模型联合训练方及装置,在联合训练方法中,服务端发布模型训练任务。接收若干终端设备发送的参与请求。根据参与请求,查询贡献值列表,以获取若干终端设备各自的累计贡献值。基于查询得到的累计贡献值,从若干终端设备中选取各目标终端设备,并将初始模型拆分为对应于各目标终端设备的多个子模型。向各目标终端设备发送联合训练请求。该联合训练请求用于指示各目标终端设备,基于各自维护的、符合上述描述信息中至少部分描述信息的私有样本,在本地训练对应子模型。接收各目标终端设备发送的训练结果。根据各目标终端设备的训练结果,更新贡献值列表以及更新初始模型,得到联合训练后的目标模型。
Description
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种保护隐私的模型联合训练方法及装置。
背景技术
联邦学习(Federated Learning),也称联合学习,是一种新兴的人工智能基础技术。其设计目标是在保障大数据交换时的信息安全、保护终端数据和个人数据隐私、保证合法合规的前提下,在多参与方之间开展高效率的机器学习。
在传统的模型联合学习或训练中,只要协作方发布模型训练任务,各参与方均可参与本次模型联合学习或训练。
因此,需要提供一种更合理的方案,可以实现对各参与方的筛选,进而可以提升模型训练效果。
发明内容
本说明书一个或多个实施例描述了一种保护隐私的模型联合训练方法及装置,可以实现对终端设备的筛选,进而可以提升模型训练效果。
第一方面,提供了一种保护隐私的模型联合训练方法,包括:
发布模型训练任务;所述模型训练任务至少指示待联合训练的初始模型,以及用于训练所述初始模型的训练样本的描述信息;
接收若干终端设备发送的参与请求;
根据所述参与请求,查询贡献值列表,以获取所述若干终端设备各自的累计贡献值;其中所述贡献值列表用于记录在历次模型联合训练中参与训练的终端设备各自的累计贡献值;
基于所述累计贡献值,从所述若干终端设备中选取各目标终端设备,并将所述初始模型拆分为对应于所述各目标终端设备的多个子模型;
向所述各目标终端设备发送联合训练请求;所述联合训练请求用于指示所述各目标终端设备,基于各自维护的、符合所述描述信息中至少部分描述信息的私有样本,在本地训练对应子模型;
接收所述各目标终端设备发送的训练结果;
根据所述各目标终端设备的训练结果,更新所述贡献值列表,以及根据所述各目标终端设备的训练结果,更新所述初始模型,得到联合训练后的目标模型。
第二方面,提供了一种保护隐私的模型联合训练方法,包括:
接收服务端发布的模型训练任务;所述模型训练任务至少指示待联合训练的初始模型,以及用于训练所述初始模型的训练样本的描述信息;
向所述服务端发送参与请求;以使所述服务端根据所述参与请求,查询贡献值列表,以获取所述第一终端设备的累计贡献值;所述贡献值列表用于记录在历次模型联合训练中参与训练的终端设备各自的累计贡献值;
接收所述服务端在基于所述第一终端设备的累计贡献值,将所述第一终端设备选取为目标终端设备,并将所述初始模型拆分为对应于各目标终端设备的多个子模型后发送的联合训练请求;
基于维护的、符合所述描述信息中至少部分描述信息的私有样本,在本地训练对应子模型;
向所述服务端发送训练结果,以使所述服务端根据所述各目标终端设备的训练结果,更新所述贡献值列表,以及根据所述各目标终端设备的训练结果,更新所述初始模型,得到联合训练后的目标模型。
第三方面,提供了一种保护隐私的模型联合训练装置,包括:
发送单元,用于发布模型训练任务;所述模型训练任务至少指示待联合训练的初始模型,以及用于训练所述初始模型的训练样本的描述信息;
接收单元,用于接收若干终端设备发送的参与请求;
查询单元,用于根据所述接收单元接收的所述参与请求,查询贡献值列表,以获取所述若干终端设备各自的累计贡献值;其中所述贡献值列表用于记录在历次模型联合训练中参与训练的终端设备各自的累计贡献值;
选取单元,用于基于所述查询单元查询的所述累计贡献值,从所述若干终端设备中选取各目标终端设备,并将所述初始模型拆分为对应于所述各目标终端设备的多个子模型;
所述发送单元,还用于向所述选取单元选取的所述各目标终端设备发送联合训练请求;所述联合训练请求用于指示所述各目标终端设备,基于各自维护的、符合所述描述信息中至少部分描述信息的私有样本,在本地训练对应子模型;
所述接收单元,还用于接收所述各目标终端设备发送的训练结果;
更新单元,用于根据所述接收单元接收的所述各目标终端设备的训练结果,更新所述贡献值列表,以及根据所述各目标终端设备的训练结果,更新所述初始模型,得到联合训练后的目标模型。
第四方面,提供了一种保护隐私的模型联合训练装置,包括:
接收单元,用于接收服务端发布的模型训练任务;所述模型训练任务至少指示待联合训练的初始模型,以及用于训练所述初始模型的训练样本的描述信息;
发送单元,用于向所述服务端发送参与请求;以使所述服务端根据所述参与请求,查询贡献值列表,以获取所述第一终端设备的累计贡献值;所述贡献值列表用于记录在历次模型联合训练中参与训练的终端设备各自的累计贡献值;
所述接收单元,还用于接收所述服务端在基于所述第一终端设备的累计贡献值,将所述第一终端设备选取为目标终端设备,并将所述初始模型拆分为对应于各目标终端设备的多个子模型后发送的联合训练请求;
训练单元,用于基于维护的、符合所述描述信息中至少部分描述信息的私有样本,在本地训练对应子模型;
所述发送单元,还用于向所述服务端发送训练结果,以使所述服务端根据所述各目标终端设备的训练结果,更新所述贡献值列表,以及根据所述各目标终端设备的训练结果,更新所述初始模型,得到联合训练后的目标模型。
第五方面,提供了一种计算机存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法或第二方面的方法。
第六方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法或第二方面的方法。
本说明书一个或多个实施例提供的保护隐私的模型联合训练方法及装置,服务端在发布模型训练任务,并接收到若干终端设备发送的参与请求后,可以根据若干终端设备各自的累计贡献值,选取参与本次模型联合训练的各目标终端设备。之后,联合各目标终端设备训练初始模型。需要说明的是,当基于累计贡献值,对若干终端设备进行筛选时,筛选得到的目标终端设备通常可以提供更高精度、更可靠的训练样本,从而联合筛选的各目标终端设备训练初始模型时,可以大大提升模型训练效果。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书提供的保护隐私的模型联合训练方法应用场景示意图;
图2为本说明书一个实施例提供的保护隐私的模型联合训练方法流程图;
图3为本说明书另一个实施例提供的保护隐私的模型联合训练方法流程图;
图4为本说明书一个实施例提供的保护隐私的模型联合训练装置示意图;
图5为本说明书另一个实施例提供的保护隐私的模型联合训练装置示意图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
在描述本说明书提供的方案之前,先对本方案的发明构思作以下说明。
如前所述,在传统的模型联合学习或训练中,只要管理方发布模型训练任务,各参与方均可参与本次模型联合学习或训练。然而由于部分参与方维护的私有样本的质量并不高,或者并没有维护私有样本,因此,其在模型联合训练中可能并不能发挥有效的作用。对于这样的参与方,应该对其进行剔除。基于此,本申请的发明人提出如下的模型联合训练方法。
具体地,服务端发布模型训练任务。该模型训练任务至少指示待联合训练的初始模型,以及用于训练初始模型的训练样本的描述信息。接收若干终端设备发送的参与请求。根据参与请求,查询贡献值列表,以获取若干终端设备各自的累计贡献值。该贡献值列表用于记录在历次模型联合训练中参与训练的终端设备各自的累计贡献值。基于查询得到的累计贡献值,从若干终端设备中选取各目标终端设备,并将初始模型拆分为对应于各目标终端设备的多个子模型。向各目标终端设备发送联合训练请求。该联合训练请求用于指示各目标终端设备,基于各自维护的、符合上述描述信息中至少部分描述信息的私有样本,在本地训练对应子模型。接收各目标终端设备发送的训练结果。根据各目标终端设备的训练结果,更新贡献值列表,以及根据各目标终端设备的训练结果,更新初始模型,得到联合训练后的目标模型。
由此可以看出,本说明书提供的方案在联合训练模型时,可以先根据若干终端设备各自的累计贡献值,选取参与本次模型联合训练的各目标终端设备。之后,联合各目标终端设备训练初始模型。需要说明的是,当基于累计贡献值,对若干终端设备进行筛选时,筛选得到的目标终端设备通常可以提供更高精度、更可靠的训练样本,从而联合筛选的各目标终端设备训练初始模型时,可以大大提升模型训练效果。
此外,对于参与联合训练的各目标终端设备,服务端还可以根据各目标终端设备的耗时分数和训练结果的质量分数,计算各目标终端设备的本次贡献值,并将各目标终端设备的本次贡献值累加到对应的累计贡献值中。
由于各目标终端设备的本次贡献值的大小与其训练结果的质量相关,而各目标终端设备的训练结果的质量取决于其提供的私有样本的质量。因此。本方案的累加贡献值的方法,可以大大提升终端设备提供高质量私有样本的积极性。在各终端设备所提供的私有样本的质量提高时,可以提升联合训练的目标模型的精度。
以上就是本说明书提供的发明构思,基于该发明构思就可以得到本方案。以下对本方案进行详细阐述。
本说明书实施例提供的保护隐私的模型联合训练方法可以应用于如图1所示的场景中。图1中,服务端也可以称为云市场(cloud market),终端设备也可以称为参与方。需要说明的是,这里的服务端不同于传统的联合学习中的协作方,其不仅具有传统的协作方的所有功能,还具有根据终端设备的累计贡献值,筛选各目标终端设备的功能。在初始时,服务端与各终端设备之间的网络连接为弱连接。
具体地,任务发布者可以通过服务端配置模型训练任务。之后,服务端可以基于其与多个终端设备之间的弱连接,向多个终端设备发布模型训练任务。从而多个终端设备中的若干终端设备可以向服务端发起参与请求。该参与请求具体可以用于请求建立与服务端之间的强连接。服务端在接收到若干终端设备发送的参与请求时,查询贡献值列表,以获取若干终端设备各自的累计贡献值,并基于查询得到的累计贡献值,从若干终端设备中选取各目标终端设备。最后,各目标终端设备联合训练初始模型,得到联合训练后的目标模型。
图2为本说明书一个实施例提供的保护隐私的模型联合训练方法流程图。所述方法的执行主体可以为具有处理能力的设备:服务端或者系统或者装置,如,可以为图1中的服务端等。如图2所示,所述方法具体可以包括:
步骤202,发布模型训练任务。
具体地,任务发布者可以通过服务端配置模型训练任务。之后,服务端可以基于其与多个终端设备之间的弱连接,向多个终端设备发布模型训练任务。该模型训练任务至少指示待联合训练的初始模型,以及用于训练初始模型的训练样本的描述信息。在一个示例中,训练样本的描述信息可以包括但不限于训练样本的样本属性(也称样本特征)的属性名(或字段名)以及数据类型等。
此外,上述初始模型可以包括但不限于分类模型、回归模型以及神经网络模型等。需要说明的是,在针对初始模型进行联合训练后所得到的目标模型可以用于进行业务处理。这里的业务处理可以包括但不限于基于图像识别的业务处理(如,人脸识别、目标检测等)、基于音频识别的业务处理(如,语音识别、声纹分析等)以及基于文本分析的业务处理(如,文本分类以及意图识别等)等。
具体地,若上述业务处理为基于图像识别的业务处理,则上述用于训练初始模型的训练样本可以为图片。若上述业务处理为基于音频识别的业务处理,则上述用于训练初始模型的训练样本可以为音频。若上述业务处理为基于文本分析的业务处理,则上述用于训练初始模型的训练样本可以为文本。
步骤204,接收若干终端设备发送的参与请求。
在一个示例中,图1中的多个终端设备中任意的第一终端设备在接收到服务端发布的模型训练任务后,可以判断其维护的私有样本是否与上述描述信息中至少部分描述信息相符合。如,判断其维护的私有样本是否包含描述信息中至少一部分属性名或者字段名对应的样本属性。如果是,则向服务端发送参与请求。
在另一个示例中,多个终端设备中任意的第一终端设备在接收到服务端发布的模型训练任务后,也可以不进行判断,而直接向服务端发送参与请求。
需要说明的是,上述参与请求可以用于请求与服务端之间建立强连接。此外,若干终端设备发送的参与请求还可以包括各自的标识信息。以便服务端可以根据该标识信息,对若干终端设备的参与资格进行进一步审核。
步骤206,根据参与请求,查询贡献值列表,以获取若干终端设备各自的累计贡献值。
上述贡献值列表用于记录在历次模型联合训练中参与训练的终端设备各自的累计贡献值。
在一个示例中,服务端可以在本地维护贡献值列表。从而步骤206中的查询贡献值列表可以包括:查询存储在本地的贡献值列表,得到若干终端设备各自的累计贡献值。具体地,可以是根据参与请求中的若干终端设备的标识信息,查询存储在本地的贡献值列表,得到若干终端设备各自的累计贡献值。
在另一个示例中,贡献值列表可以存储在区块链网络中。从而步骤206中的查询贡献值列表可以包括:向区块链网络的多个节点中任意的第一节点发送查询请求,该查询请求用于指示第一节点,查询存储在区块链网络中的贡献值列表,并返回查询到的若干终端设备各自的累计贡献值。在一个例子中,上述查询请求可以包括贡献值列表的第一标识以及若干终端设备的第二标识,从而第一节点可以先根据第一标识,查找贡献值列表。之后,在查找到的贡献值列表中查询对应于各第二标识的累计贡献值。
本方案中,服务端将贡献值列表存入区块链网络中,可以保证终端设备的累计贡献值保鲜,进而可以使得查询到的内容可信。
步骤208,基于查询得到的累计贡献值,从若干终端设备中选取各目标终端设备,并将初始模型拆分为对应于各目标终端设备的多个子模型。
如,可以是从若干终端设备中选取累计贡献值大于阈值的终端设备作为各目标终端设备。
当然,在实际应用中,对于累计贡献值大于阈值的终端设备,服务端还可以判断其是否被记录在黑名单中,若是,则其也不能被选取为目标终端设备。
对于累计贡献值不大于阈值的终端设备,服务端可以指示其通过其它途径参与本次模型训练。比如,先进行预付费,之后才将其选取为目标终端设备,对此,本说明书不再详述。
需要说明书的是,由于前述若干终端设备发送的参与请求可以用于请求与服务端建立强连接,从而服务端在选取出上述各目标终端设备之后,可以与各目标终端设备建立强连接,以便后续可以基于该强连接,进行模型联合训练。
此外,服务端在选取出上述各目标终端设备之后,还可以根据预先记录的、各目标终端设备的私有样本的样本属性的属性名(或字段名)以及数据类型,对初始模型进行拆分,得到对应于各目标终端设备的多个子模型。
步骤210,向各目标终端设备发送联合训练请求。
应理解,服务端向各目标终端设备发送的联合训练请求可以包括对应子模型。从而各目标终端设备在接收到联合训练请求之后,可以基于各自维护的、符合上述描述信息中至少部分描述信息的私有样本,在本地训练对应子模型。
步骤212,接收各目标终端设备发送的训练结果。
在一个示例中,各目标终端设备向服务端发送的训练结果可以包括模型梯度和/或模型参数。以模型参数为例来说,各目标终端设备中任意的第一终端设备,向服务端发送的模型参数可以为,用于训练初始模型的训练样本的部分样本属性对应的模型参数。应理解,各目标终端设备发送的模型参数共同组成全部样本属性对应的模型参数。也即各目标终端设备发送的模型参数共同组成初始模型的全部模型参数。
步骤214,根据各目标终端设备的训练结果,更新贡献值列表,以及根据各目标终端设备的训练结果,更新初始模型,得到联合训练后的目标模型。
其中,根据各目标终端设备的训练结果,更新贡献值列表具体可以包括:确定各目标终端设备的训练结果的质量分数,以及确定各目标终端设备的耗时分数。基于各目标终端设备的耗时分数以及训练结果的质量分数,确定各目标终端设备的本次贡献值。基于各目标终端设备的本次贡献值,更新贡献值列表中各目标终端设备的累计贡献值。
在一个示例中,对于各目标终端设备中任意的第一终端设备,其训练结果的质量分数可以基于以下步骤确定:基于第一终端设备的训练结果,假定更新初始模型,并基于假定更新后的初始模型以及服务端维护的训练样本,确定对应于第一终端设备的第一损失。基于基准损失与第一损失的差值,确定第一终端设备的训练结果的质量分数,其中,基准损失基于初始模型以及服务端维护的训练样本确定。
应理解,在该示例中,训练结果的质量分数正相关于基准损失与第一损失的差值。其正相关的原由如下:由于基准损失保持不变,从而第一损失越小,基准损失与第一损失的差值越大。而第一损失越小,说明其维护的样本质量越好,从而其训练结果的质量分数应该越高。所以,上述差值越大,第一终端设备的训练结果的质量分数应该越高。
在另一个示例中,对于各目标终端设备中任意的第一终端设备,其训练结果的质量分数可以基于以下步骤确定:基于第一终端设备的训练结果,假定更新初始模型,并基于假定更新后的初始模型以及服务端维护的测试样本,确定对应于第一终端设备的第一性能指标。基于基准性能指标与第一性能指标的差值,确定第一终端设备的训练结果的质量分数,其中,基准性能指标基于初始模型以及服务端维护的测试样本确定。
应理解,在该示例中,训练结果的质量分数反相关于基准性能指标与第一性能指标。其反相关的原由如下:由于基准性能指标保持不变,从而第一性能指标越高,基准性能指标与第一性能指标的差值越小。而第一性能指标越高,说明其维护的样本质量越好,从而其训练结果的质量分数应该越高。所以,上述差值越小,第一终端设备的训练结果的质量分数应该越高。
上述第一性能指标或者基准性能指标可以是指模型的准确度、灵敏度、特异性以及马修相关系数等。
需要说明的是,以训练结果为模型参数为例来说,上述第一终端设备的模型参数通常与部分样本属性相对应,从而在基于第一终端设备的模型参数假定更新初始模型时,只将初始模型中该部分样本属性对应的初始模型参数替换为第一终端设备的模型参数,对于其它模型参数则可以保持不变。另外,上述之所以是假定更新,是因为针对初始模型的最终更新是在对各目标终端设备的模型参数进行融合(后续说明)后才执行,而上述两个示例中对初始模型的更新只是用于确定第一损失和第一性能指标。
以上是针对第一终端设备的训练结果的质量分数的确定过程的说明,以下针对第一终端设备的耗时分数的确定过程进行说明。
具体地,可以根据联合训练请求的发送时间与第一终端设备的训练结果的接收时间的差值,确定在本次模型联合训练中第一终端设备的耗时时间。根据耗时时间,确定第一终端设备的耗时分数。其中,该耗时分数反相关于上述耗时时间。
应理解,当基于上述发送时间和接收时间,确定第一终端设备的耗时时间时,这里的耗时时间可以看作是,第一终端设备对应的子模型的训练时间与第一终端设备与服务端的通信时间之和。此外,上述耗时分数反相关于耗时时间可以理解为:耗时时间越长,则耗时分数越小。耗时时间越短,则耗时分数越大。
需要说明的是,在根据第一终端设备的耗时分数以及训练结果的质量分数的确定方法,确定出各目标终端设备的耗时分数以及训练结果的质量分数之后。对每个终端设备,可以对该终端设备的耗时分数以及训练结果的质量分数进行求和或者加权求和,得到该终端设备的本次贡献值。
之后,对于各目标终端设备中的每个终端设备,将该终端设备的本次贡献值与预定系数相乘,并将得到的乘积累加到该终端设备的累计贡献值中,得到该终端设备的更新后的累计贡献值。
需要说明的是,上述针对每个终端设备所计算得到的本次贡献值可以正数,也可以为负数。
应理解,在任意的第一终端设备的本次贡献值为正数时,在将其与预定系数相乘,并累加到对应的累计贡献值中后,该累计贡献值就会增大,从而其后续被选取参与模型联合训练的机率就变大。另外,这里增大累计贡献值的过程,也可以理解为是为终端设备发放奖励的过程,这可以大大提升终端设备提供高质量私有样本的积极性。
而在任意的第一终端设备的本次贡献值为负数时,在将其与预定系数相乘,并累加到对应的累计贡献值中后,该累计贡献值就会减小。这里减小累计贡献值的过程,也可以理解为对终端设备进行惩罚的过程,从而有助于在后续的模型训练中逐步剔除或者淘汰该类终端设备。
最后,还需要说明的是,针对服务端在本地维护贡献值列表的情况,服务端可以直接在本地完成上述累加过程。针对服务端在区块链网络中维护贡献值列表的情况,服务端可以将针对各目标终端设备计算得到的乘积,发送给区块链网络的多个节点中任意的第一节点,并由该第一节点完成上述累加过程,本说明书对此不再详述。
至此,步骤214中的更新贡献值列表的步骤全部结束。以下针对初始模型的更新过程进行说明。
在一个示例中,若各目标终端设备的模型参数所对应的样本属性均不同,则对各目标终端设备的模型参数进行拼接,并基于拼接结果更新初始模型的初始模型参数,得到联合训练后的目标模型。
在另一个示例中,若任意的两个目标终端设备的模型参数所对应的样本属性相同,则从中选取性能最高的模型参数,并将其作为该样本属性对应的最终模型参数。在确定出每个样本属性对应的最终模型参数之后,将各样本属性对应的最终模型参数进行拼接,并基于拼接结果更新初始模型的初始模型参数,得到联合训练后的目标模型。
此外,步骤214所述的目标模型同步骤202所述,如,可以用于基于图像识别的业务处理、基于音频识别的业务处理以及基于文本分析的业务处理等,本说明书在此不复赘述。
最后,需要说明的是,在实际应用中,上述步骤210-步骤214可以迭代执行多次,直至达到迭代终止条件。这里的迭代终止条件可以包括但不限于更新后的初始模型的性能指标达到阈值或者联合训练时长达到阈值(任务发布者发布训练任务时配置)等。
综上,本说明书实施例提供的保护隐私的模型联合训练方法,可以在保证各终端设备的私有样本安全的情况下,进行模型联合训练。此外,本方案基于累计贡献值,对若干终端设备进行筛选,并联合筛选的各目标终端设备训练初始模型时,可以大大提升模型训练效果。最后,本方案在一次模型联合训练结束后,为各终端设备累加本次贡献值的方法,可以大大提升终端设备提供高质量私有样本的积极性。
图3为本说明书另一实施例提供的保护隐私的模型联合训练方法流程图。所述方法的执行主体可以为具有处理能力的设备:服务端或者终端设备或者系统或者装置,如,可以为图1中多个终端设备中任意的第一终端设备等。如图3所示,所述方法具体可以包括:
步骤302,接收服务端发布的模型训练任务。
具体地,任务发布者可以通过服务端配置模型训练任务。之后,服务端可以基于其与多个终端设备之间的弱连接,向多个终端设备发布模型训练任务。该模型训练任务至少指示待联合训练的初始模型,以及用于训练初始模型的训练样本的描述信息。在一个示例中,训练样本的描述信息可以包括但不限于训练样本的样本属性(也称样本特征)的属性名(或字段名)以及数据类型等。
此外,上述初始模型可以包括但不限于分类模型、回归模型以及神经网络模型等。需要说明的是,在针对初始模型进行联合训练后所得到的目标模型可以用于进行业务处理。这里的业务处理可以包括但不限于基于图像识别的业务处理(如,人脸识别、目标检测等)、基于音频识别的业务处理(如,语音识别、声纹分析等)以及基于文本分析的业务处理(如,文本分类以及意图识别等)等。
具体地,若上述业务处理为基于图像识别的业务处理,则上述用于训练初始模型的训练样本可以为图片。若上述业务处理为基于音频识别的业务处理,则上述用于训练初始模型的训练样本可以为音频。若上述业务处理为基于文本分析的业务处理,则上述用于训练初始模型的训练样本可以为文本。
步骤304,向服务端发送参与请求。
在一个示例中,第一终端设备在接收到服务端发布的模型训练任务后,可以判断其维护的私有样本是否与上述描述信息中至少部分描述信息相符合。如,判断其维护的私有样本是否包含描述信息中至少一部分属性名或者字段名对应的样本属性。如果是,则向服务端发送参与请求。
在另一个示例中,也可以不进行判断,而直接向服务端发送参与请求。
需要说明的是,上述参与请求可以用于请求与服务端之间建立强连接。此外,第一终端设备发送的参与请求还可以包括标识信息。以便服务端可以根据该标识信息,对第一终端设备的参与资格进行进一步审核。
服务端根据参与请求,查询贡献值列表,以获取第一终端设备的累计贡献值。这里的贡献值列表用于记录在历次模型联合训练中参与训练的终端设备各自的累计贡献值。
在一个示例中,服务端可以在本地维护贡献值列表。从而上述查询贡献值列表可以包括:查询存储在本地的贡献值列表,得到第一终端设备的累计贡献值。具体地,可以是根据参与请求中的第一终端设备的标识信息,查询存储在本地的贡献值列表,得到第一终端设备的累计贡献值。
在另一个示例中,贡献值列表可以存储在区块链网络中。从而上述查询贡献值列表可以包括:向区块链网络的多个节点中任意的第一节点发送查询请求,该查询请求用于指示第一节点,查询存储在区块链网络中的贡献值列表,并返回查询到的第一终端设备的累计贡献值。在一个例子中,上述查询请求可以包括贡献值列表的第一标识以及第一终端设备的第二标识,从而第一节点可以先根据第一标识,查找贡献值列表。之后,在查找到的贡献值列表中查询对应于各第二标识的累计贡献值。
步骤306,接收服务端在基于第一终端设备的累计贡献值,将第一终端设备选取为目标终端设备,并将初始模型拆分为对应于各目标终端设备的多个子模型后发送的联合训练请求。
如,可以是在第一终端设备的累计贡献值大于阈值时,将其选取为目标终端设备。
当然,在实际应用中,在第一终端设备的累计贡献值大于阈值时,服务端还可以判断其是否被记录在黑名单中,若是,则第一终端设备也不能被选取为目标终端设备。
在第一终端设备的累计贡献值不大于阈值时,服务端可以指示其通过其它途径参与本次模型训练。比如,先进行预付费,之后才将其选取为目标终端设备,对此,本说明书不再详述。
需要说明书的是,由于前述第一终端设备发送的参与请求可以用于请求与服务端建立强连接,从而服务端在将第一终端设备选取为目标终端设备之后,可以与第一终端设备建立强连接,以便后续可以基于该强连接,进行模型联合训练。
需要说明的是,服务端还可以接收其它终端设备发送的参与请求,并选取其它目标终端设备。服务端在选取出各目标终端设备之后,还可以根据预先记录的、各目标终端设备的私有样本的样本属性的属性名(或字段名)以及数据类型,对初始模型进行拆分,得到对应于各目标终端设备的多个子模型。
之后,服务端可以向各目标终端设备发送联合训练请求。应理解,服务端向各目标终端设备发送的联合训练请求可以包括对应子模型。
步骤308,基于维护的、符合上述描述信息中至少部分描述信息的私有样本,在本地训练对应子模型。
步骤310,向服务端发送训练结果,以使服务端根据各目标终端设备的训练结果,更新贡献值列表,以及根据各目标终端设备的训练结果,更新初始模型,得到联合训练后的目标模型。
在一个示例中,各目标终端设备向服务端发送的训练结果可以包括模型梯度和/或模型参数。以模型参数为例来说,第一终端设备向服务端发送的模型参数可以为,用于训练初始模型的训练样本的部分样本属性对应的模型参数。应理解,各目标终端设备发送的模型参数共同组成全部样本属性对应的模型参数。也即各目标终端设备发送的模型参数共同组成初始模型的全部模型参数。
上述服务端根据各目标终端设备的训练结果,更新贡献值列表具体可以包括:确定各目标终端设备的训练结果的质量分数,以及确定各目标终端设备的耗时分数。基于各目标终端设备的耗时分数以及训练结果的质量分数,确定各目标终端设备的本次贡献值。基于各目标终端设备的本次贡献值,更新贡献值列表中各目标终端设备的累计贡献值。
在一个示例中,对于各目标终端设备中任意的第一终端设备,其训练结果的质量分数可以基于以下步骤确定:基于第一终端设备的训练结果,假定更新初始模型,并基于假定更新后的初始模型以及服务端维护的训练样本,确定对应于第一终端设备的第一损失。基于基准损失与第一损失的差值,确定第一终端设备的训练结果的质量分数,其中,基准损失基于初始模型以及服务端维护的训练样本确定。
应理解,在该示例中,训练结果的质量分数正相关于基准损失与第一损失的差值。其正相关的原由如下:由于基准损失保持不变,从而第一损失越小,基准损失与第一损失的差值越大。而第一损失越小,说明其维护的样本质量越好,从而其训练结果的质量分数应该越高。所以,上述差值越大,第一终端设备的训练结果的质量分数应该越高。
在另一个示例中,对于各目标终端设备中任意的第一终端设备,其训练结果的质量分数可以基于以下步骤确定:基于第一终端设备的训练结果,假定更新初始模型,并基于假定更新后的初始模型以及服务端维护的测试样本,确定对应于第一终端设备的第一性能指标。基于基准性能指标与第一性能指标的差值,确定第一终端设备的训练结果的质量分数,其中,基准性能指标基于初始模型以及服务端维护的测试样本确定。
应理解,在该示例中,训练结果的质量分数反相关于基准性能指标与第一性能指标。其反相关的原由如下:由于基准性能指标保持不变,从而第一性能指标越高,基准性能指标与第一性能指标的差值越小。而第一性能指标越高,说明其维护的样本质量越好,从而其训练结果的质量分数应该越高。所以,上述差值越小,第一终端设备的训练结果的质量分数应该越高。
上述第一性能指标或者基准性能指标可以是指模型的准确度、灵敏度、特异性以及马修相关系数等。
需要说明的是,以训练结果为模型参数为例来说,上述第一终端设备的模型参数通常与部分样本属性相对应,从而在基于第一终端设备的模型参数假定更新初始模型时,只将初始模型中该部分样本属性对应的初始模型参数替换为第一终端设备的模型参数,对于其它模型参数则可以保持不变。另外,上述之所以是假定更新,是因为针对初始模型的最终更新是在对各目标终端设备的模型参数进行融合后才执行,而上述两个示例中对初始模型的更新只是用于确定第一损失和第一性能指标。以上是针对第一终端设备的训练结果的质量分数的确定过程的说明,以下针对第一终端设备的耗时分数的确定过程进行说明。
具体地,可以根据联合训练请求的发送时间与第一终端设备的训练结果的接收时间的差值,确定在本次模型联合训练中第一终端设备的耗时时间。根据耗时时间,确定第一终端设备的耗时分数。其中,该耗时分数反相关于上述耗时时间。
应理解,当基于上述发送时间和接收时间,确定第一终端设备的耗时时间时,这里的耗时时间可以看作是,第一终端设备对应的子模型的训练时间与第一终端设备与服务端的通信时间之和。此外,上述耗时分数反相关于耗时时间可以理解为:耗时时间越长,则耗时分数越小。耗时时间越短,则耗时分数越大。
需要说明的是,在根据第一终端设备的耗时分数以及训练结果的质量分数的确定方法,确定出各目标终端设备的耗时分数以及训练结果的质量分数之后。对每个终端设备,可以对该终端设备的耗时分数以及训练结果的质量分数进行求和或者加权求和,得到该终端设备的本次贡献值。
之后,对于各目标终端设备中的每个终端设备,将该终端设备的本次贡献值与预定系数相乘,并将得到的乘积累加到该终端设备的累计贡献值中,得到该终端设备的更新后的累计贡献值。
需要说明的是,上述针对每个终端设备所计算得到的本次贡献值可以正数,也可以为负数。
应理解,在任意的第一终端设备的本次贡献值为正数时,在将其与预定系数相乘,并累加到对应的累计贡献值中后,该累计贡献值就会增大,从而其后续被选取参与模型联合训练的机率就变大。另外,这里增大累计贡献值的过程,也可以理解为是为终端设备发放奖励的过程,这可以大大提升终端设备提供高质量私有样本的积极性。
而在任意的第一终端设备的本次贡献值为负数时,在将其与预定系数相乘,并累加到对应的累计贡献值中后,该累计贡献值就会减小。这里减小累计贡献值的过程,也可以理解为对终端设备进行惩罚的过程,从而有助于激发这些终端设备后续提供高质量的私有样本。
最后,还需要说明的是,针对服务端在本地维护贡献值列表的情况,服务端可以直接在本地完成上述累加过程。针对服务端在区块链网络中维护贡献值列表的情况,服务端可以将针对各目标终端设备计算得到的乘积,发送给区块链网络的多个节点中任意的第一节点,并由该第一节点完成上述累加过程,本说明书对此不再详述。
至此,上述更新贡献值列表的步骤全部结束。以下针对初始模型的更新过程进行说明。
在一个示例中,若各目标终端设备的模型参数所对应的样本属性均不同,则对各目标终端设备的模型参数进行拼接,并基于拼接结果更新初始模型的初始模型参数,得到联合训练后的目标模型。
在另一个示例中,若任意的两个目标终端设备的模型参数所对应的样本属性相同,则从中选取性能最高的模型参数,并将其作为该样本属性对应的最终模型参数。在确定出每个样本属性对应的最终模型参数之后,将各样本属性对应的最终模型参数进行拼接,并基于拼接结果更新初始模型的初始模型参数,得到联合训练后的目标模型。
此外,步骤310所述的目标模型同步骤302所述,如,可以用于基于图像识别的业务处理、基于音频识别的业务处理以及基于文本分析的业务处理等,本说明书在此不复赘述。
综上,本说明书实施例提供的保护隐私的模型联合训练方法,可以在保证各终端设备的私有样本安全的情况下,进行模型联合训练。此外,本方案基于累计贡献值,对若干终端设备进行筛选,并联合筛选的各目标终端设备训练初始模型时,可以大大提升模型训练效果。最后,本方案在一次模型联合训练结束后,为各终端设备累加本次贡献值的方法,可以大大提升终端设备提供高质量私有样本的积极性。
与上述保护隐私的模型联合训练方法对应地,本说明书一个实施例还提供的一种保护隐私的模型联合训练装置,设置于图1中的服务端。如图4所示,该装置可以包括:
发送单元402,用于发布模型训练任务。该模型训练任务至少指示待联合训练的初始模型,以及用于训练初始模型的训练样本的描述信息。
接收单元404,用于接收若干终端设备发送的参与请求。
查询单元406,用于根据接收单元404接收的参与请求,查询贡献值列表,以获取若干终端设备各自的累计贡献值。其中贡献值列表用于记录在历次模型联合训练中参与训练的终端设备各自的累计贡献值。
查询单元406具体用于:
查询存储在本地的贡献值列表,得到若干终端设备各自的累计贡献值。
查询单元406还具体用于:
向区块链网络的多个节点中任意的第一节点发送查询请求,该查询请求用于指示第一节点,查询存储在区块链网络中的贡献值列表,并返回查询到的若干终端设备各自的累计贡献值。
选取单元408,用于基于查询单元406查询的累计贡献值,从若干终端设备中选取各目标终端设备,并将初始模型拆分为对应于各目标终端设备的多个子模型。
发送单元402,还用于向选取单元408选取的各目标终端设备发送联合训练请求。该联合训练请求用于指示各目标终端设备,基于各自维护的、符合描述信息中至少部分描述信息的私有样本,在本地训练对应子模型。
接收单元404,还用于接收各目标终端设备发送的训练结果。
该训练结果包括模型参数和/或模型梯度。
更新单元410,用于根据接收单元404接收的各目标终端设备的训练结果,更新贡献值列表,以及根据各目标终端设备的训练结果,更新初始模型,得到联合训练后的目标模型。
该目标模型可以用于进行业务处理。这里的业务处理包括以下任一种:基于图像识别的业务处理、基于音频识别的业务处理以及基于文本分析的业务处理。相应地,上述私有样本或者训练样本包括以下任一种:图片样本、音频样本以及文本样本。
更新单元410具体用于:
确定各目标终端设备的训练结果的质量分数,以及确定各目标终端设备的耗时分数。
基于各目标终端设备的耗时分数以及训练结果的质量分数,确定各目标终端设备的本次贡献值。
基于各目标终端设备的本次贡献值,更新贡献值列表中各目标终端设备的累计贡献值。
上述训练结果包括模型参数,更新单元410还具体用于:
若各目标终端设备的模型参数所对应的样本属性均不同,则对各目标终端设备的模型参数进行拼接,并基于拼接结果更新初始模型的初始模型参数,得到联合训练后的目标模型。
若任意的两个目标终端设备的模型参数所对应的样本属性相同,则从中选取性能最高的模型参数,并将其作为该样本属性对应的最终模型参数。在确定出每个样本属性对应的最终模型参数之后,将各样本属性对应的最终模型参数进行拼接,并基于拼接结果更新初始模型的初始模型参数,得到联合训练后的目标模型。
这里的各目标终端设备可以包括第一终端设备。
更新单元410还具体用于:
基于第一终端设备的训练结果,假定更新初始模型,并基于假定更新后的初始模型以及服务端维护的训练样本,确定对应于第一终端设备的第一损失。
基于基准损失与第一损失的差值,确定第一终端设备的训练结果的质量分数,其中,基准损失基于初始模型以及服务端维护的训练样本确定。
更新单元410还具体用于:
基于第一终端设备的训练结果,假定更新初始模型,并基于假定更新后的初始模型以及服务端维护的测试样本,确定对应于第一终端设备的第一性能指标。
基于基准性能指标与第一性能指标的差值,确定第一终端设备的训练结果的质量分数,其中,基准性能指标基于初始模型以及服务端维护的测试样本确定。
更新单元410还具体用于:
根据联合训练请求的发送时间与第一终端设备的训练结果的接收时间的差值,确定在本次模型联合训练中第一终端设备的耗时时间。
根据耗时时间,确定第一终端设备的耗时分数,其中,该耗时分数反相关于耗时时间。
更新单元410还具体用于:
对于各目标终端设备中的每个终端设备,对该终端设备的耗时分数以及训练结果的质量分数进行求和或者加权求和,得到该终端设备的本次贡献值。
更新单元410还具体用于:
对于各目标终端设备中的每个终端设备,将该终端设备的本次贡献值与预定系数相乘,并将得到的乘积累加到该终端设备的累计贡献值中,得到该终端设备的更新后的累计贡献值。
本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。
本说明书一个实施例提供的保护隐私的模型联合训练装置,可以提升终端设备提供高质量私有样本的积极性。
与上述保护隐私的模型联合训练方法对应地,本说明书一个实施例还提供的一种保护隐私的模型联合训练装置,设置于图1中的多个终端设备中任意的第一终端设备中。如图5所示,该装置可以包括:
接收单元502,用于接收服务端发布的模型训练任务。该模型训练任务至少指示待联合训练的初始模型,以及用于训练初始模型的训练样本的描述信息。
发送单元504,用于向服务端发送参与请求,以使服务端根据参与请求,查询贡献值列表,以获取第一终端设备的累计贡献值。该贡献值列表用于记录在历次模型联合训练中参与训练的终端设备各自的累计贡献值。
发送单元504具体用于:
判断第一终端设备维护的私有样本是否与描述信息中至少部分描述信息相符合。
若是,则向服务端发送参与请求。
接收单元502,还用于接收服务端在基于第一终端设备的累计贡献值,将第一终端设备选取为目标终端设备,并将初始模型拆分为对应于各目标终端设备的多个子模型后发送的联合训练请求。
训练单元506,用于基于维护的、符合描述信息中至少部分描述信息的私有样本,在本地训练对应子模型。
发送单元504,还用于向服务端发送训练结果,以使服务端根据各目标终端设备的训练结果,更新贡献值列表,以及根据各目标终端设备的训练结果,更新初始模型,得到联合训练后的目标模型。
该训练结果包括模型参数和/或模型梯度。
上述目标模型用于进行业务处理。该业务处理包括以下任一种:基于图像识别的业务处理、基于音频识别的业务处理以及基于文本分析的业务处理。相应地,上述私有样本或者训练样本包括以下任一种:图片样本、音频样本以及文本样本。
本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。
本说明书一个实施例提供的保护隐私的模型联合训练装置,可以提升终端设备提供高质量私有样本的积极性。
另一方面,本说明书的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行图2或图3所示的方法。
另一方面,本说明书的实施例提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现图2或图3所示的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
结合本说明书公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于服务器中。当然,处理器和存储介质也可以作为分立组件存在于服务器中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述的具体实施方式,对本说明书的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的具体实施方式而已,并不用于限定本说明书的保护范围,凡在本说明书的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的保护范围之内。
Claims (34)
1.一种保护隐私的模型联合训练方法,应用于服务端;所述方法包括:
发布模型训练任务;所述模型训练任务至少指示待联合训练的初始模型,以及用于训练所述初始模型的训练样本的描述信息;
接收若干终端设备发送的参与请求;
根据所述参与请求,查询贡献值列表,以获取所述若干终端设备各自的累计贡献值;其中所述贡献值列表用于记录在历次模型联合训练中参与训练的终端设备各自的累计贡献值;
基于所述累计贡献值,从所述若干终端设备中选取各目标终端设备,并将所述初始模型拆分为对应于所述各目标终端设备的多个子模型;
向所述各目标终端设备发送联合训练请求;所述联合训练请求用于指示所述各目标终端设备,基于各自维护的、符合所述描述信息中至少部分描述信息的私有样本,在本地训练对应子模型;
接收所述各目标终端设备发送的训练结果;
根据所述各目标终端设备的训练结果,更新所述贡献值列表,以及根据所述各目标终端设备的训练结果,更新所述初始模型,得到联合训练后的目标模型。
2.根据权利要求1所述的方法,所述根据所述各目标终端设备的训练结果,更新所述贡献值列表,包括:
确定所述各目标终端设备的训练结果的质量分数,以及确定所述各目标终端设备的耗时分数;
基于所述各目标终端设备的耗时分数以及训练结果的质量分数,确定所述各目标终端设备的本次贡献值;
基于所述各目标终端设备的本次贡献值,更新所述贡献值列表中所述各目标终端设备的累计贡献值。
3.根据权利要求2所述的方法,所述各目标终端设备包括第一终端设备;
所述确定所述各目标终端设备的训练结果的质量分数,包括:
基于所述第一终端设备的训练结果,假定更新所述初始模型,并基于假定更新后的所述初始模型以及所述服务端维护的训练样本,确定对应于所述第一终端设备的第一损失;
基于基准损失与所述第一损失的差值,确定所述第一终端设备的训练结果的质量分数,其中,所述基准损失基于所述初始模型以及所述服务端维护的训练样本确定。
4.根据权利要求2所述的方法,所述各目标终端设备包括第一终端设备;
所述确定所述各目标终端设备的训练结果的质量分数,包括:
基于所述第一终端设备的训练结果,假定更新所述初始模型,并基于假定更新后的所述初始模型以及所述服务端维护的测试样本,确定对应于所述第一终端设备的第一性能指标;
基于基准性能指标与所述第一性能指标的差值,确定所述第一终端设备的训练结果的质量分数,其中,所述基准性能指标基于所述初始模型以及所述服务端维护的测试样本确定。
5.根据权利要求2所述的方法,所述各目标终端设备包括第一终端设备;所述确定所述各目标终端设备的耗时分数,包括:
根据所述联合训练请求的发送时间与所述第一终端设备的训练结果的接收时间的差值,确定在本次模型联合训练中所述第一终端设备的耗时时间;
根据所述耗时时间,确定所述第一终端设备的耗时分数;其中,所述耗时分数反相关于所述耗时时间。
6.根据权利要求2所述的方法,所述基于所述各目标终端设备的耗时分数以及训练结果的质量分数,确定所述各目标终端设备的本次贡献值,包括:
对于所述各目标终端设备中的每个终端设备,对该终端设备的耗时分数以及训练结果的质量分数进行求和或者加权求和,得到该终端设备的本次贡献值。
7.根据权利要求2所述的方法,所述基于所述各目标终端设备的本次贡献值,更新所述贡献值列表中所述各目标终端设备的累计贡献值,包括:
对于所述各目标终端设备中的每个终端设备,将该终端设备的本次贡献值与预定系数相乘,并将得到的乘积累加到该终端设备的累计贡献值中,得到该终端设备的更新后的累计贡献值。
8.根据权利要求1-7任一项所述的方法,所述训练结果包括模型参数和/或模型梯度。
9.根据权利要求1所述的方法,所述查询贡献值列表,包括:
查询存储在本地的所述贡献值列表,得到所述若干终端设备各自的累计贡献值。
10.根据权利要求1所述的方法,所述查询贡献值列表,包括:
向区块链网络的多个节点中任意的第一节点发送查询请求,所述查询请求用于指示所述第一节点,查询存储在所述区块链网络中的所述贡献值列表,并返回查询到的所述若干终端设备各自的累计贡献值。
11.根据权利要求1所述的方法,所述训练结果包括模型参数;所述根据所述各目标终端设备的训练结果,更新所述初始模型,得到联合训练后的目标模型,包括:
若所述各目标终端设备的模型参数所对应的样本属性均不同,则对所述各目标终端设备的模型参数进行拼接,并基于拼接结果更新所述初始模型的初始模型参数,得到联合训练后的目标模型;
若任意的两个目标终端设备的模型参数所对应的样本属性相同,则从中选取性能最高的模型参数,并将其作为该样本属性对应的最终模型参数;在确定出每个样本属性对应的最终模型参数之后,将各样本属性对应的最终模型参数进行拼接,并基于拼接结果更新所述初始模型的初始模型参数,得到联合训练后的目标模型。
12.根据权利要求1所述的方法,所述目标模型用于进行业务处理;所述业务处理包括以下任一种:基于图像识别的业务处理、基于音频识别的业务处理以及基于文本分析的业务处理;
相应地,所述私有样本或者所述训练样本包括以下任一种:图片样本、音频样本以及文本样本。
13.一种保护隐私的模型联合训练方法,应用于若干终端设备中任意的第一终端设备;所述方法包括:
接收服务端发布的模型训练任务;所述模型训练任务至少指示待联合训练的初始模型,以及用于训练所述初始模型的训练样本的描述信息;
向所述服务端发送参与请求;以使所述服务端根据所述参与请求,查询贡献值列表,以获取所述第一终端设备的累计贡献值;所述贡献值列表用于记录在历次模型联合训练中参与训练的终端设备各自的累计贡献值;
接收所述服务端在基于所述第一终端设备的累计贡献值,将所述第一终端设备选取为目标终端设备,并将所述初始模型拆分为对应于各目标终端设备的多个子模型后发送的联合训练请求;
基于维护的、符合所述描述信息中至少部分描述信息的私有样本,在本地训练对应子模型;
向所述服务端发送训练结果,以使所述服务端根据所述各目标终端设备的训练结果,更新所述贡献值列表,以及根据所述各目标终端设备的训练结果,更新所述初始模型,得到联合训练后的目标模型。
14.根据权利要求13所述的方法,所述向所述服务端发送参与请求,包括:
判断所述第一终端设备维护的私有样本是否与所述描述信息中至少部分描述信息相符合;
若是,则向所述服务端发送参与请求。
15.根据权利要求13或14所述的方法,所述训练结果包括模型参数和/或模型梯度。
16.根据权利要求13所述的方法,所述目标模型用于进行业务处理;所述业务处理包括以下任一种:基于图像识别的业务处理、基于音频识别的业务处理以及基于文本分析的业务处理;
相应地,所述私有样本或者所述训练样本包括以下任一种:图片样本、音频样本以及文本样本。
17.一种保护隐私的模型联合训练装置,设置于服务端;所述装置包括:
发送单元,用于发布模型训练任务;所述模型训练任务至少指示待联合训练的初始模型,以及用于训练所述初始模型的训练样本的描述信息;
接收单元,用于接收若干终端设备发送的参与请求;
查询单元,用于根据所述接收单元接收的所述参与请求,查询贡献值列表,以获取所述若干终端设备各自的累计贡献值;其中所述贡献值列表用于记录在历次模型联合训练中参与训练的终端设备各自的累计贡献值;
选取单元,用于基于所述查询单元查询的所述累计贡献值,从所述若干终端设备中选取各目标终端设备,并将所述初始模型拆分为对应于所述各目标终端设备的多个子模型;
所述发送单元,还用于向所述选取单元选取的所述各目标终端设备发送联合训练请求;所述联合训练请求用于指示所述各目标终端设备,基于各自维护的、符合所述描述信息中至少部分描述信息的私有样本,在本地训练对应子模型;
所述接收单元,还用于接收所述各目标终端设备发送的训练结果;
更新单元,用于根据所述接收单元接收的所述各目标终端设备的训练结果,更新所述贡献值列表,以及根据所述各目标终端设备的训练结果,更新所述初始模型,得到联合训练后的目标模型。
18.根据权利要求17所述的装置,所述更新单元具体用于:
确定所述各目标终端设备的训练结果的质量分数,以及确定所述各目标终端设备的耗时分数;
基于所述各目标终端设备的耗时分数以及训练结果的质量分数,确定所述各目标终端设备的本次贡献值;
基于所述各目标终端设备的本次贡献值,更新所述贡献值列表中所述各目标终端设备的累计贡献值。
19.根据权利要求18所述的装置,所述各目标终端设备包括第一终端设备;
所述更新单元还具体用于:
基于所述第一终端设备的训练结果,假定更新所述初始模型,并基于假定更新后的所述初始模型以及所述服务端维护的训练样本,确定对应于所述第一终端设备的第一损失;
基于基准损失与所述第一损失的差值,确定所述第一终端设备的训练结果的质量分数,其中,所述基准损失基于所述初始模型以及所述服务端维护的训练样本确定。
20.根据权利要求18所述的装置,所述各目标终端设备包括第一终端设备;
所述更新单元还具体用于:
基于所述第一终端设备的训练结果,假定更新所述初始模型,并基于假定更新后的所述初始模型以及所述服务端维护的测试样本,确定对应于所述第一终端设备的第一性能指标;
基于基准性能指标与所述第一性能指标的差值,确定所述第一终端设备的训练结果的质量分数,其中,所述基准性能指标基于所述初始模型以及所述服务端维护的测试样本确定。
21.根据权利要求18所述的装置,所述各目标终端设备包括第一终端设备;所述更新单元还具体用于:
根据所述联合训练请求的发送时间与所述第一终端设备的训练结果的接收时间的差值,确定在本次模型联合训练中所述第一终端设备的耗时时间;
根据所述耗时时间,确定所述第一终端设备的耗时分数;其中,所述耗时分数反相关于所述耗时时间。
22.根据权利要求18所述的装置,所述更新单元还具体用于:
对于所述各目标终端设备中的每个终端设备,对该终端设备的耗时分数以及训练结果的质量分数进行求和或者加权求和,得到该终端设备的本次贡献值。
23.根据权利要求18所述的装置,所述更新单元还具体用于:
对于所述各目标终端设备中的每个终端设备,将该终端设备的本次贡献值与预定系数相乘,并将得到的乘积累加到该终端设备的累计贡献值中,得到该终端设备的更新后的累计贡献值。
24.根据权利要求17-23任一项所述的装置,所述训练结果包括模型参数和/或模型梯度。
25.根据权利要求17所述的装置,所述查询单元具体用于:
查询存储在本地的所述贡献值列表,得到所述若干终端设备各自的累计贡献值。
26.根据权利要求17所述的装置,所述查询单元还具体用于:
向区块链网络的多个节点中任意的第一节点发送查询请求,所述查询请求用于指示所述第一节点,查询存储在所述区块链网络中的所述贡献值列表,并返回查询到的所述若干终端设备各自的累计贡献值。
27.根据权利要求17所述的装置,所述训练结果包括模型参数;所述更新单元还具体用于:
若所述各目标终端设备的模型参数所对应的样本属性均不同,则对所述各目标终端设备的模型参数进行拼接,并基于拼接结果更新所述初始模型的初始模型参数,得到联合训练后的目标模型;
若任意的两个目标终端设备的模型参数所对应的样本属性相同,则从中选取性能最高的模型参数,并将其作为该样本属性对应的最终模型参数;在确定出每个样本属性对应的最终模型参数之后,将各样本属性对应的最终模型参数进行拼接,并基于拼接结果更新所述初始模型的初始模型参数,得到联合训练后的目标模型。
28.根据权利要求17所述的装置,所述目标模型用于进行业务处理;所述业务处理包括以下任一种:基于图像识别的业务处理、基于音频识别的业务处理以及基于文本分析的业务处理;
相应地,所述私有样本或者所述训练样本包括以下任一种:图片样本、音频样本以及文本样本。
29.一种保护隐私的模型联合训练装置,设置于若干终端设备中任意的第一终端设备;所述装置包括:
接收单元,用于接收服务端发布的模型训练任务;所述模型训练任务至少指示待联合训练的初始模型,以及用于训练所述初始模型的训练样本的描述信息;
发送单元,用于向所述服务端发送参与请求;以使所述服务端根据所述参与请求,查询贡献值列表,以获取所述第一终端设备的累计贡献值;所述贡献值列表用于记录在历次模型联合训练中参与训练的终端设备各自的累计贡献值;
所述接收单元,还用于接收所述服务端在基于所述第一终端设备的累计贡献值,将所述第一终端设备选取为目标终端设备,并将所述初始模型拆分为对应于各目标终端设备的多个子模型后发送的联合训练请求;
训练单元,用于基于维护的、符合所述描述信息中至少部分描述信息的私有样本,在本地训练对应子模型;
所述发送单元,还用于向所述服务端发送训练结果,以使所述服务端根据所述各目标终端设备的训练结果,更新所述贡献值列表,以及根据所述各目标终端设备的训练结果,更新所述初始模型,得到联合训练后的目标模型。
30.根据权利要求29所述的装置,所述发送单元具体用于:
判断所述第一终端设备维护的私有样本是否与所述描述信息中至少部分描述信息相符合;
若是,则向所述服务端发送参与请求。
31.根据权利要求29或30所述的装置,所述训练结果包括模型参数和/或模型梯度。
32.根据权利要求29所述的装置,所述目标模型用于进行业务处理;所述业务处理包括以下任一种:基于图像识别的业务处理、基于音频识别的业务处理以及基于文本分析的业务处理;
相应地,所述私有样本或者所述训练样本包括以下任一种:图片样本、音频样本以及文本样本。
33.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-12中任一项所述的方法或权利要求13-16中任一项所述的方法。
34.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-12中任一项所述的方法或权利要求13-16中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010409990.XA CN111340242B (zh) | 2020-05-15 | 2020-05-15 | 保护隐私的模型联合训练方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010409990.XA CN111340242B (zh) | 2020-05-15 | 2020-05-15 | 保护隐私的模型联合训练方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111340242A true CN111340242A (zh) | 2020-06-26 |
CN111340242B CN111340242B (zh) | 2020-08-04 |
Family
ID=71186578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010409990.XA Active CN111340242B (zh) | 2020-05-15 | 2020-05-15 | 保护隐私的模型联合训练方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111340242B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111931216A (zh) * | 2020-09-16 | 2020-11-13 | 支付宝(杭州)信息技术有限公司 | 一种基于隐私保护的方式获取联合训练模型的方法及系统 |
CN111931242A (zh) * | 2020-09-30 | 2020-11-13 | 国网浙江省电力有限公司电力科学研究院 | 一种数据共享方法以及应用其的计算机设备及可读存储介质 |
CN112036504A (zh) * | 2020-09-15 | 2020-12-04 | 平安国际智慧城市科技股份有限公司 | 温度测量模型的训练方法、装置、设备及存储介质 |
CN112560105A (zh) * | 2021-02-19 | 2021-03-26 | 支付宝(杭州)信息技术有限公司 | 保护多方数据隐私的联合建模方法及装置 |
CN112560088A (zh) * | 2020-12-11 | 2021-03-26 | 同盾控股有限公司 | 基于知识联邦的数据安全交换方法、装置及存储介质 |
CN112990921A (zh) * | 2021-01-29 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、计算机及存储介质 |
CN113901505A (zh) * | 2021-12-06 | 2022-01-07 | 北京笔新互联网科技有限公司 | 数据共享方法、装置、电子设备及存储介质 |
CN114707519A (zh) * | 2022-03-23 | 2022-07-05 | 广东工业大学 | 一种面向多节点多领域及基于横向联邦学习的意图识别方法 |
WO2022222110A1 (zh) * | 2021-04-22 | 2022-10-27 | Oppo广东移动通信有限公司 | 应用于移动通信系统的联邦学习方法、装置、终端及介质 |
WO2022268203A1 (zh) * | 2021-06-24 | 2022-12-29 | 华为技术有限公司 | 用于生成神经网络模型的方法、装置、系统、设备、介质和程序产品 |
WO2023036280A1 (zh) * | 2021-09-10 | 2023-03-16 | 华为技术有限公司 | 一种模型测试方法及装置 |
WO2023088465A1 (zh) * | 2021-11-22 | 2023-05-25 | 华为技术有限公司 | 一种模型训练方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110262819A (zh) * | 2019-06-04 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 一种联邦学习的模型参数更新方法及装置 |
US20190312767A1 (en) * | 2014-12-24 | 2019-10-10 | Collision Communications, Inc. | Method and system for compressed sensing joint channel estimation in a cellular communications network |
CN110443375A (zh) * | 2019-08-16 | 2019-11-12 | 深圳前海微众银行股份有限公司 | 一种联邦学习方法及装置 |
CN111125779A (zh) * | 2019-12-17 | 2020-05-08 | 山东浪潮人工智能研究院有限公司 | 一种基于区块链的联邦学习方法及装置 |
-
2020
- 2020-05-15 CN CN202010409990.XA patent/CN111340242B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190312767A1 (en) * | 2014-12-24 | 2019-10-10 | Collision Communications, Inc. | Method and system for compressed sensing joint channel estimation in a cellular communications network |
CN110262819A (zh) * | 2019-06-04 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 一种联邦学习的模型参数更新方法及装置 |
CN110443375A (zh) * | 2019-08-16 | 2019-11-12 | 深圳前海微众银行股份有限公司 | 一种联邦学习方法及装置 |
CN111125779A (zh) * | 2019-12-17 | 2020-05-08 | 山东浪潮人工智能研究院有限公司 | 一种基于区块链的联邦学习方法及装置 |
Non-Patent Citations (1)
Title |
---|
JIAWEN KANG 等: "Incentive Mechanism for Reliable Federated Learning: A Joint Optimization Approach to Combining Reputation and Contract Theory", 《IEEE INTERNET OF THINGS JOURNAL》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112036504A (zh) * | 2020-09-15 | 2020-12-04 | 平安国际智慧城市科技股份有限公司 | 温度测量模型的训练方法、装置、设备及存储介质 |
CN111931216A (zh) * | 2020-09-16 | 2020-11-13 | 支付宝(杭州)信息技术有限公司 | 一种基于隐私保护的方式获取联合训练模型的方法及系统 |
CN111931242A (zh) * | 2020-09-30 | 2020-11-13 | 国网浙江省电力有限公司电力科学研究院 | 一种数据共享方法以及应用其的计算机设备及可读存储介质 |
CN112560088A (zh) * | 2020-12-11 | 2021-03-26 | 同盾控股有限公司 | 基于知识联邦的数据安全交换方法、装置及存储介质 |
CN112560088B (zh) * | 2020-12-11 | 2024-05-28 | 同盾控股有限公司 | 基于知识联邦的数据安全交换方法、装置及存储介质 |
CN112990921A (zh) * | 2021-01-29 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、计算机及存储介质 |
CN112990921B (zh) * | 2021-01-29 | 2024-02-09 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、计算机及存储介质 |
CN112560105A (zh) * | 2021-02-19 | 2021-03-26 | 支付宝(杭州)信息技术有限公司 | 保护多方数据隐私的联合建模方法及装置 |
WO2022222110A1 (zh) * | 2021-04-22 | 2022-10-27 | Oppo广东移动通信有限公司 | 应用于移动通信系统的联邦学习方法、装置、终端及介质 |
WO2022268203A1 (zh) * | 2021-06-24 | 2022-12-29 | 华为技术有限公司 | 用于生成神经网络模型的方法、装置、系统、设备、介质和程序产品 |
WO2023036280A1 (zh) * | 2021-09-10 | 2023-03-16 | 华为技术有限公司 | 一种模型测试方法及装置 |
WO2023088465A1 (zh) * | 2021-11-22 | 2023-05-25 | 华为技术有限公司 | 一种模型训练方法及相关装置 |
CN113901505B (zh) * | 2021-12-06 | 2022-04-15 | 北京笔新互联网科技有限公司 | 数据共享方法、装置、电子设备及存储介质 |
CN113901505A (zh) * | 2021-12-06 | 2022-01-07 | 北京笔新互联网科技有限公司 | 数据共享方法、装置、电子设备及存储介质 |
CN114707519A (zh) * | 2022-03-23 | 2022-07-05 | 广东工业大学 | 一种面向多节点多领域及基于横向联邦学习的意图识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111340242B (zh) | 2020-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111340242B (zh) | 保护隐私的模型联合训练方法及装置 | |
CN110610242B (zh) | 一种联邦学习中参与者权重的设置方法及装置 | |
CN108805091B (zh) | 用于生成模型的方法和装置 | |
CN111325417B (zh) | 实现隐私保护的多方协同更新业务预测模型的方法及装置 | |
CN109710691B (zh) | 一种基于深度学习的混合区块链模型构建方法 | |
CN111340237A (zh) | 数据处理和模型运行方法、装置和计算机设备 | |
CN109002784B (zh) | 街景识别方法和系统 | |
CN109063433B (zh) | 虚假用户的识别方法、装置及可读存储介质 | |
JPWO2019146044A1 (ja) | 交渉装置、推定方法、プログラム、推定装置 | |
CN111353804A (zh) | 一种服务评价方法、装置、终端设备和介质 | |
CN112686317A (zh) | 神经网络训练方法、装置、电子设备及存储介质 | |
CN111062486A (zh) | 一种评价数据的特征分布和置信度的方法及装置 | |
CN110503982A (zh) | 一种语音质量检测的方法以及相关装置 | |
CN101447995A (zh) | 一种识别p2p数据流的方法、装置和系统 | |
CN114416485A (zh) | 数据处理方法及装置 | |
CN113468403A (zh) | 基于大数据挖掘的用户信息预测方法及云计算ai服务系统 | |
CN112100452B (zh) | 数据处理的方法、装置、设备及计算机可读存储介质 | |
CN111008130B (zh) | 智能问答系统测试方法和装置 | |
CN110990541A (zh) | 一种实现问答的方法及装置 | |
CN112948262A (zh) | 一种系统测试方法、装置、计算机设备和存储介质 | |
CN110276514B (zh) | 业务相关因素的评估方法、装置及设备 | |
CN116680480A (zh) | 产品推荐方法、装置、电子设备及可读存储介质 | |
CN112732470B (zh) | 电能量数据的联邦学习可靠性评估方法和装置 | |
CN110176225B (zh) | 一种韵律预测效果的评估方法及装置 | |
CN114781517A (zh) | 风险识别的方法、装置及终端设备 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40030181 Country of ref document: HK |