本公开涉及机器学习,具体而言,涉及一种边缘学习方法、装置、电子设备及计算机可读介质。
背景技术:
1、边缘计算与人工智能相结合的边缘学习,无需共享原始数据就能联合边缘服务器完成模型训练,保护了终端用户的隐私,是边缘智能服务的核心技术。边缘学习可以实现边缘推理、传感器融合、终端设备部署后的自我改善,在工业界的应用场景日益丰富。
2、边缘学习侧重于通过分布式学习所有参与终端的本地数据来获得高质量的全局模型,需要所有参与终端就协作训练的共同模型达成一致。但是,由于边缘学习无法捕获每个终端的个性化信息,故在实际复杂的边缘网络中还面临终端异构性带来的挑战:(1)各个终端在存储、计算和通信能力方面存在异构性;(2)各个终端本地数据的非独立同分布所导致的数据异构性;(3)各个终端根据其应用场景所需要的模型异构性。还有,由于边缘无线网络环境的不稳定性,很难保障每一个更新轮次结束时,终端的本地更新模型能及时发送给边缘服务器,导致边缘学习效率低。
3、需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
1、本公开实施例提供一种边缘学习方法、装置、电子设备及计算机可读介质,至少一定程度上解决终端异构性以及边缘无线网络环境的不稳定性导致的边缘学习效率低的问题。
2、本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
3、根据本公开的一个方面,提供一种边缘学习方法,所述方法包括:边缘服务器发起学习任务,确定参与所述学习任务的多个终端节点,进入训练过程;所述边缘服务器向各个所述终端节点发送上一训练轮次的全局模型、上一训练轮次中参与训练的本地模型的价值评估结果、以及当前训练轮次;所述终端节点根据本地存算资源和所述上一训练轮次中参与训练的本地模型的价值评估结果,基于所述上一训练轮次的全局模型更新本地模型,向所述边缘服务器发送更新的本地模型;若所述边缘服务器接收到的各个所述终端节点发送的更新的本地模型的数量大于预设数量阈值,则所述边缘服务器确定当前训练轮次中参与训练的本地模型,并对所述当前训练轮次中参与训练的本地模型进行汇聚,得到当前训练轮次的全局模型;若所述边缘服务器确定所述当前训练轮次的全局模型达到收敛状态,则所述边缘服务器结束所述学习任务。
4、在本公开一些实施例中,所述方法还包括:若所述边缘服务器确定所述当前训练轮次的全局模型未达到收敛状态,则所述边缘服务器向各个所述终端节点发送所述当前训练轮次的全局模型、当前训练轮次中参与训练的本地模型的价值评估结果、以及下一训练轮次,进而各个所述终端节点启动下一轮训练。
5、在本公开一些实施例中,所述终端节点根据本地存算资源和所述上一训练轮次中参与训练的本地模型的价值评估结果,基于所述上一训练轮次的全局模型更新本地模型,向所述边缘服务器发送更新的本地模型,包括:若所述终端节点当前正在训练本地模型,则所述终端节点根据所述上一训练轮次中参与训练的本地模型的价值评估结果,确定所述终端节点在上一训练轮次中的价值贡献,进而计算所述本地存算资源和所述终端节点在上一训练轮次中的价值贡献的加权均值;若所述加权均值大于等于预设的模型更新阈值,则所述终端节点放弃当前正在训练的本地模型,基于所述上一训练轮次的全局模型进行训练,得到所述更新的本地模型,向所述边缘服务器发送所述更新的本地模型;若所述加权均值小于所述预设的模型更新阈值,则所述终端节点继续训练所述终端节点当前正在训练的本地模型,得到所述更新的本地模型,并向所述边缘服务器发送所述更新的本地模型。
6、在本公开一些实施例中,所述方法还包括:若所述终端节点当前未训练本地模型,则所述终端节点基于所述上一训练轮次的全局模型进行训练,得到所述更新的本地模型,并向所述边缘服务器发送所述更新的本地模型。
7、在本公开一些实施例中,所述基于所述上一训练轮次的全局模型进行训练,得到所述更新的本地模型,包括:所述终端节点基于所述上一训练轮次的全局模型,确定所述终端节点在上一训练轮次的本地模型,进而根据本地模型迭代公式和所述终端节点在上一训练轮次的本地模型进行训练,得到所述更新的本地模型。
8、在本公开一些实施例中,所述计算所述本地存算资源和所述终端节点在上一训练轮次中的价值贡献的加权均值,包括:所述终端节点计算第一权重系数和所述本地存算资源的第一乘积,以及计算第二权重系数和所述终端节点在上一训练轮次中的价值贡献的第二乘积,其中所述第一权重系数和所述第二权重系数为预先设置的系数,且所述第一权重系数和所述第二权重系数的和为1;所述终端节点计算所述第一乘积和所述第二乘积的和为所述加权均值。
9、在本公开一些实施例中,所述终端节点根据所述上一训练轮次中参与训练的本地模型的价值评估结果,确定所述终端节点在上一训练轮次中的价值贡献,包括:若所述终端节点参与上一训练轮次的全局模型汇聚,则所述终端节点从所述上一训练轮次中参与训练的本地模型的价值评估结果中,查询所述终端节点在上一训练轮次中的价值贡献;若所述终端节点未参与上一训练轮次的全局模型汇聚,则所述终端节点确定所述终端节点的最新价值贡献为所述终端节点在上一训练轮次中的价值贡献。
10、在本公开一些实施例中,所述边缘服务器确定当前训练轮次中参与训练的本地模型,并对所述当前训练轮次中参与训练的本地模型进行汇聚,得到当前训练轮次的全局模型,包括:所述边缘服务器确定当前训练轮次中各个参与训练的终端节点的本地模型,分别计算各个所述参与训练的终端节点的本地模型权重值;所述边缘服务器根据各个所述参与训练的终端节点的本地模型权重值,对各个所述参与训练的终端节点的本地模型进行加权求和,得到所述当前训练轮次的全局模型。
11、在本公开一些实施例中,所述分别计算各个所述参与训练的终端节点的本地模型权重值,包括:对于每个所述参与训练的终端节点,按照如下方法计算所述参与训练的终端节点的本地模型权重值:
12、所述边缘服务器确定所述参与训练的终端节点的本地模型接收时间;所述边缘服务器根据所述上一训练轮次的全局模型发送时间和所述参与训练的终端节点的本地模型接收时间,计算所述参与训练的终端节点的时间差值;所述边缘服务器将所述参与训练的终端节点的时间差值代入预设的递减函数中,并结合所述参与训练的终端节点的权重系数,得到所述参与训练的终端节点的本地模型权重值。
13、在本公开一些实施例中,所述方法还包括:对于每个所述参与训练的终端节点,按照如下方法计算所述参与训练的终端节点在所述当前训练轮次中的价值贡献:
14、所述边缘服务器基于测试数据对所述当前训练轮次的全局模型进行测试,得到所述当前训练轮次的全局模型的第一模型准确度;所述边缘服务器从所述当前训练轮次的全局模型中,将所述参与训练的终端节点的本地模型去除,得到新的全局模型,基于所述测试数据对所述新的全局模型进行测试,得到第二模型准确度;所述边缘服务器计算所述第一模型准确度与所述第二模型准确度的差值,确定所述差值为所述参与训练的终端节点在所述当前训练轮次中的贡献度;所述边缘服务器计算所述参与训练的终端节点在所述当前训练轮次中的贡献度与总贡献度的比例,确定所述比例为所述参与训练的终端节点在所述当前训练轮次中的价值贡献;其中,所述总贡献度为各个所述参与训练的终端节点在所述当前训练轮次中的贡献度的和值。
15、在本公开一些实施例中,所述方法还包括:所述边缘服务器根据各个所述参与训练的终端节点在所述当前训练轮次中的价值贡献,确定所述当前训练轮次中参与训练的本地模型的价值评估结果。
16、在本公开一些实施例中,在确定当前训练轮次中参与训练的本地模型之后,所述方法还包括:所述边缘服务器将接收到的更新的本地模型的数量设置为0。
17、根据本公开的又一个方面,提供一种边缘学习方法,所述方法由边缘服务器执行,所述方法包括:发起学习任务,确定参与所述学习任务的多个终端节点,进入训练过程;向各个所述终端节点发送上一训练轮次的全局模型、上一训练轮次中参与训练的本地模型的价值评估结果、以及当前训练轮次,以使得各个所述终端节点根据本地存算资源和所述上一训练轮次中参与训练的本地模型的价值评估结果,基于所述上一训练轮次的全局模型更新本地模型,得到更新的本地模型,并向所述边缘服务器发送所述更新的本地模型;若所述边缘服务器接收到的各个所述终端节点发送的更新的本地模型的数量大于预设数量阈值,则确定当前训练轮次中参与训练的本地模型,并对所述当前训练轮次中参与训练的本地模型进行汇聚,得到当前训练轮次的全局模型;若所述边缘服务器确定所述当前训练轮次的全局模型达到收敛状态,则结束所述学习任务。
18、根据本公开的又一个方面,提供一种边缘学习方法,所述方法由终端节点执行,所述方法包括:接收边缘服务器发送的上一训练轮次的全局模型、上一训练轮次中参与训练的本地模型的价值评估结果、以及当前训练轮次;根据本地存算资源和所述上一训练轮次中参与训练的本地模型的价值评估结果,基于所述上一训练轮次的全局模型更新本地模型,得到更新的本地模型;向所述边缘服务器发送所述更新的本地模型,以使得所述边缘服务器在接收到的更新的本地模型的数量大于预设数量阈值的情况下,确定当前训练轮次中参与训练的本地模型,并对所述当前训练轮次中参与训练的本地模型进行汇聚,得到当前训练轮次的全局模型。
19、根据本公开的又一个方面,提供一种边缘学习装置,所述装置应用于边缘服务器,包括:任务发起模块,用于发起学习任务,确定参与所述学习任务的多个终端节点,进入训练过程;参数发送模块,用于向各个所述终端节点发送上一训练轮次的全局模型、上一训练轮次中参与训练的本地模型的价值评估结果、以及当前训练轮次,以使得各个所述终端节点根据本地存算资源和所述上一训练轮次中参与训练的本地模型的价值评估结果,基于所述上一训练轮次的全局模型更新本地模型,得到更新的本地模型,并向所述边缘服务器发送所述更新的本地模型;模型汇聚模块,用于若所述边缘服务器接收到的各个所述终端节点发送的更新的本地模型的数量大于预设数量阈值,则确定当前训练轮次中参与训练的本地模型,并对所述当前训练轮次中参与训练的本地模型进行汇聚,得到当前训练轮次的全局模型;模型判断模块,用于若所述边缘服务器确定所述当前训练轮次的全局模型达到收敛状态,则结束所述学习任务。
20、根据本公开的又一个方面,提供一种边缘学习装置,所述装置应用于终端节点,包括:参数接收模块,用于接收边缘服务器发送的上一训练轮次的全局模型、上一训练轮次中参与训练的本地模型的价值评估结果、以及当前训练轮次;模型更新模块,用于根据本地存算资源和所述上一训练轮次中参与训练的本地模型的价值评估结果,基于所述上一训练轮次的全局模型更新本地模型,得到更新的本地模型;模型发送模块,用于向所述边缘服务器发送所述更新的本地模型,以使得所述边缘服务器在接收到的更新的本地模型的数量大于预设数量阈值的情况下,确定当前训练轮次中参与训练的本地模型,并对所述当前训练轮次中参与训练的本地模型进行汇聚,得到当前训练轮次的全局模型。
21、根据本公开的又一个方面,提供一种电子设备,包括:一个或多个处理器;存储装置,配置为存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的边缘学习方法。
22、根据本公开的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中所述的边缘学习方法。
23、本公开示例实施方式的边缘学习方法中,在每一轮的模型训练中,边缘服务器向所有参与的终端节点发送上一训练轮次的全局模型和训练相关的参数,然后各个终端节点可以利用本地存算资源,根据接收的全局模型和训练相关的参数更新其自身的本地模型,并将更新的本地模型发送至边缘服务器。所以,终端节点能够根据本地存算资源和本地数据差异执行个性化的本地模型更新,解决终端异构性的问题,优化本地模型训练的效率。以及,边缘服务器在判断接收到的更新的本地模型的数量大于预设数量阈值的情况下,确定参与当前训练轮次的本地模型,对这些本地模型进行汇聚以得到当前训练轮次的全局模型。如此,边缘服务器无需等待所有的终端节点均反馈更新的本地模型后才开始全局模型汇聚,避免了由于边缘网络不稳定导致的等待时间过长的问题,提高边缘学习效率。
24、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
1.一种边缘学习方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述终端节点根据本地存算资源和所述上一训练轮次中参与训练的本地模型的价值评估结果,基于所述上一训练轮次的全局模型更新本地模型,向所述边缘服务器发送更新的本地模型,包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求3或4任一所述的方法,其特征在于,所述基于所述上一训练轮次的全局模型进行训练,得到所述更新的本地模型,包括:
6.根据权利要求3所述的方法,其特征在于,所述计算所述本地存算资源和所述终端节点在上一训练轮次中的价值贡献的加权均值,包括:
7.根据权利要求6所述的方法,其特征在于,所述终端节点根据所述上一训练轮次中参与训练的本地模型的价值评估结果,确定所述终端节点在上一训练轮次中的价值贡献,包括:
8.根据权利要求2所述的方法,其特征在于,所述边缘服务器确定当前训练轮次中参与训练的本地模型,并对所述当前训练轮次中参与训练的本地模型进行汇聚,得到当前训练轮次的全局模型,包括:
9.根据权利要求8所述的方法,其特征在于,所述分别计算各个所述参与训练的终端节点的本地模型权重值,包括:
10.根据权利要求3所述的方法,其特征在于,所述方法还包括:
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
12.根据权利要求1所述的方法,其特征在于,在确定当前训练轮次中参与训练的本地模型之后,所述方法还包括:所述边缘服务器将接收到的更新的本地模型的数量设置为0。
13.一种边缘学习方法,其特征在于,所述方法由边缘服务器执行,所述方法包括:
14.一种边缘学习方法,其特征在于,所述方法由终端节点执行,所述方法包括:
15.一种边缘学习装置,其特征在于,所述装置应用于边缘服务器,包括:
16.一种边缘学习装置,其特征在于,所述装置应用于终端节点,包括:
17.一种电子设备,其特征在于,包括:
18.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至14中任一项所述的方法。