一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

联邦学习模型的训练方法、装置、电子设备及存储介质与流程

2021-11-24 20:15:00 来源:中国专利 TAG:


1.本技术涉及人工智能技术领域,涉及但不限于一种联邦学习模型的训练方法、装置、电子设备、计算机可读存储介质及计算机程序产品。


背景技术:

2.联邦学习技术是新兴的一种隐私保护技术,能够保证数据在不出本地的前提下,有效联合各方数据进行模型训练。
3.利用联邦学习对多个客户端进行联合训练,传统做法是初始化联邦学习模型,并且将该初始化的联邦学习模型发送至各个参与方进行本地训练,得到本地模型,然后服务端基于联邦平均算法聚合多个本地模型,将多个本地模型的加权平均作为更新后的联邦学习模型,重复上述步骤得到训练好的联邦学习模型。该传统方法在训练过程中联邦学习模型的收敛速度慢,训练效率低,将该模型应用于推荐系统时,影响获得推荐信息的效率。


技术实现要素:

4.本技术实施例提供一种联邦学习模型的训练方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够在训练过程中使联邦学习模型快速收敛,提高联邦学习模型的训练效率。
5.本技术实施例的技术方案是这样实现的:
6.本技术实施例提供一种联邦学习模型的训练方法,应用于服务端设备,所述方法包括:
7.获取初始的教师模型和公开数据集,所述公开数据集由参与联邦训练的多个参与方设备共同持有;
8.基于所述教师模型和所述公开数据集,训练得到各参与方设备对应的学生模型;
9.将各学生模型发送至对应的参与方设备,以使各所述参与方设备根据各自的私有训练数据对对应的学生模型进行更新,得到更新后的学生模型;
10.根据所述各参与方设备发送的所述更新后的学生模型,对所述教师模型进行更新,得到更新后的教师模型;
11.当所述更新后的教师模型满足预设收敛条件时,将所述更新后的教师模型确定为训练好的联邦学习模型。
12.本技术实施例提供一种联邦学习模型的训练方法,应用于参与方设备,所述方法包括:
13.接收服务端设备发送的学生模型,所述学生模型由所述服务端设备根据教师模型和公开数据集训练得到,所述公开数据集由参与联邦训练的多个参与方设备共同持有;
14.获取所述参与方设备的私有训练数据;
15.根据所述私有训练数据对所述学生模型进行更新,得到更新后的学生模型;
16.将所述更新后的学生模型发送至所述服务端设备,以使所述服务端设备根据所述
更新后的学生模型对所述教师模型进行更新,并在更新后的教师模型满足预设收敛条件时,将所述更新后的教师模型确定为训练好的联邦学习模型。
17.本技术实施例提供一种联邦学习模型的训练装置,所述装置包括:
18.第一获取模块,用于获取初始的教师模型和公开数据集,所述公开数据集由参与联邦训练的多个参与方设备共同持有;
19.第一训练模块,用于基于所述教师模型和所述公开数据集,训练得到各参与方设备对应的学生模型;
20.第一发送模块,用于将各学生模型发送至对应的参与方设备,以使各所述参与方设备根据各自持有的训练数据对对应的学生模型进行更新,得到更新后的学生模型;
21.第一更新模块,用于根据所述各参与方设备发送的所述更新后的学生模型,对所述教师模型进行更新,得到更新后的教师模型;
22.第一确定模块,用于当所述更新后的教师模型满足预设收敛条件时,将所述更新后的教师模型确定为训练好的联邦学习模型。
23.在一些实施例中,所述联邦学习模型的训练装置还包括:第一接收模块,用于接收各所述参与方设备发送的所述公开数据集中各公开数据的权重;
24.所述训练得到各参与方设备对应的学生模型之前,所述第一训练模块,还用于:
25.基于各所述参与方设备发送的所述公开数据集中各公开数据的权重,对相应公开数据集中各公开数据进行调整,得到各参与方设备对应的目标数据集;
26.基于所述教师模型和各参与方设备对应的目标数据集,训练得到各参与方设备对应的学生模型。
27.在一些实施例中,所述第一接收模块,还用于接收所述参与方设备发送的请求信息,所述请求信息用于获取训练好的联邦学习模型;
28.所述第一发送模块,还用于响应于所述请求信息,将所述训练好的联邦学习模型发送至所述参与方设备,以使所述参与方设备根据目标用户的特征数据和所述训练好的联邦学习模型确定针对所述目标用户的目标信息。
29.在一些实施例中,所述第一训练模块,还用于:
30.将所述目标数据集中多个数据分别输入至所述教师模型,得到相应的预测结果;
31.以所述预测结果作为相应数据的标签,构建所述参与方设备对应的学生模型的训练样本;
32.基于构建的训练样本,训练所述参与方设备对应的学生模型。
33.在一些实施例中,所述第一获取模块,还用于:
34.获取初始化的联邦学习模型;
35.将所述初始化的联邦学习模型发送至所述多个参与方设备,以使各所述参与方设备根据各自的私有训练数据对所述初始化的联邦学习模型进行更新,得到更新后的联邦学习模型;
36.接收各所述参与方设备发送的更新后的联邦学习模型;
37.将各所述参与方设备发送的更新后的联邦学习模型进行聚合,得到初始的教师模型。
38.在一些实施例中,所述第一训练模块,还用于当所述更新后的教师模型不满足预
设收敛条件时,基于所述更新后的教师模型和所述公开数据集,训练得到各参与方设备对应的更新后的学生模型;
39.所述第一发送模块,还用于将各更新后的学生模型发送至对应的参与方设备,以使各所述参与方设备根据各自的私有训练数据对对应的更新后的学生模型进行再次更新,得到再次更新后的学生模型;
40.所述第一更新模块,还用于将各所述参与方设备发送的再次更新后的联邦学习模型进行聚合,得到再次更新后的教师模型。
41.本技术实施例提供一种联邦学习模型的训练装置,所述装置包括:
42.第二接收模块,用于接收服务端设备发送的学生模型,所述学生模型由所述服务端设备根据教师模型和公开数据集训练得到,所述公开数据集由参与联邦训练的多个参与方设备共同持有;
43.第二获取模块,用于获取所述参与方设备的私有训练数据;
44.第二更新模块,用于根据所述训练数据对所述学生模型进行更新,得到更新后的学生模型;
45.第二发送模块,用于将所述更新后的学生模型发送至所述服务端设备,以使所述服务端设备根据所述更新后的学生模型对所述教师模型进行更新,并在更新后的教师模型满足预设收敛条件时,将所述更新后的教师模型确定为训练好的联邦学习模型。
46.在一些实施例中,所述联邦学习模型的训练装置还包括:
47.第三获取模块,用于获取所述公开数据集和训练好的分类模型;
48.分类模块,用于将所述公开数据集中各公开数据分别输入至所述训练好的分类模型,得到各公开数据的分类预测值,所述公开数据的分类预测值用于表征所述公开数据来自所述参与方设备的概率;
49.第二确定模块,用于根据所述各公开数据的分类预测值,确定所述各公开数据的权重;
50.所述第二发送模块,还用于将所述各公开数据的权重发送至所述服务端设备,以使所述服务端设备根据所述教师模型、所述公开数据集和所述各公开数据的权重训练所述学生模型。
51.在一些实施例中,所述第二发送模块,还用于响应于用于获取针对目标用户的目标信息的操作指令,向所述服务端设备发送请求信息;
52.所述第二接收模块,还用于接收所述服务端设备发送的训练好的联邦学习模型;
53.第四获取模块,用于获取所述目标用户的特征数据,所述特征数据包括所述目标用户的属性数据和行为数据中至少一个;
54.输入模块,用于将所述特征数据输入至所述训练好的联邦学习模型,得到针对所述目标用户的目标信息。
55.在一些实施例中,所述联邦学习模型的训练装置还包括:
56.第五获取模块,用于获取预设的分类模型和分类训练数据集,所述分类训练数据集包括第一数据子集和第二数据子集,所述第一数据子集包括所述私有训练数据和相应的标签,所述第二数据子集包括所述公开数据和相应的标签;
57.第二训练模块,用于根据所述第一数据子集和第二数据子集对所述预设的分类模
型进行训练,得到训练好的分类模型。
58.在一些实施例中,所述接收服务端设备发送的学生模型之前,所述第二接收模块,还用于接收所述服务端设备发送的初始化的联邦学习模型;
59.所述第二更新模块,还用于根据所述私有训练数据对所述初始化的联邦学习模型进行更新,得到更新后的联邦学习模型;
60.所述第二发送模块,还用于将所述更新后的联邦学习模型发送至所述服务端设备,以使所述服务端设备根据所述更新后的联邦学习模型确定初始的教师模型。
61.本技术实施例提供一种联邦学习模型的训练设备,所述设备包括:
62.存储器,用于存储可执行指令;
63.处理器,用于执行所述存储器中存储的可执行指令时,实现本技术实施例提供的联邦学习模型的训练方法。
64.本技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本技术实施例提供的联邦学习模型的训练方法。
65.本技术实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本技术实施例提供的联邦学习模型的训练方法。
66.本技术实施例具有以下有益效果:
67.与相关技术中基于联邦平均算法对联邦学习模型进行训练的方法相比,本技术实施例通过服务端设备获取初始的教师模型和公开数据集,公开数据集由参与联邦训练的多个参与方设备共同持有;基于教师模型和公开数据集,训练得到各参与方设备对应的学生模型;将各学生模型发送至对应的参与方设备,以使各参与方设备根据各自的私有训练数据对对应的学生模型进行更新,得到更新后的学生模型;根据各参与方设备发送的更新后的学生模型,对教师模型进行更新,得到更新后的教师模型;当更新后的教师模型满足预设收敛条件时,将更新后的教师模型确定为训练好的联邦学习模型。在服务端设备根据公开数据集和教师模型训练学生模型,能够使联邦学习模型快速收敛,提高联邦学习模型的训练效率。将该训练好的联邦学习模型应用于推荐系统中,能够快速地获得待推荐信息,提高获得待推荐信息的效率。
附图说明
68.图1是本技术实施例提供的联邦学习模型的训练系统的一种网络架构示意图;
69.图2是本技术实施例提供的联邦学习模型的训练设备的一种组成结构示意图;
70.图3是本技术实施例提供的联邦学习模型的训练方法的一种实现流程示意图;
71.图4为本技术实施例提供的联邦学习模型的训练方法的另一种实现流程示意图;
72.图5为本技术实施例提供的获取初始的教师模型的一种实现流程示意图;
73.图6是本技术实施例提供的联邦学习模型的训练方法的再一种实现流程示意图;
74.图7为本技术实施例提供的联邦学习模型的训练方法的又一种实现流程示意图;
75.图8为本技术实施例提供的联邦学习模型的训练方法的再一种实现流程示意图;
76.图9为本技术实施例提供的应用联邦学习模型的推荐系统的一种网络架构示意图;
77.图10为本技术实施例提供的应用联邦学习模型的推荐方法的一种实现流程示意
图;
78.图11为本技术实施例提供的基于模型蒸馏的个性化联邦学习方法的一种实现流程示意图。
具体实施方式
79.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
80.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
81.在以下的描述中,所涉及的术语“第一\第二\第三”仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
82.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
83.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
84.1)联邦学习(federated learning),一种新兴的人工智能基础技术,其设计目标是在保障大数据交换时的信息安全、保护终端数据和个人数据隐私、保证合法合规的前提下,在多参与方或多计算结点之间开展高效率的机器学习。
85.2)横向联邦学习(horizontal federated learning),当两个数据集的用户不同,重叠较少,但用户特征重叠较多时,把数据集按照横向(即用户维度)进行切分,并取出双方用户特征相同而用户不完全相同的部分数据进行训练的机器学习。
86.3)知识蒸馏(knowledge distilling),一种模型压缩常见方法,模型压缩指在教师

