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

基于噪音蒸馏的联邦学习系统及方法

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



技术领域

本说明书涉及机器学习技术领域,特别涉及基于噪音蒸馏的联邦学习系统及方法。

背景技术

随着互联网技术的发展,联邦学习成为了现有技术中解决数据孤岛的主要手段,同时能够保证分布式机器隐私的安全性。常见的联邦算法大多是基于企业方提出的FedAvg范式实现。然而随着数据的复杂度与模型参数量的提升,模型采用这类算法训练时的数据通信量和迭代轮数都会显著提升,联邦学习中的算法效率成为了瓶颈。因此亟需一种有效的方案以解决上述问题。

发明内容

有鉴于此,本说明书实施例提供了一种基于噪音蒸馏的联邦学习系统。本说明书同时涉及一种基于噪音蒸馏的联邦学习方法,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。

根据本说明书实施例的第一方面,提供了一种基于噪音蒸馏的联邦学习系统,包括:

至少两个客户端,被配置为确定本地业务样本以及初始业务模型;按照预设的约束策略对所述初始业务模型进行更新,获得中间业务模型;将所述本地业务样本分别输入至所述初始业务模型和所述中间业务模型进行处理,获得初始预测信息和中间预测信息;基于所述本地业务样本对应的本地样本标签、所述初始预测信息和所述中间预测信息对所述中间业务模型进行调参,直至获得满足本地训练停止条件的目标业务模型;将所述目标业务模型对应的目标模型参数发送至服务端;

所述服务端,被配置为接收至少两个目标模型参数;根据所述至少两个目标模型参数构建初始全局业务模型,以及构建每个目标模型参数对应的噪音业务样本;利用所述噪音业务样本对所述初始全局业务模型进行训练,直至获得满足业务训练停止条件的目标全局业务模型。

可选地,所述客户端,进一步被配置为确定所述初始业务模型中包含的业务处理层;按照预设的所述约束策略所述业务处理层中添加调整层,根据添加结果生成所述中间业务模型。

可选地,所述客户端,进一步被配置为将所述本地业务样本输入至所述初始业务模型进行处理,获得所述初始预测信息;将所述本地业务样本连续设定次数输入至所述中间业务模型进行处理,获得多个中间预测信息。

可选地,所述客户端,进一步被配置为根据所述初始预测信息、所述多个中间预测信息以及所述本地业务样本对应的本地样本标签计算目标损失值,根据所述目标损失值对所述中间业务模型进行调参。

可选地,所述客户端,进一步被配置为根据所述本地业务样本对应的本地样本标签以及每个中间预测信息计算中间交叉熵损失值,以及根据所述多个中间预测信息计算中间相对熵损失值;根据所述初始预测信息和每个中间预测信息计算初始相对熵损失值;基于所述中间交叉熵损失值、所述中间相对熵损失值以及所述初始相对熵损失值确定所述中间业务模型对应的目标损失值;根据所述目标损失值对所述中间业务模型进行调参。

可选地,所述服务端,进一步被配置为根据所述至少两个目标模型参数构建至少两个目标业务模型,作为所述初始全局业务模型;按照对应关系策略将所述噪音业务样本输入至每个目标业务模型进行处理,获得第一目标预测信息,以及按照交叉关系策略将所述噪音业务样本输入至每个目标业务模型进行处理,获得第二目标预测信息;根据所述第一目标预测信息和所述第二目标预测信息对每个目标业务模型分别进行调参,直至获得满足业务训练停止条件的所述目标全局业务模型。

可选地,所述服务端,进一步被配置为在调参后的目标业务模型满足所述业务训练停止条件的情况下,根据调参结果生成每个目标业务模型对应的初始模型参数;计算所述初始模型参数的平均值获得全局模型参数,并基于所述全局模型参数构建所述目标全局业务模型。

可选地,所述服务端,进一步被配置为构建每个目标模型参数对应的初始噪音业务样本,将所述初始噪音业务样本输入至所述初始全局业务模型进行处理,获得初始全局预测信息;对所述初始全局预测信息进行归一化处理,并根据归一化处理结果计算所述初始噪音业务数据相对于所述初始全局业务模型的置信损失值;通过对所述置信损失值进行求导获得样本更新参数,并基于所述样本更新参数对所述初始噪音业务样本进行更新,获得所述噪音业务样本。

可选地,所述服务端,进一步被配置为计算所述至少两个目标模型参数的平均值获得初始全局模型参数;根据所述初始全局模型参数构建所述初始全局业务模型;将每个目标模型参数对应的噪音业务样本进行整合,获得全局噪音业务样本;利用所述全局噪音业务样本对所述初始全局业务模型进行训练,直至获得满足所述业务训练停止条件的所述目标全局业务模型。

