模型训练方法、装置、电子设备以及存储介质与流程



1.本技术涉及计算机技术领域,具体而言,涉及模型训练方法、装置、电子设备以及存储介质。


背景技术:



2.随着物联网的迅速发展,大量的智能设备已经具有了一定的计算能力和存储能力,同时隐私保护和数据安全受到的大力关注,使物联网和联邦学习结合的需求愈发强烈。联邦学习可以有效保证各智能设备原始数据的安全性和隐私性。但联邦学习对计算性能要求较高,严重占用智能设备的计算能力,且需要进行多次协同通信,每次通信的模型参数数据量大,会造成较大的通信延时,极大地影响联邦学习的效率。


技术实现要素:



3.为解决上述技术问题,本技术的实施例提供了一种模型训练方法、装置、电子设备以及存储介质,能够节约联邦学习过程中的通信成本。
4.本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。
5.根据本技术实施例的一个方面,提供了一种基于联邦学习框架的模型训练方法,所述联邦学习框架包括主服务节点以及与所述主服务节点连接的至少一个参与终端,包括:所述主服务节点将数据模型的初始模型参数作为待更新的模型参数;所述主服务节点将所述待更新的模型参数发送至各个参与终端;各个参与终端分别基于所述待更新的模型参数并利用本地存储的训练数据对所述数据模型进行训练处理,得到各个参与终端对应的更新后的模型参数;若各个参与终端的网络参数满足预设通信条件,则对应参与终端将对应的更新后的模型参数发送至所述主服务节点;所述主服务节点对接收到的更新后的模型参数进行聚合处理,若得到的第一聚合模型参数不能使所述数据模型满足预设的收敛条件,则将所述第一聚合模型参数作为所述待更新的模型参数,并跳转至所述主服务节点将所述待更新的模型参数发送至所述参与终端的步骤,反之,则将所述第一聚合模型参数带入所述数据模型。
6.在一个示例性实施例中,在所述若各个参与终端的网络参数满足预设通信条件,则对应参与终端将对应的更新后的模型参数发送至所述主服务节点之前,所述方法包括:在预设时间段内周期性地检测各个参与终端的网络参数是否满足所述预设通信条件。
7.在一个示例性实施例中,所述判断各个参与终端的网络参数是否满足所述预设通信条件包括:若检测到各个参与终端的带宽大于第一预设阈值,且时延小于第二预设阈值,则确定对应参与终端的网络参数满足所述预设通信条件。
8.在一个示例性实施例中,所述方法还包括:若各个参与终端的网络参数满足所述预设通信条件,则对应参与终端将本地存储的训练数据的个数发送至所述主服务节点。
9.在一个示例性实施例中,所述主服务节点对接收到的更新后的模型参数进行聚合
处理包括:所述主服务节点基于各个目标参与终端对应的训练数据的个数为对应目标参与终端配置对应的权重,所述目标参与终端的网络参数满足所述预设通信条件;所述主服务节点基于各个目标参与终端对应的权重对接收到的更新后的模型参数进行聚合处理。
10.在一个示例性实施例中,所述联邦学习框架还包括至少一个边缘节点,每个边缘节点分别连接所述主服务节点和至少一个参与终端;所述若各个参与终端的网络参数满足预设通信条件,则对应参与终端将对应的更新后的模型参数发送至所述主服务节点包括:若各个参与终端的网络参数满足所述预设通信条件,则对应参与终端将对应的更新后的模型参数发送至连接的边缘节点;各个边缘节点对接收到的更新后的模型参数进行聚合处理,若对应边缘节点的网络参数满足所述预设通信条件,将聚合处理得到的更新后的模型参数发送至所述主服务节点。
11.在一个示例性实施例中,所述方法还包括:各个边缘节点对接收到的更新后的模型参数进行聚合处理,若存在至少一个边缘节点的网络参数不满足所述预设通信条件,将对应边缘节点进行聚合处理得到的更新后的模型参数发送至连接的参与终端,以使得所述连接的各个参与终端基于对应边缘节点进行聚合处理得到的更新后的模型参数,并利用本地存储的训练数据对所述数据模型进行训练处理,得到所述连接的各个参与终端对应的更新后的模型参数。
12.根据本技术实施例的一个方面,提供了一种基于联邦学习框架的模型训练方法装置,包括:控制模块,用于控制所述主服务节点将数据模型的初始模型参数作为待更新的模型参数;所述主服务节点将数据模型的初始模型参数作为模型参数;第一发送模块,用于控制所述主服务节点将所述待更新的模型参数发送至各个参与终端;训练模块,用于各个参与终端分别基于所述待更新的模型参数并利用本地存储的训练数据对所述数据模型进行训练处理,得到各个参与终端对应的更新后的模型参数;第二发送模块,用于控制若各个参与终端的网络参数满足预设通信条件,则对应参与终端将对应的更新后的模型参数发送至所述主服务节点;聚合处理模块,用于控制所述主服务节点对接收到的更新后的模型参数进行聚合处理,若得到的第一聚合模型参数不能使所述数据模型满足预设的收敛条件,则将所述第一聚合模型参数作为所述待更新的模型参数,并跳转至所述主服务节点将所述待更新的模型参数发送至所述参与终端的步骤,反之,则将所述第一聚合模型参数带入所述数据模型,其中,所述联邦学习框架包括主服务节点以及与所述主服务节点连接的至少一个参与终端。
13.根据本技术实施例的一个方面,提供了一种电子设备,包括处理器及存储器,存储器上存储有计算机可读指令,计算机可读指令被处理器执行时实现如上的基于联邦学习框架的模型训练方法。
14.根据本技术实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当计算机可读指令被计算机的处理器执行时,使计算机执行如前提供的基于联邦学习框架的模型训练方法。
15.根据本技术实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施例中提供的基于联邦学习框架的模型训练
方法。
16.在本技术的实施例提供的技术方案中,本实施例提供的基于联邦学习框架的模型训练方法,在参与终端将对应的更新后的模型参数发送至所述主服务节点之前,判断各个参与终端的网络参数是否满足预设通信条件,从而在对应轮次的模型训练中,剔除掉一部分网络性能不佳的参与终端对应的模型参数,所述主服务节点只需对当前网络性能较好的参与终端对应的模型参数进行聚合处理,通过这种方式,既可以避免主服务节点长时间等待部分网络性能较差的参与终端对应的模型参数,所带来的模型训练时间的延长,由于网络性能较差的参与终端无需将对应的模型参数发送至主服务节点,因此能够降低通信成本,提高模型训练的效率。
17.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
18.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
19.图1是本技术一示例性实施例示意出的基于联邦学习框架的模型训练方法的流程示意图;
20.图2是图1所示实施例中步骤s105一示例性实施例的流程图;
21.图3是图1所示实施例中步骤s104一示例性实施例的流程图;
22.图4是根据一个示例性实施例示出的本发明所涉及的实施环境的示意图;
23.图5是本技术另一示例性实施例示出的基于联邦学习框架的模型训练方法的示意图;
24.图6是本技术一示例性实施例示出的基于联邦学习框架的模型训练装置的框图;
25.图7示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
具体实施方式
26.这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
27.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
28.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
29.还需要说明的是:在本技术中提及的“多个”是指两个或者两个以上。“和/或”描述
关联对象的关联关系,表示可以存在三种关系,例如,a和/或b可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
30.需要说明的是,本技术实施例中所涉及的网元还可以称为功能或功能实体,本技术不做限制。例如,接入与移动性管理功能网元还可以称为接入与移动性管理功能或接入与移动性管理功能实体,会话管理功能网元可以称为会话管理功能或会话管理功能实体等。各个网元的名称在本技术中不做限定,本领域技术人员可以将上述网元的名称更换为其它名称而执行相同的功能,均属于本技术保护的范围。
31.可以理解的是,本实施例中所涉及的网元或功能或功能实体既可以是硬件设备中的网络元件,也可以是在专用硬件上运行的软件功能,或者是平台(例如,云平台)上实例化的虚拟化功能,本技术不做限制。
32.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
33.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
34.机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
35.联邦学习(federated learning,fl)是一种新兴的人工智能基础技术,在2016年由谷歌最先提出,指各个参与方能够在原始数据不离开本地的前提下,联合开展模型训练,构建机器学习模型,是一种在数据交换共享时能够保护隐私数据的分布式机器学习方法。联邦学习作为可实现数据可用不可见的新型人工智能技术,已成为业界研究热点。
36.根据联邦学习参与方主体的特点,联邦学习可分为基于机构的联邦学习和基于设备的联邦学习。
37.基于机构的联邦学习是两个或若干个机构之间进行数据共享,其特点在于参与机构之间通信稳定,联邦计算中出现掉线、无响应的情况较少,主要聚焦在政府和企事业单位等之间的联合,既可以使用横向联邦学习又可以使用纵向联邦学习,主要应用于信贷风控、医疗科研、金融反欺诈等。
38.基于设备的联邦学习是大规模的设备终端进行联合建模,其特点在于联邦学习参与方的数量众多,作为参与方的物联网设备和智能终端通常采用无线网络进行传输,传输效率比较容易成为性能瓶颈,主要基于横向联邦学习进行建模。物联网设备和智能终端在网络中一般处于网络边缘,可就近接入边缘计算网络,而其自身也属于网络边缘的计算资
源。
39.目前的主流应用主要聚焦在基于机构的联邦学习,而基于设备的联邦学习由于技术、通信等原因,仍处于发展的初期,本专利主要针对基于设备的联邦学习场景下的多方协同提出优化办法。
40.为解决现有技术中至少存在的如上问题,本技术实施例提出的基于联邦学习框架的模型训练方法、基于联邦学习框架的模型训练装置、电子设备以及计算机可读存储介质涉及人工智能技术、机器学习以及联邦学习技术,以下将对这些实施例进行详细说明。
41.联邦学习允许用户端设备在不集中存储数据的情况下共同获得一个共享的全局模型。具体地,用户利用本地数据在本地训练各自的本地模型,并将训练好的本地模型的参数上传给中央服务器,由中央服务器进行聚合并更新全局模型。整个训练过程中,用户端的数据不会离开用户的本地设备。但是,联邦学习中存在着大量的用户端和中央服务器之间的交互通信。因此,通信效率成为制约联邦学习发展的主要因素。如何降低单次通信开销和整体通信次数以提升联邦学习通信效率成为了发展联邦学习的关键问题。
42.参阅图1,图1是本技术一示例性实施例示意出的基于联邦学习框架的模型训练方法的流程示意图,如图1所示,本实施例提供的基于联邦学习框架的模型训练方法包括步骤s101-步骤s103,详细描述参考如下:
43.步骤s101:主服务节点将数据模型的初始模型参数作为待更新的模型参数。
44.联邦学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。联邦学习作为分布式的机器学习范式,可以有效解决数据孤岛问题,让参与方在不共享数据的基础上联合建模,能从技术上打破数据孤岛,实现ai协作。联邦学习定义了机器学习框架,在此框架下通过设计虚拟模型解决不同数据拥有方在不交换数据的情况下进行协作的问题。虚拟模型是各方将数据聚合在一起的最优模型,各自区域依据模型为本地目标服务。
45.在本实施例中,联邦学习框架包括主服务节点以及与主服务节点连接的至少一个参与终端,示例性地,主服务节点依次访问其覆盖的各个参与终端设备的设备信息,进而确定组成联邦学习框架的所有参与终端。其中,终端设备的设备信息包括表征是否参与联邦学习的标识,通过这种方式,将有意愿参与联邦学习的终端设备作为参与设备,构建联邦学习框架。各个参与终端在保证数据隐私的情况下为联邦学习模型提供原始训练数据。
46.主服务节点预先构建数据模型,数据模型的原始训练数据的类型与客户端的业务请求相关,示例性地,客户端的业务请求为获取用户体的偏好产品,则数据模型的原始训练数据为各个参与终端用户针对多个产品的行为数据,以通过用于针对多个产品的行为数据分析用户对各个产品的偏好。
47.本实施例不限制数据模型的网络结构,例如,cnn(convolutional neural network,卷积神经网络)、dnn(deep neural networks,深度神经网络)、lstm(long short-term memory,长期短期记忆模型)、resnet((residual networks,残差网络)等等。同理,本实施例也不对损失函数的种类进行限制,例如,均方差损失(mean squared loss,msl)、平均绝对误差损失(mean absolute error loss,mael)、分位数损失(quantile loss,ql)、交叉熵损失函数(cross entropy loss,cel)等。
48.主服务节点将数据模型的初始模型参数作为待更新的模型参数。
49.步骤s102:主服务节点将待更新的模型参数发送至各个参与终端。
50.在本实施例中,各个参与终端和主服务节点共享同一个数据模型。主服务节点将待更新的模型参数发送至各个参与终端,以便于对应参与终端基于待更新的模型参数并利用本地存储的训练数据对数据模型进行训练处理。
51.步骤s103:各个参与终端分别基于待更新的模型参数并利用本地存储的训练数据对数据模型进行训练处理,得到各个参与终端对应的更新后的模型参数。
52.在本实施例中,每个参与终端本地分别存储有训练数据,为了保证这些训练数据的私密性,各个参与终端分别利用本地存储的训练数据对数据模型进行训练处理,得到各个参与终端对应的更新后的模型参数。
53.在本实施例中,各个参与终端利用本地存储的训练数据对数据模型进行训练处理,直至对应参与终端中的数据模型达到预设的收敛条件,得到对应参与终端对应的更新后的模型参数,此时,每个参与终端中的数据模型倾向于自身数据的特征。
54.步骤s104:若各个参与终端的网络参数满足预设通信条件,则对应参与终端将对应的更新后的模型参数发送至主服务节点。
55.本技术发明人经过长期研究发现,在联邦学习的过程中,各个参与终端将数据模型的模型参数发送至主服务节点,主服务节点将接收到的模型参数进行聚合处理,得到数据模型的下一轮训练的模型参数。主服务节点通常基于模型平均算法的思想对各个模型参数进行聚合处理,这种聚合算法每轮的聚合时间往往取决于花费时间最长的参与终端,由于延迟、网络抖动、节点差异化的算力条件等,在一定概率上这会增加轮次的聚合时间。
56.为解决上述问题,本实施例为每个参与终端设置对应的通信条件,在对应参与终端的网络参数满足该通信条件时,将对应参与终端将对应的更新后的模型参数发送至主服务节点,相反地,在对应参与终端的网络参数不满足该通信条件时,不将对应参与终端将对应的更新后的模型参数发送至主服务节点,也即,若检测到本轮次该参与终端的网络条件较差,控制对应参与终端不参与本轮次的模型训练过程,通过这种方式,减少通信轮次,进而降低联邦学习的通信成本。
57.需要说明的是,每个参与终端对应的通信条件可以相同或不同,在此不做具体限定。
58.在本实施例中,参与终端对应的通信条件对表征数据传输能力的网络参数进行设定,例如,表征数据传输能力的网络参数包括带宽和时延。在本实施例中,参与终端的网络参数与参与终端对应的通信条件中包括的网络参数相同。可以理解的是,本实施例并不限制表征数据传输能力的网络参数的种类,上述实施方式仅供示例参考。
59.示例性地,若检测到各个参与终端的带宽大于第一预设阈值,且时延小于第二预设阈值,则确定判断对应参与终端的网络参数满足预设通信条件。本实施例可以根据实际应用场景灵活设置第一预设阈值和第二预设阈值,在此不做具体限定。
60.步骤s105:主服务节点对接收到的更新后的模型参数进行聚合处理,若得到的第一聚合模型参数不能使数据模型满足预设的收敛条件,则将第一聚合模型参数作为待更新的模型参数,并跳转至主服务节点将待更新的模型参数发送至参与终端的步骤,反之,则将第一聚合模型参数带入数据模型。
61.在本实施例中,主服务节点接收来自多个参与终端发送的更新后的模型参数,并
对多个更新后的模型参数进行聚合处理,得到聚合模型参数。可以理解的是,由于可能存在一部分参与终端的网络参数不满足预设通信条件,主服务节点接收的更新后的模型参数不一定包括所有参与终端的更新后的模型参数。
62.示例性地,对多个更新后的模型参数进行聚合求平均,得到聚合模型参数。
63.示例性地,在若各个参与终端的网络参数满足预设通信条件,则对应参与终端将对应的更新后的模型参数发送至主服务节点之前,在预设时间段内周期性地检测各个参与终端的网络参数是否满足预设通信条件。
64.在预设的时间段内,若检测到各个参与终端的网络参数满足预设通信条件,则对应参与终端将对应的更新后的模型参数发送至主服务节点,通过这种方式,提高本实施例提供的基于联邦学习框架的模型训练方法的容错性。
65.本实施例充分考虑到参与终端的网络性能是否能满足以及满足通信条件的时间不定,例如,某参与终端的网络性能长时间未得到改善,为避免主服务终端一直接收不到该参与终端发送的更新后的模型参数,进而导致后续步骤无法进行,降低数据模型的训练效率,本实施例预先设定一个预设时间段,在这个时间段内收到的所有更新后的模型参数都可用于聚合处理,能够提高本实施例提供的基于联邦学习框架的模型训练方法的容错性,另外,在这个预设时间段之外如果接收到更新后的模型参数,则不将其用于此轮训练的聚合处理过程,通过这种方式,一方面避免所有参与终端同时发送更新后的模型参数至主服务节点,造成网络拥堵,另一方面,能够减少通信次数,降低通信成本。
66.在本实施例中,若得到的聚合模型参数不能使数据模型满足预设的收敛条件,说明此时数据模型的训练效果没达到预设要求,此时,将聚合模型参数作为更新后的模型参数,并跳转至主服务节点将第一模型参数发送至参与终端的步骤,反之,则将聚合模型参数带入数据模型。
67.本实施例提供的基于联邦学习框架的模型训练方法,在参与终端将对应的更新后的模型参数发送至主服务节点之前,判断各个参与终端的网络参数是否满足预设通信条件,从而在对应轮次的模型训练中,剔除掉一部分网络性能不佳的参与终端对应的模型参数,主服务节点只需对当前网络性能较好的参与终端对应的模型参数进行聚合处理,通过这种方式,既可以避免主服务节点长时间等待部分网络性能较差的参与终端对应的模型参数,所带来的模型训练时间的延长,由于网络性能较差的参与终端无需将对应的模型参数发送至主服务节点,因此能够降低通信成本,提高模型训练的效率。
68.示例性地,参与图2,图2是图1所示实施例中步骤s105一示例性实施例的流程图,如图2所示,步骤s105包括步骤s201-步骤s202,详细叙述如下:
69.步骤s201:主服务节点基于各个目标参与终端对应的训练数据的个数为对应目标参与终端配置对应的权重。
70.在本实施例中,若各个参与终端的网络参数满足预设通信条件,则对应参与终端将本地存储的训练数据的个数发送至主服务节点。
71.目标参与终端的网络参数满足预设通信条件。
72.本技术发明人考虑到参与终端的训练数据量的分布不均衡会极大影响联邦学习全局模型的精确度,因此,本实施例通过设置数据量小的参与终端的模型参数所占的权重较低,进而较小程度地对联邦学习全局模型的产生影响;数据量大的参与终端的模型参数
所占的权重较高,进而较大程度地对联邦学习全局模型的产生影响。因此,该加权聚合方式通过综合各个参与终端训练得到的模型参数,在一定程度上消除了参与终端的训练数据量不均衡问题对数据模型的训练精确度的影响,有利于联邦学习全局模型的优化。
73.步骤s202:主服务节点基于各个目标参与终端对应的权重对接收到的更新后的模型参数进行聚合处理。
74.在本实施例中,通过以下公式对接收到的更新后的模型参数进行聚合处理:
[0075][0076]
其中,a表示第t次迭代的聚合模型参数,∑表示求和操作,n表示参与终端的个数,a
i,t
表示第t次迭代的第i个参与终端的模型参数,si表示第i个参与终端的提供的训练数据的总数,其中,i=1,2,
……
,n。
[0077]
在一个示例性实施例中,联邦学习框架还包括至少一个边缘节点,每个边缘节点分别连接主服务节点和至少一个参与终端。示例性地,参与图3,图3是图1所示实施例中步骤s104一示例性实施例的流程图,如图3所示,步骤s104包括步骤s301-步骤s302,详细叙述如下:
[0078]
步骤s301:若各个参与终端的网络参数满足预设通信条件,则对应参与终端将对应的更新后的模型参数发送至与其连接的边缘节点。
[0079]
步骤s302:各个边缘节点对接收到的更新后的模型参数进行聚合处理,若对应边缘节点的网络参数满足预设通信条件,将聚合处理得到的模型参数发送至主服务节点。
[0080]
在本实施例中,各个边缘节点对接收到的更新后的模型参数进行聚合处理,在边缘节点的网络参数满足预设通信条件的条件下,将聚合处理得到的更新后的模型参数发送至主服务节点。
[0081]
若某个边缘节点的网络参数不满足预设通信条件,则放弃对应边缘节点所连接的参与终端的训练数据的信息,以在降低通信成本的同时,提高数据模型的训练效率。可以理解的是,联邦学习框架包括的边缘节点不一定都是同层关系,也有可能是上下级关系,即边缘节点可能连接边缘节点,也即,在参与终端和主服务节点之间,可能包括相互连接的多层级关系的边缘节点,在这种情况下,为进一步提高数据模型的训练效率,降低模型训练的通信成本,在低级边缘节点向高级边缘节点发送更新后的模型参数时,均先判断边缘节点的网络参数是否满足预设通信条件,在满足预设通信条件的情况下,再将更新后的模型参数发送至上一级边缘节点。
[0082]
示例性地,各个边缘节点对接收到的更新后的模型参数进行聚合处理,若存在至少一个边缘节点的网络参数不满足预设通信条件,将对应边缘节点进行聚合处理得到的更新后的模型参数发送至连接的参与终端,以使得连接的各个参与终端基于对应边缘节点进行聚合处理得到的更新后的模型参数,并利用本地存储的训练数据对数据模型进行训练处理,得到连接的各个参与终端对应的更新后的模型参数。
[0083]
在本实施例中,若存在至少一个边缘节点的网络参数不满足预设通信条件,不将该边缘节点对接收到的更新后的模型参数进行聚合处理得到的更新后的模型参数发送至主服务节点,由于该边缘节点对接收到的更新后的模型参数进行聚合处理得到的聚合处理得到的模型参数包括与该边缘节点连接的多个参与终端的训练数据相关,因此,为了利用
上这一部分信息,该边缘节点将进行聚合处理得到的更新后的模型参数发送至所有与其连接的参与终端,以使得所有与其连接的参与终端基于该聚合处理得到的模型参数和本地训练数据再次进行模型训练,得到更加精确的模型参数。
[0084]
示例性地,本实施例可以采用云边端的网络结构实施本实施例提供的基于联邦学习框架的模型训练方法,云边端的网络结构包括云数据中心、多个计算节点以及多个智能设备,其中,云数据中心相当于图1所示实施例中的主服务节点,各个计算节点相当于图1所示实施例中的边缘节点,智能设备相当于图1所示实施例中的参与终端,可以参考图1所示实施例来确定云数据中心、计算节点以及智能设备的作用,在此不做过多叙述。
[0085]
参阅图4,图4是根据一个示例性实施例示出的本发明所涉及的实施环境的示意图,如图4所示,本发明所涉及的实施环境包括云数据中心、第一计算节点、第二计算节点、第三计算节点、第四计算节点以及第一智能设备、第二智能设备、第三智能设备、第四智能设备、第五智能设备以及第六智能设备。
[0086]
其中,第一计算节点的两端分别连接云数据中心、第一智能设备和第二智能设备,第二计算节点的两端分别连接云数据中心和、第三计算节点、第四计算节点,第三计算节点的两端分别连接第二计算节点、第三智能设备和第四智能设备,第四计算节点的两端分别连接第二计算节点、第五智能设备和第六智能设备。
[0087]
参阅图5,图5是本技术另一示例性实施例示出的基于联邦学习框架的模型训练方法的示意图,如图5所示,本实施例提供的基于联邦学习框架的模型训练方法包括以下步骤:
[0088]
云数据中心下发初始模型,开启联邦学习训练。
[0089]
第一计算节点下发初始模型。
[0090]
第二计算节点选择智能设备,下发初始模型。
[0091]
智能设备根据本地数据训练模型。
[0092]
智能设备判断是否满足上一级通信条件,若判断为是,上传更新后的模型参数,若判断为否,迭代执行本地数据训练。
[0093]
第二计算节点加权聚合得到局部模型参数。
[0094]
第二计算节点判断是否满足上一级通信条件,若判断为是,上传更新后的局部模型参数,若判断为否,迭代执行局部数据训练。
[0095]
第一计算节点加权聚合得到局部模型参数。
[0096]
第一计算节点判断是否满足上一级通信条件,若判断为是,上传更新后的局部模型参数,若判断为否,迭代执行局部数据训练。
[0097]
云数据中心加权聚合得到全局模型参数。
[0098]
参阅图6,图6是本技术一示例性实施例示出的基于联邦学习框架的模型训练装置的框图,如图6所示,基于联邦学习框架的模型训练装置400包括控制模块401、第一发送模块402、训练模块403、第二发送模块404以及聚合处理模块405。
[0099]
其中,控制模块401用于控制主服务节点将数据模型的初始模型参数作为待更新的模型参数;第一发送模块402用于控制主服务节点将待更新的模型参数发送至各个参与终端;训练模块403用于各个参与终端分别基于待更新的模型参数并利用本地存储的训练数据对数据模型进行训练处理,得到各个参与终端对应的更新后的模型参数;第二发送模
块404用于控制若各个参与终端的网络参数满足预设通信条件,则对应参与终端将对应的更新后的模型参数发送至主服务节点;聚合处理模块405用于控制主服务节点对接收到的更新后的模型参数进行聚合处理,若得到的第一聚合模型参数不能使数据模型满足预设的收敛条件,则将第一聚合模型参数作为待更新的模型参数,并跳转至主服务节点将待更新的模型参数发送至参与终端的步骤,反之,则将第一聚合模型参数带入数据模型,其中,联邦学习框架包括主服务节点以及与主服务节点连接的至少一个参与终端。
[0100]
在另一示例性实施例中,聚合处理模块405包括配置单元和第一聚合处理单元,其中,配置单元用于主服务节点基于各个目标参与终端对应的训练数据的个数为对应目标参与终端配置对应的权重,目标参与终端的网络参数满足预设通信条件;第一聚合处理单元用于主服务节点基于各个目标参与终端对应的权重对接收到的更新后的模型参数进行聚合处理。
[0101]
在另一示例性实施例中,第二发送模块404包括发送单元和第二聚合处理单元,其中,发送单元用于若各个参与终端的网络参数满足预设通信条件,则对应参与终端将对应的更新后的模型参数发送至连接的边缘节点;第二聚合处理单元用于各个边缘节点对接收到的更新后的模型参数进行聚合处理,若对应边缘节点的网络参数满足预设通信条件,将聚合处理得到的更新后的模型参数发送至主服务节点。
[0102]
需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
[0103]
在另一示例性实施例中,本技术提供一种电子设备,包括处理器和存储器,其中,存储器上存储有计算机可读指令,该计算机可读指令被处理器执行时实现如前的基于联邦学习框架的模型训练方法。
[0104]
图7示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
[0105]
需要说明的是,图7示出的电子设备的计算机系统1000仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0106]
如图7所示,计算机系统1000包括中央处理单元(central processing unit,cpu)1001,其可以根据存储在只读存储器(read-only memory,rom)1002中的程序或者从存储部分1008加载到随机访问存储器(random access memory,ram)1003中的程序而执行各种适当的动作和处理,例如执行上述实施例中的信息推荐方法。在ram 1003中,还存储有系统操作所需的各种程序和数据。cpu 1001、rom 1002以及ram 1003通过总线1004彼此相连。输入/输出(input/output,i/o)接口1005也连接至总线1004。
[0107]
以下部件连接至i/o接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如lan(local area network,局域网)卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至i/o接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
[0108]
特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机
软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(cpu)1001执行时,执行本技术的系统中限定的各种功能。
[0109]
需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0110]
附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0111]
描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
[0112]
本技术的另一方面还提供了一种计算机可读存储介质,其上存储有计算机可读指令,该计算机可读指令被处理器执行时实现如前实施例中任一项的基于联邦学习框架的模型训练方法。
[0113]
本技术的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的基于联邦学习框架的模型训练方法。
[0114]
需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0115]
附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0116]
描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
[0117]
上述内容,仅为本技术的较佳示例性实施例,并非用于限制本技术的实施方案,本领域普通技术人员根据本技术的主要构思和精神,可以十分方便地进行相应的变通或修改,故本技术的保护范围应以权利要求书所要求的保护范围为准。

技术特征:


1.一种基于联邦学习框架的模型训练方法,所述联邦学习框架包括主服务节点以及与所述主服务节点连接的至少一个参与终端,其特征在于,包括:所述主服务节点将数据模型的初始模型参数作为待更新的模型参数;所述主服务节点将所述待更新的模型参数发送至各个参与终端;各个参与终端分别基于所述待更新的模型参数并利用本地存储的训练数据对所述数据模型进行训练处理,得到各个参与终端对应的更新后的模型参数;若各个参与终端的网络参数满足预设通信条件,则对应参与终端将对应的更新后的模型参数发送至所述主服务节点;所述主服务节点对接收到的更新后的模型参数进行聚合处理,若得到的第一聚合模型参数不能使所述数据模型满足预设的收敛条件,则将所述第一聚合模型参数作为所述待更新的模型参数,并跳转至所述主服务节点将所述待更新的模型参数发送至所述参与终端的步骤,反之,则将所述第一聚合模型参数带入所述数据模型。2.根据权利要求1所述的方法,其特征在于,在所述若各个参与终端的网络参数满足预设通信条件,则对应参与终端将对应的更新后的模型参数发送至所述主服务节点之前,所述方法包括:在预设时间段内周期性地检测各个参与终端的网络参数是否满足所述预设通信条件。3.根据权利要求1所述的方法,其特征在于,所述判断各个参与终端的网络参数是否满足所述预设通信条件包括:若检测到各个参与终端的带宽大于第一预设阈值,且时延小于第二预设阈值,则确定对应参与终端的网络参数满足所述预设通信条件。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:若各个参与终端的网络参数满足所述预设通信条件,则对应参与终端将本地存储的训练数据的个数发送至所述主服务节点。5.根据权利要求4所述的方法,其特征在于,所述主服务节点对接收到的更新后的模型参数进行聚合处理包括:所述主服务节点基于各个目标参与终端对应的训练数据的个数为对应目标参与终端配置对应的权重,所述目标参与终端的网络参数满足所述预设通信条件;所述主服务节点基于各个目标参与终端对应的权重对接收到的更新后的模型参数进行聚合处理。6.根据权利要求1所述的方法,其特征在于,所述联邦学习框架还包括至少一个边缘节点,每个边缘节点分别连接所述主服务节点和至少一个参与终端;所述若各个参与终端的网络参数满足预设通信条件,则对应参与终端将对应的更新后的模型参数发送至所述主服务节点包括:若各个参与终端的网络参数满足所述预设通信条件,则对应参与终端将对应的更新后的模型参数发送至连接的边缘节点;各个边缘节点对接收到的更新后的模型参数进行聚合处理,若对应边缘节点的网络参数满足所述预设通信条件,将聚合处理得到的更新后的模型参数发送至所述主服务节点。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:各个边缘节点对接收到的更新后的模型参数进行聚合处理,若存在至少一个边缘节点
的网络参数不满足所述预设通信条件,将对应边缘节点进行聚合处理得到的更新后的模型参数发送至连接的参与终端,以使得所述连接的各个参与终端基于对应边缘节点进行聚合处理得到的更新后的模型参数,并利用本地存储的训练数据对所述数据模型进行训练处理,得到所述连接的各个参与终端对应的更新后的模型参数。8.一种基于联邦学习框架的模型训练装置,其特征在于,包括:控制模块,用于控制所述主服务节点将数据模型的初始模型参数作为待更新的模型参数;第一发送模块,用于控制所述主服务节点将所述待更新的模型参数发送至各个参与终端;训练模块,用于各个参与终端分别基于所述待更新的模型参数并利用本地存储的训练数据对所述数据模型进行训练处理,得到各个参与终端对应的更新后的模型参数;第二发送模块,用于控制若各个参与终端的网络参数满足预设通信条件,则对应参与终端将对应的更新后的模型参数发送至所述主服务节点;聚合处理模块,用于控制所述主服务节点对接收到的更新后的模型参数进行聚合处理,若得到的第一聚合模型参数不能使所述数据模型满足预设的收敛条件,则将所述第一聚合模型参数作为所述待更新的模型参数,并跳转至所述主服务节点将所述待更新的模型参数发送至所述参与终端的步骤,反之,则将所述第一聚合模型参数带入所述数据模型,其中,所述联邦学习框架包括主服务节点以及与所述主服务节点连接的至少一个参与终端。9.一种电子设备,其特征在于,包括:存储器,存储有计算机可读指令;处理器,读取存储器存储的计算机可读指令,以执行权利要求1-7中的任一项所述的方法。10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1-7中的任一项所述的方法。

技术总结


本申请的实施例揭示了一种模型训练方法、装置、电子设备以及存储介质,包括:主服务节点将数据模型的初始模型参数作为待更新的模型参数;各个参与终端利用本地存储的训练数据对数据模型进行训练,得到各个模型参数;若各个参与终端的网络参数满足通信条件,则对应参与终端将更新后模型参数发送至主服务节点;主服务节点对更新后的模型参数聚合,若得到的第一聚合模型参数不能使数据模型满足收敛条件,将第一聚合模型参数作为待更新的模型参数,跳转至主服务节点将待更新的模型参数发送至参与终端步骤,反之,将第一聚合模型参数带入数据模型。本实施例提供方法能节约联邦学习过程中的通信成本。的通信成本。的通信成本。


技术研发人员:

陈佳宁 周旭华

受保护的技术使用者:

中国电信股份有限公司

技术研发日:

2022.09.23

技术公布日:

2022/12/16

本文发布于:2024-09-23 14:35:33,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/40458.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:终端   模型   节点   参数
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议