学生框架中,将复杂、学习能力强的网络学到的特征表示“知识”蒸馏出来,传递给参数量小、学习能力弱的网络,让小模型(学生模型)学习到大模型(教师模型)的知识。
87.基于上述对本技术实施例中涉及的名词和术语的解释,首先对本技术实施例提供的联邦学习模型的训练系统进行说明。图1是本技术实施例提供的联邦学习模型的训练系统的一种网络架构示意图,如图1所示,在该联邦学习模型的训练系统中,至少包括服务端设备100、至少两个参与方设备200(为了区分,将多个参与方设备分别记为参与方设备200

1,参与方设备200

2,

,参与方设备200

k,k为大于1的整数)和网络300。为实现支撑一个示例性应用,服务端设备100为联邦学习的服务终端,例如服务器等,服务端设备100可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(cdn,content delivery network)、以及大数据和人工智能平台等基础云计算服务的云服务器。参与方设备200为联邦学习的参与终端,例如终端等,参
与方设备200可以是笔记本电脑,平板电脑,台式计算机,智能手机,专用消息设备,便携式游戏设备,智能音箱,智能手表等,但并不局限于此。服务端设备100通过网络300连接至少两个参与方设备200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线或有线链路实现数据传输。
88.使用本技术实施例提供的联邦学习模型的训练系统进行联邦学习模型的训练时,服务端设备100获取初始的教师模型,并获取参与联邦训练的各参与方设备200共同持有的公开数据集,该公开数据集包括的公开数据,在各参与方设备200之间是公开的。然后服务端设备100根据教师模型和公开数据集,训练得到各参与方设备200对应的学生模型,训练得到参与方设备200

1对应的第一学生模型,参与方设备200

2对应的第二学生模型,

,参与方设备200

k对应的第k学生模型。然后,服务端设备100将第一学生模型发送至参与方设备200

1,将第二学生模型发送至参与方设备200

2,

,将第k学生模型发送至参与方设备200

k。
89.第i个参与方设备200

i接收到第i学生模型,获取自身的私有训练数据,根据私有训练数据对第i学生模型进行更新,得到更新后的第i学生模型,并将更新后的第i学生模型返回给服务端设备100。这里,各参与方设备的私有训练数据对其他参与方设备、以及服务端设备是隐藏的,如此确保各参与方设备的数据隐私不被泄漏。这里的i=1,2,

,k。
90.服务端设备100接收参与方设备200

1,参与方设备200

2,

,参与方设备200

k返回的更新后的学生模型,根据这些更新后的学生模型对教师模型进行更新,得到更新后的教师模型。然后根据预设收敛条件判断更新后的教师模型是否收敛,当确定更新后的教师模型满足预设收敛条件时,结束训练,并将更新后的教师模型确定为训练好的联邦学习模型。本技术实施例中,服务端设备100根据教师模型和公开数据集对学生模型进行训练,再将学生模型分发至对应的各参与方设备进行更新,如此能够在训练过程中使联邦学习模型快速收敛,提高联邦学习模型的训练效率。
91.参见图2,图2是本技术实施例提供的联邦学习模型的训练设备的一种组成结构示意图,在实际应用中,联邦学习模型的训练设备400可以实施为图1中的服务端设备100或参与方设备200,下面以联邦学习模型的训练设备400为图1所示的服务端设备100为例,对实施本技术实施例的联邦学习模型的训练方法进行说明。图2所示的联邦学习模型的训练设备400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。联邦学习模型的训练设备400中的各个组件通过总线系统440耦合在一起。可以理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统440。
92.处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
93.用户接口430包括一个或多个输出装置431,比如包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
94.存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
95.存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本技术实施例描述的存储器450旨在包括任意适合类型的存储器。
96.在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
97.操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
98.网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universal serial bus)等;
99.呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
100.输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
101.在一些实施例中,本技术实施例提供的联邦学习模型的训练装置可以采用软件方式实现,图2示出了存储在存储器450中的联邦学习模型的训练装置455,其可以是程序和插件等形式的软件,包括以下软件模块:第一获取模块4551、第一训练模块4552、第一发送模块4553、第一更新模块4554和第一确定模块4555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
102.在另一些实施例中,本技术实施例提供的联邦学习模型的训练装置可以采用硬件方式实现,作为示例,本技术实施例提供的联邦学习模型的训练装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本技术实施例提供的联邦学习模型的训练方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field

programmable gate array)或其他电子元件。
103.下面将结合本技术实施例提供的联邦学习模型的训练设备的示例性应用和实施,说明本技术实施例提供的联邦学习模型的训练方法。图3是本技术实施例提供的联邦学习模型的训练方法的一种实现流程示意图,应用于图1所示网路架构的服务端设备,将结合图3示出的步骤进行说明。
104.步骤s301,获取初始的教师模型和公开数据集。
105.本技术实施例中,服务端设备可以从其他设备获取初始的教师模型,也可以根据各参与方设备的私有训练数据,训练得到初始的教师模型。通过训练方式获取初始的教师模型的一种实现方式可以为:服务端设备初始化一个联邦学习模型,将该联邦学习模型发
送至各参与方设备,由各参与方设备利用自身的私有训练数据对该联邦学习模型进行训练,得到训练好的联邦学习模型。各参与方设备将自身训练好的联邦学习模型发送给服务端设备,由服务端设备对该些参与方设备训练好的联邦学习模型进行聚合,得到聚合模型,服务端设备将该聚合模型作为初始的教师模型。
106.这里,服务端设备获取的公开数据集,是由参与联邦训练的多个参与方设备共同持有的。因此服务端设备获取公开数据集时,可以从任一参与方设备获取。
107.步骤s302,基于教师模型和公开数据集,训练得到各参与方设备对应的学生模型。
108.服务端设备将公开数据集包括的公开数据分别输入至初始的教师模型,得到各公开数据对应的预测结果;将各公开数据对应的预测结果作为对应公开数据的标签,构建参与方设备对应的学生模型的训练样本;基于构建的训练样本,对各参与方设备对应的学生模型进行训练,得到各参与方设备对应的学生模型,该学生模型是由参与方设备的公开数据训练得到的。
109.步骤s303,将各学生模型发送至对应的参与方设备,以使各参与方设备根据各自的私有训练数据对对应的学生模型进行更新,得到更新后的学生模型。
110.服务端设备在步骤s302训练得到的学生模型,仅考虑了各参与方设备的公开数据,未考虑各参与方设备持有的私有数据,各参与方设备的私有数据对服务端设备是保密的,因此需要将步骤s302训练得到的学生模型发送至各参与方设备进行进一步训练。在一种实现方式中,服务端设备将各学生模型发送至对应的参与方设备后,如服务端设备将第一学生模型发送至第一参与方设备后,第一参与方设备根据自身的私有数据对第一学生模型进行训练,得到训练好的第一学生模型,即更新后的第一学生模型。该更新后的第一学生模型不仅适用于第一参与方设备的公有数据,也适用于第一参与方的私有数据。各参与方设备分别根据自身的私有数据对对应的学生模型进行训练,得到更新后的学生模型,然后各参与方设备将自身训练好的更新后的学生模型发送给服务端设备。
111.步骤s304,根据各参与方设备发送的更新后的学生模型,对教师模型进行更新,得到更新后的教师模型。
112.服务端设备从每个参与方设备接收对应的一个训练好的更新后的学生模型,对各更新后的学生模型进行聚合,得到更新后的教师模型。
113.这里,服务端设备对各更新后的学生模型进行聚合时,可以将该多个更新后的学生模型的加权平均作为更新后的教师模型。
114.步骤s305,当更新后的教师模型满足预设收敛条件时,将更新后的教师模型确定为训练好的联邦学习模型。
115.服务端设备预先设置有结束训练条件。本技术实施例中,结束训练条件可以包括满足预设收敛条件。在训练过程中,当得到更新后的教师模型后,服务端设备判断更新后的教师模型是否满足预设收敛条件,当更新后的教师模型满足预设收敛条件时,确定达到结束训练条件,将此时更新后的教师模型确定为训练好的联邦学习模型。当更新后的教师模型不满足预设收敛条件时,确定未达到结束训练条件,继续根据更新后的教师模型和公共数据集,训练更新后的学生模型,将更新后的学生模型发送至对应的参与方设备进行再次更新,得到再次更新后的学生模型,然后服务端设备根据再次更新后的学生模型再次对教师模型进行更新,得到再次更新后的教师模型,判断再次更新后的教师模型是否满足预设
收敛条件,不满足时继续更新,直至得到满足预设收敛条件的教师模型为止。
116.在另一些实施例中,结束训练条件还可以包括达到预设训练轮数。在训练过程中,每得到一次更新后的教师模型,已训练轮数自增一,然后服务端设备判断已训练轮数是否达到预设训练轮数,当已训练轮数达到预设训练轮数时,确定达到结束训练条件,将此时更新后的教师模型确定为训练好的联邦学习模型。当已训练轮数小于预设训练轮数时,确定未达到结束训练条件,继续根据更新后的教师模型和公共数据集,训练更新后的学生模型,将更新后的学生模型发送至对应的参与方设备进行再次更新,得到再次更新后的学生模型,然后服务端设备根据再次更新后的学生模型再次对教师模型进行更新,得到再次更新后的教师模型,已训练轮数再自增一,再次判断已训练轮数是否达到预设训练轮数,未达到时继续对教师模型和学生模型进行更新,直至已训练轮数达到预设训练轮数为止。
117.在又一些实施例中,结束训练条件可以包括满足预设收敛条件和达到预设训练轮数。在训练过程中,当更新后的教师模型满足预设收敛条件,或者当已训练轮数达到预设训练轮数时,确定达到结束训练条件;当更新后的教师模型不满足预设收敛条件,且当已训练轮数未达到预设训练轮数时,确定未达到结束训练条件。
118.需要说明的是,当基于预设训练轮数确定结束训练时,训练得到的联邦学习模型可能已收敛,也可能还未收敛。当基于预设收敛条件确定结束训练时,训练得到的联邦学习模型是收敛的。
119.本技术实施例提供的联邦学习模型的训练方法,应用于服务端设备,该联邦学习模型的训练包括:获取初始的教师模型和公开数据集,公开数据集由参与联邦训练的多个参与方设备共同持有;基于教师模型和公开数据集,训练得到各参与方设备对应的学生模型;将各学生模型发送至对应的参与方设备,以使各参与方设备根据各自的私有训练数据对对应的学生模型进行更新,得到更新后的学生模型;根据各参与方设备发送的更新后的学生模型,对教师模型进行更新,得到更新后的教师模型;当更新后的教师模型满足预设收敛条件时,将更新后的教师模型确定为训练好的联邦学习模型。在服务端设备根据公开数据集和教师模型训练学生模型,能够使联邦学习模型快速收敛,提高联邦学习模型的训练效率。将该训练好的联邦学习模型应用于推荐系统中,能够快速地获得待推荐信息,提高获得待推荐信息的效率。
120.在图3所示实施例的基础上,服务端设备训练各参与方设备对应的学生模型时,可以进一步考虑各参与方设备的数据分布情况,以使得训练得到的学生模型适应于各参与方设备的数据分布,可以实现如下。
121.图4为本技术实施例提供的联邦学习模型的训练方法的另一种实现流程示意图,应用于图1所示网路架构的服务端设备,如图4所示,该联邦学习模型的训练方法包括以下步骤:
122.步骤s401,获取初始的教师模型和公开数据集。
123.本技术实施例中,服务端设备可以从其他设备获取初始的教师模型,也可以根据各参与方设备的私有训练数据,训练得到初始的教师模型。通过训练方式获取初始的教师模型的一种实现方式可以为:服务端设备初始化一个联邦学习模型,将该联邦学习模型发送至各参与方设备,由各参与方设备利用自身的私有训练数据对该联邦学习模型进行训练,得到训练好的联邦学习模型。各参与方设备将自身训练好的联邦学习模型发送给服务
端设备,由服务端设备对该些参与方设备训练好的联邦学习模型进行聚合,得到聚合模型,服务端设备将该聚合模型作为初始的教师模型。
124.这里,服务端设备获取的公开数据集,是由参与联邦训练的多个参与方设备共同持有的。因此服务端设备获取公开数据集时,可以从任一参与方设备获取。
125.步骤s402,接收各参与方设备发送的公开数据集中各公开数据的权重。
126.由于各参与方设备的私有数据对其他参与方设备以及服务端设备是保密的,因此服务端设备无法获得各参与方设备持有数据(包括公开数据和私有数据)的分布情况,但各参与方设备对公开数据集中各公开数据的分布,服务端设备是可以获取到的。基于此,本技术实施例中,由各参与方设备确定公开数据集中各公开数据的权重,各参与方设备将确定的公开数据集中各公开数据的权重发送给服务端设备,由服务端设备根据各参与方设备发送的公开数据集中各公开数据的权重,对相应公开数据集中各公开数据进行调整,以使服务端设备训练得到的学生模型符合各参与方设备的数据分布。
127.步骤s403,基于各参与方设备发送的公开数据集中各公开数据的权重,对相应公开数据集中各公开数据进行调整,得到各参与方设备对应的目标数据集。
128.这里,可以将公开数据与对应的权重的乘积,确定为对该公开数据调整后得到的目标数据。根据各公开数据对应的权重,对公开数据集中所有公开数据进行调整,得到目标数据集。
129.步骤s404,基于教师模型和各参与方设备对应的目标数据集,训练得到各参与方设备对应的学生模型。
130.在一种实现方式,服务端设备训练得到各参与方设备对应的学生模型时,针对各参与方设备对应的目标数据集,执行以下操作:将所述目标数据集中多个数据分别输入至所述教师模型,得到相应的预测结果;以所述预测结果作为相应数据的标签,构建所述参与方设备对应的学生模型的训练样本;基于构建的训练样本,训练所述参与方设备对应的学生模型。
131.步骤s405,将各学生模型发送至对应的参与方设备,以使各参与方设备根据各自的私有训练数据对对应的学生模型进行更新,得到更新后的学生模型。
132.服务端设备在步骤s404训练得到的学生模型,仅考虑了各参与方设备的公开数据和公开数据的分布情况,未考虑各参与方设备持有的私有数据和私有数据的分布情况,因此需要将步骤s404训练得到的学生模型发送至各参与方设备进行进一步训练。参与方设备对学生模型的训练方式,与服务端设备未考虑数据的分布情况时的训练方式相同,即服务端设备将各学生模型发送至对应的参与方设备后,各参与方设备根据自身的私有数据对对应的学生模型进行训练,得到更新后的学生模型。该更新后的学生模型不仅适用于参与方设备的公有数据,也适用于参与方的私有数据,而且考虑了参与方设备持有数据的分布情况,从而使得根据更新后的学生模型聚合得到的教师模型适应于各参与方设备的个性化数据分布。
133.步骤s406,根据各参与方设备发送的更新后的学生模型,对教师模型进行更新,得到更新后的教师模型。
134.各参与方设备将更新后的学生模型发送给服务端设备。服务端设备从每个参与方设备接收对应的一个训练好的更新后的学生模型,对各更新后的学生模型进行聚合,得到
更新后的教师模型。
135.这里,服务端设备对各更新后的学生模型进行聚合时,可以将该多个更新后的学生模型的加权平均作为更新后的教师模型。
136.步骤s407,当更新后的教师模型满足预设收敛条件时,将更新后的教师模型确定为训练好的联邦学习模型。
137.服务端设备预先设置有结束训练条件。本技术实施例中,结束训练条件可以包括满足预设收敛条件,也可以包括达到预设训练轮数,还可以包括满足预设收敛条件和达到预设训练轮数。在训练过程中,当确定达到结束训练条件时,将更新后的教师模型确定为训练好的联邦学习模型;否则,继续训练,直至达到结束训练条件为止。
138.需要说明的是,当基于预设训练轮数确定结束训练时,训练得到的联邦学习模型可能已收敛,也可能还未收敛。当基于预设收敛条件确定结束训练时,训练得到的联邦学习模型是收敛的。
139.本技术实施例提供的联邦学习模型的训练方法,应用于服务端设备,该联邦学习模型的训练包括:获取初始的教师模型和公开数据集,公开数据集由参与联邦训练的多个参与方设备共同持有;接收各参与方设备发送的公开数据集中各公开数据的权重;基于各参与方设备发送的公开数据集中各公开数据的权重,对相应公开数据集中各公开数据进行调整,得到各参与方设备对应的目标数据集;基于教师模型和各参与方设备对应的目标数据集,训练得到各参与方设备对应的学生模型;将各学生模型发送至对应的参与方设备,以使各参与方设备根据各自的私有训练数据对对应的学生模型进行更新,得到更新后的学生模型;根据各参与方设备发送的更新后的学生模型,对教师模型进行更新,得到更新后的教师模型;当更新后的教师模型满足预设收敛条件时,将更新后的教师模型确定为训练好的联邦学习模型。如此在服务端设备根据公开数据集和教师模型训练学生模型,能够使联邦学习模型快速收敛,提高联邦学习模型的训练效率;并且服务端设备训练学生模型时考虑各参与方设备中公开数据的权重,实现结合各参与方设备的数据分布情况训练联邦学习模型,使得训练的联邦学习模型适应于各参与方设备中数据的个性化分布,在各参与方数据独立且非同分布的情况下可以极大提高联邦学习模型的可用性。将该训练好的联邦学习模型应用于推荐系统中,不仅能够快速地获得待推荐信息,提高获得待推荐信息的效率,而且能够结合用户的特征数据对其推荐针对性的目标信息,使得目标信息能够匹配目标用户的特征数据,提高推荐的目标信息的准确性。
140.在一些实施例中,上述图3所示实施例中的初始教师模型,服务端设备可以根据初始化的联邦学习模型来获取。参见图5,图5为本技术实施例提供的获取初始的教师模型的一种实现流程示意图,上述图3所示实施例中步骤s301中的“获取初始的教师模型”,可以通过步骤s3011至步骤s3014来实现,将结合各步骤进行说明。
141.步骤s3011,获取初始化的联邦学习模型。
142.步骤s3012,将初始化的联邦学习模型发送至多个参与方设备,以使各参与方设备根据各自的私有训练数据对初始化的联邦学习模型进行更新,得到更新后的联邦学习模型。
143.服务端设备可以将初始化的联邦学习模型的整体结构发送至各参与方设备进行训练,也可以将初始化的联邦学习模型的局部结构发送至各参与方设备进行训练,也就是
说,各参与方设备接收到的初始化的联邦学习模型的结构可以是相同的,也可以是不同的。
144.当参与方设备接收的是整体结构时,参与方设备根据自身的私有训练数据对接收到的整体结构的联邦学习模型进行训练,得到更新后的联邦学习模型,该更新后的联邦学习模型是对服务端设备构建的联邦学习模型的所有参数进行更新,如此可以对联邦学习模型的整体结构进行快速地训练,提高联邦学习模型的训练效率,但各参与方设备能够获知联邦学习模型的整体结构,存在一定的隐私泄露。
145.当参与方设备接收的是局部结构时,参与方设备根据自身的私有训练数据对接收到的局部结构的联邦学习模型进行训练,得到更新后的联邦学习模型,各参与方设备仅能获知联邦学习模型的部分结构,使得更新后的联邦学习模型是对服务端设备构建的联邦学习模型的部分参数进行更新,各参与方设备无法获知联邦学习模型的整体结构,如此实现对联邦学习模块结构的隐私保护,但该种训练方式,每次训练时各参与方设备只能对联邦学习模型的部分结构进行训练,需要训练更多次才能得到收敛的联邦学习模型,联邦学习模型的训练效率较低。
146.步骤s3013,接收各参与方设备发送的更新后的联邦学习模型。
147.若服务端设备发送的是整体结构的初始化的联邦学习模型,则接收到的是整体更新后的联邦学习模型;当服务端设备发送的是局部结构的初始化的联邦学习模型,则接收到的是局部更新后的联邦学习模型。
148.步骤s3014,将各参与方设备发送的更新后的联邦学习模型进行聚合,得到初始的教师模型。
149.服务端设备同时接收多个参与方设备发送的更新后的联邦学习模型,对该多个更新后的联邦学习模型进行聚合,得到聚合模型,将该聚合模型确定为初始的教师模型。本技术实施例中,对多个更新后的联邦学习模型进行聚合时,可以采用联邦平均算法进行聚合,即将各更新后的联邦学习模型的参数进行加权平均,得到更新后的参数。
150.本技术实施例提供的方法,通过各参与方设备对初始化的联邦学习模型训练,服务端设备对各参与方设备训练好的联邦学习模型进行聚合,如此得到初始的教师模型。
151.在一些实施例中,上述步骤s304得到更新后的教师模型后,服务端设备判断该更新后的教师模型是否满足预设收敛条件,当更新后的教师模型满足预设收敛条件时,认为更新后的教师模型已收敛,此时进入步骤s305;当更新后的教师模型不满足预设收敛条件时,认为更新后的教师模型还未收敛,此时继续执行步骤s306至步骤s308,以对更新后的教师模型继续训练,直至得到满足预设收敛条件的教师模型为止。
152.步骤s306,当更新后的教师模型不满足预设收敛条件时,基于更新后的教师模型和公开数据集,训练得到各参与方设备对应的更新后的学生模型。
153.服务端设备判断更新后的教师模型是否满足预设收敛条件,当更新后的教师模型满足预设收敛条件时,结束训练,将更新后的教师模型确定为训练好的联邦学习模型;当更新后的教师模型不满足预设收敛条件时,服务端设备将公开数据集包括的公开数据分别输入至更新后的教师模型,得到各公开数据对应的更新后的预测结果;将各公开数据对应的更新后的预测结果作为对应公开数据的标签,基于构建的训练样本,对各参与方设备对应的学生模型再次进行训练,得到各参与方设备对应的更新后的学生模型。
154.步骤s307,将各更新后的学生模型发送至对应的参与方设备,以使各参与方设备
根据各自的私有训练数据对对应的更新后的学生模型进行再次更新,得到再次更新后的学生模型。
155.服务端设备将各更新后的学生模型发送至对应的参与方设备后,如服务端设备将更新后的第一学生模型发送至第一参与方设备后,第一参与方设备再次根据自身的私有数据对更新后的第一学生模型进行训练,得到训练好的第一学生模型,即再次更新后的第一学生模型。
156.步骤s308,将各参与方设备发送的再次更新后的联邦学习模型进行聚合,得到再次更新后的教师模型。
157.各参与方设备将自身训练好的联邦学习模型发送给服务端设备,由服务端设备对该些参与方设备训练好的联邦学习模型进行聚合,得到聚合模型,服务端设备将该聚合模型作为更新后的教师模型。
158.本技术实施例中,在训练过程中,当得到更新后的教师模型后,服务端设备判断更新后的教师模型是否满足预设收敛条件,当更新后的教师模型满足预设收敛条件时,确定达到结束训练条件,将此时更新后的教师模型确定为训练好的联邦学习模型。当更新后的教师模型不满足预设收敛条件时,确定未达到结束训练条件,继续根据更新后的教师模型和公共数据集,训练更新后的学生模型,将更新后的学生模型发送至对应的参与方设备进行再次更新,得到再次更新后的学生模型,然后服务端设备根据再次更新后的学生模型再次对教师模型进行更新,得到再次更新后的教师模型,判断再次更新后的教师模型是否满足预设收敛条件,不满足时继续更新,直至得到满足预设收敛条件的教师模型为止。
159.图6是本技术实施例提供的联邦学习模型的训练方法的再一种实现流程示意图,应用于图1所示网路架构的参与方设备,将结合图6示出的步骤进行说明。
160.步骤s601,接收服务端设备发送的学生模型。
161.该学生模型由服务端设备根据教师模型和公开数据集训练得到,该公开数据集由参与联邦训练的多个参与方设备共同持有。
162.步骤s602,获取参与方设备的私有训练数据。
163.参与方设备从自身的存储空间中获取私有数据作为训练数据,该参与方设备的私有训练数据是不共享的,其他参与方设备无法获得该参与方设备的私有数据。
164.步骤s603,根据私有训练数据对学生模型进行更新,得到更新后的学生模型。
165.参与方设备根据自身的私有训练数据对学生模型进行更新,得到更新后的学生模型。在更新过程中,各参与方设备的私有数据不出本地,能够确保各参与方设备私有数据的隐私保护。并且,各参与方根据自身的数据对学生模型进行更新,使得更新后的学生模型与自身的数据分布相匹配,从而使得训练好的联邦学习模型符合各参与方设备个性化的数据分布特点,解决相关技术中各参与方设备数据非同分布,导致训练的联邦学习模型无法在所有参与方设备的数据上均达到较好的效果的问题。
166.步骤s604,将更新后的学生模型发送至服务端设备,以使服务端设备根据更新后的学生模型对教师模型进行更新,并在更新后的教师模型满足预设收敛条件时,将更新后的教师模型确定为训练好的联邦学习模型。
167.服务端设备接收各参与方设备发送的更新后的学生模型,对各更新后的学生模型进行聚合,实现对教师模型的更新。
168.本技术实施例提供的联邦学习模型的训练方法,应用于参与方设备,该联邦学习模型的训练包括:接收服务端设备发送的学生模型,该学生模型由服务端设备根据教师模型和公开数据集训练得到,该公开数据集由参与联邦训练的多个参与方设备共同持有;获取参与方设备的私有训练数据;根据私有训练数据对学生模型进行更新,得到更新后的学生模型;将更新后的学生模型发送至服务端设备,以使服务端设备根据更新后的学生模型对教师模型进行更新,并在更新后的教师模型满足预设收敛条件时,将更新后的教师模型确定为训练好的联邦学习模型。如此在服务端设备根据公开数据集和教师模型训练学生模型,再由参与方设备根据私有训练数据训练学生模型,能够使联邦学习模型快速收敛,提高联邦学习模型的训练效率。并且,参与方设备在更新学生模型的过程中,各参与方设备的私有数据不出本地,能够确保各参与方设备私有数据的隐私保护。另外,各参与方根据自身的数据对学生模型进行更新,使得更新后的学生模型与自身的数据分布相匹配,从而使得训练好的联邦学习模型符合各参与方设备个性化的数据分布特点,解决相关技术中各参与方设备数据非同分布,导致训练的联邦学习模型无法在所有参与方设备的数据上均达到较好的效果的问题。将该训练好的联邦学习模型应用于推荐系统中,能够快速地获得待推荐信息,提高获得待推荐信息的效率。
169.在图6所示实施例的基础上,参与方设备可以先获取自身私有训练数据的分布信息,将分布信息发送给服务端设备以使服务端设备结合参与方设备持有数据的分布情况训练对应的学生模型。基于此,本技术实施例再提供一种联邦学习模型的训练方法。参见图7,图7为本技术实施例提供的联邦学习模型的训练方法的又一种实现流程示意图,应用于图1所示网路架构的参与方设备,将结合图7示出的步骤进行说明。
170.步骤s701,获取训练好的分类模型和公开数据集。
171.获取训练好的分类模型的一种实现方式为:获取预设的分类模型和分类训练数据集,该分类训练数据集包括第一数据子集和第二数据子集,其中第一数据子集包括私有训练数据和相应的标签,第二数据子集包括公开数据和相应的标签;根据第一数据子集和第二数据子集对预设的分类模型进行训练,得到训练好的分类模型。
172.第一数据子集中包括的私有训练数据来自自身数据d
n
,标签记为1,第二数据子集包括的公开数据来自公开数据集d
g
,标签记为

1。第n参与方设备p
n
使用自身数据d
n
与公开数据集d
g
训练预设的分类模型,得到训练好的分类模型记为φ
n
,该分类模型用于确定数据来自该参与方设备的概率。这里n为1至n之间的整数,n为进行联邦训练的参与方设备的个数。
173.步骤s702,将公开数据集中各公开数据分别输入至训练好的分类模型,得到各公开数据的分类预测值。
174.将公开数据集d
g
中的各公开数据分别输入至第n参与方设备训练好的分类模型φ
n
,得到各公开数据的分类预测值。这里,得到的公开数据的分类预测值用于表征公开数据来自参与方设备的概率。分类预测值的取值为[0,1]之间任一值,若根据第一参与方设备训练好的分类模型确定某公开数据的分类预测值越接近1,表明该公开数据来自第一参与方设备的概率越大。
[0175]
步骤s703,根据各公开数据的分类预测值,确定各公开数据的权重。
[0176]
确定第i个公开数据来自第n参与方设备的概率,得到的分类预测值记为
将各公开数据的分类预测值分别代入下式(1),得到各公开数据的权重w
in

[0177][0178]
其中,w
in
表示第n参与方设备确定的第i个公开数据的权重,1≤n≤n,1≤i≤g。
[0179]
步骤s704,将各公开数据的权重发送至服务端设备,以使服务端设备根据教师模型、公开数据集和各公开数据的权重训练学生模型。
[0180]
服务端设备接收各参与方设备发送的各公开数据的权重,在训练学生模型时,考虑各公开数据的权重,即考虑各公开数据来自各参与方设备的概率,如此使得训练好的学生模型考虑各参与方设备的数据分布情况。
[0181]
步骤s705,接收服务端设备发送的学生模型。
[0182]
该学生模型由服务端设备根据教师模型和公开数据集训练得到,该公开数据集由参与联邦训练的多个参与方设备共同持有。
[0183]
本技术实施例中的步骤s705至步骤s708,分别与图6所示实施例中步骤s601至步骤s604一一对应,步骤s705至步骤s708的实现方式及实现效果,参见上述步骤s601至步骤s604的详细描述。
[0184]
步骤s706,获取参与方设备的私有训练数据。
[0185]
步骤s707,根据私有训练数据对学生模型进行更新,得到更新后的学生模型。
[0186]
步骤s708,将更新后的学生模型发送至服务端设备,以使服务端设备根据更新后的学生模型对教师模型进行更新,并在更新后的教师模型满足预设收敛条件时,将更新后的教师模型确定为训练好的联邦学习模型。
[0187]
本技术实施例提供的联邦学习模型的训练方法,在服务端设备根据公开数据集和教师模型训练学生模型,再由参与方设备根据私有训练数据训练学生模型,能够使联邦学习模型快速收敛,提高联邦学习模型的训练效率;并且服务端设备训练学生模型时考虑各参与方设备中公开数据的权重,实现结合各参与方设备的数据分布情况训练联邦学习模型,使得训练的联邦学习模型适应于各参与方设备中数据的个性化分布,在各参与方数据独立且非同分布的情况下可以极大提高联邦学习模型的可用性。将该训练好的联邦学习模型应用于推荐系统中,不仅能够快速地获得待推荐信息,提高获得待推荐信息的效率,而且能够结合用户的特征数据对其推荐针对性的目标信息,使得目标信息能够匹配目标用户的特征数据,提高推荐的目标信息的准确性。
[0188]
基于前述实施例,本技术实施例再提供一种联邦学习模型的训练方法,应用于图1所示的网络架构,图8为本技术实施例提供的联邦学习模型的训练方法的再一种实现流程示意图,如图8所示,本技术实施例提供的联邦学习模型的训练方法,以两个参与方设备(第一参与方设备和第二参与方设备)为例进行说明。
[0189]
步骤s801,服务端设备获取初始化的联邦学习模型。
[0190]
步骤s802,服务端设备将初始化的联邦学习模型发送至各参与方设备。
[0191]
在实现时,服务端设备可以将初始化的联邦学习模型的整体结构发送至各参与方设备进行训练,也可以将初始化的联邦学习模型的局部结构发送至各参与方设备进行训练,也就是说,各参与方设备接收到的初始化的联邦学习模型的结构可以是相同的,也可以
是不同的。
[0192]
当参与方设备接收的是整体结构时,可以对联邦学习模型的整体结构进行快速地训练,但各参与方设备能够获知联邦学习模型的整体结构,存在一定的隐私泄露;当参与方设备接收的是局部结构时,各参与方设备仅能获知联邦学习模型的部分结构,无法获知联邦学习模型的整体结构,如此实现对联邦学习模块结构的隐私保护,但该种训练方式,由于参与方设备每次只能对联邦学习模型的部分结构进行训练,需要训练更多次才能得到收敛的联邦学习模型,联邦学习模型的训练效率较低。
[0193]
步骤s803,各参与方设备根据各自的私有训练数据对初始化的联邦学习模型进行更新,得到更新后的联邦学习模型。
[0194]
各参与方设备在本地,根据各自的私有数据对初始化的联邦学习模型进行训练,得到更新后的联邦学习模型,各参与方设备的私有数据不出本地,能够确保各参与方设备私有数据的隐私保护。
[0195]
步骤s804,各参与方设备获取训练好的分类模型和公开数据集。
[0196]
获取训练好的分类模型可以实现为:获取预设的分类模型和分类训练数据集,所述分类训练数据集包括第一数据子集和第二数据子集,所述第一数据子集包括所述私有训练数据和相应的标签,所述第二数据子集包括所述公开数据和相应的标签;根据所述第一数据子集和第二数据子集对所述预设的分类模型进行训练,得到训练好的分类模型。
[0197]
步骤s805,各参与方设备将公开数据集中各公开数据分别输入至训练好的分类模型,得到各公开数据的分类预测值。
[0198]
第一参与方设备得到的公开数据的分类预测值用于表征公开数据来自第一参与方设备的概率,同理第二参与方设备得到的公开数据的分类预测值用于表征公开数据来自第二参与方设备的概率。
[0199]
步骤s806,各参与方设备根据各公开数据的分类预测值,确定各公开数据的权重。
[0200]
第n参与方设备将第i个公开数据输入至训练好的第n分类模型φ
n
,得到第i个公开数据的分类预测值根据和上式(1)确定第n参与方设备确定的第i个公开数据的权重w
in

[0201]
步骤s807,各参与方设备将各公开数据的权重和更新后的联邦学习模型发送至服务端设备。
[0202]
步骤s808,服务端设备将各参与方设备发送的更新后的联邦学习模型进行聚合,得到初始的教师模型。
[0203]
这里,服务端设备将各参与方设备发送的更新后的联邦学习模型进行聚合时,可以采用联邦平均算法,对各参与方设备发送的更新后的联邦学习模型进行加权平均,得到初始的教师模型。
[0204]
步骤s809,服务端设备获取公开数据集。
[0205]
该公开数据集由参与联邦训练的多个参与方设备共同持有。
[0206]
步骤s810,服务端设备基于各参与方设备发送的公开数据集中各公开数据的权重,对相应公开数据集中各公开数据进行调整,得到各参与方设备对应的目标数据集。
[0207]
基于第n参与方设备确定的第i个公开数据的权重w
in
,对第i个公开数据相进行
调整时,可以下式(2)进行调整,
[0208][0209]
即将各公开数据乘以对应的权重得到的值确定为目标数据,根据各参与方设备确定的公开数据集中各公开数据的权重,对公开数据集中各公开数据进行调整,得到各参与方设备对应的目标数据集。
[0210]
步骤s811,服务端设备基于教师模型和各参与方设备对应的目标数据集,训练得到各参与方设备对应的学生模型。
[0211]
服务端设备训练得到各参与方设备对应的学生模型时,针对各参与方设备对应的目标数据集,执行以下操作:将目标数据集中多个数据分别输入至教师模型,得到相应的预测结果;以预测结果作为相应数据的标签,构建参与方设备对应的学生模型的训练样本;基于构建的训练样本,训练参与方设备对应的学生模型,记为其中j=1,2,3,

,表示已训练次数。
[0212]
步骤s812,服务端设备将各学生模型发送至对应的参与方设备。
[0213]
服务端设备将发送至第一参与方设备,将发送至第二参与方设备,

,将发送至第n参与方设备。
[0214]
步骤s813,各参与方设备获取各参与方设备的私有训练数据。
[0215]
步骤s814,各参与方设备根据私有训练数据对学生模型进行更新,得到更新后的学生模型。
[0216]
服务端设备将各学生模型发送至对应的参与方设备后,各参与方设备根据自身的私有数据对对应的学生模型进行训练,得到更新后的学生模型该更新后的学生模型不仅适用于参与方设备的公有数据,也适用于参与方的私有数据,而且考虑了参与方设备持有数据的分布情况,从而使得根据更新后的学生模型聚合得到的教师模型适应于各参与方设备的个性化数据分布。
[0217]
步骤s815,各参与方设备将更新后的学生模型发送至服务端设备。
[0218]
步骤s816,服务端设备根据各参与方设备发送的更新后的学生模型,对教师模型进行更新,得到更新后的教师模型。
[0219]
这里,服务端设备对各更新后的学生模型进行聚合时,可以将该多个更新后的学生模型的加权平均作为更新后的教师模型。将第j次更新后的教师模型记为θ
j
,则
[0220]
步骤s817,服务端设备判断更新后的教师模型是否满足预设收敛条件。
[0221]
服务端设备预先设置有结束训练条件。本技术实施例中,结束训练条件可以为满足预设收敛条件。在得到更新后的教师模型后,服务端设备判断当前的教师模型是否达到预设收敛条件(如连续5轮训练教书模型的损失函数值的下降值累计不超过预设阈值δ),当达到预设收敛条件时,进入步骤s818,将更新后的教师模型确定为训练好的联邦学习模型;否则,返回步骤s811,继续训练,直至达到结束训练条件为止。
[0222]
步骤s818,服务端设备将更新后的教师模型确定为训练好的联邦学习模型。
[0223]
本技术实施例提供的联邦学习模型的训练方法,在服务端设备根据公开数据集和教师模型训练学生模型,再由参与方设备根据私有训练数据训练学生模型,能够使联邦学习模型快速收敛,提高联邦学习模型的训练效率;并且服务端设备训练学生模型时考虑各参与方设备中公开数据的权重,实现结合各参与方设备的数据分布情况训练联邦学习模型,使得训练的联邦学习模型适应于各参与方设备中数据的个性化分布,在各参与方数据独立且非同分布的情况下可以极大提高联邦学习模型的可用性。
[0224]
根据本技术实施例提供的联邦学习模型的训练方法训练好的联邦学习模型,可以用于信息推荐、行为预测等系统,下面,以将本技术实施例提供的联邦学习模型应用于推荐系统这一应用场景中进行示例性说明。图9为本技术实施例提供的应用联邦学习模型的推荐系统的一种网络架构示意图,如图9所示,在该推荐系统中,至少包括用户终端500、服务端设备100、参与方设备200

1和网络300。为实现支撑一个示例性应用,服务端设备100为联邦学习的服务终端,例如服务器等,服务端设备100可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(cdn,content delivery network)、以及大数据和人工智能平台等基础云计算服务的云服务器。参与方设备200

