卷积神经网络运算电路制造技术

技术编号:17304912 阅读:58 留言:0更新日期:2018-02-18 23:24
本发明专利技术公开了一种卷积神经网络运算电路。其中,该电路包括:外部存储器,用于存储待处理图像;直接存取单元,与外部存储器连接,用于按行顺序读取待处理图像,将读取到的数据传输至控制单元;控制单元,与直接存取单元连接,用于将数据存储至内部存储器;内部存储器,与控制单元连接,用于缓存数据;运算单元,与内部存储器连接,用于从内部存储器读取数据并进行卷积池化运算。本发明专利技术解决了由于卷积神经网络的卷积运算量很大造成的占用系统带宽较大的技术问题。

Convolution neural network operation circuit

The invention discloses an operation circuit of a convolution neural network. Among them, the circuit includes an external memory, for storing the image to be processed; direct access unit is connected to the external memory, used to read the image to be processed according to the order, will be transmitted to the control unit to read data; control unit is connected with the direct access unit for storing the data into the internal memory; internal memory connection and the control unit is used to cache data; computing unit, connected with the internal memory for reading data from the internal memory and convolution operation pool. The invention solves the technical problem that the bandwidth of the occupying system is large due to the large volume of convolution operation of the convolution neural network.

【技术实现步骤摘要】
卷积神经网络运算电路
本专利技术涉及图像处理领域,具体而言,涉及一种卷积神经网络运算电路。
技术介绍
卷积神经网络(ConvolutionalNeuralNetwork,CNN)作为人工神经网络的一种,已成为当前语音分析和图像识别领域的研究热点。卷积神经网络是一个多层的神经网络,每层由多个二维平面构成,而每个平面都是由不同的卷积核卷积而成,卷积之后的图层通过池化(Pooling)处理后生成特征图谱(featuremap),传输给下层网络。卷积神经网络的卷积运算量很大,而且每层网络都需要卷积运算,做一次识别需要多层卷积核及多平面卷积,普通的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(DirectMemoryAccess,存储器直接访问)(即上述的直接存取单元12)读取待处理图像(例如按待处理图像的行顺序读取),将其传送给SRAMCTRL(StaticRAM,静态存储器控制)模块,即上述的控制单元14,SRAMCTRL同样按行顺序存储到SRAMARRAY(静态存储器阵列)中(即上述的内部存储器16),假设图2中SRAMARRAY1由三块SRAM构成,每块SRAM的存储容量为1行图像(以1920x1080图像为例,存储容量为1920Byte),三块SRAM则分别存储第N行、N+1行和N+2行的数据,当三行数据全部换成完成后,CNN运算单元(即上述的运算单元18)的BUFFERCTRL(即后续的缓冲控制单元)同时读取三行数据,并存成3x3阵列进行卷积运算,卷积后的结果传送给池化运算单元进行池化运算,池化后的结果通过缓冲单元存储到SRAMARRAY或者通过DMA存储到外部存储器中。本实施例的卷积神经网络运算电路,SRAMARRAY缓存的行图像数据可以使得卷积运算只需到外部存储器中读取一帧图像即可,而不需反复读取一帧图像的几行数据,从而有效节省了系统带宽;CNN运算单元可以在一个周期内就计算完一次卷积运算和池化运算,从而大大提高卷积神经网络的计算速度。在本专利技术实施例中,采用外部存储器存储待处理图像;直接存取单元按行顺序读取待处理图像,将读取到的数据传输至控制单元;控制单元将数据存储至内部存储器;内部存储器缓存数据;运算单元本文档来自技高网
...
卷积神经网络运算电路

【技术保护点】
一种卷积神经网络运算电路,其特征在于,包括:外部存储器,用于存储待处理图像;直接存取单元,与所述外部存储器连接,用于读取所述待处理图像,并将读取到的数据传输至控制单元;控制单元,与所述直接存取单元连接,用于将所述数据存储至内部存储器;内部存储器,与所述控制单元连接,用于缓存所述数据;运算单元,与所述内部存储器连接,用于从所述内部存储器读取所述数据并进行卷积池化运算。

【技术特征摘要】
1.一种卷积神经网络运算电路,其特征在于,包括:外部存储器,用于存储待处理图像;直接存取单元,与所述外部存储器连接,用于读取所述待处理图像,并将读取到的数据传输至控制单元;控制单元,与所述直接存取单元连接,用于将所述数据存储至内部存储器;内部存储器,与所述控制单元连接,用于缓存所述数据;运算单元,与所述内部存储器连接,用于从所述内部存储器读取所述数据并进行卷积池化运算。2.根据权利要求1所述的电路,其特征在于,所述运算单元的数量至少为两个。3.根据权利要求2所述的电路,其特征在于,在各个运算单元之间采用级联结构连接的情况下,第n层的数据经过第n个运算单元的卷积池化运算后缓存到所述内部存储器中,由第n+1个运算单元将运算后的数据取出并进行第n+1层的卷积池化运算,其中,n为正整数。4.根据权利要求2所述的电路,其特征在于,在各个运算单元之间采用并联结构连接的情况下,各个运算单元分别处理所述待处理图像的部分图像,各个运算单元采用相同的卷积核进行并行卷积池化运算。5.根据权利要求2所述的电路,其特征在于,在各个运算单元之间采用并联结构连接的情况下,各个运算单元分别...

【专利技术属性】
技术研发人员:陈恒易冬柏方励
申请(专利权)人:珠海格力电器股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1