卷积神经网络加速计算方法、计算系统、芯片及接收机技术方案

技术编号:32861490 阅读:34 留言:0更新日期:2022-03-30 19:42
本发明专利技术公开了一种卷积神经网络加速计算方法,包括读取偏置量;读取权重值;读取输入特征图的数据;对权重值下发更新指令;权重值更新完成后对读取的输入特征图进行计算;当前块计算完成后对计算结果进行缓存;重复上述步骤直至所有点计算完成,当前层卷积计算完成。本发明专利技术还公开了一种实现所述卷积神经网络加速计算方法的计算系统,以及包括了所述卷积神经网络加速计算方法或计算系统的芯片,以及包括了所述的卷积神经网络加速计算方法,或者包括了所述的计算系统,或者包括了所述的芯片的接收机。本发明专利技术通过创新的卷积计算加快算法的设计,不仅实现了卷积计算过程的加速,而且可靠性更高、实用性更好,功耗更少。功耗更少。功耗更少。

【技术实现步骤摘要】
卷积神经网络加速计算方法、计算系统、芯片及接收机


[0001]本专利技术属于数据信号处理领域,具体涉及一种卷积神经网络加速计算方法、计算系统、芯片及接收机。

技术介绍

[0002]近年来,随着经济技术的发展,人工智能技术已经广泛应用于人们的生产和生活当中,给人们的生产和生活带来了无尽的便利。
[0003]卷积神经网络(CNN)是人工智能技术的重要组成部分,也已经广泛应用到图像分类、目标检测、视频处理等领域。然而随着深度学习的进步,卷积神经网络层数越来越多,分类精度越来越高,卷积神经网络的计算量越来越大,参数也越来越多。因此,在实际工程应用中,越来越多的人选择低成本、低功耗的ASIC\FPGA进行卷积神经网络的计算加速。
[0004]然而,大多数的ASIC\FPGA加速器均存在如下主要问题:(1)专用性比较强,只能适配某些网络模型:拿卷积算子举例,部分ASIC\FPGA加速器可能只能支持特定的卷积核大小,如3*3、1*1等;(2)计算时采用单一的数据复用方式或复用输入特征图,或复用权重,因此需要反复读取外部存储,对带宽依赖大,而且本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种卷积神经网络加速计算方法,其特征在于包括如下步骤:S1. 读取偏置量;S2. 读取权重值;S3. 读取输入特征图的数据;S4. 对权重值下发更新指令;S5. 权重值更新完成后,下发计算指令;S6. 当前块计算完成后,对计算结果进行缓存;S7. 重复步骤S4~S6直至所有点计算完成,当前层卷积计算完成。2.根据权利要求1所述的卷积神经网络加速计算方法,其特征在于所述的卷积神经网络加速计算方法,具体为将输出特征图像素点数按照设定值拆分为若干个block块,并依次进行计算;每计算完一个block块后输出。3.根据权利要求2所述的卷积神经网络加速计算方法,其特征在于步骤S2所述的读取权重值,具体包括如下步骤:当接收到读取权重值指令后,每次从外部存储器读取ICP*OCP个权重,并进行存储,ICP为输入通道并行度,OCP为输出通道并行度;当接收到更新权重值指令后,将存储的权重数据更新到乘加矩阵中;在乘加计算过程中,读取下一组乘加计算所需要的权重值;读取权重值循环时,采用如下步骤控制循环:当卷积核输入通道大于设定值时,将输入通道按照乘加矩阵进行行拆分,ic_len_cnt为输入通道的循环次数,当ic_len_cnt从0循环到设定值ic_len

1,该循环结束;然后按照卷积核列方向循环,k_width_cnt为卷积核列方向循环次数,当k_width_cnt从0循环到设定值k_width

1时,开始卷积核行方向循环;k_height_cnt为卷积核行方向循环次数,当k_height_cnt由0循环到设定值k_height

1时,开始卷积核输出通道方向循环;输出通道按照乘加矩阵的列拆分;oc_len_cnt为输出通道循环次数,当oc_len_cnt由0循环到oc_len

1时,一个block块的点的输出特征图计算能完成;最后按照block循环,block_len为输出特征图像素点数按照设定值拆分的block块数;当block_cnt由0循环到block_len

1,整个循环结束,权重读取完成。4.根据权利要求3所述的卷积神经网络加速计算方法,其特征在于步骤S3所述的读取输入特征图的数据,具体包括如下步骤:接收到读取输入特征图数据的指令后,将读取的输入特征图进行存储,读取时按照{in_height,in_width,in_cum}的格式进行读取,in_height为输入特征图的高度,in_width为输入特征图的宽度,in_cum为输入的通道数;当接收到计算指令后,将存储的数据上传;读取时采用如下步骤进行控制:R1. 用卷积核窗口中的每个点,按照步长依次在输入特征图上滑动,滑动到设定值时停止,且滑动的点共用相同的权重;R2. 用卷积核在输入特征图上滑动时,对应的输出点坐标out_width和out_hegiht同步更新;R3. 当卷积核输入通道大于设定值时,将输入通道按照乘加矩阵进行行拆分;ic_len_
cnt为输入通道的循环次数,当ic_len_cnt由0循环到设定值ic_len

1时,该循环结束;然后按照卷积核列方向循环,卷积核列方向循环结束后再开始卷积核行方向循环;卷积核行方向循环结束后再开始卷积核输出通道方向循环;输出通道按照乘加矩阵的列拆分;当循环结束后,一个block块的点的输出特征图计算完成;R4. 当输入通道非ICP整数倍时,则每两个时钟周期传递一次数据。5.根据权利要求4所述的卷积神经网络加速计算方法,其特征在于步骤S5所述的权重值更新完成后,下发计算指令,具体包括如下步骤:采用ICP*OCP乘加矩阵,完成输入特征图和相应权重相乘,每列完成ICP个乘的累加;进行累加计算,每个地址对应一个输出像素点;卷积循环过程中,第一个循环,直接将当前部分结果进行存储;中间循环过程中,将当前部分和对应的地址累加和相加后再存储;最后一个循环中,将累加结果添加偏置量,并量化后输出。6.一种实现权利要求1~5之一所述的卷积神经网络加速计算方法的计算系统,其特征在于包括控制模块、特征图准备模块、权重准备模块、乘加矩阵模块、累加模块和结果输出模块;特征图准备模块、权重准备模块、乘加矩阵模块、累加模块和结果输出模块均与控制模块连接;特征图准备模块和权重准备模块均与乘加矩阵模块连接;乘加矩阵模块、累加模块和结果输出模块依次串接;控制模块用于控制所述计算系统工作;特征图准备模块用于接收控制模块下发的读取输入特征图指令,将读取的输入特征图进行存储并按照计算指令传递给乘加矩阵模块;权重准备模块用于接收读取权重指令从外部存储器读取权重并存储,或者用于...

【专利技术属性】
技术研发人员:翁秀梅朱佳傅东杨兆龙郝志杰丁杰
申请(专利权)人:长沙金维信息技术有限公司
类型:发明
国别省市:

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

1