CN113762480A - 一种基于一维卷积神经网络的时间序列处理加速器 - Google Patents
一种基于一维卷积神经网络的时间序列处理加速器 Download PDFInfo
- Publication number
- CN113762480A CN113762480A CN202111065987.1A CN202111065987A CN113762480A CN 113762480 A CN113762480 A CN 113762480A CN 202111065987 A CN202111065987 A CN 202111065987A CN 113762480 A CN113762480 A CN 113762480A
- Authority
- CN
- China
- Prior art keywords
- processing module
- register
- data
- row
- reg
- 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
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 36
- 238000011176 pooling Methods 0.000 claims abstract description 42
- 230000004913 activation Effects 0.000 claims abstract description 19
- 238000013500 data storage Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 claims description 10
- 238000005192 partition Methods 0.000 claims description 7
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 238000000034 method Methods 0.000 abstract description 7
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 101100059544 Arabidopsis thaliana CDC5 gene Proteins 0.000 description 5
- 101150115300 MAC1 gene Proteins 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 101100244969 Arabidopsis thaliana PRL1 gene Proteins 0.000 description 4
- 102100039558 Galectin-3 Human genes 0.000 description 4
- 101100454448 Homo sapiens LGALS3 gene Proteins 0.000 description 4
- 101150051246 MAC2 gene Proteins 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 101100325756 Arabidopsis thaliana BAM5 gene Proteins 0.000 description 1
- 102100031584 Cell division cycle-associated 7-like protein Human genes 0.000 description 1
- 101000777638 Homo sapiens Cell division cycle-associated 7-like protein Proteins 0.000 description 1
- 101150046378 RAM1 gene Proteins 0.000 description 1
- 101100476489 Rattus norvegicus Slc20a2 gene Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- 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/061—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Neurology (AREA)
- General Health & Medical Sciences (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种基于一维卷积神经网络的时间序列处理加速器,属于人工智能与集成电路设计领域,包括:输入处理模块,包括N行寄存器组,第一行寄存器组中寄存器的个数为N,各行寄存器组中寄存器的个数逐行减一;在全局控制模块的协同控制下,各推理数据依次经寄存器reg1N输入,在第一行寄存器组中横向流动后通过寄存器reg11输出,第一行寄存器组中的数据在各行寄存器组中纵向流动后通过寄存器regnn输出,n=2,3,…,N;卷积运算阵列对输入处理模块输出的数据进行卷积运算及激活,池化处理模块对激活结果进行池化后输出,全连接处理模块对激活结果进行全连接加法运算后输出。实现推理数据复用,降低推理数据的搬移量,提高网络运算效率及可配置性。
Description
技术领域
本发明属于人工智能与集成电路设计领域,更具体地,涉及一种基于一维卷积神经网络的时间序列处理加速器。
背景技术
卷积神经网络(Convolutional NeuralNetworks,CNN)具有预测精度高、分类效果好、数据集的宽容性等优势,近年来被广泛运用在图像识别、声音识别、文本识别、信息分类等各种识别、分类任务中。随着卷积神经网络的规模越来越大,深度越来越深,带来了大量的并行乘法加法运算、海量的数据搬移操作等问题,这些问题已经成为影响卷积神经网络运算效率的重要因素。
利用一维卷积神经网络模型算法实现诸如心电分类、脑电识别等时间序列相关问题往往可以取得较好的效果。该类问题通常需要长时间不间断读取、运算并输出结果,这对神经网络加速器的运算效率、功耗有更高要求。然而,现有嵌入式中央处理器架构设备的运算能力远不能支撑上述操作,在这样的背景下,基于硬件电路的卷积神经网络加速器应运而生。
运用硬件电路实现卷积神经网络运算的加速是目前一个比较新颖的方向。现有基于硬件电路实现的卷积神经网络加速器都是针对二维卷积神经网络而设计的,直接将其运用在心电、肌电等一维卷积神经网络运算时,其高并行性、高效率的优势无法得以完全体现。
发明内容
针对现有技术的缺陷和改进需求,本发明提供了一种基于一维卷积神经网络的时间序列处理加速器,其目的在于提高一维卷积神经网络的运算效率、可配置性以及能效比。
为实现上述目的,本发明提供了一种基于一维卷积神经网络的时间序列处理加速器,包括输入处理模块、卷积运算阵列、池化处理模块、全连接处理模块和全局控制模块;所述输入处理模块包括N行寄存器组,第一行寄存器组中寄存器的个数为N,各行寄存器组中寄存器的个数逐行减一,第一行寄存器组中各列寄存器依次连接,各行寄存器组中同列寄存器依次连接,N为所述卷积运算阵列中卷积核的尺寸;在所述全局控制模块的协同控制下,各推理数据依次经寄存器reg1N输入,在第一行寄存器组中横向流动后通过寄存器reg11输出,第一行寄存器组中的数据在各行寄存器组中纵向流动后通过寄存器regnn输出,n=2,3,…,N,其中,寄存器regij为第i行寄存器组中第N-j+1列的寄存器;所述卷积运算阵列用于对所述输入处理模块输出的数据进行卷积运算及激活,所述池化处理模块用于对激活结果进行池化后输出,所述全连接处理模块用于对激活结果进行全连接加法运算后输出。
更进一步地,所述时间序列处理加速器中的卷积核包括:N个乘法器,第i个乘法器的两个输入分别为寄存器regii的输出以及相应的卷积核权重,i=1,2,…,N;N+1个加法器,第一个加法器的两个输入分别为卷积核偏置以及上一轮输入特征图对应位置的卷积部分和,第k个加法器的两个输入分别为第k-1加法器的输出以及第k个乘法器的输出,k=2,3,…,N+1,第N+1个加法器的输出为本轮输入特征图对应位置的卷积部分和。
更进一步地,还包括:第一多路选择器,输入连接第二至第N个加法器的输出,FcMode端口用于接收所述全局控制模块的模式控制信号s,并输出与所述模式控制信号s对应的第s个加法器的输出,s=2,3,…,N;当所述第一多路选择器接收到所述模式控制信号s时,所述卷积核的工作模式为全连接层运算,否则,所述卷积核的工作模式为卷积运算。
更进一步地,还包括:推理数据存储模块,用于存储原始输入至所述时间序列处理加速器中的推理数据以及所述卷积运算阵列、所述池化处理模块和所述全连接处理模块输出的推理数据,并将存储的推理数据输出至所述输入处理模块。
更进一步地,所述推理数据存储模块包含多个分区,分别用于存储不同类型的推理数据;所述输入处理模块还包括第二多路选择器,用于根据所述时间序列处理加速器的当前层状态选择相应分区中的推理数据或零填充序列送入所述输入处理模块。
更进一步地,还包括卷积核权重存储模块和卷积核偏置存储模块,分别用于存储各层卷积运算中的卷积核权重和卷积核偏置。
更进一步地,还包括复位端口、使能端口和输出端口;当所述使能端口接收到持续的使能信号,且所述复位端口接收到超过两个时钟周期的复位使能信号时,所述时间序列处理加速器进行一维卷积神经网络推理,推理完成后所述输出端口输出高电平脉冲表示完成。
更进一步地,所述全局控制模块和所述池化处理模块之间连接有两条信号线路,所述全局控制模块通过所述两条信号线路输出最大池化层标志或全局平均池化层标志至所述池化处理模块,以控制所述池化处理模块的池化工作模式。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
(1)为输入处理模块提供一种新的、可并行进行横向数据流动和纵向数据流动的寄存器组结构,形成一种新的数据流处理方式,产生流水线数据流提供给卷积运算相关单元,该数据流可以同时使用卷积运算乘加单元中的乘法和加法资源,显著减少额外的加法电路,同时,该数据流使得推理数据可复用,降低推理数据搬移所产生的额外开销;
(2)卷积运算阵列中在进行卷积运算过程中可以同步与上一轮输入特征图部分和以及卷积核偏置相加,仅需一个额外的加法器即可完成整个卷积核的运算,进一步减少了所需加法器的数量;
(3)设置多路选择器连接至卷积核中各乘加单元输出端,通过控制多路选择器选择输出相应乘加单元的计算结果,卷积运算阵列还可以实现全连接层的乘法运算,减少额外乘法阵列产生的资源开销。
附图说明
图1为本发明实施例提供的基于一维卷积神经网络的时间序列处理加速器的架构示意图;
图2为本发明实施例提供的输入处理模块的电路结构示意图;
图3为本发明实施例提供的卷积运算阵列的电路结构示意图;
图4为本发明实施例提供的基于一维卷积神经网络的时间序列处理加速器推理时的工作流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
在本发明中,本发明及附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
图1为本发明实施例提供的基于一维卷积神经网络的时间序列处理加速器的架构示意图。参阅图1,结合图2-图4,对本实施例中基于一维卷积神经网络的时间序列处理加速器进行详细说明。
参阅图1,基于一维卷积神经网络的时间序列处理加速器包括输入处理模块、卷积运算阵列、池化处理模块、全连接处理模块和全局控制模块。输入处理模块包括N行寄存器组,第一行寄存器组中寄存器的个数为N,各行寄存器组中寄存器的个数逐行减一,第一行寄存器组中各列寄存器依次连接,各行寄存器组中同列寄存器依次连接,N为卷积运算阵列中卷积核的尺寸,如图2所示。
在全局控制模块的协同控制下,输入处理模块、卷积运算阵列、池化处理模块和全连接处理模块进行如下操作。各推理数据依次经寄存器reg1N输入,在第一行寄存器组中横向流动后通过寄存器reg11输出,第一行寄存器组中的数据在各行寄存器组中纵向流动后通过寄存器regnn输出,n=2,3,…,N,其中,寄存器regij为第i行寄存器组中第N-j+1列的寄存器。卷积运算阵列对输入处理模块输出的数据进行卷积运算及激活,池化处理模块对激活结果进行池化后输出,全连接处理模块对激活结果进行全连接加法运算后输出。
根据本发明的实施例,基于一维卷积神经网络的时间序列处理加速器还包括推理数据存储模块,如图1所示。推理数据存储模块用于存储原始输入至时间序列处理加速器中的推理数据以及卷积运算阵列、池化处理模块和全连接处理模块输出的推理数据,并将存储的推理数据输出至输入处理模块。输入处理模块对推理数据存储模块中存储的数据进行处理后输出。进一步地,可以将推理数据存储模块划分为多个分区,分别用于存储不同类型的推理数据。例如将推理数据存储模块划分为两个分区,分别为存储组1PixelRAM1和存储组2Pixel RAM2,分别用于存储输入至时间序列处理加速器中的原始推理数据以及加速器处理得到的中间推理数据。
本实施例中,以N=5(卷积核尺寸为5×1)为例说明本实施例中输入处理模块的电路结构。参阅图2,reg11~reg15、reg22~reg25、reg33~reg35、reg44~reg45以及reg55均为数据流动寄存器组。输入处理模块还包括第二多路选择器,端口PixelInMode为第二多路选择器的输入数据片选信号,用于接收全局控制模块发送的PixelInMode信号(由时间序列处理加速器的当前层状态确定),使得第二多路选择器根据时间序列处理加速器的当前层状态选择相应分区中的推理数据或零填充序列(对应PADDING输入模式)送入输入处理模块,完成推理数据输入以及PADDING填充的片选过程。端口MulAddEn为使能信号,用于开启/关闭寄存器组中数据的纵向流动,即开启/关闭寄存器组中的上移操作。端口PixelIn1、PixelIn2为推理数据读取端口;端口PixelW1~PixelW5为推理数据流输出端口,分别对应连接同一个5×1卷积核MAC1~MAC5的推理数据输入端口。
具体地,当一轮输入特征图开始输入时,第二多路选择器根据PixelInMode进行片选并将片选后的数据输入reg15。下一个时钟周期来临,reg15的数据向左送入reg14,并且下一个来自第二多路选择器的数据送入reg15;再下一个时钟周期,reg14数据向左送入reg13,reg15数据向左送入reg14,再下一个时钟周期,来自第二多路选择器的数据送入reg15。如此往复reg11~reg15执行数据向左移动操作直到reg11~reg15全部填充完毕。
当reg11~reg15填充完毕时,全局控制模块同步给予MulAddEn使能,reg11中数据通过PixelW1输出,reg12~reg15中数据向上移动对应送入reg22~reg25,同时reg12~reg15中的数据同步向左移动;下一个时钟周期来临时,reg11~reg15依照上述操作移动数据,reg22中的数据通过PixelW2输出,同时reg23~reg25中数据向上对应移动至reg33~reg35中;再下一个时钟周期来临时,reg11~reg15、reg22~reg25依照上述操作移动数据,reg33中的数据通过PixelW3输出,同时reg34、reg35中的数据向上对应移动至reg44、reg45中;再下一个时钟周期来临时,reg11~reg15、reg22~reg25、reg33~reg35依照上述操作移动数据,reg44中的数据通过PixelW4输出,同时reg45中的数据向上移动至reg55;在下一个时钟周期来临时,reg11~reg15、reg22~reg25、reg33~reg35、reg44~reg45依照上述操作移动数据,reg55中的数据通过PixelW5输出,后续时钟周期循环往复,不断向卷积运算阵列输出流水线化推理数据流。
当本轮输入特征图最后一个数据由reg55送入PixelW5输出端口时,全局控制模块停止使能MulAddEn,关闭寄存器组向上移动过程,完成本轮输入特征图推理数据的数据流处理。与此同时,下一轮输入特征图推理数据可继续通过左移填充reg11~reg15,如此往复完成输入流水线化数据流的形成。
基于一维卷积神经网络的时间序列处理加速器还包括卷积核权重存储模块和卷积核偏置存储模块如图1所示。卷积核权重存储模块和卷积核偏置存储模块分别用于存储各层卷积运算中的卷积核权重和卷积核偏置。
时间序列处理加速器中的卷积核包括:N个乘法器,第i个乘法器的两个输入分别为寄存器regii的输出以及相应的卷积核权重,i=1,2,…,N;N+1个加法器,第一个加法器的两个输入分别为卷积核偏置以及上一轮输入特征图对应位置的卷积部分和,第k个加法器的两个输入分别为第k-1加法器的输出以及第k个乘法器的输出,k=2,3,…,N+1,第N+1个加法器的输出为本轮输入特征图对应位置的卷积部分和,如图3所示。
参阅图3,仍以N=5为例,卷积运算中涉及到乘加运算单元MAC1~MAC5、部分和存储FIFO、预加法器PartSumADD、推理数据输入端口PixelW1~PixelW5、输入端口MulAddEn(乘加使能端口)、PartSumFIFO(部分和存储FIFO读取端口)、输出端口FcDone(全连接层乘法输出端口)、输出端口PartSumDone(部分和输出)。
具体地,加速器工作时,卷积核权重存储模块、卷积核偏置存储模块从对应存储中读取本轮输入特征图所需卷积核权重参数以及偏置参数,当第一个推理数据经PixelW1送入MAC1中时,全局控制模块使能MulAddEn,此时MAC1开始工作,卷积核权重数据Weight1与来自PixelW1的推理数据送入乘加器乘法单元进行乘法运算,与此同时上一轮部分和与卷积核偏置Bias送入PartSumADD进行加法运算;下个时钟来临,MAC1乘法结果与PartSumADD加法结果送入MAC1加法单元进行加法运算,与此同时,来自PixelW2的推理数据与Weight2读入MAC2乘法单元进行乘法运算;再下一个时钟周期来临时,MAC2乘法结果与MAC1加法结果送入MAC2加法单元进行加法运算,与此同时,来自PixelW3的推理数据以及Weight3送入MAC3乘法单元进行运算;再下一个时钟周期来临时,MAC3乘法结果与MAC2加法结果送入MAC3加法单元进行加法运算,与此同时,来自PixelW4的推理数据以及Weight4送入MAC4乘法单元进行运算;再下一个时钟周期来临时,MAC4乘法结果与MAC3加法结果送入MAC4加法单元进行加法运算,与此同时,来自PixelW5的推理数据以及Weight5送入MAC5乘法单元进行运算;再下一个时钟周期来临,MAC5乘法结果与MAC4加法结果送入MAC5加法单元进行加法运算,循环往复,MAC1~MAC5即可以实现一种高效一维卷积神经网络卷积乘加运算的流水线实现,可见MAC1~MAC5乘加单元使用率均为100%,仅需要再增加一个加法器即可完成整个卷积核的运算,大大减少了加法器的使用。
根据本发明的实施例,基于一维卷积神经网络的时间序列处理加速器还包括第一多路选择器。第一多路选择器输入连接第二至第N个加法器的输出,FcMode端口用于接收全局控制模块的模式控制信号s,并输出与模式控制信号s对应的第s个加法器的输出,s=2,3,…,N;当第一多路选择器接收到模式控制信号s时,卷积核的工作模式为全连接运算,否则,卷积核的工作模式为卷积运算,如图3所示。
本实施例中卷积运算阵列的电路结构可以复用为全连接层的运算阵列,全连接层执行的是1×1卷积形式。以全连接层的输入层为4个神经元为例,若当前层状态为全连接层,全局控制模块使能FcLayer,同步通过FcMode端口的模式控制信号s给出全连接层模式为输入层4个神经元。全连接层运算时,MAC1~MAC4与上述卷积运算过程完全相同,区别之处在于,当MAC4加法完成时数据直接通过Fc4Done送入FcMUX,由于此时FcMode接收到的模式控制信号s为4,FcMUX选通Fc4Done将其通过FcDone端口输出至后续处理模块,通过该电路结构实现卷积运算阵列复用作为全连接层运算阵列的效果。
以下对本实施例中基于一维卷积神经网络的时间序列处理加速器中各模块的端口、各端口之间的连接关系以及数据流向进行说明。
时间序列处理加速器包含三个I/O端口,两组输入端口rst、ModelStart以及一组输出端口ModelDone。rst为加速器的复位端口,ModelStart为加速器的使能端口,ModelDone为推理完成标志位。当使能端口ModelStart接收到持续的使能信号,且复位端口rst接收到超过两个时钟周期的复位使能信号时,加速器内部所有寄存器将执行复位操作,复位完成后时间序列处理加速器进行一维卷积神经网络推理,推理完成后输出端口ModelDone输出高电平脉冲,表示推理完成。
全局控制模块与存储模块有八组信号线路相连接,全部为全局控制模块输出至存储管理模块。这八组信号线路分别为1bit位宽的推理数据读取控制PixelRd1/PixelRd2,1bit位宽的推理数据写入控制PixelWr1/PixelWr2,1bit位宽的卷积核权重读取控制WeightRd,1bit位宽的卷积核偏置读取BiasRd,4bit位宽的卷积核偏置BiasAddr读取地址,8bit位宽的卷积核权重读取地址WeightAddr,12bit位宽的推理数据读取地址PixelRdAddr,以及12bit位宽的推理数据写入地址PixelWrAddr,这八组信号线路负责向推理数据存储、卷积核权重存储以及卷积核偏置存储传递存取地址以及存取控制信号。
全局控制模块与输入处理模块共有两组信号线路相连,全部由从全局控制模块输出至输入处理模块。这两组信号线路分别为1bit位宽的数据流处理使能MulAddEn,用于控制输入处理模块的开启与关闭,2bit位宽的读取片选PixelInMode,用于推理数据读取的来源选择。存储模块与输入处理模块共有两组信号线路相连接,全部为存储模块输出至输入处理模块,全部为64bit位宽,具体端口为推理数据输出PixelIn1与PixelIn2,两组端口负责把推理数据从存储器搬移进入输入处理模块。
全局控制模块与卷积运算阵列有两组信号线路相连,位宽全部为1bit,从全局控制模块输出至卷积运算阵列。这两组信号线路分别为乘加单元使能MulAddEn以及激活函数电路使能ActEn,分别用于控制卷积阵列电路以及激活函数电路的开启。输入处理模块与卷积运算阵列共有五组信号线路相连,位宽皆为64bit,分别为完成数据流处理的输入PixelW1~PixelW5,方向为输入处理模块至卷积运算阵列,用于将已经形成数据流的推理数据送入卷积运算阵列。
全局控制模块与池化处理模块有两组信号线路相连接,全部为全局控制模块输出至池化处理模块。这两组信号线路分别为位宽为1bit的有最大池化层标志MaxPool、位宽为1bit的全局平均池化层标志GAP,用于告知池化处理模块当前池化工作模式,以控制池化处理模块的池化工作模式。卷积运算阵列与池化处理模块有一组信号线路连接,位宽为64bit的部分卷积和PartSumDone,负责将激活后的部分和搬运至池化处理模块。池化处理模块与存储模块有两组信号线路连接,位宽为64bit,均为输出缓冲模块输出至存储管理模块,分别为卷积层运算结果输出ConvOut、池化层运算结果输出PoolOut,用于将池化处理后的结果搬移回推理数据存储。
全局控制模块与全连接处理模块共有两组信号线路相连接,位宽为1bit,全部为全局控制模块输出至全连接处理模块,具体为全连接层标志Fc以及全连接层加法器使能FcAddEn,用于全连接层处理模块以及全连接层加法器的使能。全连接处理模块与存储模块有一组信号线路连接,位宽为64bit,从全连接处理模块输出至存储模块的全连接层输出FcOut,负责将全连接层运算结果搬运回推理数据存储。
参阅图4,本实施例中时间序列处理加速器的工作过程如下。全局控制模块控制状态流转,并向对应功能模块发送控制信号使能以及地址信号。从推理数据存储中读出的推理数据经过输入处理模块、卷积运算模块、池化处理模块或者全连接处理模块处理,最后送回另一组推理数据存储,直到一个神经网络层全部完成交换输入输出,循环往复直到全部神经网络层处理完毕,将最终结果输出至指定位置,并在输出端口ModelDone给出高电平脉冲表示推理完成。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于一维卷积神经网络的时间序列处理加速器,其特征在于,包括输入处理模块、卷积运算阵列、池化处理模块、全连接处理模块和全局控制模块;
所述输入处理模块包括N行寄存器组,第一行寄存器组中寄存器的个数为N,各行寄存器组中寄存器的个数逐行减一,第一行寄存器组中各列寄存器依次连接,各行寄存器组中同列寄存器依次连接,N为所述卷积运算阵列中卷积核的尺寸;
在所述全局控制模块的协同控制下,各推理数据依次经寄存器reg1N输入,在第一行寄存器组中横向流动后通过寄存器reg11输出,第一行寄存器组中的数据在各行寄存器组中纵向流动后通过寄存器regnn输出,n=2,3,…,N,其中,寄存器regij为第i行寄存器组中第N-j+1列的寄存器;
所述卷积运算阵列用于对所述输入处理模块输出的数据进行卷积运算及激活,所述池化处理模块用于对激活结果进行池化后输出,所述全连接处理模块用于对激活结果进行全连接加法运算后输出。
2.如权利要求1所述的基于一维卷积神经网络的时间序列处理加速器,其特征在于,所述时间序列处理加速器中的卷积核包括:
N个乘法器,第i个乘法器的两个输入分别为寄存器regii的输出以及相应的卷积核权重,i=1,2,…,N;
N+1个加法器,第一个加法器的两个输入分别为卷积核偏置以及上一轮输入特征图对应位置的卷积部分和,第k个加法器的两个输入分别为第k-1加法器的输出以及第k个乘法器的输出,k=2,3,…,N+1,第N+1个加法器的输出为本轮输入特征图对应位置的卷积部分和。
3.如权利要求2所述的基于一维卷积神经网络的时间序列处理加速器,其特征在于,还包括:
第一多路选择器,输入连接第二至第N个加法器的输出,FcMode端口用于接收所述全局控制模块的模式控制信号s,并输出与所述模式控制信号s对应的第s个加法器的输出,s=2,3,…,N;
当所述第一多路选择器接收到所述模式控制信号s时,所述卷积核的工作模式为全连接层运算,否则,所述卷积核的工作模式为卷积运算。
4.如权利要求1-3任一项所述的基于一维卷积神经网络的时间序列处理加速器,其特征在于,还包括:
推理数据存储模块,用于存储原始输入至所述时间序列处理加速器中的推理数据以及所述卷积运算阵列、所述池化处理模块和所述全连接处理模块输出的推理数据,并将存储的推理数据输出至所述输入处理模块。
5.如权利要求4所述的基于一维卷积神经网络的时间序列处理加速器,其特征在于,所述推理数据存储模块包含多个分区,分别用于存储不同类型的推理数据;
所述输入处理模块还包括第二多路选择器,用于根据所述时间序列处理加速器的当前层状态选择相应分区中的推理数据或零填充序列送入所述输入处理模块。
6.如权利要求1所述的基于一维卷积神经网络的时间序列处理加速器,其特征在于,还包括卷积核权重存储模块和卷积核偏置存储模块,分别用于存储各层卷积运算中的卷积核权重和卷积核偏置。
7.如权利要求1所述的基于一维卷积神经网络的时间序列处理加速器,其特征在于,还包括复位端口、使能端口和输出端口;当所述使能端口接收到持续的使能信号,且所述复位端口接收到超过两个时钟周期的复位使能信号时,所述时间序列处理加速器进行一维卷积神经网络推理,推理完成后所述输出端口输出高电平脉冲表示完成。
8.如权利要求1所述的基于一维卷积神经网络的时间序列处理加速器,其特征在于,所述全局控制模块和所述池化处理模块之间连接有两条信号线路,所述全局控制模块通过所述两条信号线路输出最大池化层标志或全局平均池化层标志至所述池化处理模块,以控制所述池化处理模块的池化工作模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111065987.1A CN113762480B (zh) | 2021-09-10 | 2021-09-10 | 一种基于一维卷积神经网络的时间序列处理加速器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111065987.1A CN113762480B (zh) | 2021-09-10 | 2021-09-10 | 一种基于一维卷积神经网络的时间序列处理加速器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113762480A true CN113762480A (zh) | 2021-12-07 |
CN113762480B CN113762480B (zh) | 2024-03-19 |
Family
ID=78795041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111065987.1A Active CN113762480B (zh) | 2021-09-10 | 2021-09-10 | 一种基于一维卷积神经网络的时间序列处理加速器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113762480B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114781629A (zh) * | 2022-04-06 | 2022-07-22 | 合肥工业大学 | 基于并行复用的卷积神经网络的硬件加速器及并行复用方法 |
CN115099361A (zh) * | 2022-07-15 | 2022-09-23 | 井芯微电子技术(天津)有限公司 | 一种基于ai识别的异构体多路数据匹配算法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032781A (zh) * | 2018-07-13 | 2018-12-18 | 重庆邮电大学 | 一种卷积神经网络算法的fpga并行系统 |
CN109784489A (zh) * | 2019-01-16 | 2019-05-21 | 北京大学软件与微电子学院 | 基于fpga的卷积神经网络ip核 |
CN110263925A (zh) * | 2019-06-04 | 2019-09-20 | 电子科技大学 | 一种基于fpga的卷积神经网络前向预测的硬件加速实现架构 |
US20200342301A1 (en) * | 2018-09-11 | 2020-10-29 | Huazhong University Of Science And Technology | Convolutional neural network on-chip learning system based on non-volatile memory |
-
2021
- 2021-09-10 CN CN202111065987.1A patent/CN113762480B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032781A (zh) * | 2018-07-13 | 2018-12-18 | 重庆邮电大学 | 一种卷积神经网络算法的fpga并行系统 |
US20200342301A1 (en) * | 2018-09-11 | 2020-10-29 | Huazhong University Of Science And Technology | Convolutional neural network on-chip learning system based on non-volatile memory |
CN109784489A (zh) * | 2019-01-16 | 2019-05-21 | 北京大学软件与微电子学院 | 基于fpga的卷积神经网络ip核 |
CN110263925A (zh) * | 2019-06-04 | 2019-09-20 | 电子科技大学 | 一种基于fpga的卷积神经网络前向预测的硬件加速实现架构 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114781629A (zh) * | 2022-04-06 | 2022-07-22 | 合肥工业大学 | 基于并行复用的卷积神经网络的硬件加速器及并行复用方法 |
CN114781629B (zh) * | 2022-04-06 | 2024-03-05 | 合肥工业大学 | 基于并行复用的卷积神经网络的硬件加速器及并行复用方法 |
CN115099361A (zh) * | 2022-07-15 | 2022-09-23 | 井芯微电子技术(天津)有限公司 | 一种基于ai识别的异构体多路数据匹配算法 |
Also Published As
Publication number | Publication date |
---|---|
CN113762480B (zh) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11797853B2 (en) | Processing for multiple input data sets | |
CN111897579B (zh) | 图像数据处理方法、装置、计算机设备和存储介质 | |
US10846591B2 (en) | Configurable and programmable multi-core architecture with a specialized instruction set for embedded application based on neural networks | |
CN110263925B (zh) | 一种基于fpga的卷积神经网络前向预测的硬件加速实现装置 | |
Ma et al. | End-to-end scalable FPGA accelerator for deep residual networks | |
CN110738308B (zh) | 一种神经网络加速器 | |
CN113762480A (zh) | 一种基于一维卷积神经网络的时间序列处理加速器 | |
CN108537331A (zh) | 一种基于异步逻辑的可重构卷积神经网络加速电路 | |
CN110766127B (zh) | 神经网络计算专用电路及其相关计算平台与实现方法 | |
CN110674927A (zh) | 一种用于脉动阵列结构的数据重组方法 | |
Geng et al. | O3BNN: An out-of-order architecture for high-performance binarized neural network inference with fine-grained pruning | |
CN111210019A (zh) | 一种基于软硬件协同加速的神经网络推断方法 | |
CN111105023A (zh) | 数据流重构方法及可重构数据流处理器 | |
CN109993275A (zh) | 一种信号处理方法及装置 | |
CN105786610B (zh) | 计算密集型任务向云服务器中卸载的方法 | |
CN110580519A (zh) | 一种卷积运算结构及其方法 | |
CN113792621A (zh) | 一种基于fpga的目标检测加速器设计方法 | |
Ying et al. | Processor free time forecasting based on convolutional neural network | |
CN111831354A (zh) | 数据精度配置方法、装置、芯片、芯片阵列、设备及介质 | |
CN113869507A (zh) | 一种基于脉动阵列的神经网络加速器卷积计算装置与方法 | |
Gong et al. | RAODAT: An energy-efficient reconfigurable AI-based object detection and tracking processor with online learning | |
CN110766136B (zh) | 一种稀疏矩阵与向量的压缩方法 | |
CN111475461A (zh) | 面向ai应用的片上网络映射方法 | |
RU2294561C2 (ru) | Устройство аппаратной реализации вероятностных генетических алгоритмов | |
Wang et al. | COSA: Co-Operative Systolic Arrays for Multi-head Attention Mechanism in Neural Network using Hybrid Data Reuse and Fusion Methodologies |
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 |