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

一种基于并行快速FIR滤波器算法的卷积神经网络硬件加速器制造技术

技术编号:17139244 阅读:92 留言:0更新日期:2018-01-27 14:59
本发明专利技术公开了一种基于并行快速FIR滤波器算法的卷积神经网络硬件加速器。本加速器主要由计算逻辑和存储单元两大部分构成,计算逻辑主要包含多用处理器,快速卷积单元以及由快速卷积单元构成的卷积计算阵列;存储单元包括像素存储器,权值缓存,附加存储器和片外动态存储器。本加速器可以在三个层面并行处理卷积神经网络的计算,分别是行(列)并行,层内并行和层间并行。由于本加速器可以适用在多种并行度的场合,所以可以非常高效地处理卷积神经网络的计算,并且能够达到可观的数据吞吐率。

A convolution neural network hardware accelerator based on parallel fast FIR filter algorithm

The invention discloses a convolution neural network hardware accelerator based on parallel fast FIR filter algorithm. The accelerator is mainly composed of computing logic and memory unit of two parts, mainly includes the multi processor logic calculation, fast convolution and convolution unit composed of fast convolution computation element array; the storage unit includes a pixel memory, cache memory and additional weights, a dynamic memory. This accelerator can handle convolution neural networks simultaneously at three levels, which are row (column) parallel, layer parallel and interlayer parallel. Because the accelerator can be applied to many parallel degree occasions, it can handle the computation of convolution neural network very efficiently, and achieve considerable data throughput.

