一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

低带宽分布式深度学习方法与流程

2022-02-19 03:28:31 来源:中国专利 TAG:


1.本发明涉及计算机深度学习技术领域,尤其涉及一种低带宽分布式深度学习方法。


背景技术:

2.随着人工智能的突破式发展以及星上计算和存储能力的快速提升,在轨智能处理直接生成用户所需信息是遥感卫星系统的必然发展趋势。由于用户关注场景、目标通常具有高动态特性,传统的“地面离线训练

星上在轨预测”的工作模式已经无法满足用户需求。所以,亟需在轨对智能模型进行学习和更新,以适应观测场景的动态变化或满足陌生场景的感知需要。
3.同时,受到卫星轨道、有效载荷、目标物理特性、成像方式等多种因素的影响,越来越多的智能任务需要多颗不同类型的卫星互相协作共同完成。比如,灾害地区应急观测、马航失联的搜寻等都需要多个卫星或航天器协同。如果仅依赖单个卫星的观测数据,则难以实现对全局智能模型的精确学习。
4.而随着卫星技术的发展和成本的降低,在轨卫星数量激增,星间网络逐步建立,遥感卫星系统已具备多星协同工作的基础。遥感卫星系统通过自组织的方式协同工作,并利用分布式深度学习技术,整合多个卫星的实时感知数据和计算能力。同时利用卫星之间的通信与交互,可在无全局信息或人为干预的条件下实现系统的协作运行,以解决更多更复杂的问题,并拓宽应用。但是,由于人造卫星或航天器运行环境的特殊性,遥感卫星系统的网络拓扑结构具有低带宽的特性。因此,对于低带宽网络环境下的分布式深度学习研究具有重要意义和现实急迫性。
5.现有的针对带宽受限场景下的分布式深度学习的解决方案主要分为两类。第一类是采用去中心化网络结构,避免中心服务器网络拥塞。在传统的中心化网络结构中,所有节点都需要把自己训练的参数或梯度传输给中心服务器,然后在中心服务器进行参数或梯度融合,接着中心服务器再把融合后的参数或梯度分发给每个节点。这样存在的问题是中心服务器的网络传输压力非常大。而采用去中心化网络结构,通过去除中心服务器,让所有节点与邻接节点进行参数或梯度融合,可以将网络传输压力分摊给每个节点,避免拥塞的同时提高分布式深度学习的时效性。这一类的典型方法包括去中心化的并行随机梯度下降(decentralized parallel stochastic gradient descent,d

psgd)算法以及异步去中心化的并行随机梯度下降(asynchronous decentralized parallel stochastic gradient descent,ad

psgd)算法,每个节点在本地自行计算随机梯度,同时将模型参数与邻居节点进行平均,最终将梯度更新到平均之后的模型参数上。
6.第二类是降低数据传输量,节省带宽占用。主要包括3种方法:分别是延迟同步、量化和稀疏化。其中,延迟同步就是不再要求每个节点训练一个batch之后就开始进行参数或梯度融合,而是在本地训练多个batch之后再与其他节点或服务器进行参数或梯度融合。延迟同步以local sgd、federated averaging为代表。量化主要是将模型参数以低位数、低精
度表示方法替代,例如将模型参数从64位的双精度浮点数量化成32位的整数,从而大大减少网络传输量。代表方法包括qsgd、terngrad、dorefa

net等。稀疏化方法指的是仅同步模型部分参数,而不是传输所有的模型参数。代表方法有top

k sparsification、deep gradient compression、sparse binary compression等,都需要通过一定的规则对模型参数进行筛选。例如,top

k sparsification方法就是选最大的k个模型参数进行传输。但是现有的稀疏化方法参数筛选复杂度都较高,需要进行排序等操作,计算量较大。


技术实现要素:

7.为解决现有的基于稀疏化的低带宽分布式深度学习解决方案模型参数筛选复杂度高,难以充分发挥分布式深度学习快速完成协同任务的优势这一缺陷,同时满足遥感卫星系统在低带宽网络环境下的智能学习需求,本发明提供一种低带宽分布式深度学习方法。
8.为实现上述发明目的,本发明的技术方案是:
9.本发明提供一种低带宽分布式深度学习方法,包括:根据本地数据集构建去中心化网络的全局深度学习模型;构建分布式深度学习模型;基于本地局部数据集,采用随机化的去中心化的并行随机梯度下降算法训练所述去中心化网络拓扑工作节点的所述分布式深度学习模型的参数;对所述去中心化网络拓扑所有工作节点的所述模型参数进行加权平均,获得全局的模型参数。
10.优选地,所述根据本地数据集构建去中心化网络的全局深度学习模型的过程包括:定义全局深度学习模型,及下面的随机优化问题,
[0011][0012]
其中,d为本地数据集,ξ是本地数据集中的一个数据样本,x∈r
n
表示全局深度学习模型的序列化参数向量,n为模型参数的总个数,f(x;ξ)表示预定义的全局深度学习模型的损失函数。
[0013]
优选地,所述构建分布式深度学习模型的过程包括:为所述去中心化网络拓扑分发本地数据集的数据,定义所述去中心化网络拓扑的工作节点上的本地局部数据集与本地数据集同分布,及下面的随机优化问题,
[0014][0015]
其中,i表示工作节点序号,且1≤i≤n,d
i
为本地局部数据集,f
i
(x;ξ)为局部损失函数,且f
i
(
·

·
)=f(
·

·
)。
[0016]
优选地,所述基于本地局部数据集,在所述去中心化网络拓扑的工作节点上,采用随机化的去中心化的并行随机梯度下降算法训练所述分布式深度学习模型的参数的过程包括:
[0017]
输入初始化模型参数x
0,i
=x0,学习率γ,权重矩阵w和最大迭代次数k,其中,w∈r
n
×
n
是所有工作节点的网络拓扑,满足关系式:(i)wij∈[0,1],(ii)∑
j w
ji
=1,j表示工作节点序号,且1≤j≤n;
[0018]
初始化迭代次数k=0;
[0019]
将当前迭代次数k与最大迭代次数k进行比较,当前迭代次数k小于最大迭代次数k时,继续执行以下步骤,当前迭代次数k不小于最大迭代次数k时,输出模型参数x
k,i

[0020]
在所述去中心化网络拓扑的相同工作节点上构建向量a
k
,并设定所述向量a
k
中每个元素属于1的概率为α,再将所述向量a
k
传输给其他工作节点;
[0021]
从所述本地局部数据集中随机采集数据样本ξ
k,i

[0022]
计算当前模型参数的梯度
[0023]
从相邻工作节点中获取所述向量a
k
指定的模型参数,并计算所述模型参数的邻域加权平均值:
[0024][0025]
其中γ(a
k
)表示向量a
k
中非零元素的位置集合;
[0026]
令x
k 1/2,i
(s)=x
k,j
(s),s∈[n]\γ(a
k
),其中[n]:={1,2,

,n};
[0027]
更新
[0028]
更新迭代次数k=k 1,并重复执行所述将所述更新后的迭代次数与所述最大迭代次数k比较的步骤。
[0029]
优选地,所述从相邻工作节点中获取所述向量a
k
指定的模型参数,并计算所述模型参数的邻域加权平均值和所述令x
k 1/2,i
(s)=x
k,j
(s),s∈[n]\γ(a
k
)的过程等效于:
[0030][0031]
其中,x
k
=[x
k,1
,x
k,2


,x
k,n
]∈r
n
×
n
表示第k次迭代所有工作节点的模型参数向量的级联,p
α
∈r
n
×
n
表示矩阵diag(a
k
),a
k
∈r
n
为独立伯努利随机变量向量,向量每个元素属于1的概率是α∈(0,1]。
[0032]
本发明的有益效果:
[0033]
本发明的低带宽分布式深度学习方法,在去中心化网络拓扑结构的基础上,提供了一种改进后的随机化的稀疏化方法,形成了随机化的去中心化的并行随机梯度下降(rd

psgd)算法。与传统的去中心化的并行随机梯度下降算法的分布式深度学习解决方案相比,本发明能满足在更低带宽网络场景下的智能学习任务需求。
[0034]
与现有的稀疏化方法相比,本发明在去中心化网络拓扑结构中相邻工作节点的分布式深度学习模型实时感知数据和计算同步的过程中,仅需随机选取深度学习模型的部分参数进行信息传输和共享,不需要对模型参数进行耗时的排序等操作,在满足低带宽需求的同时,有效减少模型参数筛选的计算复杂度,大大提高分布式深度学习模型的工作效率。
[0035]
另外,本发明也能很好地应用在遥感卫星系统上。在执行复杂的感知或识别等高难度智能学习任务时,遥感卫星构成去中心化的网络拓扑结构,利用本发明的rd

