当前位置: 首页 > 专利查询>郑州大学专利>正文

基于大批量深度学习的遥感信息智能提取方法技术

技术编号:38660889 阅读:11 留言:0更新日期:2023-09-02 22:44
本发明专利技术公开了基于大批量深度学习的遥感信息智能提取方法,本发明专利技术利用LMDB与Horovod来实现遥感数据的分布式加载与大批量深度学习处理,并通过学习率预热来加快模型权重的收敛速度;本发明专利技术在分布式模型训练框架Horovod与内存映射型数据库LMDB的基础上,针对框架运行时占用内存资源较多的问题,提出了一种批量生成策略以降低内存负载;在LAMB权重更新方案的基础上,提出分层动量衰减策略与减半投影切换法则来对LAMB的前期收敛过程进行学习率自适应预热优化,以提升LAMB的收敛速度与梯度下降的准确性。降的准确性。降的准确性。

【技术实现步骤摘要】
基于大批量深度学习的遥感信息智能提取方法


[0001]本专利技术涉及遥感
,具体涉及基于大批量深度学习的遥感信息智能提取方法。

技术介绍

[0002]随着遥感技术的发展与互联网的日益普及,遥感数据获取手段的多样化使得信息数据量呈“爆炸”式增长,利用相关算法对海量数据进行处理、分析与存储,并挖掘出实际价值用于生活与生产是当前面临的一大难题。深度学习方法通过学习样本数据的内在规律和表示层次,能够从卫星影像、航拍影像等数据中自动且高效地提取出具有实际意义的潜在价值,并逐渐取代了传统机器学习方法,成为了多个应用领域的研究热点之一。然而,遥感数据量的增加使得深度学习模型的训练过程往往需要数天甚至几个月的时间才能够使模型权重完全收敛,庞大的时间开销严重阻碍了相关工作进展。现以基于多GPU并行的集群计算作为主要加速手段,能够很好的弥补单机处理方式存在的计算与存储瓶颈,并满足大容量数据高效处理需求。同时在集群计算技术的不断发展下,并行计算编程模型CUDA、ROCM的发展与常见深度学习框架(如Pytorch、Tensorflow)对集群计算的支持,为解决更为复杂的分布式深度学习提供了良好的基础。
[0003]经过数年的研究与完善,由Uber设计并开发的Horovod分布式深度学习框架受到了大量研究着的关注与青睐,并已广泛应用在相关行业领域当中。框架采用业界普遍认可的用于批量训练的分层自适应矩优化器(Layer

wise Adaptive Moments optimizer for Batch training。LAMB)算法,并辅助以环形通信、张量融合、梯度压缩等手段,完成MPI中allreduce、allgather等集合通信操作。这使得Horovod可很好的与主流深度学习框架进行结合,并在大规模GPU集群上提供高效的分布式加速效果,对于大数据的处理与解译具有巨大的应用价值与前景Horovod在底层Tensorflow等深度学习框架上进行分布式调度、分布式通信、梯度计算等封装,完成大规模数据并行模型训练任务。整体采用分层设计思想,主要包括资源调度层、训练框架层、通信框架层、分布式策略层和对外接入api层。资源调度层屏蔽上层对于资源的申请、管理、回收等;模型训练层采用LAMB算法来完成权重更新的批量样本训练任务,具有计算效率高、更新速度快的优点,且能够很好的克服由于批量扩大而导致的精确度损失问题。通信框架层以业界主流的MPI方式进行节点间通信。分布式策略层在单节点内部采用Allreduce,节点间采用Ring

Allreduce,以实现不同场景下的高性能梯度聚合。应用层提供简单且易用的DistribOptimizer等编程接口,可与原有Tensorflow、Pytorch的编程方式进行更好的整合。
[0004]采用Horovod框架进行数据并行模型训练存在以下问题:1、尽管通过增加并行规模的方式能够有效提升计算效率,然而在进程数量有限时,子数据集的加载过程仍存在较大的时间损耗。2、单个进程每次迭代仅处理一小批数据,而子数据集占据着大量的存储资源,直至训练任务结束才能够进行释放,造成了极大的资源浪费现象。3、在数据并行规模不断扩大时,大批量环境下的LAMB优化器算法也不能取得令人满意的梯度下降效果,存在模
型权重收敛缓慢以及模型预测精确度下降的问题。
[0005]因此,提供一种计算准确率更高且更节约内存资源的大批量深度学习遥感信息智能提取方法,已是一个值得研究的问题。

技术实现思路

[0006]本专利技术的目的是提供一种计算准确率更高且更节约内存资源的大批量深度学习遥感信息智能提取方法。利用LMDB与Horovod来实现遥感数据的分布式加载与大批量深度学习处理,并通过学习率预热来加快模型权重的收敛速度;本专利技术在分布式模型训练框架Horovod与内存映射型数据库LMDB的基础上,针对框架运行时占用内存资源较多的问题,提出了一种批量生成策略以降低内存负载;在LAMB权重更新方案的基础上,提出分层动量衰减策略与减半投影切换法则来对LAMB的前期收敛过程进行学习率自适应预热优化,以提升LAMB的收敛速度与梯度下降的准确性。
[0007]本专利技术的目的是这样实现的:基于大批量深度学习的遥感信息智能提取方法,包括以下步骤:步骤S1、建立大批量数据并行训练框架:使用内存映射型数据库LMDB以键

