CN113033098B - 一种基于AdaRW算法的海洋目标检测深度学习模型训练方法 - Google Patents
一种基于AdaRW算法的海洋目标检测深度学习模型训练方法 Download PDFInfo
- Publication number
- CN113033098B CN113033098B CN202110324328.9A CN202110324328A CN113033098B CN 113033098 B CN113033098 B CN 113033098B CN 202110324328 A CN202110324328 A CN 202110324328A CN 113033098 B CN113033098 B CN 113033098B
- Authority
- CN
- China
- Prior art keywords
- algorithm
- training
- node
- adarw
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于AdaRW算法的海洋目标检测深度学习模型训练方法,属于海洋目标检测领域,首先提出了AdaRW自适应梯度训练算法,克服了AdaGrad算法中历史梯度累积导致的深度学习速率衰减的问题;同时设计了最优交错并行式架构OIPA,由多个PServer进程和Worker_DS进程组成。在对海洋目标检测深度学习模型进行训练时,通过OIPA架构对AdaRW算法进行多核并行训练,提高了算法训练的速度;利用训练后的OceanTDA9_AdaRW模型检测研究区域的疑似目标,提高了极化SAR海洋目标检测的效率。
Description
技术领域
本发明属于海洋目标检测领域,具体涉及一种基于AdaRW算法的海洋目标检测深度学习模型训练方法。
背景技术
深度学习模型的训练算法包括梯度下降算法、最小二乘法、牛顿法和拟牛顿法等。梯度下降法是迭代求解,最小二乘法是计算解析解。牛顿法/拟牛顿法也是迭代求解,是用二阶的海森矩阵的逆矩阵或伪逆矩阵求解。模型训练最常采用的是梯度下降算法。梯度下降不一定能够找到全局的最优解,有可能是一个局部最优解。
批量梯度下降法(Batch Gradient Descent,BGD)是梯度下降法最常用的形式,其特点是使用所有样本更新参数准确度高,但训练速度慢。随机梯度下降法(StochasticGradient Descent,SGD)与批量梯度下降法原理相似,区别是采用一个样本而不是所有样本数据来求梯度,所以训练速度要快得多,但一次迭代一个样本,方向变化大、收敛效果差。动量梯度下降算法(Momentum optimization)参数更新时考虑当前梯度值,增加了积累项,即冲量,用参数γ控制冲量的幅度,减少了模型训练的震荡,比传统梯度下降算法更有利于加快算法收敛。
AdaGrad梯度下降算法是Duchi在2011年提出的一种学***方项进行衰减,解决学习速率过快衰减的问题。Adam(Adaptive MomentEstimation)算法是Kingma等在2015年提出的一种优化算法,其结合了Momentum和RMSprop算法的思想。相比Momentum算法,其学习速率是自适应的。而相比RMSprop,其增加了动量项。
利用以上算法训练出来的模型进行海洋研究区域疑似目标检测时,海洋目标检测的效率相对较低。
发明内容
为了解决上述问题,本发明提出了一种基于AdaRW算法的海洋目标检测深度学习模型训练方法,对海洋目标检测深度学习模型采用AdaRW算法进行多核并行训练,提高了模型训练速度,提升了海洋目标检测效率。
本发明的技术方案如下:
一种基于AdaRW算法的海洋目标检测深度学***方根代替AdaGrad算法中的超参数η,限定梯度累积子窗口是从当前t时刻向前推演到历史时刻tm的窗口,而不是任意历史梯度累积中的子窗口,克服深度学习速率的衰减问题;同时,设计了多核并行OIPA架构,对海洋目标检测深度学习模型采用AdaRW算法进行并行训练;最终,利用训练后的OceanTDA9_AdaRW模型对洋疑似目标进行检测。
优选地,该方法包括如下步骤:
S1.提出AdaRW自适应梯度训练算法,推导出该算法更新公式;
S2.设计最优交错并行式架构OIPA;
S3.采用所设计的OIPA架构对所提出的AdaRW算法进行并行训练,得到海洋目标检测深度学习模型OceanTDA9_AdaRW;
S4.利用训练后的OceanTDA9_AdaRW模型检测海洋区域疑似目标。
优选地,AdaRW自适应梯度训练算法的迭代更新公式如下:
Δθt=λΔθt-1+(1-λ)gt′⊙gt′ (5)
式中,θ为参数,t为当前时刻,tm为第m个历史时刻,λ为超参数,0≤λ<1;ε取一个很小值防止分母为0;gt为损失函数J(θ)的小批量随机梯度。
优选地,AdaRW算法包括如下步骤:
(1)确定损失函数,采用交叉熵损失函数,如下:
其中,θ是参数,y-i是第i个样本的输入值,hθ(xi)是第i个样本x的输出值;
(2)初始化算法相关参数,初始化超参数λ,梯度累积窗口大小m,θ0,θ1,...,θn的值;
(3)计算当前位置损失函数的梯度,并保存tm时刻的梯度;
(4)计算当前位置下降的距离di,采用步长乘以梯度得到;
(5)判断梯度下降的距离是否小于算法终止距离r或是否达到训练次数n,如果是则算法终止,否则转到第(6)步;
(6)更新所有的θ,转入第(1)步,更新函数如下;
(7)算法结束输出结果。
优选地,OIPA架构由1个中心节点Chief和若干子节点Node组成,中心节点Chief与每个子节点Node成星型联结,所有子节点在逻辑上成闭环联结。
优选地,OIPA架构的每个节点都由1个参数服务单元PServer和1个计算服务单元Worker组成;每个子节点Worker中的数据集不同,分别用Worker_DS0、Worker_DS1、Worker_DS2、Worker_DS3区分;所有子节点Worker_DS中的数据集的和等于训练数据集,中心节点数据集Worker_DS是完整的数据集;参数服务单元PServer由若干CPU组成,只负责传递存储数据,不负责计算;计算服务单元Worker_DS由若干GPU组成,只负责计算,不负责传递数据。
优选地,基于OIPA架构的训练过程为:
(1)子节点Node0中的参数服务单元中的CPU0根据集群中节点的总数从数据集中取出分摊到本节点的数据集DS0,根据本节点GPU数及训练批次准备2个Batch训练数据集,分发给Worker_DS0中的2个GPU训练,将训练后的梯度ΔP传给本节点的参数服务单元PServer中的CPU1,CPU1用聚合后的梯度更新模型的参数后继续训练;
(2)本节点的Worker_DS0完成指定步数的训练后,将最后一步的梯度传递给集群中主节点Chief0的模型参数文件夹中,并从主节点Chief0的模型参数文件夹中提取最优模型参数,保存到本节点的模型参数文件夹中,更新参数进行新一轮的迭代,随后将最优模型参数分发给与本节点相连的上下游节点Node1和Node2的参数服务单元;
(3)Node1和Node2的参数服务单元验证参数的最新性后,将最新的模型参数保存到本节点的模型参数文件夹中,为本节点新一轮的训练提供最新模型参数;
(4)主节点Chief0的PServer中的CPU1监听模型参数文件夹,及时读取集群中各节点传递的参数,传递给本节点的Worker_DS测试评估模型参数,并将最优模型参数保存在模型参数文件夹中,供各节点读取模型文件夹中的模型继续训练。
本发明所带来的有益技术效果:
AdaRW算法对梯度累积采用窗口累积方法,解决了AdaGrad算法更新时全部累积造成的学***方根代替AdaGrad算法中的超参数η,并且,限定梯度累积子窗口是从当前t时刻向前推演到历史时刻tm的窗口,而不是任意历史梯度累积中的子集窗口;
AdaRW算法是一种自适应梯度训练算法,克服了历史梯度累积导致的深度学习速率衰减的问题,减缓深度学习速率的衰减,提高了深度学习训练的速度;同时,设计了多核并行架构OIPA,对采用AdaGrad算法的海洋目标检测深度学习模型进行多核并行训练,提高了算法训练的速度;最终,利用训练后的模型检测到研究区域的疑似目标,提高了极化SAR海洋目标检测的效率。
附图说明
图1是本发明AdaRW算法的原理图;
图2是本发明AdaRW算法流程图;
图3是本发明OIPA架构图;
图4是本发明单机多GPU部署图;
图5是本发明多机多GPU部署图。
具体实施方式
下面结合附图以及具体实施方式对本发明作进一步详细说明:
本发明提出了AdaRW自适应梯度训练算法,AdaRW算法采用窗口累积方法进行梯度累积;采用Δθt平方根代替AdaGrad算法中的超参数η,限定梯度累积子窗口是从当前t时刻向前推演到历史时刻tm的窗口。AdaRW算法克服了AdaGrad算法由于其学习速率逐渐衰减而使得训练后期学习速率很小,以致学习时间过长的缺陷;
同时设计了多核并行架构——最优交错并行式架构(OIPA,Optimal InterleavedParallel Architecture),对海洋目标检测深度学习模型采用AdaRW算法进行多核并行训练;
最终,利用训练后的OceanTDA9_AdaRW模型检测研究区域的疑似目标,提高了极化SAR海洋目标检测的效率。
一、AdaRW算法原理
设参数θ的损失函数为J(θ),其关于参数的梯度是函数上升最快的方向,SGD算法参数更新表达式为:
其中,η表示学习率,hθ表示优化函数。
SGD算法对凸优化问题理论上可以收敛到全局最优,但神经网络模型是属于复杂的非线性结构,存在多个局部最优点,大多属于非凸优化问题。所以,采用梯度下降算法可能会陷入局部最优,无法保证收敛到全局最优。
AdaGrad算法实现了学习速率自适应,解决了SGD方法中学习率一直不变的问题。其更新过程如下:
其中,s表示梯度平方的积累量;参数更新时,学***方根,ε用来保证分母非0。由于训练迭代过程中对历史梯度一直累加,所以学习速率是逐渐衰减,以至于为0。如果初始梯度很大的话,会导致整个训练过程的学习率一直很小,从而导致学习时间变长。
为解决AdaGrad算法的缺陷,对其做两方面的改进:
(1)为解决AdaGrad算法更新时全部累积造成的学习率较低的问题,对梯度累积采用窗口累积方法,即从历史梯度累积中按窗口取子集进行累积,以此调节学习速率。
(2)为了反映当前的梯度趋势,采用Δθt平方根代替AdaGrad算法中的超参数η。并且,限定梯度累积子窗口是从当前t时刻向前推演到历史时刻tm的窗口,而不是任意历史梯度累积中的子窗口。
改进后的算法称为AdaRW(Adagrad Restricted by Windows)算法,也是一种自适应梯度训练算法。其迭代更新公式如下:
Δθt=λΔθt-1+(1-λ)gt′⊙gt′ (5)
式中,t为当前时刻,tm为第m个历史时刻,λ为超参数,0≤λ<1,一般取值为0.9。式(4)分母中加上一个很小值ε是为了防止分母为0。gt为损失函数J(θ)的小批量随机梯度,表示为:
所提出的AdaRW算法针对不同的训练数据,其累积窗口是可以调整的。通过m的大小来控制窗口的大小,从而调整累积的大小。m越小,累积窗口越大。当m=1时,为全部历史累积,相当于AdaGrad算法中的梯度平方的累积量,其原理如图1所示。
二、AdaRW算法流程
AdaRW算法流程如图2所示,包括如下步骤:
(1)确定损失函数,本算法采用的是交叉熵损失函数。
其中,θ是参数,y-i是第i个样本的输入值,hθ(xi)是第i个样本x的输出值。
(2)初始化算法相关参数,初始化超参数λ,梯度累积窗口大小m,θ0,θ1,...,θn的值。
(3)计算当前位置损失函数的梯度,并保存tm时刻的梯度。
(4)计算当前位置下降的距离di,采用步长乘以梯度得到。
(5)判断梯度下降的距离是否小于算法终止距离r或是否达到训练次数n,如果是则算法终止,否则转到第(6)步。
(6)更新所有的θ,转入第(1)步,更新函数如下。
(7)算法结束输出结果。
三、并行分布式架构设计
本发明还设计了最优交错并行式架构OIPA,如图3所示。OIPA架构由1个中心节点Chief和若干子节点Node组成,中心节点Chief与每个子节点Node成星型联结,所有子节点在逻辑上成闭环联结。与传统的中央架构不同的是,每个节点都由1个参数服务单元PServer和1个计算服务单元Worker组成。每个子节点Worker中的数据集不同,分别用Worker_DS0、Worker_DS1等区分,所有子节点Worker_DS中的数据集的和等于训练数据集,中心节点数据集Worker_DS是完整的数据集。参数服务单元PServer由若干CPU组成,只负责传递存储数据,不负责计算;计算服务单元Worker_DS由若干GPU组成,只负责计算,不负责传递数据。
当所有节点准备就绪,模型开始训练。在一个迭代过程中,子节点每个Worker完成自己的Batch训练,计算出梯度,传递给PServer,读取模型文件夹中的模型继续训练。子节点PServer将本节点Worker计算的梯度等参数传递给中心节点Chief,同时接收中心节点的模型参数,更新本节点模型文件夹中的模型供给Worker调用,同时将模型参数传递到与之相连的上下端节点。上下端节点检查来自子节点的模型参数,与本节点模型参数对比决定是否更新本节点模型。中心节点Chief中的PServer监听接收每个子节点Node传递的模型参数,传递给本节点的中的Worker_DS测试评估模型参数,并更新模型文件夹中的模型参数供子节点调用。
与其它架构相比,本发明设计的OIPA架构具有以下优势:
(1)每个子节点参与训练的数据集是固定且唯一的。所有子节点数据集的和等于训练数据集,保证最小批次参与训练的数据集不重复,极限情况下一个最小批次就可完成所有数据集的训练。
(2)多途径保证每个子节点每次参与训练的模型参数总是最优的。每个子节点训练的结果通过本节点的PServer传递给中心节点,中心节点聚合所有Worker计算的梯度等模型参数,测试评估后将最优的模型参数传递到每个子节点。另外子节点获取最优模型参数后,及时传递给上下端节点,使上下端节点及时更新本节点的模型,保证本节点Worker调用的模型参数是最优的。
(3)每个子节点的计算单元不停歇地交错训练。每个子节点一个最小批次训练完毕,不需考虑模型参数的传递,直接从本节点模型文件夹中读取模型继续训练,保证了每个节点的计算单元不停歇地训练,从而实现了不同子节点的交错训练。
四、OIPA架构部署
本发明所设计的OIPA架构是由多个PServer进程和Worker_DS进程组成,主要是针对多机多卡设计的分布式框架,首先在单机多卡中部署,再在多机多卡环境中部署。海洋目标检测模型和数据集针对单机有限内存的GPU已做相应的优化处理,对OIPA稍加改进即可部署在单机多卡环境中。单机多卡(并行)的优势是减少任务之间的通信开销,多机多卡(分布式)使用多台服务器,将参数更新和图计算分开,降低整个服务器的压力。
1.单机多GPU的部署
GPU为计算机图像处理器,是影响深度神经网络训练时间的重要因素之一,本发明对单机上多个GPU进行并行式部署,高效完成训练任务。OIPA支持指定相应的设备来完成相应的操作,所以如何分配任务是关键,GPU擅长大量计算,所以整个Inference和梯度的计算分配给GPU,参数更新分配给CPU。单机双GPU部署如图4所示,一次处理2个Batch,每个GPU处理一个Batch的数据计算,模型参数或者计算图可以拆开放到不同的设备上,通过变量名共享参数,变量(参数)保存在CPU上。①数据由CPU分发给2个GPU,在GPU上完成计算,得到每个批次要更新的梯度;②在CPU上收集完2个GPU上要更新的梯度,计算平均梯度,用平均梯度去更新参数;③循环进行上面步骤完成训练。需要注意的是这个收集梯度的过程是同步的,必须等所有GPU结束后CPU才开始平均梯度的操作,很明显整个模型的训练速度取决于最慢的那块GPU卡。
2.多机多GPU的部署
多机多卡是指多台服务器有多块GPU设备,充分使用多台计算机的性能,划分不同的工作节点。OIPA多机多卡实验的部署如图5所示,分别由2-5台机器构成一个集群,每台机器上安装2块GPU。OIPA分布式机器学习框架把作业分成参数作业(Parameter Job)和工作作业(Worker Job),参数服务器(PS)运行参数作业,负责管理参数的存储和更新,工作作业负责模型计算的任务。OIPA的分布式实现了作业间的数据传输,即参数作业到工作作业的前向传播,以及工作作业到参数作业的反向传播。
(1)搭建分布式环境
创建一个集群Cluster,分配工作Job和任务Task,并为每个任务分配主机地址,为每个任务创建一个服务Server。在创建Sever时必须要传入Cluster,这样每个Server才可以知道自己所在的Cluster包含哪些Hosts,然后Server与Server之间才可以通信。Sever的创建需要在自己所在Host上,一旦所有的Server在各自的Host上创建好了,整个集群就搭建好了,Cluster之间的各个Server可以互相通信。每个Server包含两个组件:Master和Worker。其中Master提供Master Service,其主要可以提供对Cluster中各个设备的远程访问(RPC协议),同时它的另外一个重要功能是作为创建Tf.Session的Target。而Worker提供Worker Service,可以用本地设备执行计算子图。
(2)启动服务
指定一个节点(Node)为主节点(Chief),负责管理各个节点,协调各节点之间的训练,并且完成模型初始化、模型保存和恢复等公共操作。
(3)开始训练
在一个迭代过程,①子节点Node0中的参数服务单元中的CPU0根据集群中节点的总数从数据集中取出分摊到本节点的数据集DS0,根据本节点GPU数及训练批次准备2个Batch训练数据集,分发给Worker_DS0中的2个GPU训练,将训练后的梯度ΔP传给本节点的参数服务单元PServer中的CPU1,CPU1用聚合后的梯度更新模型的参数后继续训练;②本节点的Worker_DS0完成指定步数的训练后,将最后一步的梯度传递给集群中主节点Chief0的模型参数文件夹中,并从主节点Chief0的模型参数文件夹中提取最优模型参数,保存到本节点的模型参数文件夹中,更新参数进行新一轮的迭代,随后将最优模型参数分发给与本节点相连的上下游节点Node1和Node2的参数服务单元;③Node1和Node2的参数服务单元验证参数的最新性后,将最新的模型参数保存到本节点的模型参数文件夹中,为本节点新一轮的训练提供最新模型参数;④主节点Chief0的PServer中的CPU1监听模型参数文件夹,及时读取集群中各节点传递的参数,传递给本节点的Worker_DS测试评估模型参数,并将最优模型参数保存在模型参数文件夹中,供各节点读取模型文件夹中的模型继续训练。
五、AdaRW算法并行训练实验
采用所设计的OIPA架构对所提出的优化训练算法AdaRW进行并行训练8250次,学习速率设置为0.01,其余参数都按算法默认值设置。训练结果和已有的SGD算法、Adagrad算法、Adam算法比较,得到损失_批次曲线、精度_批次曲线。
在损失_批次曲线中,AdaRW算法的损失是0.0766,耗时750秒,标准差是0.00015,均值是0.2178;Adam算法的损失是0.0594,耗时660秒,标准差是0.00010,均值是0.2164;SGD算法的损失是0.0869,耗时668秒,标准差是0.00031,均值是0.2743;Adagrad算法的损失是0.0535,耗时638秒,标准差是0.00026,均值是0.2407。综合来看,提出的AdaRW算法优于Adagrad和SGD算法,与Adam算法相当。
在精度_批次曲线中,AdaRW算法的精度是0.9983,耗时750秒,标准差是0.00009,均值是0.9187;Adam算法的精度是0.9992,耗时660秒,标准差是0.00006,均值是0.9194;SGD算法的精度是0.9947,耗时668秒,标准差是0.00013,均值是0.8925;Adagrad算法的精度是0.9977,耗时638秒,标准差是0.00010,均值是0.9107。综合来看,对海洋目标适应效果最好的也是所提出的AdaRW算法和Adam训练算法,且AdaRW算法的标准差优于Adagrad算法和Adam算法。
采用所提出的AdaRW算法与其它三种算法,对海洋目标检测深度学***均精度和平均损失是模型训练到最后20次精度和损失的平均值。实验结果显示,所提算法AdaRW除了时间耗费外,测试精度、平均精度和平均损失均优于Adagrad和SGD,测试损失介于Adagrad和SGD之间,综合指标与Adam优化算法相当,标准差优于Adam优化算法。并且本发明所提的算法AdaRW更简洁。
表1 AdaRW与其它算法结果对比
实验数据选取渤海海域(位于北纬37°07′~40°56′和东经117°33′~122°08′之间)的Sentinel-1的IW模式的双极化SAR数据。共20景,时间跨度为2016年1月到6月。
采用所提出的AdaRW算法对OceanTDA9深度学***台等疑似目标90个(每个包含28*28个像素)。目标漏检数为0个,检出率为100%,虚警率为10.9%,用时2.36秒,对于10米分辨率的SAR图像检测能力约58.5km2/s。检测结果如表2所示。
表2海洋目标检测结果
实验表明该算法的测试精度、平均精度和平均损失均优于Adagrad和SGD算法,测试损失介于Adagrad和SGD之间,曲线的标准差优于Adam优化算法。采用该算法对所构建的海洋目标检测深度学习模型进行训练,利用训练后的模型检测到研究区域的疑似目标,提高了极化SAR海洋目标检测的效率。实验结果充分验证了本发明方法的有效性。
当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。
Claims (3)
1.一种基于AdaRW算法的海洋目标检测深度学***方根代替AdaGrad算法中的超参数η,限定梯度累积子窗口是从当前t时刻向前推演到历史时刻tm的窗口;同时,设计了多核并行OIPA架构,对海洋目标检测深度学习模型采用AdaRW算法进行并行训练;最终,利用训练后的OceanTDA9_AdaRW模型对洋疑似目标进行检测;
AdaRW自适应梯度训练算法的迭代更新公式如下:
Δθt=λΔθt-1+(1-λ)gt′⊙gt′ (5)
式中,θ为参数,t为当前时刻,tm为第m个历史时刻,λ为超参数,0≤λ<1;ε取一个很小值防止分母为0;gt为损失函数J(θ)的小批量随机梯度;
OIPA架构由1个中心节点Chief和若干子节点Node组成,中心节点Chief与每个子节点Node成星型联结,所有子节点在逻辑上成闭环联结;
OIPA架构的每个节点都由1个参数服务单元PServer和1个计算服务单元Worker组成;每个子节点Worker中的数据集不同,分别用Worker_DS0、Worker_DS1、Worker_DS2、Worker_DS3区分;所有子节点Worker_DS中的数据集的和等于训练数据集,中心节点Worker_DS中的数据集是完整的数据集;参数服务单元PServer由若干CPU组成,只负责传递存储数据,不负责计算;计算服务单元Worker_DS由若干GPU组成,只负责计算,不负责传递数据;
基于OIPA架构的训练过程为:
(1)子节点Node0中的参数服务单元中的CPU0根据集群中节点的总数从数据集中取出分摊到本节点的数据集DS0,根据本节点GPU数及训练批次准备2个Batch训练数据集,分发给Worker_DS0中的2个GPU训练,将训练后的梯度ΔP传给本节点的参数服务单元PServer中的CPU1,CPU1用聚合后的梯度更新模型的参数后继续训练;
(2)本节点的Worker_DS0完成指定步数的训练后,将最后一步的梯度传递给集群中主节点Chief0的模型参数文件夹中,并从主节点Chief0的模型参数文件夹中提取最优模型参数,保存到本节点的模型参数文件夹中,更新参数进行新一轮的迭代,随后将最优模型参数分发给与本节点相连的上下游节点Node1和Node2的参数服务单元;
(3)Node1和Node2的参数服务单元验证参数的最新性后,将最新的模型参数保存到本节点的模型参数文件夹中,为本节点新一轮的训练提供最新模型参数;
(4)主节点Chief0的PServer中的CPU1监听模型参数文件夹,及时读取集群中各节点传递的参数,传递给本节点的Worker_DS测试评估模型参数,并将最优模型参数保存在模型参数文件夹中,供各节点读取模型文件夹中的模型继续训练。
2.根据权利要求1所述的一种基于AdaRW算法的海洋目标检测深度学习模型训练方法,其特征在于,该方法包括如下步骤:
S1.提出AdaRW自适应梯度训练算法,推导出该算法更新公式;
S2.设计最优交错并行式架构OIPA;
S3.采用所设计的OIPA架构对所提出的AdaRW算法进行并行训练,得到海洋目标检测深度学习模型OceanTDA9_AdaRW;
S4.利用训练后的OceanTDA9_AdaRW模型检测海洋区域疑似目标。
3.根据权利要求1所述的一种基于AdaRW算法的海洋目标检测深度学习模型训练方法,其特征在于,AdaRW算法包括如下步骤:
(1)确定损失函数,采用交叉熵损失函数,如下:
其中,θ是参数,y-i是第i个样本的输入值,hθ(xi)是第i个样本x的输出值;
(2)初始化算法相关参数,初始化超参数λ,梯度累积窗口大小,θ0,θ1,...,θn的值;
(3)计算当前位置损失函数的梯度,并保存tm时刻的梯度;
(4)计算当前位置下降的距离di,采用步长乘以梯度得到;
(5)判断梯度下降的距离是否小于算法终止距离r或是否达到训练次数n,如果是则算法终止,否则转到第(6)步;
(6)更新所有的θ,转入第(1)步,更新函数如下;
(7)算法结束输出结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110324328.9A CN113033098B (zh) | 2021-03-26 | 2021-03-26 | 一种基于AdaRW算法的海洋目标检测深度学习模型训练方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110324328.9A CN113033098B (zh) | 2021-03-26 | 2021-03-26 | 一种基于AdaRW算法的海洋目标检测深度学习模型训练方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113033098A CN113033098A (zh) | 2021-06-25 |
CN113033098B true CN113033098B (zh) | 2022-05-17 |
Family
ID=76474298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110324328.9A Active CN113033098B (zh) | 2021-03-26 | 2021-03-26 | 一种基于AdaRW算法的海洋目标检测深度学习模型训练方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113033098B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113642610B (zh) * | 2021-07-15 | 2024-04-02 | 南京航空航天大学 | 一种分布式异步主动标注方法 |
CN113641905B (zh) * | 2021-08-16 | 2023-10-03 | 京东科技信息技术有限公司 | 模型训练方法、信息推送方法、装置、设备及存储介质 |
CN116361635B (zh) * | 2023-06-02 | 2023-10-10 | 中国科学院成都文献情报中心 | 一种多维时序数据异常检测方法 |
CN116704317B (zh) * | 2023-08-09 | 2024-04-19 | 深圳华付技术股份有限公司 | 目标检测方法、存储介质及计算机设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108171148A (zh) * | 2017-12-26 | 2018-06-15 | 上海斐讯数据通信技术有限公司 | 一种唇语学***台建立的方法和*** |
CN111274036A (zh) * | 2020-01-21 | 2020-06-12 | 南京大学 | 一种基于速度预测的深度学习任务的调度方法 |
CN111327692A (zh) * | 2020-02-05 | 2020-06-23 | 北京百度网讯科技有限公司 | 模型训练方法、装置及集群*** |
CN111931242A (zh) * | 2020-09-30 | 2020-11-13 | 国网浙江省电力有限公司电力科学研究院 | 一种数据共享方法以及应用其的计算机设备及可读存储介质 |
CN112463056A (zh) * | 2020-11-28 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种多节点分布式训练方法、装置、设备及可读介质 |
CN112464784A (zh) * | 2020-11-25 | 2021-03-09 | 西安烽火软件科技有限公司 | 一种基于混合并行的分布式训练方法 |
WO2021051713A1 (zh) * | 2019-09-20 | 2021-03-25 | 广东浪潮大数据研究有限公司 | 一种深度学习训练任务的工作方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035751B (zh) * | 2014-06-20 | 2016-10-12 | 深圳市腾讯计算机***有限公司 | 基于多图形处理器的数据并行处理方法及装置 |
-
2021
- 2021-03-26 CN CN202110324328.9A patent/CN113033098B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108171148A (zh) * | 2017-12-26 | 2018-06-15 | 上海斐讯数据通信技术有限公司 | 一种唇语学***台建立的方法和*** |
WO2021051713A1 (zh) * | 2019-09-20 | 2021-03-25 | 广东浪潮大数据研究有限公司 | 一种深度学习训练任务的工作方法及装置 |
CN111274036A (zh) * | 2020-01-21 | 2020-06-12 | 南京大学 | 一种基于速度预测的深度学习任务的调度方法 |
CN111327692A (zh) * | 2020-02-05 | 2020-06-23 | 北京百度网讯科技有限公司 | 模型训练方法、装置及集群*** |
CN111931242A (zh) * | 2020-09-30 | 2020-11-13 | 国网浙江省电力有限公司电力科学研究院 | 一种数据共享方法以及应用其的计算机设备及可读存储介质 |
CN112464784A (zh) * | 2020-11-25 | 2021-03-09 | 西安烽火软件科技有限公司 | 一种基于混合并行的分布式训练方法 |
CN112463056A (zh) * | 2020-11-28 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种多节点分布式训练方法、装置、设备及可读介质 |
Non-Patent Citations (1)
Title |
---|
深度学习加速技术研究;杨旭瑜等;《计算机***应用》;20160915(第09期);第3-11页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113033098A (zh) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113033098B (zh) | 一种基于AdaRW算法的海洋目标检测深度学习模型训练方法 | |
CN110489223B (zh) | 一种异构集群中任务调度方法、装置及电子设备 | |
Bao et al. | Deep learning-based job placement in distributed machine learning clusters | |
Chen et al. | Revisiting distributed synchronous SGD | |
Zhang et al. | Deep learning with elastic averaging SGD | |
CN108009642A (zh) | 分布式机器学习方法和*** | |
CN114237869B (zh) | 基于强化学习的Ray双层调度方法、装置和电子设备 | |
Yan et al. | Efficient deep neural network serving: Fast and furious | |
CN106776466A (zh) | 一种fpga异构加速计算装置及*** | |
CN112162861A (zh) | 线程分配方法、装置、计算机设备及存储介质 | |
Ko et al. | An in-depth analysis of distributed training of deep neural networks | |
CN111796517A (zh) | 使用神经网络进行任务模拟 | |
CN112070328A (zh) | 环境信息部分已知的多水面无人搜救艇任务分配方法 | |
CN110837395B (zh) | 多gpu并行训练的归一化处理方法、装置和*** | |
CN116663639B (zh) | 一种梯度数据同步方法、***、装置及介质 | |
Yu et al. | Efficient matrix factorization on heterogeneous CPU-GPU systems | |
CN109542585B (zh) | 一种支持不规则时间间隔的虚拟机工作负载预测方法 | |
CN116954866A (zh) | 基于深度强化学习的边缘云下任务调度方法及*** | |
CN115794405A (zh) | 一种基于SSA-XGboost算法的大数据处理框架的动态资源分配方法 | |
Lu et al. | Distributed machine learning based mitigating straggler in big data environment | |
CN112764932B (zh) | 基于深度强化学习的计算密集型工作负载高能效分配方法 | |
CN115081619A (zh) | 一种面向异构集群加速分布式训练的方法及*** | |
CN114970395A (zh) | 基于二维圣维南方程的大规模流体模拟方法及*** | |
CN107025099B (zh) | 一种基于双队列模型的异步图计算实现方法及*** | |
CN110928683A (zh) | 基于两类密集型虚拟机的边缘计算资源分配方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |