CN115049885A - 一种存算一体卷积神经网络图像分类装置及方法 - Google Patents

一种存算一体卷积神经网络图像分类装置及方法 Download PDF

Info

Publication number
CN115049885A
CN115049885A CN202210981223.5A CN202210981223A CN115049885A CN 115049885 A CN115049885 A CN 115049885A CN 202210981223 A CN202210981223 A CN 202210981223A CN 115049885 A CN115049885 A CN 115049885A
Authority
CN
China
Prior art keywords
pooling
value
unit
row
register
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
Application number
CN202210981223.5A
Other languages
English (en)
Other versions
CN115049885B (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.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
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 Zhejiang Lab filed Critical Zhejiang Lab
Priority to CN202210981223.5A priority Critical patent/CN115049885B/zh
Publication of CN115049885A publication Critical patent/CN115049885A/zh
Application granted granted Critical
Publication of CN115049885B publication Critical patent/CN115049885B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种存算一体卷积神经网络图像分类装置及方法,通过控制器对装置的其他单元、器件的控制;通过数据存储器存储神经网络分类的图像数据,以及中间特征图数据;通过存算一体单元获取的图像数据,并对图像数据进行卷积神经网络中的卷积层以及全连接层的计算,得到特征值;通过激活函数单元对存算一体单元输出的特征值进行非线性操作,得到非线性操作后的特征值;通过池化单元依次对非线性操作后的特征值进行行池化操作和列池化操作,并将最终结果值存入数据存储器;通过分类器获取最后一层神经网络计算对应的存算一体单元的输出,根据分类标签得到分类结果;从而实现数据流的优化,减少数据存取次数,减小所需缓存容量,提升计算效率。

Description

一种存算一体卷积神经网络图像分类装置及方法
技术领域
本发明涉及新型智能计算技术领域,尤其是涉及一种存算一体卷积神经网络图像分类装置及方法。
背景技术
当前阶段冯诺依曼架构的“内存墙”问题日益凸显,同时我们正处于大数据、物联网和人工智能时代,对于数据处理的需求大量增加,传统冯诺依曼架构的性能开始不能满足我们日常数据处理的需求。随着不同架构以及技术被提出,存储与计算融合成为了一种未来的趋势,不仅可以解决“内存墙”问题,同时还可以获得更好的计算效率。
现有技术中,在具体池化过程中,需要对从图像数据中提取的特征值进行逻辑操作,在逻辑操作的过程中,会对大量的特征值进行提取、逻辑操作、存储,如何减少特征值存取的次数,减少所需缓存的容量,是提升计算机内部性能,提高计算效率的关键。
发明内容
为解决现有技术的不足,实现数据流的优化,减少数据存取次数,减小所需缓存容量,提升计算效率的目的,本发明采用如下的技术方案:
一种存算一体卷积神经网络图像分类装置,包括控制器、数据存储器、存算一体单元、激活函数单元、池化单元以及分类器,所述池化单元包括行池化单元和列池化单元,存算一体单元分别与激活函数单元和分类器连接,激活函数单元依次与池化单元和列池化单元连接;
所述控制器,用于对装置的其他单元、器件的控制;
所述数据存储器,用于存储神经网络分类的图像数据,以及中间特征图数据;
所述存算一体单元,用于获取的图像数据,并对图像数据进行卷积神经网络中的卷积层以及全连接层的计算,得到特征值;
所述激活函数单元,对存算一体单元输出的特征值进行非线性操作,得到非线性操作后的特征值;
所述行池化单元,对非线性操作后的特征值进行行池化操作,得到行池化结果值;
所述列池化单元,对行池化结果值进行列池化操作,得到最终结果值作为中间特征图数据存入数据存储器;
所述分类器,用于获取最后一层神经网络计算对应的存算一体单元的输出,根据分类标签得到分类结果。
进一步地,所述行池化单元,包括第一逻辑单元和第一寄存器,若获取的数据为非线性操作后池化行窗口内的第一个值,则直接存储在第一寄存器中;若获取的数据不满足池化行的覆盖范围,则依据当前设置的行池化操作,将不满足覆盖范围的所述数据与第一寄存器中的值,通过第一逻辑单元进行逻辑操作,并将结果存储在第一寄存器中;若获取的数据满足池化行的覆盖范围,则依据当前设置的行池化操作,将满足覆盖范围的所述数据与第一寄存器中的值,通过逻辑单元进行逻辑操作,并直接作为行池化结果值输出。
进一步地,所述行池化单元还包括第一多路器和第二多路器,所述第一逻辑单元采用的运算逻辑能够由控制器进行配置;对于尺寸为
Figure DEST_PATH_IMAGE002
的池化窗口,对应的行池化窗口为
Figure DEST_PATH_IMAGE004
;当存算一体单元的输出数据
Figure DEST_PATH_IMAGE006
为所在行池化窗口的第
Figure DEST_PATH_IMAGE008
个数,且
Figure DEST_PATH_IMAGE010
时,则通过第一多路器,将激活后的
Figure 714000DEST_PATH_IMAGE006
直接写入到第一寄存器中;当
Figure 461376DEST_PATH_IMAGE006
为第
Figure 875040DEST_PATH_IMAGE008
个数,且
Figure DEST_PATH_IMAGE012
时,通过第一多路器,将第一寄存器中的值和第
Figure 588043DEST_PATH_IMAGE008
个激活后的
Figure 61750DEST_PATH_IMAGE006
通过第一逻辑单元进行逻辑运算,将逻辑运算后的值写入第一寄存器中;当
Figure 30843DEST_PATH_IMAGE006
为第
Figure 717039DEST_PATH_IMAGE008
个数,且
Figure DEST_PATH_IMAGE014
时,通过第一多路器,将第一寄存器中的值和第
Figure 251925DEST_PATH_IMAGE008
个激活后的
Figure 427692DEST_PATH_IMAGE006
通过第一逻辑单元进行逻辑运算,将逻辑运算后的值
Figure DEST_PATH_IMAGE016
通过第二多路器选出,作为当前行池化的结果值。一个
Figure 916704DEST_PATH_IMAGE006
集合在中间计算过程仅需1个寄存器当缓存,极大的减少了存储器数据访问以及缓存空间的需求。
进一步地,所述列池化单元,包括第二逻辑单元、先进先出存储器和第二寄存器,若获取的行池化结果值为当前中间特征图的位于列池化窗口的第一行的值,则直接存入先进先出存储器中;若获取的行池化结果值为当前中间特征图的位于列池化窗口覆盖范围且不为第一行的值时,则直接存入第二寄存器中,并依据当前设置的列池化操作,对第二寄存器中的值与先进先出存储器读端口的值,通过逻辑运算模块进行逻辑操作,得到列池化中间结果值;若获取的行池化结果值不为当前中间特征图的位于列池化窗口覆盖范围最后一行,则将列池化中间结果值写回先进先出存储器;若获取的行池化结果值为当前池化覆盖范围的最后一行的值,则将列池化中间结果值作为最终结果值。该值即为当前计算出特征图中的一个特征值。此处的FIFO深度需求,需要根据最大特征图的列数来得出。其中至少需要将第一行的数据全部缓存到FIFO,等到第二行的数据从行池化单元流出,不需要将该行数据全部缓存,仅需将该行数据缓存在寄存器中,并与缓存在FIFO中的第一行数据进行逻辑运算。对于特征图大小为N1×N2的行池化输出中间特征图来说,不需要将N1×N2个数据全部缓存起来,只需要缓存一行加一个数据,即(N2+1)个数据,大大减小了需要缓存的数据量以及数据搬运量。
所述分类装置仅对输入图像和输入特征图在数据存储器中进行访问存取,中间的计算值不涉及对数据存储器的访问,仅通过寄存器和先进先出存储器进行存取。
进一步地,根据行池化输出最大的中间特征图行的尺寸,配合设置深度为二以上先进先出存储器和第二寄存器,用于对两行及以上的中间特征图进行缓存。并非必须是偶数行,即缓存需要通过列池化的,并非第一行,如果采用尺寸更大的池化,需要缓存多次,如3×3的池化中3行数据需要进行列池化,则需要先缓存第一行的值,再缓存第一行与第二行通过逻辑运算后的值,采用一个FIFO存储器用于存储一行的数据。
进一步地,所述列池化单元还包括第三多路器和第四多路器,所述第二逻辑单元的运算能够由控制器进行配置;对于尺寸为
Figure 672171DEST_PATH_IMAGE002
的池化窗口和尺寸为
Figure DEST_PATH_IMAGE018
的行池化输出的中间特征图,对应的单列的列池化窗口为
Figure DEST_PATH_IMAGE020
且行池化输出的中间特征图的
Figure DEST_PATH_IMAGE022
列的列池化窗口为
Figure DEST_PATH_IMAGE024
;当行池化的结果值
Figure 687662DEST_PATH_IMAGE016
为所在
Figure 503172DEST_PATH_IMAGE022
列的列池化窗口的第
Figure DEST_PATH_IMAGE026
个数,且
Figure DEST_PATH_IMAGE028
的商为0时,
Figure 243594DEST_PATH_IMAGE016
通过第三多路器写入到先进先出存储器中;当
Figure 537173DEST_PATH_IMAGE016
为第
Figure 46651DEST_PATH_IMAGE026
个数,且
Figure 534527DEST_PATH_IMAGE028
的商小于
Figure DEST_PATH_IMAGE030
时,
Figure 231087DEST_PATH_IMAGE016
通过第三多路器写入第二寄存器中,将第二寄存器中的值与先进先出读端口的值通过第二逻辑单元进行逻辑运算,将逻辑运算后的中间结果值写回到先进先出存储器中;当
Figure 328356DEST_PATH_IMAGE016
为第
Figure 692342DEST_PATH_IMAGE026
个数,且
Figure 849653DEST_PATH_IMAGE028
的商等于
Figure 767931DEST_PATH_IMAGE030
时,
Figure 639197DEST_PATH_IMAGE016
通过第三多路器写入第二寄存器中,将第二寄存器中的值与先进先出读端口的值通过第二逻辑单元进行逻辑运算,将逻辑运算后的值
Figure DEST_PATH_IMAGE032
作为最终结果值,通过第四多路器输出,该值
Figure 654427DEST_PATH_IMAGE032
就是当前神经网络层经过计算并通过激活池化操作后的特征值。一个
Figure 982640DEST_PATH_IMAGE032
集合在中间计算过程需要一个深度为
Figure 857055DEST_PATH_IMAGE032
集合列数的FIFO存储器以及一个寄存器当缓存,极大的减少了存储器数据访问以及缓存空间的需求。
进一步地,所述先进先出存储器包括两个指针,一个是读操作的地址指针,指向下一次数据读出的地址,即得到读端口的值;一个是写操作的地址指针,指向下一次数据写入的地址,每读写一次,读、写指针分别加1;在列池化过程中,每当第二寄存器中的值与先进先出读端口的值进行逻辑运算,先进先出存储器视为读出一次,读指针加1,数据读出的顺序按照数据写入的顺序一次被读出。
进一步地,所述控制器包括一组配置寄存器,用于不同网络结构的配置,包括卷积层中的卷积核大小、输入维度大小、输出维度大小、激活池化操作,以及权重存储在存算一体单元中的位置信息、全连接层中的权重的位置信息、分类器每次分类标签信息。
进一步地,所述存算一体单元包括由存算器件单元组成的阵列,卷积层和全连接层的权重值分别映射到阵列的各存算器件单元上,卷积层和全连接层中的偏置值被拆分为两部分,一部分用于保持不同偏置值拆分出的结果的一致性,作为同一行存算器件单元公用的输入值,另一部分被映射在与卷积核对应的同一列的存算器件单元上。
一种存算一体卷积神经网络图像分类方法,基于所述的一种存算一体卷积神经网络图像分类装置,对待分类图像进行分类,得到图像分类结果。
本发明的优势和有益效果在于:
本发明一种存算一体卷积神经网络图像分类装置及方法,将卷积网络所需的操作一体化,集成了所有必要的卷积神经网络计算单元,将所有的卷积网络计算过程以流水线形式进行处理。本发明适用于不同的卷积神经网络结构,基于存算一体技术优化了卷积神经网络计算中的数据流,大量减少了在中间计算过程中的数据存取次数,以及减小所需缓存容量,并且提升了卷积神经网络的计算效率,同时简化了中间数据进行激活、池化操作的步骤。
附图说明
图1是本发明的装置结构示意图。
图2是本发明中卷积神经网络计算流程图。
图3是本发明中基于忆阻器的存算阵列以及阵列映射示意图。
图4a是本发明中激活函数&池化单元示意图。
图4b是本发明中激活函数&池化单元原理图。
图5是本发明中FIFO存储器进行数据存储的示意图。
图6是本发明实施例中采用2×2池化操作的激活函数&行池化单元原理图。
图7a是本发明实施例中存算阵列输入的图像数据示意图。
图7b是本发明实施例中经3×3卷积核非线性操作得到的存算阵列输出数据。
图7c是本发明实施例中经2×2行池化操作后得到的激活函数&行池化单元输出数据。
图7d是本发明实施例中经2×2列池化操作后得到的列池化单元输出数据。
图8是本发明实施例的列池化中FIFO存储器数据与第二寄存器数据进行比较的示意图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
如图1所示,一种存算一体卷积神经网络图像分类装置,包括控制器、数据存储器、存算一体单元、激活函数单元、池化单元以及分类器,所述池化单元包括行池化单元和列池化单元,存算一体单元分别与激活函数单元和分类器连接,激活函数单元依次与池化单元和列池化单元连接;
所述控制器,用于对装置的其他单元、器件的控制;
所述数据存储器,用于存储神经网络分类的图像数据,以及中间特征图数据;
所述存算一体单元,用于获取的图像数据,并对图像数据进行卷积神经网络中的卷积层以及全连接层的计算,得到特征值;
所述激活函数单元,对存算一体单元输出的特征值进行非线性操作,得到非线性操作后的特征值;
所述行池化单元,对非线性操作后的特征值进行行池化操作,得到行池化结果值;
所述列池化单元,对行池化结果值进行列池化操作,得到最终结果值作为中间特征图数据存入数据存储器;
所述分类器,用于获取最后一层神经网络计算对应的存算一体单元的输出,根据分类标签得到分类结果。
本发明实施例中,控制器负责装置的全局、局部模块的控制;数据存储器用于存储神经网络分类的图像数据,以及中间特征图数据;存算一体单元分别与激活函数单元、池化单元、分类器连接,构成一个整体,是装置中卷积神经网络计算单元,数据流从存算一体单元流入,从其余模块单元流出。其中各个模块单元的数量最少为1,可以为多个,以支持更多的维度同时进行计算。卷积网络计算在本装置中通过流水线的形式进行计算,并在中间过程中几乎只需要少量的缓存来存储数据,也无需额外的数据存储器的存取。
控制器内含一组配置寄存器,用于不同网络结构的配置,包括卷积层中的卷积核大小、输入维度大小、输出维度大小、激活池化操作,以及权重存储在存算一体单元中的位置信息、全连接层中的权重的位置信息、分类器每次分类标签信息。控制器在卷积网络计算过程中对不同模块发送控制信号,控制计算的数据流,并且负责数据的存取操作。
存算一体单元包括由存算器件单元组成的阵列,卷积层和全连接层的权重值分别映射到阵列的各存算器件单元上,卷积层和全连接层中的偏置值被拆分为两部分,一部分用于保持不同偏置值拆分出的结果的一致性,作为同一行存算器件单元公用的输入值,另一部分被映射在与卷积核对应的同一列的存算器件单元上。
本发明实施例中,存算一体单元包括由存算器件单元组成的阵列、输入输出单元、以及读写控制单元。该单元通过存算一体技术,进行卷积神经网络中的卷积层以及全连接层的计算,不同网络层的权重值
Figure DEST_PATH_IMAGE034
,都分别映射到由存算器件单元构成的阵列中,卷积层和全连接层中的偏置值
Figure DEST_PATH_IMAGE036
,会被拆分成两个部分,其中,一个部分映射在存算阵列上,另一个部分通过输入值的形式输入。
存算器件单元种类不限,包括FLASH、RRAM、MRAM这类用于存算的存储器件,存算器件单元通过在阵列上汇聚电流得出计算结果。
如图2所示,首先在网络权重
Figure 922225DEST_PATH_IMAGE034
以及偏置
Figure 464065DEST_PATH_IMAGE036
都预先写入到存算阵列中,在分类图像存入到数据存储器的前提下,数据会被控制器从数据存储器取出,输入存算一体单元中进行计算,计算出的结果会依据当前神经网络的阶段区分,当神经网络未计算完成,即不需要进行分类,则计算结果会被直接输入到激活函数单元与池化单元进行非线性和池化操作,输出值就是在卷积神经网络中间特征图上的特征值,该特征值会被存回到数据存储器中;当神经网络计算完成,即需要进行分类,则计算结果会被直接输入到分类器中,依据设置好的分类标签得出该分类的几率,当所有标签类别都计算完毕后,通过排序将最佳分类结果输出。
如图3所示,在A
Figure DEST_PATH_IMAGE038
B的基于忆阻器的存算阵列中,映射了3个2×2的卷积核,每个卷积核都被展开到一列阵列中并对应4个忆阻器,分别表示权重
Figure DEST_PATH_IMAGE040
,输入的数据是
Figure DEST_PATH_IMAGE042
,并且如果有偏置
Figure DEST_PATH_IMAGE044
,该偏置会被拆分成
Figure DEST_PATH_IMAGE046
Figure DEST_PATH_IMAGE048
Figure 194472DEST_PATH_IMAGE046
会被映射在与卷积核同一列的器件上,而
Figure 556183DEST_PATH_IMAGE048
会被当做输入值输入到阵列中进行计算,即
Figure DEST_PATH_IMAGE050
。在存算阵列中的计算结果就是把同一列上的各个结果值累加在一起,输出结果
Figure DEST_PATH_IMAGE052
Figure DEST_PATH_IMAGE054
。上述变量m’表示行坐标
Figure DEST_PATH_IMAGE056
;上述变量n’表示列坐标
Figure DEST_PATH_IMAGE058
。由于
Figure 487361DEST_PATH_IMAGE048
是对于同一行存算器件公用的输入值,不同偏置拆分出的结果需要有一个值保持一致,即为
Figure 149287DEST_PATH_IMAGE048
,如果不采用偏置可将
Figure 819302DEST_PATH_IMAGE048
设为0,或
Figure 668310DEST_PATH_IMAGE046
设为0。
如图4a、图4b所示,激活函数与池化单元相融合,激活函数单元使用的非线性操作通过控制器中的配置寄存器做设置,用于对从存算一体单元输出的数据直接做非线性操作,同时该激活函数单元与池化单元相融合,数据完成非线性操作后直接进入池化单元。池化单元包括行池化单元、列池化单元为两个部分,其中行池化单元与激活函数单元构成激活函数&行池化单元,用于完成数据的非线性操作以及行池化操作,列池化单元完成列池化操作。具体采用的激活函数以及池化操作方式不固定,可以自由配置。具体的池化操作类型依据控制器中的配置寄存器设置。
行池化单元,包括第一逻辑单元和第一寄存器,若获取的数据为非线性操作后池化行窗口内的第一个值,则直接存储在第一寄存器中;若获取的数据不满足池化行的覆盖范围,则依据当前设置的行池化操作,将不满足覆盖范围的所述数据与第一寄存器中的值,通过第一逻辑单元进行逻辑操作,并将结果存储在第一寄存器中;若获取的数据满足池化行的覆盖范围,则依据当前设置的行池化操作,将满足覆盖范围的所述数据与第一寄存器中的值,通过逻辑单元进行逻辑操作,并直接作为行池化结果值输出。
本发明实施例中,行池化单元包含逻辑运算模块以及第一寄存器,通过非线性变换的数据直接进入行池化单元,当输入的数据为第一个值时,直接存储在第一寄存器中;当输入的数据不满足池化行的覆盖范围,则依据当前设置的池化操作,对数据结合第一寄存器中的值进行逻辑操作并存储在第一寄存器中;当输入的数据满足池化行的覆盖范围,则依据当前设置的池化操作,对数据结合第一寄存器中的值进行逻辑操作,并直接输出目标值。
行池化单元还包括第一多路器和第二多路器,所述第一逻辑单元采用的运算逻辑能够由控制器进行配置;对于尺寸为
Figure 449184DEST_PATH_IMAGE002
的池化窗口,对应的行池化窗口为
Figure 965616DEST_PATH_IMAGE004
;当存算一体单元的输出数据
Figure 104735DEST_PATH_IMAGE006
为所在行池化窗口的第
Figure 706618DEST_PATH_IMAGE008
个数,且
Figure 291183DEST_PATH_IMAGE010
时,则通过第一多路器,将激活后的
Figure 662122DEST_PATH_IMAGE006
直接写入到第一寄存器中;当
Figure 408361DEST_PATH_IMAGE006
为第
Figure 231960DEST_PATH_IMAGE008
个数,且
Figure 918419DEST_PATH_IMAGE012
时,通过第一多路器,将第一寄存器中的值和第
Figure 143864DEST_PATH_IMAGE008
个激活后的
Figure 326584DEST_PATH_IMAGE006
通过第一逻辑单元进行逻辑运算,将逻辑运算后的值写入第一寄存器中;当
Figure 637479DEST_PATH_IMAGE006
为第
Figure 563847DEST_PATH_IMAGE008
个数,且
Figure 643798DEST_PATH_IMAGE014
时,通过第一多路器,将第一寄存器中的值和第
Figure 262998DEST_PATH_IMAGE008
个激活后的
Figure 61190DEST_PATH_IMAGE006
通过第一逻辑单元进行逻辑运算,将逻辑运算后的值
Figure 823872DEST_PATH_IMAGE016
通过第二多路器选出,作为当前行池化的结果值。一个
Figure 23909DEST_PATH_IMAGE006
集合在中间计算过程仅需1个寄存器当缓存,极大的减少了存储器数据访问以及缓存空间的需求。
如图6所示,本发明实施例中,提供一种采用2×2 max pooling池化方式的激活函数&行池化单元和列池化单元,其中第一逻辑单元和第二逻辑单元配置为第一比较器和第二比较器,
Figure DEST_PATH_IMAGE060
表示存算阵列的输出数据,
Figure 79590DEST_PATH_IMAGE016
为激活函数&行池化单元的输出数据,
Figure DEST_PATH_IMAGE062
表示列池化单元的输出数据,也可以是中间特征图中的特征值。首先,在激活函数&行池化单元中,
Figure 427395DEST_PATH_IMAGE006
经过激活函数
Figure DEST_PATH_IMAGE064
,当
Figure 993767DEST_PATH_IMAGE006
为第
Figure 48311DEST_PATH_IMAGE008
个数,通过
Figure DEST_PATH_IMAGE066
控制多路器将激活后的
Figure 9314DEST_PATH_IMAGE006
直接写入到第一寄存器中;当
Figure 578836DEST_PATH_IMAGE006
为第
Figure DEST_PATH_IMAGE068
个数时,通过
Figure 683320DEST_PATH_IMAGE066
控制多路器先不写入到寄存器中,而是将第
Figure 326791DEST_PATH_IMAGE008
个和第
Figure 458695DEST_PATH_IMAGE068
个激活后的
Figure 453196DEST_PATH_IMAGE006
通过第一比较器,比较出较大的数并用多路器选出,即
Figure 328748DEST_PATH_IMAGE016
为第
Figure 154622DEST_PATH_IMAGE008
个和第
Figure 191848DEST_PATH_IMAGE068
个激活后的
Figure 175109DEST_PATH_IMAGE006
中的大值,也为行池化的结果值,
Figure 588773DEST_PATH_IMAGE008
为奇数,即为进行行池化两个数中的第一个数序号;
列池化单元,包括第二逻辑单元、先进先出存储器和第二寄存器,若获取的行池化结果值为当前中间特征图的位于列池化窗口的第一行的值,则直接存入先进先出存储器中;若获取的行池化结果值为当前中间特征图的位于列池化窗口覆盖范围且不为第一行的值时,则直接存入第二寄存器中,并依据当前设置的列池化操作,对第二寄存器中的值与先进先出存储器读端口的值,通过逻辑运算模块进行逻辑操作,得到列池化中间结果值;若获取的行池化结果值不为当前中间特征图的位于列池化窗口覆盖范围最后一行,则将列池化中间结果值写回先进先出存储器;若获取的行池化结果值为当前池化覆盖范围的最后一行的值,则将列池化中间结果值作为最终结果值。
本发明实施例中,列池化单元包含逻辑运算模块、一个FIFO存储器以及第二寄存器,行池化单元的输出值会直接进入列池化单元,当输入值为当前池化覆盖范围第一行的值,该值会被直接存在一个FIFO存储器中;当输入值在当前池化覆盖范围且不为第一行的值时,该值会被直接存入第二寄存器中,并依据当前设置的池化操作,对第二寄存器中的值与FIFO存储器读端口的值进行逻辑操作,若不为池化覆盖范围最后一行,则将结果值写回FIFO存储器,直到池化覆盖范围的最后一行的值在第二寄存器中与FIFO存储器读端口的值进行池化操作,计算完成的结果值会被输出,该值即为当前计算出特征图中的一个特征值。此处的FIFO深度需求,需要根据最大特征图的列数来得出。
列池化单元还包括第三多路器和第四多路器,所述第二逻辑单元采用的运算逻辑能够由控制器进行配置;对于尺寸为
Figure 472416DEST_PATH_IMAGE002
的池化窗口和尺寸为
Figure 477281DEST_PATH_IMAGE018
的行池化输出的中间特征图,对应的单列的列池化窗口为
Figure 446374DEST_PATH_IMAGE020
且行池化输出的中间特征图的
Figure 663728DEST_PATH_IMAGE022
列的列池化窗口为
Figure 136298DEST_PATH_IMAGE024
;当行池化的结果值
Figure 270652DEST_PATH_IMAGE016
为所在
Figure 523779DEST_PATH_IMAGE022
列的列池化窗口的第
Figure 279245DEST_PATH_IMAGE026
个数,且
Figure 137480DEST_PATH_IMAGE028
的商为0时,
Figure 687410DEST_PATH_IMAGE016
通过第三多路器写入到先进先出存储器中;当
Figure 365516DEST_PATH_IMAGE016
为第
Figure 924673DEST_PATH_IMAGE026
个数,且
Figure 138879DEST_PATH_IMAGE028
的商小于
Figure 922027DEST_PATH_IMAGE030
时,
Figure 353009DEST_PATH_IMAGE016
通过第三多路器写入第二寄存器中,将第二寄存器中的值与先进先出读端口的值通过第二逻辑单元进行逻辑运算,将逻辑运算后的中间结果值写回到先进先出存储器中;当
Figure 450278DEST_PATH_IMAGE016
为第
Figure 751946DEST_PATH_IMAGE026
个数,且
Figure 909258DEST_PATH_IMAGE028
的商等于
Figure 561956DEST_PATH_IMAGE030
时,
Figure 761119DEST_PATH_IMAGE016
通过第三多路器写入第二寄存器中,将第二寄存器中的值与先进先出读端口的值通过第二逻辑单元进行逻辑运算,将逻辑运算后的值
Figure 448452DEST_PATH_IMAGE032
作为最终结果值,通过第四多路器输出。
本发明实施例中,在列池化单元中,当
Figure 776665DEST_PATH_IMAGE016
为第
Figure 916659DEST_PATH_IMAGE026
个数,且
Figure DEST_PATH_IMAGE070
为偶数时,
Figure 621310DEST_PATH_IMAGE016
通过
Figure DEST_PATH_IMAGE072
控制的多路器写入到FIFO存储器中,当
Figure 195773DEST_PATH_IMAGE016
为第
Figure 491625DEST_PATH_IMAGE026
个数,且
Figure 118916DEST_PATH_IMAGE070
为奇数时,
Figure 361678DEST_PATH_IMAGE016
通过
Figure 23604DEST_PATH_IMAGE072
控制的多路器写入第二寄存器中,并通过第二比较器,比较第二寄存器中的值与FIFO读端口的值,控制多路器输出大值
Figure 693620DEST_PATH_IMAGE032
,该值
Figure 277048DEST_PATH_IMAGE032
就是当前神经网络层经过计算并通过激活池化操作后的特征值。
先进先出存储器包括两个指针,一个是读操作的地址指针,指向下一次数据读出的地址,即得到读端口的值;一个是写操作的地址指针,指向下一次数据写入的地址,每读写一次,读、写指针分别加1;在列池化过程中,每当第二寄存器中的值与先进先出读端口的值进行逻辑运算,先进先出存储器视为读出一次,读指针加1。
如图5所示,本发明实施例中,FIFO存储器有两个指针指向不同位置,一个是读操作的地址指针,负责指向下一次数据读出的地址,即得到读端口的值;一个是写操作的地址指针,负责指向下一次数据写入的地址。每读写一次,读、写指针分别加1。数据读出的顺序按照数据写入的顺序一次被读出。
如图7a至图7d所示,是基于图6所示的2×2 max pooling池化方式的激活函数&行池化单元的实际展示,此处使用的卷积核尺寸为3×3。图7a中的
Figure DEST_PATH_IMAGE074
集合为存算阵列输入的图像数据,图7b中的
Figure 152862DEST_PATH_IMAGE006
集合为存算阵列输出数据,图7c中的
Figure 669294DEST_PATH_IMAGE016
集合为激活函数&行池化单元输出数据,图7d中的
Figure 510211DEST_PATH_IMAGE062
集合为列池化单元输出数据,也可以是中间特征图中的特征值。
由于采用2×2的max pooling,对于行池化和列池化,只需要分别对左右两列和上下两行的数据进行比大小,对于列池化单元来说接收到的数据已经是行池化单元处理完之后的中间特征图数据,即依次得到n集合的图信息,如图7c所示,由于当前中间特征图的信息是从左到右,从上到下依次得到,在当前本实施例中进行、列池化前,至少需要将第一行的数据全部缓存到FIFO,等到第二行的数据从行池化单元流出,如图8所示,不需要将该行数据全部缓存,仅需将该行数据缓存在寄存器中,并与缓存在FIFO中的第一行数据进行比较大小。对于特征图大小为8×4的行池化输出中间特征图来说,不需要将32个数据全部缓存起来,只需要缓存一行加一个数据,即(4+1)个数据,大大减小了需要缓存的数据量以及数据搬运量。
根据行池化输出最大的中间特征图行的尺寸,配合设置深度为二以上先进先出存储器和第二寄存器,用于对两行及以上的中间特征图进行缓存。并非必须是偶数行,只是本实施例中为偶数行,即缓存需要通过列池化的第一行。如果采用尺寸更大的池化,需要缓存多次,如3×3的池化中3行数据需要进行列池化,则需要先缓存第一行的值,再缓存第一行与第二行进行逻辑运算后的值,采用一个FIFO存储器用于存储一行的数据。
在本装置中的中间数据缓存量非常小,除
Figure 846515DEST_PATH_IMAGE074
集合和
Figure 165500DEST_PATH_IMAGE032
集合需要全部存在数据存储器内外,其余特征图数据相比于对应的整张图像可以忽略不计。一个
Figure 536439DEST_PATH_IMAGE006
集合在中间计算过程仅需1个寄存器当缓存,一个
Figure 49722DEST_PATH_IMAGE032
集合在中间计算过程需要一个深度为
Figure 935638DEST_PATH_IMAGE032
集合列数的FIFO存储器以及一个寄存器当缓存,极大的减少了存储器数据访问以及缓存空间的需求。
表1是本发明实施例中,基于图6、图7a至图7d所示的采用2×2 max pooling网络层的实际数据流,t表示时间周期。平均2个计算周期完成行池化操作,得出结果
Figure 58315DEST_PATH_IMAGE016
,在列池化数据准备完毕一行后,平均两个计算周期完成列池化操作,得出结果
Figure 549339DEST_PATH_IMAGE032
。其中两个连续的
Figure 732059DEST_PATH_IMAGE006
仅有一个会被存入行池化单元的第一寄存器中,而列池化单元的FIFO存储器中,仅会存偶数行的行池化单元的输出结果
Figure 777376DEST_PATH_IMAGE016
,奇数行的输出结果
Figure 703743DEST_PATH_IMAGE016
仅被存入第二寄存器中,并在下个周期被替代或者输出。
表1数据流图
Figure DEST_PATH_IMAGE076
分类器用于卷积神经网络最后的分类,当在最后一层神经网络计算时,在存算一体单元中计算完成卷积层或全连接层的结果会被输出到分类器中,分类器通过控制器告知的分类标签信息进行分类,并在分类结束后经过排序将最大可能分类结果输出。
一种存算一体卷积神经网络图像分类方法,基于所述一种存算一体卷积神经网络图像分类装置,对待分类图像进行分类,得到图像分类结果。这部分内容实施方式与上述装置实施例的实施方式类似,此处不再赘述。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。

Claims (10)

1.一种存算一体卷积神经网络图像分类装置,包括控制器、数据存储器、存算一体单元、激活函数单元、池化单元以及分类器,其特征在于:所述池化单元包括行池化单元和列池化单元,存算一体单元分别与激活函数单元和分类器连接,激活函数单元依次与池化单元和列池化单元连接;
所述控制器,用于对装置的其他单元、器件的控制;
所述数据存储器,用于存储神经网络分类的图像数据,以及中间特征图数据;
所述存算一体单元,用于获取的图像数据,并对图像数据进行卷积神经网络中的卷积层以及全连接层的计算,得到特征值;
所述激活函数单元,对存算一体单元输出的特征值进行非线性操作,得到非线性操作后的特征值;
所述行池化单元,对非线性操作后的特征值进行行池化操作,得到行池化结果值;
所述列池化单元,对行池化结果值进行列池化操作,得到最终结果值作为中间特征图数据存入数据存储器;
所述分类器,用于获取最后一层神经网络计算对应的存算一体单元的输出,根据分类标签得到分类结果。
2.根据权利要求1所述的一种存算一体卷积神经网络图像分类装置,其特征在于:所述行池化单元,包括第一逻辑单元和第一寄存器,若获取的数据为非线性操作后池化行窗口内的第一个值,则直接存储在第一寄存器中;若获取的数据不满足池化行的覆盖范围,则依据当前设置的行池化操作,将不满足覆盖范围的所述数据与第一寄存器中的值,通过第一逻辑单元进行逻辑操作,并将结果存储在第一寄存器中;若获取的数据满足池化行的覆盖范围,则依据当前设置的行池化操作,将满足覆盖范围的所述数据与第一寄存器中的值,通过逻辑运算模块进行逻辑操作,并直接作为行池化结果值输出。
3.根据权利要求2所述的一种存算一体卷积神经网络图像分类装置,其特征在于:所述 行池化单元还包括第一多路器和第二多路器,所述第一逻辑单元采用的运算逻辑能够由控 制器进行配置;对于尺寸为
Figure 826168DEST_PATH_IMAGE001
的池化窗口,对应的行池化窗口为
Figure 385719DEST_PATH_IMAGE002
;当存算一体单元 的输出数据
Figure 978505DEST_PATH_IMAGE003
为所在行池化窗口的第
Figure 701611DEST_PATH_IMAGE004
个数,且
Figure 561988DEST_PATH_IMAGE005
时,则通过第一多路器,将激活后的
Figure 712347DEST_PATH_IMAGE003
直接写入到第一寄存器中;当
Figure 995692DEST_PATH_IMAGE003
为第
Figure 379879DEST_PATH_IMAGE004
个数,且
Figure 252021DEST_PATH_IMAGE006
时,通过第一多路器,将第一寄存器 中的值和第
Figure 573280DEST_PATH_IMAGE004
个激活后的
Figure 406238DEST_PATH_IMAGE003
通过第一逻辑单元进行逻辑运算,将逻辑运算后的值写入第一 寄存器中;当
Figure 471146DEST_PATH_IMAGE003
为第
Figure 197794DEST_PATH_IMAGE004
个数,且
Figure 470381DEST_PATH_IMAGE007
时,通过第一多路器,将第一寄存器中的值和第
Figure 384111DEST_PATH_IMAGE004
个激活 后的
Figure 849114DEST_PATH_IMAGE003
通过第一逻辑单元进行逻辑运算,将逻辑运算后的值
Figure 820481DEST_PATH_IMAGE008
通过第二多路器选出,作为当 前行池化的结果值。
4.根据权利要求1所述的一种存算一体卷积神经网络图像分类装置,其特征在于:所述列池化单元,包括第二逻辑单元、先进先出存储器和第二寄存器,若获取的行池化结果值为当前中间特征图的位于列池化窗口的第一行的值,则直接存入先进先出存储器中;若获取的行池化结果值为当前中间特征图的位于列池化窗口覆盖范围且不为第一行的值时,则直接存入第二寄存器中,并依据当前设置的列池化操作,对第二寄存器中的值与先进先出存储器读端口的值,通过逻辑运算模块进行逻辑操作,得到列池化中间结果值;若获取的行池化结果值不为当前中间特征图的位于列池化窗口覆盖范围最后一行,则将列池化中间结果值写回先进先出存储器;若获取的行池化结果值为当前池化覆盖范围的最后一行的值,则将列池化中间结果值作为最终结果值输出。
5.根据权利要求4所述的一种存算一体卷积神经网络图像分类装置,其特征在于:根据行池化输出最大的中间特征图行的尺寸,配合设置深度为二以上先进先出存储器和第二寄存器,用于对两行及以上的中间特征图进行缓存。
6.根据权利要求4所述的一种存算一体卷积神经网络图像分类装置,其特征在于:所述 列池化单元还包括第三多路器和第四多路器,所述第二逻辑单元采用的运算逻辑能够由控 制器进行配置;对于尺寸为
Figure 732812DEST_PATH_IMAGE001
的池化窗口和尺寸为
Figure 930575DEST_PATH_IMAGE009
的行池化输出的中间特征图, 对应的单列的列池化窗口为
Figure 337285DEST_PATH_IMAGE010
且行池化输出的中间特征图的
Figure 913891DEST_PATH_IMAGE011
列的列池化窗口为
Figure 888801DEST_PATH_IMAGE012
;当行池化的结果值
Figure 432914DEST_PATH_IMAGE008
为所在
Figure 784261DEST_PATH_IMAGE011
列的列池化窗口的第
Figure 982418DEST_PATH_IMAGE013
个数,且
Figure 252862DEST_PATH_IMAGE014
的商为0时,
Figure 159638DEST_PATH_IMAGE008
通过 第三多路器写入到先进先出存储器中;当
Figure 924463DEST_PATH_IMAGE008
为第
Figure 865874DEST_PATH_IMAGE013
个数,且
Figure 572799DEST_PATH_IMAGE014
的商小于
Figure 966871DEST_PATH_IMAGE015
时,
Figure 33922DEST_PATH_IMAGE008
通过第 三多路器写入第二寄存器中,将第二寄存器中的值与先进先出读端口的值通过第二逻辑单 元进行逻辑运算,将逻辑运算后的中间结果值写回到先进先出存储器中;当
Figure 298681DEST_PATH_IMAGE008
为第
Figure 176508DEST_PATH_IMAGE013
个数,且
Figure 667663DEST_PATH_IMAGE014
的商等于
Figure 164503DEST_PATH_IMAGE016
时,
Figure 939561DEST_PATH_IMAGE008
通过第三多路器写入第二寄存器中,将第二寄存器中的值与先 进先出读端口的值通过第二逻辑单元进行逻辑运算,将逻辑运算后的值
Figure 598076DEST_PATH_IMAGE017
作为最终结果值, 通过第四多路器输出。
7.根据权利要求4所述的一种存算一体卷积神经网络图像分类装置,其特征在于:所述先进先出存储器包括两个指针,一个是读操作的地址指针,指向下一次数据读出的地址,即得到读端口的值;一个是写操作的地址指针,指向下一次数据写入的地址,每读写一次,读、写指针分别加1;在列池化过程中,每当第二寄存器中的值与先进先出读端口的值进行逻辑运算,先进先出存储器视为读出一次,读指针加1。
8.根据权利要求1所述的一种存算一体卷积神经网络图像分类装置,其特征在于:所述控制器包括一组配置寄存器,用于不同网络结构的配置,包括卷积层中的卷积核大小、输入维度大小、输出维度大小、激活池化操作,以及权重存储在存算一体单元中的位置信息、全连接层中的权重的位置信息、分类器每次分类标签信息。
9.根据权利要求1所述的一种存算一体卷积神经网络图像分类装置,其特征在于:所述存算一体单元包括由存算器件单元组成的阵列,卷积层和全连接层的权重值分别映射到阵列的各存算器件单元上,卷积层和全连接层中的偏置值被拆分为两部分,一部分用于保持不同偏置值拆分出的结果的一致性,作为同一行存算器件单元公用的输入值,另一部分被映射在与卷积核对应的同一列的存算器件单元上。
10.一种存算一体卷积神经网络图像分类方法,其特征在于,基于权利要求1至9任意一项所述的一种存算一体卷积神经网络图像分类装置,对待分类图像进行分类,得到图像分类结果。
CN202210981223.5A 2022-08-16 2022-08-16 一种存算一体卷积神经网络图像分类装置及方法 Active CN115049885B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210981223.5A CN115049885B (zh) 2022-08-16 2022-08-16 一种存算一体卷积神经网络图像分类装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210981223.5A CN115049885B (zh) 2022-08-16 2022-08-16 一种存算一体卷积神经网络图像分类装置及方法

Publications (2)

Publication Number Publication Date
CN115049885A true CN115049885A (zh) 2022-09-13
CN115049885B CN115049885B (zh) 2022-12-27

Family

ID=83167247

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210981223.5A Active CN115049885B (zh) 2022-08-16 2022-08-16 一种存算一体卷积神经网络图像分类装置及方法

Country Status (1)

Country Link
CN (1) CN115049885B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116048479A (zh) * 2023-04-03 2023-05-02 南京大学 一种针对存算一体芯片的快速编程方法

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108763612A (zh) * 2018-04-02 2018-11-06 复旦大学 一种神经网络的池化层加速运算的方法与电路
CN108805270A (zh) * 2018-05-08 2018-11-13 华中科技大学 一种基于存储器的卷积神经网络系统
CN108846047A (zh) * 2018-05-30 2018-11-20 百卓网络科技有限公司 一种基于卷积特征的图片检索方法及系统
CN109948777A (zh) * 2018-11-14 2019-06-28 深圳大学 基于fpga实现的卷积神经网络以及基于fpga实现卷积神经网络的实现方法
CA3032188A1 (en) * 2018-01-31 2019-07-31 Pin-Han Ho Deep convolutional neural network architecture and system and method for building the deep convolutional neural network architecture
CN110097174A (zh) * 2019-04-22 2019-08-06 西安交通大学 基于fpga和行输出优先的卷积神经网络实现方法、系统及装置
CN111199277A (zh) * 2020-01-10 2020-05-26 中山大学 一种卷积神经网络加速器
CN111985602A (zh) * 2019-05-24 2020-11-24 华为技术有限公司 神经网络计算设备、方法以及计算设备
CN112801102A (zh) * 2021-01-11 2021-05-14 成都圭目机器人有限公司 一种用于道面块状病害检测的网络模型和检测方法
US20210264250A1 (en) * 2020-02-24 2021-08-26 Stmicroelectronics International N.V. Pooling unit for deep learning acceleration
CN113743587A (zh) * 2021-09-09 2021-12-03 苏州浪潮智能科技有限公司 一种卷积神经网络池化计算方法、系统、及存储介质
CN113870246A (zh) * 2021-10-13 2021-12-31 广东新时空科技股份有限公司 一种基于深度学习的障碍物探测和识别方法
CN114265696A (zh) * 2021-12-28 2022-04-01 北京航天自动控制研究所 针对卷积神经网络最大池化层的池化器及池化加速电路
CN114662567A (zh) * 2022-03-03 2022-06-24 燕山大学 基于不同模型特征融合的卷积神经网络图像分类方法
CN114781629A (zh) * 2022-04-06 2022-07-22 合肥工业大学 基于并行复用的卷积神经网络的硬件加速器及并行复用方法

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3032188A1 (en) * 2018-01-31 2019-07-31 Pin-Han Ho Deep convolutional neural network architecture and system and method for building the deep convolutional neural network architecture
CN108763612A (zh) * 2018-04-02 2018-11-06 复旦大学 一种神经网络的池化层加速运算的方法与电路
CN108805270A (zh) * 2018-05-08 2018-11-13 华中科技大学 一种基于存储器的卷积神经网络系统
CN108846047A (zh) * 2018-05-30 2018-11-20 百卓网络科技有限公司 一种基于卷积特征的图片检索方法及系统
CN109948777A (zh) * 2018-11-14 2019-06-28 深圳大学 基于fpga实现的卷积神经网络以及基于fpga实现卷积神经网络的实现方法
CN110097174A (zh) * 2019-04-22 2019-08-06 西安交通大学 基于fpga和行输出优先的卷积神经网络实现方法、系统及装置
CN111985602A (zh) * 2019-05-24 2020-11-24 华为技术有限公司 神经网络计算设备、方法以及计算设备
CN111199277A (zh) * 2020-01-10 2020-05-26 中山大学 一种卷积神经网络加速器
US20210264250A1 (en) * 2020-02-24 2021-08-26 Stmicroelectronics International N.V. Pooling unit for deep learning acceleration
CN112801102A (zh) * 2021-01-11 2021-05-14 成都圭目机器人有限公司 一种用于道面块状病害检测的网络模型和检测方法
CN113743587A (zh) * 2021-09-09 2021-12-03 苏州浪潮智能科技有限公司 一种卷积神经网络池化计算方法、系统、及存储介质
CN113870246A (zh) * 2021-10-13 2021-12-31 广东新时空科技股份有限公司 一种基于深度学习的障碍物探测和识别方法
CN114265696A (zh) * 2021-12-28 2022-04-01 北京航天自动控制研究所 针对卷积神经网络最大池化层的池化器及池化加速电路
CN114662567A (zh) * 2022-03-03 2022-06-24 燕山大学 基于不同模型特征融合的卷积神经网络图像分类方法
CN114781629A (zh) * 2022-04-06 2022-07-22 合肥工业大学 基于并行复用的卷积神经网络的硬件加速器及并行复用方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
LU CHI等: "Non-Local Neural Networks With Grouped Bilinear Attentional Transforms", 《2020 IEEE/CVF CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR)》 *
MIN WANG等: "Identifying Irregular Objects in Scenes: Semantic Segmentation Network Based on Multi-path Irregular Convolution", 《2021 IEEE INTERNATIONAL CONFERENCE ON SYSTEMS, MAN, AND CYBERNETICS (SMC)》 *
应三丛等: "基于多视图并行的可配置卷积神经网络加速器设计", 《工程科学与技术》 *
肖望勇: "基于 FPGA 的神经网络设计与实现研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116048479A (zh) * 2023-04-03 2023-05-02 南京大学 一种针对存算一体芯片的快速编程方法

