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

联邦学习方法、装置、设备及存储介质与流程

2021-10-20 00:06: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.图1是本技术实施例提供的一种联邦学习方法的实施环境的示意图;
34.图2是本技术实施例提供的一种联邦学习方法的流程图;
35.图3是本技术实施例提供的一种正常终端产生的汇总更新向量、恶意终端产生的汇总更新向量以及服务器产生的汇总更新向量之间的关系的示意图;
36.图4是本技术实施例提供的一种正常终端产生的本地参数的分布与恶意终端产生的本地参数的分布之间的关系的示意图;
37.图5是本技术实施例提供的一种利用fedavg聚合方式进行聚合以及利用gma聚合方式进行聚合之间的差异的示意图;
38.图6是本技术实施例提供的一种执行半监督联邦学习任务的基本过程的示意图;
39.图7是本技术实施例提供的一种带有和不带有更新信息选择方案的ssfl系统在标签翻转攻击下的性能比较示意图;
40.图8是本技术实施例提供的一种带有和不带有更新信息选择方案的ssfl系统在高斯攻击下的性能比较示意图;
41.图9是本技术实施例提供的一种系统在量化级别r=32、r=16和r=8下的性能比较示意图;
42.图10是本技术实施例提供的一种联邦学习装置的示意图;
43.图11是本技术实施例提供的一种联邦学习装置的示意图;
44.图12是本技术实施例提供的一种终端的结构示意图;
45.图13是本技术实施例提供的一种服务器的结构示意图。
具体实施方式
46.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
47.为了便于理解本技术实施例的技术过程,下面对本技术实施例所涉及的一些名词进行解释。
48.联邦学习(federated learning,fl):联邦学习是当前流行的一种分布式机器学习框架,联邦学习的诞生消除了用户在训练模型时对隐私数据泄露的担忧。在不暴露用户本地数据的情况下,能够实现和将整个数据集放在一起建模相同或相差不大的效果。多个终端仅需要与服务器进行一系列信息的交换就能够联合训练出一个机器学习模型。联邦学习是基于监督学习方法实现的,本技术实施例中,将此种基于监督学习方法实现的联邦学习称为监督联邦学习,在监督联邦学习应用场景下,终端具有有标准标签的数据集,终端通过与服务器进行交互,执行监督联邦学习任务。
49.半监督联邦学习(semi

supervised federated learning,ssfl):将半监督学习方法应用于联邦学习的应用场景之中,结合两种技术的优势来更好地解决现实问题。该技
术一方面可以通过联邦学习保证具备充足的训练数据,另一方面又可以通过半监督学习来缓解各个终端的数据标注开销大的问题。在示例性实施例中,在半监督联邦学习应用场景下,服务器具有有标准标签的数据集,终端具有无标准标签的数据集,终端通过与服务器进行交互,执行半监督联邦学习任务。
50.本技术实施例提供的联邦学习方法,既适用于监督联邦学习应用场景,又适用于半监督联邦学习应用场景。
51.示例性地,用于实现联邦学习的服务器和终端处于联邦学习系统中。联邦学习系统中的全部设备,或者联邦学习系统中的部分设备可以部署在云端,也就是说,本技术实施例提供的联邦学习方法可基于云技术实现,接下来对云技术的相关内容进行介绍:
52.云技术(cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
53.云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
54.在联邦学习的过程中考虑攻击的问题涉及云技术中的云安全领域。云安全(cloud security)是指基于云计算商业模式应用的安全软件、硬件、用户、机构、安全云平台的总称。云安全融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,并发送到服务端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。
55.云安全主要研究方向包括:1、云计算安全,主要研究如何保障云自身及云上各种应用的安全,包括云计算机系统安全、用户数据的安全存储与隔离、用户接入认证、信息传输安全、网络攻击防护、合规审计等;2、安全基础设施的云化,主要研究如何采用云计算新建与整合安全基础设施资源,优化安全防护机制,包括通过云计算技术构建超大规模安全事件、信息采集与处理平台,实现对海量信息的采集与关联分析,提升全网安全事件把控能力及风险控制能力;3、云安全服务,主要研究各种基于云计算平台为用户提供的安全服务,如防病毒服务等。示例性地,联邦学习系统可视为云计算机系统,在联邦学习的过程中考虑攻击的问题,以保证联邦学习的安全性和可靠性的研究方向即为上述云计算安全的研究方向。
56.示例性地,本技术实施例提供的联邦学习方法涉及人工智能领域。人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
57.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、
大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
58.其中,机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
59.随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
60.本技术实施例提供了一种联邦学习方法,请参考图1,其示出了本技术实施例提供的联邦学习方法的实施环境的示意图。该实施环境包括联邦学习系统100,联邦学习系统100中包括终端110和服务器120。
61.服务器120能够将模型的全局参数发送给终端110;终端110能够基于本地维护的数据集,获取用于对全局参数进行更新的更新信息,将更新信息返回服务器120。服务器120能够基于终端返回的更新信息,获取满足攻击抵御条件的目标更新信息,进而基于目标更新信息获取模型的聚合参数。经过此过程,能够一定程度上抵御联邦学习过程中的攻击,提高联邦学习的安全性和可靠性。
62.在一种可能实现方式中,终端110可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端110以及服务器120可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
63.本领域技术人员应能理解上述联邦学习系统100中的终端110和服务器120仅为举例,其他现有的或今后可能出现的终端或服务器如可适用于本技术,也应包含在本技术保护范围以内,并在此以引用方式包含于此。
64.基于上述图1所示的实施环境,本技术实施例提供一种联邦学习方法,以该方法应用于服务器120为例。如图2所示,本技术实施例提供的方法包括如下步骤201至步骤203:
65.在步骤201中,将目标模型的第一全局参数发送给第一终端,第一终端用于基于第一数据集对具有第一全局参数的目标模型进行训练,基于训练得到的第一本地参数获取用于对第一全局参数进行更新的第一本地更新信息,返回第一本地更新信息。
66.目标模型是指需要服务器和终端协作训练的共享模型,本技术实施例对目标模型的模型类型不加以限定,这与目标模型的实际应用场景有关。类似地,终端具有的第一数据集的数据类型也与实际应用场景有关。例如,在实际应用场景为图像分类场景的情况下,目标模型的模型类型为图像分类模型,第一数据集的数据类型为图像。
67.需要说明的是,联邦学习的整个任务基于多轮学习过程完成,本技术实施例仅以
一轮学习过程为例进行说明。第一全局参数为当前轮学习过程中需要下发给终端的全局参数,当前轮学习过程可能为执行联邦学习任务的过程中的任一轮学习过程。
68.在执行步骤201之前,服务器需要先获取目标模型的第一全局参数。本技术实施例提供的联邦学习方法既适用于监督联邦学习应用场景,又适用于半监督联邦学习应用场景。在监督联邦学习应用场景下,需要执行的联邦学习任务为监督联邦学习任务;在半监督联邦学习应用场景下,需要执行的联邦学习任务为半监督联邦学习任务。在不同的应用场景下,服务器获取目标模型的第一全局参数的方式有所不同。
69.1、半监督联邦学习应用场景
70.在半监督联邦学习应用场景下,终端具有的数据集(第一数据集)是无标准标签的,服务器具有有标准标签的第二数据集。在此种情况下,服务器获取目标模型的第一全局参数的过程为:服务器基于第二数据集对具有参考参数的目标模型进行训练,得到目标模型的第一全局参数。
71.第二数据集是服务器具有的用于对目标模型进行训练的有标准标签的数据集。与监督联邦学习不同,在半监督联邦学习中,服务器不仅需要聚合终端上传的更新信息,还需要利用有标准标签的第二数据集对目标模型进行训练。
72.参考参数为当前轮学习过程开始之前,目标模型具有的参数。示例性地,对于当前轮学习过程为执行半监督联邦学习任务的过程中的第一轮学习过程的情况,参考参数为目标模型的初始参数。对于当前轮学习过程为执行半监督联邦学习任务的过程中的除第一轮学习过程外的其他轮学习过程的情况,参考参数为上一轮学习过程中得到的目标模型的聚合参数。
73.在一种可能实现方式中,第二数据集包括第二样本,每个第二样本均对应有一个标准标签,本技术实施例对第二数据集中包括的第二样本的数量不加以限定,可以根据实际应用场景灵活调整。在一种可能实现方式中,基于第二数据集对具有参考参数的目标模型进行训练,得到目标模型的第一全局参数的方式包括但不限于以下方式一和方式二:
74.方式一:对第二数据集进行数据增强处理,得到增强数据集,增强数据集包括增强样本,增强样本对应有标准标签;基于增强样本对具有参考参数的目标模型进行训练,得到目标模型的第一全局参数。
75.对第二数据集进行数据增强处理,能够扩充第二数据集中的样本的数量,提高对目标模型的训练效果。本技术实施例对数据增强处理的方式不加以限定,示例性地,数据增强处理的方式包括翻转变换、平移变换和随机扩增中的至少一种。需要说明的是,增强数据集中既包括第二数据集,又包括对第二数据集中的第二样本进行数据增强处理后得到的样本。将增强数据集中包括的全部样本均称为增强样本。本技术实施例中,将某一第二样本以及对该第二样本进行数据增强处理后得到的样本均作为该第二样本相关的增强样本,某一第二样本相关的各个增强样本对应的标准标签均为该第二样本对应的标准标签,因此,每个增强样本均对应有标准标签。
76.在一种可能实现方式中,基于增强样本对具有参考参数的目标模型进行训练,得到目标模型的第一全局参数的过程为:调用具有参考参数的目标模型,获取增强样本对应的预测结果;基于增强样本对应的预测结果和增强样本对应的标准标签,获取目标损失函数;利用目标损失函数对参考参数进行更新,得到更新后的参数;基于更新后的参数,获取
目标模型的第一全局参数。
77.将增强样本输入具有参考参数的目标模型进行处理,能够得到具有参考参数的目标模型输出的增强样本对应的预测结果。增强样本对应的预测结果的形式与目标模型的处理任务有关,例如,若目标模型的处理任务为分类任务,则增强样本对应的预测结果为分类结果;若目标模型的处理任务为分割任务,则增强样本对应的预测结果为分割结果。
78.目标损失函数用于衡量增强样本对应的预测结果和增强样本对应的标准标签之间的差异,本技术实施例对基于增强样本对应的预测结果和增强样本对应的标准标签,获取目标损失函数的方式不加以限定。示例性地,将增强样本对应的预测结果和增强样本对应的标准标签之间的交叉熵损失函数作为目标损失函数。
79.在得到目标损失函数后,利用目标损失函数对参考参数进行更新,得到更新后的参数。需要说明的是,更新后的参数是指利用目标损失函数对参考参数更新一次后得到的参数。本技术实施例对利用目标损失函数对参考参数进行更新的方式不加以限定,示例性地,更新方式为梯度下降法。
80.示例性地,用于计算目标损失函数的增强样本可以是指增强数据集中的一个增强样本,也可以是指增强数据集中的小批量的增强样本,还可以是指增强数据集中的全部增强样本,本技术实施例对此不加以限定。其中,小批量大于1且小于增强数据集中的增强样本的总数量,小批量根据经验设置,或者根据应用场景灵活调整,本技术实施例对此不加以限定。需要说明的是,对于用于计算目标损失函数的增强样本的数量为至少两个的情况,目标损失函数是指基于各个增强样本计算得到的损失函数的平均值。
81.示例性地,第一全局参数可以是指对参考参数连续更新一次或多次后得到的参数,本技术实施例对此不加以限定。用于限定对参考参数连续更新的次数的第一更新次数阈值根据经验设置,或者根据应用场景灵活调整。在不同的第一更新次数阈值下,基于更新后的参数,获取目标模型的第一全局参数的方式有所不同。
82.示例性地,对于第一更新次数阈值为1,也即第一全局参数是对参考参数更新一次后得到的参数的情况,基于更新后的参数,获取目标模型的第一全局参数的方式为:将更新后的参数作为目标模型的第一全局参数。
83.示例性地,对于第一更新次数阈值为大于1的整数,也即第一全局参数是对参考参数连续更新多次后得到的参数的情况,基于更新后的参数,获取目标模型的第一全局参数的方式为:在得到更新后的参数后,调用具有更新后的参数的目标模型重新获取增强样本对应的预测结果;利用重新获取的增强样本对应的预测结果和增强样本对应的标准标签之间的损失函数对更新后的参数进行再次更新;循环此过程,直至对参考参数连续更新的次数达到第一更新次数阈值,将对参考参数连续更新的次数达到第一更新次数阈值时得到的参数作为第一全局参数。
84.需要说明的是,对于第一全局参数是对参考参数连续更新多次后得到的参数的情况,不同次的参数更新过程依据的增强样本可以相同,也可以不同,本技术实施例对此不加以限定。
85.示例性地,对参考参数进行更新的优化目标为最小化服务器侧的损失函数,将服务器侧的损失函数记为则对参考参数进行更新的优化目标为其中,ω
表示目标模型在服务器侧的参数。假设对参考参数进行一次更新利用的增强样本的数量为n
s
,则基于下述公式1计算得到:
[0086][0087]
其中,x
i
表示第二样本;y
i
表示第二样本x
i
对应的标准标签,也即第二样本x
i
相关的增强样本对应的标准标签;d
s
表示第二数据集;φ(
·
)表示数据增强函数;φ(x
i
)表示第二样本x
i
相关的增强样本;f(φ(x
i
);ω))表示第二样本x
i
相关的增强样本对应的预测结果;表示第二样本x
i
相关的增强样本对应的预测结果与第二样本x
i
相关的增强样本对应的标准标签之间的交叉熵损失函数。
[0088]
方式二:直接基于第二样本对具有参考参数的目标模型进行训练,得到目标模型的第一全局参数。
[0089]
此种方式二能够提高获取目标模型的第一全局参数的效率。在一种可能实现方式中,直接基于第二样本对具有参考参数的目标模型进行训练,得到目标模型的第一全局参数的过程为:调用具有参考参数的目标模型,获取第二样本对应的预测结果;利用第二样本对应的预测结果和第二样本对应的标准标签之间的损失函数对参考参数进行更新,得到更新后的参数;基于更新后的参数,获取目标模型的第一全局参数。该过程的实现方式参见上述方式一中基于增强样本对具有参考参数的目标模型进行训练,得到目标模型的第一全局参数的过程,此处不再赘述。
[0090]
2、监督联邦学习应用场景
[0091]
在监督联邦学习应用场景下,终端具有的数据集(第一数据集)是有标准标签的,服务器无需维护数据集。在此种情况下,对于当前轮学习过程为执行监督联邦学习任务的过程中的第一轮学习过程的情况,第一全局参数是指服务器对目标模型进行初始化后得到的参数,即第一全局参数是指目标模型的初始参数。对于当前轮学习过程为执行监督联邦学习任务的过程中的除第一轮学习过程外的其他轮学习过程的情况,第一全局参数是指服务器在上一轮学习过程中得到的目标模型的聚合参数。
[0092]
无论哪种应用场景,服务器均能够得到目标模型的第一全局参数,在获取目标模型的第一全局参数后,服务器将目标模型的第一全局参数发送给第一终端,以由第一终端利用终端本地的数据集对具有第一全局参数的目标模型进行训练,得到用于对第一全局参数进行更新的第一本地更新信息。
[0093]
此处的第一终端是指当前轮的学习过程中需要与服务器进行交互的终端,第一终端是从联邦学习系统中的终端中确定的。需要说明的是,在本技术实施例中,联邦学习系统中的每个终端均具有一个第一数据集,不同的终端具有的第一数据集可能完全相同,也可能部分或完全不同,本技术实施例对此不加以限定。终端中具有的第一数据集的数据类型与实际应用场景有关。
[0094]
示例性地,第一终端是服务器从联邦学习系统中的终端中随机选择的参考数量的终端。参数数量根据联邦学习系统中的终端的总数量和参考比例确定。参考比例用于指示参与一轮学习过程所需的终端的数量占联邦学习系统中的终端的总数量的比例,参数比例根据经验设置,或者根据应用场景灵活调整,本技术实施例对此加以限定。基于此种方式确
定的参考数量可能为一个,也可能为多个,也就是说,第一终端的数量可能为一个,也可能为多个。对于第一终端的数量为多个的情况,服务器将目标模型的第一全局参数发送给各个第一终端。
[0095]
示例性地,在执行联邦学习任务的过程中,不同轮学习过程中选取的用于与服务器进行交互的终端的数量均为参考数量,但是不同轮学习过程中按照参考数量选取的终端可能不同。
[0096]
在示例性实施例中,在发送第一全局参数之前,服务器已经将目标模型的模型结构信息广播至联邦学习系统中的各个终端上,以使联邦学习系统中的各个终端均获知待协作训练的目标模型的模型结构。在服务器将第一全局参数发送给第一终端之后,第一终端能够将第一全局参数与目标模型的模型结构进行结合,得到具有第一全局参数的目标模型。
[0097]
在服务器将第一全局参数发送给第一终端后,第一终端接收到第一全局参数,然后基于第一数据集对具有第一全局参数的目标模型进行训练,基于训练得到的第一本地参数获取用于对第一全局参数进行更新的第一本地更新信息,返回第一本地更新信息。需要说明的是,本技术实施例以第一终端的数量为一个为例进行说明,对于第一终端的数量为多个的情况,每个第一终端均获取一个第一本地更新信息,并将获取的一个第一本地更新信息返回服务器。在不同的应用场景下,第一终端基于第一数据集对具有第一全局参数的目标模型进行训练的过程不相同,接下来分别进行介绍。
[0098]
1、半监督联邦学习应用场景
[0099]
在半监督联邦学习应用场景下,终端具有的数据集是无标准标签的,也即第一数据集为无标准标签的数据集。无标准标签的第一数据集中包括的每个第一样本均无标准标签。在一种可能实现方式中,第一终端基于无标准标签的第一数据集对具有第一全局参数的目标模型进行训练的过程包括以下步骤1至步骤3:
[0100]
步骤1:基于第一数据集,获取第一数据集对应的第一增强数据集;基于第一增强数据集获取第一数据集对应的第二增强数据集,第一增强数据集包括第一增强样本,第二增强数据集包括第二增强样本。
[0101]
第一增强数据集基于第一数据集得到,将第一增强数据集中的样本称为第一增强样本;第二增强数据集基于第一增强数据集得到,将第二增强数据集中的样本称为第二增强样本。需要说明的是,由于第一数据集为无标准标签的数据集,所以第一数据集对应的第一增强数据集和第二增强数据集均为无标准标签的数据集。
[0102]
示例性地,基于第一数据集,获取第一数据集对应的第一增强数据集的方式为:对第一数据集进行第一数据增强处理,得到第一数据集对应的第一增强数据集。示例性地,基于第一数据集,获取第一数据集对应的第一增强数据集的方式为:直接将第一数据集作为第一数据集对应的第一增强数据集。
[0103]
示例性地,对第一数据集进行第一数据增强处理是指对第一数据集中的第一样本进行第一数据增强处理,第一增强数据集中包括各个第一样本分别相关的第一增强样本。示例性地,第一数据增强处理是指弱数据增强处理。弱数据增强处理后得到的样本与原样本的差异较小,例如,弱数据增强处理方式包括翻转变换和平移变换中的至少一种。
[0104]
示例性地,基于第一增强数据集获取第一数据集对应的第二增强数据集的方式
为:对第一增强数据集进行第二数据增强处理,得到第二增强数据集。示例性地,对第一增强数据集进行第二数据增强处理是指对第一增强数据集中的第一增强样本进行第二数据增强处理,第二增强数据集中包括各个第一增强样本分别相关的第二增强样本。在本技术实施例中,若第二增强样本a为第一增强样本a相关的一个第二增强样本,则将该第一增强样本a称为第二增强样本a对应的第一增强样本。
[0105]
本技术实施例对第二数据增强处理的方式不加以限定,示例性地,第二数据增强处理可以为弱数据增强处理,也可以为强数据增强处理。强数据增强处理后得到的样本与原样本的差异较大,例如,强数据增强处理方式包括剪裁和打马赛克中的至少一种。
[0106]
步骤2:调用具有第一全局参数的目标模型,获取第一增强数据集中的各个第一增强样本对应的预测结果,基于第一增强数据集中的各个第一增强样本对应的预测结果确定第一增强数据集中的各个第一增强样本对应的伪标签。
[0107]
由于第一增强数据集无标准标签,所以在获取第一本地参数之前,需要先基于具有第一全局参数的目标模型,获取第一增强数据集中的各个第一增强样本对应的伪标签。任一第一增强样本对应的伪标签基于调用具有第一全局参数的目标模型获取的该任一第一增强样本对应的预测结果确定。示例性地,任一第一增强样本对应的伪标签为该任一第一增强样本对应的预测结果中的最大概率对应的标签。
[0108]
步骤3:调用具有第一全局参数的目标模型,获取第二增强样本对应的预测结果,利用第二增强样本对应的预测结果和第二增强样本对应的伪标签之间的损失函数对第一全局参数进行更新,得到更新后的本地参数;基于更新后的本地参数,获取第一本地参数。其中,第二增强样本对应的伪标签是指第二增强样本对应的第一增强样本对应的伪标签。
[0109]
第二增强样本对应的第一增强样本是指得到第二增强样本所依据的第一增强样本。根据第二增强样本对应的第一增强样本对应的伪标签即可得到第二增强样本对应的伪标签,该伪标签用于为目标模型的参数的本地更新提供监督信号。将第二增强样本输入具有第一全局参数的目标模型,能够得到具有第一全局参数的目标模型输出的第二增强样本对应的预测结果,然后利用第二增强样本对应的预测结果和第二增强样本对应的伪标签之间的损失函数对第一全局参数进行更新,得到更新后的本地参数。示例性地,第二增强样本对应的预测结果和第二增强样本对应的伪标签之间的损失函数为交叉熵损失函数。
[0110]
更新后的本地参数是指对第一全局参数进行一次本地更新后得到的参数。示例性地,第一本地参数可以是指对第一全局参数连续本地更新一次或多次后得到的参数,本技术实施例对此不加以限定。用于限定对第一本地参数连续本地更新的次数的第二更新次数阈值根据经验设置,或者根据应用场景灵活调整。在不同的第二更新次数阈值下,基于更新后的本地参数,获取第一本地参数的方式有所不同。
[0111]
示例性地,对于第二更新次数阈值为1,也即第一本地参数是指对第一全局参数本地更新一次后得到的参数的情况,基于更新后的本地参数,获取第一本地参数的方式为:将更新后的本地参数作为第一本地参数。
[0112]
示例性地,对于第二更新次数阈值为大于1的整数,也即第一本地参数是指对第一全局参数连续本地更新多次后得到的参数的情况,基于更新后的本地参数,获取第一本地参数的方式为:在得到更新后的本地参数后,调用具有更新后的本地参数的目标模型重新获取第二增强样本对应的预测结果;利用重新获取的第二增强样本对应的预测结果和第二
增强样本对应的伪标签之间的损失函数对更新后的本地参数进行再次更新;循环此过程,直至对第一全局参数连续本地更新的次数达到第二更新次数阈值,将对第一全局参数连续本地更新的次数达到第二更新次数阈值时得到的本地参数作为第一本地参数。
[0113]
需要说明的是,对于第一本地参数是指对第一全局参数连续本地更新多次后得到的参数的情况,不同次的本地参数更新过程依据的第二增强样本可以相同,也可以不同,本技术实施例对此不加以限定。
[0114]
示例性地,对第一全局参数进行本地更新的优化目标为最小化第一终端侧的损失函数,将第一终端侧的损失函数记为l
k

