CN109598335B - 一种二维卷积脉动阵列结构及实现方法 - Google Patents

一种二维卷积脉动阵列结构及实现方法 Download PDF

Info

Publication number
CN109598335B
CN109598335B CN201811474632.6A CN201811474632A CN109598335B CN 109598335 B CN109598335 B CN 109598335B CN 201811474632 A CN201811474632 A CN 201811474632A CN 109598335 B CN109598335 B CN 109598335B
Authority
CN
China
Prior art keywords
multiplier
adder
register
input
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.)
Active
Application number
CN201811474632.6A
Other languages
English (en)
Other versions
CN109598335A (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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201811474632.6A priority Critical patent/CN109598335B/zh
Publication of CN109598335A publication Critical patent/CN109598335A/zh
Application granted granted Critical
Publication of CN109598335B publication Critical patent/CN109598335B/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/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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)
  • 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为研究对象。而由于处理场景的不同,对CNN的性能要求也不相同,从而发展出多种网络结构。但是CNN的基本组成是固定的,分别为输入层、卷积层、激活层、池化层和全连接层。其中计算量最大的部分是卷积层,其主要的功能就是完成图像(feature)与神经元(filter)之间的卷积运算。卷积层的结构参数主要有以下几种:
卷积核尺寸(Kernel Size):定义了卷积操作的感受野。在二维卷积中,通常设置为3,即卷积核大小为3×3。
步幅(Stride):定义了卷积核遍历图像时的步幅大小。其默认值通常设置为1,也可将步幅设置为2后对图像进行下采样,这种方式与最大池化类似。
边界扩充(Padding):定义了网络层处理样本边界的方式。当卷积核大于1且不进行边界扩充,输出尺寸将相应缩小;当卷积核以标准方式进行边界扩充,则输出数据的空间尺寸将与输入相等。
输入与输出通道(Channels):构建卷积层时需定义输入通道I,并由此确定输出通道O。这样,可算出每个网络层的参数量为I×O×K,其中K为卷积核的参数个数。例,某个网络层有64个大小为3×3的卷积核,则对应K值为3×3=9。
CNN网络中所进行的二维卷积计算过程如下所述:假设有一个3×3大小的卷积层,其输入通道为16、输出通道为32。具体为,32个3×3大小的卷积核会遍历16个通道中的每个数据,从而产生16×32=512个特征图谱。进而通过叠加每个输出通道对应的16个特征图谱后融合得到1个特征图谱。最后可得到所需的32个输出通道的数据。而卷积计算的速度对CNN网络结构的性能表现具有决定性的意义。
鉴于此,提供一种适用于常见CNN神经网络中多种尺寸的二维卷积计算要求的二维卷积脉动阵列是非常有必要的。
发明内容
本发明的目的是提供一种二维卷积脉动阵列结构及实现方法,以适用于常见CNN神经网络中多种尺寸的二维卷积计算的要求。
为解决上述技术问题,本发明提供一种二维卷积脉动阵列结构,包括:多个乘加器单元;每一个乘加器单元由乘加器、第一寄存器、第二寄存器、第三寄存器组成;第一输入信号经所述第一寄存器之后作为所述乘加器的第一乘数输入,第二输入信号依次经第一移位寄存器、所述第二寄存器之后作为所述乘加器的第二乘数输入,第三输入信号经所述第三寄存器之后作为所述乘加器的被乘数输入;
多个所述乘加器单元之间通过第二移位寄存器进行组合,形成二维卷积脉动阵列;其中,横向相邻的乘加器单元之间,前一个乘加器单元中的第三寄存器的输出端与后一个乘加器单元中的第三寄存器的输入端相连;纵向相邻的乘加器单元之间,上一个乘加器单元中的加法输出端与下一个乘加器中的加法输入端相连。
可选地,当卷积核为3×3时,多个所述乘加器单元之间通过第二移位寄存器进行组合,形成9×9二维卷积脉动阵列;
其中,横向相邻的乘加器单元之间,前一个乘加器单元中的第三寄存器的输出端与后一个乘加器单元中的第三寄存器的输入端相连;横向分布有9排乘加器单元,9个被乘数分别从横向最开始一个乘加器单元进行输入;
纵向相邻的乘加器单元之间,上一个乘加器单元中的加法输出端与下一个乘加器中的加法输入端相连,纵向最后一个输出的是9次乘加之后的计算结果,包括了两组卷积计算的结果;横向分布有9列乘加器单元,18个乘数从每列乘加器单元右侧输入到不同的乘加器中。
可选地,将神经元参数作为纵向输入,将图像参数作为横向输入。
可选地,所述乘加器单元采用FPGA内部的DSP运算单元。
本申请还提供了一种二维卷积脉动阵列的实现方法,采用上述任一种所述的二维卷积脉动阵列结构实现,所述方法包括:
将神经元参数作为纵向输入,将图像参数作为横向输入至所述二维卷积脉动阵列中,进行二维卷积运算。
可选地,当卷积核为3×3时,多个所述乘加器单元之间通过第二移位寄存器进行组合,形成9×9二维卷积脉动阵列,所述方法包括:
纵向并行输入9列参数,在控制电路的作用下写入每个乘加器单元的寄存器;
横向按照预设顺序依次输入另一组待卷积的参数,预设顺序为在第一个时刻第一列第一个乘加器输入第一行数据的第一个数值;在第二个时刻第一行第一个乘加器输入第一行数据的第二个数值,并且第二行第一个乘加器输入第二行数据的第一个数值,以此类推,直至完成所需的二维卷积计算。
可选地,当卷积核尺寸为任意尺寸时,通过拆分为多个3×3卷积计算和多个1×1卷积计算实现卷积计算。
可选地,所述方法应用于CNN网络二维卷积计算中。
本发明所提供的二维卷积脉动阵列结构,包括:多个乘加器单元;每一个乘加器单元由乘加器、第一寄存器、第二寄存器、第三寄存器组成;第一输入信号经第一寄存器之后作为乘加器的第一乘数输入,第二输入信号依次经第一移位寄存器、第二寄存器之后作为乘加器的第二乘数输入,第三输入信号经第三寄存器之后作为乘加器的被乘数输入;多个乘加器单元之间通过第二移位寄存器进行组合,形成二维卷积脉动阵列;横向相邻的乘加器单元之间,前一个乘加器单元中的第三寄存器的输出端与后一个乘加器单元中的第三寄存器的输入端相连;纵向相邻的乘加器单元之间,上一个乘加器单元中的加法输出端与下一个乘加器中的加法输入端相连。本申请建立支持复合模式的二维卷积脉动阵列结构,可以高速、大批量地进行各种尺寸的二维卷积运算。此外,本申请还提供了一种具有上述技术效果的二维卷积脉动阵列的实现方法。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请所提供的乘加器单元结构示意图;
图2为本发明所提供的二维卷积脉动阵列结构部分示意图;
图3为本申请所提供的9x9二维卷积脉动阵列的结构示意图;
图4为本申请所提供的9x9二维卷积脉动阵列中信号输入的顺序及先后次序;
图5为9x9x8个乘加器阵列的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请所提供的二维卷积脉动阵列结构,包括:多个乘加器单元;每一个乘加器单元由乘加器、第一寄存器、第二寄存器、第三寄存器组成;第一输入信号经所述第一寄存器之后作为所述乘加器的第一乘数输入,第二输入信号依次经第一移位寄存器、所述第二寄存器之后作为所述乘加器的第二乘数输入,第三输入信号经所述第三寄存器之后作为所述乘加器的被乘数输入。
参照图1本申请所提供的乘加器单元结构示意图,对于输入的数据,均通过寄存器进行了缓存。第一输入信号f1经第一寄存器之后作为乘加器的第一乘数输入,第二输入信号f2依次经第一移位寄存器、第二寄存器之后作为乘加器的第二乘数输入,第三输入信号d1经第三寄存器之后作为乘加器的被乘数输入。为了充分利用硬件资源和提高计算效率,采用了移位拼接的方法,通过进行d1×(f1+f2)的运算,实现了d1与f1和d1与f2的乘法。同时,通过控制信号的选择,可以实现将上级运算单元的计算结果进行累加的操作。
其中,多个所述乘加器单元之间通过第二移位寄存器进行组合,形成二维卷积脉动阵列;横向相邻的乘加器单元之间,前一个乘加器单元中的第三寄存器的输出端与后一个乘加器单元中的第三寄存器的输入端相连;纵向相邻的乘加器单元之间,上一个乘加器单元中的加法输出端与下一个乘加器中的加法输入端相连,参照图2本发明所提供的二维卷积脉动阵列结构部分示意图。
本发明所提供的二维卷积脉动阵列结构,包括:多个乘加器单元;每一个乘加器单元由乘加器、第一寄存器、第二寄存器、第三寄存器组成;第一输入信号经第一寄存器之后作为乘加器的第一乘数输入,第二输入信号依次经第一移位寄存器、第二寄存器之后作为乘加器的第二乘数输入,第三输入信号经第三寄存器之后作为乘加器的被乘数输入;多个乘加器单元之间通过第二移位寄存器进行组合,形成二维卷积脉动阵列;横向相邻的乘加器单元之间,前一个乘加器单元中的第三寄存器的输出端与后一个乘加器单元中的第三寄存器的输入端相连;纵向相邻的乘加器单元之间,上一个乘加器单元中的加法输出端与下一个乘加器中的加法输入端相连。本申请建立支持复合模式的二维卷积脉动阵列结构,可以高速、大批量地进行各种尺寸的二维卷积运算。
可选地,本申请实施例采用FPGA内部的DSP运算单元作为乘加运算的基本单元,并使用FPGA内部的数据缓存空间对计算过程中的数据进行了缓存,建立支持复合模式的二维卷积脉动阵列结构,可以高速、大批量地进行各种尺寸的二维卷积运算。
在CNN网络中最为常用的卷积核为3×3卷积核。下面以3×3卷积核为例,对本申请所提供的二维卷积脉动阵列结构进行进一步详细阐述。当卷积核为3×3时,多个所述乘加器单元之间通过第二移位寄存器进行组合,形成9×9二维卷积脉动阵列。
参照图3本申请所提供的9x9二维卷积脉动阵列的结构示意图,横向相邻的乘加器单元之间,前一个乘加器单元中的第三寄存器的输出端与后一个乘加器单元中的第三寄存器的输入端相连;横向分布有9排乘加器单元,9个被乘数分别从横向最开始一个乘加器单元进行输入;纵向相邻的乘加器单元之间,上一个乘加器单元中的加法输出端与下一个乘加器中的加法输入端相连,纵向最后一个输出的是9次乘加之后的计算结果,包括了两组卷积计算的结果;横向分布有9列乘加器单元,18个乘数从每列乘加器单元右侧输入到不同的乘加器中。
利用移位寄存器将乘加器单元进行组合,根据CNN网络最常用的卷积核尺寸为3x3的特点,以及卷积层输入输出通道数是8的整数倍的特点,设计了9x9x8个乘加器阵列结构,如图3所示。图3中左侧和下侧的小方框代表数据缓存的电路结构。
在图3所示的结构中,先纵向并行输入9列参数,在控制电路的作用下写入每个乘加器单元的寄存器(为了简便起见,图3中寄存器用reg表示),对应于图1中的f1和f2。然后横向依次输入另一组待卷积的数据,对应于图1中的d1。其输入的顺序及先后次序,如图4所示。即在第一个时刻,第一列第一个乘加器输入该行数据的第一个数值;在第二个时刻,第一行第一个乘加器输入该行数据的第二个数值,并且第二行第一个乘加器输入该行数据的第一个数值;以此类推。图4中的×代表该行数据的第一个数值,○代表该行数据的最后一个数值。
图5示出了9x9x8个乘加器阵列的结构示意图。图5中方框组合起来相当于一组图3所示的乘加器阵列结构。对于在CNN卷积计算的应用,将filter参数纵向输入,将feature参数横向输入,即图5中箭头所示的方向,便可完成所需的二维卷积计算了。
本发明所提出的乘加器阵列构成了一个三维的运算单元结构,专门用于处理CNN神经网络中二维卷积计算。由于运算单元结构的维度比所要进行的卷积计算高一个维度,因此提高了实施卷积运算的并行度,从而提高了卷积计算的速度。同时通过改变控制信号,可以实现不同尺寸卷积核的卷积运算。该结构是针对CNN网络中最为常用的3x3卷积核做出的设计,因此在计算3x3卷积时的硬件资源利用率可以达到最高。
本实施例通过改变控制信号的具体数值,以及调整计算结果的数据累加方式,可以实现对不同尺寸卷积核卷积计算的支持。例如计算1x1卷积时,每行feature和每列filter数据对应相乘之后不需要进行累加,而计算2x2卷积或者3x3卷积时,分别需要将4个乘积或者9个乘积进行累加,才能得到相应的结果。其它尺寸的卷积计算也是同样的流程。因此控制信号需要根据具体的计算需求做出相应的变化。
本实施例中乘加器单元可以采用FPGA内部的DSP运算单元。具体地,可以通过对多种CNN网络结构的归纳,总结出具有通用性的可以通过参数配置来实现各种尺寸卷积核进行二维卷积计算的方法。并采用RTL对计算单元架构进行了描述,在FPGA上进行了实现。
任意尺寸卷积核的卷积计算可以拆分成N个3x3卷积计算和M个1x1卷积计算,这里M和N的数值根据被拆分的卷积核大小而定。针对CNN网络结构的基本组成框架,本申请能够支持多种配置模式,实现多种计算功能的计算单元。
本发明提出了一种基于FPGA的复合模式二维卷积脉动阵列结构及实现方法。通过在FPGA加速板卡上实现参数化可配置的二维卷积,可以灵活地实现各种CNN网络结构,同时由于是采用FPGA内部的标准元件,其速度和硬件资源开销均可控制,为CNN网络实现提供了一个标准化的解决方案。
本申请还提供了一种二维卷积脉动阵列的实现方法,采用上述任一种所述的二维卷积脉动阵列结构实现,所述方法包括:将神经元参数作为纵向输入,将图像参数作为横向输入至所述二维卷积脉动阵列中,进行二维卷积运算。
可选地,本申请提供的二维卷积脉动阵列的实现方法中,当卷积核为3×3时,多个所述乘加器单元之间通过第二移位寄存器进行组合,形成9×9二维卷积脉动阵列,所述方法包括:纵向并行输入9列参数,在控制电路的作用下写入每个乘加器单元的寄存器;横向按照预设顺序依次输入另一组待卷积的参数,预设顺序为在第一个时刻第一列第一个乘加器输入第一行数据的第一个数值;在第二个时刻第一行第一个乘加器输入第一行数据的第二个数值,并且第二行第一个乘加器输入第二行数据的第一个数值,以此类推,直至完成所需的二维卷积计算。
可选地,当卷积核尺寸为任意尺寸时,通过拆分为N个3×3卷积计算和M个1×1卷积计算实现卷积计算,其中,M和N的数值根据被拆分的卷积核大小而定。
本申请方法可以应用于CNN网络二维卷积计算中。本申请所提供的二维卷积脉动阵列的实现方法与上述二维卷积脉动阵列结构相对应,其具体实施过程可以参照上述实施例的描述,在此不再赘述。
本申请通过在FPGA加速板卡上实现参数化可配置的二维卷积,可以灵活地实现各种CNN网络结构,同时由于是采用FPGA内部的标准元件,其速度和硬件资源开销均可控制,为CNN网络实现提供了一个标准化的解决方案。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的二维卷积脉动阵列结构及实现方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (8)

1.一种二维卷积脉动阵列结构,其特征在于,包括:多个乘加器单元;每一个乘加器单元由乘加器、第一寄存器、第二寄存器、第三寄存器组成;第一输入信号经所述第一寄存器之后作为所述乘加器的第一乘数输入,第二输入信号依次经第一移位寄存器、所述第二寄存器之后作为所述乘加器的第二乘数输入,第三输入信号经所述第三寄存器之后作为所述乘加器的被乘数输入;
多个所述乘加器单元之间通过第二移位寄存器进行组合,形成二维卷积脉动阵列;其中,横向相邻的乘加器单元之间,前一个乘加器单元中的第三寄存器的输出端与后一个乘加器单元中的第三寄存器的输入端相连;纵向相邻的乘加器单元之间,上一个乘加器单元中的加法输出端与下一个乘加器中的加法输入端相连。
2.如权利要求1所述的二维卷积脉动阵列结构,其特征在于,当卷积核为3×3时,多个所述乘加器单元之间通过第二移位寄存器进行组合,形成9×9二维卷积脉动阵列;
其中,横向相邻的乘加器单元之间,前一个乘加器单元中的第三寄存器的输出端与后一个乘加器单元中的第三寄存器的输入端相连;横向分布有9排乘加器单元,9个被乘数分别从横向最开始一个乘加器单元进行输入;
纵向相邻的乘加器单元之间,上一个乘加器单元中的加法输出端与下一个乘加器中的加法输入端相连,纵向最后一个输出的是9次乘加之后的计算结果,包括了两组卷积计算的结果;横向分布有9列乘加器单元,18个乘数从每列乘加器单元右侧输入到不同的乘加器单元的第一寄存器和第一移位寄存器中。
3.如权利要求2所述的二维卷积脉动阵列结构,其特征在于,将神经元参数作为纵向输入,将图像参数作为横向输入。
4.如权利要求1至3任一项所述的二维卷积脉动阵列结构,其特征在于,所述乘加器单元采用FPGA内部的DSP运算单元。
5.一种二维卷积脉动阵列的实现方法,其特征在于,采用如权利要求1至4任一项所述的二维卷积脉动阵列结构实现,所述方法包括:
将神经元参数作为纵向输入,将图像参数作为横向输入至所述二维卷积脉动阵列中,进行二维卷积运算。
6.如权利要求5所述的二维卷积脉动阵列的实现方法,其特征在于,当卷积核为3×3时,多个所述乘加器单元之间通过第二移位寄存器进行组合,形成9×9二维卷积脉动阵列,所述方法包括:
纵向并行输入9列第一输入信号和第二输入信号,在控制电路的作用下写入每个乘加器单元的第一寄存器、第二寄存器和第一移位寄存器;
横向按照预设顺序依次输入另一组待卷积的第三输入信号,预设顺序为在第一个时刻第一列第一个乘加器输入第一行数据的第一个数值;在第二个时刻第一行第一个乘加器输入第一行数据的第二个数值,并且第二行第一个乘加器输入第二行数据的第一个数值,以此类推,直至完成所需的二维卷积计算。
7.如权利要求6所述的二维卷积脉动阵列的实现方法,其特征在于,当卷积核尺寸为任意尺寸时,通过拆分为多个3×3卷积计算和多个1×1卷积计算实现卷积计算。
8.如权利要求5至7任一项所述的二维卷积脉动阵列的实现方法,其特征在于,所述方法应用于CNN网络二维卷积计算中。
CN201811474632.6A 2018-12-04 2018-12-04 一种二维卷积脉动阵列结构及实现方法 Active CN109598335B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811474632.6A CN109598335B (zh) 2018-12-04 2018-12-04 一种二维卷积脉动阵列结构及实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811474632.6A CN109598335B (zh) 2018-12-04 2018-12-04 一种二维卷积脉动阵列结构及实现方法

Publications (2)

Publication Number Publication Date
CN109598335A CN109598335A (zh) 2019-04-09
CN109598335B true CN109598335B (zh) 2022-04-22

Family

ID=65960881

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811474632.6A Active CN109598335B (zh) 2018-12-04 2018-12-04 一种二维卷积脉动阵列结构及实现方法

Country Status (1)

Country Link
CN (1) CN109598335B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110426560B (zh) * 2019-06-28 2020-08-25 北京大学 一种脉冲阵列信号时空上采样器生成方法
CN110705703B (zh) * 2019-10-16 2022-05-27 北京航空航天大学 基于脉动阵列的稀疏神经网络处理器
CN111652360B (zh) * 2020-05-25 2023-03-14 北京大学深圳研究生院 一种基于脉动阵列的卷积运算装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106970896A (zh) * 2017-03-30 2017-07-21 中国人民解放军国防科学技术大学 面向向量处理器的二维矩阵卷积的向量化实现方法
CN107341544A (zh) * 2017-06-30 2017-11-10 清华大学 一种基于可分割阵列的可重构加速器及其实现方法
CN108182471A (zh) * 2018-01-24 2018-06-19 上海岳芯电子科技有限公司 一种卷积神经网络推理加速器及方法
CN108229666A (zh) * 2017-11-03 2018-06-29 东南大学 基于费马数变换的卷积神经网络硬件加速架构
CN108629411A (zh) * 2018-05-07 2018-10-09 济南浪潮高新科技投资发展有限公司 一种卷积运算硬件实现装置及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9805303B2 (en) * 2015-05-21 2017-10-31 Google Inc. Rotating data for neural network computations

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106970896A (zh) * 2017-03-30 2017-07-21 中国人民解放军国防科学技术大学 面向向量处理器的二维矩阵卷积的向量化实现方法
CN107341544A (zh) * 2017-06-30 2017-11-10 清华大学 一种基于可分割阵列的可重构加速器及其实现方法
CN108229666A (zh) * 2017-11-03 2018-06-29 东南大学 基于费马数变换的卷积神经网络硬件加速架构
CN108182471A (zh) * 2018-01-24 2018-06-19 上海岳芯电子科技有限公司 一种卷积神经网络推理加速器及方法
CN108629411A (zh) * 2018-05-07 2018-10-09 济南浪潮高新科技投资发展有限公司 一种卷积运算硬件实现装置及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"A multistage dataflow implementation of a Deep Convolutional Neural Network based on FPGA for high-speed object recognition";Ning Li et al.;《2016 IEEE Southwest Symposium on Image Analysis and Interpretation (SSIAI)》;20160428;第1-7页 *
"可配置的2D空域滤波操作VLSI架构研究";袁雅婧 等;《微电子学与计算机》;20121231;第136-144页 *

Also Published As

Publication number Publication date
CN109598335A (zh) 2019-04-09

Similar Documents

Publication Publication Date Title
CN107341544B (zh) 一种基于可分割阵列的可重构加速器及其实现方法
CN108133270B (zh) 卷积神经网络加速方法及装置
CN108205701B (zh) 一种执行卷积计算的系统及方法
US11886536B2 (en) Methods and systems for implementing a convolution transpose layer of a neural network
CN111667051B (zh) 适用边缘设备的神经网络加速器及神经网络加速计算方法
CN107169560B (zh) 一种自适应可重构的深度卷积神经网络计算方法和装置
US10445638B1 (en) Restructuring a multi-dimensional array
CN109598335B (zh) 一种二维卷积脉动阵列结构及实现方法
US11562229B2 (en) Convolution accelerator using in-memory computation
CN111126559A (zh) 神经网络处理器及其卷积操作方法
EP3093757B1 (en) Multi-dimensional sliding window operation for a vector processor
CN111768458A (zh) 一种基于卷积神经网络的稀疏图像处理方法
KR20200081044A (ko) 뉴럴 네트워크의 컨볼루션 연산을 처리하는 방법 및 장치
CN113743587A (zh) 一种卷积神经网络池化计算方法、系统、及存储介质
KR20230081697A (ko) 팽창 컨볼루션 계산 가속화 방법 및 장치
CN109902821B (zh) 一种数据处理方法、装置及相关组件
CN114764615A (zh) 卷积运算的实现方法、数据处理方法及装置
CN114003201A (zh) 矩阵变换方法、装置及卷积神经网络加速器
JP7410961B2 (ja) 演算処理装置
CN112132914B (zh) 一种图像尺度空间建立方法及图像处理芯片
CN116090518A (zh) 基于脉动运算阵列的特征图处理方法、装置以及存储介质
CN108804974B (zh) 目标检测算法的硬件架构的资源估算、配置方法及系统
CN114140618A (zh) 一种卷积特征缓存方法、装置、电子设备及可读存储介质
CN117063182A (zh) 一种数据处理方法和装置
CN113743046A (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
GR01 Patent grant
GR01 Patent grant