值形式存储遥感数据,利用占用少量内存的指针进行数据项的定位与读取;而后与Horovod框架相结合,将加载的子数据平均分配给多台GPU设备进行处理,利用多机并行方式实现大批量训练从而提升大容量数据处理效率;步骤S2、利用批量生成策略降低训练过程的内存占用问题:在步骤1的单台GPU设备上,采用批量生成方法将步骤1中的子数据以批量为单位进行划分,每次迭代仅取出一批数据进行梯度的计算与模型权重的更新,在模型训练过程中有效降低内存资源的占用;步骤S3、大批量训练优化器算法:在步骤2中的模型权重更新时,采用MD

LAMB优化器算法,通过学习率“预热”的方式加快大批量环境下的模型权重收敛速度,并设计切换点法则来在合适的时机终止“预热”过程以保证后续权重更新的稳定性。
[0008]所述步骤S1的具体步骤如下:由于遥感数据种类、大小均存在有较大差异,第一步先将待处理数据进行归一化处理,使得待处理数据被限定在一定范围内,以消除奇异样本数据带来的不良影响;其中μ表示样本均值,σ表示样本方差,i为分量标记;通过计算单项数据的均值与方差进行逐项标准化纠正,以使得数据各个维度的特征更加平衡;采用LMDB进行数据集文件的制作,利用Lmdb.Environment方法进行数据库环境的创建;将经过预处理后的图片块以键

值形式(key

value)存入数据库环境,其中key为数据项,序号,value为数据项的二进制形式即采用Tobytes方法进行转化;最后使用Commit方法进行存储事务的提交,完成数据的存储;通过Hvd.init初始化horovod框架,将每个GPU与一个进程进行绑定以避免资源冲突问题,并为每个GPU分配一个唯一的进程序号rank用于资源的分配标识;同时,通过
Broadcast将rank为0的模型权重传递给其他进程,从而完成进程间的模型权重同步初始化;每个进程通过Env.begin()函数访问LMDB的数据存储环境,获取数据项的指针,通过遍历方式加载指定数据于内存中;为防止不同进程重复读取相同数据,采用取余法判断数据项归属;Final_rank=index%N(2)其中index为指针序号,N为数据项数量,Final

rank为归属进程序号;基于从LMDB中读取到的数据项组成的子数据集开展模型训练任务,通过预测值与理想值的误差来计算模型权重的下降梯度;为保证各个模型权重的同步更新,使用Hvd提供的AllReduce、Allgather进行节点间梯度的通信;在训练任务结束时,各进程会具有相同的模型权重以进本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于大批量深度学习的遥感信息智能提取方法,其特征在于:包括以下步骤:步骤S1、建立大批量数据并行训练框架:使用内存映射型数据库LMDB以键

值形式存储遥感数据,利用占用少量内存的指针进行数据项的定位与读取;而后与Horovod框架相结合,将加载的子数据平均分配给多台GPU设备进行处理,利用多机并行方式实现大批量训练从而提升大容量数据处理效率;步骤S2、利用批量生成策略降低训练过程的内存占用问题:在步骤1的单台GPU设备上,采用批量生成方法将步骤1中的子数据以批量为单位进行划分,每次迭代仅取出一批数据进行梯度的计算与模型权重的更新,在模型训练过程中有效降低内存资源的占用;步骤S3、大批量训练优化器算法:在步骤2中的模型权重更新时,采用MD

LAMB优化器算法,通过学习率“预热”的方式加快大批量环境下的模型权重收敛速度,并设计切换点法则来在合适的时机终止“预热”过程以保证后续权重更新的稳定性。2.根据权利要求1所述基于大批量深度学习的遥感信息智能提取方法,其特征在于:所述步骤S1的具体步骤如下:由于遥感数据种类、大小均存在有较大差异,第一步先将待处理数据进行归一化处理,使得待处理数据被限定在一定范围内,以消除奇异样本数据带来的不良影响;其中μ表示样本均值,σ表示样本方差,i为分量标记;通过计算单项数据的均值与方差进行逐项标准化纠正,以使得数据各个维度的特征更加平衡;采用LMDB进行数据集文件的制作,利用Lmdb.Environment方法进行数据库环境的创建;将经过预处理后的图片块以键

值形式(key

value)存入数据库环境,其中key为数据项,序号,value为数据项的二进制形式即采用Tobytes方法进行转化;最后使用Commit方法进行存储事务的提交,完成数据的存储;通过Hvd.init初始化horovod框架,将每个GPU与一个进程进行绑定以避免资源冲突问题,并为每个GPU分配一个唯一的进程序号rank用于资源的分配标识;同时,通过Broadcast将rank为0的模型权重传递给其他进程,从而完成进程间的模型权重同步初始化;每个进程通过Env.begin()函数访问LMDB的数据存储环境,获取数据项的指针,通过遍历方式加载指定数据于内存中;为防止不同进程重复读取相同数据,采用取余法判断数据项归属;Final_rank=index%N(2)其中index为指针序号,N为数据项数量,Final

rank为归属进程序号;基于从LMDB中读取到的数据项组成的子数据集开展模型训练任务,通过预测值与理想值的误差来计算模型权重的下降梯度;为保证各个模型权重的同步更新,使用Hvd提供的AllReduce、Allgather进行节点间梯度的通信;在训练任务结束时,各进程会具有相同的模型权重以进行模型精度的评测。3.根据权利要求1所述基于大批量深度学习的遥感信息智能提取方法,其特征在于:所述步骤S2的具体步骤如下:
在初始化时将整个数据集以批量为单位进行划分,所有进程遍历一遍数据集并获取指针列表Cur_List,用于保存每个批量第一个数据项的指针;在每一轮迭代开始时,在rank0中...

【专利技术属性】
技术研发人员:赫晓慧李盼乐乔梦佳程淅杰高亚军周涛李加冕郑紫瑞
申请(专利权)人:郑州大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1