k
),则对第一全局参数进行本地更新的优化目标为其中,ω
k
表示目标模型在终端侧的参数。假设对第一全局参数进行一次本地更新利用的第二增强样本的数量为n
k
,则l
k

k
)基于下述公式2计算得到:
[0115][0116]
其中,x
i
表示第一样本;d
k
表示第一数据集;表示基于第一样本x
i
得到的第二增强样本;表示第二增强样本对应的预测结果;λ表示阈值超参数,用于确定哪些第二增强样本具有可靠的伪标签,λ的取值根据经验设置,或者根据应用场景灵活调整,本技术实施例对此不加以限定,示例性地,λ的取值为90%。
[0117]
γ(
·
)表示指示符函数,当满足条件时,该指示符函数的取值为1,当不满足条件时,该指示符函数的取值为0;是调用具有第一全局参数的目标模型得到的第二增强样本对应的第一增强样本φ(x
i
)对应的预测结果;表示第一增强样本φ(x
i
)对应的预测结果中的最大概率值;表示第一增强样本φ(x
i
)对应的预测结果中的最大概率值对应的标签,即第一增强样本φ(x
i
)对应的伪标签,将该第一增强样本φ(x
i
)对应的伪标签作为第二增强样本对应的伪标签;表示第二增强样本对应的伪标签与第二增强样本对应的预测结果之间的交叉熵损失函数。
[0118]
在上述过程中,第一终端在本地的无标准标签的第一数据集上训练具有第一全局参数的目标模型,此过程为半监督学习过程。示例性地,在半监督学习过程中,能够使用弱数据增强方法生成的增强样本对应的伪标签来训练强数据增强方法生成的增强样本,此种方式能够生成各种各样的样本,从而可以提高半监督学习的性能。
[0119]
2、监督联邦学习应用场景
[0120]
在监督联邦学习应用场景下,终端具有的数据集是有标准标签的,也即第一数据集为有标准标签的数据集。有标准标签的第一数据集中包括的每个第一样本均有标准标签。在此种情况下,第一终端基于有标准标签的第一数据集对具有第一全局参数的目标模型进行训练的方式包括但不限于以下两种:
[0121]
方式a:对第一数据集进行数据增强处理,得到参考增强数据集,参考增强数据集包括参考增强样本,参考增强样本对应有标准标签;基于参考增强样本对具有第一全局参
数的目标模型进行训练,得到第一本地参数。
[0122]
方式b:直接基于第一样本对具有第一全局参数的目标模型进行训练,得到第一本地参数。
[0123]
上述两种方式的实现过程参见服务器在半监督联邦学习应用场景下获取目标模型的第一全局参数的两种方式,此处不再赘述。
[0124]
在获取第一本地参数后,第一终端基于训练得到的第一本地参数获取用于对第一全局参数进行更新的第一本地更新信息。在一种可能实现方式中,第一终端基于训练得到的第一本地参数获取用于对第一全局参数进行更新的第一本地更新信息的方式包括以下方式1和方式2:
[0125]
方式1:第一终端将基于第一本地参数和第一全局参数确定的未量化的更新信息作为第一本地更新信息。
[0126]
第一本地参数是基于第一全局参数得到的,基于第一本地参数和第一全局参数确定的未量化的更新信息用于直观表示第一本地参数与第一全局参数之间的差异信息。示例性地,目标模型的参数由多个子参数构成,未量化的更新信息中包括的子信息与目标模型的参数中包括的子参数一一对应。示例性地,未量化的更新信息中的子信息用于指示目标模型的参数中的子参数的参数增量。
[0127]
在此种方式1下,第一终端在获取第一本地参数信息后,能够直接获取第一本地更新信息,获取第一本地更新信息的效率较高。
[0128]
方式2:第一终端将基于第一本地参数和第一全局参数确定的未量化的更新信息作为原更新信息;利用目标量化阈值和目标量化等级对原更新信息进行量化,得到第一本地更新信息。
[0129]
在此种方式2下,第一本地更新信息为第一终端利用目标量化阈值和目标量化等级与原更新信息进行量化得到的更新信息。相比于原更新信息,量化后得到的第一本地更新信息的数据量较小,有利于提高第一终端和服务器之间的通信效率。
[0130]
示例性地,量化是指将实际运算过程中的浮点型信息量化成整型信息,相比于浮点型信息,整型信息占用的数据量更小,通信所需的资源更少。示例性地,实际运算过程中的信息为32位浮点型信息。
[0131]
在利用目标量化阈值和目标量化等级对原更新信息进行量化之前,第一终端需要先确定目标量化阈值和目标量化等级。其中,目标量化等级根据经验设置,或者根据实际通信要求灵活调整。示例性地,目标量化等级为2、4、6、8或16等。需要说明的是,目标量化等级用于指示量化后的整型信息的位数,例如,当目标量化等级为8时,量化后的整型信息的位数为8位。
[0132]
目标量化阈值用于保证第一本地更新信息的解量化信息与原更新信息之间的满足对称条件,满足对称条件是指第一本地更新信息的解量化信息与原更新信息的差异不大于差异阈值,差异阈值根据经验设置,或者根据应用场景灵活调整。通常情况下,差异阈值为较小的数值,以保证第一本地更新信息的解量化信息与原更新信息之间尽可能的接近。
[0133]
在一种可能实现方式中,目标量化阈值通过最小化原更新信息和第一本地更新信息之间的最大平均差异的方式获取得到。原更新信息和第一本地更新信息之间的最大平均差异能够反映出原更新信息和第一本地更新信息之间的分布的差异,通过最小化原更新信
息和第一本地更新信息之间的最大平均差异,能够使得第一本地更新信息的分布尽可能接近原更新信息的分布。
[0134]
接下来对最大平均差异(maximum mean discrepancy,mmd)进行介绍:
[0135]
最大平均差异(mmd)的定义为:令h和g分别表示源样本p和目标样本q的分布,存在一个随机投影函数f,则最大平均差异mmd的计算公式为以下公式3和公式4:
[0136][0137][0138]
其中,p
i
表示源样本p中的数据;q
i
表示目标样本q中的数据;m(不小于1的整数)表示源样本p中的数据的数量;n(不小于1的整数)表示目标样本q中的数据的数量;表示将特征空间映射到实数集的所有函数的集合;sup(
·
)表示上确界函数。
[0139]
上述mmd的计算方式无法直接在联邦学习的设置中使用,对其进行改进以适合联邦学习。利用w表示量化前的信息,利用q(w)表示量化后的信息,假设w服从的分布为引入再生内核希尔伯特空间,使用空间中的点积表示函数f的映射,即其中ψ(
·
)表示w和q(w)之间的mmd可以基于下述公式5计算得到:
[0140][0141]
其中,表示e
w
[ψ(x)];表示e
q(w)
[ψ(y)];表示再生内核希尔伯特空间中的点积运算。示例性地,点积运算使用内核函数k(x,x

)计算得到,k(x,x

)的定义如公式6所示:
[0142]
k(x,x

)=exp(

||x

x

||2/(2σ2))
ꢀꢀꢀ
(公式6)
[0143]
示例性地,w和q(w)均为矩阵的形式,根据上述公式5,能够得到如公式7所示的计算w和q(w)之间的mmd的公式:
[0144][0145]
其中,w
i
和w
j
分别表示w中处于i位置和j位置的两个子信息;q(w)
i
和q(w)
j
分别表示q(w)中处于i位置和j位置的两个子信息;m(不小于1的整数)表示w中的子信息的数量;n(不小于1的整数)表示q(w)中的子信息的数量;在公式7中,由于q(w)是对w进行量化后得到的信息,所以m和n相等。
[0146]
最小化原更新信息和第一本地更新信息之间的最大平均差异的过程即为通过不断调整量化阈值,使得基于公式7计算得到的mmd最小的过程。具体而言,每选取一个量化阈值,根据该量化阈值和目标量化等级对原更新信息进行量化,得到量化后的更新信息,然后将原更新信息和量化后的更新信息代入公式7计算mmd,将得到最小的mmd时选取的量化阈
值作为目标量化阈值。
[0147]
在上述公式7中,等号后边的第一项和第二项表示剪裁噪声,等号后边的第三项表示舍入噪声。通过最小化原更新信息和所述第一本地更新信息之间的最大平均差异的方式获取得到的目标量化阈值能够最大程度地减少裁剪导致的累积误差。
[0148]
需要说明的是,由于目标量化阈值用于保证第一本地更新信息的解量化信息与所述原更新信息之间满足对称条件,所以本技术实施例提供的量化方法为一种对称量化方法。需要进一步说明的是,本技术实施例仅以一个第一终端为例进行说明,对于第一终端为多个的情况,每个第一终端均能够根据上述方式确定目标量化阈值和目标量化等级。不同第一终端确定的目标量化等级可以相同,也可以不同;此外,不同第一终端确定的目标量化阈值可以相同,也可以不同。
[0149]
在确定目标量化阈值和目标量化等级后,利用目标量化阈值和目标量化等级对原更新信息进行量化,得到第一本地更新信息。在一种可能实现方式中,利用目标量化阈值和目标量化等级对原更新信息进行量化,得到第一本地更新信息的实现过程为:利用目标量化阈值对原更新信息进行裁剪,使得原更新信息中的全部子信息的取值均处于基于目标量化阈值确定的取值范围内;对裁剪后的原更新信息进行目标量化等级的量化,得到第一本地更新信息。
[0150]
示例性地,假设原更新信息δω为矩阵的形式,假设δω
ij
∈[min,max]是原更新信息δω中位于第i行、第j列的子信息的取值,min为原更新信息δω中的各个子信息的取值的最小值,max为原更新信息δω中的各个数据的取值的最大值。假设目标量化等级为r,也即原更新信息δω被量化为r

位(例如r=2,4,6,8,16)的无符号整型数据。此种情况下,对δω
ij
进行量化的过程根据下述公式8实现:
[0151]
q(δω
ij
)=[(2
r

1)*(δω
ij

min)/(max

min)]
ꢀꢀꢀ
(公式8)
[0152]
其中,q(
·
)表示量化函数;q(δω
ij
)表示对δω
ij
进行量化后得到的取值。需要说明的是,对原更新信息δω进行量化的过程即为对原更新信息δω中的各个子信息的取值分别进行量化的过程。在利用上述公式8对原更新信息δω进行量化之前,先利用目标量化阈值对原更新信息进行裁剪,使得原更新信息中的全部子信息的取值均处于基于目标量化阈值确定的取值范围内。
[0153]
假设目标量化阈值为α,则基于目标量化阈值确定的取值范围为[

α,α],利用目标量化阈值对原更新信息进行裁剪的方式为:将原更新信息中取值大于α的子信息的取值裁剪为α,将原更新信息中取值小于

α的子信息的取值裁剪为

α,将原更新信息中取值处于[

α,α]之间的子信息的取值保持不变。在利用目标量化阈值对原更新信息进行裁剪后,原更新信息δω中的各个子信息的取值的最小值min等于

α,原更新信息δω中的各个子信息的取值的最大值max等于α,也就是说,在利用目标量化阈值对原更新信息进行裁剪后,δω
ij
∈[

α,α]。在利用公式8计算q(δω
ij
)时,令min=

α,max=α。在利用公式8计算得到对原更新信息中的各个子信息的取值进行量化后的取值后,得到第一本地更新信息。
[0154]
无论第一终端基于上述方式1还是上述方式2获取用于对第一全局参数进行更新的第一本地更新信息,在获取第一本地更新信息后,第一终端向服务器返回第一本地更新信息。在示例性实施例中,对于第一终端基于上述方式2获取第一本地更新信息的情况,第一终端除了将第一本地更新信息返回服务器外,还将目标量化阈值和目标量化等级返回服
务器,以使服务器能够根据目标量化阈值和目标量化等级对接收到的第一本地更新信息进行解量化。
[0155]
在步骤202中,基于第一本地更新信息,获取满足攻击防御条件的第一目标更新信息。
[0156]
在联邦学习的过程中,由于终端对本地维护的第一数据集具有完全自主的控制权,所以恶意终端容易对联邦学习过程发起攻击,从而破坏目标模型的性能。因此,服务器在接收到第一终端返回的第一本地更新信息后,基于第一本地更新信息,获取满足攻击防御条件的第一目标更新信息,以减轻恶意终端的攻击带来的不利影响。满足攻击防御条件的第一目标更新信息是指高质量的更新信息,高质量的更新信息有助于提高目标模型的训练性能。
[0157]
需要说明的是,第一本地更新信息的数量与第一终端的数量相同,当第一终端的数量为多个时,第一本地更新信息的数量也为多个。
[0158]
在一种可能实现方式中,根据上述步骤201可知,第一本地更新信息可能为基于第一本地参数和第一全局参数确定的未量化的更新信息,也可能为第一终端利用目标量化阈值和目标量化等级对原更新信息进行量化得到的更新信息。在第一本地更新信息的不同情况下,基于第一本地更新信息,获取满足攻击防御条件的第一目标更新信息的方式也有所不同。
[0159]
在一种可能实现方式下,对于第一本地更新信息为基于第一本地参数和第一全局参数确定的未量化的更新信息的情况,基于第一本地更新信息,获取满足攻击防御条件的第一目标更新信息的方式为:直接在第一本地更新信息中,选取满足攻击防御条件的第一目标更新信息。
[0160]
在一种可能实现方式中,直接在第一本地更新信息中,选取满足攻击防御条件的第一目标更新信息的实现方式包括以下步骤a和步骤b:
[0161]
步骤a:获取第一本地更新信息对应的目标质量指标,第一本地更新信息对应的目标质量指标用于衡量第一本地更新信息为非攻击更新信息的可信程度。
[0162]
第一本地更新信息对应的目标质量指标用于衡量第一本地更新信息为非攻击更新信息的可靠程度,第一本地更新信息对应的目标质量指标越大,说明该第一本地更新信息为非攻击更新信息的可信程度越大,也即说明该第一本地更新信息越有可能是正常终端返回的第一本地更新信息;第一本地更新信息对应的目标质量指标越小,说明该第一本地更新信息为非攻击更新信息的可信程度越小,也即说明该第一本地更新信息越有可能是恶意终端返回的第一本地更新信息。
[0163]
需要说明的是,对于第一本地更新信息的数量为多个的情况,需要分别获取每个第一本地更新信息分别对应的目标质量指标。本技术实施例仅以获取一个第一本地更新信息对应的目标质量指标的过程为例进行说明。
[0164]
在一种可能实现方式中,第一本地更新对应的目标质量指标包括第一质量指标和第二质量指标中的至少一个。第一质量指标和第二质量指标用于从两种不同的角度衡量第一本地更新信息为非攻击更新信息的可信程度。示例性地,第一质量指标用于从第一本地更新信息对应的汇总更新信息和第一全局参数对应的汇总更新信息之间的相似度的角度衡量第一本地更新信息为非攻击更新信息的可信程度;第二质量指标用于从第一本地更新
信息对应的第一本地参数和第一全局参数之间的分布距离的角度衡量第一本地更新信息为非攻击更新信息的可信程度。
[0165]
在示例性实施例中,第一本地更新信息对应的汇总更新信息是第一终端产生的汇总更新信息,第一全局参数对应的汇总更新信息是服务器产生的汇总更新信息。汇总更新信息能够表示为汇总更新向量,本技术实施例探索了正常终端产生的汇总更新向量、恶意终端产生的汇总更新向量以及服务器产生的汇总更新向量之间的关系,如图3所示。根据图3可知,正常终端产生的汇总更新向量与服务器产生的汇总更新向量接近,相反,恶意终端产生的汇总更新向量与服务器产生的汇总更新向量不接近。两个向量之间越接近,说明这两个向量之间的相似度越大。
[0166]
正常终端产生的本地更新信息为非攻击更新信息,恶意终端产生的本地更新信息为攻击更新信息。因此,能够从第一本地更新信息对应的汇总更新信息和第一全局参数对应的汇总更新信息之间的相似度的角度衡量产生第一本地更新信息的第一终端为正常终端的可信程度,也即衡量第一本地更新信息为非攻击更新信息的可信程度。
[0167]
在示例性实施例中,第一本地更新信息对应的第一本地参数是第一终端产生的本地参数。本技术实施例探索了正常终端产生的本地参数的分布与恶意终端产生的本地参数的分布之间的关系,如图4所示。根据图4可知,正常终端产生的本地参数的分布与恶意终端产生的本地参数的分布明显不同。需要说明的是,本技术实施例中,认为正常终端产生的本地参数的分布与服务器产生的全局参数的分布基本相同。所以,恶意终端产生的本地参数的分布与服务器产生的全局参数的分布差异较大。
[0168]
正常终端产生的本地更新信息为非攻击更新信息,恶意终端产生的本地更新信息为攻击更新信息。因此,能够从第一本地更新信息对应的第一本地参数和第一全局参数之间的分布距离的角度衡量产生第一本地更新信息的第一终端为正常终端的可信程度,也即衡量第一本地更新信息为非攻击更新信息的可信程度。
[0169]
在一种可能实现方式中,对于第一本地更新信息对应的目标质量指标包括第一质量指标的情况,需要获取第一本地更新信息对应的第一质量指标。在示例性实施例中,获取第一本地更新信息对应的第一质量指标的方式为:对返回第一本地更新信息的第一终端历史返回的全部本地更新信息进行汇总,得到第一本地更新信息对应的第一汇总更新信息;获取第一全局参数对应的第二汇总更新信息,第二汇总更新信息用于指示服务器对目标模型的更新情况;基于第一汇总更新信息和第二汇总更新信息之间的相似度,确定第一本地更新信息对应的第一质量指标。
[0170]
第一汇总更新信息是指返回第一本地更新信息的第一终端在参与联邦学习任务的过程中历史返回的全部本地更新信息的汇总信息,第一本地更新信息是历史返回的全部本地更新信息中最新的本地更新信息。第一终端返回的本地更新信息是携带第一终端的终端标识的,服务器能够根据第一本地更新信息携带的第一终端的标识,提取该第一终端在参与联邦学习任务的过程中历史返回的全部本地更新信息,进而通过汇总得到第一本地更新信息对应的第一汇总更新信息。
[0171]
第一全局参数对应的第二汇总更新信息用于指示服务器对目标模型的更新情况。示例性地,在监督联邦学习应用场景下,第一全局参数对应的第二汇总更新信息是指服务器获取的第一全局参数相对于目标模型的初始参数的更新信息。示例性地,在半监督联邦
学习应用场景下,服务器每通过训练获得一次全局参数,均能够得到一个全局参数相对于上一轮学习过程得到的聚合参数的更新信息,
[0172]
第二汇总更新信息是指在获得第一全局参数时,服务器自身得到的全部更新信息的汇总信息。
[0173]
在获取第一本地更新信息对应的第一汇总更新信息以及第一全局参数对应的第二汇总更新信息后,基于第一汇总更新信息和第二汇总更新信息之间的相似度,确定第一本地更新信息对应的第一质量指标。示例性地,第一汇总更新信息和第二汇总更新信息均可以利用向量的形式进行表示,第一汇总更新信息和第二汇总更新信息之间的相似度为余弦相似度。
[0174]
在一种可能实现方式中,基于第一汇总更新信息和第二汇总更新信息之间的相似度,确定第一本地更新信息对应的第一质量指标的方式为:将第一汇总更新信息和第二汇总更新信息之间的相似度作为第一本地更新信息对应的第一质量指标。在另一种可能实现方式中,将第一汇总更新信息和第二汇总更新信息之间的相似度与参考数值的乘积作为第一本地更新信息对应的第一质量指标。
[0175]
本技术实施例以第一汇总更新信息和第二汇总更新信息之间的相似度为余弦相似度为例进行说明。示例性地,假设第一本地更新信息为第一终端k在第t(不小于1的整数)轮学习过程中获取的本地更新信息,则第一本地更新信息对应的第一质量指标基于公式9计算得到:
[0176][0177]
其中,表示第一终端k在第t轮学习过程中获取的第一本地更新信息对应的第一质量指标;表示服务器在第t轮学习过程中获取的第一全局参数对应的第二汇总更新信息;表示第一终端k在第t轮学习过程中获取的第一本地更新信息对应的第一汇总更新信息;cos(
·
,
·
)表示余弦相似度计算函数。
[0178]
需要说明的是,本技术实施例在计算第一质量指标的过程中,依据的是汇总更新信息,汇总更新信息能够弱化意外情况带来的不利影响。相比于终端侧的单次更新信息,终端侧的汇总更新信息能够更好地反映终端的可靠性,终端的可靠性用于衡量该终端的历史行为是否可靠。
[0179]
在一种可能实现方式中,对于第一本地更新信息对应的目标质量指标包括第二质量指标的情况,需要获取第一本地更新信息对应的第二质量指标。在示例性实施例中,获取第一本地更新信息对应的第二质量指标的方式为:基于第一本地更新信息对应的第一本地参数和第一全局参数之间的分布距离,确定第一本地更新信息对应的第二质量指标。
[0180]
第一本地更新信息对应的第一本地参数和第一全局参数之间的分布距离用于反映第一本地更新信息对应的第一本地参数的分布和第一全局参数的分布之间的距离。本技术实施例对衡量两个分布之间的距离的方式不加以限定,示例性地,利用wasserstein(沃
瑟斯坦)距离衡量两个分布之间的距离。
[0181]
在一种可能实现方式中,第二质量指标越大,说明第一本地更新信息为非攻击更新信息的可信程度越大。分布距离越大,说明两个分布越不接近。基于第一本地更新信息对应的第一本地参数和第一全局参数之间的分布距离,确定第一本地更新信息对应的第二质量指标的方式为:将第一本地更新信息对应的第一本地参数和第一全局参数之间的分布距离与目标负数的乘积作为第一本地更新信息对应的第二质量指标。目标负数根据经验设置,或者根据应用场景灵活调整,本技术实施例对此不加以限定。例如,目标负数为

