一种云边协同感知的方法及系统
文献发布时间:2023-06-19 10:18:07
技术领域
本发明涉及云计算领域,特别是涉及一种云边协同感知的方法及系统。
背景技术
随着物联网时代的到来,智能手机、监测站、监控摄像头等传感设备被应用于各个领域,并且通过这些传感设备生成异构的感知数据。一般将异构的感知数据给云服务器,通过在云服务器上聚合感知数据进行集中学习。
由于云服务器集中学习计算负载比较大,对于大规模物联网感知,云服务器集中学习变得不切实际。而,传感设备设置于边缘节点内,此边缘节点具有存储和计算能力。因此,在边缘节点可以使用感知数据学习。然而,对于单个边缘节点来说,它收集到的数据往往是有限的,从而使得单个边缘节点感知准确性较低。
发明内容
本发明实施例的目的在于提供一种云边协同感知的方法及系统,用以解决现有技术中单个边缘节点感知准确性较低的技术问题。具体技术方案如下:
第一方面,本发明实施例提供了一种云边协同感知的方法,所述方法包括:
步骤A,云服务器获取本通信轮次内由目标边缘节点上报的边缘模型;所述边缘模型为各目标边缘节点根据第一历史时间段内的边缘感知数据作为本地训练集训练得到的;
步骤B,云服务器对本次通信轮次获取的所有边缘模型进行同步聚合,得到全局模型参数;所述全局模型参数为本次通信轮次获取的所有边缘模型,对应所有目标边缘节点的模型参数;并将所述全局模型参数及为目标边缘节点训练时使用的超参数,下发至本次通信轮次获取的所有边缘模型对应的所有目标边缘节点;
步骤C,各目标边缘节点下载所述全局模型参数及所述超参数,将上一次通信轮次的全局模型参数作为本通信轮次内的全局模型参数;
步骤D,各目标边缘节点采用弹性更新算法及所述超参数,将本通信轮次内的全局模型参数与上一通信轮次的边缘模型参数之间的加权结果,更新上一轮通信轮次的边缘模型,得到本次通信轮次的边缘模型;其中,所述弹性更新算法中包括弹性权重,所述弹性权重用于表征全局模型和上一轮通信轮次的边缘模型的差异;所述弹性权重包括:所述全局模型参数的弹性权重以及上一通信轮次的边缘模型的弹性权重;
步骤E,各目标边缘节点根据所述本地训练集,训练本次通信轮次的边缘模型,得到新的边缘模型;
步骤F,各目标边缘节点判断新的边缘模型是否达到收敛条件;
步骤G,各目标边缘节点判定新的边缘模型未达到收敛条件,则将新的边缘模型作为本通信轮次的边缘模型,上报本通信轮次的边缘模型,返回执行步骤A,直至新的边缘模型达到收敛条件,将最后一次重新确定的新的边缘模型,作为最终边缘模型,以使得各目标边缘节点使用最终边缘模型预测未来时间段内的边缘感知数据。
进一步的,所述云服务器对本次通信轮次获取的所有边缘模型进行同步聚合,得到全局模型参数,包括:
云服务器获取本通信轮次内由目标边缘节点上报的边缘模型;判断本通信轮次目标边缘节点累计数量是否达到软同步聚合阈值n;
云服务器判定本通信轮次目标边缘节点累计数量达到软同步聚合阈值n,则对本次通信轮次获取的所有边缘模型进行同步聚合,得到全局模型参数。
进一步的,采用如下公式:
其中,
进一步的,所述云服务器获取本通信轮次内由目标边缘节点上报的边缘模型之前,所述方法还包括:
云服务器对边缘节点集合中各目标边缘节点生成统一模型参数,作为全局模型参数;并将各全局模型参数以及为目标边缘节点训练时使用的超参数,下发至各目标边缘节点;
各目标边缘节点在第一通信轮次内下载所述全局模型参数以及所述超参数,使用所述全局模型参数对边缘模型参数进行初始化,以使得各边缘模型的初始化的边缘模型参数一致;
各目标边缘节点在使用所述全局模型参数对边缘模型参数进行初始化后,获取本地训练集;
各目标端边缘节点基于所述本地训练集以及所述超参数,对初始化后的边缘模型进行训练,得到本次通信轮次的边缘模型;并在第一通信轮次中上传所述本次通信轮次的边缘模型至云服务器。
进一步的,所述各目标端边缘节点基于所述本地训练集以及所述超参数,对初始化后的边缘模型进行训练,得到本次通信轮次的边缘模型,包括:
各目标边缘节点获取本地训练集;
各目标边缘节点基于所述超参数中的训练次数E,得到训练迭代次数
各目标边缘节点基于所述本地训练集及所述超参数中的样本条数,将如下公式:
其中,
各目标端边缘节点在所述第一通信轮次中上传所述本次通信轮次的边缘模型至云服务器;
所述云服务器采用如下公式,对本次通信轮次获取的所有边缘模型进行同步聚合,得到全局模型参数:
其中,
进一步的,所述弹性更新算法为:w
其中,w
第二方面,本发明实施例提供了一种云边协同感知的系统,包括:
云服务器,用于获取本通信轮次内由目标边缘节点上报的边缘模型;所述边缘模型为各目标边缘节点根据第一历史时间段内的边缘感知数据作为本地训练集训练得到的;对本次通信轮次获取的所有边缘模型进行同步聚合,得到全局模型参数;所述全局模型参数为本次通信轮次获取的所有边缘模型,对应所有目标边缘节点的模型参数;并将所述全局模型参数及为目标边缘节点训练时使用的超参数,下发至本次通信轮次获取的所有边缘模型对应的所有目标边缘节点;
各目标边缘节点,用于下载所述全局模型参数及所述超参数,将上一次通信轮次的全局模型参数作为本通信轮次内的全局模型参数;采用弹性更新算法及所述超参数,将本通信轮次内的全局模型参数与上一通信轮次的边缘模型参数之间的加权结果,更新上一轮通信轮次的边缘模型,得到本次通信轮次的边缘模型;其中,所述弹性更新算法中包括弹性权重,所述弹性权重用于表征全局模型和上一轮通信轮次的边缘模型的差异;所述弹性权重包括:所述全局模型参数的弹性权重以及上一通信轮次的边缘模型的弹性权重;根据所述本地训练集,训练本次通信轮次的边缘模型,得到新的边缘模型;判断新的边缘模型是否达到收敛条件;判定新的边缘模型未达到收敛条件,则将新的边缘模型作为本通信轮次的边缘模型,上报本通信轮次的边缘模型,返回执行云服务器获取本通信轮次内由目标边缘节点上报的边缘模型的步骤,直至新的边缘模型达到收敛条件,将最后一次重新确定的新的边缘模型,作为最终边缘模型,以使得各目标边缘节点使用最终边缘模型预测未来时间段内的边缘感知数据。
进一步的,所述云服务器,用于对本次通信轮次获取的所有边缘模型进行同步聚合,得到全局模型参数,包括:
云服务器,用于获取本通信轮次内由目标边缘节点上报的边缘模型;判断本通信轮次目标边缘节点累计数量是否达到软同步聚合阈值n;判定本通信轮次目标边缘节点累计数量达到软同步聚合阈值n,则对本次通信轮次获取的所有边缘模型进行同步聚合,得到全局模型参数。
进一步的,所述系统还包括:
所述云服务器,用于获取本通信轮次内由目标边缘节点上报的边缘模型之前,对边缘节点集合中各目标边缘节点生成统一模型参数,作为全局模型参数;并将各全局模型参数以及为目标边缘节点训练时使用的超参数,下发至各目标边缘节点;
各目标边缘节点,用于在第一通信轮次内下载所述全局模型参数以及所述超参数,使用所述全局模型参数对边缘模型参数进行初始化,以使得各边缘模型的初始化的边缘模型参数一致;在使用所述全局模型参数对边缘模型参数进行初始化后,获取本地训练集;基于所述本地训练集以及所述超参数,对初始化后的边缘模型进行训练,得到本次通信轮次的边缘模型;并在第一通信轮次中上传所述本次通信轮次的边缘模型至云服务器。
进一步的,所述各目标边缘节点,用于获取本地训练集,基于所述本地训练集、所述为目标边缘节点训练时使用的超参数的训练次数及样本条数,对初始化后的边缘模型进行训练,得到本次通信轮次的边缘模型,包括:
各目标边缘节点,用于获取本地训练集;基于所述超参数中的训练次数E,得到训练迭代次数
其中,
各目标端边缘节点在所述第一通信轮次中上传所述本次通信轮次的边缘模型至云服务器;
所述云服务器采用如下公式,对本次通信轮次获取的所有边缘模型进行同步聚合,得到全局模型参数:
其中,
本发明实施例有益效果:
本发明实施例提供的本发明实施例提供一种云边协同感知的方法及系统,各边缘节点获取并采用弹性更新算法,将所述全局模型参数与上一通信轮次的边缘模型之间的加权结果,更新上一轮通信轮次的边缘模型,得到本次通信轮次的边缘模型;根据所述本地训练集,训练本次通信轮次的边缘模型,得到新的边缘模型,进而得到最终边缘模型。这样各边缘节点在得到全局模型参数的情况下,从共享全局模型中获得大量数据带来的增益,而不需要集中存储数据,并且依然按照本地训练集对新的边缘模型进行训练,保留了边缘节点的个性,这样通过在边缘节点中训练,得到最终边缘模型,也可以减少云服务器集中学习的计算负担,同时也保护用户隐私。同时,通过多次弹性更新,使用本地训练集对边缘模型进行训练,得到的最终边缘模型更接近于实际感知,从而实现更加准确的感知。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的云边协同感知的系统框架图;
图2为本发明实施例提供的一种云边协同感知的方法的第一流程示意图;
图3为本发明实施例提供的一种云边协同感知的方法的第二流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着物联网时代的到来,智能手机、监测站、监控摄像头等传感设备被应用于各个领域,并且通过这些传感设备生成异构的感知数据
TSensors峰会预测,到2025年,传感器将产生1000万亿字节数量级的数据。另一方面,专注于深度学习的人工智能(Artificial Intelligence,简称AI)的崛起,提供了从大量感知数据中提取洞察力的能力。近年来,深度神经网络,如卷积神经网络和循环神经网络等,在检测、分类和预测方面,与其他方法如基于物理的模型相比,表现出了非常有前途的表现。因此,人工智能正在开启一波数据驱动的传感应用,而深度学习任务正在成为大数据处理中的主要工作方式。
由于云服务器集中学习计算负载比较大,对于大规模物联网感知,云服务器集中学习说变得不切实际。而,传感设备设置于边缘节点内,此边缘节点具有存储和计算能力。因此,在边缘节点可以使用感知数据学习。然而,对于单个边缘节点来说,它收集到的数据往往是有限的,从而使得单个边缘节点感知准确性较低。
为了解决单个边缘节点感知准确性较低的问题,因此本发明实施例提供一种云边协同感知的方法及系统,各边缘节点获取并采用弹性更新算法,将所述全局模型参数与上一通信轮次的边缘模型之间的加权结果,更新上一轮通信轮次的边缘模型,得到本次通信轮次的边缘模型;根据所述本地训练集,训练本次通信轮次的边缘模型,得到新的边缘模型,进而得到最终边缘模型。这样各边缘节点在得到全局模型参数的情况下,依然按照本地训练集对新的边缘模型进行训练,保留了边缘节点的个性。这样各边缘节点在得到全局模型参数的情况下,从共享全局模型中获得大量数据带来的增益,而不需要集中存储数据,并且依然按照本地训练集对新的边缘模型进行训练,保留了边缘节点的个性,这样通过在边缘节点中训练,得到最终边缘模型,也可以减少云服务器集中学习的计算负担,同时也保护用户隐私。同时,通过多次弹性更新,使用本地训练集对边缘模型进行训练,得到的最终边缘模型更接近于实际感知,从而实现更加准确的感知。
下面首先对本发明实施例提供的云边协同感知的方法进行介绍。
本发明实施例所提供的一种云边协同感知的方法,应用于一种云边协同感知的系统框架,如图1所示。本发明实施例提供的云边协同感知的系统框架图,云边协同感知的系统框架包括:云服务器和至少一个以上边缘节点。其中,
每个边缘节点具有一个由多种传感器收集的感知数据构成的本地边缘感知数据集。在边缘节点训练边缘模型过程中,可以将本地边缘感知数据集(图1中简称数据集)作为本地训练集。
本发明实施例加入了弹性更新算法和n软同步过程。将关于弹性更新算法部分部署在边缘节点上,将n软同步过程部署在云服务器。
上述弹性更新算法为了实现边缘模型的弹性更新,即通过全局模型和边缘模型的差异,在每通信轮次(注:一个完整的通信轮次包含全局模型下载和边缘模型上传,下文以下载与上传进行区分),使用全局模型对边缘模型进行本地更新,以此在得到全局信息的情况下,依然保留边缘节点的个性。
上述n软同步过程,通过软同步聚合阈值n设置当云服务器收到n个边缘节点的边缘模型参数,即开始全局模型聚合,使得服务器端等待时间降低,总训练时间减少。为了布局清楚,关于弹性更新算法、n软同步过程、边缘模型训练过程等在后文中予以介绍。
如图2所示,本发明实施例所提供的一种云边协同感知的方法,该方法可以包括如下步骤:
步骤11,云服务器获取本通信轮次内由目标边缘节点上报的边缘模型;所述边缘模型为各目标边缘节点根据第一历史时间段内的边缘感知数据作为本地训练集训练得到的。其中,第一历史时间段为用户设置的时间段,在此第一历史时间段的边缘感知数据为已知数据,第一历史时间段内的边缘感知数据作为本地训练集。
需要说明的是,参见图1,云边协同感知的系统中包括云服务器和至少一个以上边缘节点。在这至少一个以上边缘节点中,存在需要与云服务器协同训练的边缘节点,这些参与协同训练的边缘节点形成一个边缘节点集合。这些云服务器可以为这些边缘节点集合中的各边缘节点下发信息。
而,在一通信轮次中,边缘节点可以完成从云服务器下载信息或向云服务器上报信息。此处的通信轮次可以是用户预先定义通信时间长度。而本通信轮次可以包括第一通信轮次,及第一通信轮次以后的各通信轮次。
而,对于边缘节点而言,参与协同训练的边缘节点可以称为目标边缘节点,其可以上报边缘模型给云服务器。对于云服务器而言,当前接收到哪个或哪些边缘节点上报的边缘模型,那么这个或这些边缘节点,即为目标边缘节点。
在云服务器接收目标边缘节点上报的边缘模型的过程中,上述步骤11的一种实现方式可以为:云服务器获取本通信轮次内由目标边缘节点上报的边缘模型,这样云服务器可以接收完所有目标边缘节点上报的边缘模型以后,再执行步骤12,可以同时对所有目标边缘节点进行同步聚合,即同时将云服务器管理的所有边缘节点进行同步聚合。
但是,上述一种实现方式中,在接收完所有目标边缘节点上报的边缘模型以后,之前目标边缘节点上报的边缘模型一直未执行步骤12,但之前目标边缘节点一直占用着云服务器会导致云服务器的资源一直处于占用状态,会影响云服务器的运行性能。对此,本发明实施例提供了一种n软同步过程,此n软同步过程为:
对云服务器接收上报的边缘模型对应的目标边缘节点进行限制,即本通信轮次目标边缘节点累计数量达到软同步聚合阈值n,然后对本通信轮次内的目标边缘节点进行同步聚合(即执行后续步骤12)。这样每通信轮次内仅仅处理达到软同步聚合阈值n的目标边缘节点进行同步聚合(即执行后续步骤12),因此,上述步骤11的另一种实现方式为:
云服务器获取本通信轮次内由目标边缘节点上报的边缘模型;判断本通信轮次目标边缘节点累计数量是否达到软同步聚合阈值n;云服务器判定本通信轮次目标边缘节点累计数量达到软同步聚合阈值n,则对本次通信轮次获取的所有边缘模型进行同步聚合,得到全局模型参数。
其中,此软同步聚合阈值n可以根据用户需求进行设置,此软同步聚合阈值n小于所有目标边缘节点的总数量(即边缘节点集合)。这样可以获取到本通信轮次目标边缘节点累计数量小于所有目标边缘节点的总数量。这样当云服务器收到n个目标边缘节点上报的边缘模型时,后续对本次通信轮次获取的所有边缘模型进行同步聚合,得到全局模型参数;这样相对于同时将云服务器管理的所有边缘节点进行同步聚合而言,在上述另一种实现方式中,可以减少云服务器在本通信轮次内的等待时间降低,减少在本通信轮次内云服务器的占用资源;并且,云服务器不用等到接收到所有目标边缘节点上报的边缘模型,只是对软同步聚合阈值n个的目标边缘节点进行同步聚合后,就下发全局模型,然后及时下发至目标边缘节点,从而提高边缘模型训练的效率。
步骤12,云服务器对本次通信轮次获取的所有边缘模型进行同步聚合,得到全局模型参数;所述全局模型参数为本次通信轮次获取的所有边缘模型,对应所有目标边缘节点的模型参数;并将所述全局模型参数及为目标边缘节点训练时使用的超参数,下发至本次通信轮次获取的所有边缘模型对应的所有目标边缘节点。
需要说明的是,未上传新的边缘模型参数的边缘节点并不影响同步聚合。且只有参与聚合的目标边缘节点会收到新的全局模型,即所述全局模型参数及为目标边缘节点训练时使用的超参数。未参与同步聚合的边缘节点继续在边缘节点进行本地训练,直至训练完毕后参与下一通信轮次的同步聚合。
为了方便理解全局,此处进行说明:云边协同感知的系统框架包括:云服务器和至少一个以上边缘节点。每个边缘节点相较于感知系统中所有边缘节点,称为局部。每个边缘节点的边缘模型可以称为局部模型。而,云服务器用来处理两个以上边缘节点的信息,相较于每个边缘节点而言,称为全局。云服务器用来处理两个以上边缘节点的模型,可以称为全局模型。此处云服务器所处理的边缘节点是超过一个边缘节点的,可以处理所有边缘节点,也可以处理目标边缘节点。
同时,全局模型参数用于调整所有边缘模型的系数,这些系数是可以变化,也可以称为弹性,而模型中包含有模型参量,这些模型参量也是一些固定参量。模型包括模型参量及弹性系数,比如,弹性系数a
上述全局模型的同步聚合是基于边缘节点的数据量确定的,而局部模型的更新根据各边缘节点的边缘模型的特征来确定。具体详述如下:
步骤13,各目标边缘节点下载所述全局模型参数及所述超参数,将上一次通信轮次的全局模型参数作为本通信轮次内的全局模型参数。
步骤14,各目标边缘节点采用弹性更新算法及所述超参数,将本通信轮次内的全局模型参数与上一通信轮次的边缘模型参数之间的加权结果,更新上一轮通信轮次的边缘模型,得到本次通信轮次的边缘模型;其中,所述弹性更新算法中包括弹性权重,所述弹性权重用于表征全局模型和上一轮通信轮次的边缘模型的差异;所述弹性权重包括:所述全局模型参数的弹性权重以及上一通信轮次的边缘模型的弹性权重。
各目标边缘节点在第二通信轮次以及第二通信轮次以后的各通信轮次中,下载了新的全局模型参数以后。如果直接使用全局模型参数替换边缘模型,会消除边缘模型本身的特征,造成训练时间的浪费。同时,当一个目标边缘节点的数据分布与其他目标边缘节点差异过大时,使用全局模型反而会降低准确性。因此,为了实现全局模型和边缘模型的弹性更新,本发明实施例引入弹性参数α,根据全局模型与上一轮通信轮次的边缘模型之间的距离,来衡量全局模型与上一轮通信轮次的边缘模型的差异,因此,为了能够实现弹性更新,上述弹性更新算法为:w
其中,w
步骤15,各目标边缘节点根据所述本地训练集,训练本次通信轮次的边缘模型,得到新的边缘模型。
步骤16,各目标边缘节点判断新的边缘模型是否达到收敛条件,如果否,也就是,各目标边缘节点判定新的边缘模型未达到收敛条件,则执行步骤17,如果是,也就是各目标边缘节点判定新的边缘模型达到收敛条件,则执行步骤18。
当新的边缘模型未达到收敛条件时,说明新的边缘模型预测未来时间段内的边缘感知数据并不准确,因此需要继续进行迭代训练;直至新的边缘模型达到收敛条件时,可以将最后一次重新确定的新的边缘模型,作为最终边缘模型。
通过迭代次数、本次通信轮次新的边缘模型的准确度或者本次通信轮次的新的边缘模型是否收敛,来确定上述收敛条件。上述步骤16中可以通过多种方式各目标边缘节点判断新的边缘模型是否达到收敛条件,在一种可能的实现方式中,获取第一历史时间段之后相邻的第二历史时间段内的边缘感知数据作为本地测试集,本地测试集用于得到新的边缘模型时,通过新的边缘模型预测第二历史时间段内的边缘感知数据,得到测试的预测结果,用以测试,判断测试的预测结果,与本地测试集进行比较,确定新的边缘模型预测准确度;若准确度超过预设准确度,则判定本次通信轮次的新的边缘模型达到收敛条件,若准确度未达到预设准确度,则判定本次通信轮次的新的边缘模型未达到收敛条件。
在又一种可能的实现方式中,比较本次通信轮次的新的边缘模型相较于上一通信轮次的新的边缘模型收敛不变或差异是否小于预设差异;如果本次通信轮次的新的边缘模型相较于上一通信轮次的新的边缘模型收敛不变或差异小于预设差异,则判定新的边缘模型达到收敛条件,如果本次通信轮次的新的边缘模型相较于上一通信轮次的新的边缘模型收敛变化差异不小于预设差异,则判定本次通信轮次的新的边缘模型未达到收敛条件。这样可以判断本次通信轮次的新的边缘模型是否达到收敛条件。
在另一种可能的实现方式中,判断迭代次数是否达到最大迭代次数,则判断迭代次数达到最大迭代次数,则判定本次通信轮次的新的边缘模型达到收敛条件;如果判断迭代次数达到最大迭代次数,则判断迭代次数达到最大迭代次数。
步骤17,将新的边缘模型作为本通信轮次的边缘模型,上报本通信轮次的边缘模型,返回执行步骤11;这里继续返回执行步骤12至步骤16,也就是,第p次重新确定新的边缘模型,其中,1
步骤18,将最后一次重新确定的新的边缘模型,作为最终边缘模型,以使得各目标边缘节点使用最终边缘模型预测未来时间段内的边缘感知数据。
未来时间段可以是根据用户需要设置的,可以是得到最终边缘模型的时刻作为起始时刻的一段时间内。
在本发明实施例中,各边缘节点获取并采用弹性更新算法,将所述全局模型参数与上一通信轮次的边缘模型之间的加权结果,更新上一轮通信轮次的边缘模型,得到本次通信轮次的边缘模型;根据所述本地训练集,训练本次通信轮次的边缘模型,得到新的边缘模型,进而得到最终边缘模型。这样各边缘节点在得到全局模型参数的情况下,从共享全局模型中获得大量数据带来的增益,而不需要集中存储数据,并且依然按照本地训练集对新的边缘模型进行训练,保留了边缘节点的个性,这样通过在边缘节点中训练,得到最终边缘模型,也可以减少云服务器集中学习的计算负担,同时也保护用户隐私。同时,通过多次弹性更新,使用本地训练集对边缘模型进行训练,得到的最终边缘模型更接近于实际感知,从而实现更加准确的感知。
需要说明的是,上述本地训练集可以为具有分布式采集特性的边缘感知数据。边缘感知数据的格式与边缘节点进行的任务有关。以下仅仅是举例说明,但并不限于包括以下时序数据和图像数据中的一种或多种:
1、具有连续性和固定的时间间隔的时序数据包括:空气质量监测站采集的信号比如PM
2、图像数据包括:移动设备采集的环境图像、交通等监控摄像头采集的车辆图像一种或多种数据。
结合上述本发明实施例,以下详细叙述本发明实施例的具体实现过程:
(1)、在步骤11之前,边缘节点对边缘模型的初始化,云服务器获取用于弹性更新的第一通信轮次的边缘模型,而第一通信轮次的边缘模型获取方式有多种,具体说明如下:
为了得到新的边缘模型以便进行后续的弹性更新及服务器接收本通信轮次内上报的边缘模型的各目标边缘节点的同步聚合,在上述步骤11之前,所述方法还包括:
各目标边缘节点接收到云服务器下发的一个所有目标边缘节点统一训练开启的指令,则各目标边缘节点根据所述本地训练集,训练本次通信轮次的边缘模型,得到新的边缘模型。这样各目标边缘节点仅仅使用本地训练集及本地的模型,得到新的边缘模型。
虽然使用上述新的边缘模型可以执行步骤11及其之后的步骤,但是由于各目标边缘节点的本地的模型存在差异较大,导致得到最终边缘模型收敛速度过慢,因此,为了能够有利于快速训练得到最终边缘模型,参见图3,在上述步骤11之前,所述方法还包括:
步骤101,云服务器对边缘节点集合中各目标边缘节点生成统一模型参数,作为全局模型参数;并将各全局模型参数下发至各目标边缘节点。与此同时,云服务器下发所述为目标边缘节点训练时使用的超参数至目标边缘节点;其中,所述包括:训练次数即各目标边缘节点在每一通信轮次中使用本地训练集中全部数据,对边缘模型进行完整训练的次数E、样本条数即边缘模型训练中,每进行一次反向传播时所使用的小批次样本的条数B以及软同步聚合阈值n。当然此处步骤101,可以是将各全局模型参数及超参数下发至各目标边缘节点。
其中,软同步聚合阈值n为云服务器收到目标边缘节点数量达到软同步聚合阈值n时,开始进行同步聚合(即步骤12)。当n=K和n=1时,全局模型的同步聚合方式等价为同步全局聚合和异步全局聚合,此种聚合方式可以认为是n软同步过程的特殊形式。
步骤102,各目标边缘节点在第一通信轮次内下载所述全局模型参数,使用所述全局模型参数对边缘模型参数进行初始化,以使得各边缘模型的初始化的边缘模型参数一致。
这样通过云服务器获取参与协同训练的边缘节点集合,将初始化的全局模型参数下发至所述边缘节点集合中的所有目标边缘节点;各目标边缘节点在第一通信轮次内下载所述初始化的全局模型参数,将所初始化的全局模型参数作为初始化的边缘模型参数,得到初始化后的边缘模型,以使得各边缘模型的初始化的边缘模型参数一致。这样云服务器统一下发全局模型参数至各目标边缘节点,更有利于快速训练得到最终边缘模型。其中,初始化全局模型参数
当然为了得到本次通信轮次的边缘模型,所述方法还包括:
步骤103,各目标端边缘节点在使用所述全局模型参数对边缘模型参数进行初始化后,获取本地训练集。
步骤104,各目标端边缘节点基于所述本地训练集以及所述超参数,对初始化后的边缘模型进行训练,得到本次通信轮次的边缘模型。
上述步骤104的一种可能的实现方式,包括:各目标边缘节点获取本地训练集;
各目标边缘节点基于所述超参数中的训练次数E,得到训练迭代次数
各目标边缘节点基于所述本地训练集及所述超参数中的样本条数,将如下公式:
其中,
其中,
F(w
其中f(w
步骤105,各目标端边缘节点在第一通信轮次中上传所述本次通信轮次的边缘模型至云服务器。然后执行上述步骤11。目标端边缘节点在所述第一通信轮次中上传所述本次通信轮次的边缘模型至云服务器。
(2)、执行上述步骤11获取边缘模型,进一步实现如下:上述云服务器获取第一通信轮次内由目标边缘节点上报的边缘模型;
(3)、为了在执行步骤11之后,云服务器更新的第一通信轮次边缘模型,得到全局模型参数,因此上述云服务器对第一通信轮次获取的所有边缘模型进行同步聚合,得到全局模型参数,进一步实现如下:
目标边缘节点在所述第一通信轮次中上传所述本次通信轮次的边缘模型至云服务器之后,所述云服务器采用如下公式,对本次通信轮次获取的所有边缘模型进行同步聚合,得到全局模型参数:
其中,
(4)、将所述全局模型参数及为目标边缘节点训练时使用的超参数,下发至本次通信轮次获取的所有边缘模型对应的所有目标边缘节点,为各目标边缘节点进行弹性更新,即执行上述步骤13及上述步骤14。除了第一通信轮次的边缘模型未进行弹性更新,也就是未执行步骤14的弹性更新,其他通信轮次的边缘模型需要进行弹性更新。
(5)、在步骤14得到本次通信轮次的边缘模型时,则执行步骤15的训练,因此,上述步骤15进一步实现如下:
各目标边缘节点获取本地训练集;
各目标边缘节点基于所述为目标边缘节点训练时使用的超参数中的训练次数E,得到训练迭代次数
各目标边缘节点基于所述本地训练集、所述训练迭代次数及所述样本条数,采用如下公式:
其中,
(6)、在执行上述步骤15训练得到新的边缘模型以后,并执行步骤16各目标边缘节点判断新的边缘模型是否达到收敛条件;若否,则执行步骤17,将新的边缘模型作为本通信轮次的边缘模型,上报本通信轮次的边缘模型,返回执行步骤11。执行步骤11具体实现如下:云服务器获取本通信轮次内由目标边缘节点上报的边缘模型;所述本通信轮次为除第一通信轮次以外的各通信轮次,具体按照通信轮次确定通信轮次的次数。
(7)、由于目标边缘节点的数据量、计算速度等条件均不相同,在目标边缘节点模型训练时间差异较大。为了减少等待时间,在第二通信轮次(上传阶段)之后,在云服务器均进行n软同步过程的同步聚合。因此,在执行步骤11之后,执行步骤12的具体实现如下:
采用如下公式:
其中,
如:若为第二通信轮次,则t=2。根据上述公式可知,未上传新的边缘模型参数的边缘节点并不影响同步聚合。且只有参与聚合的目标边缘节点会收到新的全局模型,未参与同步聚合的边缘节点继续在边缘节点进行本地训练,直至训练完毕后参与下一通信轮次的同步聚合。
(8)在执行完上述步骤12之后,继续执行步骤13至步骤16,然后各目标边缘节点判断新的边缘模型是否达到收敛条件,如果是,说明新的边缘模型达到收敛条件,则执行步骤18,将最后一次重新确定的新的边缘模型,作为最终边缘模型,以使得各目标边缘节点使用最终边缘模型预测未来时间段内的边缘感知数据。当然此处仅仅是为了说明整个确定最终边缘模型的过程,并不代表仅仅是执行两次迭代,步骤16的各目标边缘节点判断新的边缘模型是否达到收敛条件相关,可能两次迭代,判定新的边缘模型达到收敛条件,也可以一次判定新的边缘模型达到收敛条件,在此并不做限定。
在本发明实施例中,解决了物联网应用中,非独立同分布的目标边缘节点数据,通过云边协同感知中的边缘模型训练,为各目标边缘节点建立具有个性化的边缘模型,实现更加准确的传感器感知。
在目标边缘节点训练边缘模型时,可以通过引入弹性参数α,实现对全局模型和边缘模型的差异性量化,使用弹性更新算法对将全局模型对边缘模型的益处融合入边缘模型,实现对边缘模型的弹性更新,使其在具有全局特性的同时依然具备目标边缘节点的个性。
相较于同步全局聚合方法需要等待所有目标边缘节点完成一轮训练后再进行聚合,会导致数据量较小的目标边缘节点需要等待其他目标边缘节点训练完毕。当某一目标边缘节点上的数据集规模很大时,同步聚合方法会浪费大量的时间。本发明实施例中的通过n软同步过程,通过限制每一轮次参与全局聚合的目标边缘节点数,来减少云服务器的等待时间。当云服务器接收到软同步阈值n个目标边缘节点提交了边缘模型参数,云服务器立即执行全局聚合。这样结合了同步和异步全局聚合方法的优点,减少了云服务器的空闲等待时间,同时解决了异步全局聚合中模型过时问题导致的通信轮次过多的问题。并且通过选择软同步聚合阈值n的目标边缘节点,快速聚合,节约了云服务器的占用时间,使得云服务器的空闲时间增加,以便其他目标边缘节点使用服务器。并,通过n软同步过程,显著减少了训练时间。这样可以同时满足物联网应用中智能感知的个性化、通信效率和数据隐私等关键需求。
本发明实施例的最终边缘模型的实际应用过程举例如下:
对于时序数据,本发明实施例的最终边缘模型可以对时序数据进行预测任务,实现对未来的状态进行预测如对未来的空气质量、天气、噪声、交通拥堵情况、能源消耗等问题进行预测;再比如在智能工厂中实现异常检测、阀门的远程控制、管道温度远程控制等任务;又比如对智能穿戴设备使用者的健康监测等,用于指导人们的行为。
对于图像数据,本发明实施例的最终边缘模型可以进行分类任务比如根据所拍摄照片判断当前空气质量状态;再比如根据图片判断肇事车辆类别;又比如行人重识别等,用于提升监控任务效率。
为了证明本发明技术方案的有效性,本发明实施例与现有的智能感知方法进行了对比实验。具体如下:
与本发明实施例进行对比的方法包括:集中式训练(将所有数据集中存储至云服务器进行模型的集中训练);本地训练(模型训练仅使用目标边缘节点的本地数据,不进行全局模型传输);标准联邦学习方法;联邦迁移学习方法。
使用的数据集为北京天气&空气质量数据集和洛杉矶空气质量数据集。北京天气&空气质量数据集由北京市气象局和北京市环境监测中心发布。从2017年1月31日至2018年1月31日,每小时从北京主要城区的9个监测站点收集,共77,142条记录。每条记录由13个特征元素组成,分别是温度、压力、湿度、风向、风速、站号、采集时间以及6种污染物的浓度(PM
在实验中,每个监测站点均为一个目标边缘节点,站点收集的数据用作本地数据集。空气质量的主要污染物在大多数情况下为PM
每个目标边缘节点使用的深度学习网络结构相同,包含一个有128个隐藏细胞(hidden cell)的2层门控循环单元(gated recurrent unit,简称GRU),一个全连接层。损失函数为分类交叉熵。优化器为小批量梯度下降(Mini-Batch Gradient Descent,MBGD),初始学习率设置为0.01。对比方法均使用相同的深度学习网络结构和相同的超参数。为了探讨目标边缘节点中数据量对结果的影响,本发明实施例根据数据采集时间跨度建立了4个数量级的数据集,采集时间跨度为3个月、6个月、9个月、12个月的北京天气&空气质量数据集和采集时间跨度为2个月、6个月、12个月、18个月的洛杉矶空气质量数据集。
实验结果如表1和表2所示。可以看出,北京天气&空气质量数据集在四个数量级的数据集中,本发明方法相比集中式训练、本地训练、FedAvg方法和FedPer方法的准确率分别平均增加了4.29%,1.25%,7.83%和2.61%。在洛杉矶空气质量数据集中,本发明方法平均绝对误差分别降低了16.8%,17.8%,74.7%和18.8%,均方根误差分别降低了30.1%,43.5%,66.8%和37.0%。
表1在北京天气&空气质量数据集上不同方法的准确率和通信轮次
表2在洛杉矶空气质量数据集上不同方法的准确率和通信轮次
表3n软同步过程中,软同步聚合阈值n对通信轮次和时间开销的影响
为了证明n软同步过程的有效性,本发明实施例记录了在相同数据集上,n软同步过程的软同步聚合阈值n取不同值,目标边缘节点平均测试集准确率达到80%时的通信轮次数量、每轮次花费时间、云服务器等待时间和总训练时间的结果,结果表3所示。在实验中,总共存在9个目标边缘节点,当n=9时,为同步全局模型聚合方式,n=1时为异步全局模型聚合方式,其余代表了不同n的取值时的n软同步过程。根据实验结果可以看出,随着n值的减小,学习所需的总通信轮数增加,但每轮次所花费的时间减少。当n软同步聚合中n=4时,学习总时间仅为7258s,比同步全局模型聚合方法时间减少9.7%,比异步全局模型聚合方法时间减少73.2%。相较于同步全局模型聚合方式,本发明方法的云服务器空闲时间减少了74.8%。
下面继续对本发明实施例提供的一种云边协同感知的系统进行介绍。
本发明实施例提供的一种云边协同感知的系统所述系统如图1所示,包括:
云服务器,用于获取本通信轮次内由目标边缘节点上报的边缘模型;所述边缘模型为各目标边缘节点根据第一历史时间段内的边缘感知数据作为本地训练集训练得到的;对本次通信轮次获取的所有边缘模型进行同步聚合,得到全局模型参数;所述全局模型参数为本次通信轮次获取的所有边缘模型,对应所有目标边缘节点的模型参数;并将所述全局模型参数及为目标边缘节点训练时使用的超参数,下发至本次通信轮次获取的所有边缘模型对应的所有目标边缘节点;
各目标边缘节点,用于下载所述全局模型参数及所述超参数,将上一次通信轮次的全局模型参数作为本通信轮次内的全局模型参数;采用弹性更新算法及所述超参数,将本通信轮次内的全局模型参数与上一通信轮次的边缘模型参数之间的加权结果,更新上一轮通信轮次的边缘模型,得到本次通信轮次的边缘模型;其中,所述弹性更新算法中包括弹性权重,所述弹性权重用于表征全局模型和上一轮通信轮次的边缘模型的差异;所述弹性权重包括:所述全局模型参数的弹性权重以及上一通信轮次的边缘模型的弹性权重;根据所述本地训练集,训练本次通信轮次的边缘模型,得到新的边缘模型;判断新的边缘模型是否达到收敛条件;判定新的边缘模型未达到收敛条件,则将新的边缘模型作为本通信轮次的边缘模型,上报本通信轮次的边缘模型,返回执行云服务器获取本通信轮次内由目标边缘节点上报的边缘模型的步骤,直至新的边缘模型达到收敛条件,将最后一次重新确定的新的边缘模型,作为最终边缘模型,以使得各目标边缘节点使用最终边缘模型预测未来时间段内的边缘感知数据。
在一种可能的实现方式中,所述云服务器,用于对本次通信轮次获取的所有边缘模型进行同步聚合,得到全局模型参数,包括:
云服务器,用于获取本通信轮次内由目标边缘节点上报的边缘模型;判断本通信轮次目标边缘节点累计数量是否达到软同步聚合阈值n;判定本通信轮次目标边缘节点累计数量达到软同步聚合阈值n,则对本次通信轮次获取的所有边缘模型进行同步聚合,得到全局模型参数。
在一种可能的实现方式中,采用如下公式:
其中,
在一种可能的实现方式中,所述系统还包括:
所述云服务器,用于获取本通信轮次内由目标边缘节点上报的边缘模型之前,对边缘节点集合中各目标边缘节点生成统一模型参数,作为全局模型参数;并将各全局模型参数以及为目标边缘节点训练时使用的超参数,下发至各目标边缘节点;
各目标边缘节点,用于在第一通信轮次内下载所述全局模型参数以及所述超参数,使用所述全局模型参数对边缘模型参数进行初始化,以使得各边缘模型的初始化的边缘模型参数一致;在使用所述全局模型参数对边缘模型参数进行初始化后,获取本地训练集;基于所述本地训练集以及所述超参数,对初始化后的边缘模型进行训练,得到本次通信轮次的边缘模型;并在第一通信轮次中上传所述本次通信轮次的边缘模型至云服务器。
在一种可能的实现方式中,所述各目标边缘节点,用于获取本地训练集,基于所述本地训练集、所述为目标边缘节点训练时使用的超参数的训练次数及样本条数,对初始化后的边缘模型进行训练,得到本次通信轮次的边缘模型,包括:
各目标边缘节点,用于获取本地训练集;基于所述超参数中的训练次数E,得到训练迭代次数
其中,
各目标端边缘节点在所述第一通信轮次中上传所述本次通信轮次的边缘模型至云服务器;
所述云服务器采用如下公式,对本次通信轮次获取的所有边缘模型进行同步聚合,得到全局模型参数:
其中,
在一种可能的实现方式中,所述弹性更新算法为:w
其中,w
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
- 一种云边协同感知的方法及系统
- 一种移动感知的云边端协同应用卸载方法、系统及其存储介质