CN113487012B - 一种面向fpga的深度卷积神经网络加速器及设计方法 - Google Patents

一种面向fpga的深度卷积神经网络加速器及设计方法 Download PDF

Info

Publication number
CN113487012B
CN113487012B CN202110705247.3A CN202110705247A CN113487012B CN 113487012 B CN113487012 B CN 113487012B CN 202110705247 A CN202110705247 A CN 202110705247A CN 113487012 B CN113487012 B CN 113487012B
Authority
CN
China
Prior art keywords
model
pruning
filter
unit
dcnn
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110705247.3A
Other languages
English (en)
Other versions
CN113487012A (zh
Inventor
雷鹏
梁家伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN202110705247.3A priority Critical patent/CN113487012B/zh
Publication of CN113487012A publication Critical patent/CN113487012A/zh
Application granted granted Critical
Publication of CN113487012B publication Critical patent/CN113487012B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Neurology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Complex Calculations (AREA)

Abstract

本发明提供一种面向FPGA的深度卷积神经网络加速器及设计方法,它采用模型压缩、参数量化、结构优化等相关技术,实现软硬件协同设计,压缩卷积神经网络规模,实现复杂卷积神经网络在FPGA平台上的部署与实时处理。其对卷积层进行滤波器剪枝,一方面能够减少网络模型的参数量,减小网络模型对存储资源和计算资源的需求,甚至消除对FPGA片外存储芯片的访问;另一方面可以通过量化进一步压缩模型,并使其更加硬件友好;同时还能通过合理的并行结构提升FPGA片上资源利用效率,从而进一步提升FPGA计算DCNN模型的速度,最终达到加速效果。

Description

一种面向FPGA的深度卷积神经网络加速器及设计方法
技术领域
本发明为一种面向FPGA的深度卷积神经网络加速器及设计方法,它采用模型压缩、参数量化、结构优化等相关技术,实现软硬件协同设计,压缩卷积神经网络规模,实现复杂卷积神经网络在FPGA平台上的部署与实时处理,属于人工智能与电子信息交叉领域。
背景技术
近年来,深度学习在模式识别领域取得了惊人的成绩。作为深度学习领域的代表性算法之一的深度卷积神经网络(Deep Convolution Neural Network,DCNN)在计算机视觉领域,包括图像分类、目标检测、视频处理等任务中,都取得了非常出色的成绩,如2015年在ImageNet图像分类比赛中,ResNet网络取得第一名,并已经超过人眼的识别率。不仅如此,DCNN在自然语言处理、语音识别、文本分类等领域也都得到了广泛的应用。
当前,DCNN的部署多选用图形处理器(Graphics Processing Unit,GPU)、张量处理器(Tensor Processing Unit,TPU)等器件作为平台来承载算法。但是由于GPU等器件具有能耗高、体积大等缺点,人们在小型移动系统和可穿戴设备等嵌入式场景中难以对其进行应用,这也导致了当前能够使用DCNN作为解决方案的工业级产品多为大型设备,或者通过网络将数据上传到云端服务器端进行处理。因此现场可编程门阵列(FieldProgrammable Gate Array,FPGA)和专用集成电路(Application Specific IntegratedCircuit,ASIC)以其更低的能耗、更小的体积和更快的计算速度逐渐走进人们的视线,尤其是考虑到灵活性和可重构性,越来越多的关注点放在了基于FPGA的神经网络加速器上面。
FPGA由大量的逻辑门电路和查找表组成,通过程序控制小型查找表来实现内部逻辑门的控制,能够直接综合(Synthesized)、布线(placed-and-routed)得到可执行的逻辑电路。相比于GPU可以并行的对不同的数据执行相同的操作,FPGA还能够并行的执行不同的操作,这大大降低了FPGA处理多路并行任务的延迟,能够得到更快的计算速度。经过几十年的发展,FPGA的片上资源越来越丰富,并大量嵌入了诸如块状随机存取存储器(BlockRandom Access Memory,BRAM)、数字信号处理(Digital Signal Processing,DSP)单元、锁相环(Phase Locked Loop,PLL)等电路作为可调用的硬核。当前FPGA在信号处理、检索、矩阵运算等计算密集领域得到了广泛的应用,近年来在百度和微软等公司的数据中心也都得到了大规模部署,以提供庞大的算力和足够的灵活性。而相对于ASIC而言,FPGA虽然会占用更大的体积,速度也会略慢一筹,但由于设计灵活、造价低、开发周期短,获得了更多的关注。
但是随着科技的发展,现代先进的DCNN结构越来越复杂,参数越来越多,计算量也越来越大,随之出现的问题是片上存储资源不足和计算速度缓慢。例如VGG-16网络中有1.38亿个参数,在一个前向计算过程中需要进行309亿次浮点运算(FLOPs),ResNet、DenseNet等网络更是需要在计算过程中保存大量的特征映射,这样的网络难以在单片FPGA进行部署,都需要大量的外部存储资源。而由于外部存储访问带宽有限,网络模型的计算速度将会受到极大的限制,这给DCNN的FPGA加速部署带来了巨大困难。
针对上面提到的情况,本发明提出了一种软硬件协同设计方法,软件层面使用滤波器级剪枝方法,通过剪除不重要的滤波器参数来得到更加稠密、参数量更小的轻量化模型,从而减少甚至消除了外部存储的访问和计算量,既可以减少对存储的需求,又可以提升DCNN模型在FPGA上的计算速度;另外使用量化的方法对参数和中间数据进行低位宽定点数量化,从而减小存储需求,且使得DCNN模型更加适合FPGA部署;硬件层面通过设计合理的并行结构,进一步提升DCNN模型在FPGA的计算速度。上述三个部分协同设计,首先将大规模DCNN模型进行训练并压缩和量化,再将其使用FPGA进行加速计算。其中压缩与量化能够使得DCNN模型更加硬件友好,减小其对存储资源和计算资源的需求,而并行结构设计能够提升FPGA的资源利用效率,从而提升FPGA计算速度。
发明内容
本发明目的在于提供一种面向FPGA的深度卷积神经网络加速器及设计方法。其对卷积层进行滤波器剪枝,一方面能够减少网络模型的参数量,减小网络模型对存储资源和计算资源的需求,甚至消除对FPGA片外存储芯片的访问;另一方面可以通过量化进一步压缩模型,并使其更加硬件友好;同时还能通过合理的并行结构提升FPGA片上资源利用效率,从而进一步提升FPGA计算DCNN模型的速度,最终达到加速效果。
本发明一种面向FPGA的深度卷积神经网络DCNN加速器,它包括:DCNN模型剪枝单元、DCNN模型量化单元和硬件结构设计单元。其中DCNN模型剪枝单元又包括:模型预训练单元、滤波器相关性计算单元、滤波器软剪枝单元、滤波器硬剪枝单元、剪枝敏感性计算单元和模型重训练单元。各个单元之间彼此相连作用,最终得到基于FPGA的DCNN加速器。
所述模型预训练单元,它与滤波器相关性计算单元、剪枝敏感性计算单元、滤波器软剪枝单元和滤波器硬剪枝单元相连接。它用于构建压缩前的完整的DCNN模型结构,并进行预训练,预训练得到的模型用于滤波器相关性计算、剪枝敏感性计算和滤波器剪枝。预训练模型的性能优劣会直接影响模型剪枝和量化后的性能,是整个方法的基础。
所述滤波器相关性计算单元,它与模型预训练单元、剪枝敏感性计算单元和滤波器软剪枝单元相连接。它读取模型预训练单元得到的预训练模型中的滤波器参数,将每个滤波器的参数展平为一个滤波器向量,选取其中一个滤波器向量作为目标向量,并以其余滤波器向量作为拟合向量,使用最小二乘法计算二者的拟合优度作为滤波器相关性评价标准。该滤波器相关性计算单元重复上述操作至计算出每个滤波器的拟合优度作为滤波器相关性,并将计算结果传至剪枝敏感性计算单元、滤波器软剪枝单元和滤波器硬剪枝单元。
所述滤波器软剪枝单元,它与滤波器相关性计算单元、剪枝敏感性计算单元、模型预训练单元和模型重训练单元相连接,通过读取滤波器相关性计算单元中得到的滤波器之间的相关性,来确定每一层需要剪枝的滤波器,并将预训练模型中这些滤波器的参数置零。该滤波器软剪枝单元根据提前预设的剪枝比重复上述操作。
所述剪枝敏感性计算单元,它与模型预训练单元、滤波器软剪枝单元、滤波器硬剪枝单元和模型重训练单元相连接。它对每一层次设置滤波器剪枝比例并单独进行软剪枝,经过重训练后计算与原始预训练模型的性能误差,作为该层次在该剪枝比例下的敏感性。它对每一层次分别设定不同的滤波器剪枝比例,重复上述过程得到每一层次在各个剪枝比例下的敏感性,从而得到整个模型的最佳滤波器剪枝比例和对应的各层次滤波器剪枝比。
所述模型重训练单元,它与滤波器软剪枝单元、滤波器硬剪枝单元、剪枝敏感性计算单元、DCNN模型量化单元和硬件结构设计单元相连接,负责滤波器剪枝后或量化后的模型进行再次训练微调,以达到恢复模型性能的目的。恢复性能后的模型传至剪枝敏感性计算单元、滤波器硬剪枝单元、DCNN模型量化单元或硬件结构设计单元。
所述滤波器硬剪枝单元,它与模型预训练单元、滤波器软剪枝单元相连通,通过读取需要进行剪枝的滤波器,将其彻底从模型中删除。该单元还包括维度插入与维度删除功能,对剪枝后数据维度变化问题进行维度匹配。
所述DCNN模型量化单元,它与模型重训练单元相连,将前述输出的剪枝后DCNN模型参数、偏置和激活值进行提取,并计算这些数据所需要的量化位宽和量化因子,动态的对不同数据进行量化,得到量化后的模型。并将该模型再输入至模型重训练单元。
所述硬件结构设计单元,它与模型重训练单元相连,获取前述输出的量化模型。根据量化后模型的结构,从多任务并行、多层级并行、通道间并行、通道内并行和操作并行等方面根据FPGA的资源限制进行设计,在资源与计算速度间得到平衡。
本发明一种面向FPGA的深度卷积神经网络加速器的设计方法,其工作概述如下:
构建DCNN模型并进行预训练,得到性能较好的完整的模型作为原始模型;对原始DCNN模型的卷积层进行分组,得到多个层次;分别对DCNN模型的每一层次设置不同的滤波器剪枝比,单独对原始模型的每一个层次进行滤波器剪枝,并对剪枝后的模型进行重训练恢复性能;计算重训练后模型与原始模型的性能误差,得到该层次在该剪枝比下的剪枝敏感性;根据每一层次的剪枝敏感性,得到整个模型的最佳滤波器剪枝比例;根据最佳剪枝比例对原始模型进行滤波器软剪枝;对软剪枝后的模型进行重训练恢复模型性能;对模型进行滤波器硬剪枝,得到最终的轻量化网络;对压缩后的DCNN模型进行量化,得到低位宽定点数表示的量化模型;根据量化模型结构设计硬件并行结构;将量化模型部署到FPGA。
本发明一种面向FPGA的DCNN加速器设计方法,它包括下述几个步骤:
步骤一:训练原始DCNN模型
原始DCNN模型是针对于某一特定任务经过训练得到的模型。整个滤波器剪枝过程将在原始DCNN模型上进行,模型性能的损失将以原始模型作为基准,滤波器相关性计算是根据经原始模型的滤波器参数进行计算,因此原始DCNN模型的性能优劣对DCNN模型压缩与加速的结果影响非常大,是整个方法的基础。为了得到更好的性能,原始DCNN模型一般具有参数量大、计算量大的特点,即原始DCNN模型对存储空间的需求和对计算资源的需求都很大。
将预训练得到的原始DCNN模型进行存储,用于后面的滤波器剪枝、各层次剪枝敏感性计算等。
步骤二:对原始DCNN模型的各个卷积层进行分组
根据各个卷积层的特性进行分组。首先,根据卷积层的输出,即特征映射的尺寸进行分组,将特征映射尺寸相同的卷积层归为一个阶段;进一步在每个阶段内,根据残差连接等特性,将一个残差连接跨度内的所有卷积层归为一个块;最后在每一个块内,分别去考虑每一个卷积层。对与上面的三个层次分别进行分析。
步骤三:计算每一个层次中各个分组的滤波器剪枝敏感性
滤波器剪枝敏感性是指某一个层次对滤波器剪枝的敏感程度,裁剪同样比例的滤波器情况下,性能损失越大则认为剪枝敏感性越高。任选一个层次中的任意一个分组,设定一系列滤波器剪枝比参数,对于每一个剪枝比,重复以下过程计算该分组的剪枝敏感性:
(1)计算组内每个卷积层内滤波器的相关性。卷积层内滤波器相关性使用拟合优度来衡量,将一层所有的滤波器参数提取出并将三维参数用同样的顺序展平成为二维向量,选出其中的一个向量作为目标向量,其余向量作为拟合向量,计算使用拟合向量来拟合目标向量的拟合优度。如果拟合优度较大,则认为拟合向量能够较好的拟合目标向量,那么当前目标向量所对应的滤波器与其他滤波器间相关性较大。重复上述过程直至得到所有滤波器与其他滤波器的相关性。
(2)根据滤波器相关性对该层滤波器进行剪枝,裁剪相关性最大的滤波器。裁剪方法为软剪枝,即将需要裁减的滤波器参数和其对应的梯度置零,但是保留该位置的滤波器,用于后面恢复模型性能使用。判断是否已经达到了当前设定的剪枝比,如果没有达到则重复前面过程,直至达到预设的滤波器剪枝比。
(3)对剪枝后的模型进行重训练以恢复性能,由于判断剪枝敏感性不需要恢复到原始性能,只需要在同样的条件下进行比较,因此每次选择相同的、较小的训练周期进行训练,得到恢复后的性能,并与原始模型性能进行比较,将性能损失作为当前层在当前滤波器剪枝比下的敏感性度量。
(4)恢复原始DCNN模型。由于前面采用了软剪枝方法,DCNN模型结构没有发生变化,将原始DCNN模型的参数重新载入剪枝后的模型,使其恢复成为原始DCNN模型。
重复上述过程直至计算完当前层次的每一个分组在不同滤波器剪枝比下的剪枝敏感性,选择剪枝敏感性较大的分组,进一步对在组内对更加细分的分组重复上述过程进行剪枝敏感性计算,直至得到卷积层级的剪枝敏感性。
步骤四:对原始DCNN模型进行软剪枝
根据步骤三得到的各个层次的滤波器剪枝敏感性,合理的设置每个卷积层的滤波器剪枝比,得到整个原始模型的全局最佳剪枝比。该剪枝比充分考虑了各个卷积层对于滤波器剪枝的敏感性,能够保证剪枝后模型具有较好的恢复能力,能够恢复原始DCNN模型性能。该步骤中剪枝采用软剪枝方式,即将需要裁减的参数置零,并不改变模型结构。
步骤五:对软剪枝后的DCNN模型进行重训练
对于软剪枝后的DCNN模型,将其损失函数增加稀疏化正则项,促进相关性较大的滤波器参数减小,进一步减小层内保留的滤波器之间的相关性,提升DCNN模型的表达能力,使其能够更好的恢复到与原始DCNN模型相同的性能。经过一定周期的训练恢复DCNN模型性能。
步骤六:对DCNN模型进行硬剪枝
前述剪枝及重训练过程均使用软剪枝方法,即对需要进行剪枝的滤波器置零而不是去掉。本步骤对模型使用硬剪枝方法,根据步骤四得到的需要剪枝的滤波器的索引,直接对步骤五得到的模型去掉所有需要裁减的滤波器,得到轻量化模型。
步骤七:对硬剪枝之后的DCNN模型进行量化
从前述硬剪枝得到的轻量化模型中提取参数、偏置和特征图等数据,根据既定的量化位宽,动态的求解每组数据的量化因子,并对所有数据使用量化方法后重载入DCNN模型当中。再对量化模型进行重训练微调以恢复原始性能。
步骤八:将量化后的DCNN模型部署在FPGA中
根据前述量化模型和FPGA的资源限制,设计合理的硬件并行化结构,根据DCNN模型设计不同的单元,包括计算单元、控制单元和存储单元等,将量化后的DCNN模型根据此结构部署在FPGA当中。
优点及功效:本发明一种面向FPGA的DCNN加速器设计方法,实现了DCNN模型的压缩与加速,主要具有以下优点:
1)能够大幅度减小DCNN模型对存储空间的需求并减小计算量,且保持了原始DCNN模型的性能;
2)从DCNN的本质出发进行剪枝,对不同结构的网络模型具有普适性;
3)使用通用机器学习平台和FPGA平台实现,简单易懂,易于在不同设备间移植和部署;
4)以较高的压缩比和加速比对DCNN模型进行处理,并使用最优化并行结构,能够得到高性能DCNN模型加速器。
可见,面向FPGA的DCNN加速器设计方法,一方面能够压缩DCNN模型的参数量和计算量,减小其对存储空间和计算资源的需求,易于在FPGA进行部署,另一方面设计合理的硬件结构,能够将复杂的DCNN模型在FPGA进行部署,提升了模型的计算速度。另外该方法考虑了不同DCNN模型的结构,对不同的DCNN具有普适性。
附图说明
图1是卷积神经网络结构图。
图2是软剪枝示意图。
图3是单个卷积层剪枝流程图。
图4是神经网络分层示意图。
图5是卷积层剪枝敏感度获取流程图。
图6是硬剪枝示意图。
图7是量化原理图。
图8是量化流程图。
图9是并行化结构示意图。
图10是加速器结构图。
图11是系统流程图。
图12是DCNN剪枝流程图。
具体实施方式
见图1—图12,本发明提出一种面向FPGA的DCNN加速器设计方法,它包括:DCNN模型剪枝单元、DCNN模型量化单元和硬件结构设计单元。其中DCNN模型剪枝单元又包括:模型预训练单元、滤波器相关性计算单元、滤波器软剪枝单元、滤波器硬剪枝单元、剪枝敏感性计算单元和模型重训练单元。各个单元之间彼此相连作用,最终得到基于FPGA的DCNN加速器。
所述模型预训练单元,它与滤波器相关性计算单元、剪枝敏感性计算单元、滤波器软剪枝单元和滤波器硬剪枝单元相连接。该模块针对所要面向的任务训练复杂的DCNN模型结构,如图1所示,其中包括了残差连接和直接连接,残差连接出现在一些多支路模型中,而直接连接会出现在所有DCNN模型中。对构建的模型进行预训练达到预期的性能,预训练得到的模型用于滤波器相关性计算、剪枝敏感性计算和滤波器剪枝。
所述滤波器相关性计算单元,它与模型预训练单元、剪枝敏感性计算单元和滤波器软剪枝单元相连接。它读取前述预训练模型中一个卷积层的滤波器参数,每个滤波器的参数为三维矩阵,将每个滤波器的参数展平为二维向量,选取其中一个滤波器向量作为目标向量,并以该卷积层其余滤波器向量作为拟合向量,使用最小二乘法计算二者的拟合最小二乘解,并计算拟合优度作为当前滤波器相关性评价标准。重复上述操作至计算出每个卷积层中每个滤波器的拟合优度作为滤波器相关性,并将计算结果传至剪枝敏感性计算单元、滤波器软剪枝单元和滤波器硬剪枝单元。
所述滤波器软剪枝单元,它与滤波器相关性计算单元、剪枝敏感性计算单元、模型预训练单元和模型重训练单元相连接,通过读取滤波器相关性计算单元中得到的滤波器之间的相关性对每一个卷积层的滤波器进行重要性排序,相关性较大的滤波器重要性较高,反之亦然。对一个卷积层按照重要性排序将重要性最低的滤波器参数置零,即实现软剪枝,如图2所示。对单个卷积层进行软件的流程如图3所示,重复前述过程直至当前卷积层被软剪枝的滤波器个数达到预设剪枝比,再对其他卷积层重复该过程。该滤波器软剪枝单元根据提前预设的剪枝比重复上述操作。
所述剪枝敏感性计算单元,它与模型预训练单元、滤波器软剪枝单元、滤波器硬剪枝单元和模型重训练单元相连接。它首先对DCNN模型的各个层进行分组,如图4所示,首先根据卷积层输出数据的尺寸分成不同的阶段,每个阶段内卷积层输出尺寸保持不变;再在一个阶段内进一步分组,对于存在残差连接的模型根据直接连接进行分块,将一个直接连接囊括的所有层分为一个块,而对于不存在残差连接的模型,则每个卷积单独为一组;而每一个块由多个卷积层组成,进一步每个卷积层单独为一组。剪枝敏感性的获取如图5所示。首先对每个阶段设置滤波器剪枝比例1/4、3/8、1/2、5/8、3/4,单独对每个阶段进行软剪枝,经过重训练后计算与原始预训练模型的性能误差,作为剪枝敏感性,获得每个阶段剪枝敏感性随剪枝比的变化曲线。对于敏感性较高的阶段,对其内部的各个分组重复上述过程以进一步分析,直至获得每个卷积层的剪枝敏感性。根据剪枝敏感性设定每一个卷积层的剪枝比,进而得到整个模型的最佳滤波器剪枝比例和对应的各层次滤波器剪枝比。
所述模型重训练单元,它与滤波器软剪枝单元、滤波器硬剪枝单元、剪枝敏感性计算单元、DCNN模型量化单元和硬件结构设计单元相连接,负责滤波器剪枝后或量化后的模型进行再次训练微调,以达到恢复模型性能的目的。恢复性能后的模型传至剪枝敏感性计算单元、滤波器硬剪枝单元、DCNN模型量化单元或硬件结构设计单元。
所述滤波器硬剪枝单元,它与模型预训练单元、滤波器软剪枝单元相连通,通过读取需要进行剪枝的滤波器,将其彻底从模型中删除,如图6所示。该单元还包括维度匹配功能,在多支路模型中,由于不同支路的数据进行交互时需要具有相同的维度,而滤波器硬剪枝会造成维度变化,因此需要对裁剪之后的数据进行维度匹配。
所述DCNN模型量化单元,它与模型重训练单元相连,将前述输出的剪枝后DCNN模型参数、偏置和激活值进行提取,并根据量化位宽计算量化因子。量化原理如图9所示,在训练时所有数据使用32位浮点数表示,包括1位符号位、8位指数位和23位小数位。使用定点数量化时首先设定量化位宽,图7所示例使用16位定点数进行量化,16位定点数能够表达的数据范围是[215-1,-215],计算需要量化数据的绝对值最大值|w|max,将该最大值放缩到量化数据范围内,此放缩比例即为量化因子。定点数可以自由的设定小数点所在位置,从而能够调节最小量化单位,调节量化精度。对于不同的数据,量化因子不同,量化后定点数中的整数位宽和小数位宽也不同,因此实现了动态的对不同数据进行量化,整个量化过程如图8所示。并将该模型再输入至模型重训练单元进行重训练以恢复模型性能。
所述硬件结构设计单元,它与模型重训练单元相连,获取前述输出的量化模型。根据量化后模型的结构,从多任务并行、多层级并行、多通道并行、通道内并行和操作并行等方面根据FPGA的资源限制进行设计,在资源与计算速度间得到平衡,如图9所示。其中多任务并行是指同时对多个需要处理的输入数据进行处理;多层级并行是指同时对不同的卷积层等DCNN模型中需要计算的层进行计算;多通道并行是指输入数据中不同通道内的数据同时进行计算;通道内并行是指将通道内数据需要进行的不同计算同时进行;操作并行是指利用FPGA的并行特性,令对不同数据进行的不同的操作同时进行。整个加速的结构如图10所示,主要包括计算单元、片上存储单元和片外存储单元,计算单元从两部分存储单元中读取计算所需要的参数,进行DCNN模型的计算。
本发明一种面向FPGA的DCNN加速器设计方法,其工作流程如图11所示,工作概述如下:首先对神经网络模型进行剪枝,流程如图12所示,其过程详述如下:构建DCNN模型并进行预训练,得到性能较好的完整的模型作为原始模型;对原始DCNN模型的卷积层进行分组,得到多个层次;分别对DCNN模型的每一层次设置不同的滤波器剪枝比,单独对原始模型的每一个层次进行滤波器剪枝,并对剪枝后的模型进行重训练恢复性能;计算重训练后模型与原始模型的性能误差,得到该层次在该剪枝比下的剪枝敏感性;根据每一层次的剪枝敏感性,得到整个模型的最佳滤波器剪枝比例;根据最佳剪枝比例对原始模型进行滤波器软剪枝;对软剪枝后的模型进行重训练恢复模型性能;对模型进行滤波器硬剪枝,得到最终的轻量化网络。对压缩后的DCNN模型进行量化,得到低位宽定点数表示的量化模型;根据量化模型结构设计硬件并行结构;将量化模型部署到FPGA。
本发明一种基于剪枝的DCNN压缩与加速方法,它包括下述几个步骤:
步骤一:预训练原始DCNN模型
针对图像分类任务,选取当前使用较多的ResNet50模型结构并进行训练,以达到预期的性能。该预训练模型具有2.5×107个参数,且处理单帧数据需要进行3.81×109次浮点运算。将预训练得到的原始DCNN模型进行存储,用于后面的滤波器剪枝、各层次剪枝敏感性计算等。
步骤二:对原始DCNN模型的各个卷积层进行分组
根据各个卷积层的特性进行分组。对于前述ResNet50网络结构,分成三个层次。首先根据卷积层的输出,即特征映射,的尺寸进行分组,将特征映射尺寸相同的卷积层归为一个阶段;进一步在每个阶段内,将一个残差连接跨度内的所有卷积层分组为一个残差块;最后在每一个块内,分别去考虑每一个卷积层。对于上面的三个层次分别进行分析。
步骤三:计算每一个层次中各个分组的滤波器剪枝敏感性
滤波器剪枝敏感性是指某一个层次对滤波器剪枝的敏感程度,裁剪同样比例的滤波器情况下,性能损失越大则认为剪枝敏感性越高。对于前述ResNet50模型,首先选择一个阶段,将整个阶段中所有卷积层以1/4、3/8、1/2、5/8、3/4的剪枝比以此进行剪枝并计算剪枝敏感性,得到剪枝敏感性随剪枝比变化的曲线。对其他阶段重复上述过程,并将各个阶段对应的曲线分别与原始预训练模型的性能进行对比,性能下降幅度较大者敏感性较高。对于敏感性较高的阶段,对其内部的残差块重复上述过程,得到每个残差块的敏感性。最后对于敏感性较高的残差块,对其内部的各个卷积层重复上述过程,得到每个卷积层的敏感性。过程详述为以下几个步骤:
(1)计算当前分组内每个卷积层内滤波器的相关性。卷积层内滤波器相关性使用拟合优度来衡量,将一层所有的滤波器参数提取出并将三维参数用同样的顺序展平成为二维向量,选出其中的一个向量作为目标向量,其余向量作为拟合向量,计算使用拟合向量来拟合目标向量的拟合优度。如果拟合优度较大,则认为拟合向量能够较好的拟合目标向量,那么当前目标向量所对应的滤波器与其他滤波器间相关性较大。重复上述过程直至得到所有滤波器与其他滤波器的相关性。
(2)根据滤波器相关性对该层滤波器进行剪枝,裁剪相关性最大的滤波器。裁剪方法为软裁减,即将需要裁减的滤波器参数和其对应的梯度置零,但是保留该位置的滤波器,用于后面恢复原始模型使用。判断是否已经达到了当前设定的剪枝比,如果没有达到则重复前面过程,直至达到预设的滤波器剪枝比。
(3)对剪枝后的模型进行重训练以恢复性能,由于判断剪枝敏感性不需要恢复到原始性能,只需要在同样的条件下进行比较,因此选择较小的训练周期进行训练,得到恢复后的性能,并与原始模型性能进行比较,将性能损失作为当前层在当前滤波器剪枝比下的敏感性度量。
(4)恢复原始ResNet50模型。由于前面采用了软剪枝方法,ResNet50模型结构没有发生变化,将原始ResNet50模型的参数重新载入剪枝后的模型,使其恢复成为原始ResNet50模型。
重复上述过程直至计算完当前层次的每一个分组在不同滤波器剪枝比下的剪枝敏感性,选择剪枝敏感性较大的分组,进一步对在组内对更加细分的分组重复上述过程进行剪枝敏感性计算,直至得到卷积层级的剪枝敏感性。
步骤四:对原始ResNet50模型进行软剪枝
根据步骤三得到的各个层次的滤波器剪枝敏感性,设置每个卷积层的滤波器剪枝比,分别为0.25、0.5、0.75,剪枝敏感性较大的部分设置较小的剪枝比,剪枝敏感性较小的部分设置较大的剪枝比,从而得到整个原始模型的全局最佳剪枝比。该步骤中剪枝采用软剪枝方式,即将要剪枝的滤波器置零,不从结构上对原始ResNet50模型进行修改。每次剪枝仅裁剪某一个卷积层中的一个滤波器,再对剩余滤波器重新求取相关性排序并裁剪一个滤波器,直至达到剪枝比后,进行恢复性训练,迭代次数为5epoch后,模型恢复部分性能,开始对下一个卷积层进行剪枝。重复上述过成直至对最后一个卷积层完成剪枝。剪枝后的ResNet50模型减少了38.7%的参数和55.7%的计算量。
步骤五:对剪枝后的DCNN模型进行重训练
对于剪枝后的ResNet50模型,将其损失函数增加稀疏化正则项,促进相关性较大的滤波器参数减小,进一步减小层内保留的滤波器之间的相关性,提升ResNet50模型的表达能力,使其能够更好的恢复到与原始ResNet50模型相同的性能。经过一定周期的训练恢复ResNet50模型性能。
步骤六:对原始DCNN模型进行硬剪枝
根据步骤四得到的各个层次需要剪枝的滤波器索引,对步骤五得到的ResNet50模型进行剪枝。该步骤中剪枝采用硬剪枝方式,即将要剪枝的滤波器直接删除,从结构上对原始ResNet50模型进行修改,得到轻量化网络。
步骤七:对硬剪枝之后的DCNN模型进行量化
从前述硬剪枝得到的轻量化ResNet50模型中提取参数、偏置和特征图等数据,根据既定的量化位宽,动态的求解每组数据的量化因子。在训练时所有数据使用32位浮点数表示,包括1位符号位、8位指数位和23位小数位。使用定点数量化时首先设定量化位宽,如设置量化位宽为8位,8定点数能够表达的数据范围是[27-1,-27],计算需要量化数据的绝对值最大值|w|max,将该最大值放缩到量化数据范围内,此放缩比例即为量化因子。定点数可以自由的设定小数点所在位置,从而能够调节最小量化单位,调节量化精度。对于不同的数据,量化因子不同,量化后定点数中的整数位宽和小数位宽也不同,因此实现了动态的对不同数据进行量化。量化后的权重重新载入ResNet50模型,并将该模型再输入至模型重训练单元进行重训练以恢复模型性能。量化后模型所需要的存储空间减小为原来的1/4。
步骤八:将量化后的DCNN模型部署在FPGA中
根据前述量化模型和FPGA的资源限制,设计合理的硬件并行化结构,根据ResNet50模型设计不同的单元,包括计算单元、控制单元和存储单元等,将量化后的ResNet50模型根据此结构部署在FPGA当中。并行结构包括任务并行、层级并行、通道并行、通道内并行和操作并行等,根据FPGA的资源限制进行设计,在资源与计算速度间得到平衡。

Claims (9)

1.一种面向FPGA的深度卷积神经网络加速器,其特征在于,它包括:深度卷积神经网络DCNN模型剪枝单元、DCNN模型量化单元和硬件结构设计单元;其中DCNN模型剪枝单元又包括:模型预训练单元、滤波器相关性计算单元、滤波器软剪枝单元、滤波器硬剪枝单元、剪枝敏感性计算单元和模型重训练单元;各个单元之间彼此相连作用,最终得到基于FPGA的DCNN加速器;
所述模型预训练单元,它与滤波器相关性计算单元、剪枝敏感性计算单元、滤波器软剪枝单元和滤波器硬剪枝单元相连接;它用于构建压缩前的完整的DCNN模型结构,并进行预训练,预训练得到的模型用于滤波器相关性计算、剪枝敏感性计算和滤波器剪枝;
所述滤波器相关性计算单元,它与模型预训练单元、剪枝敏感性计算单元和滤波器软剪枝单元相连接;它读取模型预训练单元得到的预训练模型中的滤波器参数,将每个滤波器的参数展平为一个滤波器向量,选取其中一个滤波器向量作为目标向量,并以其余滤波器向量作为拟合向量,使用最小二乘法计算二者的拟合优度作为滤波器相关性评价标准;该滤波器相关性计算单元重复上述操作至计算出每个滤波器的拟合优度作为滤波器相关性,并将计算结果传至剪枝敏感性计算单元、滤波器软剪枝单元和滤波器硬剪枝单元;
所述滤波器软剪枝单元,它与滤波器相关性计算单元、剪枝敏感性计算单元、模型预训练单元和模型重训练单元相连接,通过读取滤波器相关性计算单元中得到的滤波器之间的相关性,来确定每一层需要剪枝的滤波器,并将预训练模型中这些滤波器的参数置零;该滤波器软剪枝单元根据提前预设的剪枝比重复上述操作;
所述剪枝敏感性计算单元,它与模型预训练单元、滤波器软剪枝单元、滤波器硬剪枝单元和模型重训练单元相连接;它对每一层次设置滤波器剪枝比例并单独进行软剪枝,经过重训练后计算与原始预训练模型的性能误差,作为该层次在该剪枝比例下的敏感性;它对每一层次分别设定不同的滤波器剪枝比例,重复上述过程得到每一层次在各个剪枝比例下的敏感性,从而得到整个模型的最佳滤波器剪枝比例和对应的各层次滤波器剪枝比;
所述模型重训练单元,它与滤波器软剪枝单元、滤波器硬剪枝单元、剪枝敏感性计算单元、DCNN模型量化单元和硬件结构设计单元相连接,负责滤波器剪枝后或量化后的模型进行再次训练微调,达到恢复模型性能的目的;恢复性能后的模型传至剪枝敏感性计算单元、滤波器硬剪枝单元、DCNN模型量化单元或硬件结构设计单元;
所述滤波器硬剪枝单元,它与模型预训练单元、滤波器软剪枝单元相连通,通过读取需要进行剪枝的滤波器,将其彻底从模型中删除;该滤波器硬剪枝单元还包括维度插入与维度删除功能,对剪枝后数据维度变化问题进行维度匹配;
所述DCNN模型量化单元,它与模型重训练单元相连,将前述输出的剪枝后DCNN模型参数、偏置和激活值进行提取,并计算这些数据所需要的量化位宽和量化因子,动态的对不同数据进行量化,得到量化后的模型;并将该模型再输入至模型重训练单元;
所述硬件结构设计单元,它与模型重训练单元相连,获取前述输出的量化模型;根据量化后模型的结构,从多任务并行、多层级并行、通道间并行、通道内并行和操作并行方面根据FPGA的资源限制进行设计,在资源与计算速度间得到平衡。
2.一种面向FPGA的深度卷积神经网络加速器的设计方法,其特征在于,它包括下述几个步骤:
步骤一:训练原始深度卷积神经网络DCNN模型;
原始DCNN模型是针对于某一特定任务经过训练得到的模型;整个滤波器剪枝过程将在原始DCNN模型上进行,模型性能的损失将以原始模型作为基准,滤波器相关性计算是根据经原始模型的滤波器参数进行计算,原始DCNN模型对存储空间的需求和对计算资源的需求大;将预训练得到的原始DCNN模型进行存储,用于后面的滤波器剪枝、各层次剪枝敏感性计算;
步骤二:对原始DCNN模型的各个卷积层进行分组;
根据各个卷积层的特性进行分组;首先,根据卷积层的输出,即特征映射的尺寸进行分组,将特征映射尺寸相同的卷积层归为一个阶段;进一步在每个阶段内,根据残差连接特性,将一个残差连接跨度内的所有卷积层归为一个块;最后在每一个块内,分别去考虑每一个卷积层;对与上面的三个层次分别进行分析;
步骤三:计算每一个层次中各个分组的滤波器剪枝敏感性;
滤波器剪枝敏感性是指某一个层次对滤波器剪枝的敏感程度,裁剪同样比例的滤波器情况下,性能损失越大则认为剪枝敏感性越高;任选一个层次中的任意一个分组,设定一系列滤波器剪枝比参数,对于每一个剪枝比,重复计算该分组的剪枝敏感性,直至计算完当前层次的每一个分组在不同滤波器剪枝比下的剪枝敏感性,选择剪枝敏感性大的分组,进一步对在组内对更加细分的分组重复进行剪枝敏感性计算,直至得到卷积层级的剪枝敏感性;
步骤四:对原始DCNN模型进行软剪枝;
根据步骤三得到的各个层次的滤波器剪枝敏感性,合理的设置每个卷积层的滤波器剪枝比,得到整个原始模型的全局最佳剪枝比;该剪枝比充分考虑了各个卷积层对于滤波器剪枝的敏感性,保证剪枝后模型具有恢复能力,能够恢复原始DCNN模型性能;该步骤中剪枝采用软剪枝方式,即将需要裁减的参数置零,并不改变模型结构;
步骤五:对软剪枝后的DCNN模型进行重训练;
对于软剪枝后的DCNN模型,将损失函数增加稀疏化正则项,促进相关性较大的滤波器参数减小,进一步减小层内保留的滤波器之间的相关性,提升DCNN模型的表达能力,使其能够恢复到与原始DCNN模型相同的性能;经过一定周期的训练恢复DCNN模型性能;
步骤六:对DCNN模型进行硬剪枝;
前述剪枝及重训练过程均使用软剪枝方法,即对需要进行剪枝的滤波器置零而不是去掉;本步骤对模型使用硬剪枝方法,根据步骤四得到的需要剪枝的滤波器的索引,直接对步骤五得到的模型去掉所有需要裁减的滤波器,得到轻量化模型;
步骤七:对硬剪枝之后的DCNN模型进行量化;
从轻量化模型中提取参数、偏置和特征图数据,根据既定的量化位宽,动态的求解每组数据的量化因子,并对所有数据使用量化方法后重载入DCNN模型当中;再对量化模型进行重训练微调以恢复原始性能;
步骤八:将量化后的DCNN模型部署在FPGA中;
根据量化模型和FPGA的资源限制,设计合理的硬件并行化结构,根据DCNN模型设计不同的单元,包括计算单元、控制单元和存储单元,将量化后的DCNN模型根据此结构部署在FPGA当中。
3.根据权利要求1所述的一种面向FPGA的深度卷积神经网络加速器的设计方法,其特征在于:还包括如下步骤:
(1)计算组内每个卷积层内滤波器的相关性;卷积层内滤波器相关性使用拟合优度来衡量,将一层所有的滤波器参数提取出并将三维参数用同样的顺序展平成为二维向量,选出其中的一个向量作为目标向量,其余向量作为拟合向量,计算使用拟合向量来拟合目标向量的拟合优度;如果拟合优度大,则认为拟合向量能够较好的拟合目标向量,那么当前目标向量所对应的滤波器与其他滤波器间相关性较大;重复本步骤直至得到所有滤波器与其他滤波器的相关性;
(2)根据滤波器相关性对该层滤波器进行剪枝,裁剪相关性最大的滤波器;裁剪方法为软剪枝,即将需要裁减的滤波器参数和其对应的梯度置零,但是保留该位置的滤波器,用于后面恢复模型性能使用;判断是否已经达到了当前设定的剪枝比,如果没有达到则重复前面过程,直至达到预设的滤波器剪枝比;
(3)对剪枝后的模型进行重训练以恢复性能,由于判断剪枝敏感性不需要恢复到原始性能,只需要在同样的条件下进行比较,因此每次选择相同的、较小的训练周期进行训练,得到恢复后的性能,并与原始模型性能进行比较,将性能损失作为当前层在当前滤波器剪枝比下的敏感性度量;
(4)恢复原始DCNN模型;由于前面采用了软剪枝方法,DCNN模型结构没有发生变化,将原始DCNN模型的参数重新载入剪枝后的模型,使其恢复成为原始DCNN模型。
4.根据权利要求1所述的一种面向FPGA的深度卷积神经网络加速器的设计方法,其特征在于:选取ResNet50模型结构并进行训练,以达到预期的性能;该预训练模型具有2.5×107个参数,且处理单帧数据需要进行3.81×109次浮点运算。
5.根据权利要求4所述的一种面向FPGA的深度卷积神经网络加速器的设计方法,其特征在于:对于ResNet50模型,首先选择一个阶段,将整个阶段中所有卷积层以1/4、3/8、1/2、5/8、3/4的剪枝比以此进行剪枝并计算剪枝敏感性,得到剪枝敏感性随剪枝比变化的曲线。
6.根据权利要求1所述的一种面向FPGA的深度卷积神经网络加速器的设计方法,其特征在于:根据步骤三得到的各个层次的滤波器剪枝敏感性,设置每个卷积层的滤波器剪枝比,分别为0.25、0.5、0.75。
7.根据权利要求1所述的一种面向FPGA的深度卷积神经网络加速器的设计方法,其特征在于:在训练时所有数据使用32位浮点数表示,包括1位符号位、8位指数位和23位小数位;使用定点数量化时首先设定量化位宽,设置量化位宽为8位,8定点数能够表达的数据范围是[27-1,-27],计算需要量化数据的绝对值最大值|w|max,将该最大值放缩到量化数据范围内,此放缩比例即为量化因子;定点数可以自由的设定小数点所在位置,从而调节最小量化单位,调节量化精度。
8.根据权利要求7所述的一种面向FPGA的深度卷积神经网络加速器的设计方法,其特征在于:对于不同的数据,量化因子不同,量化后定点数中的整数位宽和小数位宽也不同,实现了动态的对不同数据进行量化。
9.根据权利要求7所述的一种面向FPGA的深度卷积神经网络加速器的设计方法,其特征在于:量化后的权重重新载入ResNet50模型,并将该模型再输入至模型重训练单元进行重训练以恢复模型性能;量化后模型所需要的存储空间减小为原来的1/4。
CN202110705247.3A 2021-06-24 2021-06-24 一种面向fpga的深度卷积神经网络加速器及设计方法 Active CN113487012B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110705247.3A CN113487012B (zh) 2021-06-24 2021-06-24 一种面向fpga的深度卷积神经网络加速器及设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110705247.3A CN113487012B (zh) 2021-06-24 2021-06-24 一种面向fpga的深度卷积神经网络加速器及设计方法

Publications (2)

Publication Number Publication Date
CN113487012A CN113487012A (zh) 2021-10-08
CN113487012B true CN113487012B (zh) 2023-08-04

Family

ID=77936147

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110705247.3A Active CN113487012B (zh) 2021-06-24 2021-06-24 一种面向fpga的深度卷积神经网络加速器及设计方法

Country Status (1)

Country Link
CN (1) CN113487012B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116402116B (zh) * 2023-06-05 2023-09-05 山东云海国创云计算装备产业创新中心有限公司 神经网络的剪枝方法、系统、设备、介质及图像处理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111414993A (zh) * 2020-03-03 2020-07-14 三星(中国)半导体有限公司 卷积神经网络的裁剪、卷积计算方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9904871B2 (en) * 2016-04-14 2018-02-27 Microsoft Technologies Licensing, LLC Deep convolutional neural network prediction of image professionalism
US11093832B2 (en) * 2017-10-19 2021-08-17 International Business Machines Corporation Pruning redundant neurons and kernels of deep convolutional neural networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111414993A (zh) * 2020-03-03 2020-07-14 三星(中国)半导体有限公司 卷积神经网络的裁剪、卷积计算方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Acceleration of FPGA Based Convolutional Neural Network for Human Activity Classification Using Millimeter-Wave Radar;Peng lei,et al.;《IEEE》;2169-3536 *

