适用于边缘计算平台的Spark卷积神经网络系统及其电路技术方案

技术编号:23985611 阅读:92 留言:0更新日期:2020-04-29 13:22
本申请提供适用于边缘计算平台的Spark卷积神经网络系统及其电路;本发明专利技术提出的卷积神经网络的基本构建模块吸取了SqueezeNet的基本模块构建思路,模块分为压缩层和扩展层两个前后相连的网络层。输入卷积模块的特征图张量在通道方向也需要进行先压缩后扩展的过程,以此降低卷积层的参数数量和进行卷积操作时的计算量。所不同的是在扩展层中,本发明专利技术并未采用传统的标准卷积核,而是吸取了MobileNet卷积神经网络模型的精髓,采用了轻量级的深度可分离卷积核进行网络层的构建。深度可分离卷积的引入,可以进一步降低卷积层的参数数量和计算量。

Spark convolution neural network system and its circuit for edge computing platform

【技术实现步骤摘要】
适用于边缘计算平台的Spark卷积神经网络系统及其电路
本申请涉及神经网络
,特别是涉及适用于边缘计算平台的Spark卷积神经网络系统及其电路。
技术介绍
随着计算机硬件与传感器技术的飞速发展,人工智能的一个领域——深度学习已经出现,并证明了它在解决以前不可能解决的复杂学习问题方面的有效性,特别是卷积神经网络(convolutionalneuralnetworks,CNNs)已经被广泛运用在图像检测和识别任务中。随着神经网络的不断发展,诞生了诸如VGG-16、ResNet、GoogleNet等新的网络结构,其中所具有的权重参数数量和计算量也在不断增加,对运行平台的计算能力和存储空间的要求也不断提高,因此在移动端部署传统的神经网络会耗费比较多的资源。目前,卷积神经网络主要基于通用处理器实现,但基于软件方式无法充分挖掘卷积神经网络的并行性,它们需要密集的CPU操作和内存带宽,这使得一般的CPU无法达到预期的性能水平,在实时性和功耗方面都不能满足应用的需求。虽然图形处理器(GPU)被广泛应用于CNN的训练以及分类任务中,然而它们过高的功耗并不适用于计算资源有限的嵌入式平台。当前主流的FPGA芯片中具备可重构性高、开发周期短、能效收益高等优点,使得FPGA成为实现计算密集型应用加速的一种非常重要的选择。因此,使用特定应用集成电路、现场可编程门阵列(fpga)和图形处理单元的硬件加速器被用来提高CNNs的吞吐量。更准确地说,FPGA最近被用于加速深度学习网络的实现,因为它们能够最大化并行性和能源效率。r>但是使用FPGA来加速CNN仍然存在很多挑战,主要是受限于有限的计算资源和昂贵的片外存储访问。然而在目前主流的CNN模型中,存在大量的计算操作(>1G)和大量的参数(>50M),这会消耗大量的能量。随着技术的发展,CNN的层数和卷积结构会变得越来越复杂,更将加剧这种情况,因此,需要在电路架构层面设计一个高能效的CNN加速器。与此同时,为了能够将神经网络部署到可移动的硬件平台中,需要采用一定的方法对卷积神经网络进行压缩,在保持网络精度没有太大损失的前提之下,降低网络模型的参数数量和计算量。传统方法主要采用修枝剪枝和参数量化的方法减小网络结构的复杂度和参数数量,但是这种先训练再微调的过程本身比较复杂,并且并没有从根本上减少传统神经网络架构的计算模式。因此,如何针对CNN在FPGA上实现一种无需进行网络剪枝和参数量化的轻量级的网络架构,成为本领域亟需解决的技术问题。申请内容鉴于以上所述现有技术的缺点,本申请的目的在于提供适用于边缘计算平台的Spark卷积神经网络系统及其电路,用于解决现有技术中的问题。为实现上述目的及其他相关目的,本申请的第一方面提供一种适用于边缘计算平台的Spark卷积神经网络系统,包括:Fire模块,其包括:压缩层,用于对输入模块的特征图进行通道层面的组合以降低特征图的通道数量;所述压缩层包括多个第一尺寸的第一卷积核;扩展层,用于对所述特征图的通道数量进行扩展;所述扩展层包括数量相同的第一尺寸的第一卷积核以及第二尺寸的第二卷积核;其中,所述第二卷积核为深度可分离卷积核。于本申请的第一方面的一些实施例中,所述第一卷积核的尺寸为1×1;所述第二卷积核的尺寸为3×3。于本申请的第一方面的一些实施例中,若作为深度可分离卷积核的第二卷积核的尺寸为Dk×Dk×M,则该深度可分离卷积核能分离出尺寸为1×1×M的卷积核以及尺寸为Dk×Dk×1的卷积核。于本申请的第一方面的一些实施例中,所述Spark卷积神经网络系统包括:卷积层、激活层、池化层。于本申请的第一方面的一些实施例中,所述Spark卷积神经网络系统包括:6层Spark结构、2层卷积模型、及3层池化层。于本申请的第一方面的一些实施例中,所述卷积模型包括尺寸为3×3卷积,其步长为1,输入数据张量为32×32的三通道图像。于本申请的第一方面的一些实施例中,所述池化层包括尺寸为2×2的最大池化层,其窗口滑动步长为2。。为实现上述目的及其他相关目的,本申请的第二方面提供一种基于Spark卷积神经网络模型的加速器电路,其包括:多个计算引擎,映射至同一个FPGA芯片上,且每个所述计算引擎对应如权利要求1所述的Spark卷积神经网络模型中的一层网络的计算;片上缓存单元,用于输入特征图缓存、权重值缓存、中间值缓存、及输出特征图缓存;流水线控制单元,用于控制所述计算引擎不同网络层的流水线式工作;片外存储单元;位于所述FPGA芯片外;存储控制单元,其设有内存存取接口,用于实现片外存储单元和片上缓存单元之间的数据交互。于本申请的第二方面的一些实施例中,所述片上缓存单元分为读和写两组,用以将前一级的写操作和后一级的读操作分开。于本申请的第二方面的一些实施例中,在所述加速器电路开始工作时,所述存储控制单元将第一层网络运行所需的权重参数和输入图像从所述片外存储单元读取到所述片上存缓存元中,以供所述计算引擎根据权重参数和输入图像进行第一层网络的卷积计算。如上所述,本申请的适用于边缘计算平台的Spark卷积神经网络系统及其电路,具有以下有益效果:本专利技术提出的卷积神经网络的基本构建模块吸取了SqueezeNet的基本模块构建思路,模块分为压缩层和扩展层两个前后相连的网络层。输入卷积模块的特征图张量在通道方向也需要进行先压缩后扩展的过程,以此降低卷积层的参数数量和进行卷积操作时的计算量。所不同的是在扩展层中,本专利技术并未采用传统的标准卷积核,而是吸取了MobileNet卷积神经网络模型的精髓,采用了轻量级的深度可分离卷积核进行网络层的构建。深度可分离卷积的引入,可以进一步降低卷积层的参数数量和计算量。附图说明图1显示为本申请一实施例中Spark卷积神经网络系统的结构示意图。图2显示为本申请一实施例中Squeeze卷积神经网络模型的结构示意图。图3A显示为本申请一实施例中Mobile卷积神经网络模型的标准卷积核的结构示意图。图3B显示为本申请一实施例中Mobile卷积神经网络模型的分解卷积核的结构示意图。图4显示为本申请一实施例中嵌入式场景下的轻量级卷积神经网络架构SparkNet的结构示意图。图5显示为本申请一实施例中轻量级卷积神经网络架构SparkNet的参数示意图。图6显示为本申请一实施例中基于Spark卷积神经网络模型的加速器电路的结构示意图。具体实施方式以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。需要说明的是,在下述描述中,参考附图,附图描述了本申请的若干实施例。应当理解,如同在本文中所使用本文档来自技高网...

