CN108108812A - 用于卷积神经网络的高效可配置卷积计算加速器 - Google Patents
用于卷积神经网络的高效可配置卷积计算加速器 Download PDFInfo
- Publication number
- CN108108812A CN108108812A CN201711414668.0A CN201711414668A CN108108812A CN 108108812 A CN108108812 A CN 108108812A CN 201711414668 A CN201711414668 A CN 201711414668A CN 108108812 A CN108108812 A CN 108108812A
- Authority
- CN
- China
- Prior art keywords
- ffir
- convolution
- convolutional calculation
- module
- patterns
- 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.)
- Granted
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 40
- 238000013527 convolutional neural network Methods 0.000 title abstract description 12
- 239000003638 chemical reducing agent Substances 0.000 claims abstract description 8
- 238000000034 method Methods 0.000 claims description 12
- 238000005457 optimization Methods 0.000 claims description 11
- 239000013589 supplement Substances 0.000 claims description 5
- 239000000047 product Substances 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 235000013399 edible fruits Nutrition 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
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/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)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了用于卷积神经网络的高效可配置卷积计算加速器。该结构通过配置可以高效地实现卷积神经网络中的4种主流尺寸卷积核及12*12以下的所有尺寸的卷积计算,同时显著降低卷积计算的复杂度。本发明先介绍了基于快速FIR算法的硬件结构(FFIR),并在2并行FFIR结构上级联3并行FFIR,设计了6并行FFIR(6P‑FFIR),并使用压缩器对6P‑FFIR进行了优化。基于6P‑FFIR的结构,设计了高效可配置卷积计算加速器(RCC)。相比于传统FIR滤波器,本发明可以在实现四种主流尺寸的卷积计算时节省33%至47%的乘法计算。本架构可以节省大量的硬件面积和功耗,很适合应用在物联网、嵌入式芯片等对功耗要求严苛的场景中,同时可以运用在需要多种尺寸的卷积计算的场合,并提高系统的有效吞吐量。
Description
技术领域
本发明涉及集成电路及机器学习领域,特别涉及一种用于高效地实现卷积神经网络中3*3、5*5、7*7和11*11四种尺寸,并可以实现12*12及以下所有其它尺寸卷积计算的通用型卷积神经网络加速器的硬件结构。
背景技术
卷积神经网络(CNN)是当前研究得最多、也是应用最为广泛的机器学习算法之一。卷积计算是CNN中最消耗计算资源的部分,现在大部分的卷积神经网络模型都运行在以CPU或GPU为核心的云平台上,而随着人工智能技术的进一步进步和拓展,卷积神经网络在嵌入式系统和实时系统这类对硬件资源要求严苛的系统中,其应用需求也不断增大,因而针对卷积操作的硬件加速优化就显得很有意义。绝大部分的卷积网络都使用了3*3或5*5这两种尺寸的卷积核,少部分更大尺寸的卷积核有7*7和11*11两种,其他尺寸则还未被有效使用过。
快速有限冲击响应滤波器(FFIR)是一种可以用来高效地实现卷积计算的硬件结构,其使用了快速FIR算法(FFA)来缩减卷积计算的算法强度,相较于其他硬件实现方式,降低了功耗和硬件面积,更适合用于对芯片面积和功耗要求更高的应用场景如物联网和嵌入式芯片等。
发明内容
本发明的主要创新内容有:
●设计了一种高效可配置卷积计算加速器(RCC)的硬件结构,其为可以高效地实现卷积神经网络中3*3、5*5、7*7和11*11四种尺寸,并可以实现12*12及以下所有其它尺寸卷积计算的通用型卷积神经网络加速器;
●使用3-2和4-2压缩器对6并行快速有限冲击响应结构(6P-FFIR)进行优化,得到性能优化的6P-DFFIR结构。
本发明的理论分析如下:
在z域中,一种6P-FFIR结构,可以通过任意类型2并行FFIR结构(2P-FFIR)级联任意类型的3并行FFIR(3P-FFIR)子结构得到,以最典型的两种FFIR结构为例,则输出表达式为
Y=Y0+z-1Y1+z-2Y+z-3Y3+z-4Y4+z-5Y5=(X′0+z-1X′1)((H′0+z-1H′1))=[X′0H′0+z-2X′1H′1]+z-1[(X′0+X′1)(H′0+H′1)-X′0H′0-X′1H′1]
首先使用了2P-FFIR结构,其中
X′0=(X0+z-2X2+z-4X4)
X′1=(X1+z-2X3+z-4X5)
H′0=(H0+z-2H2+z-4H4)
H′1=(H1+z-2H3+z-4H5)
则此时每一个子项都对应着一个3P-FFIR(如图5),其输出结构相同,则令三个子滤波器输出为
X′0H′0=a0+a1+a2=a0+z-2b1+z-4b2
X′1H′1=a3+a4+a5=a3+z-2b4+z-4b5
(X′0+X′1)(H′0+H′1)=a6+a7+a8=a6+z-2b7+z-4b8
此处需要说明的是三个子滤波器输出表达式的三项为带有z0、z-2与z-4的3并行输出结构,将其带入到2并行结构的输出表达式有
Y0=a0+Z-6a5
Y1=-a0-a3+a6
Y2=a1+a3
Y3=-a1-a4+a7
Y4=a2+a4
Y5=-a2-a5+a8
则根据输出表达式可以得到一种经典的6P-FFIR的结构,如图3。
该6P-FFIR结构包含3个3P-FFIR子结构,则该电路中子滤波器部分可以同时实现独立的三通道3*3卷积计算,而整体滤波器则可以实现单通道5*5卷积计算。使用两个同样的6P-FFIR可以通过后置加法实现12*12及以下的卷积计算,则可以实现全部四种尺寸3*3、5*5、7*7和11*11卷积计算的硬件实现。通过添加模式选择模块就可以完成模式选择的功能,该模块可以由数据选择器(MUX)和AND门构成。通过添加含有6个通用乘法器的补充乘法模块,配合快速卷积模块的计算结果,可以实现7*7卷积计算。
不同模式的具体实现方式如下:
●在3*3模式下,通过使用快速卷积模块中的3P-FFIR子结构,实现高效的3*3卷积计算。
●在5*5模式下,通过使用快速卷积模块,同时将第6位卷积系数置0,实现5*5卷积计算。
●在7*7模式下,通过使用补充乘法模块计算第1位卷积结果,配合快速卷积模块的结果,相加得到7*7卷积计算结果。
●在11*11模式下,通过使用两个快速卷积模块,将第2个模块的第6位卷积系数置0,并将两个模块的结果相加,得到11*11卷积计算结果。
●通过选择上述不同模式,并适当设置卷积系数,可以完成12*12及以下其它尺寸的卷积计算。
3-2和4-2压缩器可以用于减短全加器的关键路径长度,通过使用这两种压缩器来替代3P-FFIR和6P-FFIR两种结构的后置处理电路中的全加器,可以得到提高了时钟频率和性能的优化结构6P-DFFIR。在RCC结构中的快速卷积模块,可以根据系统性能要求选择使用6P-FFIR结构,也可以使用优化性能的6P-DFFIR结构。
本发明的结构可以参见图1和图2,相比于传统FIR滤波器结构,在实现3*3、5*5、7*7和11*11的卷积计算时,分别节省了33.3%、43.4%、42.9%和47.0%的乘法操作,分别能够达到75%、71%、100%和73%的乘法器利用效率。同时,RCC结构能可配置地实现12*12及以下所有尺寸卷积计算的,而传统FIR滤波器只能实现某一种尺寸。
附图说明
图1为RCC的架构示意图;
图2为RCC的一种电路实现示意图;
图3为一种典型的6P-FFIR的电路示意图;
图4为基于典型结构优化的6P-DFFIR的电路示意图;
图5为一种典型的3P-FFIR的电路示意图;
图6为基于典型结构优化的3P-DFFIR的电路示意图;
图7为一种典型的3-2和4-2压缩器的电路示意图。
具体实施方式
这里介绍了RCC结构的配置与在不同模式下的实现方式,其输入输出接口名称与图2一一对应。
若要启用3*3模式,将控制信号{cs_3,cs_7,cs_11}设为{1,0,0}。两个快速卷积模块分别实现3个独立的3*3卷积计算,此时第一个快速卷积模块完成的3组独立的3*3卷积输入输出数据流如表1。在第二个快速卷积模块完成的3组卷积输入输出数据模式类似,只需要把表1中下标a换成b。
表1、3*3模式的输入输出数据流
若要启用5*5模式,将控制信号{cs_3,cs_7,cs_11}设为{0,0,0}。两个快速卷积模块共实现2个6*6卷积计算,通过将每组卷积系数的第六个系数置为0的方式,实现5*5的卷积计算。此时第一个快速卷积模块完成的1组5*5卷积的输入输出模式如表2所示。第二个快速卷积模块完成的1组5*5卷积输入输出数据模式类似,只需要把表2中下标a换成b。
表2、5*5模式的输入输出数据流
若要启用7*7模式,将控制信号{cs_3,cs_7,cs_11}设为{0,1,0}。通过控制信号启动2个补充乘法模块,帮助2个快速卷积模块实现2个独立的7*7卷积操作。第一个快速卷积模块完成的1组7*7卷积的输入输出模式如表3所示。第二个快速卷积模块完成的1组7*&卷积输入输出数据模式类似,只需要把表3中下标{a,c}换成{b,d}。。
表3、7*7模式的输入输出数据流
若要启用11*11模式,将控制信号{cs_3,cs_7,cs_11}设为{0,0,1}。通过将两个快速卷积模块的结果相加,来实现12*12的卷积,同时令第十二系数为0,来实现一个11*11卷积计算。其输入输出数据流模式见表4。
表4、11*11模式的输入输出数据流
同时,可以通过选择相应的模式,同时将相应的卷积系数设为零的方法,实现其他尺寸的卷积计算。比如用RCC实现9*9的卷积计算,我们选择启用11*11模式,即将控制信号{cs_3,cs_7,cs_11}设为{0,0,1},同时将第10至第12位的卷积系数设置为0,就可以使用RCC结构完成9*9的卷积计算。
Claims (4)
1.高效可配置卷积计算加速器(RCC)结构,包括:
●1个模式选择模块,用于控制模块间的数据流,完成选择3*3、5*5、7*7和11*11四种卷积计算模式中的一种;
●2个快速卷积模块,用于高效地实现6并行卷积计算,该模块可以使用任意的6并行快速有限冲击响应结构(6P-FFIR)或者其优化结构;
●2个补充乘法模块,用于支持快速卷积模块实现7*7卷积计算模式,每个模块包含6个乘法器;
●1个数据输入模块,用于以正确顺序输入不同卷积模式下的数据;
●1个数据输出模块,用于以正确顺序输出不同卷积模式下的数据,可以使用只含有加法器的电路,或者使用优化的含有压缩器和加法器的电路。
2.根据权利要求1所述的快速卷积模块中,优化6P-FFIR的方法,及优化的6P-FFIR硬件结构(6P-DFFIR)。具体方法为使用4-2压缩器,替换6P-FFIR中部分加法器,得到的性能优化的6P-DFFIR结构。
3.根据权利要求2所述的6P-DFFIR中,优化3并行快速有限冲击响应滤波器(3P-FFIR)的方法,及优化的3P-FFIR硬件结构(3P-DFFIR)。具体方法为使用3-2压缩器,替换6P-FFIR中3P-FFIR中部分加法器,得到优化的3P-DFFIR结构。
4.根据权利要求1所述的RCC结构,使用该结构高效地实现3*3、5*5、7*7和11*11卷积计算模式的方法,和实现12*12及以内其他尺寸卷积计算的方式,包括:
●在3*3模式下,通过使用快速卷积模块的子模块,比如使用6P-FFIR结构中的3P-FFIR结构,高效地实现3*3卷积计算模式的方法;
●在5*5模式下,通过使用快速卷积模块,比如使用6P-FFIR或者6P-DFFIR结构,并将第6位卷积系数置0,实现5*5卷积计算模式的方法;
●在7*7模式下,通过使用补充乘法模块计算第1位卷积结果,结合快速卷积模块的结果,相加得到7*7卷积计算结果的方法;
●在11*11模式下,通过使用两个快速卷积模块,同时将第12个卷积系数设为0,并将两个结构的结果相加,得到11*11卷积计算结果的方法;
●在上述不同模式下,通过适当设置卷积系数来完成12*12及以下尺寸卷积计算的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711414668.0A CN108108812B (zh) | 2017-12-20 | 2017-12-20 | 用于卷积神经网络的高效可配置卷积计算加速器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711414668.0A CN108108812B (zh) | 2017-12-20 | 2017-12-20 | 用于卷积神经网络的高效可配置卷积计算加速器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108108812A true CN108108812A (zh) | 2018-06-01 |
CN108108812B CN108108812B (zh) | 2021-12-03 |
Family
ID=62212696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711414668.0A Active CN108108812B (zh) | 2017-12-20 | 2017-12-20 | 用于卷积神经网络的高效可配置卷积计算加速器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108108812B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109558944A (zh) * | 2018-12-13 | 2019-04-02 | 北京智芯原动科技有限公司 | 基于可配置卷积层的卷积神经网络的算法优化方法及装置 |
CN110880034A (zh) * | 2018-09-06 | 2020-03-13 | 三星电子株式会社 | 使用卷积神经网络的计算装置及其操作方法 |
CN111832718A (zh) * | 2020-06-24 | 2020-10-27 | 上海西井信息科技有限公司 | 芯片架构 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1278341A (zh) * | 1997-10-28 | 2000-12-27 | 爱特梅尔股份有限公司 | 快速规则的乘法器层次结构 |
CN106909970A (zh) * | 2017-01-12 | 2017-06-30 | 南京大学 | 一种基于近似计算的二值权重卷积神经网络硬件加速器计算模块 |
CN106936406A (zh) * | 2017-03-10 | 2017-07-07 | 南京大学 | 一种5并行快速有限冲击响应滤波器的实现 |
CN107169560A (zh) * | 2017-04-19 | 2017-09-15 | 清华大学 | 一种自适应可重构的深度卷积神经网络计算方法和装置 |
-
2017
- 2017-12-20 CN CN201711414668.0A patent/CN108108812B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1278341A (zh) * | 1997-10-28 | 2000-12-27 | 爱特梅尔股份有限公司 | 快速规则的乘法器层次结构 |
CN106909970A (zh) * | 2017-01-12 | 2017-06-30 | 南京大学 | 一种基于近似计算的二值权重卷积神经网络硬件加速器计算模块 |
CN106936406A (zh) * | 2017-03-10 | 2017-07-07 | 南京大学 | 一种5并行快速有限冲击响应滤波器的实现 |
CN107169560A (zh) * | 2017-04-19 | 2017-09-15 | 清华大学 | 一种自适应可重构的深度卷积神经网络计算方法和装置 |
Non-Patent Citations (1)
Title |
---|
JICHEN WANG.ETC: ""Efficient Hardware Architectures for Deep Convolutional Neural Network"", 《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS I》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110880034A (zh) * | 2018-09-06 | 2020-03-13 | 三星电子株式会社 | 使用卷积神经网络的计算装置及其操作方法 |
CN109558944A (zh) * | 2018-12-13 | 2019-04-02 | 北京智芯原动科技有限公司 | 基于可配置卷积层的卷积神经网络的算法优化方法及装置 |
CN109558944B (zh) * | 2018-12-13 | 2021-02-19 | 北京智芯原动科技有限公司 | 基于可配置卷积层的卷积神经网络的算法优化方法及装置 |
CN111832718A (zh) * | 2020-06-24 | 2020-10-27 | 上海西井信息科技有限公司 | 芯片架构 |
Also Published As
Publication number | Publication date |
---|---|
CN108108812B (zh) | 2021-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108108812A (zh) | 用于卷积神经网络的高效可配置卷积计算加速器 | |
Pohokar et al. | Design and implementation of 16× 16 multiplier using Vedic mathematics | |
Pushpangadan et al. | High speed vedic multiplier for digital signal processors | |
JP2012514909A (ja) | 前置加算器段を備えたデジタル信号処理ブロック | |
CN104504205B (zh) | 一种对称fir算法的并行化二维分割方法及其硬件结构 | |
Nagaria et al. | Efficient FIR filter design using booth multiplier for VLSI applications | |
CN107092462B (zh) | 一种基于fpga的64位异步乘法器 | |
Antony et al. | Design of high speed Vedic multiplier using multiplexer based adder | |
CN1324456C (zh) | 采用混合压缩两级流水乘加单元的数字信号处理器 | |
Kumar et al. | Performance analysis of FIR filter using booth multiplier | |
Mazouz et al. | Automated offline design-space exploration and online design reconfiguration for CNNs | |
CN102117264B (zh) | 基于fpga的快速沃尔什变换的实现方法 | |
Wang et al. | A DSP48-based reconfigurable 2-D convolver on FPGA | |
Sharifi-Tehrani | Hardware design of image channel denoiser for FPGA embedded systems | |
Sravani et al. | Design and Implementation of Optimized FIR Filter using CSA and Booth Multiplier for High Speed Signal Processing | |
Jadhav et al. | A novel high speed FPGA architecture for FIR filter design | |
Gaikwad et al. | Analysis of Array Multiplier and Vedic Multiplier using Xilinx | |
Shilparani et al. | FPGA implementation of FIR filter architecture using MCM technology with pipelining | |
Pavaiyarkarasi et al. | High speed and low power 8 bits-Dadda Multiplier using Square root Carry Select Adder with Binary to Excess one Converter | |
Nikhil et al. | Implementation of time efficient hybrid multiplier for FFT computation | |
Samanth et al. | A novel approach to develop low power MACs for 2D image filtering | |
Chourasiya et al. | Design Area-time Efficient Pipeline Architecture for Finite Impulse Recursive System | |
Mehra et al. | Reconfigurable Area & Speed Efficient Decimator Using DA Algorithm | |
Chatterjee et al. | FIR Filter Design Using Distributed Arithmetic with Lookup Tables (LUTS) Check for updates | |
Santosh et al. | Area Efficient Higher Order FIR Filter Design using Improved Distributed Arithmetic with Look Up Tables |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20190430 Address after: Room 816, Block B, Software Building 9 Xinghuo Road, Jiangbei New District, Nanjing, Jiangsu Province Applicant after: Nanjing Fengxing Technology Co., Ltd. Address before: 210023 Xianlin Avenue 163 Nanjing University Electronic Building 229, Qixia District, Nanjing City, Jiangsu Province Applicant before: Nanjing University |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |