当前位置: 首页 > 专利查询>东南大学专利>正文

一种卷积神经网络循环卷积计算数据重用的系统技术方案

技术编号:14239611 阅读:273 留言:0更新日期:2016-12-21 15:08
本发明专利技术公开了一种面向粗粒度可重构系统的卷积神经网络循环卷积计算数据重用的系统,包括主控制器及连接控制模块、输入数据重用模块、卷积循环运算处理阵列、数据传输通路四部分。卷积循环运算时,本质为多个二维输入数据矩阵与多个二维权重矩阵相乘,一般这些矩阵规模都较大,相乘占据整个卷积计算的大部分时间。本发明专利技术利用粗粒度可重构阵列体系完成卷积计算过程,当接收到卷积运算请求指令后,利用寄存器轮转的方式充分发掘卷积循环计算过程的输入数据可重用性,提高了数据利用率并降低了带宽访存压力,且所设计的阵列单元是可配置的,可以完成不同循环卷积规模及步长时的卷积运算。

Convolution neural network cyclic convolution calculation data reusing system

The invention discloses a circular convolution convolution neural network oriented coarse-grained reconfigurable computing system of data reuse, including the main controller and connection control module, data input module, convolution processing cycle reuse array, data transmission path, the four part. Convolution cycle operation, the essence of a number of two-dimensional input data matrix and a number of two dimensional weight matrix multiplication, the general size of these matrices are larger, multiplying the majority of the convolution calculation. The present invention reconfigurable array system to complete the process of using coarse convolution, convolution operation when receiving a request instruction, register input data by a round robin manner to fully explore the circular convolution calculation process reusability, improve data utilization and reduce the bandwidth of memory access pressure, and the design of the array unit is configurable that can perform different convolution convolution and the step size.

【技术实现步骤摘要】

本专利技术涉及嵌入式可重构设计领域,具体是一种面向粗粒度可重构系统的卷积神经网络循环卷积计算数据重用的系统,可用于高性能可重构系统,实现卷积神经网络进行大数量循环卷积运算,尽量使用已有数据,对数据进行重用,提高运算速率,减少数据读取带宽压力。
技术介绍
可重构处理器体系结构是一种理想的应用加速平台,由于硬件结构可以根据程序的数据流图重新组织,可重构阵列已被证明其对于科学计算或多媒体应用具有良好的性能提升潜力。卷积运算在图像处理领域有着广泛的用途,例如在图像滤波、图像增强、图像分析等处理时都要用到卷积运算,图像卷积运算实质是一种矩阵运算,其特点是运算量大,并且数据复用率高,用软件计算图像卷积很难达到实时性的要求。卷积神经网络作为一种前馈多层神经网络,能够对大量有标签数据进行自动学习并从中提取复杂特征,卷积神经网络的优点在于只需要对输入图像进行较少的预处理就能够从像素图像中识别出视觉模式,并且对有较多变化的识别对象也有较好的识别效果,同时卷积神经网络的识别能力不易受到图像的畸变或简单几何变换的影响。作为多层人工神经网络研究的一个重要方向,卷积神经网络多年来一直是研究的热点。将卷积模板放在图像点阵的左上角,则卷积模板必与图像点阵中的左上角的分割矩阵重合。把它们的重合项对应相乘,之后再全部求和,就得到了第一个结果点。然后,再将卷积模板右移一列,即可求出第二个结果点。如此这样,卷积模板在图像点阵中遍历一遍,就完全可以求出一帧图像的卷积。数据的复用率很高,可是传统方式的缓存或直接从外部直接读取,由于受到数据读取带宽的限制,以及没有可配置阵列,完成多层卷积循环运算,效率较低。
技术实现思路
专利技术目的:针对现有技术中存在的问题与不足,本专利技术提供一种面向粗粒度可重构系统的卷积神经网络循环卷积计算数据重用的系统,可以加速完成大数量卷积计算的要求,降低对宽带的压力,并且卷积运算阵列是可配置的。卷积神经网络的计算性能与硬件资源的占用,是卷积神经网络在粗粒度可重构体系实现中需要进行折衷的两个方面,基于可重构处理阵列的卷积神经网络的设计目标是在满足应用性能要求的前提下,充分利用可重构阵列提供的计算资源和存储资源,利用输入图像数据重用结构,利用循环卷积运算中的高重用率,加之粗粒度可重构阵列的可配置性,在数据读取带宽,计算资源限制的情况下,完成卷积计算,达成一个较优的折衷。技术方案:一种面向粗粒度可重构系统的卷积神经网络循环卷积计算数据重用的系统,包括主控制器及连接控制模块、输入数据重用模块、卷积循环运算处理阵列和数据传输通路。所述主控制器及连接控制模块,完成外界卷积运算请求的接收,计算阵列配置信息加载,计算结果返回及对循环运行状态的监控,控制外部存储器和输入数据重用模块之间数据传输。所述输入数据重用模块,是连接外部输入数据存储器与循环卷积运算处理阵列之间的数据重用模块,完成输入数据重用,其中模块上半部分是图像矩阵宽度数量FIFO,下半部分是图像矩阵宽度数量移位寄存器。FIFO从外界存储器不断加载输入数据,分别对应卷积计算的一列,当移位寄存器根据卷积步长移动,FIFO为移位寄存器更换其中一列,之后完成一次卷积运算,达到数据重用的效果。移位寄存器用于利用上半部分FIFO部分提供更新的邻域数据。由于多个移位寄存器采用环形寻址方式,来自FIFO的数据将总是替换环形移位寄存器中最旧的数据,之后把数据传输给运算阵列完成卷积运算。此模块实现具体步骤如下:数据一次输入S(1<=S<最大图像矩阵宽度)个32位数据给FIFO,当卷积运算用过一个寄存器中数据,FIFO就会把自己的数据传输给移位寄存器,移位寄存器需更新一列K(1<=K<最大图像矩阵宽度,K为此次卷积计算卷积核矩阵宽度)个32位数据,加上原有K-1列数据,移位寄存器把K*K个数据传输给卷积计算矩阵,之后继续向后根据步长移动,同样只需更新一列,实现入输入数据重用。所述循环卷积运算处理阵列,从输入数据重用模块里获取所需输入数据,完成卷积计算,并在计算完成后将数据送出的功能。所述数据传输通路,是完成主控制器及接口控制模块,循环卷积运算处理阵列,输入数据重用模块之间的数据传输通道。进一步,主控制器及连接控制模块包括主控制和连接控制器,连接控制器有预取判断及数据重用配置控制作用,预取判断应用来判断要进行卷积运算时所需的数据是否准备就位,如果数据就位,循环卷积运算处理阵列执行卷积循环计算,如果没有,那就等待数据就位。缓存中的数据是由外部存储器中读取的,本专利技术采用直接内存存取方式读取,当需要外部数据输入时,主控制器发出向外部存储器读取数据命令,之后主控制器就不对存储读取进行控制,连接控制器会发一个停止信号给主控制器,主控制器放弃对地址总线、数据总线和有关控制总线的使用权,输入数据重用模块的数据需要更新时,就通过连接控制器,直接读取外存中的数据。循环卷积运算处理阵列包括阵列配置模块,包括阵列配置模块、存储处理单元和计算处理单元,此模块应用在匹配数据重用模块时,根据卷积计算规模及步长,阵列配置模块对计算阵列进行配置,利用阵列可用的计算资源,每次计算完成一次后重新配置阵列,计算处理单元根据计算规模进行调整,进行下一次卷积运算。所述卷积运算处理阵列配置控制器,在接口控制模块加载配置信息之后,运算阵列根据循环卷积循环规模的大小以及步长信息,可使卷积图像矩阵规模变量为从1到最大图像矩阵宽度之间取值计算,每一次卷积运算都可以对运算阵列进行重新配置,卷积核规模较小时,卷积阵列还是可以利用整个卷积计算矩阵,以此来缩短卷积计算总时长。存储计算单元结构存储指令与数据重用模块紧密关联,它在循环控制部件的驱动下,从地址队列中取地址或直接通过地址生成部件计算得到地址,向数据重用模块发出读数据请求,返回数据写入数据队列中,在循环结束部件的控制下,读取移位寄存器中数据。计算处理单元实现数据流动过程中的计算和选择功能,循环下标不断地从寄存器组中取得数据,并把数据传递给计算处理单元阵列,计算处理单元阵列按照固定的连接关系进行运算,运算的结果存储到指定的位置。循环卷积运算处理阵列应用持续流水线操作,此操作循环映射到阵列配置模块,阵列配置模块来配置循环控制变量的初值、终值和步进值,循环程序的执行不需要外部控制,各个计算阵列单元之间构成流水线链接,完成循环卷积在流水线上的调度。附图说明图1为本专利技术实施例中卷积计算的粗粒度可重构阵列体系结构图;图2为本专利技术实施例中输入数据重用模块数据轮转调度硬件结构图;图3为本专利技术实施例中粗粒度可重构卷积计算阵列中存储处理单元的结构框图;图4为本专利技术实施例中粗粒度可重构卷积计算阵列计算处理单元的结构框图;图5为本专利技术实施例中循环卷积在可重构阵列里实现的流程图。具体实施方式下面结合具体实施例,进一步阐明本专利技术,应理解这些实施例仅用于说明本专利技术而不用于限制本专利技术的范围,在阅读了本专利技术之后,本领域技术人员对本专利技术的各种等价形式的修改均落于本申请所附权利要求所限定的范围。面向粗粒度可重构系统的卷积神经网络循环卷积计算数据重用的系统,包括主控制器及连接控制模块、输入数据重用模块、卷积循环运算处理阵列和数据传输通路。主控制器及连接控制模块,完成外界卷积运算请求的接收,计算阵列配置信息加载,计算本文档来自技高网
...
一种卷积神经网络循环卷积计算数据重用的系统

