一种实现卷积神经网络前向计算的硬件结构制造技术

技术编号:16037905 阅读:37 留言:0更新日期:2017-08-19 19:43
本申请公开了一种实现卷积神经网络前向计算的硬件结构,包括:数据片外缓存模块,用于将外部输入的各张待处理图片中的参数数据缓存在该模块中,等待被多级流水线加速模块读取出来;多级流水线加速模块,与所述数据片外缓存模块连接,用于从数据片外缓存模块中读取参数,实现卷积神经网络的核心计算;参数读取仲裁模块,与所述多级流水线加速模块连接,用于处理多级流水线加速模块中多个读取参数请求,使多级流水线加速模块获取需要的参数;参数片外缓存模块,与所述参数读取仲裁模块连接,用于存储卷积神经网络前向计算所需要的参数。本申请采用并行流水方式的硬件架构来实现算法,具有较高的资源利用率和较高的性能。

【技术实现步骤摘要】
一种实现卷积神经网络前向计算的硬件结构
本申请涉及计算机及电子信息
,尤其涉及一种实现卷积神经网络前向计算的硬件结构。
技术介绍
随着人工智能的兴起,深度学习成为目前非常热门的一个领域,被广泛应用在计算机视觉、语音识别以及其它一些大数据应用上,受到了越来越广泛的关注。卷积神经网络作为深度学习中的一个很重要的算法模型,在图像分类、人脸识别、视频检测、语音识别等方面得到了很广泛的应用。卷积神经网络是仿照人类大脑中的神经系统而提出的,由很多层构成,输入的信息从最开始的输入层,经过一些卷积、乘加运算、激活函数等传递到下一层,以此方式一层一层往后传递,直到最后的输出层。卷积神经网络中最常见的层有三类,分别是卷积层、下采样层和全连接层。目前,已经有很多影响力较大的卷积神经网络模型被提出,并实现了很好的应用效果,如2012年在大规模视觉识别挑战赛(ILSVRC,ImageNetLargeScaleVisualRecognitionCompetition)中取得图像分类冠军的AlexNet,2014年提出的VGG和GoogleNet等。可见,卷积神经网络的应用越来越多。随着对准确率和识别率越来越高的要求,卷积神经网络模型的规模也随之变得越来越大,因此其包含的运算量也变得非常庞大。使用传统的通用处理器来实现卷积神经网络中的计算将变得非常低效,需要很长的耗时才能得到最终的结果。随着人们对速度的要求不断提高,使用硬件对卷积神经网络进行加速的需求变得越来越迫切。现有对于卷积神经网络的硬件加速实现,主要采取的方式是:同一时间,使用板上尽可能多的资源实现卷积神经网络中的一层,然后将该层结果存储在片外,再使用板上的尽可能多的资源来实现接下来的一层。在这种方案下,由于每次都是只实现卷积神经网络中的一层,板上资源很可能无法充分被利用,并且由于实现不同层基本都使用了相同的并行策略,无法使不同层都达到各自最优的并行策略,这会进一步降低资源利用率和性能。
技术实现思路
本申请实施例提供一种实现卷积神经网络前向计算的硬件结构,用以解决现有技术中卷积神经网络的硬件加速实现存在的不能有效充分利用板上资源进行最大程度地并行加速,降低资源利用率和性能的问题。本申请的一个方面提供了一种实现卷积神经网络前向计算的硬件结构,包括:数据片外缓存模块,用于将外部输入的各张待处理图片中的参数数据缓存在该模块中,等待被多级流水线加速模块读取出来;多级流水线加速模块,与所述数据片外缓存模块连接,用于从数据片外缓存模块中读取参数,实现卷积神经网络的核心计算;参数读取仲裁模块,与所述多级流水线加速模块连接,用于处理多级流水线加速模块中多个读取参数请求,使多级流水线加速模块获取需要的参数;参数片外缓存模块,与所述参数读取仲裁模块连接,用于存储卷积神经网络前向计算所需要的参数。进一步的,所述多级流水线加速模块由多级流水线构成,所述每一级流水线包括:计算模块,用于实现卷积神经网络每层中的运算;乒乓缓存结构模块,用于缓存与相邻流水线级之间的数据。进一步的,所述计算模块,还用于根据卷积神经网络结构中不同层的运算量,给不同的流水线级分配不同数量的硬件资源。进一步的,所述计算模块,采用三个维度的并行,分别是:多张特征图并行输入、多张特征图并行输出、卷积核中多个像素点并行计算。进一步的,所述计算模块,采用基于批处理的Batch-based的计算方式,将多张图片作为一个批处理并行同时计算。进一步的,所述乒乓缓存结构模块,包括两个片上缓存结构单元。进一步的,所述参数读取仲裁模块,采用轮循机制的仲裁方式,轮循响应从各级流水线加速模块发来的读取参数请求。进一步的,实现卷积神经网络前向计算的硬件结构采用现场可编程门阵列FPGA芯片或专用集成电路ASIC芯片实现。与现有技术相比,本申请实施例包括数据片外缓存模块,用于将外部输入的各张待处理图片中的参数数据缓存在该模块中,等待被多级流水线加速模块读取出来,主要用以应对计算模块的处理速度与外部输入图片速度相差较大的情况;多级流水线加速模块,与所述数据片外缓存模块连接,用于从数据片外缓存模块中读取参数,实现卷积神经网络的核心计算,实现较大的并行度和较高的处理性能;参数读取仲裁模块,与所述多级流水线加速模块连接,用于处理多级流水线加速模块中多个读取参数请求,尽可能使多级流水线加速模块及时获取需要的参数,高效计算;参数片外缓存模块,与所述参数读取仲裁模块连接,用于存储卷积神经网络前向计算所需要的参数,计算过程中每次只读取当前计算需要的少量参数,从而起到减小片上缓存需求的作用。综上,本申请采用了一种全并行流水的方式,可以使所有层同时并行处理,实现较高的资源利用率和较高的性能。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1示出根据本申请一个方面的一种实现卷积神经网络前向计算的硬件结构示意图;图2示出根据本申请一个方面的每一级流水线的结构示意图。附图中相同或相似的附图标记代表相同或相似的部件。具体实施方式为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。下面结合说明书附图对本申请实施例作进一步详细描述。如图1所示,根据本申请的一个方面提供了一种实现卷积神经网络前向计算的硬件结构,该硬件结构可采用现场可编程门阵列FPGA芯片或专用集成电路ASIC芯片实现,具体包括:数据片外缓存模块,用于将外部输入的各张待处理图片中的参数数据缓存在该模块中,等待被多级流水线加速模块读取出来;多级流水线加速模块,与所述数据片外缓存模块连接,用于从数据片外缓存模块中读取参数,实现卷积神经网络的核心计算;参数读取仲裁模块,与所述多级流水线加速模块连接,用于处理多级流水线加速模块中多个读取参数请求,使多级流水线加速模块获取需要的参数;参数片外缓存模块,与所述参数读取仲裁模块连接,用于存储卷积神经网络前向计算所需要的参数。具体的,本申请实施例,数据片外缓存模块,其被配置为,外部输入的各张待处理图片中的各个像素数据首先缓存在该模块中,等待被多级流水线加速模块中的计算模块读取出来,该模块相当于一个较大的先入先出队列(FIFO,FirstInputFirstOutput),用以应对计算模块的处理速度与外部输入图片速度相差较大的情况,否则如果外部直接发送数据到内部的计算模块,将需要比较复杂的握手信号,以确保当两者速度不匹配的时候没有数据漏发或者重发等情况。本申请实施例,与所述数据片外缓存模块连接的多级流水线加速模块,用来实现卷积神经网络的核心计算,其内部由多级流水线构成,每一级流水线用来实现卷积神经网络中的一层或几层。例如,本申请实施例中,可采用AlexNet神经网络模型,该结构共有8层,采用全并行流水的方式,使用了8级流水线,每一级流水线实现卷积神经网络中的一层。本申请输入的数据从最前面的第一级流水线开始计算,逐级向后,直到最后一级流水线,当第一张输入图片的数据开始在第二级流水线中计算的时候,第一级流水线本文档来自技高网
...
一种实现卷积神经网络前向计算的硬件结构

【技术保护点】
一种实现卷积神经网络前向计算的硬件结构,其特征在于,包括:数据片外缓存模块,用于将外部输入的各张待处理图片中的参数数据缓存在该模块中,等待被多级流水线加速模块读取出来;多级流水线加速模块,与所述数据片外缓存模块连接,用于从数据片外缓存模块中读取参数,实现卷积神经网络的核心计算;参数读取仲裁模块,与所述多级流水线加速模块连接,用于处理多级流水线加速模块中多个读取参数请求,使多级流水线加速模块获取需要的参数;参数片外缓存模块,与所述参数读取仲裁模块连接,用于存储卷积神经网络前向计算所需要的参数。

【技术特征摘要】
1.一种实现卷积神经网络前向计算的硬件结构,其特征在于,包括:数据片外缓存模块,用于将外部输入的各张待处理图片中的参数数据缓存在该模块中,等待被多级流水线加速模块读取出来;多级流水线加速模块,与所述数据片外缓存模块连接,用于从数据片外缓存模块中读取参数,实现卷积神经网络的核心计算;参数读取仲裁模块,与所述多级流水线加速模块连接,用于处理多级流水线加速模块中多个读取参数请求,使多级流水线加速模块获取需要的参数;参数片外缓存模块,与所述参数读取仲裁模块连接,用于存储卷积神经网络前向计算所需要的参数。2.根据权利要求1所述的实现卷积神经网络前向计算的硬件结构,其特征在于,所述多级流水线加速模块由多级流水线构成,每一级流水线包括:计算模块,用于实现卷积神经网络每层中的运算;乒乓缓存结构模块,用于缓存与相邻流水线级之间的数据。3.根据权利要求2所述的实现卷积神经网络前向计算的硬件结构,其特征在于,所述计算模块,还用于根据卷积神经网络结构中不...

【专利技术属性】
技术研发人员:曹伟黄峰孙亚洲杨贤王伶俐周学功李慧敏范锡添焦黎
申请(专利权)人:智擎信息系统上海有限公司
类型:发明
国别省市:上海,31

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

1