CN108108812B - 用于卷积神经网络的高效可配置卷积计算加速器 - Google Patents
用于卷积神经网络的高效可配置卷积计算加速器 Download PDFInfo
- Publication number
- CN108108812B CN108108812B CN201711414668.0A CN201711414668A CN108108812B CN 108108812 B CN108108812 B CN 108108812B CN 201711414668 A CN201711414668 A CN 201711414668A CN 108108812 B CN108108812 B CN 108108812B
- Authority
- CN
- China
- Prior art keywords
- convolution
- fast
- impulse response
- parallel
- finite impulse
- 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
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/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 (3)
1.用于卷积神经网络的可配置卷积计算加速器,包括:
1个模式选择模块,用于控制模块间的数据流,完成选择3*3、5*5、7*7和11*11四种卷积计算模式中的一种;
2个快速卷积模块,用于实现6并行卷积计算,快速卷积模块可以使用任意的6并行快速有限冲击响应结构;
2个补充乘法模块,用于支持快速卷积模块实现7*7卷积计算模式,每个补充乘法模块包含6个乘法器;
1个数据输入模块,用于以正确顺序输入不同卷积计算模式下的数据;
1个数据输出模块,用于以正确顺序输出不同卷积计算模式下的数据,可以使用只含有加法器的电路,或者使用含有压缩器和加法器的电路;
所述用于卷积神经网络的可配置卷积计算加速器还用于实现3*3、5*5、7*7和11*11卷积计算模式,以及,还用于实现12*12及以内其他尺寸卷积计算,具体包括:
在3*3模式下,通过使用快速卷积模块,即使用6并行快速有限冲击响应结构中的3并行快速有限冲击响应滤波器,实现3*3卷积计算模式的方法;
在5*5模式下,通过使用快速卷积模块,即使用6并行快速有限冲击响应结构,并将第6位卷积系数置0,实现5*5卷积计算模式的方法;
在7*7模式下,通过使用补充乘法模块计算第1位卷积结果,结合快速卷积模块的结果,相加得到7*7卷积计算结果的方法;
在11*11模式下,通过使用2个快速卷积模块,同时将第12个卷积系数设为0,并将2个快速卷积模块的结果相加,得到11*11卷积计算结果的方法;
在上述不同模式下,通过适当设置卷积系数来完成12*12及以下尺寸卷积计算的方法。
2.根据权利要求1所述的用于卷积神经网络的可配置卷积计算加速器,还包括优化6并行快速有限冲击响应结构的方法,所述优化6并行快速有限冲击响应结构的方法为使用4-2压缩器,替换6并行快速有限冲击响应结构中部分加法器,得到优化的6并行快速有限冲击响应结构。
3.根据权利要求2所述的用于卷积神经网络的可配置卷积计算加速器,其特征在于,所述6并行快速有限冲击响应结构中,包括优化的3并行快速有限冲击响应滤波器,优化3并行快速有限冲击响应滤波器结构的方法为使用3-2压缩器,替换3并行快速有限冲击响应滤波器中部分加法器,得到优化的3并行快速有限冲击响应滤波器。
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 CN108108812A (zh) | 2018-06-01 |
CN108108812B true 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) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200028168A (ko) * | 2018-09-06 | 2020-03-16 | 삼성전자주식회사 | 컨볼루셔널 뉴럴 네트워크를 이용하는 컴퓨팅 장치 및 그 동작 방법 |
CN109558944B (zh) * | 2018-12-13 | 2021-02-19 | 北京智芯原动科技有限公司 | 基于可配置卷积层的卷积神经网络的算法优化方法及装置 |
CN111832718B (zh) * | 2020-06-24 | 2021-08-03 | 上海西井信息科技有限公司 | 芯片架构 |
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 |
---|
"Efficient Hardware Architectures for Deep Convolutional Neural Network";Jichen Wang.etc;《IEEE Transactions on Circuits and Systems I》;20171122;摘要,第1节、第3节、第6节 * |
Also Published As
Publication number | Publication date |
---|---|
CN108108812A (zh) | 2018-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108108812B (zh) | 用于卷积神经网络的高效可配置卷积计算加速器 | |
JP5356537B2 (ja) | 前置加算器段を備えたデジタル信号処理ブロック | |
CN106845635A (zh) | 基于级联形式的cnn卷积核硬件设计方法 | |
US20200057610A1 (en) | Programmable integrated circuits with multiplexer and register pipelining circuitry | |
CN109284824A (zh) | 一种基于可重构技术的用于加速卷积和池化运算的装置 | |
Li et al. | A precision-scalable energy-efficient bit-split-and-combination vector systolic accelerator for NAS-optimized DNNs on edge | |
CN110991609A (zh) | 提高数据传输效率的行缓存器 | |
CN111047034A (zh) | 一种基于乘加器单元的现场可编程神经网络阵列 | |
CN107092462B (zh) | 一种基于fpga的64位异步乘法器 | |
An et al. | 29.3 an 8.09 tops/w neural engine leveraging bit-sparsified sign-magnitude multiplications and dual adder trees | |
Mazouz et al. | Automated offline design-space exploration and online design reconfiguration for CNNs | |
US9787290B2 (en) | Resource-saving circuit structures for deeply pipelined systolic finite impulse response filters | |
Wang et al. | A DSP48-based reconfigurable 2-D convolver on FPGA | |
Kumar et al. | FPGA Implementation of Systolic FIR Filter Using Single-Channel Method | |
Spagnolo et al. | Designing fast convolutional engines for deep learning applications | |
Yin et al. | A reconfigurable accelerator for generative adversarial network training based on FPGA | |
WO2020008643A1 (ja) | データ処理装置、データ処理回路およびデータ処理方法 | |
Sravani et al. | Design and Implementation of Optimized FIR Filter using CSA and Booth Multiplier for High Speed Signal Processing | |
WO2020008642A1 (ja) | 学習装置、学習回路、学習方法および学習プログラム | |
Gavali et al. | A parallel pipelined adder suitable for FPGA implementation | |
CN1553310A (zh) | 高速低功耗乘法器的对称分割算法及电路结构 | |
Pritha et al. | Enhancing the Efficiency of Wallace Tree Multipliers Through Optimized ECSLA Design | |
SUSHMA et al. | Design of High Speed Low Power FIR Filter by using Systolic Architecture | |
Pavaiyarkarasi et al. | High speed and low power 8 bits-Dadda Multiplier using Square root Carry Select Adder with Binary to Excess one Converter | |
Jyothi et al. | An efficient architecture of the radix based FIR filter design |
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 | ||
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 |
|
GR01 | Patent grant | ||
GR01 | Patent grant |