CN111860780A - 不规则卷积核卷积神经网络硬件加速系统及计算方法 - Google Patents
不规则卷积核卷积神经网络硬件加速系统及计算方法 Download PDFInfo
- Publication number
- CN111860780A CN111860780A CN202010664423.9A CN202010664423A CN111860780A CN 111860780 A CN111860780 A CN 111860780A CN 202010664423 A CN202010664423 A CN 202010664423A CN 111860780 A CN111860780 A CN 111860780A
- Authority
- CN
- China
- Prior art keywords
- module
- irregular
- convolution kernel
- data
- convolution
- 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.)
- Pending
Links
- 230000001788 irregular Effects 0.000 title claims abstract description 49
- 238000004364 calculation method Methods 0.000 title claims abstract description 30
- 230000001133 acceleration Effects 0.000 title claims abstract description 20
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 8
- 238000000034 method Methods 0.000 claims abstract description 4
- 238000013527 convolutional neural network Methods 0.000 claims description 12
- 230000004913 activation Effects 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 9
- 238000011176 pooling Methods 0.000 claims description 6
- 238000007689 inspection Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 17
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000008521 reorganization Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种不规则卷积核卷积神经网络硬件加速系统,涉及到网络硬件加速技术领域,包括主机和存储器,还包括与主机和存储器连接的硬件加速器,硬件加速器包括控制模块、补零模块、卷积核权重缓存模块、数据缓存模块、核心计算模块和中间结果缓存模块,控制模块与主机连接,补零模块、卷积核权重缓存模块、数据缓存模块、核心计算模块和中间结果缓存模块分别连接控制模块连接,补零模块与存储器连接,卷积核权重缓存模块分别连接控制模块和核心计算模块。其能够提高卷积核的利用效率,提高目标检查的准确率。
Description
技术领域
本发明涉及到网络硬件加速技术领域,尤其涉及到一种不规则卷积核卷积神经网络硬件加速系统及计算方法。
背景技术
卷积神经网络(CNN)得到了极大的发展,特别在目标检查实施方面有了极大提高,目前已被应用到很多场合当中。
现有的卷积核的大小为m*n或n*n等,形状为正方形或长方形,但是现实中检测目标的形状千奇百怪,都是不规则的,从而导致目标的特征形状也是不规则的。卷积运算实质上是物体的特征量与卷积核的运算,这两个数据量按理想情况下,属性应该完全一样,只有这样才能获得更加准确的响应。卷积核的形状应该与目标物体的特征模式形状相近,这样才能更准确的识别出物体类别。为了实现卷积核与特征模式形状的匹配,我们对规则卷积核的数据重新组合从而达到不规则形状相类似的效果。如图1和图2所示,两个规则卷积核K1和K2都因为其特殊的分布,而拥有了建模不规则形状的能力。但这种方式消耗18个权重参数去建模9个像素的输入特征。而且需要注意的是,如果输入特征更加细长或离散、卷积核更加离散,这种低效的情况还会加剧。
发明内容
本发明的目的在于提供一种不规则卷积核卷积神经网络硬件加速系统,用于解决上述技术问题。
本发明采用的技术方案如下:
一种不规则卷积核卷积神经网络硬件加速系统,包括主机和存储器,还包括与所述主机和所述存储器连接的硬件加速器,所述硬件加速器包括控制模块、补零模块、卷积核权重缓存模块、数据缓存模块、核心计算模块和中间结果缓存模块,其中,所述控制模块与所述主机连接,所述补零模块、所述卷积核权重缓存模块、所述数据缓存模块、所述核心计算模块和所述中间结果缓存模块分别连接所述控制模块连接,补零模块与所述存储器连接,所述卷积核权重缓存模块分别连接所述控制模块和所述核心计算模块。
作为优选,还包括窗口组装模块,所述窗口组装模块与所述控制模块连接,且所述窗口组装模块连接所述数据缓存模块和所述核心计算模块。
作为优选,所述补零模块连接所述数据缓存模块,所述中间结果缓存模块连接所述核心计算模块。
作为进一步的优选,所述核心计算模块包括乘累加单元、激活函数单元和池化层单元,所述乘累加单元连接所述激活函数单元和所述窗口组装模块,所述池化层单元连接所述激活函数单元和所述中间结果缓存模块。
一种不规则卷积核卷积神经网络硬件加速系统的计算方法,所述计算方法包括:
S1、对N×M数据通过任意方式补零;
S2、组成数据窗口,提取不归则卷积核对应的有效的数据点,并将数据和对应的卷积核的值进行相乘,并实现累加。
作为进一步的优选,在S2中,根据不规则卷积核的形状提取出有效的所述数据,然后输入到乘累加单元与所述不规则卷积核中的权重相乘并累加。
上述技术方案具有如下优点或有益效果:
(1)本发明中,在卷积核中权重个数相同下,不规则卷积核减少了计算量,提高了卷积核的利用效率;
(2)本发明中,由于检查目标是不规则的,不规则的卷积核的更加适配目标的不规则特征模式,可以提高目标检查的准确率。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明及其特征、外形和优点将会变得更加明显。在全部附图中相同的标记指示相同的部分。并未可以按照比例绘制附图,重点在于示出本发明的主旨。
图1是规则卷积示意图;
图2是不规则卷积示意图;
图3是本发明中不规则卷积核卷积神经网络硬件加速系统的结构示意图;
图4是本发明中补零处理示意图;
图5是本发明中输入数据组成窗口示意图;
图6是本发明中核心计算模块结构示意图;
图7是本发明中进行单次不规则卷积核的卷积计算示意图;
图8是本发明中权重与数据的乘累加块示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
图1是规则卷积示意图;图2是不规则卷积示意图;图3是本发明中不规则卷积核卷积神经网络硬件加速系统的结构示意图;图4是本发明中补零处理示意图;图5是本发明中输入数据组成窗口示意图;图6是本发明中核心计算模块结构示意图;图7是本发明中进行单次不规则卷积核的卷积计算示意图;图8是本发明中权重与数据的乘累加块示意图,请参见图1至图8所示,示出了一种较佳的实施例,示出的一种不规则卷积核卷积神经网络硬件加速系统,包括主机和存储器,还包括与主机和存储器连接的硬件加速器,硬件加速器包括:控制模块、补零模块、卷积核权重缓存模块、数据缓存模块、核心计算模块和中间结果缓存模块,其中,控制模块与主机连接,补零模块、卷积核权重缓存模块、数据缓存模块、核心计算模块和中间结果缓存模块分别连接控制模块连接,补零模块与存储器连接,卷积核权重缓存模块分别连接控制模块和核心计算模块。本实施例中,补零模块可以根据不规则卷积核的形状实现任意方式的补零;不规则卷积核重组是根据不规则卷积核的大小来组装数据;卷积核权重缓存模块用于存储零填充后的卷积核权重,数据缓存模块用于存储零填充后的卷积核图片的数据;核心计算模块用于计算数据;中间结果缓存模块用于存储中间计算结果。本发明能够提高卷积核的效率从而减少运算量,有效的缩减卷积的运算时间,从而适用于大型卷积计算。本实施例中,卷积核的形状与现有的卷积核的形状是不一样的,但卷积核内的个数相同,因此,本实施例中与现有的规则卷积核使用的资源是相同的。
进一步,作为一种较佳的实施方式,不规则卷积核卷积神经网络硬件加速系统还包括窗口组装模块,窗口组装模块与控制模块连接,且窗口组装模块连接数据缓存模块和核心计算模块。本实施例中,窗口组装模块中具有不规则卷积核重组,可根据不规则卷积核的大小来组装数据。窗口组装模块可根据不规则卷积核的大小进行截取窗口,便于提取不归则卷积核对应的有效的数据点。
进一步,作为一种较佳的实施方式,补零模块连接数据缓存模块,中间结果缓存模块连接核心计算模块。
进一步,作为一种较佳的实施方式,核心计算模块包括乘累加单元、激活函数单元和池化层单元,乘累加单元连接激活函数单元和窗口组装模块,池化层单元连接激活函数单元和中间结果缓存模块。如图7所示,乘累加单元:Y=X1*W1+X2*W2+X3*W3+X4*W4+X5*W5+X6*W6+X7*W7+X8*W8+X9*W9,其中,Y为乘累加单元。
下面说明本发明的较佳的计算方法:
一种不规则卷积核卷积神经网络硬件加速系统的计算方法,计算方法包括:
S1、对N×M数据通过任意方式补零;
S2、组成数据窗口,提取不归则卷积核对应的有效的数据点,并将数据和对应的卷积核的值进行相乘,并实现累加。本实施例中,以图1为不规则卷积核的形状,图1中,不规则卷积核中有9个有效参数,需要的窗口大小为5×4,为了满足该窗口,补零模块设计成可以对行列进行任意的补零操作。N×M的数据块在第N行的上方或下方增加m行和第M列的左侧或右侧增加n列,从而扩展为(N+m)×(M+n)的数据块,且新增的n列和m行中的数据全部用“0”填充。其它不规则卷积核可以按照需要修改参数进行补零即可。如图4为补零操作示意图。如图2所示,不规则卷积核消耗18个权重参数去建模9个像素的输入特征,若输入特征更加细长或离散、卷积核更加离散(Dilated Convolution),这种低效的情况还会加剧。因此,本发明中通过只提取有效的9个数据点的方式,来消除不规则卷积核带来的额外计算量。
进一步,作为一种较佳的实施方式,在S2中,根据不规则卷积核的形状提取出有效的数据,然后输入到乘累加单元与不规则卷积核中的权重相乘并累加。本实施例中,乘累加单元为核心计算。图7中,在卷积核中权重个数相同情况下,明显不规则卷积核的计算量和利用效率要远大于规则卷积核,减少了计算量。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
本领域技术人员应该理解,本领域技术人员在结合现有技术以及上述实施例可以实现所述变化例,在此不做赘述。这样的变化例并不影响本发明的实质内容,在此不予赘述。
以上对本发明的较佳实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例,这并不影响本发明的实质内容。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
Claims (6)
1.一种不规则卷积核卷积神经网络硬件加速系统,包括主机和存储器,其特征在于,还包括与所述主机和所述存储器连接的硬件加速器,所述硬件加速器包括控制模块、补零模块、卷积核权重缓存模块、数据缓存模块、核心计算模块和中间结果缓存模块,其中,所述控制模块与所述主机连接,所述补零模块、所述卷积核权重缓存模块、所述数据缓存模块、所述核心计算模块和所述中间结果缓存模块分别连接所述控制模块连接,补零模块与所述存储器连接,所述卷积核权重缓存模块分别连接所述控制模块和所述核心计算模块。
2.如权利要求1所述的不规则卷积核卷积神经网络硬件加速系统,其特征在于,还包括窗口组装模块,所述窗口组装模块与所述控制模块连接,且所述窗口组装模块连接所述数据缓存模块和所述核心计算模块。
3.如权利要求1所述的不规则卷积核卷积神经网络硬件加速系统,其特征在于,所述补零模块连接所述数据缓存模块,所述中间结果缓存模块连接所述核心计算模块。
4.如权利要求2所述的不规则卷积核卷积神经网络硬件加速系统,其特征在于,所述核心计算模块包括乘累加单元、激活函数单元和池化层单元,所述乘累加单元连接所述激活函数单元和所述窗口组装模块,所述池化层单元连接所述激活函数单元和所述中间结果缓存模块。
5.一种不规则卷积核卷积神经网络硬件加速系统的计算方法,其特征在于,包括权利要求1-4任意一项所述的不规则卷积核卷积神经网络硬件加速系统,所述计算方法包括:
S1、对N×M数据通过任意方式补零;
S2、组成数据窗口,提取不归则卷积核对应的有效的数据点,并将数据和对应的卷积核的值进行相乘,并实现累加。
6.如权利要求5所述的不规则卷积核卷积神经网络硬件加速系统的计算方法,其特征在于,在S2中,根据不规则卷积核的形状提取出有效的所述数据,然后输入到乘累加单元与所述不规则卷积核中的权重相乘并累加。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010664423.9A CN111860780A (zh) | 2020-07-10 | 2020-07-10 | 不规则卷积核卷积神经网络硬件加速系统及计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010664423.9A CN111860780A (zh) | 2020-07-10 | 2020-07-10 | 不规则卷积核卷积神经网络硬件加速系统及计算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111860780A true CN111860780A (zh) | 2020-10-30 |
Family
ID=72983029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010664423.9A Pending CN111860780A (zh) | 2020-07-10 | 2020-07-10 | 不规则卷积核卷积神经网络硬件加速系统及计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111860780A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106951961A (zh) * | 2017-02-24 | 2017-07-14 | 清华大学 | 一种粗粒度可重构的卷积神经网络加速器及系统 |
CN107729994A (zh) * | 2017-11-28 | 2018-02-23 | 北京地平线信息技术有限公司 | 执行卷积神经网络中的卷积层的运算的方法和装置 |
CN108416427A (zh) * | 2018-02-22 | 2018-08-17 | 重庆信络威科技有限公司 | 卷积核堆积数据流、压缩编码以及深度学习算法 |
CN108694689A (zh) * | 2017-04-09 | 2018-10-23 | 英特尔公司 | 神经网络调度机制 |
CN109190758A (zh) * | 2018-09-04 | 2019-01-11 | 地平线(上海)人工智能技术有限公司 | 用于展开卷积神经网络的张量数据的方法和装置 |
CN109886400A (zh) * | 2019-02-19 | 2019-06-14 | 合肥工业大学 | 基于卷积核拆分的卷积神经网络硬件加速器系统及其计算方法 |
CN111242289A (zh) * | 2020-01-19 | 2020-06-05 | 清华大学 | 一种规模可扩展的卷积神经网络加速系统与方法 |
-
2020
- 2020-07-10 CN CN202010664423.9A patent/CN111860780A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106951961A (zh) * | 2017-02-24 | 2017-07-14 | 清华大学 | 一种粗粒度可重构的卷积神经网络加速器及系统 |
CN108694689A (zh) * | 2017-04-09 | 2018-10-23 | 英特尔公司 | 神经网络调度机制 |
CN107729994A (zh) * | 2017-11-28 | 2018-02-23 | 北京地平线信息技术有限公司 | 执行卷积神经网络中的卷积层的运算的方法和装置 |
CN108416427A (zh) * | 2018-02-22 | 2018-08-17 | 重庆信络威科技有限公司 | 卷积核堆积数据流、压缩编码以及深度学习算法 |
CN109190758A (zh) * | 2018-09-04 | 2019-01-11 | 地平线(上海)人工智能技术有限公司 | 用于展开卷积神经网络的张量数据的方法和装置 |
CN109886400A (zh) * | 2019-02-19 | 2019-06-14 | 合肥工业大学 | 基于卷积核拆分的卷积神经网络硬件加速器系统及其计算方法 |
CN111242289A (zh) * | 2020-01-19 | 2020-06-05 | 清华大学 | 一种规模可扩展的卷积神经网络加速系统与方法 |
Non-Patent Citations (2)
Title |
---|
CHAOYANG ZHU ET AL.: "An Efficient Hardware Accelerator for Structured Sparse Convolutional Neural Networks on FPGAs", ARXIV, 7 January 2020 (2020-01-07), pages 4 - 6 * |
武磊;魏子涵;张伟功;王晶;高岚;: "一种通用CNN加速器的缓冲区地址调度方法", 微电子学与计算机, no. 07 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109978161B (zh) | 一种通用的卷积-池化同步处理卷积核系统 | |
CN111062472B (zh) | 一种基于结构化剪枝的稀疏神经网络加速器及其加速方法 | |
CN104915322B (zh) | 一种卷积神经网络硬件加速方法 | |
CN108205519B (zh) | 矩阵乘加运算装置和方法、处理装置、芯片、电子装置 | |
CN111247527B (zh) | 在卷积神经网络模型中确定特征图像的方法和装置 | |
CN107392309A (zh) | 一种基于fpga的通用定点数神经网络卷积加速器硬件结构 | |
CN109784372B (zh) | 一种基于卷积神经网络的目标分类方法 | |
WO2022037257A1 (zh) | 卷积计算引擎、人工智能芯片以及数据处理方法 | |
KR20210074992A (ko) | 내적 아키텍처 상 2차원 컨볼루션 레이어 맵핑 가속화 | |
CN109840585B (zh) | 一种面向稀疏二维卷积的运算方法和系统 | |
CN111126569B (zh) | 一种支持剪枝稀疏化压缩的卷积神经网络装置和计算方法 | |
CN111796796A (zh) | 基于稀疏矩阵乘法的fpga存储方法、计算方法、模块和fpga板 | |
CN110147252A (zh) | 一种卷积神经网络的并行计算方法及装置 | |
CN111814957B (zh) | 神经网络运算方法及相关设备 | |
CN114138231B (zh) | 执行矩阵乘法运算的方法、电路及soc | |
CN110580522A (zh) | 卷积计算方法及相关设备 | |
CN110909872A (zh) | 集成电路芯片装置及相关产品 | |
CN111860780A (zh) | 不规则卷积核卷积神经网络硬件加速系统及计算方法 | |
CN109446478A (zh) | 一种基于迭代和可重构方式的复协方差矩阵计算系统 | |
CN101561797A (zh) | 在处理系统上对矩阵进行奇异值、特征值分解的方法和装置 | |
CN109408148B (zh) | 一种国产化计算平台及其应用加速方法 | |
CN112953549B (zh) | 一种稀疏矩阵的存储处理方法及装置 | |
CN112712461A (zh) | 一种图像反卷积处理方法、装置及终端设备 | |
CN111178505B (zh) | 卷积神经网络的加速方法和计算机可读存储介质 | |
CN111507178B (zh) | 数据处理的优化方法及装置、存储介质、计算机设备 |
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 |