Also Published As

Publication number Publication date
CN113487012A (zh) 2021-10-08

Similar Documents

Publication Publication Date Title
CN110378468B (zh) 一种基于结构化剪枝和低比特量化的神经网络加速器
Dong et al. Network pruning via transformable architecture search
Nguyen et al. Layer-specific optimization for mixed data flow with mixed precision in FPGA design for CNN-based object detectors
CN110880038B (zh) 基于fpga的加速卷积计算的系统、卷积神经网络
WO2019212877A1 (en) Quantization for dnn accelerators
CN107644254A (zh) 一种卷积神经网络权重参数量化训练方法及系统
CN112329922A (zh) 一种基于质谱数据集的神经网络模型压缩方法及系统
CN113222138A (zh) 一种联合层剪枝和通道剪枝的卷积神经网络压缩方法
CN111814973B (zh) 一种适用于神经常微分方程网络计算的存内计算系统
CN112633477A (zh) 一种基于现场可编程阵列的量化神经网络加速方法
CN113392973A (zh) 一种基于fpga的ai芯片神经网络加速方法
CN114580636B (zh) 基于三目标联合优化的神经网络轻量化部署方法
CN113344179A (zh) 基于fpga的二值化卷积神经网络算法的ip核
CN113595993A (zh) 边缘计算下模型结构优化的车载感知设备联合学习方法
CN114970853A (zh) 一种跨范围量化的卷积神经网络压缩方法
CN113487012B (zh) 一种面向fpga的深度卷积神经网络加速器及设计方法
CN111091183B (zh) 一种神经网络加速系统和方法
Yang et al. Efficient hardware realization of convolutional neural networks using intra-kernel regular pruning
CN113514877A (zh) 一种自适应震级快速估算方法
Qi et al. Learning low resource consumption cnn through pruning and quantization
CN112597919A (zh) 基于YOLOv3剪枝网络和嵌入式开发板的实时药盒检测方法
CN114925823A (zh) 一种卷积神经网络压缩方法及边缘侧fpga加速器
Verma et al. A" Network Pruning Network''Approach to Deep Model Compression
Alnemari et al. Efficient deep neural networks for edge computing
Zhang et al. A-u3d: A unified 2d/3d cnn accelerator on the versal platform for disparity estimation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant