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

一种基于遗传算法的分布式参数服务器更新方法技术

技术编号:18839849 阅读:18 留言:0更新日期:2018-09-05 08:21
本发明专利技术提供一种基于遗传算法的分布式参数服务器更新方法,该方法在工作节点前向传播计算出损失函数的损失值Loss后,就将损失值发送给参数服务器,参数服务器此时就可以利用损失值进行遗传算法的选择,并等待各工作节点后向传播计算出各层参数的梯度,发送回来。即利用了同步等待的时间,来根据损失值对工作节点的参数进行评估,进行一定的筛选,并使用交叉变异增加随机性,使得参数更新时不再使用所有的梯度的加和,而是对于收敛性好的工作节点的参数会保留,对于收敛性差的工作节点的参数进行丢弃。每一次迭代时同样经历一代筛选,经过多代筛选后,得到最优的个体基因型,将其对应到工作节点的梯度选用上,从而运用到参数更新中。

A distributed parameter server update method based on genetic algorithm

The invention provides a distributed parameter server updating method based on genetic algorithm, which sends the loss value to the parameter server after the loss value Loss of the loss function is calculated by propagating forward to the working node, and then the parameter server can use the loss value to select the genetic algorithm and wait for each working section. Point backward propagation calculates the gradient of each parameter and sends it back. In other words, the synchronous waiting time is used to evaluate the parameters of the working nodes according to the loss value, and the cross-mutation is used to increase the randomness, so that the parameters of the working nodes with good convergence will be retained, and the parameters of the working nodes with poor convergence will be retained. The parameters of the working node are discarded. Each iteration also undergoes a generation of screening, after multiple generations of screening, the optimal individual genotype is obtained, which corresponds to the gradient selection of the working node, and is applied to parameter updating.

【技术实现步骤摘要】
一种基于遗传算法的分布式参数服务器更新方法
本专利技术涉及人工智能领域,更具体地,涉及一种基于遗传算法的分布式参数服务器更新方法。
技术介绍
典型的包含参数服务器的深度学习系统结构包括一个或多个参数服务器节点,多个工作节点。参数服务器节点共同维护和更新全局共享参数,彼此可以互相通信,多个工作节点保存一部分输入的训练数据集,彼此之间没有通信,各自利用数据集进行前向传播和后向传播计算得到新的模型梯度,并及时发回参数服务器,跟参数服务器交换最近的模型参数,从而进行下一轮的训练。在同步的数据并行模式中,随机梯度下降(SGD,StochasticGradientDescent)算法被普遍使用,它在每次梯度计算中,训练数据集分划分为包含多个样本的小批量数据子集,每个工作节点完成一个完整的迭代需要进行以下四个步骤:工作节点从参数服务器pull拉取最新的参数副本。工作节点从本地训练数据集中取出最新的一批数据进行计算,得到新的参数梯度。工作节点将新的计算的参数梯度推送给参数服务器。参数服务器汇总各个工作节点的梯度,并进行计算更新参数。其中第一步和第三步的参数交换是阻塞式网络通信即同步通信,第二跟第四步是模型训练准确率提升的关键所在。从最开始AlexSmola采用分布式的Memcache缓存技术作为存放参数的存储,用于不同工作节点之间同步模型参数,到现在最新的李沐提出的第三代参数服务器架构,关注点一直放在如何缩短参数交换的时间,解决工作节点与参数服务器的通信瓶颈,而第四步参数更新的计算一直沿用先汇总所有工作节点的梯度,最新的参数等于当前参数减去汇总后的平均参数梯度与学习速率的乘积的办法,与本专利技术最相似的是在除考虑梯度的因素外,为了防止过拟合,使用正则化方法在目标函数中增加了参数范数惩罚项,使得参数更新时需要减去梯度和权重衰减两部分的影响。目前,参数服务器的主要作用仍然是负责存储和更新参数,但是在同步的数据并行模式下,每个工作节点想要拉取最新的参数进行下一批数据的训练时需要等待参数服务器汇合所有工作节点的梯度并进行计算,在此之前一直处于阻塞状态,造成了时间的浪费。并且参数服务器的职责过于单一,利用梯度进行更新的办法计算简单,没有考虑不同工作节点产生的参数梯度对整体训练效果的影响,因此需要较多的迭代次数才能达到较高的准确率。
技术实现思路
本专利技术提供一种较高的准确率的基于遗传算法的分布式参数服务器更新方法。为了达到上述技术效果,本专利技术的技术方案如下:一种基于遗传算法的分布式参数服务器更新方法,包括以下步骤:S1:参数服务器接收到各工作节点发送的损失值Loss;S2:使用二进制编码方法对各工作节点的损失值Loss进行编码;S3:使用随机方法产生初始群体;S4:对初始群体中的每一个个体进行适应度计算;S5:采用轮盘赌选择方法对群体中的个体进行选择计算;S6:使用单点交叉方法对已经选用的个体进行交叉运算;S7:使用随机变异对进行过交叉运算后的个体进行变异运算;S8:判断进行变异运算后的群体的适应度总和是否增加;若有增加,跳转到步骤S4,若没有增加就跳转到S9;S9:取出适应度最高的个体基因作为最优解;S10:参数服务器根据最优解对各个工作节点的参数进行取舍来更新参数。进一步地,所述步骤S5的过程是:S51:计算所有个体适应度的总和SUM;S52:计算出每个个体的适应度与SUM的比值;S53:每个概率值组成一个区域,全部概率值之和为1;S54:在[0,1]区间产生一个均匀分布的伪随机数r;S55:根据r的值出现在哪一个概率区选定此概率区的个体基因;S56:重复步骤S54-S55,重复M次后选出M个个体。进一步地,所述步骤S6的过程如下:S61:首先对已选用的M个个体进行随机配对;S62:随机设置交叉点位置;S63:以交叉概率P1、使用单点交叉来相互交换配对个体之间的部分基因。进一步地,所述步骤S7的过程如下:S71:对于已选用的个体,随机产生变异点位置;S72:按照P2概率将变异点的原有基因按照基本位变异的方法进行变异,即取反。进一步地,所述交叉概率P1为0.3,所述变异概率P2为0.1。与现有技术相比,本专利技术技术方案的有益效果是:本专利技术在工作节点前向传播计算出损失函数的损失值Loss后,就将损失值发送给参数服务器,参数服务器此时就可以利用损失值进行遗传算法的选择,并等待各工作节点后向传播计算出各层参数的梯度,发送回来。即利用了同步等待的时间,来根据损失值对工作节点的参数进行评估,进行一定的筛选,并使用交叉变异增加随机性,使得参数更新时不再使用所有的梯度的加和,而是对于收敛性好的工作节点的参数会保留,对于收敛性差的工作节点的参数进行丢弃。每一次迭代时同样经历一代筛选,经过多代筛选后,得到最优的个体基因型,将其对应到工作节点的梯度选用上,从而运用到参数更新中,使得训练过程的整体误差能在有限时间内下降,准确率上升。附图说明图1为本专利技术方法流程图。具体实施方式附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。下面结合附图和实施例对本专利技术的技术方案做进一步的说明。实施例1如图1所示,一种基于遗传算法的分布式参数服务器更新方法,包括以下步骤:S1:参数服务器接收到各工作节点发送的损失值Loss;S2:使用二进制编码方法对各工作节点的损失值Loss进行编码;S3:使用随机方法产生初始群体;S4:对初始群体中的每一个个体进行适应度计算;S5:采用轮盘赌选择方法对群体中的个体进行选择计算;S6:使用单点交叉方法对已经选用的个体进行交叉运算;S7:使用随机变异对进行过交叉运算后的个体进行变异运算;S8:判断进行变异运算后的群体的适应度总和是否增加;若有增加,跳转到步骤S4,若没有增加就跳转到S9;S9:取出适应度最高的个体基因作为最优解;S10:参数服务器根据最优解对各个工作节点的参数进行取舍来更新参数。适应度函数选择:遗传算法中以个体适应度的大小来评定各个个体的优劣程度,从而决定遗传机会的大小,并且适应度函数与目标函数一般是正相关的。在此问题中,目标函数为非负值,并且是一个求得所有工作节点的损失值的最小值的函数。因此,将适应度函数设为此基因型带入后损失值之和的倒数。把当前群体中适应度较高的个体按照某种规则遗传到下一代群体中,即适应度较高的个体,繁殖下一代的数目较多,而适应度较小的个体,繁殖下一代的数目较少,甚至被淘汰。终止条件判断:经过逐轮迭代,即对第五步得到的群体作为第一步的初始群体继续计算,进化,直到最优个体的适应度和群体适应度总和不再上升,算法收敛,我们将最优个体的解与工作节点参数的取舍对应,根据得到的最优个体的基因型(也就是一个M位的无符号二进制数),从第一位到第M位分别对应第一个工作节点的参数梯度到第M个工作节点的参数梯度,如果取0表示参数服务器不汇总此工作节点的梯度,如果取1则反之。最后参数服务器根据选取进行汇总的参数梯度的平均值更新参数得到新的参数值,并等待工作节点拉取新的参数。步骤S5的过程是:S51:计算所有个体适应度的总和SUM;S52:计算出每个个体的适应度与SUM的比值;本文档来自技高网
...

