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

一种利用单比特压缩感知技术的模型训练方法和装置

文献发布时间:2023-06-19 11:16:08


一种利用单比特压缩感知技术的模型训练方法和装置

技术领域

本申请涉及分布式学习技术领域,特别是涉及一种利用单比特压缩感知技术的模型训练方法和装置。

背景技术

如今,物联网技术在智慧城市、自动驾驶和智能制造等领域发挥着重要的作用。在物联网系统中,技术的发展和进步使得从大量传感器及其他设备收集海量数据成为可能,从而驱动了基于大数据的多种机器学习算法的提出和应用。

传统的机器学习算法采用集中式系统,在集中式系统中,设置多个设备和一个中央服务器,各个设备将采集的原始数据发送给中央服务器,中央服务器利用所收集的原始数据,对神经网络等模型进行有效的训练,完成如图像分类和语音识别等既定训练任务。但是,各个设备都将本地的原始数据集发送到服务器的方式会引入很高的通信负担,也不利于保护设备数据的隐私性。

发明内容

本申请实施例提供一种利用单比特压缩感知技术的模型训练方法和装置,旨在解决通信资源受到严格限制的物联网中,利用多个设备在保护数据隐私的前提下联合学习、训练模型的问题。

本申请实施例第一方面提供一种利用单比特压缩感知技术的模型训练方法,所述方法包括:

所述中心服务器针对每次迭代,在所述多个设备中选择至少一个目标设备;所述目标设备利用本地数据和本地模型进行随机梯度下降,得到第一更新量向量;所述目标设备对所述第一更新量向量进行稀疏化,得到稀疏更新向量;所述目标设备利用随机观测矩阵对所述稀疏更新向量进行压缩,得到压缩观测向量;所述目标设备对所述压缩观测向量进行单比特量化,得到第一单比特向量,并将所述第一单比特向量发送给所述中心服务器;所述中心服务器对至少一个所述目标设备发送的所述第一单比特向量进行融合,得到第一全局向量;所述中心服务器将所述第一全局向量返回给所述多个设备;所述多个设备各自根据所述第一全局向量对所述本地模型进行第一次更新。

可选地,在所述目标设备对所述第一更新量向量进行稀疏化,得到稀疏更新向量之后,所述方法还包括:所述目标设备计算所述稀疏更新向量和所述第一更新量向量的差值,得到误差向量,并将所述误差向量存储在本地;所述方法还包括:所述目标设备利用所述本地数据和经过第一次更新的所述本地模型进行随机梯度下降,得到第二更新量向量;所述目标设备计算所述第二本地更新量向量和所述误差向量之和,得到修正更新量向量;所述目标设备对所述修正更新量向量进行单比特量化,得到第二单比特向量,并将所述第二单比特向量发送给所述中心服务器;所述中心服务器对至少一个所述目标设备发送的所述第二单比特向量进行融合,得到第二全局向量;所述中心服务器将所述第二全局向量返回给所述多个设备;所述多个设备各自利用所述第二全局向量对经过第一次更新的所述本地模型进行第二次更新。

可选地,所述方法还包括:

所述中心服务器响应接收的模型训练指令,设置训练参数,并将所述训练参数发送给所述多个设备;其中,所述训练参数包括:随机梯度下降次数、稀疏度以及所述随机观测矩阵;所述目标设备利用本地数据和本地模型进行随机梯度下降,包括:所述目标设备按照所述随机梯度下降次数,利用本地数据和所述本地模型进行随机梯度下降;所述目标设备对所述第一更新量向量进行稀疏化,得到稀疏更新向量,包括:所述目标设备按照所述稀疏度,对所述第一本地更新量向量进行稀疏化,得到稀疏更新向量。

可选地,所述方法还包括:

所述中心服务器响应接收的模型训练指令,初始化得到原始模型,并将所述原始模型发送给所述多个设备;所述目标设备利用本地数据和本地模型进行随机梯度下降,包括:在历史迭代次数为零时,所述目标设备利用本地数据和所述原始模型进行随机梯度下降;在历史迭代次数不为零时,所述目标设备利用本地数据和经过上一次迭代更新的模型进行随机梯度下降。

所述训练参数还包括:第一学习率和第二学习率;所述多个设备各自根据所述第一全局向量对所述本地模型进行第一次更新,包括:

所述多个设备各自根据所述第一学习率和所述本地模型的权重系数,对所述本地模型的权重系数进行第一次更新;

所述多个设备各自利用所述第二全局向量对经过第一次更新的所述本地模型进行第二次更新,包括:

所述多个设备各自根据所述第二学习率和所述第一权重系数,对经过第一次更新的所述本地模型的权重系数进行第二次更新。可选地,所述中心服务器针对每次迭代,在所述多个设备中选择至少一个目标设备,包括:在上一次迭代未到达迭代停止条件时,所述中心服务器在所述多个设备中选择至少一个目标设备;在上一次迭代达到所述迭代停止条件时,所述中心服务器输出所述多个设备中任一设备中经过上一次迭代更新的模型。

本申请实施例第二方面提供一种利用单比特压缩感知技术的模型训练装置,所述装置构建有联邦学习框架,所述联邦学习框架包括中心服务器和与所述中心服务器通信连接多个设备;所述装置包括:

选择模块,用于使所述中心服务器针对每次迭代,在所述多个设备中选择至少一个目标设备;第一梯度下降模块,用于使所述目标设备利用本地数据和本地模型进行随机梯度下降,得到第一更新量向量;稀疏化模块,用于使所述目标设备对所述第一更新量向量进行稀疏化,得到稀疏更新向量;压缩模块,用于使所述目标设备利用随机观测矩阵对所述稀疏更新向量进行压缩,得到压缩观测向量;第一单比特量化模块,用于使所述目标设备对所述压缩观测向量进行单比特量化,得到第一单比特向量,并将所述第一单比特向量发送给所述中心服务器;第一融合模块,用于使所述中心服务器对至少一个所述目标设备发送的所述第一单比特向量进行融合,得到第一全局向量;第一返回模块,用于使所述中心服务器将所述第一全局向量返回给所述多个设备;第一更新模块,用于使所述多个设备各自根据所述第一全局向量对所述本地模型进行第一次更新。

可选地,所述装置还包括:

第一计算模块,用于使所述目标设备计算所述稀疏更新向量和所述第一更新量向量的差值,得到误差向量,并将所述误差向量存储在本地;第二梯度下降模块,用于使所述目标设备利用所述本地数据和经过第一次更新的所述本地模型进行随机梯度下降,得到第二更新量向量;第二计算模块,用于使所述目标设备计算所述第二本地更新量向量和所述误差向量之和,得到修正更新量向量;第二单比特量化模块,用于使所述目标设备对所述修正更新量向量进行单比特量化,得到第二单比特向量,并将所述第二单比特向量发送给所述中心服务器;第二融合模块,用于使所述中心服务器对至少一个所述目标设备发送的所述第二单比特向量进行融合,得到第二全局向量;第二返回模块,用于使所述中心服务器将所述第二全局向量返回给所述多个设备;第二更新模块,用于使所述多个设备各自利用所述第二全局向量对经过第一次更新的所述本地模型进行第二次更新。

可选地,所述装置还包括:

设置模块,用于使所述中心服务器响应接收的模型训练指令,设置训练参数,并将所述训练参数发送给所述多个设备;其中,所述训练参数包括:随机梯度下降次数、稀疏度以及所述随机观测矩阵;

所述第一梯度下降模块包括:

第一梯度下降子模块,用于使所述目标设备按照所述随机梯度下降次数,利用本地数据和所述本地模型进行随机梯度下降;

所述稀疏化模块包括:

稀疏化子模块,用于使所述目标设备按照所述稀疏度,对所述第一本地更新量向量进行稀疏化,得到稀疏更新向量。

可选地,所述装置还包括:

初始化模块,用于使所述中心服务器响应接收的模型训练指令,初始化得到原始模型,并将所述原始模型发送给所述多个设备;

所述第一梯度下降模块包括:

第二梯度下降子模块,用于在历史迭代次数为零时,使所述目标设备利用本地数据和所述原始模型进行随机梯度下降;

第三梯度下降子模块,用于在在历史迭代次数不为零时,所述目标设备利用本地数据和经过上一次迭代更新的模型进行随机梯度下降。

本申请实施例第三方面提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如本申请第一方面所述的方法中的步骤。

本申请实施例第四方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现本申请第一方面所述的方法的步骤。

本申请基于联邦学习框架,提出的利用单比特压缩感知技术的模型训练方法先在各个设备本地计算神经网络模型的模型更新量,再将模型更新量发送给中心服务器,中心服务器对各个设备发送的模型更新量进行融合后,将融合结果返回给各个设备,以使各个设备基于相同的加权平均结构更新各自本地的模型,保证每个设备对模型的训练一致。相较于集中式系统需要在设备和中心服务器之间发送原始数据,本申请发送模型更新量的方式降低了通信量。

进一步地,本申请在发送模型更新量之前,还利用压缩感知技术对模型更新量进行了压缩,并将压缩结果进行了单比特量化,将单比特量化的结果发送到中心服务器,中心服务器采用投票的方式融合不同设备对模型更新量的压缩以及单比特量化结果,得到单比特形式的融合结果。压缩感知技术和单比特量化进一步减小了模型更新量,即使被训练的神经网络模型包含大量权重参数(比如卷积神经网络等),经过压缩后的单比特量化结果相较于模型更新量的数据量大幅度减小,实现了对模型更新量的有效压缩,缓解了物联网的通信负担;并且设备发送给中心服务器的上传通信量和中心服务器发送给设备的下载通信量都是单比特数据,实现了相同程度的压缩,因此,本申请提出的利用单比特压缩感知技术的模型训练方法能够在全方位地缓解物联网的通信负担的情况下,基于不同设备采集的数据,高效训练相同的神经网络模型的目的。

另外,本申请将每次迭代设置为两个阶段,在第一阶段中目标设备按照本申请实施例的方法对第一更新量向量进行压缩,将压缩后的第一更新量向量发送给中心服务器,中心服务器对多个压缩后的第一更新量向量融合,并将融合结果返回每个设备,每个设备根据融合结果和第一阶段对应的第一学习率,对本地模型进行第一次更新,并在第一阶段记录处理第一更新量向量造成的误差。在第二阶段,利用第一阶段记录的误差向量,对经过第一次更新的本地模型进行修正更新,得到本次迭代最终获得的更新后的模型,该更新后的模型直接进入下一次迭代,作为下一次迭代的本地模型,修正第一阶段处理第一更新量向量造成误差,针对数据非均匀分布的场景,实现模型训练的准确性。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提出的利用单比特压缩感知技术的模型训练方法的步骤流程图;

图2是在本申请一种示例下基于联邦学习框架的模型训练流程图;

图3是本申请实施例对经过第一次更新的所述本地模型进行第二次更新的步骤流程图;

图4是本申请利用单比特压缩感知技术训练模型的示例流程图;

图5是本申请实施例提出的利用单比特压缩感知技术的模型训练装置的功能模块图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了实现信息同步,物联网系统中的不同设备需要基于相同的条件处理各自本地的数据,尤其是,各个设备需要基于相同的神经网络模型执行指定的计算任务。但设备的功能不同,采集的数据也就不同,同时不同设备的服务提供商不同,再者由于行业竞争、隐私安全、行政手续复杂等问题,服务提供商所拥有的数据常常是以孤岛的形式存在的,因此,很难实现不同设备中用于处理同一个计算任务的神经网络模型相同。

例如:在自动驾驶的一种场景下,车辆和道路侧智慧监控单元分别针对实时道路状况,采集路况图像,再利用各自本地的图像识别模型对路况图像进行识别,将识别信息发送到云平台进行分析,云平台根据车辆和道路侧智慧监控单元发送的识别信息定位障碍物,将障碍物返回给车辆,以使车辆能够顺利的绕过障碍物;或者道路侧智慧监控单元将识别信息发送到车辆,车辆对本地识别信息和道路侧智慧监控单元发送的识别信息进行分析,获得障碍物的位置信息。只有在车辆和道路侧智慧监控单元的图像识别模型相同的情况下,最终获得的障碍物信息才会更加准确,但车辆和道路侧智慧监控单元的服务提供商不同,二者拥有的训练数据也不同,如果分别训练车辆和道路侧智慧监控单元的图像识别模型,很难获得相同的图像识别模型。如果集中车辆和道路侧智慧监控单元的数据,训练图像识别模型,又涉及到数据安全问题。

为了避免上述弊端,本申请构建了联邦学习框架,基于联邦学习框架,提出一种利用单比特压缩感知技术的模型训练方法,以对不同服务提供商的设备中的神经网络模型进行训练,使得不同服务提供商的设备中的神经网络模型相同,对于相同的场景,能够得出一致的计算结果。

本申请基于联邦学习框架,提出的利用单比特压缩感知技术的模型训练方法先在各个设备本地计算神经网络模型的模型更新量,再将模型更新量发送给中心服务器,中心服务器对各个设备发送的模型更新量进行融合后,将融合结果返回给各个设备,以使各个设备基于相同的加权平均结构更新各自本地的模型,保证每个设备对模型的训练一致。相较于集中式系统需要在设备和中心服务器之间发送原始数据,本申请发送模型更新量的方式降低了通信量。

进一步地,本申请在发送模型更新量之前,还利用压缩感知技术对模型更新量进行了压缩,并将压缩结果进行了单比特量化,将单比特量化的结果发送到中心服务器,中心服务器采用投票的方式融合不同设备对模型更新量的压缩以及单比特量化结果,得到单比特形式的融合结果。压缩感知技术和单比特量化进一步减小了模型更新量,即使被训练的神经网络模型包含大量权重参数(比如卷积神经网络等),经过压缩后的单比特量化结果相较于模型更新量的数据量大幅度减小,实现了对模型更新量的有效压缩,缓解了物联网的通信负担;并且设备发送给中心服务器的上传通信量和中心服务器发送给设备的下载通信量都是单比特数据,实现了相同程度的压缩,因此,本申请提出的利用单比特压缩感知技术的模型训练方法能够在全方位地缓解物联网的通信负担的情况下,基于不同设备采集的数据,高效训练相同的神经网络模型的目的。

图1是本申请实施例提出的利用单比特压缩感知技术的模型训练方法的步骤流程图,如图1所示,步骤如下:

步骤S11:所述中心服务器针对每次迭代,在所述多个设备中选择至少一个目标设备。

本申请在构建联邦学习框架时,在联邦学习框架中设置一个中心服务器和多个物联网设备。本申请实施例提出的利用单比特压缩感知技术的模型训练方法应用于本申请构建的联邦学习框架,联邦学习框架包括中心服务器和与所述中心服务器通信连接多个设备。设备指物联网设备,智慧城市场景中,物联网设备可以是电脑、手机,中心服务器可以是基站服务器;智能制造场景中,物联网设备可以是生产线、机器人等,中心服务器可以是集成主机;在自动驾驶场景中,物联网设备可以是车载终端、监控单元,中心服务器可以是云平台。每个物联网设备都拥有一个本地数据集D

所述中心服务器响应接收的模型训练指令,初始化得到原始模型,并将所述原始模型发送给所述多个设备。

模型训练开始时,中心服务器首先初始化原始模型,设置训练参数和迭代总次数,迭代总次数一般设置在5000至20000次之间。中心服务器再将原始模型和训练参数发送给所有物联网设备,使得不同物联网设备中的原始模型在训练之前都拥有相同的结构和权重,为不同物联网设备训练得到相同的模型提供了基础。初始化原始模型可以是任意的神经网络模型,可以包括卷积神经网络、循环神经网络、递归神经网络、深度残差网络等。

目标设备是中心服务器在每一次迭代之前,选择的用于计算梯度的物联网设备。梯度下降法是一种常用的模型训练方法,先反向传播计算神经网络模型的梯度,再根据梯度对神经网络模型进行更新。在集中式系统中,每个物联网设备各自在本地完成反向传播计算梯度和更新模型的整个过程,模型训练只能依靠本地的数据,从而导致不同设备得到的模型不同。

中心服务器在选择目标设备之前还会判断联邦学习框架是否达到迭代停止条件,联邦学习框架达到迭代停止条件是指上一次迭代后迭代总次数大于预设阈值。在上一次迭代未到达迭代停止条件时,所述中心服务器在所述多个设备中选择至少一个目标设备,在上一次迭代达到所述迭代停止条件时,所述中心服务器输出所述多个设备中任一设备在上一次迭代中经过上一次迭代更新的模型。迭代停止条件是指联邦学习框架的迭代停止条件,在本申请一种示例中,设置迭代停止条件为6000次迭代,中心服务器在每次迭代开始前判断上一次迭代后迭代总次数是否超过6000次,若未超过6000次,则在多个设备中选择目标设备;若超过6000次,则输出任意设备训练完成的神经网络模型。

图2是在本申请一种示例下基于联邦学习框架的模型训练流程图,如图2所示:

在本申请自动驾驶场景下的一种示例中,中心服务器是云平台,设备包括车辆A的行车电脑A、车辆B的行车电脑B、道路侧智慧监控单元A,以及道路侧智慧监控单元B,每个设备设置有固定的标号,行车电脑A是设备1,行车电脑B是设备2,监控单元A是设备3,监控单元B是设备4。行车电脑A本地存储有数据集D

步骤S12:所述目标设备利用本地数据和本地模型进行随机梯度下降,得到第一更新量向量。

第一更新量向量可以是梯度向量,即相对当前次迭代开始前的本地模型,应该调整的梯度。

所述目标设备利用本地数据和本地模型进行随机梯度下降,包括:

在历史迭代次数为零时,所述目标设备利用本地数据和所述原始模型进行随机梯度下降;在历史迭代次数不为零时,所述目标设备利用本地数据和经过上一次迭代更新的模型进行随机梯度下降。上一次迭代更新的模型是指在上一次迭代中,对本地模型进行第一次更新,再对经过第一次更新的所述本地模型进行第二次更新后获得的模型。

在第一次迭代时,本地模型是中心服务器发送给每个物联网设备的原始模型。在第N+1次迭代时(N是≥1的整数),本地模型是指上次一迭代后每个物联网设备更新完成后的模型。

在模型训练开始前,中心服务器还会将优化器发送给所有物联网设备,在本申请实施例中优化器为随机梯度下降优化器。联邦学习框架中的每个物联网设备的优化器相同。

各个目标设备分别依据各自的数据集计算模型的梯度,再将计算好的梯度发送到中心服务器,中心服务器对各个目标设备发送的梯度进行平均后,再将平均后的梯度返回给联邦学习框架中的每个物联网设备,每个物联网设备利用相同的梯度,对本地模型进行更新,在每次迭代中,每个物联网设备对模型的更新量相同,并且更新量是基于联邦学习框架中不同的数据集得到的,在不同的物联网设备未分享数据的基础上,完成了模型的训练。

训练参数包括:随机梯度下降次数、稀疏度以及所述随机观测矩阵。中心服务器响应接收的模型训练指令,在模型训练的第一次迭代开始之前,将训练参数发送给联邦学习框架中的每个设备。

所述目标设备利用本地数据和本地模型进行随机梯度下降,包括:所述目标设备按照所述随机梯度下降次数,利用本地数据和所述本地模型进行随机梯度下降。在随机梯度下降后,再计算随机梯度下降前后模型的差值,得到第一更新量向量。

具体目标设备可以采用(1)式进行随机梯度下降算法:

其中w

具体目标设备可以采用(2)式进一步计算得到第一更新量向量;

其中,

继续参考图2,在本申请自动驾驶场景下的一种示例中,中心服务器选择行车电脑A和监控单元A作为目标设备,那么

步骤S13:所述目标设备对所述第一更新量向量进行稀疏化,得到稀疏更新向量。

稀疏化是指只保留第一更新量向量中幅度较大的元素而将其余位置的元素置零。所述目标设备对所述第一更新量向量进行稀疏化,得到稀疏更新向量,包括:所述目标设备按照所述稀疏度,对所述第一本地更新量向量进行稀疏化,得到稀疏更新向量。

具体可以采用(3)式对第一更新量向量进行稀疏化,设定的稀疏度下保留部分具有显著幅度的元素并将其它元素置零:

其中,spar为稀疏函数,

步骤S14:所述目标设备利用随机观测矩阵对所述稀疏更新向量进行压缩,得到压缩观测向量。

中心服务器除了可以发送随机观测矩阵到联邦学习框架的每个设备,还可以发送压缩比到联邦学习框架的每个设备。随机观测矩阵和压缩比都是压缩感知技术的参数。压缩感知技术常用于通信领域,是一种从低维观测数据中恢复原始高维稀疏信号的技术,申请人发现该技术在除通信场景外的其他多种场景下,也可以有效应用,大大降低了数据传输和存储带来的困难,因此,申请人将联邦学习与压缩感知技术结合,在目标设备计算得到第一更新量向量,并对第一更新量向量进行稀疏化后,采用压缩感知技术中的随机观测矩阵进一步压缩稀疏更新向量,使得物联网设备向中心服务器发送的数据量大幅度减小。进一步地,还可以利用压缩感知技术中的二元迭代硬阈值法对稀疏更新向量进行压缩,以使设备可以只利用单比特量化后的压缩观测数据对原始稀疏信号进行恢复。

具体可以采用(4)式对稀疏更新向量进行压缩:

其中,A

步骤S15:所述目标设备对所述压缩观测向量进行单比特量化,得到第一单比特向量,并将所述第一单比特向量发送给所述中心服务器。

第一单比特向量是对压缩观测向量进行单比特量化后,得到的单比特的压缩观测向量。单比特的压缩观测向量的数据量进一步减小,并且中心服务器在融合多个设备发送的第一单比特向量后,得到的第一全局向量也为单比特向量形式,以使各个设备收到第一全局向量后,能够直接利用二元迭代硬阈值法恢复第一全局向量,即根据第一全局向量,重建更新量向量,以重建模型应该调整的梯度;还使中心服务器发送给各个设备的中心服务器发送给设备的下载通信量是单比特数据,与各个目标设备发送给中心服务器的上传通信量的压缩程度相同,在模型训练的整个数据传输过程中都保证了数据的压缩,进而减小对物联网系统通信资源的占用。

具体可以采用(5)式对压缩观测向量进行单比特量化:

其中,sign表示按位符号函数,按位符号函数是对向量进行单比特量化的具体函数;

继续参考图2,在本申请自动驾驶场景下的一种示例中,设备1对

步骤S16:所述中心服务器对至少一个所述目标设备发送的所述第一单比特向量进行融合,得到第一全局向量。

步骤S17:所述中心服务器将所述第一全局向量返回给所述多个设备。

第一全局向量表示全局压缩观测向量,不同目标设备的缩观测向量是依据其所在设备的数据集得到的模型更新梯度,中心服务器对不同目标设备的缩观测向量进行融合后,得到符合多个设备中的多个数据集的,模型应该更新的梯度。

在目标设备的数量大于1时,中心服务器可以采用投票的方式对多个目标设备发送的第一单比特向量进行融合,得到第一全局向量。第一全局向量可以表示不同设备计算得到的模型更新量的加权平均量,并且第一全局向量也是单比特向量的形式。

具体采用(6)式对多个目标设备发送的第一单比特向量进行融合:

其中,

继续参考图2,在本申请自动驾驶场景下的一种示例中,云平台对设备1发送的第一单比特向量

步骤S18:所述多个设备各自根据所述第一全局向量对所述本地模型进行第一次更新。

各个设备利用二元迭代硬阈值,根据第一全局向量,重建出全局的模型更新向量,全局的模型更新向量与第一更新量向量的格式相同。

训练参数还包括:第一学习率和第二学习率;所述多个设备各自根据所述第一全局向量对所述本地模型进行第一次更新,包括:所述多个设备各自根据所述第一学习率和所述本地模型的权重系数,对所述本地模型的权重系数进行第一次更新。

各个设备具体采用(7)式重建出全局的模型更新向量:

其中,

各个设备具体采用(8)式更新本地模型,得到经过第一次更新的所述本地模型:

其中,

继续参考图2,在本申请自动驾驶场景下的一种示例中,设备1、设备2、设备3以及设备4各自在本地,根据

申请人发现,由于不同物联网设备的数据分布不同,每个目标设备计算对第一更新量向量进行稀疏化造成的误差,会在中心服务器融合各个目标设备发送的第一单比特向量时被放大,从而导致在物联网系统的数据非均匀分布的场景,特别是不同物联网设备的数据相差加大时,模型训练精准度较低。

鉴于上述问题,本申请将每次迭代设置为两个阶段,在第一阶段中目标设备按照本申请实施例的方法对第一更新量向量进行压缩,将压缩后的第一更新量向量发送给中心服务器,中心服务器对多个压缩后的第一更新量向量融合,并将融合结果返回每个设备,每个设备根据融合结果和第一阶段对应的第一学习率,对本地模型进行第一次更新,并在第一阶段记录处理第一更新量向量造成的误差。在第二阶段,利用第一阶段记录的误差向量,对经过第一次更新的本地模型进行修正更新,得到本次迭代最终获得的更新后的模型,该更新后的模型直接进入下一次迭代,作为下一次迭代的本地模型,修正第一阶段处理第一更新量向量造成误差,针对数据非均匀分布的场景,实现模型训练的准确性。

图3是本申请实施例对经过第一次更新的所述本地模型进行第二次更新的步骤流程图,如图3所示:

步骤S31:所述目标设备计算所述稀疏更新向量和所述第一更新量向量的差值,得到误差向量,并将所述误差向量存储在本地;

在第一阶段中,目标设备计算得到稀疏更新向量后,计算稀疏更新向量和所述第一更新量向量的差值,作为本地数据对稀疏化造成的误差,存储在本地。

具体采用(9)式计算误差向量:

其中,

步骤S32:所述目标设备利用所述本地数据和经过第一次更新的所述本地模型进行随机梯度下降,得到第二更新量向量;

目标设备利用本地数据和经过第一次更新的所述本地模型进行随机梯度下降后,再计算经过随机梯度下降后的模型与经过第一次更新的所述本地模型的差值,得到第二更新量向量。

具体采用(10)式利用本地数据和经过第一次更新的所述本地模型进行随机梯度下降;

其中,

具体采用(11)式计算第二更新量向量;

其中,

步骤S33:所述目标设备计算所述第二本地更新量向量和所述误差向量之和,得到修正更新量向量;

步骤S34:所述目标设备对所述修正更新量向量进行单比特量化,得到第二单比特向量,并将所述第二单比特向量发送给所述中心服务器;

具体采用(12)式对修正更新量向量进行单比特量化:

其中,

步骤S35:所述中心服务器对至少一个所述目标设备发送的所述第二单比特向量进行融合,得到第二全局向量;

在第二阶段,中心服务器采用在第一阶段融合第一单比特向量相同的方式,对第二单比特向量进行融合,得到第二全局向量。

中心服务器具体采用(13)式计算第二全局向量。

其中,

步骤S36:所述中心服务器将所述第二全局向量返回给所述多个设备;

步骤S37:所述多个设备各自利用所述第二全局向量对经过第一次更新的所述本地模型进行第二次更新。第一次更新是每个设备在第一阶段对本地模型的更新,第二次更新是各个设备在第二阶段对经过第一次更新的本地模型的更新。

所述多个设备各自利用所述第二全局向量对经过第一次更新的所述本地模型进行第二次更新,包括:所述多个设备各自根据所述第二学习率和所述第一权重系数,对经过第一次更新的所述本地模型的权重系数进行第二次更新。

每个设备具体采用(14)式对经过第一次更新的所述本地模型进行更新:

其中,w

本申请实施例在每次迭代中设置两个阶段,通过第二阶段修正第一阶段对第一更新量向量进行稀疏化造成的误差,在不同物联网设备的数据相差较大的情况下,针对数据非均匀分布的场景,实现模型训练的准确性。

本发明提出的利用单比特压缩感知技术的模型训练方法了,将单比特压缩感知技术应用于联邦学习框架中,主要在各个目标设备在发送本地的模型更新量之前,先利用随机观测矩阵对稀疏化的模型更新量进行压缩,并将压缩后的观测向量进行单比特的量化后再发送到中心服务器,中心服务器采用投票方式对这些单比特数据进行融合后将融合结果发回各个本地设备,本地设备利用收到的单比特数据基于二元迭代硬阈值算法进行稀疏恢复得到全局的模型更新量从而在本地更新全局模型。可以同时对上传数据和下载数据进行双向的压缩,从而大大降低系统对通信资源的需求,在实际资源严重受限的物联网系统中具有很好的应用价值。

图4是本申请利用单比特压缩感知技术训练模型的示例流程图,如图4所示:

中心服务器将随机梯度下降优化器、本地随机梯度下降次数、稀疏度、压缩比、随机观测矩阵、第一学习率以及第二学习率发送给联邦学习框架中的每个设备。

中心服务器将发送给联邦学习框架中的每个设备。

中心服务器判断是否达到迭代停止条件,在达到迭代停止条件时,输出模型,在未达到迭代停止条件时,继续下述步骤。

中心服务器在所有设备中随机选择多个目标设备,以目标设备参与本次迭代,设备计算本地模型更新量后对其进行稀疏化处理,采用随机观测矩阵压缩,并对压缩观测数据进行单比特量化。同时,本地存储误差向量。

参与本次迭代的目标设备发送单比特压缩观测数据到中心服务器。

中心服务器采用投票方式融合数据,并将融合结果发送给所有设备。

所有设备在本地采用二元迭代硬阈值法恢复出全局模型更新量,并更新模型。

参与本次迭代的目标设备计算本地模型更新量,对误差向量和更新量求和后进行单比特量化,并发送单比特量化数据到中心服务器。

中心服务器采用投票方式融合数据,并将融合得到的全局模型更新量发送给所有设备。

基于同一发明构思,本申请实施例提供一种利用单比特压缩感知技术的模型训练装置。参考图5,图5是本申请实施例提出的利用单比特压缩感知技术的模型训练装置的功能模块图。述装置构建有联邦学习框架,所述联邦学习框架包括中心服务器和与所述中心服务器通信连接多个设备;该装置包括:

选择模块51,用于使所述中心服务器针对每次迭代,在所述多个设备中选择至少一个目标设备;第一梯度下降模块52,用于使所述目标设备利用本地数据和本地模型进行随机梯度下降,得到第一更新量向量;稀疏化模块53,用于使所述目标设备对所述第一更新量向量进行稀疏化,得到稀疏更新向量;压缩模块54,用于使所述目标设备利用随机观测矩阵对所述稀疏更新向量进行压缩,得到压缩观测向量;第一单比特量化模块55,用于使所述目标设备对所述压缩观测向量进行单比特量化,得到第一单比特向量,并将所述第一单比特向量发送给所述中心服务器;第一融合模块56,用于使所述中心服务器对至少一个所述目标设备发送的所述第一单比特向量进行融合,得到第一全局向量;第一返回模块57,用于使所述中心服务器将所述第一全局向量返回给所述多个设备;第一更新模块58,用于使所述多个设备各自根据所述第一全局向量对所述本地模型进行第一次更新。

可选地,所述装置还包括:

第一计算模块,用于使所述目标设备计算所述稀疏更新向量和所述第一更新量向量的差值,得到误差向量,并将所述误差向量存储在本地;第二梯度下降模块,用于使所述目标设备利用所述本地数据和经过第一次更新的所述本地模型进行随机梯度下降,得到第二更新量向量;第二计算模块,用于使所述目标设备计算所述第二本地更新量向量和所述误差向量之和,得到修正更新量向量;第二单比特量化模块,用于使所述目标设备对所述修正更新量向量进行单比特量化,得到第二单比特向量,并将所述第二单比特向量发送给所述中心服务器;第二融合模块,用于使所述中心服务器对至少一个所述目标设备发送的所述第二单比特向量进行融合,得到第二全局向量;第二返回模块,用于使所述中心服务器将所述第二全局向量返回给所述多个设备;第二更新模块,用于使所述多个设备各自利用所述第二全局向量对经过第一次更新的所述本地模型进行第二次更新。

可选地,所述装置还包括:

设置模块,用于使所述中心服务器响应接收的模型训练指令,设置训练参数,并将所述训练参数发送给所述多个设备;其中,所述训练参数包括:随机梯度下降次数、稀疏度以及所述随机观测矩阵;

所述第一梯度下降模块包括:

第一梯度下降子模块,用于使所述目标设备按照所述随机梯度下降次数,利用本地数据和所述本地模型进行随机梯度下降;

所述稀疏化模块包括:

稀疏化子模块,用于使所述目标设备按照所述稀疏度,对所述第一本地更新量向量进行稀疏化,得到稀疏更新向量。

可选地,所述装置还包括:

初始化模块,用于使所述中心服务器响应接收的模型训练指令,初始化得到原始模型,并将所述原始模型发送给所述多个设备;

所述第一梯度下降模块包括:

第二梯度下降子模块,用于在历史迭代次数为零时,使所述目标设备利用本地数据和所述原始模型进行随机梯度下降;

第三梯度下降子模块,用于在在历史迭代次数不为零时,所述目标设备利用本地数据和经过上一次迭代更新的模型进行随机梯度下降。

可选地,所述训练参数还包括:第一学习率和第二学习率;所述第一更新模块包括:第一更新子模块,用于使所述多个设备各自根据所述第一学习率和所述本地模型的权重系数,计算得到所述第一更新模型的第一权重系数;所述第二更新模块包括:第二更新子模块,用于使所述多个设备各自根据所述第二学习率和所述第一权重系数,计算得到所述第二更新模型的第二权重系数。

可选地,所述选择模块包括:

第一选择子模块,用于在上一次迭代未到达迭代停止条件时,使所述中心服务器在所述多个设备中选择至少一个目标设备;第二选择子模块,用于在上一次迭代达到所述迭代停止条件时,使所述中心服务器输出所述多个设备中任一设备在上一次迭代中获得的所述第二更新模型。

基于同一发明构思,本申请另一实施例提供一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请上述任一实施例所述的利用单比特压缩感知技术的模型训练方法中的步骤。

基于同一发明构思,本申请另一实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请上述任一实施例所述的利用单比特压缩感知技术的模型训练方法中的步骤。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进或说明的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请实施例是参照根据本申请实施例的方法、装置、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本申请所提供的一种利用单比特压缩感知技术的模型训练方法、装置、设备及存储介质,进行了详细介绍,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

相关技术
  • 一种利用单比特压缩感知技术的模型训练方法和装置
  • 利用语言模型预测词出现概率及语言模型训练方法和装置
技术分类

06120112859264