[发明专利]一种优化稀疏性矩阵运算的神经网络方法和电路有效
申请号: | 201810366385.1 | 申请日: | 2018-04-23 |
公开(公告)号: | CN108647774B | 公开(公告)日: | 2020-11-20 |
发明(设计)人: | 廖裕民;张功岑 | 申请(专利权)人: | 瑞芯微电子股份有限公司 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/063 |
代理公司: | 福州市景弘专利代理事务所(普通合伙) 35219 | 代理人: | 林祥翔;徐剑兵 |
地址: | 350003 福建省*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 优化 稀疏 矩阵 运算 神经网络 方法 电路 | ||
1.一种优化稀疏性矩阵运算的神经网络电路,其特征在于,所述电路包括主存单元、特征数据读取单元、特征数据缓存单元、非零数据规整单元、卷积核读取单元、卷积核缓存单元、乘加器阵列单元、累加单元、激活函数运算单元、反向回写单元、门控时钟确定单元、门控时钟控制单元;
所述主存单元分别与特征数据读取单元、卷积核读取单元连接,所述特征数据读取单元与特征数据缓存单元连接,所述特征数据缓存单元与非零数据规整单元连接,所述卷积核读取单元与卷积核缓存单元连接,所述乘加器阵列单元分别与非零数据规整单元、卷积核缓存单元、门控时钟控制单元、累加单元连接;所述非零数据规整单元与门控时钟确定单元连接,所述门控时钟确定单元与门控时钟控制单元连接;所述卷积核缓存单元与激活函数运算单元连接,所述激活函数运算单元与反向回写单元连接,所述反向回写单元与主存单元连接;
所述乘加器阵列单元包括多个时钟组,每一时钟组连接有一个或多个乘加器,所述门控时钟控制单元与乘加器阵列单元中的各个时钟组均连接;
所述主存单元用于存储第一特征矩阵数据以及各个神经网络子层的卷积核数据;
所述特征数据读取单元用于从主存单元读取第一特征矩阵数据,并将其存储于特征数据缓存单元中;所述卷积核读取单元用于从主存单元读取当前神经网络子层对应的卷积核数据,并将其存储于卷积核缓存单元中;
所述非零数据规整单元用于统计第一特征矩阵数据中非零数据的个数,并将统计得到的第一特征矩阵数据中非零数据的个数传输给门控时钟确定单元;以及记录各个非零数据在第一特征矩阵数据中的序号,并将记录的各个非零数据的序号传输给累加单元;
所述门控时钟确定单元用于根据第一特征矩阵数据中非零数据的个数确定进行卷积运算所需的乘加器个数;
所述门控时钟控制单元用于根据门控时钟确定单元确定的乘加器个数、以及乘加器阵列单元中各个时钟组连接的乘加器个数,控制乘加器阵列单元中时钟组开启的数量,以使得开启的所有时钟组内与之连接的乘加器数量满足门控时钟确定单元确定的乘加器个数;
所述乘加器阵列单元用于获取卷积核缓存单元中的卷积核数据以及特征数据缓存单元中的第一特征矩阵数据进行卷积运算,得到卷积特征数据,并将卷积特征数据传输至累加单元;
所述累加单元用于根据卷积特征数据以及各个非零数据在第一特征矩阵数据中的序号,对卷积特征数据中的各个非零数据进行累加运算,得到累加运算结果,并将累加运算结果传输至激活函数运算单元;
所述激活函数运算单元用于对累加运算结果进行激活函数运算,得到第二特征矩阵数据;
所述反向回写单元用于将第二特征矩阵数据回写至主存单元中;当前神经网络子层的第二特征矩阵数据为下一层神经网络子层对应的第一特征矩阵数据。
2.如权利要求1所述的优化稀疏性矩阵运算的神经网络电路,其特征在于,所述电路还包括池化运算单元,所述池化运算单元分别与激活函数运算单元、反向回写单元连接;
所述池化运算单元用于对激活函数运算的运算结果进行池化运算,得到第二特征矩阵数据。
3.如权利要求1所述的优化稀疏性矩阵运算的神经网络电路,其特征在于,所述时钟组包括第一时钟组和第二时钟组,与第一时钟组连接的乘加器数量与第二时钟组连接的乘加器数量相同;
当第一特征矩阵数据中非零数据的个数小于第一预设数值时,门控时钟控制单元用于控制第一时钟组开启并控制第二时钟组关闭;
当第一特征矩阵数据中非零数据的个数大于第一预设数值且小于第二预设数值时,门控时钟控制单元控制第一时钟组和第二时钟组均开启。
4.如权利要求1所述的优化稀疏性矩阵运算的神经网络电路,其特征在于,所述累加单元包括数据填充控制单元、累加运算单元和累加缓存单元;
所述数据填充控制单元用于接收非零数据的序号、卷积特征数据以及各个卷积特征数据对应的块标识信息,所述累加运算单元用于根据所述块标识信息,对图像逐块进行块累加运算,所述块累加运算包括:对卷积特征数据中的非零数据进行累加运算,并将累加结果写入该非零数据在累加缓存单元对应的逻辑地址中;
数据填充控制单元用于在接收到块运算完成运算后,停止对非零数据的累加运算,并将累加缓存单元中除了非零数据对应的逻辑地址之外的其他逻辑地址的存储值填充为0。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于瑞芯微电子股份有限公司,未经瑞芯微电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810366385.1/1.html,转载请声明来源钻瓜专利网。