一种卷积神经网络的加速装置及方法制造方法及图纸

技术编号:18972826 阅读:42 留言:0更新日期:2018-09-19 03:49
本发明专利技术公开了一种卷积神经网络的加速装置及方法,包括图像输入模块,用于将视频图像的像素点和卷积核输入到卷积神经网络中;乘积控制模块,当收到图像输入模块输入的图像信息后,该乘积控制模块控制乘积模块做乘法运算;乘积模块,将输入像素点与卷积核做乘法运算;自加控制模块,获取乘积模块的运算结果,并控制自加模块完成对应运算;自加模块,完成输入像素点与卷积核对应行的对应乘积的加法运算及不同行之间的加法运算。本发明专利技术的一种卷积神经网络的加速装置及方法与现有技术相比,可以做到低功耗,实现卷积神经网络功耗要低于CPU和GPU的方案,该设计具有高性能、低功耗、通用性等特点,实用性强,适用范围广泛,具有广阔的应用前景。

An accelerating device and method for convolution neural network

The invention discloses an accelerating device and method of convolution neural network, including an image input module for inputting pixel points and convolution kernels of video images into the convolution neural network, and a product control module which controls the product module to do multiplication when the image information input by the image input module is received. Operations; product module, the input pixels and convolution kernel for multiplication; self-adding control module, to obtain the operation results of the product module, and control the self-adding module to complete the corresponding operation; self-adding module, to complete the corresponding product of the input pixels and convolution kernel lines of the corresponding addition operation and addition between different lines. Compared with the existing technology, the accelerator and method of the convolutional neural network of the invention can achieve low power consumption and realize the scheme that the power consumption of the convolutional neural network is lower than that of the CPU and GPU. The design has the characteristics of high performance, low power consumption, versatility, strong practicability, wide application range and broad application prospect.

【技术实现步骤摘要】
一种卷积神经网络的加速装置及方法
本专利技术涉及计算机应用领域,具体地说是一种卷积神经网络的加速装置及方法。
技术介绍
卷积神经网络是近年发展起来,并引起广泛重视的一种高效识别方法。20世纪60年代,Hubel和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现其独特的网络结构可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络(ConvolutionalNeuralNetworks-简称CNN)。CNN结构中包括特征提取层,每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征。一旦该局部特征被提取后,它与其它特征间的位置关系也随之确定下来。这个过程是通过输入图像与卷积核做大量的卷积操作实现的。基于此,本专利技术提出了一种性能和功耗相较于CPU、GPU更具有优势的卷积神经网络的加速技术。
技术实现思路
本专利技术的技术任务是针对以上不足之处,提供一种卷积神经网络的加速装置及方法。一种卷积神经网络的加速装置,包括,图像输入模块,用于将视频图像的像素点和卷积核输入到卷积神经网络中;乘积控制模块,当收到图像输入模块输入的图像信息后,该乘积控制模块控制乘积模块做乘法运算;乘积模块,将输入像素点与卷积核做乘法运算;自加控制模块,获取乘积模块的运算结果,并控制自加模块完成对应运算;自加模块,完成输入像素点与卷积核对应行的对应乘积的加法运算及不同行之间的加法运算。所述自加模块包括行自加模块和列自加模块,行自加模块实现若干输入像素点与卷积核对应行的对应乘积的加法运算;列自加模块实现行自加模块不同行之间的加法运算,相对应的,自加控制模块包括行自加控制模块和列自加控制模块。所述自加模块运算后的数据存储在寄存器中,其中行自加模块运算完成后的数据经寄存器暂存后,发送至列自加控制模块中,再经列自加模块运算完成后,存储在其它寄存器中。一种卷积神经网络的加速方法,基于上述卷积神经网络的加速装置,其实现过程为:一、首先通过图像输入模块获取输入视频图像的像素点和卷积核;二、通过乘积控制模块,对不同维度的卷积核和不同步长的卷积运算发出运算控制信息,卷积计算单元的乘积模块将输入像素点与卷积核做乘法运算;三、通过自加控制模块,对不同维度的卷积核和不同步长的卷积运算发出运算控制信息,自加模块完成输入像素点与卷积核对应行的对应乘积的加法运算及不同行之间的加法运算,从而实现视频图像的卷积运算,完成卷积神经网络的加速过程。所述步骤一中输入的视频图像的像素点组成i*j的矩阵,卷积核组成m*n的矩阵,其中i、j分别代表是图像的第i行和第j列,m、m分别代表是卷积核的第m行和第n列,相对应的,在步骤二、三中的运算则是计算像素点Xij和卷积核Wmn。所述步骤二中,乘积控制模块负责选取对应的卷积核Wmn,然后由乘积模块将输入像素点Xij与卷积核Wmn做乘法运算,运算后的结果发送至步骤三中的自加控制模块。所述步骤三中,自加模块的行自加模块实现若干输入像素点Xij与卷积核对应行的对应乘积的加法运算,然后将运算结果存储在寄存器中;列自加模块实现行自加模块不同行之间的加法运算,然后将运算结果存储在其它寄存器中。所述步骤二、步骤三的具体实现过程为:第1行中的像素点,相邻n个点依次分别与W11,W12,……W1n做乘法,n个乘积值依次输入到行自加模块,行自加控制模块控制将相邻n个乘积值做加法,然后送到列自加模块;同时行自加控制模块把送入到行自加模块的后j-n个乘积值做加法运算,等待再来一个乘积值后做加法运算,再送到列自加模块,依次类推;该过程把输入图像同一行相邻的n个像素与卷积核的乘积做加法运算;n个乘积值的和送到列自加模块做移位操作,等待与下m-1行相同列位置的乘积值做加法运算,得到卷积结果,具体运算公式如下:Yab=(XabxW11+Xa(b+1)xW12+……+Xa(b+n-1)xW1n)+(X(a+1)bxW21+X(a+1)(b+1)xW22+……+X(a+1)(b+n-1)xW2n)+……+(X(a+m-1)bxWm1+X(a+m-1)(b+1)xWm2+……+X(a+m-1)(b+n-1)xWmn)。在该公式中,a、b表示卷积后的第a行、第b列,括号里面的加法运算是在行自加模块中实现的,括号外的加法运算是在列自加模块中实现的,乘积值是在乘积模块中实现的;且为保持卷积后的维度与输入图像一致,将ixj的图像在四周补0。本专利技术的一种卷积神经网络的加速装置及方法和现有技术相比,具有以下有益效果:本专利技术的一种卷积神经网络的加速装置及方法,通过对视频图像做卷积运算,不仅可以达到高性能,实现不同卷积核、不同步长的卷积操作,增加了卷积计算单元的通用性,还可以做到低功耗,实现卷积神经网络功耗要低于CPU和GPU的方案,该设计具有高性能、低功耗、通用性等特点,实用性强,适用范围广泛,具有广阔的应用前景。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。附图1是卷积神经网络的加速装置示例图。附图2是输入图像5X5补0后的效果图。附图3是3X3卷积核示例图。具体实施方式为了使本
的人员更好地理解本专利技术的方案,下面结合具体实施方式对本专利技术作进一步的详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如附图1所示,一种卷积神经网络的加速装置,包括,图像输入模块,用于将视频图像的像素点和卷积核输入到卷积神经网络中;乘积控制模块,当收到图像输入模块输入的图像信息后,该乘积控制模块控制乘积模块做乘法运算;乘积模块,将输入像素点与卷积核做乘法运算;自加控制模块,获取乘积模块的运算结果,并控制自加模块完成对应运算;自加模块,完成输入像素点与卷积核对应行的对应乘积的加法运算及不同行之间的加法运算。所述自加模块包括行自加模块和列自加模块,行自加模块实现若干输入像素点与卷积核对应行的对应乘积的加法运算;列自加模块实现行自加模块不同行之间的加法运算,相对应的,自加控制模块包括行自加控制模块和列自加控制模块。所述自加模块运算后的数据存储在寄存器中,其中行自加模块运算完成后的数据经寄存器暂存后,发送至列自加控制模块中,再经列自加模块运算完成后,存储在其它寄存器中。一种卷积神经网络的加速方法,基于上述卷积神经网络的加速装置,其实现过程为:一、首先通过图像输入模块获取输入视频图像的像素点和卷积核;二、通过乘积控制模块,对不同维度的卷积核和不同步长的卷积运算发出运算控制信息,卷积计算单元的乘积模块将输入像素点与卷积核做乘法运算;三、通过自加控制模块,对不同维度的卷积核和不同步长的卷积运算发出运算控制信息,自加模块完成输入像素点与卷积核对应行的对应乘积的加法运算及不同行之间的加法运算,从而实现视频图像的卷积运算,完成卷积神经网络的加速过程。所述步骤一中输入的视频图像的像素点组成i*j的矩阵,卷积核组成m*n的矩阵,其中i、j分别代表是图像本文档来自技高网
...

