掌桥专利:专业的专利平台
掌桥专利
首页

一种数据蒸馏的机动平台模型更新方法及系统

文献发布时间:2024-04-18 19:58:30


一种数据蒸馏的机动平台模型更新方法及系统

技术领域

本发明涉及建筑板材加工技术领域,具体是一种数据蒸馏的机动平台模型更新方法及系统。

背景技术

随着人工智能技术的不断进步和发展,AI模型在各个领域得到了广泛的应用。从图像识别、自然语言处理到机器学习和深度学习等,人们都已经逐渐习惯了AI技术所带来的便利和效率。然而,在云边端分布式场景中,边缘设备由于算力和存储资源的限制,给AI应用带来了较大的挑战,这也是人们需要深入研究和探索的问题。

具体来说,边缘设备的算力限制使得它们无法单独完成大规模的AI模型的训练和推理过程。这是因为现代的AI模型通常非常复杂,需要大量的计算资源才能完成训练和推理。而边缘设备的计算能力受限,无法胜任这种高负荷的工作。因此,我们需要寻找一些新的算法和技术,使得边缘设备能够与云端协同工作,实现高效的模型训练和推理。

另外,存储限制也是边缘设备面临的挑战之一。由于边缘设备的存储容量有限,无法存储大规模的数据集来支持模型的训练和优化。这也给我们提出了新的问题:如何在保证边缘设备存储空间的同时,有效地利用数据进行模型训练和优化。一些新的技术,例如模型压缩和量化,可以帮助我们在较小的存储空间内存储更多的数据,并在保证模型准确率的前提下减小模型大小,提高模型的推理速度。

因此,随着人工智能技术的不断发展和边缘计算的兴起,如何解决边缘设备的算力和存储限制是本发明技术方案想要解决的技术问题。

发明内容

本发明的目的在于提供一种数据蒸馏的机动平台模型更新方法及系统,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:

一种数据蒸馏的机动平台模型更新方法,所述方法包括:

根据预设的边缘节点获取并缓存采集数据,同步记录采集数据的采集时间,同步计算缓存数据量;

根据计算出的缓存数据量确定数据蒸馏流程,基于数据蒸馏流程读取各个边缘节点的采集数据,创建数据集;

基于所述数据集训练教师模型;

基于教师模型和数据集训练指向边缘节点的学生模型;

其中,学生模型的目标是最小化教师模型的输出与真实数据之间的差异。

作为本发明进一步的方案:所述根据计算出的缓存数据量确定数据蒸馏流程,基于数据蒸馏流程读取各个边缘节点的采集数据,创建数据集的步骤包括:

实时统计所有边缘节点的缓存数据量,计算数据量和;

将所述数据量和与预设的数值进行比对,当所述数据量达到预设的数值时,向边缘节点发送数据读取请求;

读取所有边缘节点的采集数据,输入预设的蒸馏模型,得到数据集。

作为本发明进一步的方案:所述根据计算出的缓存数据量确定数据蒸馏流程,基于数据蒸馏流程读取各个边缘节点的采集数据,创建数据集的步骤包括:

读取各个边缘节点的缓存数据量,将缓存数据量与预设的数值进行比对;

当缓存数据量达到预设的数值时,读取对应边缘节点的采集数据,输入预设的蒸馏模型,得到筛选数据;

计算所有边缘节点的筛选数据的数据量和,将所述数据量和与预设的数值进行比对;

当所述数据量达到预设的数值时,向边缘节点发送数据读取请求;

读取所有边缘节点的筛选数据,输入预设的蒸馏模型,得到数据集。

作为本发明进一步的方案:所述教师模型包括卷积神经网络模型、循环神经网络模型和变换器模型。

作为本发明进一步的方案:所述基于教师模型和数据集训练指向边缘节点的学生模型的步骤包括:

获取边缘节点的运算参数,根据运算参数确定学生模型的规模参数;

基于所述规模参数对教师模型进行数据蒸馏,得到学生模型;

将所述学生模型向边缘节点发送;

记录学生模型的应用时长,当应用时长达到预设的应用周期时,循环上述内容更新学生模型。

本发明技术方案还提供了一种数据蒸馏的机动平台模型更新系统,所述系统包括:

数据采集模块,用于根据预设的边缘节点获取并缓存采集数据,同步记录采集数据的采集时间,同步计算缓存数据量;

数据集创建模块,用于根据计算出的缓存数据量确定数据蒸馏流程,基于数据蒸馏流程读取各个边缘节点的采集数据,创建数据集;

教师模型生成模块,用于基于所述数据集训练教师模型;

学生模型生成模块,用于基于教师模型和数据集训练指向边缘节点的学生模型;

其中,学生模型的目标是最小化教师模型的输出与真实数据之间的差异。

作为本发明进一步的方案:所述数据集创建模块包括:

数据统计单元,用于实时统计所有边缘节点的缓存数据量,计算数据量和;

第一请求发送单元,用于将所述数据量和与预设的数值进行比对,当所述数据量达到预设的数值时,向边缘节点发送数据读取请求;

第一蒸馏单元,用于读取所有边缘节点的采集数据,输入预设的蒸馏模型,得到数据集。

作为本发明进一步的方案:所述数据集创建模块包括:

第一比对单元,用于读取各个边缘节点的缓存数据量,将缓存数据量与预设的数值进行比对;

第二蒸馏单元,用于当缓存数据量达到预设的数值时,读取对应边缘节点的采集数据,输入预设的蒸馏模型,得到筛选数据;

第二比对单元,用于计算所有边缘节点的筛选数据的数据量和,将所述数据量和与预设的数值进行比对;

第二请求发送单元,当所述数据量达到预设的数值时,向边缘节点发送数据读取请求;

第三蒸馏单元,用于读取所有边缘节点的筛选数据,输入预设的蒸馏模型,得到数据集。

作为本发明进一步的方案:所述教师模型包括卷积神经网络模型、循环神经网络模型和变换器模型。

作为本发明进一步的方案:所述学生模型生成模块包括:

参数确定单元,用于获取边缘节点的运算参数,根据运算参数确定学生模型的规模参数;

第四蒸馏单元,用一地基于所述规模参数对教师模型进行数据蒸馏,得到学生模型;

数据发送单元,用于将所述学生模型向边缘节点发送;

更新单元,用于记录学生模型的应用时长,当应用时长达到预设的应用周期时,循环上述内容更新学生模型。

与现有技术相比,本发明的有益效果是:本发明提出了一套新的基于云边端网络的缓存模型更新技术方案,能够有效减少整个边缘网络的传输压力,且考虑了终端设备的移动性和不同边缘服务器具有不同的模型结构的情况。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。

图1为数据蒸馏的机动平台模型更新方法的流程框图。

图2为数据蒸馏的机动平台模型更新系统的组成结构框图。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1为数据蒸馏的机动平台模型更新方法的流程框图,本发明实施例中,一种数据蒸馏的机动平台模型更新方法,所述方法包括:

步骤S100:根据预设的边缘节点获取并缓存采集数据,同步记录采集数据的采集时间,同步计算缓存数据量;

步骤S200:根据计算出的缓存数据量确定数据蒸馏流程,基于数据蒸馏流程读取各个边缘节点的采集数据,创建数据集;

步骤S300:基于所述数据集训练教师模型;

步骤S400:基于教师模型和数据集训练指向边缘节点的学生模型;

其中,学生模型的目标是最小化教师模型的输出与真实数据之间的差异。

本发明主要包含如下几个方面:

数据蒸馏:

本发明引入蒸馏学习的思想,提出了一种从一个较大的原生数据集中提取有效数据的方法,针对分布式场景,包括局部数据蒸馏和全局数据蒸馏两个关键点。即在云边端架构下,由端设备进行数据收集工作,提取原生数据上传至边缘节点;由各个边缘节点负责针对所管辖区域的局部原生数据集进行一次局部蒸馏获得本区域的局部有效数据并上传至中心云;中心云收集多个边缘节点的局部有效数据集生成一个较大的全局数据集,随后再进行全局蒸馏提取全局有效数据集下发到边缘节点缓存,用于模型更新等。

全局模型生成:

本发明提出了一种全局模型的生成方法,解决了云边端架构下边缘设备由于算力或存储限制而无法获取优异模型的问题。全局模型的生成基于知识蒸馏思想来完成;首先,由中心云服务器基于全局数据集训练处一个性能较好的教师模型;然后,基于蒸馏方法,利用教师模型和全局数据集训练一个参数量较小的学生模型,确保学生模型的性能接近或达到教师模型;最后,中心云将计算需求较小的学生模型下发给算力资源受限的边缘节点。

局部模型生成:

考虑到边缘服务器的模型可能存在异构的情况,由边缘服务器缓存中心云下发的蒸馏数据集,使用本地的模型结合蒸馏数据集进行监督训练,生成本地的推理模型。当边缘服务器和终端设备使用的模型异构时,将边缘服务器模型作为教师模型,终端设备模型作为学生模型,由教师模型指导学生模型学习目标任务,完成终端模型的学习更新。

模型更新访问:

在本发明中引入了一种称为模型对象索引表的数据结构,存储在边缘服务器上,并通过边缘服务器,将模型对象索引表下发至终端设备。终端设备可以根据索引表,快速访问其需要的模型对象。当终端设备访问模型对象时,通常会出现以下三种情况:①终端设备需要访问的文件对象存储在其接入的边缘服务器上,即可以直接访问该模型对象;②若终端设备需要的文件对象没有存储在接入边缘服务器上,但存储在本地边缘网络上,用户可以间接地访问该模型对象;③缓存未命中,且本地边缘网络下也没有该用户所需要的模型对象,则需要到中心云服务器上获取该模型对象。

具体的,数据蒸馏是本发明技术方案的核心所在,其具体说明如下:

数据蒸馏(data distillation)是一种从原始数据中提取有效数据的技术,它可以帮助我们从大规模的原始数据集中筛选出对模型训练有用的数据,减少数据的冗余和噪声,提高模型训练效率和准确率。本发明基于蒸馏学习的思想,提出了一种在分布式场景下实现数据蒸馏的方法,包括局部数据蒸馏和全局数据蒸馏。

在这个方法中,我们采用了云边端架构,由端设备进行数据收集工作,将原生数据上传至边缘节点。然后,各个边缘节点根据所管辖区域的局部原生数据集进行一次局部数据蒸馏,提取出本区域的局部有效数据,并上传至中心云。在中心云中,我们将多个边缘节点上传的局部有效数据集进行合并,生成一个较大的全局数据集。最后,我们再对这个全局数据集进行一次全局数据蒸馏,提取出全局有效数据集,并下发到边缘节点缓存,用于模型更新等操作。

在这个方法中,局部数据蒸馏和全局数据蒸馏是两个关键点。局部数据蒸馏主要针对边缘节点所管辖区域的数据进行筛选,提取出局部有效数据。这个过程可以帮助我们减少数据的冗余和噪声,提高模型的训练效率和准确率。而全局数据蒸馏则是将多个边缘节点上传的局部有效数据集进行合并,生成一个较大的全局数据集,并从中提取出全局有效数据集。这个过程可以帮助我们在分布式场景下实现数据共享和模型训练,提高模型的泛化能力和稳定性。

总之,数据蒸馏是一种在大规模原始数据集中提取有效数据的技术,它可以帮助我们减少数据的冗余和噪声,提高模型的训练效率和准确率。在分布式场景下,我们可以采用局部数据蒸馏和全局数据蒸馏的方法来实现数据共享和模型训练,提高模型的泛化能力和鲁棒性。

具体的,全局模型生成:

全局模型生成是联邦学习中的一个重要问题,因为在分布式场景下,边缘设备的算力和存储容量通常受到限制,无法训练出优秀的模型。而全局模型生成方法可以通过从全局数据集中提取知识来训练一个性能较好的模型,并将其下发到边缘节点使用,从而在保证模型性能的同时降低了算力和存储的要求。全局模型生成的方法可以采用知识蒸馏思想来完成。具体而言,该方法包含以下步骤:

1.训练教师模型:中心云服务器利用全局数据集训练出一个性能较好的教师模型。教师模型的训练可以采用任何常规的深度学习方法,例如卷积神经网络、循环神经网络或者变换器模型等。

2.训练学生模型:基于蒸馏方法,利用教师模型和全局数据集训练一个参数量较小的学生模型。蒸馏方法是一种将复杂模型的知识转移到简单模型中的技术。在蒸馏过程中,教师模型的输出被视为“软标签”,学生模型的目标是最小化“软标签”与真实标签之间的差异。通过蒸馏方法,学生模型可以学习到教师模型中的知识,从而达到接近或达到教师模型性能的效果。

3.下发学生模型:最后,中心云将计算需求较小的学生模型下发给算力资源受限的边缘节点。边缘节点可以利用学生模型进行模型更新或者其他任务。

