一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于FPGA的轻量级CNN模型计算加速器的制作方法

2022-05-21 05:28:24 来源:中国专利 TAG:

一种基于fpga的轻量级cnn模型计算加速器
技术领域
1.本发明涉及一种加速,具体是一种基于fpga的轻量级cnn模型计算加速器。


背景技术:

2.卷积神经网络(convolutional neural networks,cnn)是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一,目前被广泛应用于图像识别、语言识别等领域,取得了显著的成果。但是在cnn检测准确度越来越高的同时,其深度、尺寸和相应的计算复杂度也在成倍增加。目前主流的神经网络模型的尺寸往往在几十到几百兆字节(mbyte,即mb),需要存储几百万乃至上亿的参数,进行几亿乃至上百亿次的乘加运算。如此大尺寸的网络对底层的硬件提出了存储和运算速度的挑战,难以移植到资源受限的移动端或嵌入式芯片中进行实时推理计算。为此,人们提出了许多种新型的卷积运算,比如分组卷积(group convolution)、空洞卷积(dilated convolution)和深度可分离卷积(depthwise separable convolution)等等。在这其中,深度可分离卷积可以显著降低卷积运算过程中的参数量和计算复杂度,越来越来受到人们青睐。基于深度可分离卷积结构形成了以mobilenet系列为代表的新型轻量级神经网络,更加适合于部署在资源受限的嵌入式平台。但是这些神经网络仍有着庞大的计算需求和存储要求,如果直接在串行处理的cpu上进行训练推理,其实现效率依旧会非常低,无法满足很多实时应用的需求。在此前提下,为了加快运算速度和降低功耗,需要设计专用处理器进行硬件加速,对网络模型的各个部分进行优化加速。
3.目前常用于硬件加速器设计的专用处理器平台有三种:gpu、asic和fpga,而这其中,fpga有着高性能、低功耗、可重配置等特点,非常适用于流式的计算密集型任务。fpga是一种可自定义的半定制电路,具有强大的并行计算能力,非常契合cnn的计算特点,可以充分利用算法网络内部的并行性,实现数据流水线并行;灵活的设计方法也适合于神经网络多变的网络结构,可以为不同的结构设计实现完全优化的电路;除此之外,它还具有较低的功耗。
4.综上所述,计算密集型的cnn模型尺寸大、储存参数多、运算复杂度高,在移动端或嵌入式平台难以直接部署。而目前基于深度可分离卷积结构的轻量级网络虽然大幅降低了模型尺寸和计算复杂度,但是它对于cnn模型各层网络的稀疏程度并没有引起足够的重视,对于cnn模型各层网络的稀疏程度没有区别进行对待,直接将此类加速器部署在嵌入式平台上,其运行速度和功耗也难以满足实际任务的需求。


技术实现要素:

5.本发明的目的在于提供一种基于fpga的轻量级cnn模型计算加速器,以解决上述背景技术中提出的问题。
6.为实现上述目的,本发明提供如下技术方案:一种基于fpga的轻量级cnn模型计算加速器,包括:
数据采集模块,用于获取cnn模型网络尺寸数据;数据处理模块,用于对所述网络尺寸数据进行训练,确定整个cnn模型的网络稀疏程度;数据优化模块,用于根据cnn模型各层网络的稀疏程度,量化计算各处理单元中尺寸数据的权值参数,并动态调整各处理单元中网络尺寸数据的权值参数至最优化;数据加速模块,用于对所述最优化权值参数的网络尺寸数据进行深度可分离卷积操作,对深度可分离卷积操作后的网络尺寸数据进行批量归一化处理,再将处理后的网络尺寸数据存储到存储器。
7.作为本发明进一步的方案:确定所述整个cnn模型的网络稀疏程度的方法为:根据所述训练、量化后的网络尺寸数据,确定出所述数据采集模块获取到的cnn模型网络尺寸数据的稀疏程度为全零值或者为稀疏。
8.作为本发明进一步的方案:在所述稀疏程度为全零值时,对应跳过对所述获取到的cnn模型网络尺寸数据的计算并将计算结果置为零;在所述稀疏程度为稀疏时,计算打开所有所述获取到的cnn模型网络尺寸数据对应行的时间周期,根据时间周期的多少对稀疏程度进行分类。
9.作为本发明进一步的方案:所述时间周期以一个时钟周期为计量单位。
10.作为本发明进一步的方案:所述根据时间周期的多少对稀疏程度进行分类的方法为:若计算打开所有所述获取到的cnn模型网络尺寸数据对应行的时间周期大于n个时钟周期,则将此稀疏程度定义为高稀疏程度,相应的,此时将所述获取到的cnn模型网络尺寸数据平均分配到多个时钟周期,并在每个时钟周期内仅打开该时钟周期对应的行。
11.作为本发明进一步的方案:所述数据优化模块还用于为cnn模型中的每个最优化权值参数确定对应的一个编码,所述编码用于表示所述权值参数的重要程度。
12.作为本发明进一步的方案:所述数据处理模块还基于所述权值参数的重要程度对最优化的权值参数进行分组,得到若干最优化的权值组。
13.作为本发明进一步的方案:所述数据处理模块还对若干最优化的权值参数组中重要程度最高的一组进行量化;所述数据处理模块还基于量化后的权值参数以及待量化的最优化的权值参数重新训练所述cnn模型。
14.与现有技术相比,本发明的有益效果是:本发明基于fpga的轻量级cnn模型计算加速器,对于cnn模型各层网络的稀疏程度进行了区分,并根据不同的稀疏程度确定相应的权值参数,并动态调整各处理单元中网络尺寸数据的权值参数至最优化,最后再进行深度可分离卷积,有效提升了加速器的运行速度并降低了功耗。
附图说明
15.图1为基于fpga的轻量级cnn模型计算加速器的结构示意图。
16.图2为基于fpga的轻量级cnn模型计算加速器的工作流程图。
具体实施方式
17.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
18.图1为本发明的典型实施例结构图,本此实施例中,本发明一种基于fpga的轻量级cnn模型计算加速器,包括:数据采集模块,用于获取cnn模型网络尺寸数据;数据处理模块,用于对所述网络尺寸数据进行训练,确定整个cnn模型的网络稀疏程度;数据优化模块,用于根据cnn模型各层网络的稀疏程度,量化计算各处理单元中尺寸数据的权值参数,并动态调整各处理单元中网络尺寸数据的权值参数至最优化;数据加速模块,用于对所述最优化权值参数的网络尺寸数据进行深度可分离卷积操作,对深度可分离卷积操作后的网络尺寸数据进行批量归一化处理,再将处理后的网络尺寸数据存储到存储器。
19.图2为本发明典型实施例的工作流程图,数据采集模块获取cnn模型网络尺寸数据,数据处理模块对所述网络尺寸数据进行训练,确定整个cnn模型的网络稀疏程度,数据优化模块根据cnn模型各层网络的稀疏程度,量化计算各处理单元中尺寸数据的权值参数,并动态调整各处理单元中网络尺寸数据的权值参数至最优化,数据加速模块对所述最优化权值参数的网络尺寸数据进行深度可分离卷积操作,对深度可分离卷积操作后的网络尺寸数据进行批量归一化处理,再将处理后的网络尺寸数据存储到存储器。
20.作为本发明的优选实施例,在上述硬件基础上,确定所述整个cnn模型的网络稀疏程度的方法为:根据所述训练、量化后的网络尺寸数据,确定出所述数据采集模块获取到的cnn模型网络尺寸数据的稀疏程度为全零值或者为稀疏。
21.所述cnn模型网络尺寸数据的稀疏程度为全零值或者为稀疏时,分别对应两种不同的处理方式:(1)在所述稀疏程度为全零值时,对应跳过对所述获取到的cnn模型网络尺寸数据的计算并将计算结果置为零;(2)在所述稀疏程度为稀疏时,计算打开所有所述获取到的cnn模型网络尺寸数据对应行的时间周期,根据时间周期的多少对稀疏程度进行分类。
22.上面所述的时间周期以一个时钟周期为计量单位。
23.在上述方案的基础上,本发明提供一种优化的对稀疏程度进行分类的方法,具体的,所述根据时间周期的多少对稀疏程度进行分类的方法为:若计算打开所有所述获取到的cnn模型网络尺寸数据对应行的时间周期大于n个时钟周期(n可以根据需要进行设定,一般不小于2),则将此稀疏程度定义为高稀疏程度,相应的,此时将所述获取到的cnn模型网络尺寸数据平均分配到多个时钟周期,并在每个时钟周期内仅打开该时钟周期对应的行。
24.实施例2:在本发明典型实施例的基础上,所述数据优化模块还用于为cnn模型中的每个最优化权值参数确定对应的一个编码,所述编码用于表示所述权值参数的重要程度,所述数据处理模块还基于所述权值参数的重要程度对最优化的权值参数进行分组,得到若干最优化的权值组,所述数据处理模块还对若干最优化的权值参数组中重要程度最高的一组进行量化;所述数据处理模块还基于量化后的权值参数以及待量化的最优化的权值参数重新训练所述cnn模型。
25.综上所述,本发明基于fpga的轻量级cnn模型计算加速器,对于cnn模型各层网络的稀疏程度进行了区分,并根据不同的稀疏程度确定相应的权值参数,并动态调整各处理
单元中网络尺寸数据的权值参数至最优化,最后再进行深度可分离卷积,有效提升了加速器的运行速度并降低了功耗。
26.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
27.此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献