CN108108812B - 用于卷积神经网络的高效可配置卷积计算加速器 - Google Patents

用于卷积神经网络的高效可配置卷积计算加速器 Download PDF

Info

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
Application number
CN201711414668.0A
Other languages
English (en)
Other versions
CN108108812A (zh
Inventor
王中风
王昊楠
林军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Fengxing Technology Co., Ltd.
Original Assignee
Nanjing Fengxing Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Fengxing Technology Co ltd filed Critical Nanjing Fengxing Technology Co ltd
Priority to CN201711414668.0A priority Critical patent/CN108108812B/zh
Publication of CN108108812A publication Critical patent/CN108108812A/zh
Application granted granted Critical
Publication of CN108108812B publication Critical patent/CN108108812B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical 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。
Figure BSA0000156211410000041
表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。
Figure BSA0000156211410000051
表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}。。
Figure BSA0000156211410000052
表3、7*7模式的输入输出数据流
若要启用11*11模式,将控制信号{cs_3,cs_7,cs_11}设为{0,0,1}。通过将两个快速卷积模块的结果相加,来实现12*12的卷积,同时令第十二系数为0,来实现一个11*11卷积计算。其输入输出数据流模式见表4。
Figure BSA0000156211410000061
表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并行快速有限冲击响应滤波器。
CN201711414668.0A 2017-12-20 2017-12-20 用于卷积神经网络的高效可配置卷积计算加速器 Active CN108108812B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 清华大学 一种自适应可重构的深度卷积神经网络计算方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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