[发明专利]基于卷积神经网络的块稀疏方法、装置及处理单元在审
| 申请号: | 202210844507.X | 申请日: | 2022-07-18 |
| 公开(公告)号: | CN115186802A | 公开(公告)日: | 2022-10-14 |
| 发明(设计)人: | 王中风;徐铭阳;鲁金铭;林军 | 申请(专利权)人: | 南京大学 |
| 主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/063;G06N3/08 |
| 代理公司: | 北京弘权知识产权代理有限公司 11363 | 代理人: | 逯长明;许伟群 |
| 地址: | 210023 江苏*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 卷积 神经网络 稀疏 方法 装置 处理 单元 | ||
1.一种处理单元,其特征在于,多个所述处理单元以脉动阵列的形式排布,所述处理单元包括:
控制模块,被配置为接收数据块的稀疏掩膜信息、前向传播信息和反向传播信息,稀疏掩膜信息中包含非零值权重在数据块中的索引信息;
还被配置为根据前向传播信息和/或反向传播信息,生成运算控制指令,以及将运算控制指令和稀疏掩膜信息发送至乘累加模块;
激活数据预处理模块,被配置为接收激活数据以及数据块的稀疏掩膜信息,并根据稀疏掩膜信息,从所述激活数据中筛选出有效的激活数据,以及,将所述有效的激活数据发送至乘累加模块;
乘累加模块,被配置为从外部接收压缩后的权重数据,从激活数据预处理模块接收有效的激活数据,从控制模块接收相应的寄存器控制信号;
还被配置为对相互匹配的权重数据和激活数据乘累加运算,生成部分和结果;
结果选择模块,被配置为从乘累加模块接收所述部分和结果,以及从上一个邻近的处理单元接收一组已经完成的卷积运算结果;
还被配置为从外部接收结果选择信号,并根据所述结果选择信号将所述部分和结果或卷积运算结果输出至下一个相邻的处理单元;
其中,所述压缩后的权重数据采用以下方法获得:
将维度为N×C×K×K的原始权重,转换为K2个C×K的重排权重,其中,N为卷积核数量,C为单个卷积核的特征图数量,K×K单个特征图的张量;采用表示原始权重中的数据点,其中0≤i0≤N-1,0≤i1≤C-1,0≤i2,i3≤K-1,采用表示重排权重的数据点,其中,0≤K≤K2-1,0≤r≤C-1,0≤s≤N-1,M为标志位,
根据预设维度,将重排权重分割为多个数据块;
根据预先设置的数据稀疏度,剪去所述多个数据块内冗余的非零值,获得压缩后的权重数据,并记录数据块的稀疏掩膜信息。
2.根据权利要求1所述的处理单元,其特征在于,所述根据预设维度,将重排权重分割为多个数据块的步骤中,还包括:
根据预设维度,判断所述重排权重是否可以被分割为整数个数据块,若所述重排权重无法被分割为整数个数据块,则对所述重排权重的张量进行补零操作,直至补零后的重排权重能够被分割为整数个数据块。
3.根据权利要求1所述的处理单元,其特征在于,所述乘累加模块包括:一个乘法器、一个加法器、第一数据选择模块、第二数据选择模块、S个存储器,其中,数据块的维度为S×T,且S≥T;
乘法器,被配置为接收相互匹配的权重值和激活值,并对相互匹配的权重数据和激活数据乘累加运算;
加法器,被配置为将乘法器运算的结果与第二数据选择器输出的部分和结果进行累加;
第一数据选择器,被配置为将乘累加结果存储到对应的存储器中;
第二数据选择器,被配置为选择相应的存储器,将所述相应的存储器中存储的部分和结果输出至加法器。
4.一种处理装置,其特征在于,所述处理装置包括多个权利要求1至3任一项所述的处理单元,多个所述处理单元按照阵列形式排布为运算阵列,所述处理装置还包括:
第一缓存器,被配置为存储激活数据,以及将激活数据以行广播的方式广播到至处理单元中;
第二缓存器,被配置为存储压缩后的权重张量和稀疏掩膜信息,并将压缩后的权重张量和稀疏掩膜信息以列广播的方式广播至处理单元中
数据路由,被配置为控制第一缓存器和第二缓存器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210844507.X/1.html,转载请声明来源钻瓜专利网。