根据本说明书实施例的第二方面,提供了一种基于噪音蒸馏的联邦学习方法,包括:

至少两个客户端确定本地业务样本以及初始业务模型;按照预设的约束策略对所述初始业务模型进行更新,获得中间业务模型;将所述本地业务样本分别输入至所述初始业务模型和所述中间业务模型进行处理,获得初始预测信息和中间预测信息;基于所述本地业务样本对应的本地样本标签、所述初始预测信息和所述中间预测信息对所述中间业务模型进行调参,直至获得满足本地训练停止条件的目标业务模型;将所述目标业务模型对应的目标模型参数发送至服务端;

所述服务端接收至少两个目标模型参数;根据所述至少两个目标模型参数构建初始全局业务模型,以及构建每个目标模型参数对应的噪音业务样本;利用所述噪音业务样本对所述初始全局业务模型进行训练,直至获得满足业务训练停止条件的目标全局业务模型。

根据本说明书实施例的第三方面,提供了一种计算设备,包括:

存储器和处理器;

所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令时实现所述基于噪音蒸馏的联邦学习方法的步骤。

根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述基于噪音蒸馏的联邦学习方法的步骤。

本实施例通过的基于噪音蒸馏的联邦学习系统,实现在各个客户端确定本地业务样本以及初始业务模型后,可以按照预设的约束策略对初始业务模型进行更新,获得中间业务模型;之后将本地业务样本分别输入至初始业务模型和中间业务模型进行处理,获得初始预测信息和中间预测信息;此时即可基于本地业务样本对应的本地样本标签、初始预测信息和中间预测信息对所述中间业务模型进行调参,直至获得满足本地训练停止条件的目标业务模型,之后各个客户端分别将训练好的目标业务模型对应的目标模型参数发送至服务端即可。服务端在接收到至少两个目标模型参数后,可以根据至少两个目标模型参数构建初始全局业务模型,以及每个目标模型参数对应的噪音业务样本;再利用噪音业务样本对初始全局业务模型进行训练,直至获得满足业务训练停止条件的目标全局业务模型即可。实现了客户端在本地进行充分训练而提升了模型的鲁棒性;同时针对每个目标模型参数单独创建噪音业务样本,可以更进一步的提高模型收敛速度,从而快速且高效的创建出满足业务场景的目标全局业务模型。

附图说明

图1是本说明书一实施例提供的一种基于噪音蒸馏的联邦学习系统的结构示意图;

图2是本说明书一实施例提供的另一种基于噪音蒸馏的联邦学习系统的结构示意图;

图3是本说明书一实施例提供的一种基于噪音蒸馏的联邦学习系统中模型训练的示意图;

图4是本说明书一实施例提供的一种基于噪音蒸馏的联邦学习方法的流程图;

图5是本说明书一实施例提供的一种计算设备的结构框图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。

在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

首先,对本说明书一个或多个实施例涉及的名词术语进行解释。

拟合(fitting):可以理解为把平面上一系列的点,用一条光滑的曲线连接起来。因为这条曲线有无数种可能,从而有各种拟合方法。

梯度(gradient):是指一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。

在本说明书中,提供了一种基于噪音蒸馏的联邦学习系统,本说明书同时涉及一种基于噪音蒸馏的联邦学习方法,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。

实际应用中,主要从两个角度出发优化联邦效率,第一个是算子层面,通过量化稀疏化等手段减少单次联邦过程传输的数据量来提高运行的效率,另一个则是通过提高模型收敛速度来优化效率。量化本质上是一种利用精度更低的数来代替高精度数的方法。联邦学习在每轮迭代的过程中,一般会涉及客户端模型参数或者是当前参数的梯度的传输。大部分这样的数据都是浮点类型,一般一个浮点数在计算机中占据32位,联邦量化希望找到位数更少的数来代替通信过程中的浮点数传输。稀疏化,其核心思想是将待传输的数据进行裁剪,仅保留重要的部分,从而减少传输的通信量。另外还有一些研究从更加宏观的角度进行模型压缩,如联邦随机失活,或者是利用知识蒸馏、参数约束等方案加速联邦收敛的过程。

上述方案虽然能够达到提高联邦学习的效率,但是这不可避免的在一定程度上带来了模型性能的损失,实际情况下模型可能需要迭代较多的轮次才能满足需求,这反而会导致联邦学习整体效率地下降。稀疏与模型压缩的方法通过设计的规则在每轮数据传输的过程中有选择的上传部分参数来提高通信效率,然而现有的研究一般直接丢弃一些梯度值较小的数据,或者是采用随机失活的方式选择数据。但大规模的稀疏会导致模型性能严重下降,联邦模型最后需要更多的迭代才能收敛。

当前主流的加速方案通过对客户端本地的模型训练添加约束实现。采用知识蒸馏或者是正则等手段,迫使本地模型每一轮迭代在全局模型和本地数据之间进行权衡,从而加速模型收敛。然而这类型算法大多并没有考虑实际情况,联邦场景下客户端的资源有限可能并不能很好的应用一些基于客户端的改进算法,并且大多数算法仅进行本地约束,服务端依旧沿用简单平均的方式获得聚合模型,并没有采用更加有效的聚合方式。而另一些方法仅传输客户端的标签并利用全局软标签指导模型进行蒸馏学习,这些方法虽然不需要传输模型参数,但也带来的一定的精度损失,特别是在非独立同分布的场景下模型性能大大下降。

参见图1所示的示意图,本实施例提供的基于噪音蒸馏的联邦学习系统,为了能够训练出满足使用需求的目标全局业务模型,可以在每个客户端分别创建自蒸馏模块,该模块由客户端的初始业务模型、本地私有的本地业务样本以及本地样本标签构成,初始业务模型在训练的过程中包含多个任务,即根据样本和标签进行一般训练,以及根据随机失活机制等方式构成的蒸馏训练,客户端通过整合上述训练方案进行多次迭代训练后,将得到目标业务模型对应的目标模型参数,并将其发送至服务端;其中,客户端1~n的处理方式相同,不同点仅在于客户端使用的本地业务样本不同,以得到具有不同模型参数的目标业务模型,以方便后续服务端可以结合多个客户端的模型参数整合出目标全局业务模型。

进一步的,服务端则由两个模块构成,其中,伪样本生成模块为针对每个客户端上传到服务端的目标模型参数创建随机噪音业务样本的模块,将噪音业务样本作为伪数据样本,之后通过服务端提供的自适应算法提高噪音业务样本的置信度,从而提高对应每个目标模型参数的噪音业务样本的质量;伪样本生成模块针对噪音业务样本调整后,可以在聚合模块中进行蒸馏训练,服务端会利用噪音业务样本对初始全局业务模型进行知识蒸馏,从而训练出满足使用需求的目标全局业务模型。

也就是说,本实施例提供的基于噪音蒸馏的联邦学习系统中,实则是对模型进行预训练和微调的过程;首先在各个客户端上进行自蒸馏训练,根据本地样本得到客户端的局部模型,局部模型经过样本的训练已经具备了一定的泛化能力,之后再通过服务端蒸馏,通过引入噪音业务样本的方式进一步对各个客户端对应的局部模型蒸馏微调参数,从而实现联邦学习的同时,得到一个泛化能力更强的目标全局业务模型。实现了客户端在本地进行充分训练而提升了模型的鲁棒性;同时针对每个目标模型参数单独创建噪音业务样本,可以更进一步的提高模型收敛速度,从而快速且高效的创建出满足业务场景的目标全局业务模型。

图2示出了根据本说明书一实施例提供的另一种基于噪音蒸馏的联邦学习系统的结构示意图,基于噪音蒸馏的联邦学习系统系统200包括至少两个客户端210,以及服务端220。

至少两个客户端210,被配置为确定本地业务样本以及初始业务模型;按照预设的约束策略对所述初始业务模型进行更新,获得中间业务模型;将所述本地业务样本分别输入至所述初始业务模型和所述中间业务模型进行处理,获得初始预测信息和中间预测信息;基于所述本地业务样本对应的本地样本标签、所述初始预测信息和所述中间预测信息对所述中间业务模型进行调参,直至获得满足本地训练停止条件的目标业务模型;将所述目标业务模型对应的目标模型参数发送至服务端220;

所述服务端220,被配置为接收至少两个目标模型参数;根据所述至少两个目标模型参数构建初始全局业务模型,以及构建每个目标模型参数对应的噪音业务样本;利用所述噪音业务样本对所述初始全局业务模型进行训练,直至获得满足业务训练停止条件的目标全局业务模型。

具体的,至少两个客户端具体是指持有业务相关数据的客户端,且每个客户端持有的业务相关数据相对于当前业务场景属于隐私数据,即各个客户端持有的业务相关数据并不一致,同时客户端之间不会进行数据互通。但是每个客户端还需要结合其他客户端的数据训练出当前业务场景需要使用的业务模型,因此将采用联邦学习的方式实现。即各个客户端将单独使用本地的数据训练业务模型,之后将训练好的业务模型上传到服务端,由服务端结合各个客户端训练好的模型进行整合,从而得到一个能够覆盖各个客户端对应业务的全局模型,以分配给各个客户端进行使用。

相应的,本地业务样本具体是指基于客户端持有的数据构建的样本,用于训练初始业务模型;其中的,当本地业务样本为语料的情况下,则初始业务模型可以是关键词提取模型、摘要提取模型、文本分类模型、翻译模型等;再或者本地业务样本为交易数据,则初始业务模型可以是交易风险评估模型、预计交易量预估模型等;再或者本地业务样本为图像,则初始业务模型可以是图像类别识别模型、图像描述信息生成模型、图像内容提取模型等。也就是说,不同业务场景下,根据客户端持有的数据不同将构建出不同的本地业务样本,则相应的需要训练的初始业务模型也将具有不同的能力,以满足客户端的业务需求,实际应用中,不同业务场景下的本地业务样本和初始业务模型可以根据实际应用场景构建和设定,本实施例在此不作任何限定。

本实施例为方便描述以需要训练的初始业务模型具有分类能力为例进行说明,即需要训练的业务模型可以对当前业务场景中的输入进行分类,以使得客户端可以了解输入所属的类型,用于下游业务使用。其他业务场景中的联邦训练过程均可参见本实施例相同或相应的描述内容,本实施例在此不作过多赘述。

基于此,约束策略具体是指对初始业务模型进行重构更新的策略,用于改变初始业务模型的架构,使得更新后的中间业务模型可以在多次输入同样的样本时,可以分别输入不同的预测结果。相应的,初始预测信息具体是指经过参数固定好的初始业务模型进行预测处理后得到的预测结果;相应的,中间预测信息具体是指连续多次输入至中间业务模型后,经过中间业务模型进行预测处理得到的预测结果,即对应本地业务样本的分类结果。相应的,本地样本标签具体是指本地业务样本对应的真实分类结果。相应的,对中间业务模型进行调参,具体是指调整中间业务模型的模型参数,使得模型可以学习分类能力,提高模型的预测能力。相应的,目标业务模型具体是指经过客户端本地持有的数据进行训练后,满足本地训练停止条件的模型,其中,本地训练停止条件具体是指对中间业务模型进行训练后停止再次迭代训练的条件,包括但不限于迭代次数或损失值比较。

进一步的,服务端具体是指能够联合各个客户端上传的模型参数构建目标全局业务模型的一端;相应的,初始全局业务模型具体是指基于各个客户端上传的模型参数构建出的全局业务模型,其具备各个客户端目标业务模型的预测能力,但是还需要进一步的蒸馏训练才能够学习各个客户端的数据特征,实现对各个客户端的业务需求进行分类。相应的,噪音业务样本具体是指针对各个客户端的目标业务模型构建的样本,用于对初始全局业务模型进行再次训练,以得到目标全局业务模型。

基于此,当多个客户端之间需要通过联邦训练的方式,构建满足各个客户端使用需求的目标全局业务模型,实现在实际业务场景中可以从多个不同的维度对输入进行分类,从而精准的确定分类结果,每个客户端可以先进行预训练,即客户端先确定本地业务样本以及初始业务模型,之后按照预设的约束策略对所述业务模型进行更新,获得能够针对同一样本多次输入,但可以每次输出不同结果的中间业务模型;之后本地业务样本分别输入至初始业务模型和中间业务模型进行处理,将获得初始预测信息和中间预测信息;此时可以根据本地业务样本对应的本地样本标签、初始预测信息和中间预测信息对中间业务模型进行调参,以实现通过本地数据对本地的局部业务模型进行充分的训练,得到满足本地训练停止条件的目标业务模型;再将目标业务模型对应的目标模型参数发送至服务端即可。

服务端在接收到各个客户端上传的目标模型参数后,进一步的,为了能够创建出满足各个客户端使用需求的目标全局业务模型,此时可以根据至少两个目标模型参数构建初始全局业务模型,同时构建每个目标模型参数对应的噪音业务样本;之后利用所述噪音业务样本对初始全局业务模型进行训练,直至获得满足业务训练停止条件的目标全局业务模型即可。

综上所述,实现了客户端在本地进行充分训练而提升了模型的鲁棒性;同时针对每个目标模型参数单独创建噪音业务样本,可以更进一步的提高模型收敛速度,从而快速且高效的创建出满足业务场景的目标全局业务模型。

实际应用中,利用本地持有的本地业务样本训练初始业务模型,其面临的最大问题就是数据偏差,即数据单一导致模型参数波动教导。考虑一种特殊情况,即本地业务样本均具有一类标签,那么经过该样本训练后的模型将只能够预测正类。如此得到的目标业务模型将严重过拟合,当在服务端进行模型参数聚合时,将会大大降低模型性能。

有鉴于此,为了能够在本地训练时,使得模型就具备一定的能力,可以提前准备好聚合前的操作,可以定义同一个样本连续三次输入模型为一次冗余输入,即连续两次输入模型后,模型就已经学习了相应的能力,如果再次将相同的样本输入到模型,将导致模型过拟合,因此可以通过拉近样本冗余输入后得到两个概率分布来约束参数更新,实现通过约束分布来约束模型由于本地数据分布差异引起的参数偏移,为后续聚合做好准备。本实施例中,所述客户端,进一步被配置为确定所述初始业务模型中包含的业务处理层;按照预设的所述约束策略所述业务处理层中添加调整层,根据添加结果生成所述中间业务模型。

具体的,业务处理层具体是指初始业务模型中包含的层级结构,如关键词提取模型,则其包含编码层和解码层。相应的,调整层具体是指能够插入模型各个层的dropout层,实现同一样本连续多次输入模型后可以得到不同的预测结果。即在对初始业务模型进行训练前,可以先在初始业务模型中的各个业务处理层中插入dropout层,以根据添加结果得到中间业务模型,实现后续可以结合中间业务模型和初始业务模型联合训练得到目标业务模型。

其中,作为调整层的dropout层可以作为训练模型的一种覆盖选择,在每个训练批次中,通过忽略一般的特征检测器(让一半的隐层节点值为0),减少过拟合的现象,实现可以减少特征检测器(隐层节点)间的相互作用,检测器相互作用是指某些检测器依赖其他检测器才能发挥作用。从而使得中间业务模型可以在连续输入两次相同样本时,可以得到不同的预测信息。

进一步的,在得到初始业务模型和中间业务模型后,可以通过两种模型分别对本地业务样本进行处理,从而得到每个模型输出的预测结果,之后结合两种预测结果对模型进行调参,直至获得满足本地训练停止条件的目标模型参数即可。本实施例中,所述客户端,进一步被配置为将所述本地业务样本输入至所述初始业务模型进行处理,获得所述初始预测信息;将所述本地业务样本连续设定次数输入至所述中间业务模型进行处理,获得多个中间预测信息。

具体的,连续设定次数输入至中间业务模型时,设定次数可以根据实际需求进行设定,比如设定连续两次或者三次等,本实施例在此不作任何限定。相应的,多个中间预测信息即为对应设定次数个数的预测结果,用于后续进行模型训练,本实施例优选设定连续两次输入至中间业务模型,相应的,获得两个中间预测信息。

更进一步的,在得到初始预测信息和多个中间预测信息后,所述客户端,进一步被配置为根据所述初始预测信息、所述多个中间预测信息以及所述本地业务样本对应的本地样本标签计算目标损失值,根据所述目标损失值对所述中间业务模型进行调参。

具体的,目标损失值具体是指按照预设的损失函数计算得到的损失值,根据目标损失值对模型进行调参,直至模型的目标损失值小于预设损失值阈值后,即可将此阶段的模型作为目标业务模型即可。

此时,在计算目标损失值时,为了能够保证损失值计算结果的准确性,以及提高模型的优化效果,可以采用经计算相对熵损失值即交叉熵损失值的方式实现,本实施例中,所述客户端,进一步被配置为根据所述本地业务样本对应的本地样本标签以及每个中间预测信息计算中间交叉熵损失值,以及根据所述多个中间预测信息计算中间相对熵损失值;根据所述初始预测信息和每个中间预测信息计算初始相对熵损失值;基于所述中间交叉熵损失值、所述中间相对熵损失值以及所述初始相对熵损失值确定所述中间业务模型对应的目标损失值;根据所述目标损失值对所述中间业务模型进行调参。

也就是说,客户端在基于本地业务样本进行每轮训练时,可以先拷贝一份初始业务模型,并将其设置为不参与训练的模式。之后在初始业务模型中的每个业务处理层中插入dropout层,以获得中间业务模型。此时即可将本地业务样本输入至固定好的初始业务模型进行处理,即可得到初始预测信息;同时将本地业务样本连续两次输入至中间业务模型进行处理,将得到两个中间预测信息;最后再利用交叉熵分别度量初始业务模型和中间业务模型输出概率与真实概率的距离,以及利用KL离散度衡量三个预测信息之间的距离,即可以此确定目标损失值。

具体的,根据两个中间预测信息即可计算连续两次经过模型输出概率分布和样本真实标签的交叉熵损失值,同时基于初始预测信息和每个中间预测信息计算初始相对熵损失值,最后根据中间交叉熵损失值、中间相对熵损失值以及初始相对熵损失值,即可确定中间业务模型对应的目标损失值;根据目标损失值对所述中间业务模型进行调参即可。

