[发明专利]神经网络的训练方法、装置、计算机设备及存储介质在审
| 申请号: | 202011620546.9 | 申请日: | 2020-12-31 |
| 公开(公告)号: | CN112613577A | 公开(公告)日: | 2021-04-06 |
| 发明(设计)人: | 王迎瑞;高洋 | 申请(专利权)人: | 上海商汤智能科技有限公司 |
| 主分类号: | G06K9/62 | 分类号: | G06K9/62;G06N3/04;G06N3/08 |
| 代理公司: | 北京中知恒瑞知识产权代理事务所(普通合伙) 11889 | 代理人: | 吴迪 |
| 地址: | 200233 上海市徐*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 神经网络 训练 方法 装置 计算机 设备 存储 介质 | ||
本公开提供了一种神经网络的训练方法、装置、计算机设备及存储介质,包括:基于神经网络对应的目标损失函数,生成第一计算算子;其中,所述第一计算算子中包括多步操作;在训练所述神经网络的过程中,调用所述第一计算算子对应的内核执行所述第一计算算子,得到本次训练过程中的损失值;基于所述损失值,调整所述神经网络的网络参数值。
技术领域
本公开涉及神经网络技术领域,具体而言,涉及一种神经网络的训练方法、装置、计算机设备及存储介质。
背景技术
强化学习是机器学习的一个重要分支,是多学科多领域交叉的产物。一般的,强化学习损失函数的计算表现为含时间序列的线性变化计算。以人工智能平台Pytorch为例,强化学习损失函数的输入(即神经网络多次的输出结果)一般是存储在高维数组中,在计算强化学习损失函数时,一般是将高维数组进行切片,得到强化学习损失函数的输入,然后基于强化学习损失函数对输入进行线性变换计算,得到损失值。
在对高维数据进行切片,在基于强化学习损失函数对输入进行线性变换计算时,由于每次切片操作和线性变换计算都需要启动计算算子对应的内核,当计算算子的个数较多时,计算算子对应的内核启动所耗费的时间较长,损失值的计算速度较慢。
发明内容
本公开实施例至少提供一种神经网络的训练方法、装置、计算机设备及存储介质。
第一方面,本公开实施例提供了一种神经网络的训练方法,包括:
基于神经网络对应的目标损失函数,生成第一计算算子;其中,所述第一计算算子中包括多步操作;
在训练所述神经网络的过程中,调用所述第一计算算子对应的内核执行所述第一计算算子,得到本次训练过程中的损失值;
基于所述损失值,调整所述神经网络的网络参数值。
上述方法中,预先生成了目标损失函数对应的第一计算算子,在神经网络的训练过程中,通过调用第一计算算子的内核确定本次训练过程中的损失值,由于在第一计算算子中包括多步操作,因此,在计算损失值的过程中,可以通过调用一个内核完成多步的计算,降低了损失值的计算过程中内核的调用个数,提高了内核的利用率,加快了损失值的计算速度。
一种可能的实施方式中,所述方法包括根据以下方法生成所述第一计算算子:
确定所述目标损失函数中至少一组可融合的多步操作;
基于所述至少一组可融合的多步操作,确定每组可融合的多步操作对应的所述第一计算算子。
每一组可融合的多步操作,都可以确定一个对应的第一计算算子,通过这种方法,对于一个目标损失函数,可以尽可能少的减少计算算子的个数,加快了损失值的计算速度。
一种可能的实施方式中,所述方法包括如下至少一项:
属于同一组的所述可融合的多步操作在所述目标损失函数的计算过程中相邻,且计算特征相容;
在所述可融合的多步操作包括多组的情况下,至少两组所述可融合的多步操作之间计算特征不相容。
一种可能的实施方式中,在所述调用所述第一计算算子对应的内核执行所述第一计算算子,得到本次训练过程中的损失值之前,所述方法还包括:
确定在所述目标损失函数的计算过程中与相邻操作的计算特征不相容的至少一步操作对应的第二计算算子。
一种可能的实施方式中,所述调用所述第一计算算子对应的内核执行所述第一计算算子,得到本次训练过程中的损失值,包括:
按照所述第一计算算子和所述第二计算算子在所述目标损失函数中的计算顺序,调用所述第一计算算子对应的内核执行所述第一计算算子,以及,调用所述第二计算算子的内核执行所述第二计算算子,得到本次训练过程中的损失值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海商汤智能科技有限公司,未经上海商汤智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011620546.9/2.html,转载请声明来源钻瓜专利网。