【技术保护点】
一种面向粗粒度可重构系统的卷积神经网络循环卷积计算数据重用的系统,其特征在于:包括主控制器及连接控制模块、输入数据重用模块、卷积循环运算处理阵列和数据传输通路;所述主控制器及连接控制模块,完成外界卷积运算请求的接收,计算阵列配置信息加载,计算结果返回及对循环运行状态的监控,控制外部存储器和输入数据重用模块之间数据传输;所述输入数据重用模块,是连接外部输入数据存储器与循环卷积运算处理阵列之间的数据重用模块,其中模块上半部分是图像矩阵宽度数量FIFO,下半部分是图像矩阵宽度数量移位寄存器;所述循环卷积运算处理阵列,从输入数据重用模块里获取所需输入数据,完成卷积计算,并在计算完成后将数据送出的功能。

【技术特征摘要】
1.一种面向粗粒度可重构系统的卷积神经网络循环卷积计算数据重用的系统,其特征在于:包括主控制器及连接控制模块、输入数据重用模块、卷积循环运算处理阵列和数据传输通路;所述主控制器及连接控制模块,完成外界卷积运算请求的接收,计算阵列配置信息加载,计算结果返回及对循环运行状态的监控,控制外部存储器和输入数据重用模块之间数据传输;所述输入数据重用模块,是连接外部输入数据存储器与循环卷积运算处理阵列之间的数据重用模块,其中模块上半部分是图像矩阵宽度数量FIFO,下半部分是图像矩阵宽度数量移位寄存器;所述循环卷积运算处理阵列,从输入数据重用模块里获取所需输入数据,完成卷积计算,并在计算完成后将数据送出的功能。2.所述数据传输通路,是完成主控制器及接口控制模块,循环卷积运算处理阵列,输入数据重用模块之间的数据传输通道。3.如权利要求1所述的面向粗粒度可重构系统的卷积神经网络循环卷积计算数据重用的系统,其特征在于:主控制器及连接控制模块包括主控制和连接控制器,连接控制器有预取判断及数据重用配置控制作用,预取判断应用来判断要进行卷积运算时所需的数据是否准备就位,如果数据就位,循环卷积运算处理阵列执行卷积循环计算,如果没有,那就等待数据就位;缓存中的数据是由外部存储器中读取的,采用直接内存存取方式读取,当需要外部数据输入时,主控制器发出向外部存储器读取数据命令,之后主控制器就不对存储读取进...

【专利技术属性】
技术研发人员:刘波朱智洋陈壮阮星龚宇曹鹏杨军
申请(专利权)人:东南大学
类型:发明
国别省市:江苏;32

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

1