具体实施时,在进行目标损失值的计算时,可以通过如下公式(1)实现:

其中,w

在分类任务中,可以先固定当前轮初始业务模型的模型参数w

具体实施时,每个客户端进行业务模型训练的过程均可参见上述实施例中相同或相应的描述内容,本实施例在此不作过多赘述,并在训练完成后上传至服务端即可,实现服务端可以进行全局模型的构建。

此外,当服务端接收到各个客户端上传的目标模型参数后,由于不同的客户端持有的数据不同,这就导致训练模型时使用的业务样本不同,且可能存在非独立同步的情况。虽然通过上述方式在客户端本地可以训练出较为优异的目标业务模型,但是这种方案也仅能够约束训练好的模型不偏离全局训练过程,本质上是利用全局模型参数来对前一轮其他客户端的模型参数聚合这一特点,让客户端上传的目标模型参数对应的目标业务模型更加接近,其最直观的方法就是将各个客户端之间的数据进行共享,但是这就会导致数据私有性降低,即使在加密场景下进行也存在一定的风险。

因此,可以明确该方案实际上是利用其它客户端的本地业务样本使得本地的初始业务模型更新后,相互之间可以更加接近,即当一个样本经过不同客户端对应的模型时,输出概率分布应该是较为接近的,则此时将可以不再考虑数值,进行拟合样本的输出分布即可。因此可以针对每个目标模型参数分别创建噪音业务样本,以此对初始全局业务模型进行训练即可,本实施例中,所述服务端,进一步被配置为根据所述至少两个目标模型参数构建至少两个目标业务模型,作为所述初始全局业务模型;按照对应关系策略将所述噪音业务样本输入至每个目标业务模型进行处理,获得第一目标预测信息,以及按照交叉关系策略将所述噪音业务样本输入至每个目标业务模型进行处理,获得第二目标预测信息;根据所述第一目标预测信息和所述第二目标预测信息对每个目标业务模型分别进行调参,直至获得满足业务训练停止条件的所述目标全局业务模型。

基于此,可以通过随机针对每个目标模型参数创建噪音业务数据的方式,确定伪样本对各个目标业务模型分别进行训练,即针对任意上传到服务端的客户端对应的目标业务模型可以通过交叉关系策略和对应关系策略进行相互蒸馏,使得每个目标业务模型对同一样本的输入更加接近,从而达到联邦学习的目的,以此构建出满足使用需求的目标全局业务模型。

其中,对应关系策略具体是指将目标模型参数对应的噪音业务样本通过其对应的目标业务模型进行处理;相应的,交叉关系策略具体是指将目标模型参数对应的噪音业务样本通过其他目标业务模型进行处理,之后采用相互制衡的方式,使得两者可以输出接近,方便后续构建出满足使用需求的目标全局业务模型。具体实施时,上述方案可以通过如下公式(2)实现:

其中,x

更进一步的,考虑到仅需要生成与真实样本维度相同的噪音业务样本,虽然能够实现优化不同模型之间距离,但是随机生成的噪音业务样本经过各个目标业务模型输出的概率分布有可能去向均匀分布,即使得各个目标业务模型学习到各个样本不属于任何一类,这是不同客户端对应的目标业务模型之间的KL离散度较小,蒸馏效果可能较差。

因此为了避免上述问题对模型训练效果产生影响,可以通过如下方式如下:本实施例中,所述服务端,进一步被配置为构建每个目标模型参数对应的初始噪音业务样本,将所述初始噪音业务样本输入至所述初始全局业务模型进行处理,获得初始全局预测信息;对所述初始全局预测信息进行归一化处理,并根据归一化处理结果计算所述初始噪音业务数据相对于所述初始全局业务模型的置信损失值;通过对所述置信损失值进行求导获得样本更新参数,并基于所述样本更新参数对所述初始噪音业务样本进行更新,获得所述噪音业务样本。

也就是说,可以先定义随机生成的n个具有h维度的噪音业务样本为x∈ R

也就是说,为了使参数差异较大的目标业务模型能够通过噪音业务样本实现蒸馏学习,需要获取置信损失较小的噪音业务样本,则此时可以通过设置合适的阈值在噪音业务样本中采样阶段筛选出合适的噪音业务样本。但是考虑到噪音空间较大,通过不断的随机生成噪音业务样本很难快速的采样到满足阈值的样本,因此可以先固定住训练好的目标业务模型的参数,而将噪音业务样本的特征参数设置为可学习参数,进而通过如下公式(4)对置信损失函数求导来更新噪音业务样本:

也就是说,随机生成噪音业务样本过程中,经过梯度更新后输出概率分布置信损失降低,相当于约束噪音业务样本的特征分布,使得模型对噪音业务样本更加敏感,使得后续噪音蒸馏算法可以拉近偏移较大的模型之间的参数,从而训练出满足使用需求的目标全局业务模型。

更进一步的,在对模型进行训练时,考虑到服务端具有各个目标业务模型对应的噪音业务样本,以及多个目标业务模型,因此在训练目标全局业务模型时,可以通过如下两种方式实现:

(1)所述服务端,进一步被配置为在调参后的目标业务模型满足所述业务训练停止条件的情况下,根据调参结果生成每个目标业务模型对应的初始模型参数;计算所述初始模型参数的平均值获得全局模型参数,并基于所述全局模型参数构建所述目标全局业务模型。

参见图3中左部分所示的示意图,通过采用前置交叉蒸馏的方式,实现交叉训练各个目标业务模型,并在初步训练完成后,可将各个客户端对应的目标业务模型参数平均,即可得到全局模型参数,最后再基于所述全局模型参数构建所述目标全局业务模型即可。

(2)所述服务端,进一步被配置为计算所述至少两个目标模型参数的平均值获得初始全局模型参数;根据所述初始全局模型参数构建所述初始全局业务模型;将每个目标模型参数对应的噪音业务样本进行整合,获得全局噪音业务样本;利用所述全局噪音业务样本对所述初始全局业务模型进行训练,直至获得满足所述业务训练停止条件的所述目标全局业务模型。

参见图3中右部分所示的示意图,可以先将全部噪音业务样本整合,得到全局噪音业务样本,同时将各个目标业务模型对应的参数进行平均,得到初始全局模型参数,并以此构建出初始全局业务模型,最后再利用全局噪音业务样本对初始全局模型参数进行训练,即可获得满足训练停止条件的目标全局业务模型。实现在下游业务使用时,可以精准的完成预测处理操作。

本实施例通过的基于噪音蒸馏的联邦学习系统,实现在各个客户端确定本地业务样本以及初始业务模型后,可以按照预设的约束策略对初始业务模型进行更新,获得中间业务模型;之后将本地业务样本分别输入至初始业务模型和中间业务模型进行处理,获得初始预测信息和中间预测信息;此时即可基于本地业务样本对应的本地样本标签、初始预测信息和中间预测信息对所述中间业务模型进行调参,直至获得满足本地训练停止条件的目标业务模型,之后各个客户端分别将训练好的目标业务模型对应的目标模型参数发送至服务端即可。服务端在接收到至少两个目标模型参数后,可以根据至少两个目标模型参数构建初始全局业务模型,以及每个目标模型参数对应的噪音业务样本;再利用噪音业务样本对初始全局业务模型进行训练,直至获得满足业务训练停止条件的目标全局业务模型即可。实现了客户端在本地进行充分训练而提升了模型的鲁棒性;同时针对每个目标模型参数单独创建噪音业务样本,可以更进一步的提高模型收敛速度,从而快速且高效的创建出满足业务场景的目标全局业务模型。

与上述方法实施例相对应,本说明书还提供了基于噪音蒸馏的联邦学习方法的实施例,图4示出了本说明书一实施例提供的一种基于噪音蒸馏的联邦学习方法的流程图。如图4所示,该方法包括:

步骤S402,至少两个客户端确定本地业务样本以及初始业务模型;按照预设的约束策略对所述初始业务模型进行更新,获得中间业务模型;将所述本地业务样本分别输入至所述初始业务模型和所述中间业务模型进行处理,获得初始预测信息和中间预测信息;基于所述本地业务样本对应的本地样本标签、所述初始预测信息和所述中间预测信息对所述中间业务模型进行调参,直至获得满足本地训练停止条件的目标业务模型;将所述目标业务模型对应的目标模型参数发送至服务端;

步骤S404,所述服务端接收至少两个目标模型参数;根据所述至少两个目标模型参数构建初始全局业务模型,以及构建每个目标模型参数对应的噪音业务样本;利用所述噪音业务样本对所述初始全局业务模型进行训练,直至获得满足业务训练停止条件的目标全局业务模型。

可选地,所述客户端确定所述初始业务模型中包含的业务处理层;按照预设的所述约束策略所述业务处理层中添加调整层,根据添加结果生成所述中间业务模型。

可选地,所述客户端将所述本地业务样本输入至所述初始业务模型进行处理,获得所述初始预测信息;将所述本地业务样本连续设定次数输入至所述中间业务模型进行处理,获得多个中间预测信息。