psgd算法训练各个卫星的模型,通过智能学习实现在更低带宽的运行环境下在轨进行卫星之间的交互与通信,整合多卫星的实时感知和计算信息,从而在轨处理完成协作任务。
附图说明
[0036]
图1示意性表示本发明的一种实施方式的低带宽分布式深度学习方法的流程图;
[0037]
图2示意性表示本发明的一种实施方式的低带宽分布式深度学习方法训练网络拓扑节点的分布式深度学习模型参数的流程图;
[0038]
图3示意性表示本发明的一种实施方式的低带宽分布式深度学习方法中提出的随机化的去中心化的并行随机梯度下降算法与去中心化的并行随机梯度下降算法的网络拓扑节点信息传输过程的对比图;
[0039]
图4示意性表示本发明的一种实施方式的低带宽分布式深度学习方法中提出的随机化的去中心化的并行随机梯度下降算法与去中心化的并行随机梯度下降算法的训练损失和准确率对比图;
[0040]
图5示意性表示本发明的一种实施方式的低带宽分布式深度学习方法中提出的随机化的去中心化的并行随机梯度下降算法在不同稀疏率处的带宽消耗;
[0041]
图6示意性表示本发明的一种实施方式的低带宽分布式深度学习方法中提出的随机化的去中心化的并行随机梯度下降算法与去中心化的并行随机梯度下降算法在低带宽场景下每epoch同步的净时间对比图。
具体实施方式
[0042]
为了更清楚地说明本发明实施方式或现有技术中的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0043]
下面结合附图和具体实施方式对本发明作详细地描述,实施方式不能在此一一赘述,但本发明的实施方式并不因此限定于以下实施方式。
[0044]
图1示意性表示本发明的一种实施方式的低带宽分布式深度学习方法的流程图,揭示了本发明的技术构思。图2示意性表示本发明的一种实施方式的低带宽分布式深度学习方法训练网络拓扑节点的分布式深度学习模型参数的流程图。如图1所示,本实施方式执行开始后,首先给定一个感知或认知任务的本地数据集d,ξ是其中的一个数据样本。根据本地数据集构建一个去中心化网络拓扑的全局深度学习模型。其具体过程包括:先定义一个全局深度学习模型,其序列化参数向量为x∈r
n
,则全局深度学习模型学习等效于求解下面的随机优化问题,
[0045][0046]
其中,x∈r
n
表示全局深度学习模型的序列化参数向量,n为模型参数的总个数,f(x;ξ)表示预定义的全局深度学习模型的损失函数。这里的模型学习即为模型构建的过程。
[0047]
其次,构建分布式深度学习模型。其中,该去中心化网络拓扑包含n个工作节点。其过程包括:为去中心化网络拓扑分发本地数据集的数据样本,定义去中心化网络拓扑的工作节点上的本地局部数据集d
i
与本地数据集d同分布,该分布式深度学习模型对应的局部损失函数为f
i
(
·

·
)=f(
·

·
),则构建分布式深度学习模型或分布式深度学习模型学习的过程等效于求解下面的随机优化问题,
[0048][0049]
其中,i表示工作节点序号,且1≤i≤n。
[0050]
然后,基于上述本地局部数据集d
i
,采用随机化的去中心化的并行随机梯度下降(rd

psgd)算法训练去中心化网络拓扑工作节点的分布式深度学习模型的参数。如图2所示,此过程具体包括以下步骤:
[0051]
先输入初始化的模型参数x
0,i
=x0,学习率γ,权重矩阵w和最大迭代次数k。其中,w∈r
n
×
n
是所有工作节点的网络拓扑,满足关系式:(i)wij∈[0,1],(ii)∑
j w
ji
=1,j表示工作节点序号,且1≤j≤n。
[0052]
同时,初始化迭代次数k=0。
[0053]
紧接着执行一个判断指令,将当前迭代次数k与最大迭代次数k进行比较,当前迭代次数k小于最大迭代次数k时,继续执行以下步骤。当前迭代次数k不小于(包含等于和大于的情况)最大迭代次数k时,输出模型参数x
k,i
。也就是,当当前迭代次数k等于或大于最大迭代次数k时,则输出模型参数x
k,i

[0054]
当前迭代次数k小于最大迭代次数k时,在去中心化网络拓扑的同一个工作节点上构建向量a
k
,并设定向量a
k
中每个元素属于1的概率为α,再将向量a
k
传输给其他工作节点。这里,向量a
k
指的是由该工作节点的分布式深度学习模型的各个参数构成的向量。如果向量中的某个模型参数属于1,则将它传输给其他剩余的工作节点,如果某个模型参数属于0,则不将它传输给其他剩余的工作节点。在每次迭代过程中,都在相同的某一个工作节点上构建向量a
k
,然后由该工作节点通过向量a
k
将相应位置的参数传输给其他剩余的工作节点,即通过广播的方式使得所有工作节点接收到的信息保持一致,进而保证整个网络拓扑各个工作节点保持同步。
[0055]
接下来,从本地局部数据集中随机采集数据样本ξ
k,i
。并计算当前模型参数的梯度再从相邻工作节点中获取上述向量a
k
指定的模型参数,并计算模型参数的邻域加权平均值:
[0056][0057]
其中γ(a
k
)表示向量a
k
中非零元素的位置集合。这样,工作节点之间仅需获取分布式深度学习模型的部分参数即可实现交互与同步,不需要对模型参数进行耗时排序与筛选,减少计算复杂度,提高了工作效率。
[0058]
令x
k 1/2,i
(s)=x
k,j
(s),s∈[n]\γ(a
k
),其中[n]:={1,2,

,n},并更新同时,更新迭代次数k=k 1,之后重复执行上述判断指令以及后续的步骤。通过不断的更新迭代对分布式深度学习模型的参数进行训练。
[0059]
最后,对去中心化网络拓扑所有工作节点上已经训练好的分布式深度学习模型的参数进行加权平均,获得最终的模型参数。此时的模型参数即为全局深度学习模型的参数。通过给去中心化网络拓扑的各个工作节点广播某一个工作节点的分布式深度学习模型的
部分参数信息,对工作节点的分布式深度学习模型的参数进行不断训练,从而获得全局网络的模型参数,最终实现各个工作节点的同步与协同运行,即如图1所示的流程结束。
[0060]
这里需要说明的是,从全局的角度,在rd

psgd算法训练分布式深度学习模型参数中的从相邻工作节点中获取向量a
k
指定的模型参数,并计算模型参数的邻域加权平均值,以及令x
k 1/2,i
(s)=x
k,j
(s),s∈[n]\γ(a
k
)这两个步骤等效于:
[0061][0062]
其中,x
k
=[x
k,1
,x
k,2


,x
k,n
]∈r
n
×
n
表示第k次迭代所有工作节点的模型参数向量的级联,α表示稀疏率,p
α
∈r
n
×
n
表示矩阵diag(a
k
),a
k
∈r
n
为独立伯努利随机变量向量,向量a
k
中的每个元素属于1的概率是α∈(0,1]。由此可以证明,rd

