[发明专利]运算装置和方法有效
申请号: | 201811423295.8 | 申请日: | 2018-04-04 |
公开(公告)号: | CN109409515B | 公开(公告)日: | 2022-08-09 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 上海寒武纪信息科技有限公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063 |
代理公司: | 北京维昊知识产权代理事务所(普通合伙) 11804 | 代理人: | 孙新国;王颖慧 |
地址: | 201306 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 运算 装置 方法 | ||
1.一种神经网络运算装置,包括:
运算模块,用于执行神经网络运算;所述神经网络运算包括乘法运算,所述乘法运算包括幂次神经元数据符号位与权值数据符号位做异或操作;以及
幂次转换模块,与所述运算模块连接,用于将神经网络运算的输入数据和/或输出数据转换为幂次数据;
所述幂次神经元数据包括符号位和幂次位,所述符号位用于表示所述幂次神经元数据的符号,所述幂次位用于表示所述幂次神经元数据的幂次位数据;所述符号位包括一位或多位比特位数据,所述幂次位包括m位比特位数据,m为大于1的正整数;
所述幂次权值数据表示权值数据的数值采用其幂指数值形式表示,其中,所述幂次权值数据包括符号位和幂次位,符号位采用一位或多位比特位表示权值数据的符号,幂次位采用m位比特位表示权值数据的幂次位数据,m为大于1的正整数;
所述幂次数据包括幂次神经元数据、幂次权值数据;
所述运算模块还包括:第三幂次转换单元,用于将幂次数据转换为非幂次数据;所述第三幂次转换单元与运算单元连接,用于将幂次神经元数据、幂次权值数据分别转换为非幂次神经元数据、非幂次权值数据;
还包括:存储模块,该存储模块预存有编码表,该编码表包括幂次位数据以及指数数值,所述编码表用于通过幂次神经元数据、幂次权值数据的每个幂次位数据获取与幂次位数据对应的指数数值;
其中,如果所述编码表的对应关系为正相关关系,存储模块预存一个整数值x和一个正整数值y,最小的幂次位数据对应指数数值为x;其中,x表示偏置值,y表示步长;
最小的幂次位数据对应指数数值为x,最大的幂次位数据对应幂次神经元数据、幂次权值数据为0,最小和最大的幂次位数据之外的其他的幂次位数据对应指数数值为(幂次位数据+x)*y。
2.根据权利要求1所述的神经网络运算装置,其中,所述输入数据包括输入神经元数据、输入权值数据,所述输出数据包括输出神经元数据、输出权值数据。
3.根据权利要求1所述的神经网络运算装置,其中,所述幂次转换模块包括:
第一幂次转换单元,用于将所述运算模块的输出数据转换为幂次数据;以及
第二幂次转换单元,用于将所述运算模块的输入数据转换为幂次数据。
4.根据权利要求1所述的神经网络运算装置,还包括:
存储模块,用于存储数据和运算指令;
控制模块,用于控制数据和运算指令的交互,其接收该存储模块发送的数据和运算指令,并将运算指令译码成运算微指令;其中,
所述运算模块包括运算单元,用于接收所述控制模块发送的数据和运算微指令,并根据运算微指令对其接收的权值数据和神经元数据执行神经网络运算。
5.根据权利要求4所述的神经网络运算装置,其中,所述控制模块包括:运算指令缓存单元、译码单元、输入神经元缓存单元、权值缓存单元以及数据控制单元;其中
运算指令缓存单元,与所述数据控制单元连接,用于接收该数据控制单元发送的运算指令;
译码单元,与所述运算指令缓存单元连接,用于从运算指令缓存单元中读取运算指令,并将其译码成运算微指令;
输入神经元缓存单元,与所述数据控制单元连接,用于从该数据控制单元获取相应的幂次神经元数据;
权值缓存单元,与所述数据控制单元连接,用于从数据控制单元获取相应的幂次权值数据;
数据控制单元,与所述存储模块连接,用于实现所述存储模块分别与所述运算指令缓存单元、所述权值缓存单元以及所述输入神经元缓存单元之间的数据和运算指令交互;其中,
所述运算单元分别与所述译码单元、输入神经元缓存单元及权值缓存单元连接,接收运算微指令、幂次神经元数据、幂次权值数据,根据所述运算微指令对运算单元接收的幂次神经元数据、幂次权值数据执行相应的神经网络运算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海寒武纪信息科技有限公司,未经上海寒武纪信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811423295.8/1.html,转载请声明来源钻瓜专利网。