【技术保护点】
1.一种卷积神经网络的加速装置,其特征在于,包括,图像输入模块,用于将视频图像的像素点和卷积核输入到卷积神经网络中;乘积控制模块,当收到图像输入模块输入的图像信息后,该乘积控制模块控制乘积模块做乘法运算;乘积模块,将输入像素点与卷积核做乘法运算;自加控制模块,获取乘积模块的运算结果,并控制自加模块完成对应运算;自加模块,完成输入像素点与卷积核对应行的对应乘积的加法运算及不同行之间的加法运算。

【技术特征摘要】
1.一种卷积神经网络的加速装置,其特征在于,包括,图像输入模块,用于将视频图像的像素点和卷积核输入到卷积神经网络中;乘积控制模块,当收到图像输入模块输入的图像信息后,该乘积控制模块控制乘积模块做乘法运算;乘积模块,将输入像素点与卷积核做乘法运算;自加控制模块,获取乘积模块的运算结果,并控制自加模块完成对应运算;自加模块,完成输入像素点与卷积核对应行的对应乘积的加法运算及不同行之间的加法运算。2.根据权利要求1所述的一种卷积神经网络的加速装置,其特征在于,所述自加模块包括行自加模块和列自加模块,行自加模块实现若干输入像素点与卷积核对应行的对应乘积的加法运算;列自加模块实现行自加模块不同行之间的加法运算,相对应的,自加控制模块包括行自加控制模块和列自加控制模块。3.根据权利要求2所述的一种卷积神经网络的加速装置,其特征在于,所述自加模块运算后的数据存储在寄存器中,其中行自加模块运算完成后的数据经寄存器暂存后,发送至列自加控制模块中,再经列自加模块运算完成后,存储在其它寄存器中。4.一种卷积神经网络的加速方法,其特征在于,基于上述卷积神经网络的加速装置,其实现过程为:一、首先通过图像输入模块获取输入视频图像的像素点和卷积核;二、通过乘积控制模块,对不同维度的卷积核和不同步长的卷积运算发出运算控制信息,卷积计算单元的乘积模块将输入像素点与卷积核做乘法运算;三、通过自加控制模块,对不同维度的卷积核和不同步长的卷积运算发出运算控制信息,自加模块完成输入像素点与卷积核对应行的对应乘积的加法运算及不同行之间的加法运算,从而实现视频图像的卷积运算,完成卷积神经网络的加速过程。5.根据权利要求4所述的一种卷积神经网络的加速方法,其特征在于,所述步骤一中输入的视频图像的像素点组成i*j的矩阵,卷积核组成m*n的矩阵,其中i、j分别代表是图像的第i行和第j列,m、m分别代表是卷积核的第m行和第n列,相对应的,在步骤二、三中的运...

【专利技术属性】
技术研发人员:李朋赵鑫鑫姜凯
申请(专利权)人:济南浪潮高新科技投资发展有限公司
类型:发明
国别省市:山东,37

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

1