1为联邦学习的参与终端,用户终端500和参与方设备200

1可以是笔记本电脑,平板电脑,台式计算机,智能手机,专用消息设备,便携式游戏设备,智能音箱,智能手表等,但并不局限于此。服务端设备100和用户终端500分别通过网络300连接参与方设备200

1,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线或有线链路实现数据传输。
[0225]
使用本技术实施例提供的推荐系统进行信息推荐时,参与方设备200

1响应于用于获取针对目标用户的目标信息的操作指令,向服务端设备100发送请求信息。服务端设备100接收并响应该请求信息,将预先训练好的联邦学习模型发送至参与方设备200

1。参与方设备200

1获取目标用户的特征数据,该特征数据包括该目标用户的属性数据和行为数据中至少一个,然后将特征数据输入至训练好的联邦学习模型,得到针对该目标用户的目标信息,将该目标信息发送至用户终端500,用户终端500显示该目标信息,以便用户查看。本技术实施例中联邦学习模型是由服务端设备100和参与方设备200

1,参与方设备200

2,

,参与方设备200

k基于知识蒸馏进行训练得到的,利用该训练好的联邦学习模型进行信息推荐,能够快速地获得待推荐信息,提高获得待推荐信息的效率。
[0226]
图10为本技术实施例提供的应用联邦学习模型的推荐方法的一种实现流程示意图,如图10所示,本技术实施例提供的推荐方法由用户终端、第一参与方设备和服务器设备协同实施,该推荐方法包括以下步骤:
[0227]
步骤s1001,第一参与方设备响应于用于获取针对目标用户的目标信息的操作指令,向服务端设备发送请求信息。
[0228]
该操作指令可以是由第一参与方设备主动触发,也可以是响应于目标用户在用户终端上执行的特定操作(例如在某应用程序的搜索栏中的搜索操作)而触发的。该请求信息用于从服务器设备获取预先训练好的联邦学习模型。
[0229]
步骤s1002,服务端设备响应于请求信息,将训练好的联邦学习模型发送至参与方设备。
[0230]
该训练好的联邦学习模型的训练过程可以参见本技术上述实施例的详细说明。服务端设备将训练好的联邦学习模型发送给参与方设备,以使参与方设备根据目标用户的特征数据和训练好的联邦学习模型确定针对目标用户的目标信息。
[0231]
步骤s1003,第一参与方设备获取目标用户的特征数据。
[0232]
这里,第一参与方设备可以从用户终端获取目标用户的特征数据。在另一些实施例中,第一参与方设备也可以预先从用户终端获取目标用户的特征数据,将其存储在预设的存储空间中,在需要对目标用户进行信息推荐时,从该预设的存储空间中获取该目标用户的特征数据。其中,该特征数据包括目标用户的属性数据和行为数据中至少一个。属性数据可以是目标用户的出生年月、手机号、身高、喜好等数据,行为数据可以是如操作偏好、历史购买行为等数据。
[0233]
步骤s1004,第一参与方设备将特征数据输入至训练好的联邦学习模型,得到针对目标用户的目标信息。
[0234]
该训练好的联邦学习模型是由服务端设备和多个参与方设备基于知识蒸馏进行训练得到的,利用该训练好的联邦学习模型进行信息推荐,能够快速地获得待推荐信息,提高获得待推荐信息的效率。
[0235]
步骤s1005,第一参与方设备将目标信息发送至用户终端。
[0236]
步骤s1006,用户终端输出目标信息。
[0237]
由于第一参与方设备是根据目标用户自身的特征数据获得的目标信息,因此,该目标信息能够与该目标用户的属性数据、行为数据相匹配,例如将该推荐方法应用在购物应用程序中,使得推荐给该目标用户的目标信息具有针对性,能够提高交易的成功率。
[0238]
下面,将说明本技术实施例在一个实际的应用场景中的示例性应用。
[0239]
在横向联邦学习中,所有的参与方在完成本地模型更新后需要将更新后的模型发送给服务器,完成模型聚合过程。现有的联邦学习模型聚合基于联邦平均算法。此类算法虽然容易实现,在联邦学习过程中,服务器收集参与方上传的模型,并将上传的模型加权平均作为更新后的全局模型。然而联邦平均算法在实际应用中收敛速度慢,收敛后的最终模型效果不好。同时,联邦学习方法不能解决参与方数据独立但不同分布的问题,导致针对所有参与方训练的同一个联邦学习模型不能在所有参与方数据上都达到比较好的效果,相关技术中无法对不同的参与方个性化地训练联邦学习模型。
[0240]
基于上述问题,本技术实施例提供一种新的模型聚合算法,保证更新后的全局模型快速收敛,并且在训练联邦学习模型时考虑各参与方数据分布特点,实现各参与方个性化联邦学习,最终训练得到适用于各参与方数据分布的联邦学习模型,能够提高联邦学习模型的性能。
[0241]
图11为本技术实施例提供的基于模型蒸馏的个性化联邦学习方法的一种实现流程示意图,下面结合图11对本技术实施例的联邦学习模型的训练过程进行详细阐述。
[0242]
本技术实施例中,假设有n个参与方(对应上述实施例中的参与方设备),1个服务器(对应上述实施例中的服务端设备)。每个参与方设备都有自身的训练数据集d
n
,其中所有的参与方有一个公开的数据集d
g
,其中设定最大训练轮数j,终止条件:全局模型在公开数据集d
g
上的最小损失变化值不超过δ。
[0243]
步骤s1101,各参与方训练领域分类器。
[0244]
每个参与方p
n
分别使用自身数据d
n
与公开数据集d
g
训练一个领域分类器φ
n
(对应上述的分类模型)。训练过程中,来自d
n
的数据,标签为1,来自d
g
的数据标签为

1。领域分类器可以是一个三层全连接神经网络,输出层经过激活函数sigmoid()处理,输出值用于表示样本来源于该参与方的概率。一个维度为n的向量,每一个维度输出值在[0,1]区间。输出第n个维度的输出值用于表示输入样本来源于第n个参与方的概率。
[0245]
步骤s1102,各参与方预测公开数据权重,并发送至服务器。
[0246]
权重预测:每一个参与方p
n
将公开数据集所有数据特征输入领域分类模型φ
n
中,模型输出值表示第i个样本来自参与方p
n
的概率。继续求得共有数据中的样本用来训练参与方p
n
的学生模型过程中所对应的权重
[0247]
所有参与方p
n
求出公开数据集d
g
的每一条训练数据对应自己的权重w
in
。并将求出的权重发送给服务器。
[0248]
步骤s1103,服务器初始化联邦学习模型。
[0249]
步骤s1104,服务器分发联邦学习模型到各参与方。
[0250]
开始联邦学习。初始化第1轮联邦训练,服务器初始化联邦学习模型θ1,并将联邦学习模型发送给所有参与方。服务器将训练好的联邦学习模型发送给每个参与方
[0251]
步骤s1105,各参与方本地更新模型。
[0252]
所有参与方在本地基于各自数据集d
n
更新模型θ
j
,得到更新后的模型这里θ
j
为θ
j
的全局结构或部分结构。
[0253]
步骤s1106,各参与方将更新后的模型上传至服务器。
[0254]
步骤s1107,服务器生成集成模型,并初始化集成模型的参数。
[0255]
服务器整合接收到的模型,得到一个集成模型:
[0256]
步骤s1108,服务器将训练好的集成模型作为教师模型。
[0257]
步骤s1109,服务器对每个参与方基于加权的公开数据、使用知识蒸馏方法训练学生模型。
[0258]
步骤s1110,服务器将训练好的学生模型发送给对应参与方,参与方本地验证模型。
[0259]
服务器将集成模型θ
j
作为教师模型,在公开数据集d
g
上训练n个学生模型训练的方法为知识蒸馏方法。在训练过程中,对于参与方p
n
,服务器对每个公开数据集上的数据乘步骤s1102接收到的对应的权重w
in

[0260]
服务器将训练得到的每一个学生模型发送给参与方p
n