可选地,所述客户端根据所述初始预测信息、所述多个中间预测信息以及所述本地业务样本对应的本地样本标签计算目标损失值,根据所述目标损失值对所述中间业务模型进行调参。

可选地,所述客户端根据所述本地业务样本对应的本地样本标签以及每个中间预测信息计算中间交叉熵损失值,以及根据所述多个中间预测信息计算中间相对熵损失值;根据所述初始预测信息和每个中间预测信息计算初始相对熵损失值;基于所述中间交叉熵损失值、所述中间相对熵损失值以及所述初始相对熵损失值确定所述中间业务模型对应的目标损失值;根据所述目标损失值对所述中间业务模型进行调参。

可选地,所述服务端根据所述至少两个目标模型参数构建至少两个目标业务模型,作为所述初始全局业务模型;按照对应关系策略将所述噪音业务样本输入至每个目标业务模型进行处理,获得第一目标预测信息,以及按照交叉关系策略将所述噪音业务样本输入至每个目标业务模型进行处理,获得第二目标预测信息;根据所述第一目标预测信息和所述第二目标预测信息对每个目标业务模型分别进行调参,直至获得满足业务训练停止条件的所述目标全局业务模型。

可选地,所述服务端在调参后的目标业务模型满足所述业务训练停止条件的情况下,根据调参结果生成每个目标业务模型对应的初始模型参数;计算所述初始模型参数的平均值获得全局模型参数,并基于所述全局模型参数构建所述目标全局业务模型。

可选地,所述服务端构建每个目标模型参数对应的初始噪音业务样本,将所述初始噪音业务样本输入至所述初始全局业务模型进行处理,获得初始全局预测信息;对所述初始全局预测信息进行归一化处理,并根据归一化处理结果计算所述初始噪音业务数据相对于所述初始全局业务模型的置信损失值;通过对所述置信损失值进行求导获得样本更新参数,并基于所述样本更新参数对所述初始噪音业务样本进行更新,获得所述噪音业务样本。

可选地,所述服务端计算所述至少两个目标模型参数的平均值获得初始全局模型参数;根据所述初始全局模型参数构建所述初始全局业务模型;将每个目标模型参数对应的噪音业务样本进行整合,获得全局噪音业务样本;利用所述全局噪音业务样本对所述初始全局业务模型进行训练,直至获得满足所述业务训练停止条件的所述目标全局业务模型。

本实施例通过的基于噪音蒸馏的联邦学习方法,实现在各个客户端确定本地业务样本以及初始业务模型后,可以按照预设的约束策略对初始业务模型进行更新,获得中间业务模型;之后将本地业务样本分别输入至初始业务模型和中间业务模型进行处理,获得初始预测信息和中间预测信息;此时即可基于本地业务样本对应的本地样本标签、初始预测信息和中间预测信息对所述中间业务模型进行调参,直至获得满足本地训练停止条件的目标业务模型,之后各个客户端分别将训练好的目标业务模型对应的目标模型参数发送至服务端即可。服务端在接收到至少两个目标模型参数后,可以根据至少两个目标模型参数构建初始全局业务模型,以及每个目标模型参数对应的噪音业务样本;再利用噪音业务样本对初始全局业务模型进行训练,直至获得满足业务训练停止条件的目标全局业务模型即可。实现了客户端在本地进行充分训练而提升了模型的鲁棒性;同时针对每个目标模型参数单独创建噪音业务样本,可以更进一步的提高模型收敛速度,从而快速且高效的创建出满足业务场景的目标全局业务模型。

上述为本实施例的一种基于噪音蒸馏的联邦学习方法的示意性方案。需要说明的是,该基于噪音蒸馏的联邦学习方法的技术方案与上述的基于噪音蒸馏的联邦学习系统的技术方案属于同一构思,基于噪音蒸馏的联邦学习方法的技术方案未详细描述的细节内容,均可以参见上述基于噪音蒸馏的联邦学习系统的技术方案的描述。

图5示出了根据本说明书一实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。

计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。

在本说明书的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。

计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备500还可以是移动式或静止式的服务器。

其中,处理器520用于执行如下计算机可执行指令时实现基于噪音蒸馏的联邦学习方法的步骤。

上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的基于噪音蒸馏的联邦学习系统的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述基于噪音蒸馏的联邦学习系统的技术方案的描述。

本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于基于噪音蒸馏的联邦学习方法。

上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的基于噪音蒸馏的联邦学习系统的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述基于噪音蒸馏的联邦学习系统的技术方案的描述。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书并不受所描述的动作顺序的限制,因为依据本说明书,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

技术分类

06120114729798