全局模型生成方法可以利用全局数据集来训练模型,并通过蒸馏方法来减少模型参数量,从而达到在边缘设备上使用高性能模型的目的。同时,由于该方法不需要在边缘设备上进行大量的训练,可以避免算力和存储资源的浪费,提高了计算资源的利用效率。

此外,局部模型生成:

在分布式场景下,边缘服务器之间、边缘服务器与终端之间会存在模型异构的情况,而无法将边缘端的模型通过联邦学习由中心云服务器统一生成下发,为此,由边缘服务器将数据发送到云服务器,云服务器通过数据蒸馏将大数据集蒸馏成小数据集,再发送给边缘服务器。边缘服务器接收云端服务器蒸馏的数据集之后在本地进行模型的训练更新。根据边缘服务器与终端设备是否模型异构分为以下两种情况:

边缘服务器与终端设备模型相同:这种情况是比较好的情况,边缘服务器可直接将模型文件下发至终端设备,终端设备可直接使用该模型进行推理。

边缘服务器与终端设备模型异构:在此情况下,终端设备无法直接使用边缘服务器的模型。首先,终端设备将自己的模型结构发送给边缘服务器;然后,边缘服务器模型当作教师模型,而终端设备模型当作学生模型,由教师模型指导学习模型,使用的数据集可以是蒸馏数据集或者是存储在边缘服务器中无标签的数据集。最后,边缘服务器将训练好的模型缓存并下发给终端设备。

数据访问部分:

数据访问主要针对一下三种情况:(1)模型对象存储在接入边缘服务器上,即与端设备直接相连的边缘服务器;(2)模型对象没有存储在接入边缘服务器上,但是存储于本地边缘网络中;(3)模型对象并未存储在本地边缘网络中,需要到中心云服务器上获取资源。为此本专利给出了一系列的信令交互,以模型共享来加速模型对象的访问,从而减少访问时延。本发明将结合实施例进一步阐述数据访问。

作为本发明技术方案的一个优选实施例,所述根据计算出的缓存数据量确定数据蒸馏流程,基于数据蒸馏流程读取各个边缘节点的采集数据,创建数据集的步骤包括:

实时统计所有边缘节点的缓存数据量,计算数据量和;

将所述数据量和与预设的数值进行比对,当所述数据量达到预设的数值时,向边缘节点发送数据读取请求;

读取所有边缘节点的采集数据,输入预设的蒸馏模型,得到数据集。

考虑以下场景,训练模型的数据由边缘设备中的摄像头与无人机采集所得,但此时边缘节点收集得到的数据过少,无法满足边缘节点数据蒸馏的需要。因此,该场景下的边缘节点会先将采集到的数据存入缓存,之后发给中心云,中心云对数据蒸馏后将蒸馏数据集发送给边缘节点训练模型,并在边缘设备模型需要更新时,由边缘节点发送给边缘设备。

本实施例中,假设在模型更新周期内边缘设备收集的视频图片数据不能满足一次训练的需要。首先是数据收集阶段,对于边缘节点E

中心云计算所有边缘节点发送的数据数量n

在数据蒸馏完成后,中心云将蒸馏后的数据集分发给所有边缘节点E

作为本发明技术方案的一个优选实施例,所述根据计算出的缓存数据量确定数据蒸馏流程,基于数据蒸馏流程读取各个边缘节点的采集数据,创建数据集的步骤包括:

读取各个边缘节点的缓存数据量,将缓存数据量与预设的数值进行比对;

当缓存数据量达到预设的数值时,读取对应边缘节点的采集数据,输入预设的蒸馏模型,得到筛选数据;

计算所有边缘节点的筛选数据的数据量和,将所述数据量和与预设的数值进行比对;

当所述数据量达到预设的数值时,向边缘节点发送数据读取请求;

读取所有边缘节点的筛选数据,输入预设的蒸馏模型,得到数据集。

考虑以下场景,训练模型的数据由边缘设备中的摄像头与无人机采集所得,但此时边缘节点收集得到的数据已经十分庞大,已经能够满足本地数据蒸馏的最小需求,但直接上传会给网络造成巨大的压力。因此,该场景下的边缘节点会先将采集到的数据进行数据蒸馏,之后发给中心云,中心云对数据进一步蒸馏后将蒸馏数据集发送给边缘节点训练模型,并在边缘设备模型需要更新时,由边缘节点发送给边缘设备。

