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

联邦学习方法、装置、设备、系统及计算机可读存储介质与流程

2022-06-05 20:45:20 来源:中国专利 TAG:


1.本发明实施例涉及人工智能技术领域,尤其涉及一种联邦学习方法、装置、设备、系统及计算机可读存储介质。


背景技术:

2.随着人工智能技术的不断发展,联邦学习作为一种新兴的人工智能技术,应用范围越来越广。联邦学习是指在进行机器学习的过程中,各参与方可借助其他方数据进行联合建模。各方无需共享数据资源,即数据不出本地的情况下,进行数据联合训练,建立共享的机器学习模型。
3.在联邦学习的应用场景中,各个设备上的数据是由设备/用户独立产生的,不同设备/用户的非同源数据具有不同的分布特征,而每一个设备在进行本地学习的时候,使用的训练数据是非独立同分布(non independently and identically distributed,non-iid)的。因此,针对不同的数据分布情况,如何提升联邦学习的效率,对于联邦学习具有重要意义。


技术实现要素:

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.在一种可能的实现方式中,训练样本特征信息包括标签分布信息或样本数量;标签分布信息包括标签占比信息和每种类型的标签数量中的至少一种,标签占比信息用于指示各种类型的标签在当前训练样本的标签中的占比;样本数量信息用于指示当前训练样本中包括的样本的条数。
69.在一种可能的实现方式中,上轮训练获得的第一模型包括第二设备的第一模型,第一增益信息包括第二设备的第一模型对应的增益信息,第二设备的第一模型对应的增益信息用于指示第二设备的第一模型为了适应第二设备的当前训练样本所需的修正程度;
70.或者,上轮训练获得的第一模型包括第二设备的第一模型及参与联邦学习的其他第二设备的第一模型,第一增益信息包括第二设备的第一模型对应的增益信息以及其他第二设备的第一模型对应的增益信息,其他第二设备的第一模型对应的增益信息用于指示其他第二设备的第一模型为了适应第二设备的当前训练样本所需的修正程度。
71.在一种可能的实现方式中,接收模块,还用于第二设备接收第一设备发送的其他第二设备的第一模型。
72.第五方面,提供了一种通信设备,该设备包括:通信接口和处理器。可选地,该通信设备还包括存储器。其中,该通信接口、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制通信接口接收信号,并控制通信接口发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第一方面或第一方面的任一种可能的实现方式中的方法。
73.第六方面,提供了一种通信设备,该设备包括:通信接口和处理器。可选地,该通信设备还包括存储器。其中,该通信接口、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制通信接口接收信号,并控制通信接口发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第二方面或第二方面的任一种可能的实现方式中的方法。
74.可选地,处理器为一个或多个,存储器为一个或多个。
75.可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
76.在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,rom),其可以与处理器集成在同一块芯片上,也可以分别设置
在不同的芯片上,本技术实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
77.第七方面,提供了一种通信系统,该系统包括第一通信设备和第二通信设备,第一通信设备用于执行上述第一方面或第一方面的任一种可能的实现方式所提供的联邦学习方法,第二通信设备用于执行上述第二方面或第二方面的任一种可能的实现方式所提供的联邦学习方法。
78.第八方面,提供了一种计算机程序(产品),计算机程序(产品)包括:计算机程序代码,当计算机程序代码被计算机运行时,使得计算机执行上述各方面中的方法。
79.第九方面,提供了一种计算机可读存储介质,计算机可读存储介质存储程序或指令,当程序或指令在计算机上运行时,上述各方面中的方法被执行。
80.第十方面,提供了一种芯片,包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行上述各方面中的方法。
81.第十一方面,提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行上述各方面中的方法。
附图说明
82.图1是本技术实施例提供的一种联邦学习示意图;
83.图2是本技术实施例提供的一种相关技术中的联邦学习示意图;
84.图3是本技术实施例提供的一种联邦学习系统的架构示意图;
85.图4是本技术实施例提供的一种联邦学习的方法流程图;
86.图5是本技术实施例提供的一种选择联邦学习策略的流程示意图;
87.图6是本技术实施例提供的一种联邦学习的流程示意图;
88.图7是本技术实施例提供的一种联邦学习装置的结构示意图;
89.图8是本技术实施例提供的一种联邦学习装置的结构示意图;
90.图9是本发明实施例提供的通信设备的结构示意图。
具体实施方式
91.本技术的实施方式部分使用的术语仅用于对本技术的实施例进行解释,而非旨在限定本技术。下面结合附图,对本发明的实施例进行描述。
92.本技术的实施方式部分使用的术语仅用于对本技术的实施例进行解释,而非旨在限定本技术。下面结合附图,对本发明的实施例进行描述。
93.随着人工智能(artificial intelligence,ai)技术的发展及完善,ai技术逐渐引起各领域的广泛关注。其中,ai技术依赖于对大量标签数据的学习过程。而在实际应用中,持有数据源的对象往往面临着数据源中标签数据体量不足的问题。并且,由于数据源的类型限制以及隐私保护等原因,不同对象之间难以共享数据源。从而,导致ai技术在实际应用中面临“数据孤岛”问题。
94.为解决这一问题,联邦学习应运而生。在联邦学习过程中,多个持有数据源的对象分别作为参与方,从而在保证数据不出域的前提下联合多个参与方的数据源来训练机器学
习模型,多个参与方能够共享该机器学习模型。参见图1,图1示出了一种联邦学习架构,包括n个客户端以及服务端,各个客户端分别与服务端通信连接。其中,客户端与联邦学习的参与方一一对应,客户端通过参与方提供的数据源在域内进行模型训练。之后,将模型训练结果上传至服务端,服务端综合各个客户端上传的模型训练结果获得共享的机器学习模型,将共享的机器学习模型下发至各个客户端以供使用。
95.在理想状态下,用于训练机器学习模型的训练数据遵循独立同分布(independently identically distribution,iid)。而在实际应用中,各个数据源中的标签数据往往是非独立的,与其他因素之间具有较强的相关性(inter-dependent),不同数据源之间的标签数据也往往具有不同的概率分布,从而使得联邦学习过程中的训练数据遵循非独立同分布(non-iid)。如何在训练数据遵循non-iid时保证机器学习模型的准确度,避免机器学习模型无法收敛等负面情况的发生,对于联邦学习过程具有重要意义。
96.相关技术提供了一种数据共享(data-sharing)的联邦学习方法。参见图2,该方法中服务端管理具有统一概率分布的标签数据集,服务端从该标签数据集中获得数据子集,基于该数据子集训练模型。服务端训练的模型用于确定各个客户端的权重,服务端基于所确定的权重向各个客户端分别下发数据子集。例如,在图2中,客户端1的权重为α1,客户端2的权重为α2。之后,各个客户端基于具有权重的数据子集以及域内数据源进行模型训练,将模型训练结果上传至服务端。服务端综合各个客户端上传的模型训练结果获得共享的机器学习模型。
97.然而,实际应用中往往难以获得到具有统一概率分布的标签数据集,从而导致相关技术所提供的方法仅存在于理论层面,很难落地应用。
98.本技术实施例提供了一种联邦学习方法,该方法能够应用于如图3所示的联邦学习系统中。图3中,包括第一设备以及n个第二设备(n≥2),各个第二设备分别与第一设备通信连接。第一设备用于作为联邦学习过程中的服务端(也称为中心节点),第二设备用于作为联邦学习过程中的客户端(也称为边缘节点)。其中,第一设备包括数据分布偏移模块、联合学习策略模块以及模型更新模块,各个第二设备分别包括增益信息计算模块以及模型更新模块。对图3示出的各模块进行说明如下:
99.增益信息计算模块:用于基于当前训练样本计算得到第一增益信息,该第一增益信息用于第一设备选择联邦学习策略。还用于基于联邦学习策略对应的参数上报策略以及对应的训练样本计算得到第二增益信息,该第二增益信息用于第一设备进行联邦融合。
100.模型更新模块:用于基于增益信息计算模块获得的第一增益信息或者第二增益信息对自身在上轮训练过程中获得的模型进行更新。
101.可选地,该第二设备还包括数据预处理模块,用于对当前训练样本所包括的样本进行预处理,得到预处理后的样本。示例性地,预处理包括但不限于数据补值以及特征提取。则增益信息计算模块用于基于预处理后的样本计算得到第一增益信息。还用于基于联邦学习策略对应的参数上报策略以及预处理后的样本计算得到第二增益信息。
102.数据分布偏移模块:用于根据各个第二设备的第一增益信息确定不同第二设备的当前训练样本的特征分布。
103.联合学习策略模块:用于根据不同第二设备的当前训练样本的特征分布选择匹配的联邦学习策略。
104.模型融合模块:用于基于联邦学习策略以及不同第二设备的第二增益信息进行联邦融合,得到第二设备对应的第三增益信息。将第三增益信息发送给对应的第二设备,用于第二设备基于该第三增益信息获取第二设备的第二模型。或者,基于第三增益信息及对应的第二设备的第一模型获得第二模型,将第二模型发送给对应的第二设备。
105.基于上述说明中各模块所具有的功能,参见图3,第二设备a依次通过a-1、a-2、a-3、a-4以及a-5完成联邦学习过程。另外,其他第二设备完成联邦学习的过程与第二设备a完成联邦学习的过程相同。例如,图3中示出的第二设备b依次通过图3所示的b-1、b-2、b-3、b-4以及b-5完成联邦学习过程,此处不再进行赘述。
106.基于上述图3所示的实施环境,本技术实施例提供了一种联邦学习方法。以通过第一设备与第二设备之间的交互实现该联邦学习方法为例,参见图4,该方法包括如下的过程。
107.401,第二设备获得数据分布信息,数据分布信息包括第一增益信息和标签类型信息中的至少一种,第一增益信息用于指示通过上轮训练获得的第一模型为了适应第二设备的当前训练样本所需的修正程度,标签类型信息用于指示当前训练样本的标签对应的类型。
108.其中,联邦学习由第一设备以及多个第二设备共同参与,联邦学习往往包括多轮训练过程。401的执行时间位于多轮训练过程中任意两轮相邻的训练过程之间。为便于说明,文中将在执行401时已结束的一轮训练过程称为上轮训练过程,将在执行401时还未开始的一轮训练过程称为当前训练过程。
109.对于任一第二设备而言,在本轮训练之前,该第二设备会接收到第一设备下发的模型,第二设备由此得到第二设备的第一模型,该第一模型作为上轮训练获得的第一模型。此外,该第二设备在本轮训练过程中具有对应的训练样本,也即当前训练样本。本技术实施例不对第二设备当前训练样本的获取方式进行限定。示例性地,在上轮训练结束之后,该第二设备对应的上轮训练样本可能发生变化,从而使得该第二设备对应的训练样本由上轮训练样本更新为当前训练样本。例如,在上轮训练样本的基础上再加新的样本,构成当前训练样本。例如,针对本轮训练获取新的训练样本作为当前训练样本。应当理解的是,无论是上轮训练样本还是当前训练样本,均包括多个对应有标签的样本,也即样本包括标签。相应地,在当前训练过程中,该第二设备需要基于当前训练样本重新对该第二设备对应的第一模型进行训练。在重新训练之前,该第二设备执行401以获得数据分布信息。其中,该数据分布信息用于第一设备获得联邦学习策略,以便于该第二设备能够在当前训练过程中根据联邦学习策略进行重新训练。
110.示例性地,数据分布信息包括第一增益信息和标签类型信息中的至少一种。以下对第一增益信息和标签类型信息分别进行说明。
111.第一增益信息:第二设备发送的第一增益信息用于指示通过上轮训练获得的第一模型为了适应第二设备的当前训练样本所需的修正程度。
112.该第二设备为参与联邦学习的任一第二设备,示例性地,上轮训练获得的第一模型包括该第二设备的第一模型,第一增益信息包括该第二设备的第一模型对应的增益信息,该第二设备的第一模型对应的增益信息用于指示该第二设备的第一模型为了适应该第二设备的当前训练样本所需的修正程度;
113.或者,上轮训练获得的第一模型包括该第二设备的第一模型及参与联邦学习的其他第二设备的第一模型,第一增益信息包括该第二设备的第一模型对应的增益信息以及其他第二设备的第一模型对应的增益信息,其他第二设备的第一模型对应的增益信息用于指示其他第二设备的第一模型为了适应该第二设备的当前训练样本所需的修正程度。
114.其中,第一增益信息是在第一模型上运行当前训练样本所得到的运行结果。在实际应用中,以第二设备的第一模型对应的增益信息的计算过程为例:将当前训练样本所包括的多个样本分别输入第二设备的第一模型,得到多个输出结果。根据第一模型对应的损失函数以及多个输出结果计算损失函数的函数值,基于该函数值确定第二设备的第一模型所包括的各个模型参数的增益信息,将各个模型参数的增益信息确定为该第二设备的第一模型对应的增益信息。其他第二设备的第一模型对应的增益信息的获取方式可参考上述第二设备的第一模型对应的增益信息的计算方式,此处不再赘述。
115.示例性地,无论是第二设备的第一模型,还是其他第二设备的第一模型,基于第一模型为神经网络模型,则上述第一增益信息为梯度信息,且本实施例能够在根据损失函数的函数值确定第一增益信息时采用误差反向传播算法。或者,基于第一模型为决策树模型,则上述第一增益信息为分裂信息。其中,决策树模型包括多个节点,除底层节点以外的各个节点分别对应有决策条件以及两个分支,各个分支中分别包括至少一个样本。例如,决策树模型中的一个节点的决策条件为0.8,则当前训练样本包括的各个样本中小于0.8的样本属于该节点对应的其中一个分支,不小于0.8的样本属于该节点对应的另一个分支。相应地,上述分裂信息是指:各个节点对应的决策条件以及各个节点对应的分支所包括的样本的数量。
116.需要说明的是,对于第二设备所使用的第一模型包括上轮训练过程中其他第二设备的第一模型的情况,本实施例所提供的方法还包括:对于任一第二设备,第一设备向该多个第二设备中除任一第二设备以外的其他第二设备发送任一第二设备的第一模型。相应地,第二设备接收第一设备发送的参与联邦学习的其他第二设备的第一模型。
117.以参与联邦学习的第二设备包括a设备、b设备以及c设备为例,则:第一设备向a设备发送b设备的第一模型以及c设备的第一模型,第一设备向b设备发送a设备的第一模型以及c设备的第一模型,第一设备向c设备发送a设备的第一模型以及b设备的第一模型。
118.示例性地,对于第一设备存储有各个第二设备对应的第一模型的情况,则第一设备可直接根据各个第二设备的需求进行第一模型的发送。或者,对于第一设备不存储有各个第二设备对应的第一模型的情况,则各个第二设备分别向第一设备上传各自的第一模型,再由第一设备根据各个第二设备的需求进行第一模型的发送。其中,出于安全性的考虑,第一设备在将一个第二设备对应的第一模型发送给另一个第二设备之前,首先向待发送的第一模型对应的第二设备申请权限,在获得授权之后再进行第一模型的发送。例如,第一设备要向a设备发送b设备的第一模型,则第一设备向b设备申请b设备的第一模型的下发权限,在得到b设备的授权之后,再向a设备发送b设备的第一模型。
119.应当理解的是,各个第二设备的第一模型可能相同,也可能不同。基于各个第二设备的第一模型相同,则第一设备向各个第二设备分别发送其他第二设备的第一模型显然会造成资源的浪费。因此。本实施例在不同第二设备的第一模型不同的情况下,再由第一设备进行第一模型的发送。
120.标签类型信息:标签类型信息用于指示当前训练样本的标签对应的类型。其中,当前训练样本所包括的多个样本均具有标签,当前训练样本的标签即为当前训练样本包括的样本的标签。当前训练样本的标签对应的类型是指当前训练样本中各个样本的标签是何种类型。示例性地,标签类型信息用于指示当前训练样本的标签对应a、b、c三种类型,也即当前训练样本的标签包括a、b、c三种类型的标签,则指示第二设备的当前训练样本所包括的样本具有a、b、c三种类型的标签,而各种类型的标签的数量则不进行限定。
121.其中,以当前训练样本的标签用于指示识别结果是否为异常为例,该当前训练样本的标签对应的类型包括两种,一种类型的标签指示识别结果为异常,另一种类型的标签指示识别结果为非异常。
122.402,第二设备向第一设备发送数据分布信息。
123.在各个第二设备分别获得数据分布信息之后,各个第二设备分别将数据分布信息发送给第一设备,以便于第一设备基于第二设备发送的数据分布信息选择匹配的联邦学习策略。
124.403,第一设备接收参与联邦学习的多个第二设备发送的数据分布信息。
125.由于参与联邦学习的各个第二设备均向第一设备发送了数据分布信息,因而第一设备能够接收到参与联邦学习的多个第二设备发送的数据分布信息。
126.404,第一设备根据多个第二设备发送的数据分布信息选择匹配的联邦学习策略。
127.在示例性实施例中,第一设备根据多个第二设备发送的数据分布信息选择匹配的联邦学习策略,包括:第一设备根据数据分布之间的差异选择匹配的联邦学习策略,该数据分布之间的差异基于多个第二设备发送的数据分布信息确定。根据401中的说明可知,数据分布信息包括第一增益信息和标签类型信息中的至少一种。在数据分布信息所包括的信息不同的情况下,选择联邦学习策略的方式也不同,以下对选择过程中涉及的各种方式分别进行说明。
128.方式a1,数据分布信息包括增益信息以及标签类型信息。相应地,第一设备根据数据分布之间的差异选择匹配的联邦学习策略之前,还包括:第一设备根据多个第二设备的第一增益信息确定特征分布信息,特征分布信息用于指示不同第二设备的当前训练样本的特征分布是否相同;第一设备根据特征分布信息以及多个第二设备的标签类型信息确定数据分布之间的差异。根据401中的说明可知,对于任一第二设备而言,该第二设备获得第一增益信息的过程中所使用的第一模型可能是该第二设备自身的第一模型,也可能还包括其他第二设备的第一模型。
129.在第一增益信息包括第二设备的第一模型对应的增益信息的情况中,若两个第二设备的第一增益信息之间的距离小于阈值,则说明这两个第二设备的当前训练样本的特征分布相同。例如,设备a在设备a的第一模型a上运行得到的第一增益信息为d1a,设备b在设备b的第一模型b上运行得到的第一增益信息为d2b。若d1a和d2b之间的距离(d1a,d2b)小于阈值,则说明设备a和设备b的当前训练样本的特征分布相同。
130.在第一增益信息包括第二设备的第一模型对应的增益信息以及其他第二设备的第一模型对应的增益信息的情况中,若两个第二设备在对方对应的第一模型上运行得到的第一增益信息之间的距离小于阈值,则说明这两个第二设备的当前训练样本的特征分布相同。例如,设备a在设备b的第一模型b上运行得到的第一增益信息为d2a,设备b在设备a的第
一模型a上运行得到的第一增益信息为d1b。若d2a和d1b之间的距离(d2a,d1b)小于阈值,则说明设备a和设备b的当前训练样本的特征分布相同。
131.应当理解的是,在第二设备为三个以上的情况下,对于当前训练样本的特征分布相同的两个第二设备,不仅需要在对方的第一模型上运行得到的第一增益信息之间的距离小于阈值,还需要在除对方以外的其他相同的第一模型上运行得到的第一增益信息之间的距离小于阈值。例如,参与联邦学习的第二设备还包括设备c,设备a在设备c的第一模型c上运行得到的第一增益信息为d3a,设备b在设备c的第一模型上运行得到的第一增益信息为d3b。则在上述(d2a,d1b)以及和之间的距离(d3a,d3b)均小于阈值的情况下,认为设备a和设备b的当前训练样本的特征分布相同。
132.若两个第二设备在相同的第二设备的第一模型上运行得到的第一增益信息之间的距离小于阈值,则说明这两个第二设备的当前训练样本的特征分布相同。例如,设备a的第一模型为a,设备b的第一模型为b。设备a在第一模型a和第一模型b上运行得到的第一增益信息分别为d1a和d2a,设备b在第一模型a和第一模型b上运行得到的第一增益信息分别为d1b和d2b。若设备a和设备b在相同的第一模型a上运行得到的第一增益信息d1a和d1b之间的距离(d1a,d1b)小于阈值,且设备a和设备b在相同的第一模型b上运行得到的第一增益信息d2a和d2b之间的距离(d2a,d2b)小于阈值,则说明设备a和设备b的当前训练样本的特征分布相同。
133.需要说明的是,确定特征分布是否相同的过程在不同第二设备之间是具有传递性的。例如,根据上述说明中的方式确定设备a和设备b的当前训练样本的特征分布相同,并确定设备b和设备c的当前训练样本的特征分布相同,则说明设备a、设备b以及设备c三者的当前训练样本的特征分布均相同。在参与联邦学习的第二设备的数量较多的情况下,所有第二设备的当前训练样本的特征分布均相同的概率往往较小。不过,所有第二设备中能够包括至少一组具有相同特征部分的当前训练样本的第二设备。例如,参与联邦学习的第二设备的数量为十个,则可能设备1-5的当前训练样本的特征分布相同,设备6-10的当前训练样本的特征分布相同,而设备1-5与设备6-10的当前训练样本的特征分布则不同。
134.上述确定特征分布的过程中,均需要确定不同第一增益信息之间的距离。根据401中对第一增益信息的说明可知,第一增益信息中包括有第一模型中各个模型参数的增益信息。示例性地,对于两个第二设备的第一增益信息,首先获得第一增益信息中相对应的模型参数的增益信息之间的子距离,得到多个子距离。之后,对多个子距离进行加权求和,将所得到的加权求和值确定为这两个第二设备的第一增益信息之间的距离。
135.在第一增益信息为梯度信息、第一模型为神经网络模型的情况下,第一模型包括卷积层、采样层以及全连接层等等。示例性地,同一类型层的模型参数相对应。例如,设备a和设备b的第一增益信息中属于卷积层的模型参数是相对应的模型参数,属于采样层的模型参数是相对应的模型参数。另外,不同类型层根据实际需要对应相同或不同的权重。示例性地,对于任一类型层,通过该类型层的模型参数的增益信息计算得到的子距离的权重等于该任一类型层对应的权重。
136.在第一增益信息为分裂信息、第一模型为决策树模型的情况下,决策树模型中的节点包括根节点以及多个叶子节点,叶子节点位于不同层级。其中,根节点或者同一层级的叶子节点相对应。根节点以及各个叶子节点对应的权重相同或不同,示例性地,本实施例中
根节点对应的权重最大,越底层的叶子节点对应的权重越小。
137.在确定特征分布信息后,第一设备根据数据分布之间的差异选择匹配的联邦学习策略,示例性地,本实施例按照图5所示的流程选择联邦学习策略,选择过程包括但不限于如下四种情况。
138.情况一,基于特征分布信息指示不同第二设备的当前训练样本的特征分布相同,且不同第二设备的标签类型信息相同,则选择匹配的联邦学习策略为模型平均融合,模型平均融合用于以增益信息平均的方式进行联邦学习。其中,增益信息是第二设备根据该模型平均融合对应的参数上报策略上报至第一设备的第二增益信息,该第二增益信息可参见后文情况b1中的说明。也就是说,第一设备用于在接收到第二设备上传的第二增益信息之后,基于该模型平均融合的联邦学习策略计算接收到的第二增益信息的平均值。
139.情况二,基于特征分布信息指示不同第二设备的当前训练样本的特征分布不同,且不同第二设备的标签类型信息相同,则选择匹配的联邦学习策略为模型差异化更新,模型差异化更新用于以增益信息差异化处理的方式进行联邦学习。其中,增益信息可参见上文情况一中的说明。第一设备用于在接收到第二设备上传的增益信息之后,基于该模型差异化更新的联邦学习策略对增益信息进行差异化处理,差异化处理的过程可参见后文情况c2中的说明。
140.情况三,基于特征分布信息指示不同第二设备的当前训练样本的特征分布相同,且不同第二设备的标签类型信息不同,则选择匹配的联邦学习策略为模型部分更新,模型部分更新用于以部分增益信息平均的方式进行联邦学习。其中,部分增益信息是第二设备根据模型部分更新对应的参数上报策略上报至第一设备的第二增益信息,该第二增益信息可参见后文情况b3中的说明。第一设备用于在接收到该第二增益信息之后,基于模型部分更新的联邦学习策略对接收到的部分增益信息进行平均计算。
141.情况四,基于特征分布信息指示不同第二设备的当前训练样本的特征分布不同,且不同第二设备的标签类型信息不同,则选择匹配的联邦学习策略为模型部分差异化更新,模型部分差异化更新用于以部分增益信息差异化处理的方式进行联邦学习。部分增益信息可参见情况三中的说明,差异化处理的过程可参见后文情况c4中的说明,此处不再进行赘述。
142.其中,所选择的联邦学习策略用于第一设备向第二设备下发对应的参数上报策略,若选择的联邦学习策略不同,则第一设备向第二设备发送的参数上报策略也有所不同,详见后文406中的说明。应当理解的是,图5示出的四种联邦学习策略仅为举例,并不用于对联邦学习策略进行限制。
143.另外,根据图5可知,基于不同第二设备的标签类型信息不同,则本实施例在确定不同第二设备的当前训练样本的特征分布是否相同之前,先根据实际需求或者经验确定不同第二设备的当前训练样本的标签之间是否需要联合。如果不需要联合,则进一步确定不同第二设备的当前训练样本的特征分布是否相同。如果需要联合,则直接选择匹配的联邦学习策略为模型差异化更新。
144.方式a2:数据分布信息包括第一增益信息。相应地,第一设备根据数据分布之间的差异选择匹配的联邦学习策略之前,还包括:第一设备根据多个第二设备的第一增益信息确定特征分布信息,特征分布信息用于指示不同第二设备的当前训练样本的特征分布是否
相同;第一设备根据特征分布信息确定数据分布之间的差异。第一设备根据数据分布之间的差异选择匹配的联邦学习策略,包括但不限于如下两种情况。
145.情况一,基于特征分布信息指示不同第二设备的当前训练样本的特征分布相同,则选择匹配的联邦学习策略为模型平均融合。
146.情况二,基于特征分布信息指示不同第二设备的当前训练样本的特征分布不同,则选择匹配的联邦学习策略为模型差异化更新。
147.第一设备确定特征分布信息的过程参见上文方式a1中的说明,此处不再进行赘述。在数据分布信息仅包括第一增益信息而不包括标签类型信息的情况下,本实施例等同默认不同第二设备之间的标签类型信息相同。从而,在不同第二设备的当前训练样本的特征分布相同的情况下,基于图5选择匹配的联邦学习策略为模型平均融合。相应地,在特征分布信息指示不同第二设备的当前训练样本的特征分布不同的情况下,则基于图5选择匹配的联邦学习策略为模型差异化更新。
148.方式a3,数据分布信息包括标签类型信息。相应地,任一第二设备发送的数据分布信息包括标签类型信息,第一设备根据数据分布之间的差异选择匹配的联邦学习策略之前,还包括:基于标签类型信息确定数据分布之间的差异。
149.在数据分布信息仅包括标签类型信息而不包括第一增益信息的情况下,本实施例默认不同第二设备之间的第一增益信息相同。因而,在不同第二设备的标签类型信息相同的情况下,基于图5选择匹配的联邦学习策略为模型平均融合。相应地,在不同第二设备的标签类型信息不同的情况下,基于图5选择匹配的联邦学习策略为模型部分更新。
150.405,第一设备向多个第二设备中的至少一个第二设备发送联邦学习策略对应的参数上报策略。
151.在第一设备选择得到联邦学习策略之后,根据确定的联邦学习策略确定各个第二设备对应的参数上报策略,将各个第二设备对应的联邦学习策略对应的参数上报策略分别发送给各个第二设备,以使第二设备能够根据对应的参数上报策略以及当前训练样本获得第二增益信息。
152.在示例性实施例中,各个第二设备除了向第一设备发送数据分布信息以外,还向第一设备发送训练样本特征信息,训练样本特征信息用于表征标签分布或样本数量;训练样本特征信息用于第一设备确定超参数。相应地,第一设备向多个第二设备发送联邦学习策略对应的参数上报策略,还包括:对于上述发送参数上报策略的至少一个第二设备中的任一第二设备,第一设备根据该任一第二设备发送的训练样本特征信息确定超参数,向任一第二设备发送超参数,超参数用于该任一第二设备获取第二增益信息。其中,第二设备应用该超参数的过程参见后文406,此处暂不赘述。
153.示例性地,训练样本特征信息包括标签分布信息或样本数量;标签分布信息包括标签占比信息和每种类型的标签数量中的至少一种,标签占比信息用于指示各种类型的标签在当前训练样本的标签中的占比;样本数量信息用于指示当前训练样本中包括的样本的条数。例如,当前训练样本共包括100条具有标签的数据,则样本数量即为100。而标签占比信息则用于指示各种类型的标签在当前训练样本的标签中所占的百分比。例如,在100条样本中,具有a标签的样本为30条,具有b标签的样本为50条,具有c标签的样本为20条。则a标签的标签数量为30,b标签的标签数量为50,c标签的标签数量为20,a标签的标签占比为
30%,b标签的标签占比为50%,c标签的标签占比为20%。
154.在第一设备获得训练样本特征信息之后,进一步对超参数进行确定。其中,在训练样本特征信息包括标签分布信息,该标签分布信息包括标签占比信息的情况下,第一设备确定任一第二设备的当前训练样本中各种类型的标签对应的超参数,向该第二设备发送确定出的各个超参数。对于任一种类型的标签而言,该标签的标签占比信息越大,则该标签对应的超参数越小。例如,当前训练样本的标签包括占比80%的a标签以及占比20%的b标签,则a标签对应的超参数小于b标签对应的超参数。
155.或者,在训练样本特征信息包括样本数量的情况下,第一设备根据不同第二设备对应的样本数量为各个第二设备分别确定超参数。任一第二设备对应的样本数量越大,则该第二设备的超参数越小。例如,设备a的样本数量为100条,设备b的样本数量为10000条,则设备a的超参数大于设备b的超参数。另外,在标签分布信息既包括标签占比信息又包括每种类型的标签数量的情况下,参见标签占比信息情况的说明,此处不再进行赘述。
156.若不采用上述确定超参数的方式,则在后续的模型训练过程中,相比基于体量较大(标签占比信息较大、数据量信息较大)的样本所得到的训练结果,基于体量较小(标签占比信息较小、数据量信息较小)的样本所得到的训练结果会被当作噪声消除,则体量较小的样本难以在后续的模型训练过程中产生贡献。而本实施例通过采用为体量较小的样本配置较大的超参数,使得各个第二设备的当前训练样本中不同体量的样本均能够对后续的模型训练过程产生贡献。由此,保证了通过联邦学习过程训练得到的模型的性能较好。
157.406,第二设备接收第一设备发送的联邦学习策略对应的参数上报策略,基于接收到的参数上报策略以及当前训练样本获得第二增益信息,第二增益信息用于获得第二设备的第二模型。
158.根据401中的说明可知,401的执行时间在上轮训练过程与当前训练过程之间,而406即为当前训练过程。换言之,在第二设备接收第一设备发送的联邦学习策略之后,便基于该联邦学习策略正式开始进行训练。在当前训练过程中,对于任一第二设备而言,该第二设备基于接收到的联邦学习策略对应的参数上报策略以及该第二设备的当前训练样本,获得第二增益信息,该第二增益信息中包括至少一个模型参数的增益信息。
159.404中举例说明了四种不同的联邦学习策略。联邦学习策略不同,则第二设备获得第二增益信息的过程也不同,以下通过情况b1-b4对四种获得第二增益信息的情况分别进行说明。
160.情况b1,联邦学习策略为模型平均融合。此种情况下,第二设备接收第一设备发送的对应模型平均融合对应的参数上报策略,第二设备基于该参数上报策略以及当前训练样本获得第二增益信息。例如,针对模型平均融合的联邦学习策略,第二设备需要上报所有模型参数的增益信息,因而第一设备向第二设备下发用于获取所有模型参数的增益信息的参数上报策略。
161.情况b2,联邦学习策略为模型差异化更新。此种情况下第一设备下发的参数上报策略与情况b1相同,则第二设备获得第二增益信息的过程与情况b1中的相同,不再进行赘述。
162.情况b3,联邦学习策略为模型部分更新。在情况b3中,第一设备向第二设备发送的与联邦学习策略对应的参数上报策略用于指示第二设备上报部分模型参数的增益信息。则
第二设备获得的第二增益信息可仅包括部分模型参数的增益信息。以神经网络模型为例,神经网络模型中的卷积层、采样层等属于特征提取层,全连接层属于分类层。第二设备可通过当前训练样本仅对特征提取层进行训练,而不对分类层进行训练。另外,第二设备也可按照情况b1中说明的方式进行训练,得到所有模型参数的增益信息,再从所有模型参数的增益信息中选择部分模型参数的增益信息作为第二增益信息。
163.情况b4,联邦学习策略为模型部分差异化更新。此种情况下第一设备下发的参数上报策略与情况b3相同,则第二设备获得第二增益信息的过程与情况b3中的相同,不再进行赘述。
164.根据401中对第一增益信息的计算过程的说明可知,第二设备将当前训练样本的各个样本分别输入第二设备的第一模型之后,会得到各个样本对应的输出结果。在第二设备除了联邦学习策略对应的参数上报策略还接收到第一设备发送的超参数的情况下,基于接收到的参数上报策略以及该第二设备的当前训练样本获得第二增益信息,包括:基于接收到的参数上报策略、当前训练样本以及超参数获得第二增益信息。其中,针对超参数的确定方式不同,第二设备获取第二增益信息的方式不同,例如,包括但不限于如下两种情况。
165.情况一,该超参数是第一设备基于标签分布信息所确定的情况下,第二设备基于超参数确定各个样本对应的权重,从而对各个样本对应的输出结果进行加权求和,得到加权求和值。接着,根据损失函数以及该加权求和值计算损失函数的函数值,从而得到第二增益信息。
166.示例性地,第二设备基于超参数确定各个样本对应的权重,包括:对于任一个样本,确定该样本对应的标签,将该标签对应的超参数作为该样本的权重。例如,第二设备的当前训练样本的标签包括占比80%的a标签以及占比20%的b标签,a标签的超参数m小于b标签的超参数n。若样本的标签为a标签,则该样本对应的权重等于a标签的超参数m。
167.情况二,在超参数是第一设备基于样本数量确定的情况下,由于不同的第二设备的超参数随着样本数量的不同而不同,因而第二设备在计算得到至少一个模型参数的增益信息之后,基于该超参数对至少一个模型参数的增益信息进行更新,例如进行乘积等计算,将更新结果作为第二增益信息。
168.在示例性实施例中,参见图6,在第二设备得到第二增益信息之后,本实施例所提供的方法还包括如下的过程。
169.407,第二设备向第一设备发送第二增益信息。
170.示例性地,参与联邦学习的各个第二设备均将获得的第二增益信息上报给第一设备。
171.408,第一设备接收多个第二设备发送的第二增益信息,基于联邦学习策略对第二增益信息进行联邦融合,得到各个第二设备对应的第三增益信息。
172.其中,在第一设备获得第二增益信息之后,基于联邦学习策略对第二增益信息进行联邦融合,得到各个第二设备对应的第三增益信息。联邦学习策略不同,则第一设备通过联邦融合得到各个第二设备对应的第三增益信息的方式也不同。以下通过情况c1-c4分别进行说明。
173.情况c1,联邦学习策略为模型平均融合。此种情况下,第一设备计算进行模型平均融合的各个第二设备发送的第二增益信息的平均值,得到进行模型平均融合的各个第二设
备对应的第三增益信息。
174.情况c2,联邦学习策略为模型差异化更新。其中,第一设备对进行模型差异化更新的各个第二设备发送的第二增益信息进行加权求和,不同第二设备的权重相同或不同,从而得到进行模型差异化更新的各个第二设备对应的第三增益信息。或者,第一设备对进行模型差异化更新的各个第二设备发送的第二增益信息进行增量学习。在增量学习过程中,第一设备首先对一个第二设备发送的第二增益信息进行更新,得到第一更新结果。再根据另一个第二设备发送的第二增益信息对该第一更新结果进行更新,得到第二更新结果。以此类型,将最终得到的更新结果作为进行模型差异化更新的各个第二设备对应的第三增量信息。示例性地,本实施例采用的增量学习方式包括使用蒙德里安(mondrian)树进行更新。
175.情况c3,联邦学习策略为模型部分更新。在情况c3中,由于第二设备发送的第二增益信息是所有模型参数中部分模型参数的增益信息,因而第一设备可直接对进行模型部分更新的第二设备上报的第二增益信息所包括的部分模型参数的增益信息计算平均值。其中,情况c1中第一设备相当于对进行模型平均融合的各个第二设备的第二模型整体进行了联邦,而情况c3则是第一设备对进行模型部分更新的各个第二设备的第二模型中的一部分进行了联邦。
176.情况c4,联邦学习策略为模型部分差异化更新。在此种情况中,进行模型部分差异化更新的第二设备所发送的第二增益信息中包括所有模型参数中部分模型参数的增益信息。第一设备按照情况c2中说明的方式对部分模型参数的增益信息进行加权求和或者进行增量学习,从而得到进行模型部分差异化更新的第二设备对应的第三增益信息。
177.需要说明的是,第一设备基于联邦学习策略对第二增益信息进行联邦融合,得到各个第二设备对应的第三增益信息时,如果一个第二设备对应不用的联邦学习策略,则可以针对不同的联邦学习策略进行对应的第二增益信息进行联邦融合。例如,第二设备包括设备1、设备2和设备3。如果设备1与设备2比对确定联邦学习策略为模型平均融合,而设备1与设备3比对之后确定联邦学习策略为模型部分差异化更新,则可先将设备1上报的第二增益信息与设备2上报的第二增益信息进行平均,再将平均值与设备3上报的第二增益信息进行差异化处理,得到的增益信息为设备1对应的第三增益信息。
178.409,第一设备向多个第二设备分别发送对应的第三增益信息。
179.其中,对于任一第二设备,第一设备直接将第三增益信息发送至对应的第二设备,或者第一设备基于第三增益信息以及对应的第二设备的第一模型获得第二模型后,将该第二模型发送给对应的第二设备。对于后一种情况,获取第二模型的过程由第一设备执行,第一设备直接获得各个第二设备的第二模型,再向各个第二设备分别发送该第二模型。
180.示例性地,第二模型与第一模型相比,可能仅有模型中的一部分发生了更新。此种情况下,第一设备仅将更新的模型部分发送给各个第二设备,或者将全部模型发送给各个第二设备。例如,第一模型与第二模型均为包括五个卷积层的神经网络模型,且第一模型与第二模型仅在第一个卷积层上存在不同。则第一设备将第二模型中的第一个卷积层发送给第二设备,或者将第二模型全部发送给第二设备。
181.410,第二设备接收第一设备发送的对应的第三增益信息,或者基于对应的第三增益信息以及第二设备的第一模型获得的第二模型。
182.针对第二设备接收对应的第三增益信息的情况,第二设备将对应的第三增益信息
与第一模型的各个模型参数进行作和,从而得到第二模型。
183.综上所述,本技术实施例中参与联邦学习的各个第二设备分别将各自的数据分布信息发送给第一设备,从而使得第一设备能够根据各个数据分布信息判断不同第二设备的当前训练样本的分布情况,也就是掌握了不同第二设备的当前训练样本的非独立同分布程度。之后,第一设备根据非独立同分布程度进行联邦学习策略的选择,将选择的联邦学习策略对应的参数上报策略发送给各个第二设备,则各个第二设备分别根据联邦学习策略对应的参数上报策略进行模型的更新。因此,避免了不同第二设备之间的训练数据存在非独立同分布现象而对联邦学习过程造成干扰,使得各个第二设备通过联邦学习得到的模型具有较好的性能,例如准确度较高。
184.以上介绍了本技术实施例的联邦学习方法,与上述方法对应,本技术实施例还提供联邦学习装置。该装置用于通过图7所示的各个模块执行上述方法实施例中第一设备所执行的联邦学习方法。如图7所示,本技术实施例提供报文传输装置,包括如下几个模块。
185.接收模块701,用于第一设备接收参与联邦学习的多个第二设备发送的数据分布信息,任一第二设备发送的数据分布信息包括第一增益信息和标签类型信息中的至少一种,第一增益信息用于指示通过上轮训练获得的第一模型为了适应任一第二设备的当前训练样本所需的修正程度,标签类型信息用于指示当前训练样本的标签对应的类型。接收模块701所执行的步骤参见上文403及408中的说明。
186.选择模块702,用于第一设备根据多个第二设备发送的数据分布信息选择匹配的联邦学习策略。选择模块702所执行的步骤参见上文404中的说明。
187.发送模块703,用于第一设备向多个第二设备中的至少一个第二设备发送联邦学习策略对应的参数上报策略,至少一个第二设备中的任一第二设备用于上报基于接收到的参数上报策略以及当前训练样本获得的第二增益信息,第二增益信息用于获得任一第二设备的第二模型。发送模块703所执行的步骤参见上文405及409中的说明。
188.在一种可能的实现方式中,选择模块702,用于第一设备根据数据分布之间的差异选择匹配的联邦学习策略,数据分布之间的差异基于多个第二设备发送的数据分布信息确定。
189.在一种可能的实现方式中,任一第二设备发送的数据分布信息包括第一增益信息和标签类型信息,装置还包括:
190.第一确定模块,用于第一设备根据多个第二设备的第一增益信息确定特征分布信息,特征分布信息用于指示不同第二设备的当前训练样本的特征分布是否相同;第一设备根据特征分布信息以及多个第二设备的标签类型信息确定数据分布之间的差异。
191.在一种可能的实现方式中,选择模块702,用于基于特征分布信息指示不同第二设备的当前训练样本的特征分布相同,且不同第二设备的标签类型信息相同,则选择匹配的联邦学习策略为模型平均融合,模型平均融合用于以增益信息平均的方式进行联邦学习。
192.在一种可能的实现方式中,选择模块702,用于基于特征分布信息指示不同第二设备的当前训练样本的特征分布不同,且不同第二设备的标签类型信息相同,则选择匹配的联邦学习策略为模型差异化更新,模型差异化更新用于以增益信息差异化处理的方式进行联邦学习。
193.在一种可能的实现方式中,选择模块702,用于基于特征分布信息指示不同第二设
备的当前训练样本的特征分布相同,且不同第二设备的标签类型信息不同,则选择匹配的联邦学习策略为模型部分更新,模型部分更新用于以部分增益信息平均的方式进行联邦学习。
194.在一种可能的实现方式中,选择模块702,用于基于特征分布信息指示不同第二设备的当前训练样本的特征分布不同,且不同第二设备的标签类型信息不同,则选择匹配的联邦学习策略为模型部分差异化更新,模型部分差异化更新用于以部分增益信息差异化处理的方式进行联邦学习。
195.在一种可能的实现方式中,任一第二设备发送的数据分布信息包括第一增益信息,装置还包括:
196.第二确定模块,用于第一设备根据多个第二设备的第一增益信息确定特征分布信息,特征分布信息用于指示不同第二设备的当前训练样本的特征分布是否相同;第一设备根据特征分布信息确定数据分布之间的差异。
197.在一种可能的实现方式中,选择模块702,用于基于特征分布信息指示不同第二设备的当前训练样本的特征分布相同,则选择匹配的联邦学习策略为模型平均融合,模型平均融合用于以增益信息平均的方式进行联邦学习。
198.在一种可能的实现方式中,选择模块702,用于基于特征分布信息指示不同第二设备的当前训练样本的特征分布不同,则选择匹配的联邦学习策略为模型差异化更新,模型差异化更新用于以增益信息差异化处理的方式进行联邦学习。
199.在一种可能的实现方式中,装置还包括:第三确定模块,用于基于标签类型信息确定数据分布之间的差异。
200.在一种可能的实现方式中,选择模块702,用于基于不同第二设备的标签类型信息相同,则选择匹配的联邦学习策略为模型平均融合,模型平均融合用于以增益信息平均的方式进行联邦学习。
201.在一种可能的实现方式中,选择模块702,用于基于不同第二设备的标签类型信息不同,则选择匹配的联邦学习策略为模型部分更新,模型部分更新用于以部分增益信息平均的方式进行联邦学习。
202.在一种可能的实现方式中,接收模块701,还用于第一设备接收多个第二设备发送的第二增益信息;
203.装置还包括:融合模块,用于第一设备基于联邦学习策略对第二增益信息进行联邦融合,得到各个第二设备对应的第三增益信息;
204.发送模块703,还用于第一设备向至少一个第二设备中的任一第二设备发送对应的第三增益信息,或者基于对应的第三增益信息以及任一第二设备的第一模型获得的第二模型。
205.在一种可能的实现方式中,接收模块701,还用于第一设备接收多个第二设备发送的训练样本特征信息,训练样本特征信息用于表征标签分布或样本数量;
206.发送模块703,还用于对于至少一个第二设备中的任一第二设备,第一设备向任一第二设备发送超参数,超参数基于任一第二设备发送的训练样本特征信息确定,超参数用于任一第二设备获取第二增益信息。
207.在一种可能的实现方式中,训练样本特征信息包括标签分布信息或样本数量;标
签分布信息包括标签占比信息和每种类型的标签数量中的至少一种,标签占比信息用于指示各种类型的标签在当前训练样本的标签中的占比;样本数量信息用于指示当前训练样本中包括的样本的条数。
208.在一种可能的实现方式中,上轮训练获得的第一模型包括任一第二设备的第一模型,第一增益信息包括任一第二设备的第一模型对应的增益信息,任一第二设备的第一模型对应的增益信息用于指示任一第二设备的第一模型为了适应任一第二设备的当前训练样本所需的修正程度;
209.或者,上轮训练获得的第一模型包括任一第二设备的第一模型及参与联邦学习的其他第二设备的第一模型,第一增益信息包括任一第二设备的第一模型对应的增益信息以及其他第二设备的第一模型对应的增益信息,其他第二设备的第一模型对应的增益信息用于指示其他第二设备的第一模型为了适应任一第二设备的当前训练样本所需的修正程度。
210.在一种可能的实现方式中,第一设备接收参与联邦学习的多个第二设备发送的数据分布信息之前,发送模块703,还用于第一设备向任一第二设备发送其他第二设备的第一模型。
211.本技术实施例还提供了另一种联邦学习装置,该装置用于通过图8所示的各个模块执行上述方法实施例中第一设备所执行的联邦学习方法。如图8所示,本技术实施例提供报文传输装置,包括如下几个模块。
212.获得模块801,用于第二设备获得数据分布信息,数据分布信息包括第一增益信息和标签类型信息中的至少一种,第一增益信息用于指示通过上轮训练获得的第一模型为了适应第二设备的当前训练样本所需的修正程度,标签类型信息用于指示当前训练样本的标签对应的类型。获得模块801所执行的步骤参见上文401中的说明。
213.发送模块802,用于第二设备向第一设备发送数据分布信息,数据分布信息用于第一设备选择匹配的联邦学习策略。发送模块802执行的步骤参见上文402及407中的说明。
214.接收模块803,用于第二设备接收第一设备发送的联邦学习策略对应的参数上报策略,基于接收到的参数上报策略以及当前训练样本获得第二增益信息,第二增益信息用于获得第二设备的第二模型。接收模块803所执行的步骤参见上文406及410中的说明。
215.在一种可能的实现方式中,发送模块802,还用于第二设备向第一设备发送第二增益信息;
216.接收模块803,还用于第二设备接收第一设备基于第二增益信息发送的对应的第三增益信息,第二设备基于第三增益信息以及第二设备的第一模型获得第二模型,或者,第二设备接收第一设备发送的基于对应的第三增益信息以及第二设备的第一模型获得的第二模型。
217.在一种可能的实现方式中,发送模块802,还用于第二设备向第一设备发送训练样本特征信息,训练样本特征信息用于第一设备确定超参数;
218.接收模块803,还用于第二设备接收第一设备发送的超参数,基于接收到的参数上报策略、当前训练样本以及超参数获得第二增益信息。
219.在一种可能的实现方式中,训练样本特征信息包括标签分布信息或样本数量;标签分布信息包括标签占比信息和每种类型的标签数量中的至少一种,标签占比信息用于指示各种类型的标签在当前训练样本的标签中的占比;样本数量信息用于指示当前训练样本
中包括的样本的条数。
220.在一种可能的实现方式中,上轮训练获得的第一模型包括第二设备的第一模型,第一增益信息包括第二设备的第一模型对应的增益信息,第二设备的第一模型对应的增益信息用于指示第二设备的第一模型为了适应第二设备的当前训练样本所需的修正程度;
221.或者,上轮训练获得的第一模型包括第二设备的第一模型及参与联邦学习的其他第二设备的第一模型,第一增益信息包括第二设备的第一模型对应的增益信息以及其他第二设备的第一模型对应的增益信息,其他第二设备的第一模型对应的增益信息用于指示其他第二设备的第一模型为了适应第二设备的当前训练样本所需的修正程度。
222.在一种可能的实现方式中,接收模块803,还用于第二设备接收第一设备发送的其他第二设备的第一模型。
223.综上所述,本技术实施例中参与联邦学习的各个第二设备分别将各自的数据分布信息发送给第一设备,从而使得第一设备能够根据各个数据分布信息判断不同第二设备的当前训练样本的分布情况,也就是掌握了不同第二设备的当前训练样本的非独立同分布程度。之后,第一设备根据非独立同分布程度进行联邦学习策略的选择,将选择的联邦学习策略发送给各个第二设备,则各个第二设备分别根据联邦学习策略进行模型的更新。因此,避免了不同第二设备之间的训练数据存在非独立同分布现象而对联邦学习过程造成干扰,使得各个第二设备通过联邦学习得到的模型具有较好的性能,例如准确度较高。
224.应理解的是,上述图7以及图8的报文传输装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
225.参见图9,图9示出了本技术一个示例性实施例提供的通信设备900的结构示意图。图9所示的通信设备900用于执行上述图4或者图6所示的联邦学习方法所涉及的操作。该通信设备900例如是交换机、路由器、控制器等,该通信设备900可以由一般性的总线体系结构来实现。
226.如图9所示,通信设备900包括至少一个处理器901、存储器903以及至少一个通信接口904。
227.处理器901例如是通用中央处理器(central processing unit,cpu)、数字信号处理器(digital signal processor,dsp)、网络处理器(network processer,np)、图形处理器(graphics processing unit,gpu)、神经网络处理器(neural-network processing units,npu)、数据处理单元(data processing unit,dpu)、微处理器或者一个或多个用于实现本技术方案的集成电路。例如,处理器901包括专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。pld例如是复杂可编程逻辑器件(complex programmable logic device,cpld)、现场可编程逻辑门阵列(field-programmable gate array,fpga)、通用阵列逻辑(generic array logic,gal)或其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种逻辑方框、模块和电路。处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,dsp和微处理器的
组合等等。
228.可选的,通信设备900还包括总线。总线用于在通信设备900的各组件之间传送信息。总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
229.存储器903例如是只读存储器(read-only memory,rom)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,ram)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器903例如是独立存在,并通过总线与处理器901相连接。存储器903也可以和处理器901集成在一起。
230.通信接口904使用任何收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(radio access network,ran)或无线局域网(wireless local area networks,wlan)等。通信接口904可以包括有线通信接口,还可以包括无线通信接口。具体的,通信接口904可以为以太(ethernet)接口、快速以太(fast ethernet,fe)接口、千兆以太(gigabit ethernet,ge)接口,异步传输模式(asynchronous transfer mode,atm)接口,无线局域网(wireless local area networks,wlan)接口,蜂窝网络通信接口或其组合。以太网接口可以是光接口,电接口或其组合。在本技术实施例中,通信接口904可以用于通信设备900与其他设备进行通信。
231.在具体实现中,作为一种实施例,处理器901可以包括一个或多个cpu,如图9中所示的cpu0和cpu1。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
232.在具体实现中,作为一种实施例,通信设备900可以包括多个处理器,如图9中所示的处理器901和处理器905。这些处理器中的每一个可以是一个单核处理器(single-cpu),也可以是一个多核处理器(multi-cpu)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
233.在具体实现中,作为一种实施例,通信设备900还可以包括输出设备和输入设备。输出设备和处理器901通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,lcd)、发光二级管(light emitting diode,led)显示设备、阴极射线管(cathode ray tube,crt)显示设备或投影仪(projector)等。输入设备和处理器901通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
234.在一些实施例中,存储器903用于存储执行本技术方案的程序代码910,处理器901可以执行存储器903中存储的程序代码910。也即是,通信设备900可以通过处理器901以及
存储器903中的程序代码910,来实现方法实施例提供的联邦学习方法。程序代码910中可以包括一个或多个软件模块。可选地,处理器901自身也可以存储执行本技术方案的程序代码或指令。
235.在具体实施例中,本技术实施例的通信设备900可对应于上述方法实施例中的第一设备或者第二设备,通信设备900中的处理器901读取存储器903中的指令,使图9所示的通信设备900能够执行方法实施例中第一设备或者第二设备所执行的全部或部分操作。
236.通信设备900还可以对应于上述图7所示的装置,图7所示的装置中的每个功能模块采用通信设备900的软件实现。换句话说,图7所示的装置包括的功能模块为通信设备900的处理器901读取存储器903中存储的程序代码910后生成的。
237.通信设备900还可以对应于上述图8所示的装置,图8所示的装置中的每个功能模块采用通信设备900的软件实现。换句话说,图8所示的装置包括的功能模块为通信设备900的处理器901读取存储器903中存储的程序代码910后生成的。
238.其中,图4以及图6所示的联邦学习方法的各步骤通过通信设备900的处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤,为避免重复,这里不再详细描述。
239.在一些可能的实施例中,上述通信设备可以实现为虚拟化设备。
240.例如,虚拟化设备可以是运行有用于发送报文功能的程序的虚拟机(英文:virtual machine,vm),虚拟机部署在硬件设备上(例如,物理服务器)。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。可以将虚拟机配置为第一通信设备或第二通信设备。例如,可以基于通用的物理服务器结合网络功能虚拟化(network functions virtualization,nfv)技术来实现通信设备。通信设备为虚拟主机、虚拟路由器或虚拟交换机。本领域技术人员通过阅读本技术即可结合nfv技术在通用物理服务器上虚拟出具有上述功能的通信设备。此处不再赘述。
241.例如,虚拟化设备可以是容器,容器是一种用于提供隔离的虚拟化环境的实体,例如,容器可以是docker容器。可以将容器配置为通信设备。例如,可以通过对应的镜像来创建出通信设备,例如可以通过proxy-container(提供代理服务的容器)的镜像,为proxy-container创建2个容器实例,分别是容器实例proxy-container1、容器实例proxy-container2,将容器实例proxy-container1提供为上述方法实施例中的第一设备,将容器实例proxy-container2提供为上述方法实施例中的第二设备。采用容器技术实现时,通信设备可以利用物理机的内核运行,多个通信设备可以共享物理机的操作系统。通过容器技术可以将不同的通信设备隔离开来。容器化的通信设备可以在虚拟化的环境中运行,例如可以在虚拟机中运行,容器化的通信设备可也可以直接在物理机中运行。
242.例如,虚拟化设备可以是pod,pod是kubernetes(kubernetes是谷歌开源的一种容器编排引擎,英文简称为k10s)为部署、管理、编排容器化应用的基本单位。pod可以包括一个或多个容器。同一个pod中的每个容器通常部署在同一主机上,因此同一个pod中的每个容器可以通过该主机进行通信,并且可以共享该主机的存储资源和网络资源。可以将pod配
置为通信设备。例如,具体地,可以指令容器即服务(英文全称:container as a service,英文简称:caas,是一种基于容器的paas服务)来创建pod,将pod提供为通信设备。
243.当然,通信设备还可以是其他虚拟化设备,在此不做一一列举。
244.在一些可能的实施例中,上述通信设备也可以由通用处理器来实现。
245.例如,该通用处理器的形态可以是一种芯片。具体地,实现通信设备的通用处理器包括处理电路和与该处理电路内部连接通信的输入接口以及输出接口,该处理电路用于通过输入接口执行上述各个方法实施例中的报文的生成步骤,该处理电路用于通过输入接口执行上述各个方法实施例中的接收步骤,该处理电路用于通过输出接口执行上述各个方法实施例中的发送步骤。可选地,该通用处理器还可以包括存储介质,该处理电路用于通过存储介质执行上述各个方法实施例中的存储步骤。存储介质可以存储处理电路执行的指令,该处理电路用于执行存储介质存储的指令以执行上述各个方法实施例。
246.应理解的是,上述处理器可以是中央处理器(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced risc machines,arm)架构的处理器。
247.进一步地,在一种可选的实施例中,上述存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
248.该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用。例如,静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic random access memory,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data date sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。
249.本技术实施例提供了一种联邦学习系统,该联邦学习系统包括:第一通信设备以及多个第二通信设备。可选地,第一通信设备用于执行上述方法实施例中第一设备所执行的方法,各个第二通信设备分别用于执行上述方法实施例中第二设备所执行的方法。
250.本技术实施例提供了一种计算机程序(产品),计算机程序(产品)包括:计算机程序代码,当计算机程序代码被计算机运行时,使得计算机执行上述方法实施例中第一设备或者第二设备所执行的联邦学习方法。
251.本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质存储程序或指令,当程序或指令在计算机上运行时,上述方法实施例中第一设备或者第二设备所执行
的联邦学习方法被执行。
252.本技术实施例提供了一种芯片,包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行上述方法实施例中第一设备或者第二设备所执行的联邦学习方法。
253.本技术实施例提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行上述方法实施例中第一设备或者第二设备所执行的联邦学习方法。
254.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk)等。
255.在本技术实施例的上下文中,计算机程序代码或者相关数据可以由任意适当载体承载,以使得设备、装置或者处理器能够执行上文描述的各种处理和操作。载体的示例包括信号、计算机可读介质等等。
256.信号的示例可以包括电、光、无线电、声音或其它形式的传播信号,诸如载波、红外信号等。
257.机器可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、光存储设备、磁存储设备,或其任意合适的组合。
258.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、设备和模块的具体工作过程,可以参见前述方法实施例中的对应过程,在此不再赘述。
259.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、设备或模块的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
260.该作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本技术实施例方案的目的。
261.另外,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以是两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
262.该集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例中方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
263.本技术中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种所述示例的范围的情况下,第一图像可以被称为第二图像,并且类似地,第二图像可以被称为第一图像。第一图像和第二图像都可以是图像,并且在某些情况下,可以是单独且不同的图像。
264.还应理解,在本技术的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
265.本技术中术语“至少一个”的含义是指一个或多个,本技术中术语“多个”的含义是指两个或两个以上,例如,多个第二报文是指两个或两个以上的第二报文。本文中术语“系统”和“网络”经常可互换使用。
266.应理解,在本文中对各种所述示例的描述中所使用的术语只是为了描述特定示例,而并非旨在进行限制。如在对各种所述示例的描述和所附权利要求书中所使用的那样,单数形式“一个(“a”,“an”)”和“该”旨在也包括复数形式,除非上下文另外明确地指示。
267.还应理解,术语“包括”(也称“includes”、“including”、“comprises”和/或“comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。
268.还应理解,术语“若”和“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“若确定...”或“若检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
[0269]
应理解,根据a确定b并不意味着仅仅根据a确定b,还可以根据a和/或其它信息确定b。
[0270]
还应理解,说明书通篇中提到的“一个实施例”、“一实施例”、“一种可能的实现方式”意味着与实施例或实现方式有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”、“一种可能的实现方式”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
[0271]
以上所述仅为本技术的实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

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

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

相关文献