[发明专利]一种模型训练方法、工作节点及参数更新服务器有效
申请号: | 201910362862.1 | 申请日: | 2019-04-30 |
公开(公告)号: | CN110097188B | 公开(公告)日: | 2021-07-06 |
发明(设计)人: | 李必然;吕亚飞;刘凯;刘远东 | 申请(专利权)人: | 科大讯飞股份有限公司 |
主分类号: | G06N3/08 | 分类号: | G06N3/08;G06N3/04 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 张小娜;王宝筠 |
地址: | 230088 安徽*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 模型 训练 方法 工作 节点 参数 更新 服务器 | ||
本申请公开了一种模型训练方法、工作节点及参数更新服务器,该方法包括:根据第一模型的任务类型,确定第一模型中各个网络层的目标计算精度,并基于第一模型中各个网络层的目标计算精度,利用第一模型的训练数据进行前向计算和后向计算,得到第一模型的各个网络层的网络参数的目标梯度值,以便根据该目标梯度值对第二模型进行参数更新。由于不同任务类型所需求的计算精度不同,因而,根据任务类型确定的目标计算精度更适应于该任务类型对精度的需求,从而使得在第一模型基于目标计算精度进行计算的过程中,不但可以减少在工作节点上的资源消耗和提升在工作节点上的计算加速,还可以降低因第一模型的计算精度损失带来的对第二模型的训练效果损失。
技术领域
本申请涉及深度学习技术领域,尤其涉及一种模型训练方法、工作节点及参数更新服务器。
背景技术
当前深度学习技术蓬勃发展,一些常见的领域(例如物体检测与识别、语音识别与合成、和机器翻译等)对深度学习的开发和依赖程度也越来越高。深度学习的概念源于人工神经网络的研究,深度学习通过组合低层特征形成更加抽象的高层表示特征,以发现数据的分布式特征表示。深度学习分为训练和推理两部分,训练负责将准备好的数据送入设计好的网络中进行训练计算并更新网络中的参数,最终得到一个可用的网络参数模型;推理则是将训练好的网络参数模型部署到应用场景中,对输入数据进行推理计算,得到想要的结果。
在深度学习的训练方向上,需要对单个工作节点上的模型进行训练,但为了节省单个工作节点的资源消耗等需求,需要降低模型的计算精度,但精度损失会带来训练效果的损失。
发明内容
本申请实施例的主要目的在于提供一种模型训练方法、工作节点及参数更新服务器,能够降低精度损失带来的训练效果损失。
本申请实施例提供了一种模型训练方法,所述方法应用于一种工作节点,所述方法包括:
根据第一模型的任务类型,确定所述第一模型中各个网络层的目标计算精度;
基于所述目标计算精度,利用所述第一模型的训练数据进行前向计算和后向计算,得到所述第一模型的各个网络层的网络参数的目标梯度值;
根据所述目标梯度值,对第二模型进行参数更新,完成本轮训练;
其中,在对所述第二模型进行参数更新之前,所述第一模型与所述第二模型的网络结构和网络参数相同、且所述第一模型中的全部或部分网络层的计算精度低于所述第二模型的网络层的计算精度。
可选的,所述第一模型中各个网络层的目标计算精度为:
所述第一模型的最后一层的计算精度为第一精度,所述第一模型中除最后一层以外的其他网络层的计算精度低于或等于所述第一精度。
可选的,所述根据第一模型的任务类型,确定所述第一模型中各个网络层的目标计算精度,包括:
若所述第一模型的任务类型为图像处理任务,则将所述第一模型的第一层和最后一层设置为所述第一精度,并将所述第一模型中除第一层和最后一层以外的其它网络层的计算精度设置为低于所述第一精度;
若所述第一模型的任务类型为序列处理任务,则将所述第一模型的最后一层设置为所述第一精度,并将所述第一模型中除最后一层以外的其它网络层的计算精度设置为低于所述第一精度。
可选的,所述利用所述第一模型的训练数据进行前向计算和后向计算,得到所述第一模型的各个网络层的网络参数的目标梯度值,包括:
利用所述第一模型的训练数据进行前向计算和后向计算,并对经所述后向计算得到的梯度值进行放大,得到目标梯度值;
相应地,所述根据所述目标梯度值,对第二模型进行参数更新,包括:
缩小所述目标梯度值,以还原得到经所述后向计算得到的梯度值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于科大讯飞股份有限公司,未经科大讯飞股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910362862.1/2.html,转载请声明来源钻瓜专利网。