1.深度卷积神经网络的分布式训练方法,其特征在于,包括以下步骤:S1:初始化深度卷积神经网络中集群的主节点的所有参数,并广播到各工作节点,再根据各工作节点的数量将所有训练数据均分为若干个训练子集;
S2:各工作节点读取一个训练子集并根据深度卷积神经网络的初始化参数来训练一个深度卷积神经网络模型;
S3:各工作节点将各自训练的深度卷积神经网络模型得到的参数梯度和训练时间汇总给集群的主节点;
S4:集群的主节点根据各工作节点的训练时间将各工作节点划分为不同的子集群;
S5:根据子集群的个数和训练速度最慢的子集群中的工作节点数量进行判断,来选择子集群的参数服务器节点;
S6:集群的参数服务器主节点根据各工作节点的参数梯度来更新全局参数,各子集群的参数服务器节点从参数服务器主节点拉取最新的全局参数,而各子集群内各工作节点也从其所属的参数服务器节点拉取最新的全局参数;
S7:集群的主节点根据新的工作节点数量将所有训练数据均分为与新的工作节点数量等量的训练子集;
S8:各工作节点读取各自的训练子集并根据最新的全局参数分别执行一次训练;
S9:各子集群内各工作节点将训练一次深度卷积神经网络模型得到的参数梯度发送给其所属的参数服务器节点,各子集群的参数服务器节点接收到其内所有工作节点的参数梯度后计算子集群的平均参数梯度;
S10:当子集群的参数服务器节点完成平均参数梯度的计算后,向集群的参数服务器主mean
节点发送该子集群的平均参数梯度g 和当前迭代次数tx,参数服务器主节点加权更新全局参数,待全局参数更新后该子集群的参数服务器节点将从参数服务器主节点拉取最新的全局参数,同时该子集群内各工作节点将从该参数服务器节点拉取最新的全局参数;
S11:集群的参数服务器主节点判断深度卷积神经网络模型是否已收敛,若否,则返回S8,若是,则停止训练,输出最终的深度卷积神经网络模型。
2.根据权利要求1所述的深度卷积神经网络的分布式训练方法,其特征在于,在步骤S4中,包括以下步骤:
S41:将各工作节点的训练时间取倒数并归一化,由此构造各工作节点的训练速度的差值矩阵;
S42:采用基于密度的自适应聚类算法DBSCAN对训练速度的差值矩阵进行聚类分析,将训练速度相近的工作节点聚为一类即划分为一个子集群。
3.根据权利要求2所述的深度卷积神经网络的分布式训练方法,其特征在于,所述差值矩阵为:
VDn,m代表工作节点n与工作节点m的模型训练速度的差值的绝对值(1≤n,m≤N)。
4.根据权利要求2所述的深度卷积神经网络的分布式训练方法,其特征在于,自适应聚类算法DBSCAN的参数设置如下:∈‑邻域的距离阈值设置为0.3~0.7,∈‑邻域的距离阈值的样本数阈值设置为3~7,距离度量采用欧式距离,最近邻算法使用KD树,停止建子树的叶子节点数量阈值设置为20~40。
5.根据权利要求4所述的深度卷积神经网络的分布式训练方法,其特征在于,∈‑邻域的距离阈值设置为0.5,∈‑邻域的距离阈值的样本数阈值设置为5,停止建子树的叶子节点数量阈值设置为30。
6.根据权利要求2所述的深度卷积神经网络的分布式训练方法,其特征在于,在步骤S5中,子集群的个数为M,工作节点数量为K;
若K≥M+1,则从训练速度最慢的子集群中根据工作节点的训练速度的升序排列选择M个节点作为M个子集群的参数服务器节点;
若K=M,则从训练速度最慢的子集群中根据工作节点的训练速度的降序排列选择M‑1个节点作为其余M‑1个子集群的参数服务器节点,余下的1个工作节点不参与深度卷积神经网络的分布式并行训练;
若K=M‑1,则从训练速度最慢的子集群中选择所有节点作为其余M‑1个子集群的参数服务器节点;
若K
7.根据权利要求5所述的深度卷积神经网络的分布式训练方法,其特征在于,在步骤S9中,各子集群的参数服务器节点接收到其内所有工作节点的参数梯度后按以下公式计算子集群的平均参数梯度:
其中x(1≤x≤N)表示工作节点的编号,N表示工作节点的数量、t表示当前迭代次数,表示参数梯度。
8.根据权利要求6所述的深度卷积神经网络的分布式训练方法,其特征在于,在步骤S10中,参数服务器主节点通过以下算法来加权更新全局参数:t
其中R为参数服务器节点的数量,α为学习率,tx为当前迭代次数,W 为当前迭代次数时的全局参量。
9.深度卷积神经网络的分布式训练设备,其特征在于,包括:存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,用于执行权利要求1至8任一项所述的深度卷积神经网络的分布式训练方法。
10.一种计算机可读的存储介质,其特征在于,所述计算机可读存储介质存储计算机程序,其中,所述计算机程序使得计算机执行权利要求1至8任一项所述的深度卷积神经网络的分布式训练方法。