掌桥专利:专业的专利平台
掌桥专利
首页

基于联邦学习系统的模型训练方法、装置、电子设备

文献发布时间:2023-06-19 11:57:35


基于联邦学习系统的模型训练方法、装置、电子设备

技术领域

本申请涉及人工智能技术领域,尤其涉及一种基于联邦学习系统的模型训 练方法、装置、电子设备及计算机可读存储介质。

背景技术

联邦学习技术是新兴的一种隐私保护技术,能够保证数据在不出本地的前 提下,有效联合各方数据进行模型训练。

相关技术中,通常只支持一个标签提供方与一个特征提供方参与联邦学习 模型的训练,由于标签提供方提供的训练样本数量相对于整个联邦学习模型的 训练样本数量而言数量较少,在相关普通单个标签提供方参与的纵向联邦学习 框架下,如只和特征提供方进行建模,容易导致结果模型过拟合,模型预测结 果不准确,例如,地方银行在决定贷款额度或信用卡额度时,会导致贷款额度 过高或过低。

发明内容

本申请实施例提供一种基于联邦学习系统的模型训练方法、装置、电子设 备、计算机可读存储介质及计算机程序产品,能够保证数据的安全性,提高模 型的预测准确率。

本申请实施例的技术方案是这样实现的:

本申请实施例提供一种基于联邦学习系统的模型训练方法,所述系统包括 至少两个具有模型训练标签的第一参与方设备、至少一个第二参与方设备以及 参数聚合设备,所述方法应用于所述参数聚合设备,包括:

获取所述至少两个模型训练标签对应的第一子模型的第一模型参数,以及 相应第二子模型的第二模型参数;

其中,所述第一模型参数及所述第二模型参数为,各所述第一参与方设备 基于本地模型训练标签,分别与所述第二参与方设备,进行纵向联邦学习模型 训练所得到;

获取各所述模型训练标签的标签含义,并基于所述标签含义确定所述至少 两个模型训练标签间的关联关系;

基于所述至少两个模型训练标签间的关联关系,对至少两个所述第一模型 参数及所述第二模型参数进行参数聚合,得到全局模型参数;

将所述全局模型参数分发至各所述第一参与方设备、以及所述第二参与方 设备,以使所述第一参与方设备及所述第二参与方设备,基于所述全局模型参 数更新本地模型的模型参数。

本申请实施例提供一种基于联邦学习系统的模型训练装置,包括:

获取模块,用于获取所述至少两个模型训练标签对应的第一子模型的第一 模型参数,以及相应第二子模型的第二模型参数;

其中,所述第一模型参数及所述第二模型参数为,各所述第一参与方设备 基于本地模型训练标签,分别与所述第二参与方设备进行模型训练所得到;

确定模块,用于获取各所述模型训练标签的标签含义,并基于所述标签含 义确定所述至少两个模型训练标签间的关联关系;

聚合模块,用于基于所述至少两个模型训练标签间的关联关系,对至少两 个所述第一模型参数及所述第二模型参数进行参数聚合,得到全局模型参数;

训练模块,用于将所述全局模型参数分发至各所述第一参与方设备、以及 所述第二参与方设备,以使所述第一参与方设备及所述第二参与方设备,基于 所述全局模型参数更新本地模型的模型参数。

上述方案中,所述聚合模块,还用于分别获取各所述第一参与方设备与所 述第二参与方设备的训练样本的数量,以及用于模型训练的训练样本的总数量;

基于所述至少两个模型训练标签间的关联关系,获取的训练样本的数量及 所述总数量,确定所述第一模型参数以及所述第二模型参数的权重;

根据获取的所述权重,对各所述第一模型参数以及所述第二模型参数进行 加权求和,得到所述全局模型参数。

上述方案中,所述获取模块,还用于当所述关联关系表征各所述模型训练 标签的标签含义相同时,分别确定各所述第一参与方设备的训练样本的数量与 所述总数量的比值,将确定的比值作为相应第一参与方设备的第一模型参数的 权重;

确定各所述第二参与方设备的训练样本的数量与所述总数量的比值,将确 定的比值作为相应第二参与方设备的第二模型参数的权重。

上述方案中,所述获取模块,还用于创建密钥对,所述密钥对包括公钥和 私钥;

将所述公钥分发至所述至少两个第一参与方设备、以及所述第二参与方设 备;

相应的,所述获取所述至少两个模型训练标签对应的第一子模型的第一模 型参数,以及相应的第二子模型的第二模型参数,包括:

获取各所述第一参与方设备发送的加密的第一模型参数,以及所述第二参 与方设备发送的加密的所述第二模型参数;

其中,所述加密的第一模型参数为,所述第一参与方设备基于所述公钥, 对本地所述模型训练标签对应的第一子模型的第一模型参数加密得到;所述加 密的第二模型参数为,所述第二参与方设备基于所述公钥,对本地第二子模型 的第二模型参数加密得到。

上述方案中,所述获取模块还用于获取所述密钥对中的私钥;

基于所述私钥分别对接收到的加密的各所述第一模型参数以及加密的所述 第二模型参数,进行解密,得到解密的各所述第一模型参数以及解密的各所述 第二模型参数;

相应的,所述对至少两个所述第一模型参数及所述第二模型参数进行参数 聚合,得到全局模型参数,包括:

对解密的各所述第一模型参数以及解密的各所述第二模型参数进行参数聚 合,得到全局模型参数。

上述方案中,当所述关联关系表征存在不同含义的模型训练标签且所述模 型训练标签间存在标签转换关系时,所述获取所述至少两个模型训练标签对应 的第一子模型的第一模型参数,以及相应第二子模型的第二模型参数之后,所 述聚合模块,还用于获取所述标签转换关系;

基于所述标签转换关系,对各所述模型训练标签中不同含义的模型训练标 签进行转换,得到含义相同的模型训练标签;

基于转换得到的各所述模型训练标签,更新各所述第一模型参数以及所述 第二模型参数;

相应的,对至少两个所述第一模型参数及所述第二模型参数,进行参数聚 合,得到全局模型参数,包括:

对更新后的所述第一模型参数及所述第二模型参数进行参数聚合,得到全 局模型参数。

上述方案中,所述获取模块,还用于接收到第一通知消息,所述第一通知 消息为至少两个所述第一参与方设备中之一所发送,用于指示相应第一参与方 设备的本地第一子模型达到收敛条件;

基于所述第一通知消息,存储相应第一参与方设备本地第一子模型达到收 敛条件时的第一模型参数;

相应的,获取所述至少两个模型训练标签对应的第一子模型的第一模型参 数,以及相应第二子模型的第二模型参数,包括:

获取所述至少两个模型训练标签对应的第一子模型未达到收敛条件的第一 模型参数,以及相应第二子模型的第二模型参数;

所述对至少两个所述第一模型参数及所述第二模型参数进行参数聚合,得 到全局模型参数,包括:

对存储的所述第一模型参数、接收到的所述第一模型参数及所述第二模型 参数,进行参数聚合,得到全局模型参数。

上述方案中,当所述第二参与方设备的数量为至少两个时,所述聚合模块 还用于获取所述第一参与方设备与所述第二参与方设备间的映射关系,所述映 射关系,用于指示与各所述第二参与方设备进行纵向联邦学习模型训练的第一 参与方设备;

基于所述映射关系、接收到的所述第一模型参数及所述第二模型参数,构 建对应各所述第二参与方设备的模型参数组;

其中,所述模型参数组中包含第一数量的模型参数对;所述模型参数对包 含所述第一模型参数以及相应的所述第二模型参数;所述第一数量为,与所述 第二参数方设备进行纵向联邦学习模型训练的所述第一参与方设备的数量;

分别对各所述模型参数组中的模型参数对进行参数聚合,得到各所述模型 参数组对应的局部模型参数;

对各所述局部模型参数进行参数聚合,得到全局模型参数。

上述方案中,所述获取模块还用于,基于所述映射关系,获取与所述第二 参与设备对应的第一参与方设备组;

接收到所述第一参与方设备组中各所述第一参与方设备发送的第一通知消 息后,向相应第二参与方设备发送停止更新消息;

其中,所述停止更新消息,用于指示所述第二参与方设备停止模型参数更 新。

上述方案中,所述获取模块还用于,当各所述第一子模型达到预设收敛条 件时,向各所述第一参与方设备、以及所述第二参与方设备发送第二通知消息;

所述第二通知消息,用于通知各所述第一参与方设备、以及所述第二参与 方设备分别基于接收到的所述全局参数,更新各自本地的模型参数之后停止模 型训练。

本申请实施例提供一种电子设备,包括:

存储器,用于存储可执行指令;

处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例 提供的基于联邦学习系统的模型训练方法。

本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引 起处理器执行时,实现本申请实施例提供的基于联邦学习系统的模型训练方法。

本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序 被处理器执行时实现本申请实施例提供的基于联邦学习系统的模型训练方法。

本申请实施例具有以下有益效果:

与相关技术中仅支持一个第一参与方设备(标签提供方)参与的联邦学习 的模型训练相比,本申请实施例通过搭建包括至少两个具有模型训练标签的第 一参与方设备、至少一个第二参与方设备以及参数聚合设备的联邦学习系统, 实现多标签提供方联合进行纵向联邦建模。第一参与方设备与相应的第二参与 方设备对本地模型进行基于纵向联邦学习方式的模型训练,得到各第一模型参 数以及各第二模型参数,并将各第一模型参数以及各第二模型参数上传至参数 聚合设备,参数聚合设备对各第一模型参数以及各第二模型参数进行安全聚合, 得到全局模型参数,各第一参与方设备以及各第二参与方设备基于获取的全局 模型参数更新各自本地模型的模型参数。这种基于全局模型参数的更新本地模 型的方式,能够大幅度减少多个参与方之间的交互次数,降低通信要求,并且 在整个模型训练过程中,各个参与方设备之间均未暴露本地训练数据,从而保 障了各个参与方的数据安全,又通过扩充第一参与方设备的数量提高训练完成 模型的预测准确率。

附图说明

图1是本申请实施例提供的联邦学习系统的一个可选的结构示意图;

图2是本申请实施例提供的电子设备的一个可选的结构示意图;

图3是本申请实施例提供的基于联邦学习系统的模型训练方法的一个可选 的流程示意图;

图4是本申请实施例提供的基于联邦学习系统的模型训练方法的一个可选 的流程示意图;

图5是本申请实施例提供的基于联邦学习系统的模型训练方法的一个可选 的流程示意图;

图6是本申请实施例提供的基于联邦学习系统的模型训练方法的一个可选 的流程示意图;

图7是本申请实施例提供的基于联邦学习系统的模型训练方法的一个可选 的流程示意图;

图8是本申请实施例提供的基于联邦学习系统的模型训练方法的一个可选 的流程示意图;

图9是本申请实施例提供的基于联邦学习系统的模型训练方法的一个可选 的流程示意图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申 请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普 通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本 申请保护的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集, 但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并 且可以在不冲突的情况下相互结合。

如果申请文件中出现“第一/第二”的类似描述则增加以下的说明,在以下的 描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对 对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定 的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描 述的以外的顺序实施。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术 领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申 请实施例的目的,不是旨在限制本申请。

对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词 和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。

1)联邦学习(Federated Learning),是一种分布式学习的机器学习框架, 在保障数据交换时的信息安全、保护终端数据和个人数据隐私、保证合法合规 的前提下,在多参与方的计算设备之间开展高效率的机器学习。

2)纵向联邦学习(vertical Federated Learning),也称为样本对齐的联邦学习,纵向联邦使训练数据特征维度增加,在参与者的数据特征重叠较小,而用 户重叠较多的情况下,取出参与者用户相同而用户数据特征不同的那部分用户 及数据进行联合训练机器学习模型。

如有属于同一个地区的两个参与者A和B,其中参与者A是一家银行,参 与者B是一个电商平台。参与者A和B在同一地区拥有较多相同的用户,但是 A与B的业务不同,记录的用户数据特征是不同的。特别地,A和B记录的用 户数据特征可能是互补的。在这样的场景下,可以使用纵向联邦学习来帮助A 和B构建联合机器学习预测模型,帮助A和B向他们的客户提供更好的服务。

3)线性回归,是一种基于线性模型去拟合数据特征(自变量)和数据标签(因 变量)的方法。

线性回归的应用场景包括但不限于房价预测、销售额度预测、贷款额度预 测、利用线性回归以及系数分析因子。

发明人发现,相关技术中,纵向联邦线性模型通常只有一个标签提供方与 一个特征提供方进行联合建模,因标签提供方本身样本相对于这个纵向联邦线 性模型的样本数量而言数量较少,在相关普通单个标签提供方的纵向联邦学习 框架下,如只与特征提供方进行建模,容易导致结果模型过拟合,在实际应用 中如地方银行在决定贷款额度或信用卡额度时,模型效果不理想:在上述例子 中即为额度过高或过低。

基于此,本申请实施例提供一种基于联邦学习系统的模型训练方法、装置、 电子设备、计算机可读存储介质及计算机程序产品,能够安全、全面的利用多 方样本数据联合训练模型,提高模型的预测准确率。

首先对本申请实施例提供的基于联邦学习系统的模型训练系统进行说明, 参见图1,图1是本申请实施例提供的联邦学习系统100的一个可选的架构示 意图,第一参与方设备400(示例性的示出了2个第一参与方设备,分别记为 400-1和终端400-2,以示区分,在实际实施时,可以包括多个第一参与方设备), 第二参与方设备410,第一参与方设备400和第二参与方设备410通过网络300 互相连接同时通过网络300连接参数聚合设备200,网络300可以是广域网或 者局域网,又或者是二者的组合,使用无线链路实现数据传输。

在一些实施例中,第一参与方设备400以及第二参与方设备410可以是笔 记本电脑,平板电脑,台式计算机,智能手机,专用消息设备,便携式游戏设 备,智能音箱,智能手表等,还可以是联邦学习参与方的客户终端,例如各银 行或金融机构等存储有用户特征数据的参与方设备,但并不局限于此。参数聚 合设备200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器 集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云 存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,Content Delivery Network)、以及大数据和人工智能平台等基础云计算 服务的云服务器,用于协助各参与方设备进行联邦学习以得到联邦学习模型。 网络300可以是广域网或者局域网,又或者是二者的组合。第一参与方设备400、 第二参与方设备410以及参数聚合设备200可以通过有线或无线通信方式进行 直接或间接地连接,本申请实施例中不做限制。

第一参与方设备400,用于与第二参与方设备410进行纵向联邦学习模型 训练,生成本地模型的第一模型参数,并将第一模型参数发送至参数聚合设备 200,接收到由参数聚合设备200发送的全局模型参数,并根据全局模型参数更 新本地模型的模型参数。

第二参与方设备410,用于与第一参与方设备400进行纵向联邦学习模型 训练,生成本地模型的第一模型参数,并将第二模型参数发送至参数聚合设备 200,接收到由参数聚合设备200发送的全局模型参数,并根据全局模型参数更 新本地模型的模型参数。

参数聚合设备200,用于接收到至少两个第一参与方设备400发送的本地 第一子模型的第一模型参数,以及第二参与方设备410发送的本地第二子模型 的第二模型参数;其中,第一模型参数及第二模型参数为,各第一参与方设备 400分别与第二参与方设备410,进行纵向联邦学习模型训练所得到;对接收到 的至少两个第一模型参数及至少一个第二模型参数,进行参数聚合,得到全局 模型参数;将全局模型参数分发至各第一参与方设备400、以及第二参与方设 备410,以使第一参与方设备400及第二参与方设备410,基于全局模型参数更 新本地模型的模型参数。

参见图2,图2是本申请实施例提供的电子设备500的一个可选的结构示 意图,在实际应用中,电子设备500可以实施为图1中的第一参与方设备400 或第二参与方设备410或参数聚合服务器200,以电子设备为图1所示的参数 聚合设备200为例,对实施本申请实施例的基于联邦学习系统的模型训练方法 的电子设备进行说明。图2所示的电子设备500包括:至少一个处理器510、 存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组 件通过总线系统540耦合在一起。可以理解,总线系统540用于实现这些组件 之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制 总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总 线系统540。

处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处 理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑 器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以 是微处理器或者任何常规的处理器等。

用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包 括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或 多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、 麦克风、触屏显示屏、摄像头、其他输入按钮和控件。

存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包 括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位 置上远离处理器510的一个或多个存储设备。

存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易 失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。

在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的 示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。

操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系 统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理 基于硬件的任务;

网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到 达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、 和通用串行总线(USB,Universal Serial Bus)等;

呈现模块553,用于经由一个或多个与用户接口530相关联的输出装置531 (例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和 显示内容和信息的用户接口);

输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一 的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。

在一些实施例中,本申请实施例提供的基于联邦学习系统的模型训练装置 可以采用软件方式实现,图2示出了存储在存储器550中的基于联邦学习系统 的模型训练装置555,其可以是程序和插件等形式的软件,包括以下软件模块: 获取模块5551、确定模块5552、聚合模块5553、训练模块5554,这些模块是 逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下 文中说明各个模块的功能。

在另一些实施例中,本申请实施例提供的基于联邦学习系统的模型训练装 置可以采用硬件方式实现,作为示例,本申请实施例提供的基于联邦学习系统 的模型训练装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本 申请实施例提供的基于联邦学习系统的模型训练方法,例如,硬件译码处理器 形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、 现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件。

接下来,将结合本申请实施例提供的参数聚合设备的示例性应用和实施, 说明本申请实施例提供的基于联邦学习系统的模型训练方法,其中,联邦学习 系统包括至少两个具有模型训练标签的第一参与方设备、至少一个第二参与方 设备以及参数聚合设备。

参见图3,图3是本申请实施例提供的基于联邦学习系统的模型训练方法 的一个可选的流程示意图,将结合图3示出的步骤进行说明。

步骤101中,参数聚合设备获取至少两个模型训练标签对应的第一子模型 的第一模型参数,以及相应第二子模型的第二模型参数;其中,第一模型参数 及第二模型参数为,各第一参与方设备基于本地模型训练标签,分别与第二参 与方设备,进行纵向联邦学习模型训练所得到。

这里,基于联邦学习系统的模型可以是纵向联邦线性回归模型,也可以是 纵向联邦线性分类模型。

对第一参与方设备发送本地第一子模型的第一模型参数进行说明,在一些 实施例中,假设有k个第一参与方设备参与建模,其中,第k个第一参与方设 备在本地计算模型参数,并使用同态加密、差分隐私或秘密共享等加密技术, 对第一模型参数进行掩饰,并将掩饰后的第一模型参数(即加密模型参数)发 送给参数聚合设备(可称协调方),第一参与方k=1,2,……,K都执行此操 作。

其中,第二参与方设备发送本地第二子模型的第二模型参数与第一参与方 发送本地第一子模型的第一模型参数的方式一致。

对第一参与方设备对本地第一子模型进行训练得到第一模型参数、以及第 二参与方设备对本地第二子模型进行训练得到第二模型参数的过程进行说明, 在一些实施例中,各参与方设备均需要在保护数据隐私的情况下实现模型的训 练,且一般会引入一个半诚实的第三方来辅助参与方(此实施例中为参数聚合 服务器)进行安全的联邦学习,其中第三方可以由权威机关扮演或由安全计算 节点代替,第三方可以独立于各参与方设备,也可以是各第一参与方设备之间 通过选举机制确定的一个第一参与方设备。

为了保证各参与方设备中数据的安全性,第三方会生成公私钥对,并将公 钥分发给各参与方设备,具体的,参数聚合设备创建密钥对,所述密钥对包括 公钥和私钥;将所述公钥分发至所述至少两个第一参与方设备、以及所述第二 参与方设备;相应的,所述获取所述至少两个模型训练标签对应的第一子模型 的第一模型参数,以及相应的第二子模型的第二模型参数,包括:获取各所述 第一参与方设备发送的加密的第一模型参数,以及所述第二参与方设备发送的 加密的所述第二模型参数;其中,所述加密的第一模型参数为,所述第一参与 方设备基于所述公钥,对本地第一子模型的第一模型参数加密得到;所述加密 的第二模型参数为,所述第二参与方设备基于所述公钥,对本地第二子模型的 第二模型参数加密得到。

在实际实施时,对第一参与方设备对本地第一子模型进行训练得到第一模 型参数一般分为两部分,首先是对齐具有相同样本标识(一般情况下是指用户 ID)、但分布于不同参与方的样本数据;可以理解为,利用第一参与方设备提供 的第一样本数据、以及第二参与方设备提供的第二样本数据,基于加密的实体 关联技术,建立第一样本数据中的对象(样本或者用户)与第二样本数据中的 对象的关联关系,基于该关联关系,确定互相重叠的共同对象(用户)。