【技术保护点】
1.一种基于遗传算法的分布式参数服务器更新方法,其特征在于,包括以下步骤:S1:参数服务器接收到各工作节点发送的损失值Loss;S2:使用二进制编码方法对各工作节点的损失值Loss进行编码;S3:使用随机方法产生初始群体;S4:对初始群体中的每一个个体进行适应度计算;S5:采用轮盘赌选择方法对群体中的个体进行选择计算;S6:使用单点交叉方法对已经选用的个体进行交叉运算;S7:使用随机变异对进行过交叉运算后的个体进行变异运算;S8:判断进行变异运算后的群体的适应度总和是否增加;若有增加,跳转到步骤S4,若没有增加就跳转到S9;S9:取出适应度最高的个体基因作为最优解;S10:参数服务器根据最优解对各个工作节点的参数进行取舍来更新参数。

【技术特征摘要】
1.一种基于遗传算法的分布式参数服务器更新方法,其特征在于,包括以下步骤:S1:参数服务器接收到各工作节点发送的损失值Loss;S2:使用二进制编码方法对各工作节点的损失值Loss进行编码;S3:使用随机方法产生初始群体;S4:对初始群体中的每一个个体进行适应度计算;S5:采用轮盘赌选择方法对群体中的个体进行选择计算;S6:使用单点交叉方法对已经选用的个体进行交叉运算;S7:使用随机变异对进行过交叉运算后的个体进行变异运算;S8:判断进行变异运算后的群体的适应度总和是否增加;若有增加,跳转到步骤S4,若没有增加就跳转到S9;S9:取出适应度最高的个体基因作为最优解;S10:参数服务器根据最优解对各个工作节点的参数进行取舍来更新参数。2.根据权利要求1所述的基于遗传算法的分布式参数服务器更新方法,其特征在于,所述步骤S5的过程是:S51:计算所有个体适应度的总和SUM;S52:计算出每个个体的适应度与SUM的...

【专利技术属性】
技术研发人员:叶彦李欣鑫吴维刚
申请(专利权)人:中山大学
类型:发明
国别省市:广东,44

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

1