[0261]
步骤s1111,参与方判断是否满足收敛条件,若满足,退出训练。
[0262]
p
n
在本地数据上测试的损失函数值。如果连续5轮训练,θ的损失函数值的下降累计不超过δ,则p
n
退出训练,其他参与方返回步骤s1105;否则进入步骤s1112。
[0263]
步骤s1112,服务器判断是否达到训练终止条件。
[0264]
如果j 1>j,则达到最大训练轮数,所有参与方停止训练,返回各自的作为参与方p
n
的最终模型,联邦学习结束,进入步骤s1113停止训练。否则,返回步骤s1105,服务器和剩余的参与方继续个性化联邦学习训练。
[0265]
步骤s1113,结束训练。
[0266]
本技术实施例提供的联邦学习模型的训练方法,在训练过程中,将之前基于模型平均的联邦学习模型聚合方法,替换为基于模型蒸馏和模型平均的联邦学习模型聚合方法。同时,每一个参与方训练一个领域分类器得到一个公开数据集的样本权重。服务器根据每个参与方的公开数据集样本权重,为每个参与方知识蒸馏出一个个性化的联邦学习模型。多次迭代后,每个参与方都会得到一个个性化的联邦学习模型。
[0267]
需要说明的是,本技术实施例中的参与方之间的模型不需要结构相同,只需要所有模型需要输入输出维度相同。
[0268]
本技术实施例中使用的基于模型蒸馏的模型聚合方法,将所有参与方的模型整合,并在参与方模型的输出结果上进一步训练一个集成模型(ensemble)。整合后的集成模型作为教师模型训练一个学生模型。训练好的学生模型作为更新后的全局模型分发给所有参与方。这种更新方法得到的学生模型性能优于基于模型平均法得到的模型性能。训练得到的模型收敛更加迅速,最终得到的全局模型性能优于基于模型平均法得到的全局模型。同时,本技术实施例提出了一种基于知识蒸馏的个性化的联邦学习方法,此方法为每一个参与方训练一个个性化的模型,在参与方数据非独立同分布的情况下可以极大提高模型的可用性。
[0269]
下面继续说明本技术实施例提供的联邦学习模型的训练装置的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器450的联邦学习模型的训练装置455中的软件模块可以包括:
[0270]
第一获取模块4551,用于获取初始的教师模型和公开数据集,所述公开数据集由参与联邦训练的多个参与方设备共同持有;
[0271]
第一训练模块4552,用于基于所述教师模型和所述公开数据集,训练得到各参与方设备对应的学生模型;
[0272]
第一发送模块4553,用于将各学生模型发送至对应的参与方设备,以使各所述参与方设备根据各自持有的训练数据对对应的学生模型进行更新,得到更新后的学生模型;
[0273]
第一更新模块4554,用于根据所述各参与方设备发送的所述更新后的学生模型,对所述教师模型进行更新,得到更新后的教师模型;
[0274]
第一确定模块4555,用于当所述更新后的教师模型满足预设收敛条件时,将所述更新后的教师模型确定为训练好的联邦学习模型。
[0275]
在一些实施例中,所述联邦学习模型的训练装置还包括:第一接收模块,用于接收各所述参与方设备发送的所述公开数据集中各公开数据的权重;
[0276]
所述训练得到各参与方设备对应的学生模型之前,所述第一训练模块4552,还用
于:
[0277]
基于各所述参与方设备发送的所述公开数据集中各公开数据的权重,对相应公开数据集中各公开数据进行调整,得到各参与方设备对应的目标数据集;
[0278]
基于所述教师模型和各参与方设备对应的目标数据集,训练得到各参与方设备对应的学生模型。
[0279]
在一些实施例中,所述第一接收模块,还用于接收所述参与方设备发送的请求信息,所述请求信息用于获取训练好的联邦学习模型;
[0280]
所述第一发送模块4553,还用于响应于所述请求信息,将所述训练好的联邦学习模型发送至所述参与方设备,以使所述参与方设备根据目标用户的特征数据和所述训练好的联邦学习模型确定针对所述目标用户的目标信息。
[0281]
在一些实施例中,所述第一训练模块4552,还用于:
[0282]
将所述目标数据集中多个数据分别输入至所述教师模型,得到相应的预测结果;
[0283]
以所述预测结果作为相应数据的标签,构建所述参与方设备对应的学生模型的训练样本;
[0284]
基于构建的训练样本,训练所述参与方设备对应的学生模型。
[0285]
在一些实施例中,所述第一获取模块4551,还用于:
[0286]
获取初始化的联邦学习模型;
[0287]
将所述初始化的联邦学习模型发送至所述多个参与方设备,以使各所述参与方设备根据各自的私有训练数据对所述初始化的联邦学习模型进行更新,得到更新后的联邦学习模型;
[0288]
接收各所述参与方设备发送的更新后的联邦学习模型;
[0289]
将各所述参与方设备发送的更新后的联邦学习模型进行聚合,得到初始的教师模型。
[0290]
在一些实施例中,所述第一训练模块4552,还用于当所述更新后的教师模型不满足预设收敛条件时,基于所述更新后的教师模型和所述公开数据集,训练得到各参与方设备对应的更新后的学生模型;
[0291]
所述第一发送模块4553,还用于将各更新后的学生模型发送至对应的参与方设备,以使各所述参与方设备根据各自的私有训练数据对对应的更新后的学生模型进行再次更新,得到再次更新后的学生模型;
[0292]
所述第一更新模块4554,还用于将各所述参与方设备发送的再次更新后的联邦学习模型进行聚合,得到再次更新后的教师模型。
[0293]
本技术实施例提供一种联邦学习模型的训练装置,所述装置包括:
[0294]
第二接收模块,用于接收服务端设备发送的学生模型,所述学生模型由所述服务端设备根据教师模型和公开数据集训练得到,所述公开数据集由参与联邦训练的多个参与方设备共同持有;
[0295]
第二获取模块,用于获取所述参与方设备的私有训练数据;
[0296]
第二更新模块,用于根据所述训练数据对所述学生模型进行更新,得到更新后的学生模型;
[0297]
第二发送模块,用于将所述更新后的学生模型发送至所述服务端设备,以使所述
服务端设备根据所述更新后的学生模型对所述教师模型进行更新,并在更新后的教师模型满足预设收敛条件时,将所述更新后的教师模型确定为训练好的联邦学习模型。
[0298]
在一些实施例中,所述联邦学习模型的训练装置还包括:
[0299]
第三获取模块,用于获取所述公开数据集和训练好的分类模型;
[0300]
分类模块,用于将所述公开数据集中各公开数据分别输入至所述训练好的分类模型,得到各公开数据的分类预测值,所述公开数据的分类预测值用于表征所述公开数据来自所述参与方设备的概率;
[0301]
第二确定模块,用于根据所述各公开数据的分类预测值,确定所述各公开数据的权重;
[0302]
所述第二发送模块,还用于将所述各公开数据的权重发送至所述服务端设备,以使所述服务端设备根据所述教师模型、所述公开数据集和所述各公开数据的权重训练所述学生模型。
[0303]
在一些实施例中,所述第二发送模块,还用于响应于用于获取针对目标用户的目标信息的操作指令,向所述服务端设备发送请求信息;
[0304]
所述第二接收模块,还用于接收所述服务端设备发送的训练好的联邦学习模型;
[0305]
第四获取模块,用于获取所述目标用户的特征数据,所述特征数据包括所述目标用户的属性数据和行为数据中至少一个;
[0306]
输入模块,用于将所述特征数据输入至所述训练好的联邦学习模型,得到针对所述目标用户的目标信息。
[0307]
在一些实施例中,所述联邦学习模型的训练装置还包括:
[0308]
第五获取模块,用于获取预设的分类模型和分类训练数据集,所述分类训练数据集包括第一数据子集和第二数据子集,所述第一数据子集包括所述私有训练数据和相应的标签,所述第二数据子集包括所述公开数据和相应的标签;
[0309]
第二训练模块,用于根据所述第一数据子集和第二数据子集对所述预设的分类模型进行训练,得到训练好的分类模型。
[0310]
在一些实施例中,所述接收服务端设备发送的学生模型之前,所述第二接收模块,还用于接收所述服务端设备发送的初始化的联邦学习模型;
[0311]
所述第二更新模块,还用于根据所述私有训练数据对所述初始化的联邦学习模型进行更新,得到更新后的联邦学习模型;
[0312]
所述第二发送模块,还用于将所述更新后的联邦学习模型发送至所述服务端设备,以使所述服务端设备根据所述更新后的联邦学习模型确定初始的教师模型。
[0313]
这里需要指出的是:以上联邦学习模型的训练装置实施例项的描述,与上述方法描述是类似的,具有同方法实施例相同的有益效果。对于本技术联邦学习模型的训练装置实施例中未披露的技术细节,本领域的技术人员请参照本技术方法实施例的描述而理解。
[0314]
本技术实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本技术实施例提供的方法,例如,如图3示出的方法。
[0315]
在一些实施例中,存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd

rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0316]
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0317]
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hyper text markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0318]
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0319]
以上所述,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献