计算装置以及计算方法制造方法及图纸

技术编号:24352477 阅读:61 留言:0更新日期:2020-06-03 01:52
本申请提供了一种计算装置及神经网络的处理系统,所述计算装置包括:存储器、寄存器单元、互联模块、运算单元、控制单元和数据访问单元。

Calculation device and calculation method

【技术实现步骤摘要】
计算装置以及计算方法
本申请属于神经网络运算领域,尤其涉及一种计算装置以及计算方法。
技术介绍
数据处理是大部分算法需要经过的步骤或阶段,在计算机引入数据处理领域后,越来越多的数据处理通过计算机来实现,现有的算法中有计算设备在进行神经网络的数据计算时速度慢,效率低。申请内容有鉴于此,本申请提供一种计算装置以及计算方法,能够提高计算速度,并且运算性能高效。本申请提供一种计算装置,所述计算装置包括:存储器、寄存器单元、互联模块、粗粒度选数单元,运算单元、控制单元和数据访问单元;其中,寄存器单元,用于存储运算指令、数据块的在存储介质的地址,运算指令对应的计算拓扑结构;控制单元,用于从寄存器单元内提取运算指令,该运算指令对应的操作域以及该运算指令对应的第一计算拓扑结构,将该运算指令译码成执行指令,该执行指令用于控制运算单元执行运算操作,将该操作域传输至数据访问单元;数据访问单元,用于提取该操作域对应的数据块,并将该数据块通过粗粒度选数单元传输至互联模块;粗粒度选数单元,用于接收输入神经元和非零权值本文档来自技高网...

【技术保护点】
1.一种计算装置,其特征在于,所述计算装置包括:存储器、寄存器单元、互联模块、粗粒度选数单元,运算单元、控制单元和数据访问单元;其中,/n寄存器单元,用于存储运算指令、数据块的在存储介质的地址,运算指令对应的计算拓扑结构;/n控制单元,用于从寄存器单元内提取运算指令,该运算指令对应的操作域以及该运算指令对应的第一计算拓扑结构,将该运算指令译码成执行指令,该执行指令用于控制运算单元执行运算操作,将该操作域传输至数据访问单元;/n数据访问单元,用于提取该操作域对应的数据块,并将该数据块通过粗粒度选数单元传输至互联模块;/n粗粒度选数单元,用于接收输入神经元和非零权值位置信息,使用滑动窗口选取神经网...

【技术特征摘要】
20170720 CN 20171059595111.一种计算装置,其特征在于,所述计算装置包括:存储器、寄存器单元、互联模块、粗粒度选数单元,运算单元、控制单元和数据访问单元;其中,
寄存器单元,用于存储运算指令、数据块的在存储介质的地址,运算指令对应的计算拓扑结构;
控制单元,用于从寄存器单元内提取运算指令,该运算指令对应的操作域以及该运算指令对应的第一计算拓扑结构,将该运算指令译码成执行指令,该执行指令用于控制运算单元执行运算操作,将该操作域传输至数据访问单元;
数据访问单元,用于提取该操作域对应的数据块,并将该数据块通过粗粒度选数单元传输至互联模块;
粗粒度选数单元,用于接收输入神经元和非零权值位置信息,使用滑动窗口选取神经网络的一组权值,将选取的权值都置为零,并选取出非零权值对应的神经元;
互联模块、用于输入被选择的神经元和非零权值,将输入被选择的神经元和非零权值发送至运算单元;
运算单元,用于接收输入被选择的神经元和非零权值,通过乘加运算单元完成神经网络运算并将输出神经元传输给存储器。


2.根据权利要求1所述的计算装置,其特征在于,
所述粗粒度选数单元,具体用于将组内所有权值绝对值的算术平均值作为该组的第一代表权值,第一代表权值小于第一阈值;
或者将组内所有权值绝对值的几何平均值作为该组的第二代表权值,第二代表权值小于第二阈值;
或者将组内所有权值绝对值的最大值作为该组的第三代表权值,第三代表权值小于第三阈值种。


3.根据权利要求1所述的计算装置,其特征在于,所述粗粒度剪枝单元包括:全连接层粗粒度剪枝单元、卷积层粗粒度剪枝单元或LSTM层粗粒度剪枝单元
全连接层粗粒度剪枝单元,用于实现对神经网络的全连接层进行粗粒度剪枝操作;
卷积层粗粒度剪枝单元,用于实现对神经网络的卷积层进行粗粒度剪枝操作;
LSTM层粗粒度剪枝单元,用于实现对神经网络的LSTM层进行粗粒度剪枝操作。


4.根据权利要求3所述的计算装置,其特征在于,
全连接层粗粒度剪枝单元,具体用于使滑动窗口能够沿着Bin的方向按照Sin的步长进行滑动,也可以沿着Bout方向按照Sout的步长进行滑动,其中Sin为大于等于1小于等于Bin的正整数,Sout为大于等于1小于等于Bout的正整数;
当滑动窗口内的一组权值被选取时,这组权值将全部被置为零,即Bin*Bout个权值将同时置为零;
所述全连接层的权值是一个二维矩阵(Nin,Nout),其中Nin是输入神经元的个数,Nout是输出神经元的个数,共有Nin*Nout个权值,设定一个大小为Bin*Bout的滑动窗口,其中Bin为大于等于1小于等于Nin正整数,Bout为大于等于1小于等于Nout的正整数。


5.根据权利要求3所述的计算装置,其特征在于,
卷积层粗粒度剪枝单元,具体用于使滑动窗口沿着Bfin的方向按照Sfin的步长进行滑动,或者沿着Bfout方向按照Sfout的步长进行滑动,或者沿着Bx方向按照Sx的步长进行滑动,或沿着By方向按照Sy的步长进行滑动,其中Sfin为大于等于1小于等于Bfin的正整数,Sfout为大于等于1小于等于Bfout的正整数,Sx为大于等于1小于等于Bx的正整数,Sy为大于等于1小于等于By的正整数;
当某个滑动窗口内的一组权值被选取时,这组权值将全部被置为零,即Bfin*Bfout*Bx*By个权值将同时置为零;
所述卷积层的权值是一个四维矩阵(Nfin,Nfout,Kx,Ky),其中Nfin是输入特征图像的个数,Nfout是输出特征图像的个数,(Kx,Ky)是卷积核的大小,共有Nfin*Nfout*Kx*Ky个权值,设定一个大小为Bfin*Bfout*Bx*By的四维滑动窗口,其中Bfin为大于等于1小于等于Nfin的正整数,Bfout为大于等于1小于等于Nfout的正整数,Bx为大于等于1小于等于Kx的正整数,By为大于等于1小于等于Ky的正整数。


6.根据权利要求3所述的计算装置,其特征在于,
所述LSTM层粗粒度剪枝单元,具体用于使滑动窗口沿着Bin_i的方向按照Sin_i的步长进行滑动,或沿着Bout_i方向按照Sout_i的步长进行滑动,其中Sin_i为大于等于1小于等于Bin_i的正整数,Sout_i为大于等于1小于等于Bout_i的正整数;
当滑动窗口内的一组权值被选取时,这组权值将全部被置为零,即Bin_i*Bout_i个权值将同时置为零;
设定LSTM层的权值由m个全连接层权值组成,其中m为大于0的正整数,第i个全连接层权值为(Nin_i,Nout_i),其中i是大于0小于等于m的正整数,Nin_i表示第i个全连接层权值输入神经元个数,Nout_i表示第i个全连接层权值输出神经元个数;
还设定一个大小为Bin_i*Bout_i的滑动窗口,其中Bin_i为大于等于1小于等于Nin_i的正整数,Bout_i为大于等于1小于等于Nout_i的正整数。


7.根据权利要求1或5所述的计算装置,其特征在于,
所述运算指令为卷积计算指令,所述计算指令包括:操作域和操作码;
所述卷积计算指令包括:卷积神经网络sigmoid指令,根据该指令,装置分别从存储器的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作,然后将输出结果做sigmoid激活;
卷积神经网络TanH指令,根据该指令,装置分别从存储器的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作,然后将输出结果做TanH激活;
卷积神经网络ReLU指令,根据该指令,装置分别从存储器的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作,然后将输出结果做ReLU激活;以及
卷积神经网络group指令,根据该指令,装置分别从存储器的指定地址取出指定大小的输入数据和卷积核,划分group之后,在卷积运算部件中做卷积操作,然后将输出结...

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

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

1