CN110390382B - 一种带新型特征图缓存模块的卷积神经网络硬件加速器 - Google Patents
一种带新型特征图缓存模块的卷积神经网络硬件加速器 Download PDFInfo
- Publication number
- CN110390382B CN110390382B CN201910535251.2A CN201910535251A CN110390382B CN 110390382 B CN110390382 B CN 110390382B CN 201910535251 A CN201910535251 A CN 201910535251A CN 110390382 B CN110390382 B CN 110390382B
- Authority
- CN
- China
- Prior art keywords
- module
- feature map
- convolution
- neural network
- convolution operation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种带新型特征图缓存模块的卷积神经网络硬件加速器,包括运算进程管理模块,用于管理卷积神经网络中单层卷积运算的进程;参数表模块,用于提供当前层卷积运算的卷积核权重参数;卷积运算模块,从特征图缓存模块中读取输入像素点,进行卷积运算,把输出像素点结果写回特征图缓存模块;新型特征图缓存模块,用于缓存卷积运算的输入特征图与输出特征图,其中的一种缓存存储空间与特征图的映射关系可以极大提高片上存储带宽;本发明的一种带新型特征图缓存模块的卷积神经网络硬件加速器,有着高的片上存储带宽,能良好支撑加速器的计算单元对数据供给速度的要求,在很多对计算性能有着高要求的场合中有非常大的应用价值。
Description
技术领域
本发明涉及电子信息以及深度学习技术领域,尤其涉及一种带新型特征图缓存模块的卷积神经网络硬件加速器。
背景技术
近年来深度学习技术发展火热,尤其是基于猫脑视觉皮层神经细胞工作机制构建的带独特感受野结构的卷积神经网络在视觉应用领域取得了巨大的成功,比如CNN在大型的图片分类数据集ImageNet上取得了超过人眼的识别正确率。但是这种强大的算法在走向实际应用的过程中碰到很大的障碍,这是因为CNN能有用武之地的真实世界应用很多都是在计算资源少的移动端设备上实现,如带AI能力的智能手机和智慧安防摄像头,而如今最为出名的CNN网络ResNet-50,它由50层基本结构堆叠而成,每层基本结构包含大量的卷积运算,这样的计算密集型算法如果不加以改造或者不针对其特点设计专门的加速硬件,直接在移动端设备的CPU上实现,难以满足很多应用对实时性的要求。
因此要真正让卷积神经网络在移动端设备运行起来,目前有两种途径达到这个目的。一种途径就是对网络进行轻量化改造,让它的网络结构更简单,运算量更少,比如模型压缩技术中的剪枝技术,参数量化技术中的二值网络XNOR-Net和改变卷积方式的轻型网络MobileNet等。另一种途径就是针对卷积神经网络的运算特点设计专门的芯片来对它进行硬件加速,由于卷积神经网络中的卷积运算占据了90%以上的计算量,所以一般是精心设计针对卷积过程进行加速的硬件结构。精心设计的卷积运算模块为了达到高的数据处理速度,通常堆叠了大量的并行计算单元,以提高计算性能。但是总的计算性能是由数据处理速度与数据供给速度共同决定,两者中的较低者决定了最终的计算性能,所以虽然精心设计的卷积运算模块能达到高的数据处理速度,但由于低存储带宽造成的低数据供给速度通常成为加速器的计算性能提高的瓶颈。
发明内容
发明目的:本发明的目的在于解决现有的卷积运算模块由于低存储带宽造成的低数据供给速度通常成为加速器的计算性能提高的瓶颈的问题。
技术方案:为解决上述问题,本发明提供以下技术方案:
一种带新型特征图缓存模块的卷积神经网络硬件加速器,包括:
运算进程管理模块:接受主控模块的控制,用于管理卷积神经网络中单层卷积运算的进程;
参数表模块:接受主控模块的配置,用于提供当前层卷积运算的卷积核参数;
卷积运算模块:从特征图缓存模块中读取输入像素点,进行卷积运算,把输出像素点结果写回特征图缓存模块;
新型特征图缓存模块:包括两块缓存,两块缓存在卷积神经网络的不同层交替地用来存储输入特征图与输出特征图。
进一步地,所述主控模块为至少包括CPU的控制器件。
进一步地,所述新型特征图缓存模块中的一块缓存是由多块静态随机存储器组成;一块缓存中的SRAM块数与单个卷积核中的权重参数数目相等,每块SRAM的深度为特征图像素点数除以单个卷积核中的权重参数数目。
进一步地,为了优化特征图像素点存取速度,设计了新型特征图缓存模块中的一块缓存的存储空间与特征图的映射关系,其具体映射关系如下:
设特征图的高为H,宽为W,方形卷积核的边长为K,且H与W均可以被K整除;那么该块缓存中有K*K块SRAM,分别把它们命名为MEM1,MEM2,MEM3,
……,MEMn,n=K*K;特征图中坐标为(h,w)的像素点Xhw在缓存中占据的存储位置为MEMx[y],其中
x=(mod(h-1,K)+1)*K+mod(w-1,K)+1,y=(ceil(h/K)-1)*(W/K)+ceil(w/K)-1;
式中mod()是求余计算,ceil()是向上取整计算。
进一步地,在所述一块缓存的存储空间与特征图的映射关系的规定下,在卷积核大小的方框任意地在输出特征图上框定的一片区域内,该区域内的所有像素点都各自存储在不同块SRAM中。
这样,明确了特征图在缓存中的具体分布方式。
在所述一块缓存的存储空间与特征图的映射关系的规定下,在卷积核大小的方框任意地在输出特征图上框定的一片区域内,该区域内的所有像素点都各自存储在不同块SRAM中。
有益效果:本发明与现有技术相比:
本发明有着高的片上存储带宽,可以为加速器中的计算单元提供高的数据供给速度,消除了低存储带宽限制加速器性能提高的瓶颈问题,从而提高了加速器的计算性能。其克服了现有的卷积加速硬件因数据供给速度低而造成的计算单元闲置的缺点,以高的数据供给速度充分支撑高的数据处理速度,让加速器高效率地工作,达到对卷积运算进行加速计算的目的。可见本发明的一种带新型特征图缓存模块的卷积神经网络硬件加速器在很多对计算性能有着高要求的场合中有非常大的应用价值。
附图说明
图1为本发明的卷积神经网络硬件加速器结构图;
图2为本发明的新型特征图缓存模块中缓存存储空间与特征图的映射关系示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明,下面结合具体实施方式对本发明作进一步的说明。
在用卷积核对输入特征图作卷积运算得出输出特征图的过程中,每次卷积运算可以得到输出特征图上的一个像素点,卷积核滑动到另外的区域作同样的卷积运算可以得到另外的输出特征图像素点,卷积核把输入特征图遍历就可以得到整张输出特征图,因此计算输出特征图的实质就是重复多次进行同样的卷积运算,只是输入不同。本发明也是按照这样的思路,只要设计进行一次卷积运算的硬件,再在时间上复用它即可达到计算完整输出特征图的目的,因此对本发明的具体实施方式阐释的重点在于阐释用本发明进行一次卷积加速的流程。下面以规格为5*5的输入特征图,规格为2*2的卷积核为例,结合附图对本发明的具体实施方式作进一步说明:
如图1所示,首先卷积运算模块以运算进程管理模块给出的坐标从特征图缓存模块中读取出当前的输入特征图像素点。
在同一时间,卷积运算模块还会从特征图缓存模块中把参与计算的所有输出特征图像素点已有的中间结果读取出来。经由精心设计的缓存的存储空间与特征图的映射关系排布,参与计算的所有输出特征图像素点都各自存储在不同块SRAM中,所以总能在一个时钟周内被读取出来,结合图2中的具体例子来阐释这种映射关系。
在图2的例子中,卷积框规格为2*2,输出特征图规格为4*4。对于这种情况,要用4块SRAM来存储整张输出特征图,依次命名为MEM1、MEM2、MEM3及MEM4,为了更直观地说明这种映射关系,为各块SRAM分别安排不同灰度的四种灰色,直接在输出特征图的像素点上着这4种灰度不同的灰色以指示该像素点被存储在哪块SRAM中,对于同样的灰度色块并不意味着这些像素点存在同样的地址中,同样的灰度色块按照从左至右从上至下的排序对应同一块SRAM的地址空间。这样一张图就能很清晰明了地说明缓存的存储空间与特征图像素点的映射关系,也即哪个像素点被存在哪块SRAM的哪个地址,比如图2中的左上角像素中写了字符串MEM1[0],意味着用MEM1存储器的0地址来存这个像素点。接下来说明,为何经由这种映射关系,参与计算的所有输出特征图像素点都各自存储在不同块SRAM中。还是由图2的例子来进行说明,由之前说明容易得出规律:参与计算的所有输出特征图像素点构成的集合在输出特征图上是一个跟卷积核同样规格的方形,在图2中就是两个白色虚线方框,易知这样大小的一个方形在输出特征图上滑动时,滑动到任意位置,这个方形所包含的色块都是灰度不一样的色块,就像图2中的每个白色方框包含的4个色块都是灰度不一样的色块,也就是说参与计算的所有输出特征图像素点都各自存储在不同块SRAM中。
在获得了当前输入特征图像素点后,就会同时进行所有多个卷积运算中的单个乘法运算。
上述步骤完成后,卷积运算模块就得到了多个卷积运算的单个乘法结果和输出特征图多个像素点中间结果,再把它们对应地加起来就得到了输出特征图多个像素点新一次累加的中间结果,其中的对应关系就是哪个乘积结果对哪个输出特征图像素点贡献了乘积分量,那么它们就相加。最后把更新的输出像素点它们写回到特征图缓存模块中。
以上的所有步骤完成,就完成了一次卷积运算。在运算进程管理模块的控制下,把整张输入特征图扫描遍历,其中每个输入特征图像素点都按如上步骤进行处理,那么本发明就完成了一次完整的输入特征图与卷积核的卷积运算,可以得到完整的输出特征图。
Claims (2)
1.一种带新型特征图缓存模块的卷积神经网络硬件加速器,其特征在于,包括:
运算进程管理模块:接受主控模块的控制,用于管理卷积神经网络中单层卷积运算的进程;所述主控模块为至少包括CPU的控制器件;
参数表模块:接受主控模块的配置,用于提供当前层卷积运算的卷积核参数;
卷积运算模块:从特征图缓存模块中读取输入像素点,进行卷积运算,把输出像素点结果写回特征图缓存模块;
新型特征图缓存模块:包括两块缓存,两块缓存在卷积神经网络的不同层交替地用来存储输入特征图与输出特征图;所述新型特征图缓存模块中的一块缓存是由多块静态随机存储器组成;一块缓存中的SRAM块数与单个卷积核中的权重参数数目相等,每块SRAM的深度为特征图像素点数除以单个卷积核中的权重参数数目;为了优化特征图像素点存取速度,设计了新型特征图缓存模块中的一块缓存的存储空间与特征图的映射关系,其具体映射关系如下:
设特征图的高为H,宽为W,方形卷积核的边长为K,且H与W均可以被K整除;那么该块缓存中有K*K块SRAM,分别把它们命名为MEM1,MEM2,MEM3,
……,MEMn,n=K*K;特征图中坐标为(h,w)的像素点Xhw在缓存中占据的存储位置为MEMx[y],其中
x=(mod(h-1,K)+1)*K+mod(w-1,K)+1,y=(ceil(h/K)-1)*(W/K)+ceil(w/K)-1;
式中mod()是求余计算,ceil()是向上取整计算。
2.根据权利要求1所述的带新型特征图缓存模块的卷积神经网络硬件加速器,其特征在于,在一块缓存的存储空间与特征图的映射关系的规定下,在卷积核大小的方框任意地在输出特征图上框定的一片区域内,该区域内的所有像素点都各自存储在不同块SRAM中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910535251.2A CN110390382B (zh) | 2019-06-20 | 2019-06-20 | 一种带新型特征图缓存模块的卷积神经网络硬件加速器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910535251.2A CN110390382B (zh) | 2019-06-20 | 2019-06-20 | 一种带新型特征图缓存模块的卷积神经网络硬件加速器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110390382A CN110390382A (zh) | 2019-10-29 |
CN110390382B true CN110390382B (zh) | 2023-08-04 |
Family
ID=68285589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910535251.2A Active CN110390382B (zh) | 2019-06-20 | 2019-06-20 | 一种带新型特征图缓存模块的卷积神经网络硬件加速器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110390382B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111860771B (zh) * | 2020-06-19 | 2022-11-25 | 苏州浪潮智能科技有限公司 | 一种应用于边缘计算的卷积神经网络计算方法 |
CN112465110B (zh) * | 2020-11-16 | 2022-09-13 | 中国电子科技集团公司第五十二研究所 | 一种卷积神经网络计算优化的硬件加速装置 |
CN113254391B (zh) * | 2021-06-25 | 2021-11-02 | 之江实验室 | 一种神经网络加速器卷积计算和数据载入并行方法及装置 |
CN116596043B (zh) * | 2023-07-13 | 2023-10-13 | 杭州菲数科技有限公司 | 一种卷积神经网络计算方法、系统、电子设备和存储介质 |
CN117057400B (zh) * | 2023-10-13 | 2023-12-26 | 芯原科技(上海)有限公司 | 视觉图像处理器、神经网络处理器及图像卷积计算方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180341495A1 (en) * | 2017-05-26 | 2018-11-29 | Purdue Research Foundation | Hardware Accelerator for Convolutional Neural Networks and Method of Operation Thereof |
CN109284817A (zh) * | 2018-08-31 | 2019-01-29 | 中国科学院上海高等研究院 | 深度可分离卷积神经网络处理架构/方法/系统及介质 |
CN109886400A (zh) * | 2019-02-19 | 2019-06-14 | 合肥工业大学 | 基于卷积核拆分的卷积神经网络硬件加速器系统及其计算方法 |
-
2019
- 2019-06-20 CN CN201910535251.2A patent/CN110390382B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180341495A1 (en) * | 2017-05-26 | 2018-11-29 | Purdue Research Foundation | Hardware Accelerator for Convolutional Neural Networks and Method of Operation Thereof |
CN109284817A (zh) * | 2018-08-31 | 2019-01-29 | 中国科学院上海高等研究院 | 深度可分离卷积神经网络处理架构/方法/系统及介质 |
CN109886400A (zh) * | 2019-02-19 | 2019-06-14 | 合肥工业大学 | 基于卷积核拆分的卷积神经网络硬件加速器系统及其计算方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110390382A (zh) | 2019-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110390382B (zh) | 一种带新型特征图缓存模块的卷积神经网络硬件加速器 | |
DE102019130702A1 (de) | Stilbasierte architektur für generative neuronale netzwerke | |
CN109886866B (zh) | 一种自适应仿射变换处理方法及装置 | |
CN113792621B (zh) | 一种基于fpga的目标检测加速器设计方法 | |
CN112799599B (zh) | 一种数据存储方法、计算核、芯片和电子设备 | |
WO2021147276A1 (zh) | 数据处理方法、装置及芯片、电子设备、存储介质 | |
US20220113944A1 (en) | Arithmetic processing device | |
CN116310712A (zh) | 一种基于循环生成对抗网络的图像水墨风格迁移方法及系统 | |
US20220044104A1 (en) | Method and apparatus for forward computation of neural network, and computer-readable storage medium | |
WO2022007265A1 (zh) | 一种膨胀卷积加速计算方法及装置 | |
CN110490312B (zh) | 一种池化计算方法和电路 | |
CN109416743B (zh) | 一种用于识别人为动作的三维卷积装置 | |
CN106952215B (zh) | 一种图像金字塔特征提取电路、装置及方法 | |
CN114118415A (zh) | 一种轻量级瓶颈注意力机制的深度学习方法 | |
CN114373110A (zh) | 对输入图像进行目标检测的检测方法、设备及其相关产品 | |
US20210224632A1 (en) | Methods, devices, chips, electronic apparatuses, and storage media for processing data | |
CN111191780B (zh) | 均值池化累加电路、装置以及方法 | |
CN114066713A (zh) | 基于小波变换提升图像处理效率的系统及方法 | |
CN114330635A (zh) | 一种神经网络数据缩放加速的装置和方法 | |
KR20200129957A (ko) | 피처맵 데이터에 대한 압축을 수행하는 뉴럴 네트워크 프로세서 및 이를 포함하는 컴퓨팅 시스템 | |
Lyu et al. | FLNA: An energy-efficient point cloud feature learning accelerator with dataflow decoupling | |
CN115982418B (zh) | 一种提升ai计算芯片超分运算性能的方法 | |
CN116883575B (zh) | 建筑群渲染方法、装置、计算机设备和存储介质 | |
CN113379046B (zh) | 卷积神经网络的加速计算方法、存储介质和计算机设备 | |
Wu et al. | High Efficient Bandwidth Utilization Hardware Design and Implement for AI Deep Learning Accelerator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |