[发明专利]神经网络运算模块及方法在审
| 申请号: | 201811041573.3 | 申请日: | 2018-09-06 |
| 公开(公告)号: | CN110880033A | 公开(公告)日: | 2020-03-13 |
| 发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 上海寒武纪信息科技有限公司 |
| 主分类号: | G06N3/04 | 分类号: | G06N3/04 |
| 代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
| 地址: | 201306 上海*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 神经网络 运算 模块 方法 | ||
1.一种神经网络运算模块,其特征在于,所述神经网络运算模块用于进行多层神经网络的运算,包括:
存储单元,用于存储输入神经元精度、权重精度和输出神经元梯度精度;
控制器单元,用于从所述存储单元获取所述多层神经网络第L层的输入神经元精度Sx(l)、权重精度Sw(l)和输出神经元梯度精度其中,所述L为大于0的整数;根据所述输入神经元精度Sx(l)、所述权重精度Sw(l)和所述输出神经元梯度精度获取梯度更新精度T;当所述梯度更新精度T小于预设精度Tr时,调整所述输入神经元精度Sx(l)、权重精度Sw(l)和输出神经元梯度精度以使所述梯度更新精度T与所述预设精度Tr的差值的绝对值最小;
运算单元,用于根据调整后的输入神经元精度Sx(l)和权重精度Sw(l)来表示第L层的输入神经元和权重和根据调整后的输出神经元梯度精度来表示运算得到的第L层输出神经元梯度,以进行后续运算。
2.根据权利要求1所述的模块,其特征在于,所述控制器单元根据所述输入神经元精度Sx(l)、所述权重精度Sw(l)和所述输出神经元梯度精度获取梯度更新精度T,具体包括:
所述控制器单元根据预设公式对所述输入神经元精度Sx(l)、所述权重精度Sw(l)和所述输出神经元梯度精度进行计算,以得到所述梯度更新精度T;
其中,所述预设公式为:
3.根据权利要求2所述的模块,其特征在于,所述控制器单元调整所述输入神经元精度Sx(l)、权重精度Sw(l)和输出神经元梯度精度包括:
所述控制器单元保持所述输入神经元精度Sx(l)和所述权重精度Sw(l)不变,增大所述输出神经元梯度精度
4.根据权利要求3所述的模块,其特征在于,所述控制器单元增大所述输出神经元梯度精度时,减少表示所述输出神经元梯度的定点数据格式的位宽。
5.根据权利要求3或4所述的模块,其特征在于,所述控制器单元增加所述输出神经元梯度精度后,所述控制器单元还用于:
判断所述输出神经元梯度精度是否小于需求精度,所述需求精度为进行多层神经网络运算时输出神经元梯度的最小精度;
当所述输出神经元梯度精度小于所述需求精度时,减少表示所述输出神经元梯度的定点数据格式的位宽。
6.根据权利要求4或5所述的模块,其特征在于,所述控制器单元减少所述表示所述权重的定点数据格式的位宽,包括:
所述控制器单元按照预设步长N1减少所述表示所述输出神经元梯度的定点数据格式的位宽;
其中,所述预设步长N1为1、2、4、6、7、8或者其他正整数。
7.根据权利要求4或5所述的模块,其特征在于,所述控制器单元减少所述表示所述输出神经元梯度的定点数据格式的位宽,包括:
所述控制器单元按照2倍递增的方式减少所述表示所述输出神经元梯度的定点数据格式的位宽。
8.根据权利要求1-7任一项所述的模块,其特征在于,所述控制器单元还用于:
根据机器学习的方法获取所述预设精度Tr,或者;
根据第L-1层输出神经元的个数、学习率和批处理时的样本数量获取所述预设精度Tr;且所述第L-1层输出神经元的个数和批处理时的样本数量越多以及学习率越高,所述预设精度Tr越大。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海寒武纪信息科技有限公司,未经上海寒武纪信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811041573.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:壳体组件和安装夹
- 下一篇:一种精密铝合金零件的清洗方法





