[发明专利]在机器学习模型训练中使用滞后梯度在审
申请号: | 201980094690.2 | 申请日: | 2019-04-11 |
公开(公告)号: | CN113646776A | 公开(公告)日: | 2021-11-12 |
发明(设计)人: | 臧慧;程晓琳 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06N3/08;G06N3/04 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 机器 学习 模型 训练 使用 滞后 梯度 | ||
1.一种用于对神经网络模型进行分布式同步训练的计算机实现方法,其特征在于,所述方法包括:
检测来自对应的多个计算节点机器的多个梯度集合,其中每个所述计算节点机器在训练数据集的当前迭代中生成所述多个梯度集合中的梯度集合,且所述多个梯度集合中的每个梯度集合包括多个梯度;
检测来自另一计算节点机器的滞后梯度集合,其中所述滞后梯度集合由所述至少另一计算节点机器在所述训练数据集的先前迭代中生成;
通过基于所述多个梯度集合和所述滞后梯度集合进行梯度聚合,生成聚合梯度;以及
基于所述聚合梯度更新所述神经网络模型。
2.根据权利要求1所述的计算机实现方法,其特征在于,还包括:
对所述聚合梯度进行平均,生成平均梯度集合;以及
利用所述平均梯度集合更新所述神经网络模型的多个权重。
3.根据权利要求1或2所述的计算机实现方法,其特征在于,还包括:
确定所述滞后梯度集合的权重;以及
基于所述权重利用所述多个梯度集合和所述滞后梯度集合的加权版本进行所述梯度聚合。
4.根据权利要求3所述的计算机实现方法,其特征在于,所述权重是基于所述当前迭代的索引和所述先前迭代的索引确定的。
5.根据权利要求4所述的计算机实现方法,其特征在于,所述权重为1/(1+Δ),其中Δ是所述当前迭代的所述索引和所述先前迭代的所述索引之间的差值。
6.根据权利要求4所述的计算机实现方法,其特征在于,所述权重为1/aΔ,其中Δ是所述当前迭代的所述索引和所述先前迭代的所述索引之间的差值,a是大于1的整数。
7.根据权利要求1至6中任一项所述的计算机实现方法,其特征在于,还包括:
当从中接收到所述多个梯度集合中的梯度集合的所述多个计算节点机器中的计算节点机器的数量达到阈值数量时,进行所述梯度聚合。
8.根据权利要求1至7中任一项所述的计算机实现方法,其特征在于,所述更新所述神经网络模型包括:
基于所述聚合梯度更新所述神经网络模型内的多个权重和偏置。
9.根据权利要求1至8中任一项所述的计算机实现方法,其特征在于,还包括:
在所述多个计算节点机器中的每个计算节点机器在所述当前迭代期间完成前向计算和后向计算操作之后,通过相应的推送操作接收来自所述对应的多个计算节点机器的所述多个梯度集合。
10.一种用于训练神经网络模型的分布式同步训练系统,其特征在于,所述系统包括:
存储有指令的存储器;以及
与所述存储器通信的一个或多个处理器,其中所述一个或多个处理器执行所述指令以执行以下操作:
检测来自对应的多个计算节点机器的多个梯度集合,其中每个所述计算节点机器在训练数据集的当前迭代中生成所述多个梯度集合中的梯度集合,且所述多个梯度集合中的每个梯度集合包括多个梯度;
检测来自另一计算节点机器的滞后梯度集合,其中所述滞后梯度集合由所述另一计算节点机器在所述训练数据集的先前迭代中生成;
通过基于所述多个梯度集合和所述滞后梯度集合进行梯度聚合,生成聚合梯度;以及
基于所述聚合梯度更新所述神经网络模型。
11.根据权利要求10所述的系统,其特征在于,所述一个或多个处理器执行所述指令以执行以下操作:
对所述聚合梯度进行平均,生成平均梯度集合;以及
利用所述平均梯度集合更新所述神经网络模型的多个权重。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980094690.2/1.html,转载请声明来源钻瓜专利网。