CN107704923A - 卷积神经网络运算电路 - Google Patents
卷积神经网络运算电路 Download PDFInfo
- Publication number
- CN107704923A CN107704923A CN201710983547.1A CN201710983547A CN107704923A CN 107704923 A CN107704923 A CN 107704923A CN 201710983547 A CN201710983547 A CN 201710983547A CN 107704923 A CN107704923 A CN 107704923A
- Authority
- CN
- China
- Prior art keywords
- arithmetic element
- convolution
- data
- pond
- unit
- 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.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title abstract description 4
- 230000015654 memory Effects 0.000 claims abstract description 36
- 238000013527 convolutional neural network Methods 0.000 claims description 61
- 230000005055 memory storage Effects 0.000 claims description 31
- 230000003068 static effect Effects 0.000 claims description 17
- 230000001360 synchronised effect Effects 0.000 claims description 7
- 238000013500 data storage Methods 0.000 claims description 5
- 239000000284 extract Substances 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 4
- 238000011176 pooling Methods 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 10
- 238000000034 method Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 101100112084 Arabidopsis thaliana CRT2 gene Proteins 0.000 description 1
- 101100235014 Capsicum annuum LCY1 gene Proteins 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 244000287680 Garcinia dulcis Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- 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
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/955—Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Neurology (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Complex Calculations (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种卷积神经网络运算电路。其中,该电路包括:外部存储器,用于存储待处理图像;直接存取单元,与外部存储器连接,用于按行顺序读取待处理图像,将读取到的数据传输至控制单元;控制单元,与直接存取单元连接,用于将数据存储至内部存储器;内部存储器,与控制单元连接,用于缓存数据;运算单元,与内部存储器连接,用于从内部存储器读取数据并进行卷积池化运算。本发明解决了由于卷积神经网络的卷积运算量很大造成的占用***带宽较大的技术问题。
Description
技术领域
本发明涉及图像处理领域,具体而言,涉及一种卷积神经网络运算电路。
背景技术
卷积神经网络(Convolutional Neural Network,CNN)作为人工神经网络的一种,已成为当前语音分析和图像识别领域的研究热点。卷积神经网络是一个多层的神经网络,每层由多个二维平面构成,而每个平面都是由不同的卷积核卷积而成,卷积之后的图层通过池化(Pooling)处理后生成特征图谱(feature map),传输给下层网络。
卷积神经网络的卷积运算量很大,而且每层网络都需要卷积运算,做一次识别需要多层卷积核及多平面卷积,普通的CPU和GPU做如此类的卷积运算会耗费相当长的时间。而且不同层、不同平面的卷积会占用巨大的***带宽,对***的效能要求非常高。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种卷积神经网络运算电路,以至少解决由于卷积神经网络的卷积运算量很大造成的占用***带宽较大的技术问题。
根据本发明实施例的一个方面,提供了一种卷积神经网络运算电路,包括:外部存储器,用于存储待处理图像;直接存取单元,与外部存储器连接,用于读取待处理图像,并将读取到的数据传输至控制单元;控制单元,与直接存取单元连接,用于将数据存储至内部存储器;内部存储器,与控制单元连接,用于缓存数据;运算单元,与内部存储器连接,用于从内部存储器读取数据并进行卷积池化运算。
可选地,运算单元的数量至少为两个。
可选地,在各个运算单元之间采用级联结构连接的情况下,第n层的数据经过第n个运算单元的卷积池化运算后缓存到内部存储器中,由第n+1个运算单元将运算后的数据取出并进行第n+1层的卷积池化运算,其中,n为正整数。
可选地,在各个运算单元之间采用并联结构连接的情况下,各个运算单元分别处理待处理图像的部分图像,各个运算单元采用相同的卷积核进行并行卷积池化运算。
可选地,在各个运算单元之间采用并联结构连接的情况下,各个运算单元分别对待处理图像进行不同的特征提取,各个运算单元采用不同的卷积核进行并行卷积池化运算。
可选地,在运算单元的数量为两个的情况下,两个运算单元分别提取待处理图像的轮廓信息和细节信息。
可选地,运算单元包括卷积运算单元、池化运算单元、缓冲单元及缓冲控制单元。
可选地,卷积运算单元,用于对数据进行卷积运算,并将得到的卷积结果传输至池化运算单元;池化运算单元,与卷积运算单元连接,用于对卷积结果进行池化运算,并将得到的池化结果存储至缓冲单元;缓冲控制单元,用于将池化结果通过缓冲单元存储至内部存储器或通过直接存取单元存储至外部存储器。
可选地,外部存储器包括以下至少之一:双倍速率同步动态随机存储器、同步动态随机存储器。
可选地,内部存储器包括静态存储器阵列,静态存储器阵列包括多个静态存储器,每个静态存储器用于存储不同的数据。
在本发明实施例中,采用外部存储器存储待处理图像;直接存取单元按行顺序读取待处理图像,将读取到的数据传输至控制单元;控制单元将数据存储至内部存储器;内部存储器缓存数据;运算单元从内部存储器读取数据并进行卷积池化运算的方式,通过内部存储器缓存数据,达到了卷积运算只需到外部存储器中读取一帧图像即可,而不需反复读取一帧图像的数据的目的,从而实现了有效节省了***带宽的技术效果,进而解决了由于卷积神经网络的卷积运算量很大造成的占用***带宽较大的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的卷积神经网络运算电路的结构示意图;
图2是根据本发明实施例的另一种可选的卷积神经网络运算电路的结构示意图;
图3是根据本发明实施例的又一种可选的卷积神经网络运算电路的结构示意图;
图4是根据本发明实施例的又一种可选的卷积神经网络运算电路的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种卷积神经网络运算电路的结构实施例,图1是根据本发明实施例的卷积神经网络运算电路,如图1所示,该卷积神经网络运算电路包括:外部存储器10、直接存取单元12、控制单元14、内部存储器16以及运算单元18。
其中,外部存储器10,用于存储待处理图像;直接存取单元12,与外部存储器10连接,用于读取待处理图像,并将读取到的数据传输至控制单元;控制单元14,与直接存取单元12连接,用于将数据存储至内部存储器16;内部存储器16,与控制单元14连接,用于缓存数据;运算单元18,与内部存储器16连接,用于从内部存储器16读取数据并进行卷积池化运算。
结合如图2所示,以设置两个CNN运算单元(即上述的运算单元18)为例,进行说明,待处理图像存储在外部存储器中,由DMA(Direct Memory Access,存储器直接访问)(即上述的直接存取单元12)读取待处理图像(例如按待处理图像的行顺序读取),将其传送给SRAM CTRL(Static RAM,静态存储器控制)模块,即上述的控制单元14,SRAM CTRL同样按行顺序存储到SRAM ARRAY(静态存储器阵列)中(即上述的内部存储器16),假设图2中SRAMARRAY 1由三块SRAM构成,每块SRAM的存储容量为1行图像(以1920x1080图像为例,存储容量为1920Byte),三块SRAM则分别存储第N行、N+1行和N+2行的数据,当三行数据全部换成完成后,CNN运算单元(即上述的运算单元18)的BUFFER CTRL(即后续的缓冲控制单元)同时读取三行数据,并存成3x3阵列进行卷积运算,卷积后的结果传送给池化运算单元进行池化运算,池化后的结果通过缓冲单元存储到SRAM ARRAY或者通过DMA存储到外部存储器中。
本实施例的卷积神经网络运算电路,SRAM ARRAY缓存的行图像数据可以使得卷积运算只需到外部存储器中读取一帧图像即可,而不需反复读取一帧图像的几行数据,从而有效节省了***带宽;CNN运算单元可以在一个周期内就计算完一次卷积运算和池化运算,从而大大提高卷积神经网络的计算速度。
在本发明实施例中,采用外部存储器存储待处理图像;直接存取单元按行顺序读取待处理图像,将读取到的数据传输至控制单元;控制单元将数据存储至内部存储器;内部存储器缓存数据;运算单元从内部存储器读取数据并进行卷积池化运算的方式,通过内部存储器缓存数据,达到了卷积运算只需到外部存储器中读取一帧图像即可,而不需反复读取一帧图像的数据的目的,从而实现了有效节省了***带宽的技术效果,进而解决了由于卷积神经网络的卷积运算量很大造成的占用***带宽较大的技术问题。
可选地,运算单元18的数量至少为两个。
本实施例的卷积神经网络运算电路中,有至少两个CNN运算单元(即上述的运算单元18),这至少两个CNN运算单元可以根据实际需求进行级联或者并联,以降低***带宽和提高计算速度。
可选地,在各个运算单元之间采用级联结构连接的情况下,第n层的数据经过第n个运算单元的卷积池化运算后缓存到内部存储器中,由第n+1个运算单元将运算后的数据取出并进行第n+1层的卷积池化运算,其中,n为正整数。
在卷积神经网络中,往往采用的是多层级联的神经元结构,当采用两层或两层以上的网络结构时,各个CNN运算单元级联的结构可以有效的降低***带宽并提高计算速度。如果只有一个CNN运算单元,做第一层图像卷积时,需要把该图像从外部存储器中读取出来,存到SRAM ARRAY中,进行卷积池化运算后,再存回外部存储器中,当做第二层卷积时,需要把第一层处理后的数据从外部存储器中读取出来,卷积池化后再存回外部存储器中。
以1920x1080图像为例,两层卷积运算消耗的***带宽为1920x1080x4(两读两写)8MB,而采用本发明的级联结构时,如图2所示,第一层图像数据通过DMA从外部存储器中,沿实线箭头先存到SRAM ARRAY 1中,然后进入CNN运算单元1进行计算,处理后的图像不存回外部存储器,而是沿虚线箭头存入SRAM ARRAY 2中,同样缓冲操作后送入CNN运算单元2进行卷积池化处理,处理后第二层数据存回外部存储器中,这种结构的***带宽为1920x1080x2(一读一写)4MB,降低一半带宽,而且两个CNN运算单元可以同时工作,处理完两层数据的时间等于1个CNN运算单元处理一层的时间,计算速度提高了一倍。
可选地,在各个运算单元之间采用并联结构连接的情况下,各个运算单元分别处理待处理图像的部分图像,各个运算单元采用相同的卷积核进行并行卷积池化运算。
如图3所示,仍以两个CNN运算单元为例进行说明,本实施例的两个CNN运算单元并联结构可以并行处理同一帧图像以提高计算速度,将一帧图像分为两部分,上半部和下半部,上半部图像沿实线箭头经DMA存到SRAM ARRAY 1中,再进行CNN运算单元1的卷积运算,处理结构存回外部存储器,同时下半部图像沿虚线箭头经DMA存储到SRAM ARRAY 2中,经CNN运算单元2进行卷积运算,处理结果存回外部存储器,两个CNN运算单元并联结构可以使得计算速度提高一倍。
可选地,在各个运算单元之间采用并联结构连接的情况下,各个运算单元分别对待处理图像进行不同的特征提取,各个运算单元采用不同的卷积核进行并行卷积池化运算。
在卷积神经网络中,往往采用多核多平面卷积的方式,同一帧图像采用不同的卷积核卷积,提取不同的特征,CNN的并联结构也可以应用在这种场景下,如图4所示,仍以两个CNN运算单元为例进行说明,CNN运算单元1采用一种卷积核系数,而CNN运算单元2采用另外一种卷积核系数,一帧图像通过DMA读取到SRAM ARRAY1中,同时送给CNN运算单元1和CNN运算单元2,两种卷积运算同时进行,并将两帧处理图像存回外部存储器中,这种结构的带宽为1920x1080x6(1读两写)6MB,与一个CNN运算单元相比,***带宽降低了25%,计算速度提高了一倍。
可选地,在运算单元的数量为两个的情况下,两个运算单元分别提取待处理图像的轮廓信息和细节信息。
其中,一个运算单元通过同类二维采样提取待处理图像的轮廓信息,另一个通过同类二维采样提取待处理图像的细节信息。同类二维采样:一般不同分辨率的图像所包含的细节信息或轮廓信息是不同的,对于大尺寸的图像(即大分辨率的图像)细节信息比较多,而对于小尺寸的图像(即小分辨率的图像)一般轮廓信息比较全面,比如叶子,大分辨率的图像一般对于叶子的脉络细节比较清楚,而小分辨率的图像对叶子的轮廓含有的信息比较多。对于不同的分辨率的图像可以通过对图像细节采样来生成一个二维的函数f(x,y)进行存储,其中x,y代表图像位置,f(x,y)代表细节信息。
可选地,运算单元18包括卷积运算单元、池化运算单元、缓冲单元及缓冲控制单元。
可选地,卷积运算单元,用于对数据进行卷积运算,并将得到的卷积结果传输至池化运算单元;池化运算单元,与卷积运算单元连接,用于对卷积结果进行池化运算,并将得到的池化结果存储至缓冲单元;缓冲控制单元,用于将池化结果通过缓冲单元存储至内部存储器或通过直接存取单元存储至外部存储器。
可选地,外部存储器包括以下至少之一:双倍速率同步动态随机存储器、同步动态随机存储器。
其中,外部存储器由SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)或者DDR(Double Data Rata SDRAM,双倍速率同步动态随机存储器)构成,存储容量大,用来存储一帧或者几帧图像。
可选地,内部存储器包括静态存储器阵列,静态存储器阵列包括多个静态存储器,每个静态存储器用于存储不同的数据。
其中,SRAM ARRAY(静态存储器阵列)为内部存储单元,存储容量小,用来缓存图像数据,并为卷积运算提供行列数据。
本发明实施例提供的卷积神经网络运算电路,包括SRAM ARRAY(SRAM阵列),SRAMCRTL(SRAM控制逻辑),CNN运算单元,DMA和外部存储器(DDR/SDRAM);CNN运算单元由卷积运算单元、池化运算单元、输出缓冲单元和BUFFER CTRL(缓冲控制器)四个模块构成;以CNN运算单元为两个为例,两个CNN运算单元采用级联结构时,第一层的数据经过第一个CNN运算单元处理后缓存到SRAM(静态存储器中),由第二个CNN运算单元取出并进行第二层的卷积池化运算,最后再存回外部存储器(DDR/SDRAM)中,相比一个CNN运算单元的***架构,降低一半的***带宽,提高了一倍计算速度;两个CNN运算单元采用并联结构时,两个CNN运算单元分别处理同一幅图像的上半部分和下半部分,卷积核相同,并行运算,相比一个CNN运算单元的***架构,提高了一倍的计算速度;两个CNN运算单元采用并联结构时,两个CNN运算单元采用不同的卷积核,并行运算,对同一帧图像进行不同的特征提取,降低25%的***带宽,提高一倍的计算速度。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种卷积神经网络运算电路,其特征在于,包括:
外部存储器,用于存储待处理图像;
直接存取单元,与所述外部存储器连接,用于读取所述待处理图像,并将读取到的数据传输至控制单元;
控制单元,与所述直接存取单元连接,用于将所述数据存储至内部存储器;
内部存储器,与所述控制单元连接,用于缓存所述数据;
运算单元,与所述内部存储器连接,用于从所述内部存储器读取所述数据并进行卷积池化运算。
2.根据权利要求1所述的电路,其特征在于,所述运算单元的数量至少为两个。
3.根据权利要求2所述的电路,其特征在于,在各个运算单元之间采用级联结构连接的情况下,第n层的数据经过第n个运算单元的卷积池化运算后缓存到所述内部存储器中,由第n+1个运算单元将运算后的数据取出并进行第n+1层的卷积池化运算,其中,n为正整数。
4.根据权利要求2所述的电路,其特征在于,在各个运算单元之间采用并联结构连接的情况下,各个运算单元分别处理所述待处理图像的部分图像,各个运算单元采用相同的卷积核进行并行卷积池化运算。
5.根据权利要求2所述的电路,其特征在于,在各个运算单元之间采用并联结构连接的情况下,各个运算单元分别对所述待处理图像进行不同的特征提取,各个运算单元采用不同的卷积核进行并行卷积池化运算。
6.根据权利要求2所述的电路,其特征在于,在所述运算单元的数量为两个的情况下,两个运算单元分别提取所述待处理图像的轮廓信息和细节信息。
7.根据权利要求1至6中任一项所述的电路,其特征在于,所述运算单元包括卷积运算单元、池化运算单元、缓冲单元及缓冲控制单元。
8.根据权利要求7所述的电路,其特征在于,
所述卷积运算单元,用于对所述数据进行卷积运算,并将得到的卷积结果传输至所述池化运算单元;
所述池化运算单元,与所述卷积运算单元连接,用于对所述卷积结果进行池化运算,并将得到的池化结果存储至所述缓冲单元;
所述缓冲控制单元,用于将所述池化结果通过所述缓冲单元存储至所述内部存储器或通过所述直接存取单元存储至所述外部存储器。
9.根据权利要求1所述的电路,其特征在于,所述外部存储器包括以下至少之一:双倍速率同步动态随机存储器、同步动态随机存储器。
10.根据权利要求1所述的电路,其特征在于,所述内部存储器包括静态存储器阵列,所述静态存储器阵列包括多个静态存储器,每个静态存储器用于存储不同的数据。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710983547.1A CN107704923A (zh) | 2017-10-19 | 2017-10-19 | 卷积神经网络运算电路 |
PCT/CN2018/099596 WO2019076108A1 (zh) | 2017-10-19 | 2018-08-09 | 卷积神经网络运算电路 |
US16/627,674 US20210158068A1 (en) | 2017-10-19 | 2018-08-09 | Operation Circuit of Convolutional Neural Network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710983547.1A CN107704923A (zh) | 2017-10-19 | 2017-10-19 | 卷积神经网络运算电路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107704923A true CN107704923A (zh) | 2018-02-16 |
Family
ID=61182655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710983547.1A Pending CN107704923A (zh) | 2017-10-19 | 2017-10-19 | 卷积神经网络运算电路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210158068A1 (zh) |
CN (1) | CN107704923A (zh) |
WO (1) | WO2019076108A1 (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108537329A (zh) * | 2018-04-18 | 2018-09-14 | 中国科学院计算技术研究所 | 一种利用Volume R-CNN神经网络进行运算的方法和装置 |
CN108958938A (zh) * | 2018-06-29 | 2018-12-07 | 百度在线网络技术(北京)有限公司 | 数据处理方法、装置及设备 |
WO2019076108A1 (zh) * | 2017-10-19 | 2019-04-25 | 格力电器(武汉)有限公司 | 卷积神经网络运算电路 |
CN110009103A (zh) * | 2019-03-26 | 2019-07-12 | 深兰科技(上海)有限公司 | 一种深度学习卷积计算的方法和装置 |
CN110276444A (zh) * | 2019-06-04 | 2019-09-24 | 北京清微智能科技有限公司 | 基于卷积神经网络的图像处理方法及装置 |
CN110321999A (zh) * | 2018-03-30 | 2019-10-11 | 北京深鉴智能科技有限公司 | 神经网络计算图优化方法 |
CN110321064A (zh) * | 2018-03-30 | 2019-10-11 | 北京深鉴智能科技有限公司 | 用于神经网络的计算平台实现方法及*** |
WO2019206161A1 (zh) * | 2018-04-25 | 2019-10-31 | 华为技术有限公司 | 池化运算装置 |
CN110674934A (zh) * | 2019-08-26 | 2020-01-10 | 陈小柏 | 一种神经网络池化层及其运算方法 |
CN110688616A (zh) * | 2019-08-26 | 2020-01-14 | 陈小柏 | 一种基于乒乓ram的条带阵列的卷积模块及其运算方法 |
CN111461310A (zh) * | 2019-01-21 | 2020-07-28 | 三星电子株式会社 | 处理神经网络模型的神经网络设备、神经网络***和方法 |
CN111752879A (zh) * | 2020-06-22 | 2020-10-09 | 深圳鲲云信息科技有限公司 | 一种基于卷积神经网络的加速***、方法及存储介质 |
CN111984189A (zh) * | 2020-07-22 | 2020-11-24 | 深圳云天励飞技术有限公司 | 神经网络计算装置和数据读取、数据存储方法及相关设备 |
CN112470138A (zh) * | 2019-11-29 | 2021-03-09 | 深圳市大疆创新科技有限公司 | 计算装置、方法、处理器和可移动设备 |
CN112784973A (zh) * | 2019-11-04 | 2021-05-11 | 北京希姆计算科技有限公司 | 卷积运算电路、装置以及方法 |
CN113742266A (zh) * | 2021-09-10 | 2021-12-03 | 中科寒武纪科技股份有限公司 | 集成电路装置、电子设备、板卡和计算方法 |
WO2023045197A1 (zh) * | 2021-09-23 | 2023-03-30 | 苏州浪潮智能科技有限公司 | 一种图像处理方法、装置及设备 |
WO2024074072A1 (zh) * | 2022-10-08 | 2024-04-11 | 鹏城实验室 | 脉冲神经网络加速器学习方法、装置、终端及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10705967B2 (en) * | 2018-10-15 | 2020-07-07 | Intel Corporation | Programmable interface to in-memory cache processor |
JP7278150B2 (ja) * | 2019-05-23 | 2023-05-19 | キヤノン株式会社 | 画像処理装置、撮像装置、画像処理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5428567A (en) * | 1994-05-09 | 1995-06-27 | International Business Machines Corporation | Memory structure to minimize rounding/trunction errors for n-dimensional image transformation |
CN106203619A (zh) * | 2015-05-29 | 2016-12-07 | 三星电子株式会社 | 数据优化的神经网络遍历 |
KR20170023708A (ko) * | 2015-08-24 | 2017-03-06 | (주)뉴로컴즈 | 콘볼루션 신경망 컴퓨팅 장치 |
CN107169563A (zh) * | 2017-05-08 | 2017-09-15 | 中国科学院计算技术研究所 | 应用于二值权重卷积网络的处理***及方法 |
CN207352655U (zh) * | 2017-10-19 | 2018-05-11 | 珠海格力电器股份有限公司 | 卷积神经网络运算电路 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9715642B2 (en) * | 2014-08-29 | 2017-07-25 | Google Inc. | Processing images using deep neural networks |
EP3035204B1 (en) * | 2014-12-19 | 2018-08-15 | Intel Corporation | Storage device and method for performing convolution operations |
CN107239824A (zh) * | 2016-12-05 | 2017-10-10 | 北京深鉴智能科技有限公司 | 用于实现稀疏卷积神经网络加速器的装置和方法 |
CN107704923A (zh) * | 2017-10-19 | 2018-02-16 | 珠海格力电器股份有限公司 | 卷积神经网络运算电路 |
-
2017
- 2017-10-19 CN CN201710983547.1A patent/CN107704923A/zh active Pending
-
2018
- 2018-08-09 WO PCT/CN2018/099596 patent/WO2019076108A1/zh active Application Filing
- 2018-08-09 US US16/627,674 patent/US20210158068A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5428567A (en) * | 1994-05-09 | 1995-06-27 | International Business Machines Corporation | Memory structure to minimize rounding/trunction errors for n-dimensional image transformation |
CN106203619A (zh) * | 2015-05-29 | 2016-12-07 | 三星电子株式会社 | 数据优化的神经网络遍历 |
KR20170023708A (ko) * | 2015-08-24 | 2017-03-06 | (주)뉴로컴즈 | 콘볼루션 신경망 컴퓨팅 장치 |
CN107169563A (zh) * | 2017-05-08 | 2017-09-15 | 中国科学院计算技术研究所 | 应用于二值权重卷积网络的处理***及方法 |
CN207352655U (zh) * | 2017-10-19 | 2018-05-11 | 珠海格力电器股份有限公司 | 卷积神经网络运算电路 |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019076108A1 (zh) * | 2017-10-19 | 2019-04-25 | 格力电器(武汉)有限公司 | 卷积神经网络运算电路 |
CN110321999B (zh) * | 2018-03-30 | 2021-10-01 | 赛灵思电子科技(北京)有限公司 | 神经网络计算图优化方法 |
CN110321999A (zh) * | 2018-03-30 | 2019-10-11 | 北京深鉴智能科技有限公司 | 神经网络计算图优化方法 |
CN110321064A (zh) * | 2018-03-30 | 2019-10-11 | 北京深鉴智能科技有限公司 | 用于神经网络的计算平台实现方法及*** |
CN108537329A (zh) * | 2018-04-18 | 2018-09-14 | 中国科学院计算技术研究所 | 一种利用Volume R-CNN神经网络进行运算的方法和装置 |
WO2019206161A1 (zh) * | 2018-04-25 | 2019-10-31 | 华为技术有限公司 | 池化运算装置 |
CN108958938A (zh) * | 2018-06-29 | 2018-12-07 | 百度在线网络技术(北京)有限公司 | 数据处理方法、装置及设备 |
CN108958938B (zh) * | 2018-06-29 | 2020-01-14 | 百度在线网络技术(北京)有限公司 | 数据处理方法、装置及设备 |
CN111461310A (zh) * | 2019-01-21 | 2020-07-28 | 三星电子株式会社 | 处理神经网络模型的神经网络设备、神经网络***和方法 |
CN110009103A (zh) * | 2019-03-26 | 2019-07-12 | 深兰科技(上海)有限公司 | 一种深度学习卷积计算的方法和装置 |
CN110276444B (zh) * | 2019-06-04 | 2021-05-07 | 北京清微智能科技有限公司 | 基于卷积神经网络的图像处理方法及装置 |
CN110276444A (zh) * | 2019-06-04 | 2019-09-24 | 北京清微智能科技有限公司 | 基于卷积神经网络的图像处理方法及装置 |
CN110674934A (zh) * | 2019-08-26 | 2020-01-10 | 陈小柏 | 一种神经网络池化层及其运算方法 |
CN110674934B (zh) * | 2019-08-26 | 2023-05-09 | 陈小柏 | 一种神经网络池化层及其运算方法 |
CN110688616A (zh) * | 2019-08-26 | 2020-01-14 | 陈小柏 | 一种基于乒乓ram的条带阵列的卷积模块及其运算方法 |
CN110688616B (zh) * | 2019-08-26 | 2023-10-20 | 陈小柏 | 一种基于乒乓ram的条带阵列的卷积模块及其运算方法 |
CN112784973A (zh) * | 2019-11-04 | 2021-05-11 | 北京希姆计算科技有限公司 | 卷积运算电路、装置以及方法 |
WO2021102946A1 (zh) * | 2019-11-29 | 2021-06-03 | 深圳市大疆创新科技有限公司 | 计算装置、方法、处理器和可移动设备 |
CN112470138A (zh) * | 2019-11-29 | 2021-03-09 | 深圳市大疆创新科技有限公司 | 计算装置、方法、处理器和可移动设备 |
CN111752879A (zh) * | 2020-06-22 | 2020-10-09 | 深圳鲲云信息科技有限公司 | 一种基于卷积神经网络的加速***、方法及存储介质 |
CN111752879B (zh) * | 2020-06-22 | 2022-02-22 | 深圳鲲云信息科技有限公司 | 一种基于卷积神经网络的加速***、方法及存储介质 |
CN111984189A (zh) * | 2020-07-22 | 2020-11-24 | 深圳云天励飞技术有限公司 | 神经网络计算装置和数据读取、数据存储方法及相关设备 |
CN111984189B (zh) * | 2020-07-22 | 2022-05-17 | 深圳云天励飞技术股份有限公司 | 神经网络计算装置和数据读取、数据存储方法及相关设备 |
CN113742266A (zh) * | 2021-09-10 | 2021-12-03 | 中科寒武纪科技股份有限公司 | 集成电路装置、电子设备、板卡和计算方法 |
CN113742266B (zh) * | 2021-09-10 | 2024-02-06 | 中科寒武纪科技股份有限公司 | 集成电路装置、电子设备、板卡和计算方法 |
WO2023045197A1 (zh) * | 2021-09-23 | 2023-03-30 | 苏州浪潮智能科技有限公司 | 一种图像处理方法、装置及设备 |
WO2024074072A1 (zh) * | 2022-10-08 | 2024-04-11 | 鹏城实验室 | 脉冲神经网络加速器学习方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20210158068A1 (en) | 2021-05-27 |
WO2019076108A1 (zh) | 2019-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107704923A (zh) | 卷积神经网络运算电路 | |
US10459876B2 (en) | Performing concurrent operations in a processing element | |
JP7431913B2 (ja) | 畳み込みニューラルネットワークのための効率的データレイアウト | |
CN210006057U (zh) | 用于深度学习引擎的设备和*** | |
CN106022468B (zh) | 人工神经网络处理器集成电路及该集成电路的设计方法 | |
CN110197276B (zh) | 用于深度学习加速的数据体雕刻器 | |
US10943167B1 (en) | Restructuring a multi-dimensional array | |
CN109844738A (zh) | 运算处理电路和识别*** | |
CN109416756A (zh) | 卷积器及其所应用的人工智能处理装置 | |
CN110097174A (zh) | 基于fpga和行输出优先的卷积神经网络实现方法、***及装置 | |
US11797855B2 (en) | System and method of accelerating execution of a neural network | |
CN110020639B (zh) | 视频特征提取方法及相关设备 | |
CN108647774B (zh) | 一种优化稀疏性矩阵运算的神经网络方法和电路 | |
CN107633297A (zh) | 一种基于并行快速fir滤波器算法的卷积神经网络硬件加速器 | |
WO2022100165A1 (zh) | 神经网络模型的训练方法、图像处理方法及装置 | |
CN107749044A (zh) | 图像信息的池化方法及装置 | |
CN108804973B (zh) | 基于深度学习的目标检测算法的硬件架构及其执行方法 | |
CN107203808A (zh) | 一种二值卷积装置及相应的二值卷积神经网络处理器 | |
WO2022007265A1 (zh) | 一种膨胀卷积加速计算方法及装置 | |
CN110766127A (zh) | 神经网络计算专用电路及其相关计算平台与实现方法 | |
CN111353598A (zh) | 一种神经网络压缩方法、电子设备及计算机可读介质 | |
KR20240035999A (ko) | 뉴럴 프로세싱 유닛 및 컴퓨트-인-메모리 프로세싱 엘리먼트들을 사용한 하이브리드 머신 러닝 아키텍처 | |
CN109992742A (zh) | 一种信号处理方法及装置 | |
WO2019136761A1 (zh) | 一种用于识别人为动作的三维卷积装置 | |
CN207352655U (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 |