1。
[0182]
示例性地,利用wasserstein距离衡量两个分布之间的距离,假设第一本地更新信息为第一终端k在第t轮学习过程中获取的本地更新信息,则第一本地更新信息对应的第二质量指标基于公式10计算得到:
[0183][0184]
其中,表示第一终端k在第t轮学习过程中获取的第一本地更新信息对应的第二质量指标;ω
t
表示服务器在第t轮学习过程中获取的第一全局参数;ω
k,t
表示第一终端k在第t轮学习过程中获取的第一本地更新信息对应的第一本地参数;w(
·
,
·
)表示wasserstein距离计算函数;γ~π(ω
t

k,t
)表示ω
t
和ω
k,t
的联合分布;e
(x,y)~γ
[||x

y||]表示联合分布γ中的样本对(x,y)之间的距离的期望值。在考虑第二质量指标的情况下,能够使用第一本地更新信息对应的第一本地参数的分布与第一全局参数的分布之间的距离来选择正常终端产生的第一本地更新信息。
[0185]
示例性地,假设服务器在第t轮学习过程中获取的第一全局参数ω
t
的分布为高斯分布,且第一终端k在第t轮学习过程中获取的第一本地更新信息对应的第一本地参数的分布ω
k,t
也为高斯分布,且则第一终端k在第t轮学习过程中获取的第一本地更新信息对应的第二质量指标能够基于公式11计算得到:
[0186][0187]
其中,μ
t
表示服务器在第t轮学习过程中获取的第一全局参数ω
t
的高斯分布的平均值;μ
k,t
表示第一终端k在第t轮学习过程中获取的第一本地更新信息对应的第一本地参数ω
k,t
的高斯分布的平均值;σ
t
表示服务器在第t轮学习过程中获取的第一全局参数ω
t
的高斯分布的方差;σ
k,t
表示第一终端k在第t轮学习过程中获取的第一本地更新信息对应的第一本地参数ω
k,t
的高斯分布的方差;表示μ
t
和μ
k,t
之间的l2范数距离;tr(
·
)表示迹函数。
[0188]
步骤b:将满足参考条件的目标质量指标对应的第一本地更新信息作为候选更新信息,基于候选更新信息,获取满足攻击防御条件的第一目标更新信息。
[0189]
参考条件用于对目标质量指标进行限制,参考条件根据经验设置,或者根据应用场景灵活调整,本技术实施例对此不加以限定。示例性地,对于目标质量指标包括第一质量指标的情况,参考条件包括第一质量指标不小于第一质量阈值;对于目标质量指标包括第二质量指标的情况,参考条件包括第二质量指标不小于第二质量阈值;对于目标质量指标
包括第一质量指标和第二质量指标的情况,参考条件包括第一质量指标不小于第一质量阈值且第二质量指标不小于第二质量阈值。第一质量阈值和第二质量阈值根据经验设置,或者根据应用场景灵活调整,本技术实施例对此不加以限定。第一质量阈值可以与第二质量阈值相同,也可以与第二质量阈值不同。
[0190]
在确定第一本地更新信息对应的质量更新指标后,能够确定第一本地更新信息对应的质量更新指标是否满足参考条件,将满足参考条件的目标质量指标对应的第一本地更新信息作为候选更新信息。候选更新信息为高质量的第一本地更新信息。候选更新信息的数量可能为一个或多个,本技术实施例对此不加以限定。
[0191]
在一种可能实现方式中,基于候选更新信息,获取满足攻击防御条件的第一目标更新信息的实现方式为将候选更新信息作为满足攻击防御条件的第一目标更新信息。在此种方式下,无论候选更新信息的数量为一个还是多个,均直接将候选更新信息作为满足攻击防御条件的第一目标更新信息,有利于提高获取攻击防御条件的第一目标更新信息的效率。
[0192]
在另一种可能实现方式中,对于候选更新信息的数量为至少两个的情况,基于候选更新信息,获取满足攻击防御条件的第一目标更新信息的实现过程包括以下步骤a至步骤d:
[0193]
步骤a:基于至少两个候选更新信息,确定至少两个候选更新信息组,任一候选更新信息组中包括至少一个候选更新信息。
[0194]
任一候选更新信息组中包括至少一个候选更新信息,不同的候选更新信息组中包括的候选更新信息的数量可能相同,也可能不同。在一种可能实现方式中,基于至少两个候选更新信息,确定至少两个候选更新信息组的方式为:确定至少两个候选更新信息能够构成的全部的更新信息组;基于全部的更新信息,确定至少两个候选更新信息组。需要说明的是,本技术实施例中,单个候选更新信息也能够构成一个更新信息组。
[0195]
在一种可能实现方式中,基于全部的更新信息,确定至少两个候选更新信息组的方式为:将全部的更新信息组均作为候选更新信息组。在另一种可能实现方式中,基于全部的更新信息,确定至少两个候选更新信息组的方式为:将全部的更新信息组中,包括的候选更新信息的数量不少于数量阈值的更新信息组作为候选更新信息组。数量阈值根据经验设置,或者根据应用场景灵活调整。需要说明的是,本技术实施例以候选更新信息组的数量为至少两个为例进行说明。若候选更新信息组的数量为一个,可以直接将该候选更新信息组中的各个候选更新信息作为满足攻击防御条件的第一目标更新信息。
[0196]
步骤b:基于第一全局参数和任一候选更新信息组中包括的各个候选更新信息对应的第一本地参数,确定任一候选更新信息组对应的参数变化指标。
[0197]
在一种可能实现方式中,在步骤b的实现方式为:对于任一候选更新信息组中包括的任一候选更新信息,计算第一全局参数和该任一候选更新信息对应的第一本地参数之间的差值;响应于该差值为正数,将该差值与第一数值的乘积作为该任一候选更新信息对应的子变化指标;响应于该差值为负数,将该差值与第二数值的乘积作为该任一候选更新信息对应的子变化指标;响应于该差值为0,将该差值与第三数值的乘积作为该任一候选更新信息对应的子变化指标。将任一候选更新信息组中包括的各个候选更新信息对应的子变化指标的和作为该任一候选更新信息组对应的参数变化指标。示例性地,第一数值为负数,
如,第一数值为

1;第二数值为正数,如,第二数值为1;第三数值为任意数值。
[0198]
步骤c:基于至少两个候选更新信息组分别对应的参数变化指标,在至少两个候选更新信息组中,确定满足第一条件的参数变化指标对应的第一更新信息组。
[0199]
根据步骤b的实现方式,能够确定至少两个候选更新信息组分别对应的参数变化指标,然后在至少两个候选更新信息组分别对应的参数变化指标中,确定满足第一条件的参数变化指标。在一种可能实现方式中,满足第一条件的参数变化指标是指至少两个候选更新信息组分别对应的参数变化指标中前d(d为不小于1的整数)小的参数变化指标。d的取值根据经验设置,示例性地,d的取值为1,也就是说,满足第一条件的参数变化指标是指至少两个候选更新信息组分别对应的参数变化指标中最小的参数变化指标。
[0200]
在确定满足第一条件的参数变化指标后,将满足第一条件的参数变化指标对应候选更新信息组作为第一更新信息组。
[0201]
步骤d:在第一更新信息组中,确定目标更新信息组,将目标更新信息组中包括的各个候选更新信息作为满足攻击防御条件的第一目标更新信息。
[0202]
第一更新信息组的数量可能为一个或多个,本技术实施例对此不加以限定。当第一更新信息组的数量为一个时,在第一更新信息组中,确定目标更新信息组的方式为:直接将该一个第一更新信息组作为目标更新信息组。
[0203]
在一种可能实现方式中,当第一更新信息组的数量为至少两个时,在第一更新信息组中,确定目标更新信息组的方式为:在至少两个第一更新信息组中随机选择一个第一更新信息组作为目标更新信息组。
[0204]
在另一种可能实现方式中,当第一更新信息组的数量为至少两个时,在第一更新信息组中,确定目标更新信息组的方式为:将任一第一更新信息组中包括的各个候选更新信息对应的目标质量指标之和作为任一第一更新信息组对应的汇总质量指标;基于至少两个第一更新信息组分别对应的汇总质量指标,在至少两个第一更新信息组中,确定满足第二条件的汇总质量指标对应的第二更新信息组;在第二更新信息组中,确定目标更新信息组。
[0205]
在一种可能实现方式中,满足第二条件的汇总质量指标是指至少两个第一更新信息组分别对应的汇总质量指标中前z(z为不小于1的整数)大的汇总质量指标。z的取值根据经验设置,示例性地,z的取值为1,也就是说,满足第二条件的汇总质量指标是指至少两个第一更新信息组分别对应的汇总质量指标中最大的汇总质量指标。
[0206]
在确定满足第二条件的汇总质量指标后,将满足第二条件的汇总质量指标的第一更新信息组作为第二更新信息组。在得到第二更新信息组后,基于第二更新信息组,确定目标更新信息组。第二更新信息组的数量为一个或多个,当第二更新信息组的数量为一个时,直接将该一个第二更新信息组作为目标更新信息组;当第二更新信息组的数量为至少两个时,从至少两个第二更新信息组中随机选择一个第二更新信息组作为目标更新信息组。
[0207]
在确定目标更新信息组后,将目标更新信息组中包括的各个候选更新信息作为满足攻击防御条件的第一目标更新信息组。
[0208]
示例性地,对于满足第一条件的参数变化指标是指至少两个候选更新信息组分别对应的参数变化指标中最小的参数变化指标、满足第二条件的汇总质量指标是指至少两个第一更新信息组分别对应的汇总质量指标中最大的汇总质量指标的情况,获取满足攻击防
御条件的第一目标更新信息的过程可视为利用最小最大优化策略从候选更新信息中选取满足攻击防御条件的第一目标更新信息的过程。
[0209]
示例性地,利用最小最大优化策略从候选更新信息中选取满足攻击防御条件的第一目标更新信息的过程基于公式12实现:
[0210][0211]
其中,s表示符号向量,当ω
t

ω

k,t
>0时,s的值取为

1;当ω
t

ω

k,t
<0时,s的值取为1,当ω
t

ω

k,t
=0时,s的值取为0。ω
t
表示第一全局参数;ω

k,t
表示候选更新信息组中包括的候选更新信息对应的第一本地参数;t表示转置;s
t

t

ω