【技术保护点】
1.一种适用于边缘计算平台的Spark卷积神经网络系统,其特征在于,包括:/nFire模块,其包括:/n压缩层,用于对输入模块的特征图进行通道层面的组合以降低特征图的通道数量;所述压缩层包括多个第一尺寸的第一卷积核;/n扩展层,用于对所述特征图的通道数量进行扩展;所述扩展层包括数量相同的第一尺寸的第一卷积核以及第二尺寸的第二卷积核;其中,所述第二卷积核为深度可分离卷积核。/n

【技术特征摘要】
20191108 CN 20191108545191.一种适用于边缘计算平台的Spark卷积神经网络系统,其特征在于,包括:
Fire模块,其包括:
压缩层,用于对输入模块的特征图进行通道层面的组合以降低特征图的通道数量;所述压缩层包括多个第一尺寸的第一卷积核;
扩展层,用于对所述特征图的通道数量进行扩展;所述扩展层包括数量相同的第一尺寸的第一卷积核以及第二尺寸的第二卷积核;其中,所述第二卷积核为深度可分离卷积核。


2.根据权利要求1所述的系统,其特征在于,所述第一卷积核的尺寸为1×1;所述第二卷积核的尺寸为3×3。


3.根据权利要求1所述的系统,其特征在于,包括:
若作为深度可分离卷积核的第二卷积核的尺寸为Dk×Dk×M,则该深度可分离卷积核能分离出尺寸为1×1×M的卷积核以及尺寸为Dk×Dk×1的卷积核。


4.根据权利要求1所述的系统,其特征在于,所述Spark卷积神经网络系统包括:卷积层、激活层、池化层。


5.根据权利要求1所述的系统,其特征在于,所述Spark卷积神经网络系统包括:6层Spark结构、2层卷积模型、及3层池化层。


6.根据权利要求5...

【专利技术属性】
技术研发人员:汪辉夏铭万吉祥田犁黄尊恺祝永新封松林
申请(专利权)人:中国科学院上海高等研究院
类型:发明
国别省市:上海;31

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

1