本实施例中,假设在模型更新周期内边缘设备收集的视频图片数据满足一次训练的需要。首先是数据收集阶段,对于边缘节点E

中心云计算所有边缘节点蒸馏数据的数量n

在数据蒸馏完成后,中心云将蒸馏后的数据集分发给所有边缘节点E

作为本发明技术方案的一个优选实施例,所述基于教师模型和数据集训练指向边缘节点的学生模型的步骤包括:

获取边缘节点的运算参数,根据运算参数确定学生模型的规模参数;

基于所述规模参数对教师模型进行数据蒸馏,得到学生模型;

将所述学生模型向边缘节点发送;

记录学生模型的应用时长,当应用时长达到预设的应用周期时,循环上述内容更新学生模型。

考虑以下场景,训练模型的数据由边缘设备中的摄像头与无人机采集所得,但此时边缘节点收集得到的数据过少,无法满足边缘节点数据蒸馏的需要。因此,该场景下的边缘节点会先将采集到的数据存入缓存,之后发给中心云,中心云对数据蒸馏用于模型训练更新,为了模型准确率,云模型一般比较大,而不适合边缘节点,因此,云服务器对训练好的模型进行蒸馏,获得一个更小的模型,并在边缘设备模型需要更新时,由边缘节点发送给边缘设备。

本实施例中,假设在模型更新周期内边缘设备收集的视频图片数据不能满足一次训练的需要。首先是数据收集阶段,对于边缘节点E

中心云计算所有边缘节点发送的数据数量n

在数据蒸馏完成后,中心云将蒸馏后的数据集用于模型的训练更新,随后对训练好的模型蒸馏出一个较小的模型分发给所有边缘节点,当到达边缘设备模型更新周期后,通过XX协议发送给边缘设备更新模型。

图2为数据蒸馏的机动平台模型更新系统的组成结构框图,本发明实施例中,一种数据蒸馏的机动平台模型更新系统,所述系统10包括:

数据采集模块11,用于根据预设的边缘节点获取并缓存采集数据,同步记录采集数据的采集时间,同步计算缓存数据量;

数据集创建模块12,用于根据计算出的缓存数据量确定数据蒸馏流程,基于数据蒸馏流程读取各个边缘节点的采集数据,创建数据集;

教师模型生成模块13,用于基于所述数据集训练教师模型;

学生模型生成模块14,用于基于教师模型和数据集训练指向边缘节点的学生模型;

其中,学生模型的目标是最小化教师模型的输出与真实数据之间的差异。

其中,所述数据集创建模块12包括:

数据统计单元,用于实时统计所有边缘节点的缓存数据量,计算数据量和;

第一请求发送单元,用于将所述数据量和与预设的数值进行比对,当所述数据量达到预设的数值时,向边缘节点发送数据读取请求;

第一蒸馏单元,用于读取所有边缘节点的采集数据,输入预设的蒸馏模型,得到数据集。

与上述内容不同的,所述数据集创建模块12包括:

第一比对单元,用于读取各个边缘节点的缓存数据量,将缓存数据量与预设的数值进行比对;

第二蒸馏单元,用于当缓存数据量达到预设的数值时,读取对应边缘节点的采集数据,输入预设的蒸馏模型,得到筛选数据;

第二比对单元,用于计算所有边缘节点的筛选数据的数据量和,将所述数据量和与预设的数值进行比对;

第二请求发送单元,当所述数据量达到预设的数值时,向边缘节点发送数据读取请求;

第三蒸馏单元,用于读取所有边缘节点的筛选数据,输入预设的蒸馏模型,得到数据集。

进一步的,所述学生模型生成模块14包括:

参数确定单元,用于获取边缘节点的运算参数,根据运算参数确定学生模型的规模参数;

第四蒸馏单元,用一地基于所述规模参数对教师模型进行数据蒸馏,得到学生模型;

数据发送单元,用于将所述学生模型向边缘节点发送;

更新单元,用于记录学生模型的应用时长,当应用时长达到预设的应用周期时,循环上述内容更新学生模型。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种数据的更新方法、装置及系统
  • 一种数据库智能更新方法及系统
  • 一种数据同步更新方法、系统及装置
  • 一种用于轨旁安全平台的数据更新系统和数据更新方法
  • 一种数据探查方法和系统、数据挖掘模型更新方法和系统
技术分类

06120116500101