数据处理方法、系统及电子设备转让专利

申请号 : CN202210895992.3

文献号 : CN115098885B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘洋刘洋

申请人 : 清华大学

摘要 :

本发明属于计算机应用技术领域,提供一种数据处理方法、系统及电子设备,应用于数据处理系统中的客户端设备,各客户端设备与服务端连接,用于基于服务端模型对客户端设备中的客户端模型进行协同训练,方法包括:基于获取的数据样本对客户端模型进行第一训练过程;获取第一训练过程中客户端模型中的第一和第二目标特征;将第一目标特征用于对服务端模型进行训练;接收服务端发送的服务端模型中的第三目标特征;基于第二和第三目标特征对客户端模型进行第二训练过程。用以解决现有技术中在基于服务端模型对客户端模型进行训练时,模型参数在模型间传输容易造成数据隐私泄露的缺陷,实现在服务端模型对客户端模型的协同训练时数据隐私的保护。

权利要求 :

1.一种数据处理方法,其特征在于,应用于数据处理系统中的每个客户端设备,各所述客户端设备与服务端连接,所述服务端用于基于服务端模型对所述客户端设备中的客户端模型进行协同训练,所述方法包括:获取数据样本;

基于所述数据样本,对客户端模型进行第一训练过程;

获取所述第一训练过程中,所述客户端模型中的提取层的第一目标特征和分类层的第二目标特征;

将所述第一目标特征发送至所述服务端,所述第一目标特征用于对服务端模型进行训练;

接收所述服务端发送的所述服务端模型中的分类层的第三目标特征;

基于所述第二目标特征和所述第三目标特征,对所述客户端模型进行第二训练过程。

2.根据权利要求1的数据处理方法,其特征在于,所述获取所述第一训练过程中,所述客户端模型中的提取层的第一目标特征和分类层的第二目标特征,包括:在所述提取层对所述数据样本进行特征提取,得到所述数据样本的特征序列feature maps,作为所述第一目标特征;

在所述分类层对所述第一目标特征进行分类,得到客户端logits向量,作为所述第二目标特征。

3.根据权利要求1或2的数据处理方法,其特征在于,所述获取数据样本,包括:获取在当前时间戳下的所述数据样本;

所述将所述第一目标特征发送至所述服务端,所述第一目标特征用于对服务端模型进行训练,包括:将所述第一目标特征发送至所述服务端,所述第一目标特征用于对基于伪特征训练得到的所述服务端模型进行训练;所述伪特征通过预设的生成模型对在所述当前时间戳前的所有时间戳得到的第一目标特征的重构得到。

4.根据权利要求3的数据处理方法,其特征在于,所述基于所述数据样本,对客户端模型进行第一训练过程后,还包括:获取所述数据样本对应的预定义标签;

将所述预定义标签发送至所述服务端,所述预定义标签与所述服务端内的混合特征用于对所述生成模型进行训练;

所述混合特征通过将所述伪特征和所述第一目标特征混合得到。

5.根据权利要求1的数据处理方法,其特征在于,所述基于所述第二目标特征和所述第三目标特征,对所述客户端模型进行第二训练过程,包括:基于所述第三目标特征对所述第二目标特征进行知识蒸馏。

6.一种数据处理方法,其特征在于,包括:

获取待处理数据;

将所述待处理数据输入客户端模型,输出对所述待处理数据的处理结果;

其中,所述客户端模型应用于数据处理系统中的每个客户端设备,各所述客户端设备与服务端连接,所述服务端用于基于服务端模型对所述客户端设备中的客户端模型进行协同训练,所述客户端模型通过以下方法训练得到:获取数据样本;

基于所述数据样本,对客户端模型进行第一训练过程;

获取所述第一训练过程中,所述客户端模型中的提取层的第一目标特征和分类层的第二目标特征;

将所述第一目标特征发送至所述服务端,所述第一目标特征用于对服务端模型进行训练;

接收所述服务端发送的所述服务端模型中的分类层的第三目标特征;

基于所述第二目标特征和所述第三目标特征,对所述客户端模型进行第二训练过程。

7.一种数据处理方法,其特征在于,应用于数据处理系统中的服务端,所述服务端与各客户端设备分别连接,用于基于服务端模型对所述客户端设备中的客户端模型进行协同训练,所述方法包括:接收客户端设备发送的第一目标特征,所述第一目标特征为所述客户端模型在基于数据样本进行第一训练过程中,所述客户端模型中的提取层产生的特征;

基于所述第一目标特征,对服务端模型进行训练,并获取训练过程中所述服务端模型中的分类层产生的第三目标特征;

将所述第三目标特征发送至所述客户端设备,所述第三目标特征用于和第二目标特征对客户端模型进行第二训练过程,所述第二目标特征为所述客户端模型在基于所述数据样本进行所述第一训练过程中,所述客户端模型中的分类层产生的特征。

8.根据权利要求7的数据处理方法,其特征在于,所述接收客户端设备发送的第一目标特征,包括:接收客户端设备发送的所述客户端模型基于在当前时间戳下获取的数据样本进行第一训练过程中产生的第一目标特征;

所述基于所述第一目标特征,对服务端模型进行训练前,还包括:获取伪特征,所述伪特征通过预设的生成模型对在所述当前时间戳前的所有时间戳得到的第一目标特征的重构得到;

基于所述伪特征,对服务端模型进行训练。

9.根据权利要求8的数据处理方法,其特征在于,所述将所述第三目标特征发送至所述客户端设备后,还包括:接收所述客户端设备发送的所述数据样本对应的预定义标签;

将由所述客户端设备接收的所述第一目标特征和所述伪特征混合,得到混合特征;

基于所述混合特征和所述预定义标签,对所述生成模型进行调整。

10.一种数据处理系统,其特征在于,应用于数据处理系统中的每个客户端设备,各所述客户端设备与服务端连接,所述服务端用于基于服务端模型对所述客户端设备中的客户端模型进行协同训练,所述系统包括:客户端获取模块,用于获取数据样本,所述数据样本中包含隐私数据;

第一客户端训练模块,用于基于所述数据样本,对客户端模型进行第一训练过程;

客户端提取模块,用于获取所述第一训练过程中,所述客户端模型中的提取层的第一目标特征和分类层的第二目标特征;

客户端发送模块,用于将所述第一目标特征发送至所述服务端,所述第一目标特征用于对服务端模型进行训练;

客户端接收模块,用于接收所述服务端发送的所述服务端模型中的分类层的第三目标特征;

第二客户端训练模块,用于基于所述第二目标特征和所述第三目标特征,对所述客户端模型进行第二训练过程。

说明书 :

数据处理方法、系统及电子设备

技术领域

[0001] 本发明涉及计算机应用技术领域,尤其涉及一种数据处理方法、系统及电子设备。

背景技术

[0002] 数据隐私导致社会舆论而引起了广泛的关注,保护数据隐私成为重要的研究方向,其中以联邦学习为代表的数据隐私保护方法受到了越来越多的关注。在传统的联邦学习设置中,所有客户端在同一时间步上传模型参数或者模型梯度给中心服务器端,服务器端进行简单的平均聚合后分发回客户端,再由客户端在本地化数据上进一步更新,由此反复直至模型收敛。
[0003] 以医疗系统为例,一般会在公共健康系统设置一个中心服务器,然后同属于这个中心服务器的各个医院再分别设置客户端服务器,中心服务器和各个客户端服务器均设置模型,其中中心服务器端设置的大模型能够与各个客户端的本地模型进行模型参数的传递,从而使得本地模型能够通过大模型的数据进行不断的训练而持续优化。然而,在模型参数的传递过程中,根据模型参数很容易推导出输入模型的数据,即造成数据隐私泄露,进而导致患者的隐私数据被泄露,不利于用户隐私的保护。
[0004] 综上,如何在赋予模型持续不断学习的能力的同时,又避免在模型训练过程中数据隐私的泄露,是目前亟待解决的难题。

发明内容

[0005] 本发明提供一种数据处理方法、系统及电子设备,用以解决现有技术中在基于服务端模型对客户端模型进行训练时,模型参数在模型间传输容易造成数据隐私泄露的缺陷,实现在服务端模型对客户端模型的协同训练时数据隐私的保护。
[0006] 本发明还提供一种数据处理方法,应用于数据处理系统中的每个客户端设备,各所述客户端设备与服务端连接,所述服务端用于基于服务端模型对所述客户端设备中的客户端模型进行协同训练,所述方法包括:
[0007] 获取数据样本;
[0008] 基于所述数据样本,对客户端模型进行第一训练过程;
[0009] 获取所述第一训练过程中,所述客户端模型中的提取层的第一目标特征和分类层的第二目标特征;
[0010] 将所述第一目标特征发送至所述服务端,所述第一目标特征用于对服务端模型进行训练;
[0011] 接收所述服务端发送的所述服务端模型中的分类层的第三目标特征;
[0012] 基于所述第二目标特征和所述第三目标特征,对所述客户端模型进行第二训练过程。
[0013] 根据本发明所述的数据处理方法,所述获取所述第一训练过程中,所述客户端模型中的提取层的第一目标特征和分类层的第二目标特征,包括:
[0014] 在所述提取层对所述数据样本进行特征提取,得到所述数据样本的特征序列feature maps,作为所述第一目标特征;
[0015] 在所述分类层对所述第一目标特征进行分类,得到客户端logits向量,作为所述第二目标特征。
[0016] 根据本发明所述的数据处理方法,所述获取数据样本,包括:
[0017] 获取在当前时间戳下的所述数据样本;
[0018] 所述将所述第一目标特征发送至所述服务端,所述第一目标特征用于对服务端模型进行训练,包括:
[0019] 将所述第一目标特征发送至所述服务端,所述第一目标特征用于对基于伪特征训练得到的所述服务端模型进行训练;所述伪特征通过预设的生成模型对在所述当前时间戳前的所有时间戳得到的第一目标特征的重构得到。
[0020] 根据本发明所述的数据处理方法,所述基于所述数据样本,对客户端模型进行第一训练过程后,还包括:
[0021] 获取所述数据样本对应的预定义标签;
[0022] 将所述预定义标签发送至所述服务端,所述预定义标签与所述服务端内的混合特征用于对所述生成模型进行训练;
[0023] 所述混合特征通过将所述伪特征和所述第一目标特征混合得到。
[0024] 根据本发明所述的数据处理方法,所述基于所述第二目标特征和所述第三目标特征,对所述客户端模型进行第二训练过程,包括:
[0025] 基于所述第三目标特征对所述第二目标特征进行知识蒸馏。
[0026] 本发明还提供一种数据处理方法,包括:
[0027] 获取待处理数据;
[0028] 将所述待处理数据输入客户端模型,输出对所述待处理数据的处理结果;
[0029] 其中,所述客户端模型应用于数据处理系统中的每个客户端设备,各所述客户端设备与服务端连接,所述服务端用于基于服务端模型对所述客户端设备中的客户端模型进行协同训练,所述客户端模型通过以下方法训练得到:
[0030] 获取数据样本;
[0031] 基于所述数据样本,对客户端模型进行第一训练过程;
[0032] 获取所述第一训练过程中,所述客户端模型中的提取层的第一目标特征和分类层的第二目标特征;
[0033] 将所述第一目标特征发送至所述服务端,所述第一目标特征用于对服务端模型进行训练;
[0034] 接收所述服务端发送的所述服务端模型中的分类层的第三目标特征;
[0035] 基于所述第二目标特征和所述第三目标特征,对所述客户端模型进行第二训练过程。
[0036] 本发明还提供一种数据处理方法,应用于数据处理系统中的服务端,所述服务端与各客户端设备分别连接,用于基于服务端模型对所述客户端设备中的客户端模型进行协同训练,所述方法包括:
[0037] 接收客户端设备发送的第一目标特征,所述第一目标特征为所述客户端模型在基于数据样本进行第一训练过程中,所述客户端模型中的提取层产生的特征;
[0038] 基于所述第一目标特征,对服务端模型进行训练,并获取训练过程中所述服务端模型中的分类层产生的第三目标特征;
[0039] 将所述第三目标特征发送至所述客户端设备,所述第三目标特征用于和第二目标特征对客户端模型进行第二训练过程,所述第二目标特征为所述客户端模型在基于所述数据样本进行所述第一训练过程中,所述客户端模型中的分类层产生的特征。
[0040] 根据本发明所述的数据处理方法,所述接收客户端设备发送的第一目标特征,包括:
[0041] 接收客户端设备发送的所述客户端模型基于在当前时间戳下获取的数据样本进行第一训练过程中产生的第一目标特征;
[0042] 所述基于所述第一目标特征,对服务端模型进行训练前,还包括:
[0043] 获取伪特征,所述伪特征通过预设的生成模型对在所述当前时间戳前的所有时间戳得到的第一目标特征的重构得到;
[0044] 基于所述伪特征,对服务端模型进行训练。
[0045] 根据本发明所述的数据处理方法,所述将所述第三目标特征发送至所述客户端设备后,还包括:
[0046] 接收所述客户端设备发送的所述数据样本对应的预定义标签;
[0047] 将由所述客户端设备接收的所述第一目标特征和所述伪特征混合,得到混合特征;
[0048] 基于所述混合特征和所述预定义标签,对所述生成模型进行调整。
[0049] 本发明还提供一种数据处理系统,应用于数据处理系统中的每个客户端设备,各所述客户端设备与服务端连接,所述服务端用于基于服务端模型对所述客户端设备中的客户端模型进行协同训练,所述系统包括:
[0050] 客户端获取模块,用于获取数据样本,所述数据样本中包含隐私数据;
[0051] 第一客户端训练模块,用于基于所述数据样本,对客户端模型进行第一训练过程;
[0052] 客户端提取模块,用于获取所述第一训练过程中,所述客户端模型中的提取层的第一目标特征和分类层的第二目标特征;
[0053] 客户端发送模块,用于将所述第一目标特征发送至所述服务端,所述第一目标特征用于对服务端模型进行训练;
[0054] 客户端接收模块,用于接收所述服务端发送的所述服务端模型中的分类层的第三目标特征;
[0055] 第二客户端训练模块,用于基于所述第二目标特征和所述第三目标特征,对所述客户端模型进行第二训练过程。
[0056] 本发明提供的一种数据处理方法、系统及电子设备,通过用基于数据样本在客户端模型进行训练中产生的第一目标特征,以及服务端模型在训练过程中产生的第三目标特征,在客户端模型和服务端模型间传输,替代将客户端模型在本地数据集上训练得到的模型参数,以及服务端模型经训练后得到的模型参数,在客户端设备和服务端间的传输,避免了通过模型参数推导出数据样本所造成的隐私数据的泄露,提高了数据处理的安全性;同时,服务端模型基于各个客户端模型发送的第一目标特征进行训练后,客户端模型又基于第二目标特征和由服务端模型得到的第三目标特征进行第二训练过程,不仅实现了基于服务端模型对客户端模型的协同训练,同时打造了一个能够持续学习和保存了所有客户端的第一目标特征的服务端模型,帮助了客户端模型的效果提升。

附图说明

[0057] 为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0058] 图1是本发明提供的数据处理方法的流程示意图;
[0059] 图2是本发明提供的数据处理方法的逻辑关系示意图;
[0060] 图3是本发明提供的生成模型的运行框架原理图;
[0061] 图4是本发明提供的数据处理方法总体的框架原理图;
[0062] 图5是本发明提供的数据处理方法的流程示意图;
[0063] 图6是本发明提供的数据处理方法的流程示意图;
[0064] 图7是本发明提供的数据处理系统的结构示意图;
[0065] 图8是本发明提供的数据处理系统的结构示意图;
[0066] 图9是本发明提供的电子设备的结构示意图。

具体实施方式

[0067] 为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0068] 可以理解的是,随着数据量以及算力的提升,服务端模型已经在人工智能领域有着举足轻重的地位,针对一个服务端模型,可以连接多个客户端模型,使得各客户端模型能够基于服务端模型的训练结果进行不断的学习,从而更好的服务于相应客户端的本地应用。
[0069] 在基于服务端模型对客户端模型的协同训练过程中,客户端设备中的客户端模型通常是将基于数据样本在本地数据集上训练得到的客户端模型参数直接传输给服务端的服务端模型,然后服务端模型再将自己的模型参数传输给客户端模型,以对客户端模型提升。
[0070] 然而,在获取了模型参数后,就获得了整个模型架构,因而,基于模型的输出,就能反向推导得到相应模型的输入数据,此时,如果输入数据中包含了隐私数据,这些隐私数据也就遭到了泄露。基于此,本发明实施例提供了一种能够避免数据隐私泄露的数据处理方法。
[0071] 下面结合图1至图6描述本发明的一种数据处理方法,应用于数据处理系统中的每个客户端设备,各所述客户端设备与服务端连接,所述服务端用于基于服务端模型对所述客户端设备中的客户端模型进行协同训练,如图1所示,所述方法包括以下步骤:
[0072] 101、获取数据样本;
[0073] 102、基于所述数据样本,对客户端模型进行第一训练过程;
[0074] 具体地,基于数据样本对客户端模型进行的第一训练过程,为基于数据样本在客户端的本地数据集上进行的训练。
[0075] 103、获取所述第一训练过程中,所述客户端模型中的提取层的第一目标特征和分类层的第二目标特征;
[0076] 具体地,第一目标特征和第二目标特征是客户端模型在第一训练过程中产生的中间量,因而这两个目标特征并不包含客户端模型的所有参数,所以当将第一目标特征向服务端发送时,即使第一目标特征被其他外部设备所获取,也不能够通过第一目标特征得到整个客户端模型的架构,也就不能实现通过获取的第一目标特征反向推导得到输入所述客户端模型的数据样本,进而避免了在服务端协同客户端模型训练过程中,因服务端和客户端设备间的数据传输所造成的数据隐私泄露,保证了数据处理的安全性。
[0077] 104、将所述第一目标特征发送至所述服务端,所述第一目标特征用于对服务端模型进行训练;
[0078] 具体地,各个客户端模型均向服务端发送第一目标特征,而服务端模型又基于第一目标特征进行训练,进而使得服务端模型能够将所有客户端的数据进行集合,实现了服务端模型的持续学习。
[0079] 105、接收所述服务端发送的所述服务端模型中的分类层的第三目标特征;
[0080] 106、基于所述第二目标特征和所述第三目标特征,对所述客户端模型进行第二训练过程。
[0081] 具体地,客户端模型基于由服务端接收的第三目标特征进行第二训练过程,实现了基于服务端模型对客户端模型的协同训练,同时因服务端模型基于各个客户端模型的第一目标特征进行训练,使得服务端模型能够有效帮助客户端模型的效果提升。
[0082] 作为本发明的一种实施例,所述获取所述第一训练过程中,所述客户端模型中的提取层的第一目标特征和分类层的第二目标特征,包括:
[0083] 在所述提取层对所述数据样本进行特征提取,得到所述数据样本的特征序列feature maps,作为所述第一目标特征;
[0084] 在所述分类层对所述第一目标特征进行分类,得到客户端logits向量,作为所述第二目标特征。
[0085] 具体地,提取的在客户端模型训练过程中产生的feature maps和logits向量,能够用于模型的训练,且不包含整个客户端模型的模型参数,因而并不会在被获取后,使得获取方能够推导出数据样本,也就避免了数据隐私的泄露。
[0086] 作为本发明的一种实施例,所述获取数据样本,包括:
[0087] 获取在当前时间戳下的所述数据样本;
[0088] 具体地,在神经网络中,模型的训练通过一系列的任务来实现,因而在每个时间步或者说是时间戳下,均需要先获取任务,然后再基于任务中所包含的数据样本进行模型的训练。
[0089] 更具体地,为了方便对本发明实施例后续技术方案以更便于理解的方式进行表述,将所述当前时间戳以t表示。
[0090] 所述将所述第一目标特征发送至所述服务端,所述第一目标特征用于对服务端模型进行训练,包括:
[0091] 将所述第一目标特征发送至所述服务端,所述第一目标特征用于对基于伪特征训练得到的所述服务端模型进行训练;所述伪特征通过预设的生成模型对在所述当前时间戳前的所有时间戳得到的第一目标特征的重构得到。
[0092] 具体地,服务端模型是基于通过预设的生成模型对1至t‑1时间戳下得到的所有第一目标特征的重构得到的伪特征pseudo‑feature maps训练得到的,因而,服务端模型是持续学习和保存了所有客户端模型在时间戳t前的所有时间戳下的信息的,所以当将当前时间戳t下客户端模型训练得到的第一目标特征发送给服务端模型,服务端模型基于所述第一目标特征训练,就进一步学习和保存了所有客户端模型在1至t时间戳下的所有信息,即由所述服务端模型得到的第三目标特征中包含了由客户端模型由训练初始到当前时间戳t的所有信息。
[0093] 更具体地,基于由客户端模型训练得到的当前时间戳t下的第三目标特征,以及由服务端模型训练得到的包含所述客户端模型由训练初始到当前时间戳t的所有信息的第二目标特征,对所述客户端模型进行第二训练过程,实现了基于所述客户端在1至t时间戳下经历的所有任务的信息对客户端模型的训练,从而避免了客户端在经历一系列任务后导致的灾难性遗忘问题,有效帮助了客户端模型效果提升。
[0094] 进一步地,本发明上述实施例的数据处理方法基于如图2所示的逻辑关系实现,所述数据处理方法使得客户端设备会接收到源源不断的数据从而持续不断地更新客户端模型,即本地模型,与此同时,服务端也会持续不断地接收到经第一训练过程后的客户端模型发送的第一目标特征,并从新的客户端模型中获取知识迭代更新服务端的服务端模型,实现了客户端模型和服务端模型的持续学习和效果提升。
[0095] 作为本发明的一种实施例,所述基于所述数据样本,对客户端模型进行第一训练过程后,还包括:
[0096] 获取所述数据样本对应的预定义标签;
[0097] 将所述预定义标签发送至所述服务端,所述预定义标签与所述服务端内的混合特征用于对所述生成模型进行训练;
[0098] 所述混合特征通过将所述伪特征和所述第一目标特征混合得到。
[0099] 具体地,混合特征通过将伪特征和第一目标特征混合得到,而伪特征是通过生成模型对时间戳1至t‑1下得到的所有第一目标特征的重构得到的,所以混合特征等于是将时间戳1至t下得到的所有特征进行了混合,因而通过将数据样本的预定义标签和混合特征一并用于生成模型的调整,能够确保将当前客户端模型的数据整合到生成模型中,以供下一个时间戳生成并参与到模型训练中,以进一步防止灾难性遗忘。
[0100] 更具体地,以所述生成模型为CVAE为例,重构1至t‑1时间戳下客户端模型发送过的所有类别对应的伪特征的具体原理如图3所示,即将1至t‑1个时间戳下的任务所对应的数据样本在本地数据集上训练,得到的第一目标特征(feature maps)和对应各数据样本的预定义标签(Y)通过CVAE的编码器(Encoder),得到隐变量(Latent Variables)Z,然后Z和Y通过CVAE的解码器(Decoder),就得到了伪特征pseudo‑feature maps。
[0101] 作为本发明的一种实施例,所述基于所述第二目标特征和所述第三目标特征,对所述客户端模型进行第二训练过程,包括:
[0102] 基于所述第三目标特征对所述第二目标特征进行知识蒸馏。
[0103] 具体地,所述客户端模型基于所述第三目标特征对所述第二目标特征进行知识蒸馏,以提升客户端模型的表现。
[0104] 更具体地,以第二目标特征为客户端logits向量,第三目标特征为服务端logits向量为例,则基于服务端logits向量对客户端logits向量进行知识蒸馏参照下述公式1:
[0105] (1)
[0106] 其中, 表示Kullback Leibler散度函数;Client表示客户端;
[0107] Server表示服务端。
[0108] 可以理解的是,本发明上述实施例所述的模型训练方法总体的原理图如图4所示,包括:
[0109] 在当前时间戳t的状态下,任务对应的数据样本Xprivate先经过客户端模型的特征提取层(fextractor)得到feature maps,然后feature maps经过客户端模型的特征分类层(fclassifier)得到客户端logits向量,同时,feature maps和客户端logits向量均发送至服务端模型(fserver)。
[0110] 服务端模型先通过生成模型(如:mPFC Decoder)重构之前所有时间段1至t‑1的客户端模型发送过的所有类别对应的伪特征,用这部分重构的伪特征去训练服务端模型,其中,训练过程具体为:将基于伪特征训练服务端模型而得到的服务端logits向量与所述伪特征对应的标签计算交叉熵损失函数CELoss,然后基于得到的交叉熵损失函数训练服务端模型;之后服务端模型再用接收到的feature maps再次训练,其中,训练具体过程与基于伪特征的训练过程类似,也是将得到的服务端logits向量与Xprivate对应的标签计算CELoss,再基于得到的CELoss训练服务端模型;同时将基于feature maps得到的服务器端logits向量与客户端logits向量进行知识蒸馏,帮助客户端模型提升模型表现。
[0111] 然后,在当前时间戳t训练完毕后,大模型对生成的pseudo‑feature maps和当前客户端上传的feature maps混合,之后结合预定义标签y,进一步微调生成模型,以确保将当前客户端的数据整合到生成器中,以供下一个时间戳生成并参与到模型训练中防止灾难性遗忘。
[0112] 可以理解的是,目前,数据隐私导致社会舆论而引起了广泛的关注,保护数据隐私成为重要的研究方向,其中以联邦学习为代表的数据隐私保护方法受到了越来越多的关注。基于此,本发明以联邦学习为例,说明本发明实施例所述的模型训练方法训练相较于现有模型训练方法的技术效果。
[0113] 下面,为方便理解,先对联邦学习进行简要的介绍:
[0114] 在传统的联邦学习设置中,所有客户端在同一时间步上传模型参数或者模型梯度给中心服务器端,服务器端进行简单的平均聚合后分发回客户端,再由客户端在本地化数据上进一步更新,由此反复直至模型收敛。
[0115] 然而,目前在联邦持续学习上的研究工作较少,其中主要以同步联邦持续学习为场景,服务器端在每个时间戳会和全部的客户端进行交互,每个客户端会接收一个任务序列进行持续学习,所述方法主要是将客户端的模型拆分成两个主要部分,具体可以参照公式2:
[0116] (2)
[0117] 其中, 为基础参数,与任务无关,可以理解为这部分参数去建模在所有客户端的所有任务之间的通用知识; 是稀疏的任务适应性参数,可以理解为针对某个任务的特定的知识; 是一个稀疏的掩码,用来挑选指定任务所需的通用知识, 代表注意力权重,挑选其他客户端的有帮助的任务领域知识,防止其他无关知识对本身模型表现造成影响,i和j为任务。
[0118] 因而,由上述公式2可以看出,现有的同步联邦持续学习主要有以下缺点:
[0119] 其一,训练阶段建模注意力权重时,隐含了当前时刻的任务对其他所有任务的约束,因此在推理阶段要求任务顺序与训练阶段一致;
[0120] 其二,服务器端模型仅仅对客户端上传参数做了简单平均,没有有效利用算力等资源,更好地对知识进行整合;
[0121] 其三,在每个时间步都保存了对应的模型参数,对内存资源等要求较高;
[0122] 其四,传递模型参数会导致模型隐私上有泄露。
[0123] 同时,根据目前脑神经科学的一系列工作证实,人的记忆机制分为长短期记忆,其中海马体主要用来存储短期记忆,脑前额叶主要用来存储长期记忆,并且将海马体中的短期记忆的知识整合到长期记忆中。
[0124] 鉴于此,可以将本发明实施例所提出的如图2所示的模型训练方法的逻辑作为一种异步的联邦持续学习场景,实现基于人脑的结构设计一种基于长短期记忆原理的知识持续积累方法。
[0125] 在联邦学习中,可以认为客户端模型对应于海马体,直接处理数据,服务器端的大模型则对应于脑前额叶,通过生成模型的方式从客户端模型中持续地整合、迭代知识到服务器端的大模型中,最后将习得的积累的知识反馈给客户端帮助提升。
[0126] 具体地,将本发明实施例所述的模型训练方法应用于异步联邦学习场景中,打造的持续的联邦学习平台为:
[0127] 客户端模型持续学习新任务(获取当前时间戳下的数据样本,在客户端本地数据集上训练,得到第一目标特征和第二目标特征),并且异步传输知识给服务端模型(将所述第一目标特征发送至所述服务端),服务端模型实现持续知识积累(第一目标特征用于对服务端模型进行训练,且服务端模型是基于通过预设的生成模型对1至t‑1时间戳下得到的所有第一目标特征的重构得到的伪特征训练得到的),并且帮助回馈客户端模型提升(基于第二目标特征和由所述服务端模型得到的第三目标特征,进行第二训练过程)。
[0128] 其中,服务端模型基于伪特征训练,不受任务顺序的约束,且利用了算力等资源,对伪特征和当前时间戳得到的第一目标特征进行整合;客户端模型基于由服务端模型得到的第三目标特征进行知识蒸馏,不用在每个时间戳均保存对应的模型参数,降低了对内存资源的要求;服务端模型和客户端模型间交互的是训练过程中产生的中间特征(第一目标特征和第三目标特征),避免了直接交互整个模型的模型参数容易造成的隐私泄露。
[0129] 综上可见,本发明实施例提出的异步联邦连续学习场景,高度符合企业的真实需求场景,在真实场景中,每一个任务所需要的训练时间、模型到达时间都是不一致的,因此异步和服务器端交互的场景更为普遍,通过本发明实施例所述的数据处理方法,一方面可以缓解客户端在经历一系列任务后导致的灾难性遗忘问题,另外方面可以打造一个服务器端的大模型,持续学习和保存了所有客户端的信息,从而帮助客户端模型效果提升,并保证了数据处理的安全性。
[0130] 如图5所示,本发明还提供一种数据处理方法,包括:
[0131] 501、获取待处理数据;
[0132] 502、将所述待处理数据输入客户端模型,输出对所述待处理数据的处理结果;
[0133] 其中,所述客户端模型应用于数据处理系统中的每个客户端设备,各所述客户端设备与服务端连接,所述服务端用于基于服务端模型对所述客户端设备中的客户端模型进行协同训练,所述客户端模型通过以下方法训练得到:
[0134] 获取数据样本;
[0135] 基于所述数据样本,对客户端模型进行第一训练过程;
[0136] 获取所述第一训练过程中,所述客户端模型中的提取层的第一目标特征和分类层的第二目标特征;
[0137] 将所述第一目标特征发送至所述服务端,所述第一目标特征用于对服务端模型进行训练;
[0138] 接收所述服务端发送的所述服务端模型中的分类层的第三目标特征;
[0139] 基于所述第二目标特征和所述第三目标特征,对所述客户端模型进行第二训练过程。
[0140] 具体地,通过将获取的待处理数据输入采用本发明实施例所述的训练方法得到的客户端模型中,使得输出的所述待处理数据的处理结果不仅准确率高,且有效避免了待处理数据中隐私信息的泄露。
[0141] 以将本发明实施例所述的数据处理方法应用于医疗系统中的病毒检测领域为例,则在各个医院分别设置客户端设备,然后将各医院的客户端设备与公共健康系统的中心服务器(服务端)连接,进而在基于本发明实施例所述的数据处理方法进行病毒检测时,对于与中心服务器连接的任一医院的客户端设备来说,应该包括如下步骤:
[0142] 获取医学影像数据;
[0143] 将所述医学影像数据输入医院客户端设备中的客户端模型,输出所述医学影像数据所对应的病毒种类预测结果。
[0144] 需要说明的是,对于医疗系统中的客户端模型基于下述方法得到:
[0145] 获取影像学样本;
[0146] 基于所述影像学样本,对客户端模型进行第一训练过程;
[0147] 获取所述第一训练过程中,所述客户端模型中的提取层的第一目标特征和分类层的第二目标特征;
[0148] 将所述第一目标特征发送至所述服务端,所述第一目标特征用于对公共健康系统的服务端模型进行训练;
[0149] 接收所述服务端发送的所述服务端模型中的分类层的第三目标特征;
[0150] 基于所述第二目标特征和所述第三目标特征,对所述客户端模型进行第二训练过程。
[0151] 基于医疗系统中的客户端模型的训练方法可以看出,各个医院的客户端模型可以通过自身接收的病例诊治过程中留存的影像学数据作为数据样本对客户端模型进行本地的第一训练过程,然后将训练过程中产生的第一目标特征发送至服务端模型,则服务端模型能够基于不同医院的客户端模型发送的第一目标特征进行训练,可以理解的是,病毒传播具有一定的地域特征,某地的病毒发生变异,也不意味其他地域的病毒也会变异,变异后的病毒传播到其他地域也需要一定的时间,一方面,当服务端模型基于来自不同医院的客户端模型的数据进行训练,然后训练中的第三目标特征又与各医院客户端模型训练过程中产生的第二目标特征共同用于各医院的客户端模型的第二训练过程后,使得各个医院对于不同病毒或经变异的病毒所造成的影像学数据能够达成共享,进而在病毒较晚传播到的地区的医院也能够快速准确的检测到相应的病毒种类,以提高医治效率和医治效果;另一方面,医院对于患者的身份均采用实名制,因而获取的患者的影像学图像数据中不仅包括了患者的影像学检测结果,还包括患者的身份信息,当采用将客户端模型的模型参数整体传输至服务端时,或者服务端模型将模型参数传输至客户端设备时,会存在患者身份信息泄露的风险,通过在客户端设备和服务端的交互中采用数据处理的中间量来进行传输,有效避免了患者身份等隐私信息的泄露。
[0152] 如图6所示,本发明实施例还提供一种数据处理方法,应用于数据处理系统中的服务端,所述服务端与各客户端设备分别连接,用于基于服务端模型对所述客户端设备中的客户端模型进行协同训练,所述方法包括:
[0153] 601、接收客户端设备发送的第一目标特征,所述第一目标特征为所述客户端模型在基于数据样本进行第一训练过程中,所述客户端模型中的提取层产生的特征;
[0154] 602、基于所述第一目标特征,对服务端模型进行训练,并获取训练过程中所述服务端模型中的分类层产生的第三目标特征;
[0155] 603、将所述第三目标特征发送至所述客户端设备,所述第三目标特征用于和第二目标特征对客户端模型进行第二训练过程,所述第二目标特征为所述客户端模型在基于所述数据样本进行所述第一训练过程中,所述客户端模型中的分类层产生的特征。
[0156] 具体地,服务端模型接收由客户端设备发送的所述客户端模型基于数据样本进行训练的过程中产生的第一目标特征;然后服务端模型在基于第一目标特征训练后,将获取的训练过程中产生的第三目标特征发送至所述客户端设备,以使所述第三目标特征用于对客户端模型进行训练,避免了客户端设备和服务端间传输模型参数所造成的数据隐私泄露的问题,同时通过服务端模型基于客户端设备发送的第一目标特征进行训练的方式,打造了一个能够持续学习和保存了所有客户端的第一目标特征的服务端大模型,帮助了客户端模型的效果提升。
[0157] 作为本发明的一种实施例,所述接收客户端设备发送的第一目标特征,包括:
[0158] 接收客户端设备发送的所述客户端模型基于在当前时间戳下获取的数据样本进行第一训练过程中产生的第一目标特征;
[0159] 所述基于所述第一目标特征,对服务端模型进行训练前,还包括:
[0160] 获取伪特征,所述伪特征通过预设的生成模型对在所述当前时间戳前的所有时间戳得到的第一目标特征的重构得到;
[0161] 基于所述伪特征,对服务端模型进行训练。
[0162] 具体地,服务端模型通过获取预设的生成模型对在所述当前时间戳前的所有时间戳得到的第一目标特征的重构得到的伪特征,然后基于伪特征对服务器模型进行训练,使得服务端模型持续学习和保存了所有客户端模型在时间戳t前的所有时间戳下的信息,所以当将当前时间戳t下客户端模型训练得到的第一目标特征发送给服务端模型,服务端模型基于所述第一目标特征的训练,就进一步学习和保存了所有客户端模型在1至t时间戳下的所有信息,即由所述服务端模型得到的第三目标特征中包含了由客户端模型由训练初始到当前时间戳t的所有信息。
[0163] 更具体地,基于由客户端模型训练得到的当前时间戳t下的第三目标特征,以及由服务端模型训练得到的包含所述客户端模型由训练初始到当前时间戳t的所有信息的第二目标特征,对所述客户端模型进行第二训练过程,实现了基于所述客户端在1至t时间戳下经历的所有任务的信息对客户端模型的训练,从而避免了客户端在经历一系列任务后导致的灾难性遗忘问题,有效帮助了客户端模型效果提升。
[0164] 作为本发明的一种实施例,所述将所述第三目标特征发送至所述客户端设备后,还包括:
[0165] 接收所述客户端设备发送的所述数据样本对应的预定义标签;
[0166] 将由所述客户端设备接收的所述第一目标特征和所述伪特征混合,得到混合特征;
[0167] 基于所述混合特征和所述预定义标签,对所述生成模型进行调整。
[0168] 具体地,混合特征通过将伪特征和第一目标特征混合得到,而伪特征是通过生成模型对时间戳1至t‑1下得到的所有第一目标特征的重构得到的,所以混合特征等于是将时间戳1至t下得到的所有特征进行了混合,因而通过将数据样本的预定义标签和混合特征一并用于生成模型的调整,能够确保将当前客户端模型的数据整合到生成模型中,以供下一个时间戳生成并参与到模型训练中,以进一步防止灾难性遗忘。
[0169] 下面对本发明提供的一种数据处理系统进行描述,下文描述的一种数据处理系统与上文描述的一种数据处理方法可相互对应参照。
[0170] 如图7所示,本发明还提供一种数据处理系统,应用于数据处理系统中的每个客户端设备,各所述客户端设备与服务端连接,所述服务端用于基于服务端模型对所述客户端设备中的客户端模型进行协同训练,所述系统包括:客户端获取模块710、第一客户端训练模块720、客户端提取模块730、客户端发送模块740、客户端接收模块750,以及第二客户端训练模块760;其中,
[0171] 所述客户端获取模块710用于获取数据样本,所述数据样本中包含隐私数据;
[0172] 所述第一客户端训练模块720用于基于所述数据样本,对客户端模型进行第一训练过程;
[0173] 所述客户端提取模块730用于获取所述第一训练过程中,所述客户端模型中的提取层的第一目标特征和分类层的第二目标特征;
[0174] 所述客户端发送模块740用于将所述第一目标特征发送至所述服务端,所述第一目标特征用于对服务端模型进行训练;
[0175] 所述客户端接收模块750用于接收所述服务端发送的所述服务端模型中的分类层的第三目标特征;
[0176] 所述第二客户端训练模块760用于基于所述第二目标特征和所述第三目标特征,对所述客户端模型进行第二训练过程。
[0177] 本发明实施例所述的数据处理系统通过用基于数据样本在客户端模型进行训练中产生的第一目标特征,以及服务端模型在训练过程中产生的第三目标特征,在客户端模型和服务端模型间传输,替代将客户端模型在本地数据集上训练得到的模型参数,以及服务端模型经训练后得到的模型参数,在客户端设备和服务端间的传输,避免了通过模型参数推导出数据样本所造成的隐私数据的泄露,提高了数据处理的安全性;同时,服务端模型基于各个客户端模型发送的第一目标特征进行训练后,客户端模型又基于第二目标特征和由服务端模型得到的第三目标特征进行第二训练过程,不仅实现了基于服务端模型对客户端模型的协同训练,同时打造了一个能够持续学习和保存了所有客户端的第一目标特征的服务端模型,帮助了客户端模型的效果提升。
[0178] 另外,如图8所示,本发明还可以提供另一种数据处理系统,应用于数据处理系统中的服务端,所述服务端与各客户端设备分别连接,用于基于服务端模型对所述客户端设备中的客户端模型进行协同训练,所述系统包括:服务端接收模块810、服务端训练模块820,以及服务端发送模块830;其中,
[0179] 所述服务端接收模块810用于接收客户端设备发送的第一目标特征,所述第一目标特征为所述客户端模型在基于数据样本进行第一训练过程中,所述客户端模型中的提取层产生的特征;
[0180] 所述服务端训练模块820用于基于所述第一目标特征,对服务端模型进行训练,并获取训练过程中所述服务端模型中的分类层产生的第三目标特征;
[0181] 所述服务端发送模块830用于将所述第三目标特征发送至所述客户端设备,所述第三目标特征用于和第二目标特征对客户端模型进行第二训练过程,所述第二目标特征为所述客户端模型在基于所述数据样本进行所述第一训练过程中,所述客户端模型中的分类层产生的特征。
[0182] 本发明实施例所述的数据处理系统,通过服务端模型接收由客户端设备发送的所述客户端模型基于数据样本进行训练的过程中产生的第一目标特征;然后服务端模型在基于第一目标特征训练后,将获取的训练过程中产生的第三目标特征发送至所述客户端设备,以使所述第三目标特征用于对客户端模型进行训练,避免了客户端设备和服务端间传输模型参数所造成的数据隐私泄露的问题,同时通过服务端模型基于客户端设备发送的第一目标特征进行训练的方式,打造了一个能够持续学习和保存了所有客户端的第一目标特征的服务端大模型,帮助了客户端模型的效果提升。
[0183] 本发明的数据处理系统用于前述各实施例的一种数据处理方法。因此,在前述各实施例中的一种数据处理方法中的描述和定义,可以用于本发明实施例中各执行模块的理解。
[0184] 图9示例了一种电子设备的实体结构示意图,如图9所示,该电子设备可以包括:处理器(processor)910、通信接口(Communications Interface)920、存储器(memory)930和通信总线940,其中,处理器910,通信接口920,存储器930通过通信总线940完成相互间的通信。处理器910可以调用存储器930中的逻辑指令,以执行数据处理方法,应用于数据处理系统中的每个客户端设备,各所述客户端设备与服务端连接,所述服务端用于基于服务端模型对所述客户端设备中的客户端模型进行协同训练,所述方法包括:获取数据样本;基于所述数据样本,对客户端模型进行第一训练过程;获取所述第一训练过程中,所述客户端模型中的提取层的第一目标特征和分类层的第二目标特征;将所述第一目标特征发送至所述服务端,所述第一目标特征用于对服务端模型进行训练;接收所述服务端发送的所述服务端模型中的分类层的第三目标特征;基于所述第二目标特征和所述第三目标特征,对所述客户端模型进行第二训练过程。
[0185] 此外,上述的存储器930中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0186] 另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的数据处理方法,应用于数据处理系统中的每个客户端设备,各所述客户端设备与服务端连接,所述服务端用于基于服务端模型对所述客户端设备中的客户端模型进行协同训练,所述方法包括:获取数据样本;基于所述数据样本,对客户端模型进行第一训练过程;获取所述第一训练过程中,所述客户端模型中的提取层的第一目标特征和分类层的第二目标特征;将所述第一目标特征发送至所述服务端,所述第一目标特征用于对服务端模型进行训练;接收所述服务端发送的所述服务端模型中的分类层的第三目标特征;基于所述第二目标特征和所述第三目标特征,对所述客户端模型进行第二训练过程。
[0187] 又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法提供的数据处理方法,应用于数据处理系统中的每个客户端设备,各所述客户端设备与服务端连接,所述服务端用于基于服务端模型对所述客户端设备中的客户端模型进行协同训练,所述方法包括:获取数据样本;基于所述数据样本,对客户端模型进行第一训练过程;获取所述第一训练过程中,所述客户端模型中的提取层的第一目标特征和分类层的第二目标特征;将所述第一目标特征发送至所述服务端,所述第一目标特征用于对服务端模型进行训练;接收所述服务端发送的所述服务端模型中的分类层的第三目标特征;基于所述第二目标特征和所述第三目标特征,对所述客户端模型进行第二训练过程。
[0188] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0189] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0190] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。