Also Published As

Publication number Publication date
CN115049885B (zh) 2022-12-27

Similar Documents

Publication Publication Date Title
US11270197B2 (en) Efficient neural network accelerator dataflows
CN110097174B (zh) 基于fpga和行输出优先的卷积神经网络实现方法、系统及装置
CN110245683B (zh) 一种少样本目标识别的残差关系网络构建方法及应用
CN115049885B (zh) 一种存算一体卷积神经网络图像分类装置及方法
CN106846255B (zh) 图像旋转实现方法及装置
US20230289601A1 (en) Integrated circuit that extracts data, neural network processor including the integrated circuit, and neural network
CN112906865B (zh) 神经网络架构搜索方法、装置、电子设备及存储介质
CN108712621A (zh) 一种基于忆阻和cmos的运动目标检测电路
CN109359729A (zh) 一种在fpga上实现缓存数据的系统及方法
CN111753962A (zh) 一种加法器、乘法器、卷积层结构、处理器及加速器
Sun et al. Energy-efficient SQL query exploiting RRAM-based process-in-memory structure
CN108764182B (zh) 一种优化的用于人工智能的加速方法和装置
Cadenas et al. Parallel pipelined array architectures for real-time histogram computation in consumer devices
US20110157194A1 (en) System, data structure, and method for processing multi-dimensional video data
CN112149518A (zh) 基于began和yolov3模型的松果检测方法
CN108024074A (zh) 一种基于sopc的小型化红外成像方法
CN100571325C (zh) 一种数据缓存方法、垂直缩放电路及终端
CN108920097B (zh) 一种基于交织存储的三维数据处理方法
CN115204380B (zh) 存算一体卷积神经网络的数据存储及阵列映射方法与装置
CN110060196A (zh) 图像处理方法及装置
CN113392963B (zh) 基于fpga的cnn硬件加速系统设计方法
Zheng et al. An rram-based neural radiance field processor
CN111814675A (zh) 基于fpga支持动态分辨率的卷积神经网络特征图组装系统
CN110490312B (zh) 一种池化计算方法和电路
Zhang et al. A novel CNN architecture on FPGA-based SoC for remote sensing image classification

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