psgd算法的通讯复杂度是o(αn
·
deg(network)),其中deg(network)表示网络拓扑,即权重矩阵的度。
[0063]
图3示意性表示本发明的一种实施方式的低带宽分布式深度学习方法中提出的随机化的去中心化的并行随机梯度下降算法与去中心化的并行随机梯度下降算法的网络拓扑节点信息传输过程的对比图。如图3所示,相较于d

psgd算法,rd

psgd算法中的每个工作节点,不再需要传输所有的模型参数x=[x(s)],s∈[n],而仅需传输p
α
指定的相应信息,即x

=[x(s)],s∈γ(a
k
),即可实现分布式深度学习模型的整体优化和全局收敛。当α<1时,rd

psgd算法的传输复杂度将低于d

psgd算法的传输复杂度o(n
·
deg(network)),且会随着稀疏率α的减少而相应减少。对于遥感卫星系统,图3中的每个工作节点为遥感卫星系统中的各个卫星,共同构成一个去中心化的网络拓扑结构。在训练分布式深度学习模型时,各个卫星与其相邻的卫星只需要交互模型的部分参数,即可实现模型的整体优化和全局收敛。
[0064]
优选地,本实施方式的本地数据集d为图像分类数据集imagenet

1k。全局深度学习模型的网络架构为resnet

50,其损失函数f(x;ξ)为交叉熵损失。初始化模型参数x0采用kaiming初始化设置,初始化学习率γ=0.1,每30个epoch,即分布式深度学习模型每整体训练完一次,学习率γ除以10。去中心化的网络拓扑,即权重矩阵w为8个工作节点的环形结构,其中的每个工作节点每次迭代的采样数据ξ
k,i
=64,最大迭代次数k为225000,即训练的epoch次数为90。每迭代100次相邻工作节点进行一次模型同步,即模型参数融合时,使用d

psgd算法(稀疏率α为1)和rd

psgd算法(稀疏率α为0.1)的训练损失和准确率分别如图4的(a)和(b)所示。由图4显示的结果表明,本实施方式提出的rd

psgd算法在仅传输10%的模型参数的情况下也能达到收敛,且收敛时的准确率可以基本保持不变。
[0065]
图5示意性表示本发明的一种实施方式的低带宽分布式深度学习方法中提出的随机化的去中心化的并行随机梯度下降算法的单个工作节点单次权值传输在不同稀疏率处的带宽消耗。如图5所示,当稀疏率接近1时,由于需要额外传输权值位置,网络流量消耗会有所上升,但随着稀疏程度上升,网络带宽占用近似线性减少。进一步地,我们采用trickle软件限制局域无线网络的连接速度(200kb/s),验证rd

psgd算法在低带宽场景下的加速表现。如图6所示,当稀疏率为0.1时,与d

psgd算法相比,rd

psgd算法的每epoch同步净时间(即每epoch所需总时间减去gpu训练所用时间)从285.6s降为58.3s,加速了将近5倍。由于rd

psgd算法能够有效减少参数传输量,所以能够有效减少低带宽场景下的传输时间。
[0066]
本实施方式的rd

psgd算法仅需随机选取部分参数进行模型同步,与现有的基于稀疏化的低带宽分布式深度学习算法相比,rg

psgd算法不需要对模型参数进行耗时的排序等操作,可以大大减少参数筛选的计算复杂度。表1表示本实施方式的低带宽分布式深度学习方法中提出的随机化的去中心化的并行随机梯度下降算法与基于top

k稀疏化的低带宽分布式深度学习方法在不同稀疏率处的模型参数选择耗时对比。如表1所示,在不同稀疏率处,相比于基于top

k稀疏化的低带宽分布式深度学习方法,本实施方式的rd

psgd算法的模型参数筛选耗时更少,加速效果更明显。
[0067]
α=0.1α=0.5top

k0.6591.619rd

psgd0.0990.419
[0068]
表1
[0069]
以上所述仅为本发明的一个实施方式而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献