然后基于这些已对齐的训练样本数据执行加密的(或隐私保护的)模型训 练过程。

示例性的,基于图3,在步骤101之前,各第一参与方设备以及相应的第 二参与方设备进行纵向联邦学习模型训练,参见图4,图4是本申请实施例提 供的基于联邦学习系统的模型训练方法的一个可选的流程示意图,将结合各步 骤说明纵向联邦学习模型训练过程。

步骤201中,协调方设备创建密钥对,并将公钥发送给第一参与方设备以 及相应的第二参与方设备。

这里,协调方设备可以是前述的参数聚合设备,也可以是新增的可信的第 三方服务器,也可以是参与模型训练的第一参与方设备。

步骤202中,第一参与方设备和第二参与方设备对中间结果进行加密和交 换,其中,中间结果用来帮助计算第一参与方设备对应的第一模型参数,以及 第二参与方设备对应的第二模型参数。

这里,第一模型参数可以包括梯度以及损失值,第二模型参数包括梯度。

步骤203中,第一参与方设备计算本地第一子模型对应的第一模型参数, 第二参与方设备计算本地第二子模型对应的第二模型参数,并将各自的模型参 数通过公钥加密后发送给协调方设备。

步骤204中,协调方设备通过私钥对加密的第一模型参数和加密的第二模 型参数进行解密,并将解密的第一模型参数发送回第一参与方设备,将解密的 第二模型参数发送给第二参与方设备,以使第一参与方设备根据解密的第一模 型参数更新本地模型的模型参数,第二参与方设备根据解密的第二模型参数更 新本地模型的模型参数更新各自本地模型的模型参数。

在一些实施例中,在对多个第一模型参数以及第二模型参数执行安全聚合 操作之前,第一模型参数可以是参数聚合设备预先存储的达到收敛条件的第一 参与方设备提供的第一模型参数,预先存储的第一模型参数信息是在接收到相 应第一参与方设备发送的通知消息后存储的该第一子模型达到收敛时的第一模 型参数,通知消息用于指示该第一参与方对应的第一子模型已经收敛,模型不 再更新。具体的,接收到第一通知消息,所述第一通知消息为至少两个所述第 一参与方设备中之一所发送,用于指示相应第一参与方设备的本地第一子模型 达到收敛条件;基于所述第一通知消息,存储相应第一参与方设备本地第一子 模型达到收敛条件时的第一模型参数;相应的,获取所述至少两个模型训练标签对应的第一子模型的第一模型参数,以及相应第二子模型的第二模型参数, 包括:获取所述至少两个模型训练标签对应的第一子模型未达到收敛条件的第 一模型参数,以及相应第二子模型的第二模型参数。

步骤102中,获取各模型训练标签的标签含义,并基于标签含义确定所述 至少两个模型训练标签间的关联关系。

这里,至少两个模型训练标签的含义可以是相同的,也可以是不同的。当 存在不同含义的模型训练标签时,不同含义的模型训练标签间具有一定的关联 关系。可以理解的是,至少两个不同含义的模型训练标签,并不是相互之间完 全不相关的模型训练标签,而是各模型训练标签之间相互关联。

示例性地,模型训练标签1与模型训练标签2含义不同,但二者之间具有 关联关系,模型训练标签1是{A,B,C}三分类标签,模型训练标签2是{90~ 100,80~90,70~80,60~70,60分以下}的分数标签,但是模型标签2可以根 据自定义的规则,如模型标签2中低于70分确定为模型标签1中的C,模型标 签2中70~90分确定为模型标签1中的B,模型标签2中90~100分确定为模型 标签1中的A,转换成模型训练标签1对应的A、B、C。即保证使用训练完成 的模型进行结果预测时,得到是同一含义的预测值。本申请实施例不对自定义 规则做限制。

在一些实施例中,各模型训练标签间的关联关系,可以用于训练样本筛选, 保证各第一参与方设备与第二参与方设备提供的训练样本都是存在前述关联关 系。

步骤103中,基于至少两个模型训练标签间的关联关系,对至少两个第一 模型参数及第二模型参数进行参数聚合,得到全局模型参数。

这里,所有的第一模型参数与所有的第二模型参数构成模型的全局参数。

对参数聚合进行说明,在一些实施例中,对参数进行安全聚合是对模型参 数的权重进行加权求和,具体的,获取各所述第一模型参数以及所述第二模型 参数的权重;根据获取的所述权重,对各所述第一模型参数以及所述第二模型 参数进行加权求和,得到所述全局模型参数。

对获取权重的方式进行说明,在一些实施例中,第一模型参数的权重、以 及第二模型参数的权重可以通过相应的训练样本的数量体现,具体的,分别获 取各所述第一参与方设备与所述第二参与方设备的训练样本的数量,以及用于 模型训练的训练样本的总数量;基于所述至少两个模型训练标签间的关联关系, 获取的训练样本的数量及所述总数量,确定所述第一模型参数以及所述第二模 型参数的权重;根据获取的所述权重,对各所述第一模型参数以及所述第二模 型参数进行加权求和,得到所述全局模型参数。

在一些实施例中,可以根据第一参与方设备的训练样本的数量与训练样本 的总数量的比值确定第一模型参数的区中,根据第二参与方设备的训练样本的 数量与训练样本的总数量比值确定第二模型参数的权重。具体的,当所述关联 关系表征各所述模型训练标签的标签含义相同时,分别确定各所述第一参与方 设备的训练样本的数量与所述总数量的比值,将确定的比值作为相应第一参与 方设备的第一模型参数的权重;确定各所述第二参与方设备的训练样本的数量 与所述总数量的比值,将确定的比值作为相应第二参与方设备的第二模型参数 的权重。

在一些实施例中,第一模型参数的权重、以及第二模型参数的权重还可以 通过各第一参与方设备以及各第二参与方设备的计算力来体现,具体的,分别 获取各所述第一参与方设备与所述第二参与方设备的计算能力,以及用于模型 训练的各参与方设备的总计算能力;分别确定各所述第一参与方设备的计算能 力与所述总计算能力的比值,将确定的比值作为相应第一参与方设备的第一模 型参数的权重,并确定各所述第二参与方设备的计算能力与所述总计算能力比 值,将确定的比值作为相应第二参与方设备的第二模型参数的权重。

在实际实施时,可使用的参数聚合公式如下:

其中,

示例性地,一个可能的加权公式为:

其中,

