[发明专利]一种神经网络计算装置和方法有效
申请号: | 201811592246.7 | 申请日: | 2018-12-25 |
公开(公告)号: | CN111368986B | 公开(公告)日: | 2023-03-10 |
发明(设计)人: | 请求不公布姓名 | 申请(专利权)人: | 上海寒武纪信息科技有限公司 |
主分类号: | G06N3/048 | 分类号: | G06N3/048;G06N3/063;G06N3/08 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 201306 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 神经网络 计算 装置 方法 | ||
1.一种神经网络计算装置,所述装置用于执行人工神经网络训练计算;所述神经网络训练运算包括神经网络多层训练运算,所述多层训练运算中包括至少一层第i层,所述第i层的正向运算或反向运算中至少有部分数据为定点数据运算,上述i为大于等于1的整数;所述计算装置包括:控制器单元、运算单元和转换单元,其中,控制器单元与运算单元以及转换单元连接;所述第i层训练运算中包括第i层正向运算和第i层反向运算;
控制器单元,用于获取第i层的输入神经元数据、第i层权值数据以及第i层正向计算指令;
控制器单元,还用于解析该第i层计算指令得到多个正向运算指令,将第i层输入神经元数据以及第i层权值数据发送给转换单元,将该多个运算指令发送给运算单元;
转换单元,用于将该第i层输入神经元数据以及第i层权值数据中的全部或部分执行浮点类型与定点类型转换得到全部定点数据或混合数据,将全部定点数据或混合数据发送给运算单元,所述混合数据包括:部分定点数据以及部分浮点数据;
所述转换单元,还用于依据float = int * scale*2point执行浮点类型与定点类型的转换;其中,float为浮点类型数值,int为定点类型数据值,scale为定点类型的缩放比例值;point为小数点位置值;
运算单元,用于依据多个正向运算指令对全部定点数据执行定点运算或对混合数据执行混合运算得到第i层的正向输出结果;
所述混合运算包括:对部分定点数据执行定点运算以及对部分浮点数据执行浮点运算。
2.根据权利要求1所述的装置,其特征在于,所述装置还包括:
控制器单元,还用于获取第i层的输入神经元数据、第i层权值数据、第i层输入神经元梯度以及第i层反向计算指令;
控制器单元,还用于解析该第i层计算指令得到多个反向运算指令,将第i层输入神经元数据、第i层权值数据以及第i层输入神经元梯度发送给转换单元,将该多个运算指令发送给运算单元;
转换单元,还用于将该第i层输入神经元数据、第i层权值数据以及第i层输入神经元梯度中的全部或部分执行浮点类型与定点类型转换得到全部定点数据或混合数据,将全部定点数据或混合数据发送给运算单元,该混合数据包括:部分定点数据以及部分浮点数据;
运算单元,还用于依据多个正向运算指令对全部定点数据执行定点运算或对混合数据执行混合运算得到第i层的权值梯度以及第i层输出结果梯度;采用第i层的权值梯度与第i层权值进行更新。
3.根据权利要求1所述的装置,其特征在于,
所述转换单元,具体用于将第i层输入神经元数据的部分转换成部分定点输入神经元数据以及将第i层权值数据的部分转换成部分定点权值数据;将部分定点输入神经元数据以及部分定点权值数据发送给运算单元,将部分输入神经元数据和部分权值数据发送给运算单元;
运算单元,具体用于将部分定点输入神经元数据以及部分定点权值数据执行定点数据运算得到部分定点正向输出结果,将部分定点正向输出结果发送给转换单元,
转换单元,具体用于将该部分定点正向输出结果执行定点与浮点转换得到第一部分浮点正向输出结果,将第一部分浮点正向输出结果发送给运算单元;
运算单元,具体用于将部分输入神经元数据和部分权值数据执行运算得到第二部分浮点正向运算结果,将第一部分浮点正向运算结果和第二部分浮点正向运算结果结合起来得到第i层正向输出结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海寒武纪信息科技有限公司,未经上海寒武纪信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811592246.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种显示设备的测量装置和方法
- 下一篇:一种空调及其控制方法