【技术实现步骤摘要】
一种基于快速滤波算法的卷积神经网络加速器电路
本专利技术属于数字信号处理及数字集成电路设计领域,更具体涉及一种基于快速滤波算法的卷积神经网络加速器电路,其主要应用领域包括图像识别、图像滤波和图像压缩等。
技术介绍
卷积神经网络(CNN)是起源于人工神经网络的深度学习算法,它在对图像的处理中具有较强的抗位移和形变干扰的能力。同时由于CNN在解决高级抽象认知问题上有着显著的成果,使得其在图像分类、模式识别、人脸检测等领域得到越来越广泛的应用。其中,图像中手写字符的识别经常会用到卷积神经网络算法。在卷积神经网络算法中,用于特征提取的卷积运算可以看成是一个二维的滤波器。但是,CNN涉及的计算常常需要大量的时间和计算资源。因此,为了促进高速识别,研究者们提出了多种基于FPGA平台的CNN加速器,其中有文献表示卷积层的计算占整个神经网络计算的90%以上。更重要的是,当前用于图像识别的CNN网络结构是以采用小型滤波器的更深层拓扑为趋势的。这时如果还对小型滤波器使用传统的卷积算法,即利用直接卷积结构计算输出特征图中的每个元素,则会降低硬件效率。比如有文献在采用直接卷积结构的基础上提出了增加足够的计算资源来并行执行卷积计算从而产生输出特征图的一行值,这种方法虽然提高了计算性能(GOPS),但是这种计算模式会降低计算单元的利用率,同时消耗大量硬件资源。所以,当算法本身可以更高效时,便能实现更高的硬件效率。如今,很多研究开始尝试各种方法来降低网络的算法复杂度,比如采用量化或以FFT和卷积定理方式来近似卷积层。快速Winograd算法也可以用于推导复杂度低的有效算法,使其在具有小 ...
【技术保护点】
1.一种基于快速滤波算法的卷积神经网络加速器电路,其特征在于,包括:输入数据缓存RAM单元、卷积核系数及偏置值缓存RAM单元、行缓存FIFO单元、卷积计算加速单元、偏置&激活函数&池化计算单元、全连接层权值缓存RAM单元、池化层RAM阵列单元、激活函数sigmoid模块及全连接层计算单元。同时,控制单元包括输入数据及卷积核数据缓存控制单元、行缓存循环控制单元、池化数据RAM存储器控制单元、全连接层权值缓存控制单元。所述输入数据缓存RAM单元分别和输入数据及卷积核数据缓存控制单元、行缓存FIFO单元相连接,所述行缓存FIFO单元分别和卷积计算加速单元、池化层RAM阵列单元相连接,卷积核系数及偏置值缓存RAM单元分别和输入数据及卷积核数据缓存控制单元、卷积计算加速单元相连接,所述卷积计算加速单元和偏置&激活函数&池化计算单元相连接,池化层RAM阵列单元分别和池化数据RAM存储器控制单元、行缓存FIFO单元、偏置&激活函数&池化计算单元及全连接层计算单元相连接,全连接层计算单元分别和激活函数sigmoid模块、全连接层权值缓存RAM单元相连接, ...
【技术特征摘要】
1.一种基于快速滤波算法的卷积神经网络加速器电路,其特征在于,包括:输入数据缓存RAM单元、卷积核系数及偏置值缓存RAM单元、行缓存FIFO单元、卷积计算加速单元、偏置&激活函数&池化计算单元、全连接层权值缓存RAM单元、池化层RAM阵列单元、激活函数sigmoid模块及全连接层计算单元。同时,控制单元包括输入数据及卷积核数据缓存控制单元、行缓存循环控制单元、池化数据RAM存储器控制单元、全连接层权值缓存控制单元。所述输入数据缓存RAM单元分别和输入数据及卷积核数据缓存控制单元、行缓存FIFO单元相连接,所述行缓存FIFO单元分别和卷积计算加速单元、池化层RAM阵列单元相连接,卷积核系数及偏置值缓存RAM单元分别和输入数据及卷积核数据缓存控制单元、卷积计算加速单元相连接,所述卷积计算加速单元和偏置&激活函数&池化计算单元相连接,池化层RAM阵列单元分别和池化数据RAM存储器控制单元、行缓存FIFO单元、偏置&激活函数&池化计算单元及全连接层计算单元相连接,全连接层计算单元分别和激活函数sigmoid模块、全连接层权值缓存RAM单元相连接,所述全连接层权值缓存RAM单元和全连接层权值缓存控制单元相连接,其中,输入数据缓存RAM单元用于存储原始图像数据,卷积核系数及偏置值缓存RAM单元用于存储不同的卷积层中卷积核数据及偏置值数据,行缓存FIFO单元用于缓存卷积运算中卷积窗口内的特征数据,卷积计算加速单元用于实现快速滤波算法,以完成特征提取的任务,偏置&激活函数&池化计算单元用于实现非线性变换及下采样,全连接层权值缓存RAM单元用于存储完成神经元全连接的权值数据,池化层RAM阵列单元用于存储池化层中下采样的结果,激活函数sigmoid模块用于实现激活函数的拟合,及全连接层计算单元用于实现特征分类的硬件电路。2.根据权利要求1所述的一种基于快速滤波算法的卷积神经网络加速器电路,其特征在于,所述卷积神经网络加速器电路是在FPGA上实现的逐层加速硬件架构,通过利用快速滤波算法,该架构并没有为每层都设计特定的硬件,而是设计一组硬件,然后将其重用于所需要使用的不同层中,其中行缓存循环控制单元决定了何时启动每个硬件单元,实现CNN中多个层的计算,实现了一个卷积层,该卷积层被重用于网络中的任何卷积层。3.根据权利要求1所述的一种基于快速滤波算法的卷积神经网络加速器电路,其特征在于,所述卷积计算加速单元是基于快速滤波算法实现的,二维的快速滤波算法更适用于卷积神经网络的二维矩阵卷积,当为4并行输出时,为了便于理解,只演示一张输入特征图的卷积过程,卷积核用x(i,j)表示,输出用Y(m,n)表示,卷积计算公式如式(1)所示,其中N表示卷积核的尺寸;M表示输出特征图的尺寸,当用快速滤波器算法实现二维卷积运算时,当为4并...
【专利技术属性】
技术研发人员:王巍,周凯利,王伊昌,王广,赵汝法,袁军,
申请(专利权)人:重庆邮电大学,
类型:发明
国别省市:重庆,50
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。