在一些实施例中,至少两个携带有模型训练标签的第一参与方设备(标签 提供方)可能存在不同含义的模型训练标签,鉴于模型训练的最终目标是生成 一个预测效果良好的模型,其中预测结果就是模型训练标签指示的信息,因此 需要在进行安全聚合之前,执行标签转换操作,保证各第一参与方设备中的模 型标签含义一致,具体的,获取标签转换关系;基于所述标签转换关系,对各 所述模型训练标签中不同含义的模型训练标签进行转换,得到含义相同的模型 训练标签;基于转换得到的各所述模型训练标签,更新各所述第一模型参数以 及所述第二模型参数;相应的,对接收到的至少两个所述第一模型参数及至少 一个所述第二模型参数,进行参数聚合,得到全局模型参数,包括:对更新后 的所述第一模型参数及所述第二模型参数进行参数聚合,得到全局模型参数。

示例性地,设有银行A、银行B、商场C三方基于联邦学习进行多方联合 建模,训练完成的模型用于推理新用户是否贷款,即银行A和银行B正常情况 下应该都具有标签是否贷款,但是实际情况,银行A提供的标签为是否贷款, 是对应0,否对应1;银行B提供的标签用户贷款倾向,即给用户的贷款倾向概 率从1-5分进行打分,在该种情况下,需要统一银行A和银行B的标签信息, 使两者的标签信息一致,一种可行的方式,将银行B对应的子模型中的标签信 息进行转换,当得到用户的贷款倾向性分数小于3分时,对应是否贷款中的否,值为0;当得到用户的贷款倾向性分数大于等于3时,转换成标签是否贷款中 的是,值为1。经过执行上述标签转换方式,银行A和银行B对应子模型的标 签含义一致,这样在进行模型训练时,不仅扩充了标签提供方的数量,也提高 训练完成的模型的预测准备性。

如步骤101中所述,存在部分第一参与方设备中对应的第一子模型收敛的 情况,达到收敛条件包括但不限于以下之一:达到允许的迭代次数的上限、允 许的训练时间等。当部分第一子模型收敛时,发送第一通知消息,第一通知消 息可以是直接点对点发送给参数聚合设备,也可以是向网络中所有相互通信的 参与方设备广播本身已收敛的通知的消息。服务器会保存当前收敛的第一子模 型的相关第一模型参数,后续模型训练直接使用存储的第一模型参数进行安全 聚合,具体的,对存储的所述第一模型参数、接收到的所述第一模型参数及所 述第二模型参数,进行参数聚合,得到全局模型参数。

在一些实施例中,第二参与方设备(特征提供方)的数量可能为多个,当 有多个第二参与方设备时,每个第二参与方设备可能会与多个第一参与方设备 分别建模,需要对于与自身进行建模的第二参与方设备进行编号以作区分。具 体的,获取所述第一参与方设备与所述第二参与方设备间的映射关系,所述映 射关系,用于指示与各所述第二参与方设备进行纵向联邦学习模型训练的第一 参与方设备;基于所述映射关系、接收到的所述第一模型参数及所述第二模型 参数,构建对应各所述第二参与方设备的模型参数组;其中,所述模型参数组 中包含第一数量的模型参数对;所述模型参数对包含所述第一模型参数以及相 应的所述第二模型参数;所述第一数量为,与所述第二参数方设备进行纵向联 邦学习模型训练的所述第一参与方设备的数量;分别对各所述模型参数组中的 模型参数对进行参数聚合,得到各所述模型参数组对应的局部模型参数;对各 所述局部模型参数进行参数聚合,得到全局模型参数。

在实际实施时,构建对应各第二参与方设备的模型参数组,即一个第二参 与方设备会存在多个子模型,多个子模型的含义是相同的,由于第二参与方设 备与各第二参与方设备进行建模时,训练样本的交集不同即数据不同,每个子 模型对应一个模型参数对,模型参数对中包含第一模型参数以及对应的第二模 型参数。

示例性地,当存在3个第一参与方设备(也称标签提供方,用guest指代) 与2个第二参与方设备(也称特征提供方,用host指代),每个host方会持有3 个模型,3个guest各自编码为guest_0,guest_1,guest_2,host方编码为host_0 与host_1。

如步骤101所述,在一些实施例中,使密钥对中的公钥对第一模型参数以 及第二模型参数进行加密,相应的,需要使用公钥对中的私钥对加密的第一模 型参数以及第二模型参数进行解密。具体的,获取所述密钥对中的私钥;基于 所述私钥分别对接收到的加密的各所述第一模型参数以及加密的所述第二模型 参数,进行解密,得到解密的各所述第一模型参数以及解密的各所述第二模型 参数;相应的,所述对接收到的至少两个所述第一模型参数及至少一个所述第 二模型参数,进行参数聚合,得到全局模型参数,包括:对解密的各所述第一 模型参数以及解密的各所述第二模型参数进行参数聚合,得到全局模型参数。

在一些实施例中,整个模型训练过程分成两个步骤,每执行一次模型训练 就立即执行一次参数聚合,直到模型达到收敛条件,此时收敛条件至少包括参 数聚合次数达到预设参数聚合阈值。

在一些实施例中,参见图5,图5是本申请实施例提供的基于联邦学习系 统的模型训练方法的一个可选的流程示意图,整个模型训练过程分成两个阶段 完成,第一阶段是模型训练,直至模型达到收敛条件后,将收敛时的各第一模 型参数以及各第二模型参数上传至参数聚合设备,进行第二阶段的参数聚合操 作,为了适应初步建模或快速建模场景,第二阶段的参数聚合可只进行一次, 整个模型就收敛。

其中,第一阶段模型训练过程中的中间数据交换的安全性以及隐私性,可 以通过使用协调方(参数聚合设备)创建的公私钥对实现;第二阶段安全聚合 时,第一模型参数以及第二模型参数的隐私性和安全性可以使用同态加密、差 分隐私或秘密共享等加密技术,对第一模型参数以及第二模型参数进行加密掩 饰。

步骤104中,将全局模型参数分发至各第一参与方设备、以及第二参与方 设备,以使第一参与方设备及所述第二参与方设备,基于全局模型参数更新本 地的模型参数。

这里,将全局模型参数以加密的形式分发至各第一参与方设备、以及第二 参与方设备,各第一参与方设备、以及第二参与方设备各自获取本地子模型的 相关模型参数,对模型参数进行解密,更新本地模型的相关模型参数。

在一些实施例中,在第一参与方设备以及第二参与方设备根据接收的全局 模型参数各自对本地模型进行更新后,参数聚合设备根据接收到的第一参与方 设备收敛的消息后,根据第一参与方设备与相应的第二参与方设备之间的映射 关系,判断是否向对应的第二参与方设备发送停止模型参数更新的消息。具体 的,基于所述映射关系,获取与所述第二参与设备对应的第一参与方设备组; 接收到所述第一参与方设备组中各所述第一参与方设备发送的第一通知消息后, 向相应第二参与方设备发送停止更新消息;其中,所述停止更新消息,用于指 示所述第二参与方设备停止模型参数更新。

示例性地,当一个第二参与方设备(host指代)与三个第二参与方设备(g uest1,guest2,guset3)进行模型训练,只有当guest1,guest2,guset3均达到 收敛条件时,参数聚合设备才会向host发送停止更新消息。

在一些实施例中,需要进行初步建模或者快速建模时,只需要进行预设次 数的安全聚合即可,在实际实施时,当各参与方达成建模协议,且提供的数据 良好,仅通过一次安全聚合操作就可以达到快速建模。执行最后一次安全聚合 后,将全局模型参数下发给各参与方设备,同时还会向各参与方发送停止模型 训练的第二通知消息,具体的,当各所述第一子模型达到预设收敛条件时,向 各所述第一参与方设备、以及所述第二参与方设备发送第二通知消息;所述第 二通知消息,用于通知各所述第一参与方设备、以及所述第二参与方设备分别 基于接收到的所述全局参数,更新各自本地的模型参数之后停止模型训练。

本申请实施例通过联合至少两个具有模型训练标签的第一参与方设备以及 至少一个第二参与方设备对各自的本地模型进行基于纵向联邦学习方式的模型 训练,得到各第一模型参数以及各第二模型参数,并将各第一模型参数以及各 第二模型参数通过安全聚合技术进行安全聚合,得到全局模型参数,各第一参 与方设备以及各第二参与方设备基于获取的全局模型参数更新各自本地模型的 模型参数。在两个阶段的训练过程中,各个参与方并没有互相暴露本地训练数 据,从而保障了各个参与方的数据安全,并通过扩充标签数据提高训练后得到 的模型的预测准确率,大幅度减少多个参与方之间的交互次数,降低了通信要 求。

接下来继续对本申请实施例提供的基于联邦学习系统的模型训练方法进行 介绍,图6是本申请实施例提供的基于联邦学习系统的模型训练方法的一个可 选的流程示意图,参见图6,本申请实施例提供的基于联邦学习系统的模型训 练方法由至少两个第一参与方设备、至少一个第二参与方设备以及参数聚合设 备协同实施。

步骤301中,参数聚合设备(协调方)生成公私钥对,并将公私钥对中的 公钥传输给各第一参与方设备以及第二参与方设备。

步骤302中,第一参与方设备确定每轮次训练数据量并发送给所有参与建 模的第二参与方设备。

步骤303,第一参与方设备,以及第二参与方设备各自初始化本地模型, 并计算本地模型的中间计算结果。

步骤304,第二参与方设备通过公钥对本地第二模型的第二模型参数进行 加密,并发送给第一参与方设备。

步骤305,第一参与方设备根据本地模型的第一模型参数以及接收到的加 密中间结果计算加密残差值,并发送给第二参与方设备。

步骤306,第一参与方设备与第二参与方设备各自利用自有特征与残差计 算各自的第一模型参数以及第二模型参数。

步骤307,第一参与方设备将加密的第一模型参数发送给协调方(参数聚 合设备),且第二参与方设备将加密的第二模型参数发送给协调方。

步骤308,协调方(参数聚合设备)利用公私钥对中的私钥解密第一模型 参数,以及第二模型参数,并将第一模型参数发送给第一参与方设备,第二模 型参数发送给第二参与方设备。

步骤309,第一参与方设备获取第一模型参数并更新本地模型的模型参数, 第二参与方设备获取第二模型参数并更新本地模型的模型参数。

步骤310,第一参与方设备以及第二参与方设备分别判断各自本地模型是 否达到收敛条件。

这里,判断是否达到收敛条件可以是根据梯度范数变化判定模型是否收敛。

步骤311,第一参与方设备发送的本地模型的第一模型参数至参数聚合服 设备,以及所述第二参与方设备发送的本地模型的第二模型参数至参数聚合设 备。

步骤312,参数聚合服务器对接收到至少两个第一模型参数及第二模型参 数,进行参数聚合,得到全局模型参数。

步骤313,参数聚合服务器将全局模型参数分发至各第一参与方设备、以 及第二参与方设备。

步骤314,第一参与方设备及所述第二参与方设备,基于得到全局模型参 数更新本地模型的模型参数。

本申请实施例通过安全聚合融合了至少两个具有模型训练标签的第一参与 方以及具有特征数据的第二参与方进行纵向联邦学习生成的模型参数,变相地 横向增加模型的训练样本,使模型更具有健壮性,并通过设定聚合次数完成快 速建模,减少各参与方之间的交互次数,降低模型训练过程中的通信开销。

下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。

在联邦学习场景中,设定参数聚合设备为协调(Arbiter)方、第一参与方 设备也称标签提供(Guest)方或数据应用方,第二参与方设备也称特征提供方 (Host)。为了方便计算,设定各Guest方中样本数据和标签数据含义一致但内 容不一致,同样Host方数据中特征一致但是内容不一致,Arbiter方作为协调方 协调各参与方联合建模。Host、Guest双方需在不泄露彼此标签和特征具体内容 的前提下进行建模和预测。

在实际应用中,可能存在多个标签提供方(Guest)需要和单个或多个特征 补充方(Host)进行建模的场景。例如地方银行在决定贷款额度或信用卡额度 时,因本身样本数量较少,在现有普通单Guest的纵向联邦学习框架下,如只 和Host进行建模,容易导致结果模型过拟合,从而触发提前停止模型训练,在 实际应用中效果不理想:在上述例子中即为额度过高或过低。因此在特征补充 外,多个持有相同特征和标签的Guest参与建模可对标签进行补充,提高结果 模型在应用中的准确率的健壮性。

本申请实施例提供一种通过安全聚合整合多个纵向联邦线性模型的多标签 提供方联合线性训练方法。

设共有K个Guest方,J个Host方,其中,K是大于1的整数,J是大于0 的整数,Guest方各自持有同特征与同含义标签的数据样本X

第一阶段是基于纵向联邦学习的模型训练阶段(编号1),K个Guest各自 与特定M

第二阶段是安全聚合阶段(编号2),K个Guest与J个Host将各自本地模 型的模型参数执行加密操作后发送给第三方Arbiter,Arbiter通过安全聚合计算 出所有模型参数的加权平均值,作为全局模型参数,并将该全局模型参数发送 回各Guest与Host,以使各参与方从该全局模型参数中获取各自本地模型对应 的模型参数,并更新各自本地模型的模型参数至加权平均参数值。

针对第一阶段的模型训练的具体过程,参见图8,图8是本申请实施例提 供的基于联邦学习系统的模型训练方法的一个可选的示意图,在第一阶段的模 型训练中,所有Guest需各自与所有Host方(可能多个)进行纵向线性建模。

前置条件:各Guest与Host方通过加密ID交集完成共同样本筛选,以下 处理步骤中仅交互共通样本。

所有Guest各自与Host方并行执行以下操作:

步骤401中,协调方(Arbiter)r生成公私钥对并将公私钥对中的公钥传输 给参与本轮次训练模型的第一参与方设备(Guest

步骤402中,Guest方确定每轮次训练数据量并发送给所有参与建模的Host 方。

步骤403中,Host与Guest方各自初始化本地模型并计算本地模型的中间 计算结果。

步骤404中,Host方对本地模型的中间计算结果w

这里,Host获得步骤401中的公钥,并采用该公钥对本地模型的中间计算 结果w

步骤405中,Guest方结合所有参与方的中间计算结果计算加密残差值并 发送给所有参与Host方。

这里,加密方式采用加法同态加密,,加密残差值公式为:

上述公式中,Host方本地样本特征数据

步骤406中,Guest与Host各自利用自有特征与残差计算加密本地梯度并 发送给Arbiter。

这里,设定[[d]]之后,关于训练参数的损失函数的梯度可以采用以下公式 表示:

上述公式中,L表示训练参数的损失函数,对训练参数w求导,获取相应 的导数即梯度信息。

在实际实施时,协调方主要负责对从Host方和Guest方收到的加密数据进 行解密,并且协调训练过程和评估过程。为了防止协调方从Host方或Guest方 学习到相关信息,Host方或Guest方可以将各自对应的模型参数(如梯度信息) 加上加密随机掩码。每次迭代都不会向协调方暴露任何信息,因为协调方能得 到的所有信息只有掩藏过(即通过随机掩码处理过)的梯度,能够保证随机性 和保密性。

步骤407中,Arbiter方利用公私钥对中的私钥解密所有梯度并发送给各参 与方。

步骤408中,Host方与Guest方各自更新本地模型的模型参数,并判断各 自本地模型是否达到收敛条件。

这里,判断是否达到收敛条件可以是根据梯度范数变化判定模型是否收敛。

重复迭代步骤403-408直至所有数据均被使用建模。

重复迭代步骤402-408直至收敛条件达成或达到最大模型训练轮数。

在执行第一阶段模型训练时,需要注意的是,各Host方存在拥有多个模型 的可能,需要对模型进行编码作区分。因此开始训练前应约定好各参与方的代 码。例如,当存在3个Guest与2个Host,Host方会持有3个模型,3个Guest 各自编码为Guest_0,Guest_1,Guest_2,Host方编码为Host_0与Host_1。Host 方可依据Guest方的编码对持有的本地模型进行标记,以便在第二阶段进行安 全聚合时,利于Arbiter区分不同的模型参数。

第二阶段的安全聚合:经过第一阶段的模型训练,可信第三方server(可 由第一训练阶段中的arbiter来)获取得到各Guest以及各Host方本地模型收敛 时分别对应的第一模型参数,以及第二模型参数,其中各第一模型参数以及各 第二模型参数均是经过数据加密后(如采用sha256加密算法)的加密的第一模 型参数,以及加密的第二模型参数,并对所有第一模型参数和第二模型参数进 行参数聚合,得到全局模型参数。其中,进行参数聚合的次数可以是预先设定 的,在实际实施时,若模型需要应用到快速建模或初步建模场景下,则可以直 接只进行一次参数聚合,这样既可以减少各参与方之间的交互次数,降低网络 通信开销。

针对第二阶段的安全聚合的过程,参见图9,图9是本申请实施例提供的 基于联邦学习系统的模型训练方法的一个可选的示意图。

步骤501中,Guest方发送加密后参数[[w

其中,Host方需要对模型建模的对手信息进行标记(如guest_0ggues_1等)。

步骤502中,服务器对各模型参数进行安全聚合操作,得到全局模型参数。

这里,服务器可以是第一阶段模型训练时的服务器设备,也可以是各Guest 方通过选举机制,选取的Guest,

在实际实施时,聚合各模型参数。

这里,可信的第三方可以是第一阶段中的协调方,同样也可以是所有Guest 方通过选举方式,确定的其中一个Guest作为第三方。

在进行参数聚合时,可使用的参数聚合公式如下:

上述公式中,

其中,

步骤503中,Arbiter将全局模型参数发送给各Guest方和Host方。

这里,Arbiter发回聚合模型参数是经过加密处理的全局模型参数。

步骤504中,Guest方与Host方各自解密全局模型参数,并根据解密的全 局模型参数各自更新本地模型的模型参数。

这里,Guest方与Host方接收到全局模型参数后,筛选与各自本地子模型 匹配为的模型参数,对各自本地子模型进行更新。

示例性的,由两个Guest方和一个Host方联合建模的示例,Guest1与Host1, 纵向建模,Guest1的本地模型1进行预设轮次N的更新操作,并得到经过N次 训练后的第一模型参数1,Guest2与Host1,纵向建模,Guest2的本地模型2 进行预设轮次N的更新操作,并得到经过N次训练后的第二模型参数2,

Guest1、Guest2各自的本地模型训练过程并行执行,当Guest1、Guest2各 自的模型达到收敛条件时,将对应的第一模型参数1和第二模型参数2发送至 参数聚合设备,进行第一次安全聚合,得到全局模型参数,并将全局模型参数 发送至Guest1、Guest2、Host1,Guest1、Guest2、Host1接收到全局模型参数, 并从全局参数中获取各自本地模型对应的模型参数更新各自的模型,

若此时Guest1达到预设效果,但Guest2未达到预设效果,则需要进行第 二次聚合,但此时Guest1只需上传达到预设效果的第一模型参数1,不再更新 本地的模型,Guest2得到第二次聚合的全局参数,更新Guest2模型,直至guest2 达到预设效果,或者迭代次数达到预设的安全聚合次数。

由此可知,第一阶段是所有Guest需各自与所有Host方(可能多个)进行 纵向线性建模,第二阶段是在进行建模后,所有Guest和Host需要将本地持有 模型数据加密后(如sha256)发送给guest或可信第三方服务器(可以是第一 阶段中的Arbiter)进行安全聚合。通过安全聚合融合了多个参与方的纵向联邦 学习线性模型参数,变相地横向增加模型的训练样本,使模型更具有健壮性。 也可以理解为在已有的纵向多特征提供方(Host)的联邦学习结构上进行扩展, 扩展方向为允许多个标签提供方(Guest)参与建模。

本申请实施例通过提供一种安全灵活的多方联合建模的方法,不对参与的 Guest方与Host方数量做任何限制。在联邦学习的框架下,本申请除安全地补 充标签之外,也可相对方便地间接达成一次各自联合建模,多个参与方安全共 享各自模型的目的。

下面继续说明本申请实施例提供的基于联邦学习系统的模型训练装置555 的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储 器540的基于联邦学习系统的模型训练装置555中的软件模块可以包括:

获取模块5551,用于获取所述至少两个模型训练标签对应的第一子模型的 第一模型参数,以及相应第二子模型的第二模型参数;

其中,所述第一模型参数及所述第二模型参数为,各所述第一参与方设备 基于本地模型训练标签,分别与所述第二参与方设备进行模型训练所得到;

确定模块5552,用于获取各所述模型训练标签的标签含义,并基于所述标 签含义确定所述至少两个模型训练标签间的关联关系;

聚合模块5553,用于基于所述至少两个模型训练标签间的关联关系,对至 少两个所述第一模型参数及所述第二模型参数进行参数聚合,得到全局模型参 数;

训练模块5554,用于将所述全局模型参数分发至各所述第一参与方设备、 以及所述第二参与方设备,以使所述第一参与方设备及所述第二参与方设备, 基于所述全局模型参数更新本地模型的模型参数。

在一些实施例中,所述聚合模块5553,还用于分别获取各所述第一参与方 设备与所述第二参与方设备的训练样本的数量,以及用于模型训练的训练样本 的总数量;

基于所述至少两个模型训练标签间的关联关系,获取的训练样本的数量及 所述总数量,确定所述第一模型参数以及所述第二模型参数的权重;

根据获取的所述权重,对各所述第一模型参数以及所述第二模型参数进行 加权求和,得到所述全局模型参数。

在一些实施例中,所述获取模块5551,还用于当所述关联关系表征各所述 模型训练标签的标签含义相同时,分别确定各所述第一参与方设备的训练样本 的数量与所述总数量的比值,将确定的比值作为相应第一参与方设备的第一模 型参数的权重;

确定各所述第二参与方设备的训练样本的数量与所述总数量的比值,将确 定的比值作为相应第二参与方设备的第二模型参数的权重。

在一些实施例中,所述获取模块5551,还用于创建密钥对,所述密钥对包 括公钥和私钥;

将所述公钥分发至所述至少两个第一参与方设备、以及所述第二参与方设 备;

相应的,所述获取所述至少两个模型训练标签对应的第一子模型的第一模 型参数,以及相应的第二子模型的第二模型参数,包括:

获取各所述第一参与方设备发送的加密的第一模型参数,以及所述第二参 与方设备发送的加密的所述第二模型参数;

其中,所述加密的第一模型参数为,所述第一参与方设备基于所述公钥, 对本地所述模型训练标签对应的第一子模型的第一模型参数加密得到;所述加 密的第二模型参数为,所述第二参与方设备基于所述公钥,对本地第二子模型 的第二模型参数加密得到。

在一些实施例中,所述获取模块5551,还用于获取所述密钥对中的私钥;

基于所述私钥分别对接收到的加密的各所述第一模型参数以及加密的所述 第二模型参数,进行解密,得到解密的各所述第一模型参数以及解密的各所述 第二模型参数;

相应的,所述对至少两个所述第一模型参数及所述第二模型参数,进行参 数聚合,得到全局模型参数,包括:

对解密的各所述第一模型参数以及解密的各所述第二模型参数进行参数聚 合,得到全局模型参数。

在一些实施例中,当所述关联关系表征存在不同含义的模型训练标签且所 述模型训练标签间存在标签转换关系时,所述获取所述至少两个模型训练标签 对应的第一子模型的第一模型参数,以及相应第二子模型的第二模型参数之后, 所述聚合模块5553,还用于获取标签转换关系;

基于所述标签转换关系,对各所述模型训练标签中不同含义的模型训练标 签进行转换,得到含义相同的模型训练标签;

基于转换得到的各所述模型训练标签,更新各所述第一模型参数以及所述 第二模型参数;

相应的,对至少两个所述第一模型参数及所述第二模型参数,进行参数聚 合,得到全局模型参数,包括:

对更新后的所述第一模型参数及所述第二模型参数进行参数聚合,得到全 局模型参数。

在一些实施例中,所述获取模块5551,还用于接收到第一通知消息,所述 第一通知消息为至少两个所述第一参与方设备中之一所发送,用于指示相应第 一参与方设备的本地第一子模型达到收敛条件;

基于所述第一通知消息,存储相应第一参与方设备本地第一子模型达到收 敛条件时的第一模型参数;

相应的,获取所述至少两个模型训练标签对应的第一子模型的第一模型参 数,以及相应第二子模型的第二模型参数,包括:

获取所述至少两个模型训练标签对应的第一子模型未达到收敛条件的第一 模型参数,以及相应第二子模型的第二模型参数;

所述对至少两个所述第一模型参数及所述第二模型参数进行参数聚合,得 到全局模型参数,包括:

对存储的所述第一模型参数、接收到的所述第一模型参数及所述第二模型 参数,进行参数聚合,得到全局模型参数。

在一些实施例中,当所述第二参与方设备的数量为至少两个时,所述聚合 模块5553,还用于获取所述第一参与方设备与所述第二参与方设备间的映射关 系,所述映射关系,用于指示与各所述第二参与方设备进行纵向联邦学习模型 训练的第一参与方设备;

基于所述映射关系、接收到的所述第一模型参数及所述第二模型参数,构 建对应各所述第二参与方设备的模型参数组;

其中,所述模型参数组中包含第一数量的模型参数对;所述模型参数对包 含所述第一模型参数以及相应的所述第二模型参数;所述第一数量为,与所述 第二参数方设备进行纵向联邦学习模型训练的所述第一参与方设备的数量;

分别对各所述模型参数组中的模型参数对进行参数聚合,得到各所述模型 参数组对应的局部模型参数;

对各所述局部模型参数进行参数聚合,得到全局模型参数。

在一些实施例中,所述获取模块5551,还用于基于所述映射关系,获取与 所述第二参与设备对应的第一参与方设备组;

接收到所述第一参与方设备组中各所述第一参与方设备发送的第一通知消 息后,向相应第二参与方设备发送停止更新消息;

其中,所述停止更新消息,用于指示所述第二参与方设备停止模型参数更 新。

在一些实施例中,所述获取模块5551还用于,当各所述第一子模型达到预 设收敛条件时,向各所述第一参与方设备、以及所述第二参与方设备发送第二 通知消息;

所述第二通知消息,用于通知各所述第一参与方设备、以及所述第二参与 方设备分别基于接收到的所述全局参数,更新各自本地的模型参数之后停止模 型训练。

需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类 似的,具有同方法实施例相似的有益效果,因此不做赘述。

本申请实施例提供了一种计算机程序产品,包括计算机程序,其特征在于, 该计算机程序被处理器执行时实现本申请实施例提供的基于联邦学习系统的模 型训练方法。

本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存 储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实 施例提供的方法,例如,如图3示出的基于联邦学习系统的模型训练方法。

在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、 EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也 可以是包括上述存储器之一或任意组合的各种设备。

在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代 码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程 性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被 部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。

作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被 存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言 (HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在 专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储 一个或多个模块、子程序或代码部分的文件)中。

作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一 个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互 连的多个计算设备上执行。

综上所述,通过本申请实施例提供的多方联合建模的方式,扩充了模型标 签提供方的数量,即能够保证数据的安全性、又能提高模型预测的准确性,通 过预设次数的安全聚合操作减少了各参与方设备之间的交互次数,减少通信量, 降低对通信网络的要求。

以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。 凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在 本申请的保护范围之内。

相关技术
  • 基于联邦学习的模型训练方法、装置及联邦学习系统
  • 一种联邦学习模型训练方法、装置及联邦学习系统
技术分类

06120113115652