【技术实现步骤摘要】
一种基于并行快速FIR滤波器算法的卷积神经网络硬件加速器
本专利技术设计计算机及电子信息
,特别涉及一种基于并行快速FIR滤波器算法的卷积神经网络硬件加速器。
技术介绍
卷积神经网络(CNN)是当今最流行的深度学习算法之一。由于它在图像和声音识别等方面卓越的表现,现已在学术和工业界被广泛地应用。将基于卷积神经网络算法的识别系统应用在本地处理器上有着巨大的前景,也是未来发展的方向。然而由于深度卷积神经网络有着很高的计算复杂度,一般专用的图形处理器才能做快速的训练和识别,但是并不能减少计算复杂度。卷积神经网络主要由卷积层、池化层和全连接层构成一个前馈架构,每一层接受上一层的输出当作其输入,并且提供自己的输出结果给下一层。卷积层中的卷积操作承担了卷积神经网络的大部分计算并且在实际应用中占据着主要的功耗。池化层分为最大池化和平均池化两种,一般现在使用的都是最大池化。并行快速有限冲击响应(FIR)算法(简称并行FFA)是算法强度缩减在并行FIR滤波器中的应用。强度缩减利用共享子结构达到了缩减硬件复杂度的效果。在一个VLSI实现或者一个可编程DSP实现的迭代周期中,用这种变换可以降低硅面积和功耗。基于并行快速有限脉冲响应(FIR)算法,本文设计了针对深度卷积神经网络的硬件加速器架构。基于并行快速FIR算法的快速卷积单元能够在根本上减小卷积的计算复杂度并且同时输出多个神经元。
技术实现思路
本专利技术旨在解决深度卷积神经网络计算复杂度高,并行度低等技术问题,或至少提出一种有用的商业选择。为此本专利技术的目的在于提出一种基于并行快速FIR滤波器算法的卷积神经网络硬件加速器,用来完成卷积神经网络中的高复杂度卷积运算,并且在三种层面上提高计算并行度,提高数据吞吐率。从该计算模块的整体上来看,其包含了:1.P(设卷积核大小为k×k)个多用处理器,用于接收输入像素神经元,完成位宽转换、卷积、加法树、线性修正、最大池化等操作,并把结果存入相应的存储单元。2.像素存储器,用于存储部分输入图片及特征图片。3.权值缓存,用于缓存部分卷积核的权值。4.附加存储器,用于存储输入图片和特征图片卷积计算的中间结果。5.片外动态存储器,用于存储全部的卷积核权值和要处理的整幅输入图片。在基于并行快速FIR滤波器算法的卷积神经网络硬件加速器的一些实施例中,多用处理器包含了:1.位宽转换器,用于将存储数据的位宽和计算数据的位宽进行转换,为了减小需要保存数据的存储器资源,存储数据和计算数据被设置成了不同的位宽大小。2.T个卷积计算阵列,每个卷积计算阵列用于完成一幅图像的二维卷积。3.加法压缩器,用于将多个卷积计算阵列的结果相加,功能类似于加法树,但比加法树高效的多。4.线性修正单元,用于将偏置和加法压缩器计算的结果进行相加,并完成线性修正操作。5.最大池化单元,用于完成最大池化操作。在基于并行快速FIR滤波器算法的卷积神经网络硬件加速器的一些实施例中,卷积计算阵列包含了:k×(k-1)个快速卷积单元,每个快速卷积单元由并行快速FIR算法导出,用于计算一幅输入图片或者特征图片某一行(列)上的一维卷积,每个快速卷积单元同时处理并同时输出k个特征图片像素(神经元)附图说明下面结合附图和具体实施方式对本专利技术做更进一步的具体说明,本专利技术的上述和/或其他方面的优点将会变得更加清楚。图1是本专利技术的加速器整体结构图。图2是本专利技术中的多用处理器架构图。图3是本专利技术中由快速卷积单元组成的卷积计算阵列图。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出。其中自始至终使用相同的名称表示相同或有类似功能的模块。下面通过参考附图描述的实施示例来具体说明。如图1所示为本专利技术的整体结构图。该基于并行快速FIR滤波器算法的卷积神经网络硬件加速器包含了:1.P(设卷积核大小为k×k)个多用处理器,用于接收输入像素神经元,完成位宽转换、卷积、加法树、线性修正、最大池化等操作,并把结果存入相应的存储单元。2.像素存储器,用于存储部分输入图片及特征图片。3.权值缓存,用于缓存部分卷积核的权值。4.附加存储器,用于存储输入图片和特征图片卷积计算的中间结果。5.片外动态存储器,用于存储全部的卷积核权值和要处理的整幅输入图片。每个多用处理器用于生成一幅输出特征图片,因此整体架构可同时生成P幅输出特征图片。如图2所示是一个多用处理器的内部详细结构图,包含了:1.位宽转换器,用于将存储数据的位宽和计算数据的位宽进行转换,为了减小需要保存数据的存储器资源,存储数据和计算数据被设置成了不同的位宽大小。2.T个卷积计算阵列,每个卷积计算阵列用于完成一幅图像的二维卷积。3.加法压缩器,用于将多个卷积计算阵列的结果相加,功能类似于加法树,但比加法树高效的多。4.线性修正单元,用于将偏置和加法压缩器计算的结果进行相加,并完成线性修正操作。5.最大池化单元,用于完成最大池化操作。其中卷积计算阵列是多用处理器的核心计算单元,每个卷积计算阵列用于处理一幅输入特征图片,一个多用处理器包含了T个卷积计算阵列,因此可以同时处理T幅输入特征图片,整个处理器可以同时并行处理PT幅输入特征图片。由于输入特征图片是复用的,因此实际输入的特征图片只有T幅。如图3所示,卷积计算阵列由k×(k-1)个快速卷积单元构成,每个快速卷积单元由并行快速FIR算法导出,用于计算一幅输入图片或者特征图片某一行(列)上的一维卷积,每个快速卷积单元同时处理并同时输出k个特征图片像素(神经元)。由于一个二维k×k卷积是由k个一维卷积相加构成,因此一个卷积计算阵列可以同时并行处理(k-1)个二维卷积。下面详述本处理器是如何在三个层面进行并行处理的:在进行卷积计算时,在每个计算周期中,T幅输入特征图片,每幅特征图片的(2k-2)行,每行的k个像素同时输入,即同时输入T×(2k-2)×k个像素。在行列并行层面,每个卷积计算阵列可以同时处理2k-2行(列)像素数据同时输出k-1行(列)像素数据;在每一行(列)的方向上,每个快速卷积单元可以同时处理k个像素数据,同时输出k个像素数据。在层内并行层面,首先将像素存储器里的像素数据通过位宽转换器把位宽转换成快速卷积单元需要的位宽,然后T个卷积计算阵列同时处理T幅输入图像的2k-2行(列)像素数据,再通过加法压缩器将多个卷积计算阵列的结果相加,如果相加的和是中间结果,那么将中间结果存入附加存储器,如果相加的和是最终结果,那么将最终结果加上偏置,同时用线性修正单元将其进行修正,再将结果存入附加存储器。在将像素数据存入附加存储器之前,需要将数据位宽转换成存储数据位宽。最后,附加存储器中存储的像素数据根据不同的场合决定是否用最大池化单元对其进行最大池化,然后将结果存回像素存储器。这样就构成了一个完整的多用处理器,每个多用处理器输出一幅输出特征图片,整体架构由P个多用处理器构成,那么可以同时处理T幅输入图片同时生成P幅输出图片。在层间并行层面,可以将多种不同的计算同时并行处理,例如,在进行卷积计算的同时,可以同时从片外动态存储器加载原始图像数据,也可以同时进行最大池化操作;当得到全连接层的部分输入图片像素数据后,在进行卷积或者最大池化操作的同时可以进行全连接层的乘加操作。综上所述,利用本专利技术实施例提出的基于本文档来自技高网...
一种基于并行快速FIR滤波器算法的卷积神经网络硬件加速器

【技术保护点】
一种基于并行快速FIR滤波器算法的卷积神经网络硬件加速器,包括:多用处理器,用于接收输入像素神经元,完成位宽转换、卷积、加法树、线性修正、最大池化等操作,并把结果存入相应的存储单元。像素存储器,用于存储部分输入图片及特征图片。权值缓存,用于缓存部分卷积核的权值。附加存储器,用于存储输入图片和特征图片卷积计算的中间结果。片外动态存储器,用于存储全部的卷积核权值和要处理的整幅输入图片。

【技术特征摘要】
1.一种基于并行快速FIR滤波器算法的卷积神经网络硬件加速器,包括:多用处理器,用于接收输入像素神经元,完成位宽转换、卷积、加法树、线性修正、最大池化等操作,并把结果存入相应的存储单元。像素存储器,用于存储部分输入图片及特征图片。权值缓存,用于缓存部分卷积核的权值。附加存储器,用于存储输入图片和特征图片卷积计算的中间结果。片外动态存储器,用于存储全部的卷积核权值和要处理的整幅输入图片。2.如权利要求1所述的多用处理器,包括:位宽转换器,用于将存储数据的位宽和计算...

【专利技术属性】
技术研发人员:王中风王稷琛林军
申请(专利权)人:南京大学
类型:发明
国别省市:江苏,32

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

1