[发明专利]卷积神经网络加速方法及装置有效
申请号: | 201810028998.4 | 申请日: | 2018-01-12 |
公开(公告)号: | CN108133270B | 公开(公告)日: | 2020-08-04 |
发明(设计)人: | 季向阳;连晓聪 | 申请(专利权)人: | 清华大学 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06N3/04;G06N3/08 |
代理公司: | 北京林达刘知识产权代理事务所(普通合伙) 11277 | 代理人: | 刘新宇 |
地址: | 100084*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 卷积 神经网络 加速 方法 装置 | ||
1.一种卷积神经网络加速方法,其特征在于,所述方法包括:
读取卷积层的输入特征图;
将所述输入特征图输入卷积层的处理阵列组中,根据第一参考像素向量、第二参考像素向量、卷积核权值和已完成的输入通道的数据,利用部分传播乘加器进行卷积乘加操作,得到处理阵列组的输出结果,其中,所述处理阵列组包括多个处理阵列,所述处理阵列包括三个行处理阵列,卷积窗的行数为M,第一参考像素向量取卷积窗的前M-N行,第二参考像素向量取卷积窗的最后N行,M和N均为正整数,且MN,所述卷积窗用于读取所述输入特征图;
根据所述处理阵列组的输出结果得到卷积层的输出特征图;
将卷积层最后一层的输出特征图写入全连接层的输入缓存;
全连接层根据所述卷积层最后一层的输出特征图执行乘加操作,得到全连接层的输出特征向量;
将所述全连接层最后一层的输出特征向量输出到第一存储器的第四分块中,
其中,读取卷积层的输入特征图,包括:
当第一卷积窗和第二卷积窗中的一个卷积窗读取的当前输入通道的输入特征图被用于执行卷积乘加操作时,另一个卷积窗读取所述当前输入通道的下一个输入通道的输入特征图;
当需要填充第一卷积窗或第二卷积窗时,分别从顶行缓存中和右缓存中读取输入特征图;
当第一权值寄存器和第二权值寄存器中的一个寄存器读取的当前组输出通道的卷积权值被用于执行卷积乘加操作时,另一个寄存器读取所述当前组输出通道的下一组输出通道的卷积权值。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将输入图像写入第一存储器的第一分块中,作为卷积层第一层的输入特征图。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将卷积层和全连接层的奇数层的参数写入第一存储器的第二分块中;
将卷积层和全连接层的偶数层的参数写入第二存储器的第二分块中;
所述参数包括权值和偏置。
4.根据权利要求1所述的方法,其特征在于,根据所述处理阵列组的输出结果得到卷积层的输出特征图,包括:
当卷积层的层数不是最后一层时,将偶数层的卷积层的输出特征图存储在第一存储器的第三分块中,将奇数层的卷积层的输出特征图存储在第二存储器的第三分块中。
5.根据权利要求1所述的方法,其特征在于,全连接层根据所述卷积层最后一层的输出特征图执行乘加操作,得到全连接层的输出特征向量,包括:
根据所述卷积层最后一层的输出特征图得到全连接层的输入特征向量;
将全连接层的输入特征向量和全连接层的权值,输入全连接处理单元进行处理,得到全连接层的输出特征向量,所述全连接处理单元包括乘加器和L个串联的寄存器,其中,L为大于2的整数;
在每个时钟周期,将所述L个串联的寄存器中第一个寄存器至第L-1个寄存器中存储的上一个时钟周期的数据传递到下一级寄存器,将第L个寄存器中存储的上一个时钟周期的数据通过乘加器输入第一个存储器。
6.根据权利要求5所述的方法,其特征在于,全连接层根据所述卷积层最后一层的输出特征图执行乘加操作,得到全连接层的输出特征向量,还包括:
当所述全连接层的输入特征向量或全连接的权值为无效数据时,在乘加器的输入补零,并进行累加,直至出现有效数为止。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810028998.4/1.html,转载请声明来源钻瓜专利网。