k,t
)表示候选更新信息组对应的参数变化指标;m
k,t
表示第一终端k在第t轮学习过程中获取的第一本地更新信息对应的目标质量指标;δ表示参考条件指示的质量阈值,δ为阈值超参数;m
k,t
≥δ表示第一终端k在第t轮学习过程中获取的第一本地更新信息对应的目标质量指标满足参考条件;r(r为不小于1的整数)表示第一终端的总数量。
[0212]
基于最小最大优化策略,能够选择那些更新方向尽可能接近服务器的更新方向的第一终端返回的第一本地更新信息,且选择尽可能多的候选更新信息。这种最小最大优化策略可以选择更多具有高质量的第一本地更新信息。
[0213]
在一种可能实现方式下,对于第一本地更新信息为第一终端利用目标量化阈值和目标量化等级对原更新信息进行量化得到的更新信息的情况,服务器除了接收第一终端返回的第一本地更新信息外,还接收第一终端返回的目标量化阈值和目标量化等级。在此种情况下,基于第一本地更新信息,获取满足攻击防御条件的第一目标更新信息的方式为:基于目标量化阈值和目标量化等级,对第一本地更新信息进行解量化,得到第一本地更新信息的解量化信息;在第一本地更新信息的解量化信息中,选取满足攻击防御条件的第一目标更新信息。
[0214]
由于第一本地更新信息是利用目标量化阈值和目标量化等级进行量化得到的更新信息,所以服务器在接收到第一本地更新信息、目标量化阈值和目标量化等级后,能够基于目标量化阈值和目标量化等级,对第一本地更新信息进行解量化,从而得到第一本地更新信息的解量化信息。需要说明的是,由于目标量化阈值用于保证第一本地更新信息的解量化信息与原更新信息之间满足对称条件,所以基于目标量化阈值和目标量化等级,对第一本地更新信息进行解量化得到的第一本地更新信息的解量化信息与量化前的原更新信息之间的接近程度较高。
[0215]
在一种可能实现方式中,对第一本地更新信息进行解量化的过程为对第一本地更新信息中的各个子信息分别进行解量化的过程。示例性地,基于目标量化阈值和目标量化等级,对第一本地更新信息中的子信息q

进行解量化过程基于公式13实现:
[0216]
q
‑1(q

)=q

*(max

min)/(2
r

1) min
ꢀꢀꢀ
(公式13)
[0217]
其中,q
‑1(q

)表示基于目标量化阈值和目标量化等级,对第一本地更新信息中的子信息q

进行解量化得到的解量化子信息;max表示目标量化阈值;min表示目标量化阈值的相反数;r表示目标量化等级。
[0218]
需要说明的是,在第一本地更新信息的解量化信息中,选取满足攻击防御条件的第一目标更新信息的实现过程参见直接在第一本地更新信息中,选取满足攻击防御条件的第一目标更新信息的实现过程,也即参见上述步骤a和步骤b,此处不再赘述。
[0219]
示例性地,该步骤202中基于第一本地更新信息,获取满足攻击防御条件的第一目标更新信息的方案能够选择出质量高、可靠性高的第一目标更新信息,该方案可称为更新信息选择方案。
[0220]
在步骤203中,基于第一全局参数和第一目标更新信息,获取目标模型的第一聚合参数;响应于具有第一聚合参数的目标模型满足目标终止条件,完成联邦学习任务。
[0221]
第一目标更新信息为更新质量高的更新信息,基于第一全局参数和第一目标更新信息,获取目标模型的第一聚合参数,能够提高获取的第一聚合参数的可靠性。
[0222]
在一种可能实现方式中,基于第一全局参数和第一目标更新信息,获取目标模型的第一聚合参数的过程为:在第一全局参数的基础上,对第一目标更新信息进行聚合,得到目标模型的第一聚合参数。
[0223]
在示例性实施例中,在第一全局参数的基础上,对第一目标更新信息进行聚合,得到目标模型的第一聚合参数的过程为:计算第一目标更新信息的平均值,将第一目标更新信息的平均值和第一全局参数的和作为目标模型的第一聚合参数。示例性地,以当前轮学习过程为第t(t为不小于1的整数)轮学习过程为例,在第一全局参数的基础上,对第一目标更新信息进行聚合,得到目标模型的第一聚合参数的过程基于公式14实现:
[0224][0225]
其中,ω

t 1
表示目标模型的第一聚合参数;ω
t
表示目标模型的第一全局参数;k表示第一目标更新信息对应的第一终端的总数量;δω
k,t
表示第一终端k产生的第一目标更新信息;表示第一目标更新信息的平均值。
[0226]
示例性地,基于上述公式14实现的聚合过程为利用平均聚合(fedavg)方式进行聚合的过程。本技术实施例探究了利用fedavg聚合方式进行聚合以及利用几何中位数聚合(gma)方式进行聚合之间的差异,如图5所示。根据图5可知,如果存在一些噪声梯度,利用fedavg聚合方式产生的聚合结果与真实结果差距较大,而gma聚合方式对噪声梯度具有鲁棒性,利用gma聚合方式产生的聚合结果更接近真实结果。因此,在示例性实施例中,基于第一全局参数和第一目标更新信息,获取目标模型的第一聚合参数的过程还可以利用几何中位数聚合方式完成。
[0227]
在一种可能实现方式中,基于第一全局参数和第一目标更新信息,获取目标模型的第一聚合参数的过程利用几何中位数聚合方式完成的过程为:获取第一目标更新信息对应的几何中位数信息;在第一全局参数的基础上,对第一目标更新信息对应的几何中位数信息进行聚合,得到目标模型的第一聚合参数。
[0228]
第一目标更新信息对应的几何中位数信息用于更好的代表第一目标更新信息。示例性地,几何中位数的定义为:假设s(s∈s)是自然数空间的子集,则s的几何中位数利用公式15计算得到:
[0229][0230]
其中,表示s的几何中位数;表示元素v与s中的各个元素的距离之和。
[0231]
示例性地,在第一全局参数的基础上,对第一目标更新信息对应的几何中位数信息进行聚合,得到目标模型的第一聚合参数的过程基于公式16实现:
[0232][0233]
其中,ω

t 1
表示目标模型的第一聚合参数;ω
t
表示目标模型的第一全局参数;k表示第一目标更新信息对应的第一终端的总数量;δω
k,t
表示第一终端k产生的第一目标更新信息;表示第一终端k产生的第一目标更新信息δω
k,t
对应的几何中位数信息。示例性地,对于第一全局参数为矩阵的形式的情况,第一目标更新信息对应的几何中位数信息同样为矩阵的形式,且矩阵的大小相同。
[0234]
在获取第一聚合参数之后,判断具有第一聚合参数的目标模型是否满足目标终止条件。目标终止条件用于指示完成联邦学习任务所需满足的条件。需要说明的是,对于监督联邦学习应用场景,联邦学习任务是指监督联邦学习任务;对于半监督联邦学习应用场景,联邦学习任务是指半监督联邦学习任务。
[0235]
目标终止条件根据经验设置,或者根据应用场景灵活调整。示例性地,满足目标终止条件包括但不限于以下四种情况:1、具有第一聚合参数的目标模型的预测准确率达到准确率阈值,准确率阈值根据经验设置,或者根据应用场景灵活调整;2、具有第一聚合参数的目标模型的损失函数收敛;3、具有第一聚合参数的目标模型的损失函数小于损失函数阈值,损失函数阈值根据经验设置,或者根据应用场景灵活调整;4、得到具有第一聚合参数的目标模型时已经进行的学习过程的轮数达到轮数阈值,轮数阈值根据经验设置,或者根据应用场景灵活调整。
[0236]
当具有第一聚合参数的目标模型满足上述任一种情况时,确定具有第一聚合参数的目标模型满足目标终止条件。响应于具有第一聚合参数的目标模型满足目标终止条件,完成联邦学习任务。在完成联邦学习任务后,能利用具有第一聚合参数的目标模型执行实际的处理任务,例如,分类任务、分割任务等。
[0237]
在一种可能实现方式中,具有第一聚合参数的目标模型可能不满足目标终止条件。在不同的应用场景下,在具有第一聚合参数的目标模型可能不满足目标终止条件的情况下,需要执行的过程所有不同。
[0238]
在示例性实施例中,在半监督联邦学习应用场景下,响应于具有第一聚合参数的目标模型不满足目标终止条件,执行下述过程:基于第二数据集对具有第一聚合参数的目标模型进行训练,得到目标模型的第二全局参数;将第二全局参数发送给第二终端,第二终端用于基于无标准标签的第一数据集对具有第二全局参数的目标模型进行训练,基于训练得到的第二本地参数获取用于对第二全局参数进行更新的第二本地更新信息,返回第二本地更新信息;基于第二本地更新信息,获取满足攻击防御条件的第二目标更新信息;基于第
二全局参数和第二目标更新信息,获取目标模型的第二聚合参数;响应于具有第二聚合参数的目标模型满足目标终止条件,完成半监督联邦学习任务。
[0239]
在示例性实施例中,在监督联邦学习应用场景下,响应于具有第一聚合参数的目标模型不满足目标终止条件,执行下述过程:将目标模型的第一聚合参数作为目标模型的第二全局参数;将目标模型的第二全局参数发送给第二终端,第二终端用于基于有标准标签的第一数据集对具有第二全局参数的目标模型进行训练,基于训练得到的第二本地参数获取用于对第二全局参数进行更新的第二本地更新信息,返回第二本地更新信息;基于第二本地更新信息,获取满足攻击防御条件的第二目标更新信息;基于第二全局参数和第二目标更新信息,获取目标模型的第二聚合参数;响应于具有第二聚合参数的目标模型满足目标终止条件,完成监督联邦学习任务。
[0240]
在具有第一聚合参数的目标模型可能不满足目标终止条件的情况下执行的过程的实现方式参见步骤201至步骤203,此处不再赘述。需要说明的是,第二终端可能与第一终端相同,也可能与第一终端不同,本技术实施例对此不加以限定。示例性地,第二终端的数量与第一终端的数量相同。
[0241]
示例性地,对于半监督联邦学习应用场景,执行半监督联邦学习任务的基本过程如图6所示。服务器基于有标准标签的数据集对具有参考参数的目标模型进行训练,得到全局参数;将全局参数发送给终端;终端基于无标准标签的数据集对具有全局参数的目标模型进行训练,返回本地更新信息;服务器基于本地更新信息,获取满足攻击防御条件的目标更新信息;服务器基于全局参数和目标更新信息,获取目标模型的聚合参数。响应于具有聚合参数的目标模型满足目标终止条件,得到训练好的模型。
[0242]
示例性地,对于半监督联邦学习应用场景,执行半监督联邦学习任务的过程基于下述算法实现:
[0243]
input:the labeled dataset d
s on the server,the unlabeled dataset d
k on the client,the threshold hyperparametersδandλ,and the cross

entropy loss//输入:服务器的有标准标签的数据集d
s
、终端的无标准标签的数据集d
k
、阈值超参数δ和λ和交叉熵损失函数
[0244]
[0245][0246]
接下来,以将本技术实施例提供的联邦学习方法应用在半监督联邦学习应用场景下为例,对本技术实施例涉及的实验设置以及相关的实验结果进行介绍。
[0247]
1、实验设置
[0248]
在申请实施例中,在mnist(mixed national institute of standards and technology database,国家标准技术研究所混合数据库)数据集和cifar

