一种运算装置和方法制造方法及图纸

技术编号:19426722 阅读:21 留言:0更新日期:2018-11-14 10:52
本公开提供了一种运算装置,包括:运算单元,接收神经网络运算的数据和运算指令,并根据运算指令对其接收的神经元数据及权值数据执行神经网络运算。本公开还提供了一种运算方法。本公开运算装置及方法,减小了存储资源和计算资源的开销,提高了运算速度。

【技术实现步骤摘要】
一种运算装置和方法
本公开涉及人工智能
,尤其涉及一种支持幂次神经元表示的神经网络运算装置和方法。
技术介绍
多层神经网络被广泛应用于分类识别等任务,近年来,由于其较高的识别率和较高的可并行性,受到学术界和工业界的广泛关注。目前一些性能较好的神经网络通常都非常庞大,这也意味着这些神经网络需要大量的计算资源和存储资源。大量的计算和存储资源的开销会降低神经网络的运算速度,同时,对硬件的传输带宽以及运算器的要求也大大提高了。
技术实现思路
(一)要解决的技术问题鉴于上述技术问题,本公开提供了一种神经网络运算装置和方法,支持幂次神经元表示,通过神经元数据的幂次化,减小神经网络存储资源和计算资源的开销,提高神经网络的运算速度。(二)技术方案根据本公开的一个方面,提供了一种神经网络运算装置,包括:第一幂次转换单元,用于将神经网络输入数据中的非幂次数据转换为幂次数据;运算单元,用于接收神经网络运算的数据和指令并根据运算指令对其接收的神经元数据及权值数据执行神经网络运算;其中,所述运算单元接收的所述数据包括经第一幂次转换单元转换的幂次数据。优选地,还包括:存储单元,用于存储数据和指令;其中,该存储单元与所述第一幂次转换单元连接以接收所述幂次数据。优选地,还包括:控制单元及输出神经元缓存单元;其中所述控制单元,与所述存储单元连接,用于控制数据和指令的交互,其接收该存储单元发送的数据和指令,并将指令译码成运算指令;所述运算单元,与所述控制单元连接,接收该控制单元发送的数据和运算指令,并根据运算指令对其接收的神经元数据及权值数据执行神经网络运算;以及所述输出神经元缓存单元,与所述运算单元连接,用于接收运算单元输出的神经元数据并发送至所述控制单元作为下一层神经网络运算的输入数据。优选地,所述控制单元,包括:数据控制模块,与所述存储单元连接,用于实现存储单元和各缓存模块之间的数据和指令交互;指令缓存模块,与所述数据控制模块连接,用于接收该数据控制模块发送的指令;译码模块,与所述指令缓存模块连接,用于从指令缓存模块中读取指令,并将其译码成运算指令;输入神经元缓存模块,与所述数据控制模块连接,用于从该数据控制模块获取相应的输入神经元数据;权值缓存模块,与所述数据控制模块连接,用于从数据控制模块获取相应的权值数据;其中,所述运算单元,分别与所述译码模块、输入神经元缓存模块及权值缓存模块连接,接收各运算指令、神经元数据及权值数据,根据运算指令对其接收的神经元数据和权值数据执行相应的神经网络运算。优选地,所述第一幂次转换单元用于将神经网络输入数据中的非幂次权值数据转换为幂次权值数据。优选地,还包括:第二幂次转换单元;其中,所述第一幂次转换单元用于将神经网络输入数据中的非幂次神经元数据及非幂次权值数据分别转换为幂次神经元数据及幂次权值数据,并发送至所述存储单元;所述第二幂次转换单元与所述输出神经元缓存单元单元连接,用于将其接收的神经元数据转换为幂次神经元数据并发送至所述控制单元作为下一层神经网络运算的输入数据。优选地,若神经网络输入数据为幂次数据则直接存入存储单元。优选地,幂次数据包括幂次神经元数据、幂次权值数据;其中,所述幂次神经元数据表示神经元数据的数值采用其幂指数值形式表示,其中,所述幂次神经元数据包括符号位和幂次位,符号位采用一位或多位比特位表示神经元数据的符号,幂次位采用m位比特位表示神经元数据的幂次位数据,m为大于1的正整数;所述幂次权值数据表示权值数据的数值采用其幂指数值形式表示,其中,所述幂次权值数据包括符号位和幂次位,符号位采用一位或多位比特位表示权值数据的符号,幂次位采用m位比特位表示权值数据的幂次位数据,m为大于1的正整数。优选地,所述存储单元预存有编码表,用于提供幂次神经元数据及幂次权值数据的每个幂次位数据对应的指数数值。优选地,所述编码表设置一个或者多个幂次位数据为置零幂次位数据,其对应的幂次神经元数据及幂次权值数据为0。优选地,所述编码表的对应关系为乱序关系、正相关关系或负相关关系。优选地,最大的幂次位数据对应幂次神经元数据及幂次权值数据为0或最小的幂次位数据对应幂次神经元数据及幂次权值数据为0。优选地,所述编码表的对应关系为幂次位数据最高位代表置零位,幂次位数据其他m-1位对应指数数值。优选地,所述编码表的对应关系为正相关关系,存储单元预存一个整数值x和一个正整数值y,最小的幂次位数据对应指数数值为x,其他任意一个或多个幂次位数据对应幂次神经元数据及幂次权值数据为0;其中,x表示偏置值,y表示步长。优选地,最小的幂次位数据对应指数数值为x,最大的幂次位数据对应幂次神经元数据及幂次权值数据为0,最小和最大的幂次位数据之外的其他的幂次位数据对应指数数值为(幂次位数据+x)*y。优选地,y=1,x的数值=-2m-1。优选地,所述编码表的对应关系为负相关关系,存储单元预存一个整数值x和一个正整数值y,最大的幂次位数据对应指数数值为x,其他任意一个或多个幂次位数据对应幂次神经元数据及幂次权值数据为0;其中,x表示偏置值,y表示步长。优选地,最大的幂次位数据对应指数数值为x,最小的幂次位数据对应幂次神经元数据及幂次权值数据为0,最小和最大的幂次位数据之外的其他的幂次位数据对应指数数值为(幂次位数据-x)*y。优选地,y=1,x的数值等于2m-1。优选地,非幂次神经元数据及非幂次权值数据转换成幂次神经元数据及幂次权值数据包括:sout=sin其中,din为幂次转换单元的输入数据,dout为幂次转换单元的输出数据,sin为输入数据的符号,sout为输出数据的符号,din+为输入数据的正数部分,din+=din×sin,dout+为输出数据的正数部分,dout+=dout×sout,表示对数据x做取下整操作;或,sout=sin其中,din为幂次转换单元的输入数据,dout为幂次转换单元的输出数据,sin为输入数据的符号,sout为输出数据的符号,din+为输入数据的正数部分,din+=din×sin,dout+为输出数据的正数部分,dout+=dout×sout,表示对数据x做取上整操作;或,sout=sin其中,din为幂次转换单元的输入数据,dout为幂次转换单元的输出数据;sin为输入数据的符号,sout为输出数据的符号;din+为输入数据的正数部分,din+=din×sin,dout+为输出数据的正数部分,dout+=dout×sout;[x]表示对数据x做四舍五入操作。根据本公开的另一个方面,提供了一种神经网络运算方法,包括:获取指令、神经元数据及幂次权值数据;根据运算指令对神经元数据及幂次权值数据进行神经网络运算。根据本公开的另一个方面,提供了一种神经网络运算方法,包括:获取指令、幂次神经元数据及幂次权值数据;根据运算指令对幂次神经元数据及幂次权值数据进行神经网络运算。优选地,还包括:将神经网络运算后的神经元数据输出并作为下一层神经网络运算的输入数据;重复神经网络运算步骤直到神经网络最后一层运算结束。优选地,获取指令、权值数据及神经元数据,包括:将指令、神经元数据及权值数据输入存储单元;数据控制模块接收该存储单元发送的指令、神经元数据及权值数据;指令缓存模块、输入神经元缓存模块及权值缓存模块分别接本文档来自技高网...

【技术保护点】
1.一种神经网络运算装置,其特征在于,包括:第一幂次转换单元,用于将神经网络输入数据中的非幂次数据转换为幂次数据;运算单元,用于接收神经网络运算的数据和指令并根据运算指令对其接收的神经元数据及权值数据执行神经网络运算;其中,所述运算单元接收的所述数据包括经第一幂次转换单元转换的幂次数据。

【技术特征摘要】
1.一种神经网络运算装置,其特征在于,包括:第一幂次转换单元,用于将神经网络输入数据中的非幂次数据转换为幂次数据;运算单元,用于接收神经网络运算的数据和指令并根据运算指令对其接收的神经元数据及权值数据执行神经网络运算;其中,所述运算单元接收的所述数据包括经第一幂次转换单元转换的幂次数据。2.根据权利要求1所述的神经网络运算装置,其特征在于,还包括:存储单元,用于存储数据和指令;其中,该存储单元与所述第一幂次转换单元连接以接收所述幂次数据。3.根据权利要求1或2所述的神经网络运算装置,其特征在于,还包括:控制单元及输出神经元缓存单元;其中所述控制单元,与所述存储单元连接,用于控制数据和指令的交互,其接收该存储单元发送的数据和指令,并将指令译码成运算指令;所述运算单元,与所述控制单元连接,接收该控制单元发送的数据和运算指令,并根据运算指令对其接收的神经元数据及权值数据执行神经网络运算;以及所述输出神经元缓存单元,与所述运算单元连接,用于接收运算单元输出的神经元数据并发送至所述控制单元作为下一层神经网络运算的输入数据。4.根据权利要求3所述的神经网络运算装置,其特征在于,所述控制单元,包括:数据控制模块,与所述存储单元连接,用于实现存储单元和各缓存模块之间的数据和指令交互;指令缓存模块,与所述数据控制模块连接,用于接收该数据控制模块发送的指令;译码模块,与所述指令缓存模块连接,用于从指令缓存模块中读取指令,并将其译码成运算指令;输入神经元缓存模块,与所述数据控制模块连接,用于从该数据控制模块获取相应的输入神经元数据;权值缓存模块,与所述数据控制模块连接,用于从数据控制模块获取相应的权值数据;其中,所述运算单元,分别与所述译码模块、输入神经元缓存模块及权值缓存模块连接,接收各运算指令、神经元数据及权值数据,根据运算指令对其接收的神经元数...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:上海寒武纪信息科技有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1