本发明属于人工智能,尤其涉及的是一种遥感图像视觉定位的大批量数据并行训练方法,可用于神经网络的深度学习。
背景技术:
1、遥感图像视觉定位,是指通过语言指令和目标检测算法来定位遥感图像中感兴趣目标。数据并行训练,是指将数据集进行划分,分配到各个计算设备上,每个设备依据各自分配到的数据进行计算,之后每间隔一定的通信周期进行设备之间的通信,将梯度或者模型进行聚合。随着使用gpu数量的增长、数据批量的增大,有限的数据被分配到多张gpu上,使得在单卡gpu上可以训练的数据量不断减少,最终导致模型迭代次数减少而不能保证其收敛的精度。为了解决该问题,研究者提出了不同的解决方案,
2、2017年,goyal等人通过学习率预热的方法解决图像分类在大批量训练时收敛精度不佳的问题,其使用256块tesla p100实现大规模训练。
3、2020年tong wang等人提出一种pmd-lamb算法,该算法通过在训练时以多个周期使动量不断衰减来解决大批量目标检测并行训练领域检测收敛精度不理想的问题,其使用256块pascal gpu实现大规模训练。
4、2022年,zeyue xue等人提出一种适用于大批量目标检测的算法agvm,其以分层自适应学习率的方法解决了大批量目标检测并行训练收敛精度不理想的问题,最终使用768块a100gpu实现大规模训练。
5、上述方法由于从学习率或者动量单一调整的角度展开设计,且都是针对图像分类任务和目标检测任务而设计,而遥感图像视觉定位算法因为需要融合视觉和语言特征,遥感图像视觉定位的算法复杂度相比图像分类和目标检测更高。因此,上述算法难以适用于遥感图像视觉定位算法的并行训练。而现有遥感图像视觉定位的并行训练算法,通常仅是在8卡gpu以下进行小规模的训练,在百卡gpu规模时训练难以保证模型的收敛精度。因此如何对百卡gpu的大规模遥感图像视觉定位模型大批量数据并行训练是目前急需解决的技术问题。
技术实现思路
1、本发明的目的在于攻克现有技术的不足,提出一种遥感图像视觉定位模型的大批量数据并行训练方法,以在实现对百卡gpu的大规模遥感图像视觉定位模型大批量数据并行训练的同时保证收敛精度。
2、为实现上述目的,本发明的技术方案包括如下步骤:
3、1、一种遥感图像视觉定位模型的大批量数据并行训练方法,其特征在于,包括如下步骤:
4、1)获取训练样本集:
5、(1a)获取公开rgb遥感图像数据集,其中图像数量为t,数据集的类别数为c,c≥2;
6、(1b)从数据集中取出部分图像作为训练集t1,t1<t;
7、2)设计包括语言编码器bert、视觉编码器swin transformer、多尺度特征融合网络fpn和检测网络det的遥感图像视觉定位模型rsvgnetwork,其输出表示为:
8、output=rsvgnetwork(image,text)
9、式中,rsvgnetwork指任意遥感图像视觉定位模型,image指输入的图片,text指输入的文本信息,output指最终的检测结果;
10、3)基于矩与学习率联动单周期调整对遥感图像视觉定位模型进行数据并行训练:
11、(3a)将遥感图像数据的训练集随机置乱并平均分配到各个计算设备中,并将0号计算设备的初始化模型复制到各个其他的计算设备中;
12、(3b)参数初始化:
13、设当前迭代次数为t、一阶矩为β1、二阶矩为β2、t时刻一阶动量为mt、t时刻二阶动量为mt、迭代的总次数为tmax、t时刻学习率为ηt、最大学习率为ηmax、最小学习率为ηmin、最大一阶矩为β1_max、最小一阶矩为β1_min;
14、设每次迭代更新的学习率值为ηupdate、每次迭代更新的一阶矩为βupdate;
15、(3c)计算每次迭代更新的学习率ηupdate与每次迭代更新的一阶矩βupdate:
16、ηupdate=2×(ηmax-ηmin)/(tmax)
17、βupdate=2×(β1_max-β1_min)/(tmax);
18、(3d)计算t时刻的学习率ηt与一阶矩
19、
20、
21、(3e)计算出ngpu个设备平均后的梯度并根据平均梯度计算t时刻的一阶动量mt和二阶动量vt;
22、(3f)计算t时刻修正后的一阶动量和二阶动量:
23、
24、
25、其中,为t时刻的二阶矩值;
26、(3g)根据t时刻修正后的一阶动量和二阶动量计算参数更新值xt;
27、(3h)判断当前的迭代次数t是否达到最大迭代次数tmax:
28、若t<tmax,则令t=t+1,返回步骤(3c),
29、否则,停止训练,得到训练好的遥感图像视觉定位模型。
30、本发明与现有技术相比,具有以下优点:
31、本发明针对现有方法在百卡gpu上训练检测精度低的问题,采用对矩与学习率联动单周期调整方法,通过较高的一阶矩值保证了大学习率下模型收敛的稳定性,提高了遥感图像视觉定位在百卡以上gpu并行训练时的检测精度。
32、仿真结果表明,在128卡gpu训练时,使用本发明的方法,其检测精度pr@0.6提高了2.19%。
1.一种遥感图像视觉定位模型的大批量数据并行训练方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的方法,其特征在于,步骤(3a)将遥感图像数据的训练集随机置乱并平均分配到各个计算设备中,通过如下公式进行:
3.根据权利要求1所述的方法,其特征在于,步骤(3e)中计算出ngpu个设备平均后的梯度公式如下:
4.根据权利要求1所述的方法,其特征在于,步骤(3e)中根据平均梯度计算t时刻的一阶动量mt和二阶动量vt。公式如下:
5.根据权利要求1所述的方法,其特征在于,步骤(3g)中根据t时刻修正后的一阶动量和二阶动量计算参数更新值xt,公式如下:
6.根据权利要求1所述的方法,其特征在于,步骤(3b)中的最大学习率ηmax,设置如下:
7.根据权利要求1所述的方法,其特征在于,步骤(3b)中的最小学习率ηmin,设置如下:
8.根据权利要求1所述的方法,其特征在于,步骤2)中的设计遥感图像视觉定位模型rsvgnetwork,其包括:
