[发明专利]一种模型训练方法、工作节点及参数更新服务器有效
申请号: | 201910362862.1 | 申请日: | 2019-04-30 |
公开(公告)号: | CN110097188B | 公开(公告)日: | 2021-07-06 |
发明(设计)人: | 李必然;吕亚飞;刘凯;刘远东 | 申请(专利权)人: | 科大讯飞股份有限公司 |
主分类号: | G06N3/08 | 分类号: | G06N3/08;G06N3/04 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 张小娜;王宝筠 |
地址: | 230088 安徽*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 模型 训练 方法 工作 节点 参数 更新 服务器 | ||
1.一种模型训练方法,其特征在于,所述方法应用于一种工作节点,所述方法包括:
根据第一模型的任务类型,确定所述第一模型中各个网络层的目标计算精度;所述第一模型的任务类型包括图像处理任务或序列处理任务,所述第一模型的最后一层的计算精度为第一精度,所述第一模型中除最后一层以外的其他网络层的计算精度低于或等于所述第一精度;
基于所述目标计算精度,利用所述第一模型的训练数据进行前向计算和后向计算,得到所述第一模型的各个网络层的网络参数的目标梯度值;所述训练数据是与所述第一模型的任务类型相关的数据;
根据所述目标梯度值,对第二模型进行参数更新,完成本轮训练;
其中,在对所述第二模型进行参数更新之前,所述第一模型与所述第二模型的网络结构和网络参数相同、且所述第一模型中的全部或部分网络层的计算精度低于所述第二模型的网络层的计算精度。
2.根据权利要求1所述的方法,其特征在于,所述根据第一模型的任务类型,确定所述第一模型中各个网络层的目标计算精度,包括:
若所述第一模型的任务类型为图像处理任务,则将所述第一模型的第一层和最后一层设置为所述第一精度,并将所述第一模型中除第一层和最后一层以外的其它网络层的计算精度设置为低于所述第一精度;
若所述第一模型的任务类型为序列处理任务,则将所述第一模型的最后一层设置为所述第一精度,并将所述第一模型中除最后一层以外的其它网络层的计算精度设置为低于所述第一精度。
3.根据权利要求1所述的方法,其特征在于,所述利用所述第一模型的训练数据进行前向计算和后向计算,得到所述第一模型的各个网络层的网络参数的目标梯度值,包括:
利用所述第一模型的训练数据进行前向计算和后向计算,并对经所述后向计算得到的梯度值进行放大,得到目标梯度值;
相应地,所述根据所述目标梯度值,对第二模型进行参数更新,包括:
缩小所述目标梯度值,以还原得到经所述后向计算得到的梯度值;
利用还原后的梯度值,对第二模型进行参数更新。
4.根据权利要求3所述的方法,其特征在于,所述对经所述后向计算得到的梯度值进行放大,得到目标梯度值,包括:
获取经所述后向计算得到的第一个梯度值,并将所述第一个梯度值与一个预设的超参数进行相乘,得到放大后的梯度值;
利用所述放大后的梯度值继续所述后向计算,直至所述后向计算结束后得到所述目标梯度值;
相应地,所述缩小所述目标梯度值,包括:
将所述目标梯度值除以所述超参数。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
在进行所述本轮训练之后的下一轮训练时,将经所述本轮训练后的第二模型的计算精度按照所述目标计算精度进行转换,得到更新后的第一模型,并继续执行所述基于所述目标计算精度,利用所述第一模型的训练数据进行前向计算和后向计算的步骤。
6.一种模型训练方法,其特征在于,所述方法应用于一种参数更新服务器,所述方法包括:
获取各个工作节点上传的第一数据,所述工作节点为权利要求1至5任一项所述的工作节点;
利用各个工作节点上传的第一数据,生成第二数据;
将所述第二数据下发至各个工作节点,所述第二数据用于对各个工作节点的第二模型进行参数更新。
7.根据权利要求6所述的方法,其特征在于,所述第一数据为对应工作节点在每一轮训练得到的目标梯度值,或者,所述第一数据为对应工作节点进行至少一轮训练后得到的第二模型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于科大讯飞股份有限公司,未经科大讯飞股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910362862.1/1.html,转载请声明来源钻瓜专利网。