10(一个彩色图像数据集)数据集上进行性能分析。所有实验都使用pytorch(深度学习框架)和pysyft(隐私保护深度学习通用框架)在相同的计算环境(如,linux ubuntu(一种操作系统)18.04,intel(英特尔)i5

4210m cpu(central processing unit,中央处理器),16gb ram(random access memory,随机存取存储器)和512gb ssd(solid state drives,固态硬盘)上实现。
[0249]
在实验过程中,使用简单的深度学习模型(如,具有2个卷积层和1个完全连接层的cnn(convolutional neural network,卷积神经网络))来进行mnist数据集上的分类任务,并使用alexnet(一种卷积神经网络)模型来进行cifar

10数据集上的分类任务。
[0250]
mnist数据集是一个手写的数字图像的数据集,其中包含60,000个训练样本和10,
000个测试样本。每张图像由28
×
28像素组成,每个像素由灰度值表示,并且标准标签为独热编码0

9。cifar

10数据集由10种类型的32
×
32彩色图像组成,总共60,000张图像,每种类型包含6,000张图像。其中,将50,000张图像用作训练数据集,并将10,000张图像用作测试数据集。所有数据集中图像的像素值均归一化到[0,1],标准标签为独热编码0

9。需要说明的是,在半监督联邦学习ssfl系统中,终端删除了本地数据集的标准标签。
[0251]
对于数据分配过程,将有标准标签的训练样本分配给服务器,将没标准标签的训练样本将分配给终端。对于i.i.d(独立同分布)数据的分配设置,将多类的没标准标签的数据平均分配给每个终端。对于非i.i.d数据的分配设置,将没标准标签的数据平均分配给每个终端,同时为每个终端仅保留两类没标准标签的数据。在示例性实施例中,非i.i.d数据的分配设置中,每个终端的类别都是随机分配的。
[0252]
示例性地,设置终端总数量为100,终端参与比例为0.1,训练总轮次为250,终端的本地训练轮次为5,学习率为0.001,小批量数目为32,服务器中的训练样本数量n
s
=10,000。对于对称量化方法,目标量化阈值α=0.5。对于ssfl设置,设置阈值超参数λ=0.95。此外,使用sgd(stochastic gradient descent,随机梯度下降)和小批量的动量来优化模型。
[0253]
在实验过程中,认为有两种典型的攻击方式:标签翻转攻击(也称为数据中毒攻击)和高斯攻击(也称为模型中毒攻击)。对于标签翻转攻击,恶意终端将本地数据集的一类伪标签修改为另一类。例如,对于mnist数据集,恶意终端将所有带有伪标签“1”的训练样本更改为伪标签“7”;对于cifar

10数据集,恶意终端将所有训练样本的伪标签“dog”更改为伪标签“cat”。对于高斯攻击,恶意终端将未经过训练得到的高斯分布作为本地更新信息上传至服务器,例如,未经过训练得到的高斯分布的平均值为正常终端的更新信息的平均值,未经过训练得到的高斯分布的方差为10。尽管恶意终端具有不同的攻击方式,但它们的攻击目标是相同的。由于ssfl系统中的终端对本地的数据集和本地模型更新具有完全自主的控制权,所以以上两种攻击方式且易于在ssfl系统中实施。
[0254]
2、系统性能
[0255]
将在本技术实施例提供的半监督联邦学习系统(使用gma聚合方式和更新信息选择方案的ssfl系统)与其他基准系统的性能进行比较。在实验中,将使用fedavg聚合方式的fl、使用fedsgd聚合方式的fl、使用gma聚合方式的fl,使用fedavg聚合方式的ssfl和使用fedsgd聚合方式的ssfl作为基准系统。需要说明的是,fl系统是基于监督学习实现的,这些基准系统是目前fl系统和ssfl系统中最常见和最典型的系统。此外,在mnist数据集和cifar

10数据集的i.i.d数据和非i.i.d数据上分别进行了性能比较实验。
[0256]
在mnist数据集和cifar

10数据集的i.i.d数据和非i.i.d数据上评估各个系统的性能,评估结果如表1和表2所示。基于表1和表2可知,本技术实施例提供的系统的性能接近最佳基准系统(使用gma聚合方式的基于监督学习的fl系统)的性能,并且超过了其他ssfl系统的性能。基于监督学习的fl系统依靠丰富的标准标签信息来在mnist数据集和cifar

10数据集上实现卓越的性能。但是,由于为数据打标签在现实生活中是一项耗时且昂贵的任务,所以监督学习的fl系统很难部署。本技术实施例提出的ssfl系统不依赖丰富的标准标签信息,其性能与fl系统相当,这是因为本技术实施例提出的ssfl系统在终端缺乏有标准标签的数据集的前提下,使用伪标签方法和数据增强方法来改善系统的性能,尤其是数据增强方法,这会增加终端数据的多样性。
[0257]
表1
[0258][0259][0260]
表2
[0261][0262]
根据上述表1和表2还可以了解不同聚合方式对fl系统和ssfl系统的性能的影响。基于表1和表2所示的实验结果可知,使用gma聚合方式的系统的性能优于使用fedavg聚合方式和fedsgd聚合方式的同类型系统。使用gma聚合方式的系统性能高的原因包括但不限于:fedavg聚合方式和fedsgd聚合方式引入更新噪声,从而损害系统性能,gma聚合方式可以减轻更新噪声的不利影响。示例性地,本技术实施例,在使用gma聚合方式进行聚合之前还设计了基于优化的更新信息选择策略,这有助于系统选择高质量的更新信息,进一步提
高系统性能。
[0263]
3、系统鲁棒性
[0264]
在实验过程中,探索了在两种典型中毒攻击(即标签翻转攻击和高斯攻击)下,系统在mnist数据集和cifar

10数据集上的鲁棒性。假设恶意终端可以相互勾结以发起攻击。
[0265]
首先,评估了不同质量阈值δ对本技术实施例提出的系统在mnist数据集和cifar

10数据集上的性能的影响。如表3所示,对于mnist数据集,当δ=0.90时,系统性能最佳。对于cifar

10数据集,当δ=0.85时,系统性能最佳。这是因为在不同的数据集上生成的模型更新不同,因此需要为不同的数据集设置不同的质量阈值。
[0266]
表3
[0267][0268]
其次,在实验过程中,评估了在标签翻转攻击下,本技术实施例提出系统在mnist数据集和cifar

10数据集上的性能。在图7(a)和图7(b)中,展示了在mnist数据集中的i.i.d数据和非i.i.d数据上,带有更新信息选择方案的ssfl系统与不带有更新信息选择方案的ssfl系统在标签翻转攻击下的性能比较。在图7(c)和图7(d)中,展示了在cifar

10数据集中的i.i.d数据和非i.i.d数据上,带有更新信息选择方案的ssfl系统与不带有更新信息选择方案的ssfl系统在标签翻转攻击下的性能比较。
[0269]
根据图7(a)至图7(d)可知,不带有更新信息选择方案的ssfl系统会受到标签翻转攻击的影响,在非i.i.d数据的场景中会变得不稳定甚至无法收敛。相反,带有更新信息选择方案的ssfl系统通过选择高质量的更新信息来减轻标签翻转攻击的不利影响,起到防御标签翻转攻击的效果,且能使系统保持良好的性能。在设计的更新信息选择方案中,服务器通过比较终端更新与服务器自身更新之间的余弦相似度和分布距离等来选择正常终端返回的更新信息,这可以避免恶意终端返回的更新信息参与ssfl训练。
[0270]
进一步地,评估了在高斯攻击下,本技术实施例提出系统在mnist数据集和cifar

10数据集上的性能。在高斯攻击下,恶意终端将相互串通以发起模型中毒攻击。示例性地,恶意终端相互勾结,使用正常终端的更新信息的平均值作为高斯攻击的平均值来毒化全局模型。在图8(a)和图8(b)中,展示了在mnist数据集中的i.i.d数据和非i.i.d数据上,带有更新信息选择方案的ssfl系统与不带有更新信息选择方案的ssfl系统在高斯攻击下的性能比较。在图8(c)和图8(d)中,展示了在cifar

10数据集中的i.i.d数据和非i.i.d数据上,带有更新信息选择方案的ssfl系统与不带有更新信息选择方案的ssfl系统在高斯攻击下
的性能比较。根据图8(a)至图8(d)可知,本技术实施例设计的更新信息选择方案可以帮助系统在存在高斯攻击的情况下保持准确性和收敛性。通过对图7所示的实验结果和图8所示的实验结果进行分析可知,与标签翻转攻击(即数据中毒攻击)相比,高斯攻击(即模型中毒攻击)具有更强的全局模型中毒能力。
[0271]
4、系统通信效率
[0272]
在实验过程中,探讨了对称量化方法中的量化级别对系统通信效率和系统性能的影响。示例性地,将r=32的量化级别设置为基准方案。将cnn模型作为mnsit数据集的本地模型,将alexnet模型作为cifar

10数据集的本地模型。
[0273]
表4
[0274][0275]
首先,总结了不同量化级别与更新信息的数据量之间的关系,如表4所示。根据表4可知,更新信息的数据量与量化级别成正比。通过减少每一轮终端

服务器交互的更新信息的数据量来减少通信开销。
[0276]
其次,评估了在不同的量化级别下,本技术实施例提出系统在mnist数据集和cifar

10数据集上的性能。在图9(a)和图9(b)中,展示了在mnist数据集中的i.i.d数据和非i.i.d数据上,本技术实施例提出系统在量化级别r=32、r=16和r=8下的性能比较。在图9(c)和图9(d)中,展示了在cifar

10数据集中的i.i.d数据和非i.i.d数据上,本技术实施例提出系统在量化级别r=32、r=16和r=8下的性能比较。在实验过程中,将量化级别r=32作为基准方案,相对于量化级别r=32,在量化级别r=16和量化级别r=8下的系统是指使用了对称量化方案的系统。
[0277]
根据图9(a)至图9(d)可知,使用对称量化方案(即r=16或r=8位)的系统的收敛速度与未使用对称量化方案(即r=32)的系统的收敛速度接近。例如,在mnist数据集中的非i.i.d数据中,在第200轮训练过程中,使用r=8的对称量化方案的系统和使用基准方案的系统都达到了收敛。相比于r=32,当r=8时,每轮系统训练可以减少4倍的通信开销。根据图9所示的结果可知,本技术实施例设计的对称量化方案不会影响系统的性能和收敛性。也就是说,对称量化方案不仅可以使通信效率提高2倍~4倍,而且还可以保持系统的性能。
[0278]
将本技术实施例提供的联邦学习方法应用在半监督联邦学习应用场景下,能够提供一种新的鲁棒且通信高效的半监督联邦学习系统(称为rc

ssfl系统)来处理现实生活中的场景,即终端缺乏有标准标签数据。对于通信开销和中毒攻击会影响系统的性能这一固有挑战,rc

ssfl系统具有以下功能:1、rc

ssfl系统实施了基于最小最大优化策略的更新信息选择方案,以选择高质量的更新信息进行聚合,从而减少了中毒攻击的影响。2、rc

ssfl系统利用几何中值聚合(gma)算法来实现健壮的更新信息聚合。3、rc

ssfl系统使用了一种新颖的对称量化方案以大大减少通信开销。
[0279]
在本技术实施例中,增加了对联邦学习过程中的攻击问题的考虑,先基于终端返回的本地更新信息,获取满足攻击防御条件的目标更新信息,然后再利用满足攻击防御条件的目标更新信息获取聚合参数。在此种过程中,不满足攻击抵御条件的更新信息不会参与获取聚合参数的过程,使得获取聚合参数的过程能够一定程度上抵御恶意终端的攻击,有利于提高联邦学习的安全性和可靠性,进而提高联邦学习得到的模型的性能。
[0280]
参见图10,本技术实施例提供了一种联邦学习装置,该装置包括:
[0281]
发送单元1001,用于将目标模型的第一全局参数发送给第一终端,第一终端用于基于第一数据集对具有第一全局参数的目标模型进行训练,基于训练得到的第一本地参数获取用于对第一全局参数进行更新的第一本地更新信息,返回第一本地更新信息;
[0282]
第一获取单元1002,用于基于第一本地更新信息,获取满足攻击防御条件的第一目标更新信息;
[0283]
第二获取单元1003,用于基于第一全局参数和第一目标更新信息,获取目标模型的第一聚合参数;响应于具有第一聚合参数的目标模型满足目标终止条件,完成联邦学习任务。
[0284]
在一种可能实现方式中,第一本地更新信息为基于第一本地参数和第一全局参数确定的未量化的更新信息;第一获取单元1002,用于获取第一本地更新信息对应的目标质量指标,第一本地更新信息对应的目标质量指标用于衡量第一本地更新信息为非攻击更新信息的可信程度;将满足参考条件的目标质量指标对应的第一本地更新信息作为候选更新信息,基于候选更新信息,获取满足攻击防御条件的第一目标更新信息。
[0285]
在一种可能实现方式中,候选更新信息的数量为至少两个,第一获取单元1002,还用于基于至少两个候选更新信息,确定至少两个候选更新信息组,任一候选更新信息组中包括至少一个候选更新信息;基于第一全局参数和任一候选更新信息组中包括的各个候选更新信息对应的第一本地参数,确定任一候选更新信息组对应的参数变化指标;基于至少两个候选更新信息组分别对应的参数变化指标,在至少两个候选更新信息组中,确定满足第一条件的参数变化指标对应的第一更新信息组;在第一更新信息组中,确定目标更新信息组,将目标更新信息组中包括的各个候选更新信息作为满足攻击防御条件的第一目标更新信息。
[0286]
在一种可能实现方式中,第一更新信息组的数量为至少两个,第一获取单元1002,还用于将任一第一更新信息组中包括的各个候选更新信息对应的目标质量指标之和作为任一第一更新信息组对应的汇总质量指标;基于至少两个第一更新信息组分别对应的汇总质量指标,在至少两个第一更新信息组中,确定满足第二条件的汇总质量指标对应的第二更新信息组;在第二更新信息组中,确定目标更新信息组。
[0287]
在一种可能实现方式中,第一本地更新信息对应的目标质量指标包括第一质量指标,第一获取单元1002,还用于对返回第一本地更新信息的第一终端历史返回的全部本地更新信息进行汇总,得到第一本地更新信息对应的第一汇总更新信息;获取第一全局参数对应的第二汇总更新信息,第二汇总更新信息用于指示服务器对目标模型的更新情况;基于第一汇总更新信息和第二汇总更新信息之间的相似度,确定第一本地更新信息对应的第
一质量指标,第一质量指标用于从汇总更新信息之间的相似度的角度衡量第一本地更新信息为非攻击更新信息的可信程度。
[0288]
在一种可能实现方式中,第一本地更新信息对应的目标质量指标包括第二质量指标;第一获取单元1002,还用于基于第一本地更新信息对应的第一本地参数和第一全局参数之间的分布距离,确定第一本地更新信息对应的第二质量指标,第二质量指标用于从参数之间的分布距离的角度衡量第一本地更新信息为非攻击更新信息的可信程度。
[0289]
在一种可能实现方式中,第一本地更新信息为第一终端利用目标量化阈值和目标量化等级对原更新信息进行量化得到的更新信息,原更新信息为基于第一本地参数和第一全局参数确定的未量化的更新信息,目标量化阈值用于保证第一本地更新信息的解量化信息与原更新信息之间满足对称条件;第一终端还用于返回目标量化阈值和目标量化等级;第一获取单元1002,还用于基于目标量化阈值和目标量化等级,对第一本地更新信息进行解量化,得到第一本地更新信息的解量化信息;在第一本地更新信息的解量化信息中,选取满足攻击防御条件的第一目标更新信息。
[0290]
在一种可能实现方式中,第二获取单元1003,用于获取第一目标更新信息对应的几何中位数信息;在第一全局参数的基础上,对第一目标更新信息对应的几何中位数信息进行聚合,得到目标模型的第一聚合参数。
[0291]
在一种可能实现方式中,联邦学习任务为半监督联邦学习任务,第一数据集为无标准标签的数据集,服务器具有用于对目标模型进行训练的有标准标签的第二数据集;参见图11,该装置还包括:
[0292]
训练单元1004,用于基于第二数据集对具有参考参数的目标模型进行训练,得到目标模型的第一全局参数。
[0293]
在一种可能实现方式中,训练单元1004,用于对第二数据集进行数据增强处理,得到增强数据集,增强数据集包括增强样本,增强样本对应有标准标签;调用具有参考参数的目标模型,获取增强样本对应的预测结果;基于增强样本对应的预测结果和增强样本对应的标准标签,获取目标损失函数;利用目标损失函数对参考参数进行更新,得到更新后的参数;基于更新后的参数,获取目标模型的第一全局参数。
[0294]
在一种可能实现方式中,训练单元1004,还用于响应于具有第一聚合参数的目标模型不满足目标终止条件,基于第二数据集对具有第一聚合参数的目标模型进行训练,得到目标模型的第二全局参数;
[0295]
发送单元1001,还用于将目标模型的第二全局参数发送给第二终端,第二终端用于基于无标准标签的第一数据集对具有第二全局参数的目标模型进行训练,基于训练得到的第二本地参数获取用于对第二全局参数进行更新的第二本地更新信息,返回第二本地更新信息;
[0296]
第一获取单元1002,还用于基于第二本地更新信息,获取满足攻击防御条件的第二目标更新信息;
[0297]
第二获取单元1003,还用于基于第二全局参数和第二目标更新信息,获取目标模型的第二聚合参数;响应于具有第二聚合参数的目标模型满足目标终止条件,完成半监督联邦学习任务。
[0298]
在本技术实施例中,增加了对联邦学习过程中的攻击问题的考虑,先基于终端返
回的本地更新信息,获取满足攻击防御条件的目标更新信息,然后再利用满足攻击防御条件的目标更新信息获取聚合参数。在此种过程中,不满足攻击抵御条件的更新信息不会参与获取聚合参数的过程,使得获取聚合参数的过程能够一定程度上抵御恶意终端的攻击,有利于提高联邦学习的安全性和可靠性,进而提高联邦学习得到的模型的性能。
[0299]
需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0300]
图12是本技术实施例提供的一种终端的结构示意图。该终端可以是:智能手机、平板电脑、笔记本电脑或台式电脑。终端还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
[0301]
通常,终端包括有:处理器1201和存储器1202。
[0302]
处理器1201可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1201可以采用dsp(digital signal processing,数字信号处理)、fpga(field

programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1201也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1201可以集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1201还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0303]
存储器1202可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1202还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1202中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1201所执行以实现本技术中方法实施例提供的联邦学习方法。
[0304]
在一些实施例中,终端还可选包括有:外围设备接口1203和至少一个外围设备。处理器1201、存储器1202和外围设备接口1203之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1203相连。具体地,外围设备包括:射频电路1204、显示屏1205、摄像头组件1206、音频电路1207、定位组件1208和电源1209中的至少一种。
[0305]
外围设备接口1203可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1201和存储器1202。在一些实施例中,处理器1201、存储器1202和外围设备接口1203被集成在同一芯片或电路板上;在一些其他实施例中,处理器1201、存储器1202和外围设备接口1203中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0306]
射频电路1204用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。
射频电路1204通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1204将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1204包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1204可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路1204还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术对此不加以限定。
[0307]
显示屏1205用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1205是触摸显示屏时,显示屏1205还具有采集在显示屏1205的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1201进行处理。此时,显示屏1205还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1205可以为一个,设置在终端的前面板;在另一些实施例中,显示屏1205可以为至少两个,分别设置在终端的不同表面或呈折叠设计;在另一些实施例中,显示屏1205可以是柔性显示屏,设置在终端的弯曲表面上或折叠面上。甚至,显示屏1205还可以设置成非矩形的不规则图形,也即异形屏。显示屏1205可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light

emitting diode,有机发光二极管)等材质制备。
[0308]
摄像头组件1206用于采集图像或视频。可选地,摄像头组件1206包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1206还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0309]
音频电路1207可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1201进行处理,或者输入至射频电路1204以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1201或射频电路1204的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1207还可以包括耳机插孔。
[0310]
定位组件1208用于定位终端的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件1208可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
[0311]
电源1209用于为终端中的各个组件进行供电。电源1209可以是交流电、直流电、一
次性电池或可充电电池。当电源1209包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
[0312]
在一些实施例中,终端还包括有一个或多个传感器1210。该一个或多个传感器1210包括但不限于:加速度传感器1211、陀螺仪传感器1212、压力传感器1213、指纹传感器1214、光学传感器1215以及接近传感器1216。
[0313]
加速度传感器1211可以检测以终端建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1211可以用于检测重力加速度在三个坐标轴上的分量。处理器1201可以根据加速度传感器1211采集的重力加速度信号,控制显示屏1205以横向视图或纵向视图进行用户界面的显示。加速度传感器1211还可以用于游戏或者用户的运动数据的采集。
[0314]
陀螺仪传感器1212可以检测终端的机体方向及转动角度,陀螺仪传感器1212可以与加速度传感器1211协同采集用户对终端的3d动作。处理器1201根据陀螺仪传感器1212采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0315]
压力传感器1213可以设置在终端的侧边框和/或显示屏1205的下层。当压力传感器1213设置在终端的侧边框时,可以检测用户对终端的握持信号,由处理器1201根据压力传感器1213采集的握持信号进行左右手识别或快捷操作。当压力传感器1213设置在显示屏1205的下层时,由处理器1201根据用户对显示屏1205的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
[0316]
指纹传感器1214用于采集用户的指纹,由处理器1201根据指纹传感器1214采集到的指纹识别用户的身份,或者,由指纹传感器1214根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1201授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1214可以被设置在终端的正面、背面或侧面。当终端上设置有物理按键或厂商logo时,指纹传感器1214可以与物理按键或厂商logo集成在一起。
[0317]
光学传感器1215用于采集环境光强度。在一个实施例中,处理器1201可以根据光学传感器1215采集的环境光强度,控制显示屏1205的显示亮度。具体地,当环境光强度较高时,调高显示屏1205的显示亮度;当环境光强度较低时,调低显示屏1205的显示亮度。在另一个实施例中,处理器1201还可以根据光学传感器1215采集的环境光强度,动态调整摄像头组件1206的拍摄参数。
[0318]
接近传感器1216,也称距离传感器,通常设置在终端的前面板。接近传感器1216用于采集用户与终端的正面之间的距离。在一个实施例中,当接近传感器1216检测到用户与终端的正面之间的距离逐渐变小时,由处理器1201控制显示屏1205从亮屏状态切换为息屏状态;当接近传感器1216检测到用户与终端的正面之间的距离逐渐变大时,由处理器1201控制显示屏1205从息屏状态切换为亮屏状态。
[0319]
本领域技术人员可以理解,图12中示出的结构并不构成对终端的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0320]
图13是本技术实施例提供的一种服务器的结构示意图,该服务器可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(central processing units,cpu)
1301和一个或多个存储器1302,其中,该一个或多个存储器1302中存储有至少一条计算机程序,该至少一条计算机程序由该一个或多个处理器1301加载并执行,以实现上述各个方法实施例提供的联邦学习方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
[0321]
在示例性实施例中,还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条计算机程序。该至少一条计算机程序由一个或者一个以上处理器加载并执行,以实现上述任一种联邦学习方法。
[0322]
在示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机程序,该至少一条计算机程序由计算机设备的处理器加载并执行,以实现上述任一种联邦学习方法。
[0323]
在一种可能实现方式中,上述计算机可读存储介质可以是只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、只读光盘(compact disc read

only memory,cd

rom)、磁带、软盘和光数据存储设备等。
[0324]
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一种联邦学习方法。
[0325]
需要说明的是,本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以上示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
[0326]
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0327]
以上所述仅为本技术的示例性实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