CN113780542B - 一种面向fpga的多目标网络结构的构建方法 - Google Patents
一种面向fpga的多目标网络结构的构建方法 Download PDFInfo
- Publication number
- CN113780542B CN113780542B CN202111051377.6A CN202111051377A CN113780542B CN 113780542 B CN113780542 B CN 113780542B CN 202111051377 A CN202111051377 A CN 202111051377A CN 113780542 B CN113780542 B CN 113780542B
- Authority
- CN
- China
- Prior art keywords
- network
- network structure
- search
- fpga
- constructing
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种面向FPGA的多目标网络结构的构建方法,包括:构建轻量化、可伸缩并易收敛的网络结构搜索候选模块,对所述候选模块在FPGA平台上的时延进行测试并记录,并设计可微化的时延指标约束函数;设计有向无环图的过参数化网络搜索空间和设计无代理的二阶段网络搜索策略,加速网络结构的搜索过程;将所述时延约束指标函数加入基于梯度下降的反向传播算法中,构建多目标综合搜索损失函数;根据所述多目标综合搜索损失函数,生成适配FPGA的轻量级网络结构。与同等精度水平的手工轻量级神经网络相比,本发明构建的轻量级网络结构在FPGA上具备更高的实时性,更小的模型体积和更少的模型运算量。
Description
技术领域
本发明涉及网络结构搜索技术领域,特别涉及一种面向FPGA的多目标网络结构的构建方法。
背景技术
伴随着深度学习技术迅猛发展,深度神经网络在计算机视觉、语音识别、自然处理等领域实现了跨越式的突破。然而深度学习算法在工业、制造业和航天航海等领域还没得到非常广泛的应用,其中一个原因就是深度学习网络的模型庞大、计算量巨大,一个CNN网络的权重文件动辄数百兆,例如AlexNet有着61M的参数、249MB的内存,复杂的VGG16及VGG19的内存容量已经超过500MB,并且由于卷积神经网络的本质是乘加运算的堆叠,复杂的网络结构被用来提升网络模型性能的同时会造成计算量的大幅增加,这些意味着需要更大的存储容量和更多的浮点运算。
由于移动平台和嵌入式设备局限于其有限的内存,和计算处理单元,导致以精度为主要设计指标的CNN模型在这些平台上的部署面临巨大挑战,难以保证网络性能和网络快速部署之间的平衡,无法满足嵌入式平台上的实时性需求,无法针对不同的嵌入式平台硬件特性对网络结构自适应优化调整,这成为了网络在嵌入式平台快速移植的又一瓶颈。
深度卷积网络模型结构搜索技术是结构自适应调整优化的一个关键步骤,通过构建搜索空间,设计优化算法以及模型评估函数,实现不同结构模块和算子的拼接,使得网络模型保持一定的预测精度的前提下,利用计算量,延时等指标降低模型的计算消耗,解决FPGA等嵌入式移动平台计算资源受限、无法满足实时性的问题。
目前在网络搜索研究领域中,首先要构建一个高效的搜索空间,其中主要涉及对于网络结构块的可复用重构封装,以及块与块之间的组合连接方式的设计。传统的搜索空间构建方式限制了神经网络的整体架构和链接方向,需要调整每一层所做的操作和对应的参数,可允许网络结构灵活改变,但是带来了十分昂贵的计算代价。随后,在所构建的搜索空间的基础上,需要设计优化算法在候选集上优化网络结构,现有的主流方法包括强化学习,进化算法,贝叶斯优化和基于梯度的方法,高效的优化算法能大大提高网络结构自适应优化的效率。最后,随着深度网络模型在移动端和嵌入式平台上应用的需求涌现,为使得网络搜索出来的结构满足不同的需求,需设计相应的评估指标,指导网络结构的自适应优化。比如针对网络模型在GPU上的快速精确部署,会以flops和精度为指标,搜索出的网络结构可保证在二者之间达到最优平衡。
然而,现有的网络模型搜索方法还是存在搜索时间代价大,搜索空间网络模块种类单一,评估指标未结合硬件特性等问题,这些问题导致网络结构搜索在嵌入式平台表现不佳,因此,如何提供一种能够同时保证网络精度和硬件友好度的网络结构自适应搜索优化方法,是本领域技术人员亟需解决的问题。
发明内容
本发明的目的在于,为了解决上述现有技术存在的不足之处,提供一种一种面向FPGA的多目标网络结构的构建方法,该方法利用网络结构搜索技术,在搜索阶段引入候选模块在FPGA硬件平台上真实时延作为约束,使得自动化搜索到的网络结构更加适配FPGA平台。
为实现上述目的,本发明采取的技术方案为:
本发明实施例提供一种面向FPGA的多目标网络结构的构建方法,包括:
构建轻量化、可伸缩并易收敛的网络结构搜索候选模块,对所述候选模块在FPGA平台上的时延进行测试并记录,并设计可微化的时延指标约束函数;
设计有向无环图的过参数化网络搜索空间和设计无代理的二阶段网络搜索策略,加速网络结构的搜索过程;
将所述时延约束指标函数加入基于梯度下降的反向传播算法中,构建多目标综合搜索损失函数;根据所述多目标综合搜索损失函数,生成适配FPGA的轻量级网络结构。
进一步地,构建轻量化、可伸缩并易收敛的网络结构搜索候选模块,包括:
将卷积计算算子,激活算子,跳链接操作进行组合;所述卷积算子采用深度可分离算子,外加设计通道扩展因子,引入了残差结构,添加跳连接,组合成网络结构搜索候选模块。
进一步地,设计有向无环图的过参数化网络搜索空间,包括:
根据目标任务的输入数据,预设定若干固定模块,分别在网络结构的前后两端;中间是可学习块部分,由轻量候选单元进行填充,以此形成搜索空间。
进一步地,无代理的二阶段网络搜索策略,包括:
二值化路径的网络结构搜索优化和基于梯度的网络结构参数训练。
进一步地,所述时延指标约束函数为:
其中,i表示当前的可学习块在搜索空间中的位置索引,也即代表第i个可学习块,j代表可学习块中候选路径的位置索引,E[latencyi]表示第i个可学习块的时延期望,F(·)表示时延预测模型,表示候选单元/>的时延。
进一步地,在构建的所述多目标综合搜索损失函数中引入尺度因子,
其中Loss表示多目标综合搜索损失函数;LossCE表示训练网络的时候通常使用的交叉熵损失函数,通过反向传播对于网络权重进行优化;表示搜索得到的总体网络结构硬件时延的期望;λ表示尺度因子,λ∈[0,1]。
与现有技术相比,本发明具有如下有益效果:
本发明实施例提供的一种面向FPGA的多目标网络结构的构建方法,包括:构建轻量化、可伸缩并易收敛的网络结构搜索候选模块,对所述候选模块在FPGA平台上的时延进行测试并记录,并设计可微化的时延指标约束函数;设计有向无环图的过参数化网络搜索空间和设计无代理的二阶段网络搜索策略,加速网络结构的搜索过程;将所述时延约束指标函数加入基于梯度下降的反向传播算法中,构建多目标综合搜索损失函数;根据所述多目标综合搜索损失函数,生成适配FPGA的轻量级网络结构。本发明的时延指标约束函数可以作为任意网络结构搜索算法的约束因子,优化网络结构对FPGA平台的适配能力,主要提高模型的实时性。
1、基于多目标约束的网络结构搜索技术,首次引入网络在FPGA目标平台上的真实测试时延作为约束条件,提高了自动化网络构建方法对FPGA的适配性,优化了卷积神经网络在FPGA上的运行效率。改善了现有网络搜索算法中只利用网络精度信息作为指导的单一性,充分考虑到模型与FPGA硬件平台特性的关联性。
2、在网络结构搜索框架中构建的多目标综合搜索损失函数,既包含网络精度约束信息又包含网络时延约束信息,在多目标综合搜索损失函数中通过尺度因子控制网络精度约束信息和网络时延约束信息的参与程度,最终可以优化网络网络结构搜索算法对FPGA的适配能力。
3、构建了轻量级、可伸缩和易收敛的网络搜索候选单元模块,其中,轻量级候选单元模块,保证了搜索到网络的规模较小;可伸缩的候选模块设计提升了模块的多元化能力,从而提高了最终网络模型的精度;易收敛的特性加快了网络的自动化搜索过程。
4、目前工业界已公开的网络结构搜索算法,自动化构建的网络未专门考虑FPGA的自身硬件资源属性,从而导致搜索到的模型在FPGA平台存在不好用、不可用的问题。但利用此面向FPGA的多目标网络结构搜索技术,可以使精度与手工轻量级网络保持对等的情况下,模型体积减小30%,运行速度提升1倍以上。
附图说明
图1为本发明实施例提供的一种面向FPGA的多目标网络结构的构建方法流程图。
图2为本发明实施例提供的网络搜索候选模块设计图。
图3为本发明实施例提供的过参数化搜索空间结构图。
图4为本发明实施例提供的通过搜索实际得到的网络结构图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
在本发明的描述中,需要说明的是,术语“上”、“下”、“内”、“外”“前端”、“后端”、“两端”、“一端”、“另一端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“设置有”、“连接”等,应做广义理解,例如“连接”,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
参照图1所示,本发明实施例提供一种面向FPGA的多目标网络结构的构建方法,为自动化快速构建适配FPGA平台的深度网络模型提供技术支持。包括:构建轻量化、可伸缩并易收敛的网络结构搜索候选模块,并对候选模块在FPGA平台上的时延进行测试并记录,从而设计可微化的时延指标约束函数。构建有向无环图的过参数化网络搜索空间以及设计无代理的二阶段网络搜索策略,提高网络结构搜索效率。提出基于精度和网络时延构建多目标的网络结构算法,将时延约束指标函数加入基于梯度下降的反向传播算法中,最终实现多目标约束的网络结构搜索框架。基于此搜索框架所自动化获取的网络,与同等精度水平的手工轻量级神经网络相比,在FPGA上具备更高的实时性,更小的模型体积和更少的模型运算量。
该方法首次引入网络在FPGA目标平台上的真实测试时延作为约束条件,提高了自动化网络构建方法对FPGA的适配性,优化了卷积神经网络在FPGA上的运行效率。改善了现有网络搜索算法中只利用网络精度信息作为指导的单一性,充分考虑到模型与FPGA硬件平台特性的关联适配性。最终可以自动化获取可在FPGA平台上部署的高实时性、高精度卷积神经网络。
具体如图1所示,首先需要对网络的权重参数和结构参数进行初始化处理,随着设置训练模式为优化权重参数,先对网络权重参数进行训练,使其网络中的卷积等操作能够提取到一定的特征信息。在优化权重参数部分,需要冻结结构参数,也就是不更新结构参数,通过随机抽样选中其中一条路径进行训练当前的自网络,训练过程通过反向传播算法对网络权重参数进行优化,随后设置训练模式为优化结构参数。在优化结构参数部分,同样需要冻结权重参数,使其保持网络权重参数不变,通过反向传播算法优化结构参数,设置训练模式为优化权重参数。通过分阶段对权重和结构参数进行优化,使得权重参数与结构参数的训练过程解耦合。如果当前网络结构符合预先设置的搜索要求了,那么结束搜索算法输出网络结构,否则重复上述优化权重参数和优化结构参数两个部分的操作。通过计算前后相邻两次训练的输出结果概率分布的交叉熵,作为初始被压缩网络的自身损失函数。
本发明实施例提供的一种面向FPGA的多目标网络结构的构建方法,主要分为3部分:轻量级、可伸缩并易收敛的网络搜索候选模块设计、网络搜索空间以及搜索策略的设计和多目标综合搜索损失函数的构建。下面针对各个部分做具体说明:
1、轻量级、可伸缩并易收敛的网络搜索候选模块设计
本发明所构建的搜索空间中,有向无环图的各个节点对应为一个候选单元,通过选择候选单元并进行连接来组成目标网络结构。其中,有向无环图指的是一个无回路的有向图,通过对于卷积神经网络的结构进行抽象得到。由于卷积神经网络自身其实是由一些具有前后依赖关系的算子堆叠得到的,故此可以将构成神经网络的算子整合设计后作为有向无环图上的点,即候选单元,边代表算子与算子之间的数据流向关系。且由于候选单元本身带有多样性,不同的卷积核大小设计,不同的卷积类型对于构成网络最终的准确率和硬件推理时延有着极大的影响,故从一个候选单元出发,会有多个分支可能,这样的点与边的联系最终构成了一个有向无环图的结构,也即是用于本发明在多目标约束下搜索的搜索空间。
同时,本发明主要面向是FPGA平台处理的卷积神经网络,对网络的前向推理速度有着较高的要求。因此,本发明设计的候选单元需具有以下三大特点:轻量化、可伸缩、易收敛,需要对最基本的算子进行弹性组合来构建得到。
基于上述三个特性要求,本发明分析了现有的卷积神经网络结构,对搜索空间中的候选单元进行了模块化设计,即将最基本的卷积计算算子,激活算子,跳链接操作进行组合。首先要对与卷积计算的类型进行设计,因为本发明最终通过搜索得到的网络结构要是硬件友好的,能满足实时性需求的,故应该选择计算量低但同时性能优越的卷积计算方式,所以本发明设计的候选单元中,卷积算子采用深度可分离算子,当其卷积核尺寸为K的时候,相较于传统卷积,其计算量大约缩小了K*K倍,符合轻量化需求。随后,卷积核尺寸选择了3*3,5*5,7*7三种,外加设计了通道扩展因子t,用于调整候选模块内部的通道数变化,使得候选单元在输入输出通道数一定的情况下,内部具备可伸缩性,也在一定程度上保证了卷积计算的充分性,特别是面对输入通道数极小的情况,内部通道数的扩展,保证了网络的性能。最后为了避免搜索得到的网络层数过深以致难以收敛的情况,本发明引入了残差结构,确保了在搜索空间较大的情况下,网络训练仍可以收敛。
本发明在搜索空间中所采用的三类轻量候选单元结构,具体参见图2所示。图2(a)和图2(b)的结构都包含了一个步长为1的1×1的卷积,紧接着的是ReLU6激活函数,随后是一个深度可分离卷积。图2(a)的结构中深度可分离卷积中的深度卷积步长为1,同时1×1卷积的步长也为1,特征图的尺寸未发生变化。因此可以引入残差模块,添加跳连接,将输入与一系列的卷积操作之后结果进行相加。引入残差模块,可以使得网络能够更好的拟合分类函数以获得更高的分类精度,同时在搜索空间层数过深时依然能够较好的搜索和训练。图2(b)的结构与图2(a)相比,深度可分离卷积部分的步长为2,相当于对输入特征图进行了一次下采样操作。图2(c)的结构仅仅包含一个占位层,其作用相当于不做任何操作,表示该候选单元为空。
本发明设计的轻量候选单元结构,主要的计算量在1×1卷积和深度可分离卷积上。假设深度可分离卷积中的深度卷积部分卷积核尺寸为k×k,则深度可分离卷积在计算量上,相较于传统的卷积方式,约减少了k2倍。也就是说,当卷积核尺寸越大时,计算量的减少量越发明显,这满足了轻量化的要求。
在候选单元可伸缩方面,本发明设计的轻量候选单元中的深度可分离卷积部分,使用了三种不同的卷积核尺寸,包括3×3、5×5和7×7三种。同时,在深度可分离卷积部分,加入了通道扩展因子t,用于调整候选单元内部的通道数量。
2、网络搜索空间以及搜索策略的设计
本发明基于有向无环图的搜索空间结构和轻量候选单元结构设计了过参数化的搜索空间,以及设计了快速的二阶段搜索策略。
过参数化的搜索空间设计的主要思路是根据目标任务的输入数据,预设定若干固定模块,分别在网络结构的前后两端,中间是可学习块部分,由轻量候选单元进行填充,以此形成的搜索空间,内部的候选单元种类丰富,针对某一具体的输入通道和输出通道约束,可学习块内部可选择的候选单元分支众多,且深度也是可变的,每一个分支都对应一个网络结构参数,此参数代表选择此路径即选择此候选单元的可能性,每一个分支指向的点对应的候选单元内部包括大量的网络权重参数,故此,大量的网络权重参数与大量的网络结构参数构成的搜索空间是过参数化的。由于不同任务的输入数据在尺寸上存在差异,例如输入图像的分辨率,所以需要根据具体的任务设定数量不同的可学习块。但用于图像分类任务的卷积神经网络一般都会对输入图像进行卷积操作以及将中间的特征图输出经由全连接计算再通过softmax输出,所以本发明设计的搜索空间结构包含了预设定的固定块。
本发明设计的过参数化搜索空间结构,参见图3所示,从整体上看,过参数化搜索空间结构可以分为三个部分。首先是前端的卷积块,该卷积块由3×3的卷积层、BN以及ReLU6激活层组成,这是一个典型的卷积模块。其次是中间的若干可学习块,这是网络结构搜索算法主要搜索的部分。每个可学习块,同时也包含了若干个不同的轻量候选单元。不同的轻量候选单元主要从卷积核的尺寸、步长或者是否有具体算子这几个方面加以区分。可以将n个可学习块理解为n个插槽,等待从轻量候选单元中挑选组件插入。最后是后端的卷积块、平均池化层以及分类层,其中卷积块部分与上述前端的卷积块相同。
本发明针对网络结构搜索过程中需要消耗大量的GPU算力资源问题,试图优化该过程,使得能直接在目标任务上进行无代理环境的搜索。主要内容包括了基于二值化路径的网络结构搜索优化方法和基于梯度的网络结构参数训练方法。
(1)基于二值化路径的网络结构搜索优化方法
GPU算力资源的大量占用主要是N条路径的输出特征图都需要同时进行计算和存储。因此,相较于一般的卷积神经网络训练方法,使用该搜索方法需要占用N倍的GPU存储资源和消耗N倍的GPU计算时间。为了对该问题进行优化处理,本发明在过参数化的搜索空间中加入了二值化路径处理。
上文提到的,过参数化中除了网络权重参数之外,还包含了网络结构参数{αi},其中网络权重的更新训练和常规网络训练类似,通过对每次训练后的损失函数应用反向传播算法,根据得到的梯度对于网络权重进行更新,而为了提速网络结构参数的训练,减少对于GPU存储和计算的资源消耗,需采用二值化路径的方法进行优化。通过在网络结构参数之后添加一个二值门,来降低对GPU算力资源的压力。公式(1)中i表示选择的是第几条路径,j表示候选路径的总数,pi表示第i条路径的可能性,也称为每条路径的权重值,通过对网络结构参数{αi}应用softmax公式计算得出。
公式(2)代表对于网络参数进行二值门化,使得每次训练的时候只会选择一条路径,而不是根据每条路径的真实权重,同时训练N条路径,对内存的消耗降低N倍。其中p1到pN表示第1条到第N条路径的权重值,[1,0,…,0]表示只选择第1条路径训练,[0,0,…,1]表示只选择第N条路径训练。
基于公式(2),二值化混合算子输出可以重新被定义为公式(3)所示:
其中,oi(x)表示第i个算子的输出结果,x表示输入,oi表示一个具体的算子,如卷积,池化,跳链接等。
通过上述二值门优化处理,有且仅由一条路径在运算时被激活。这样做的好处在于,进行网络结构搜索所需的GPU算力资源要求,降低到进行同水平的卷积神经网络模型训练所需的计算量。
(2)基于梯度的网络参数训练方法
对网络权重参数的优化一般采用反向传播的方式,而对网络结构参数的优化同样可以使用反向传播算法进行优化,结合上述的二值门优化处理,网络结构参数的梯度的计算如公式(4)所示。
其中,gj表示第j条候选路径对应的二值化门表示,αk表示第k条候选路径的网络结构参数实值,取下标为k是为了与外层的对j累加区分,当i=j时,δij=1;当i≠j时,δij=0,其中δij代表反向梯度求导中的系数;近似代替了/>的计算。
本发明针对过参数化的搜索空间的搜索过程主要包含两部分,一是对过参数化的网络中的权重参数进行训练,也即根据交叉熵损失函数进行训练,二是对二值化后的结构参数进行训练,也即根据加入的硬件指标约束,对于搜索空间中的每条路径的可能性根据反向传播梯度进行更新。在上述两个训练过程中,都是采用梯度下降的方法进行优化。
3、多目标综合搜索损失函数的构建
本发明实施例提供的一种面向FPGA的多目标网络结构的构建方法中,利用多目标约束的综合搜索损失函数来指导网络结构更新,多目标综合搜索损失函数主要包括两部分:自身损失函数和时延约束指标函数。其中,自身损失函数描述前后两次相邻输出结果间概率分布的交叉熵。在多目标综合搜索损失函数中引入尺度因子的概念,来调控结构性损失函数和自身损失函数在模型的训练过程中的参与程度,多目标综合搜索损失函数的计算如公式(5)所示,
其中Loss为多目标综合搜索损失函数,E[latencyi]表示第i个可学习块的期望,表示由所有可学习块构成的总网络的时延期望,它对于网络结构参数是可微的,可以根据反向传播算法,对于网络结构参数进行优化,与传统的训练损失函数按照比例线性相加,使得训练在硬件约束下进行。LossCE为网络的自身损失函数,λ为尺度因子,λ∈[0,1]。
自身损失函数LS的具体计算如公式(6)所示:
Ls=-∑xp(x)ln((q(x))) (6)
其中,p(x)表示真实概率分布q(x)预测概率分布。
参见图4,为使用本发明的搜索方法,在CIFAR-10数据集上得到的网络结构,其训练准确率为98.5%,测试准确率86%,在FPGA(ZCU102评估板)平台上运行时延为0.628ms。
表1
参见表1为本发明与部分先进手工算法和自动算法在FPGA(ZCU 102评估板)上的效率对比,其中,MobileNetV2是目前业界公认的高效手工轻量级网络算法,此方法具有较小的模型运算量和较快的推理速度。
从表1可以观测到,通过本发明的搜索训练框架,可以自动化获取与MobileNetV2等规模尺寸的网络,并且具有更高的精度和更快的模型推理速度;此外,从表1还可以观测到,通过本发明的搜索到的模型与DARTS算法搜索的等精度模型对比,在FPGA上具有更好的实时性。
综上所述,与手工和自动化算法的分别对比,验证了本发明提供的方法可以自动化构建更加适配FPGA的卷积神经网络。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (3)
1.一种面向FPGA的多目标网络结构的构建方法,其特征在于,包括:
构建轻量化、可伸缩并易收敛的网络结构搜索候选模块,对所述候选模块在FPGA平台上的时延进行测试并记录,并设计可微化的时延指标约束函数;
设计有向无环图的过参数化网络搜索空间和设计无代理的二阶段网络搜索策略,加速网络结构的搜索过程;
将所述时延指标约束函数加入基于梯度下降的反向传播算法中,构建多目标综合搜索损失函数;根据所述多目标综合搜索损失函数,生成适配FPGA的轻量级网络结构;
其中,所述构建轻量化、可伸缩并易收敛的网络结构搜索候选模块,包括:
将卷积计算算子,激活算子,跳链接操作进行组合;所述卷积计算算子采用深度可分离算子,外加设计通道扩展因子,引入了残差结构,添加跳链接,组合成网络结构搜索候选模块;
所述设计有向无环图的过参数化网络搜索空间,包括:
根据目标任务的输入数据,预设定若干固定模块,分别在网络结构的前后两端;中间是可学习块部分,由轻量候选单元进行填充,以此形成搜索空间;
所述无代理的二阶段网络搜索策略,包括:
二值化路径的网络结构搜索优化和基于梯度的网络结构参数训练。
2.根据权利要求1所述的一种面向FPGA的多目标网络结构的构建方法,其特征在于,所述时延指标约束函数为:
其中,i表示当前的可学习块在搜索空间中的位置索引,也即代表第i个可学习块,j代表可学习块中候选路径的位置索引,p表示路径的可能性,也称为路径的权重值;E[latencyi]表示第i个可学习块的时延期望,F(·)表示时延预测模型,表示候选单元的时延。
3.根据权利要求1所述的一种面向FPGA的多目标网络结构的构建方法,其特征在于,在构建的所述多目标综合搜索损失函数中引入尺度因子,
其中Loss表示多目标综合搜索损失函数;LossCE表示训练网络的时候通常使用的交叉熵损失函数,通过反向传播对于网络权重进行优化;表示搜索得到的总体网络结构硬件时延的期望;λ表示尺度因子,λ∈[0,1]。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111051377.6A CN113780542B (zh) | 2021-09-08 | 2021-09-08 | 一种面向fpga的多目标网络结构的构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111051377.6A CN113780542B (zh) | 2021-09-08 | 2021-09-08 | 一种面向fpga的多目标网络结构的构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113780542A CN113780542A (zh) | 2021-12-10 |
CN113780542B true CN113780542B (zh) | 2023-09-12 |
Family
ID=78841843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111051377.6A Active CN113780542B (zh) | 2021-09-08 | 2021-09-08 | 一种面向fpga的多目标网络结构的构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113780542B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115086178B (zh) * | 2022-05-27 | 2024-03-15 | 量子科技长三角产业创新中心 | 算力网动态重构方法和伺服装置 |
CN115906917B (zh) * | 2022-11-09 | 2024-01-30 | 武汉大学 | 一种基于模型算法划分的神经网络模型部署方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109948029A (zh) * | 2019-01-25 | 2019-06-28 | 南京邮电大学 | 基于神经网络自适应的深度哈希图像搜索方法 |
GB201913353D0 (en) * | 2019-09-16 | 2019-10-30 | Samsung Electronics Co Ltd | Method for designing accelerator hardware |
CN110659721A (zh) * | 2019-08-02 | 2020-01-07 | 浙江省北大信息技术高等研究院 | 一种目标检测网络的构建方法和系统 |
CN111104124A (zh) * | 2019-11-07 | 2020-05-05 | 北京航空航天大学 | 基于Pytorch框架的卷积神经网络在FPGA上的快速部署方法 |
CN111191772A (zh) * | 2020-01-02 | 2020-05-22 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向嵌入式环境的智能计算通用加速系统及其构建方法 |
CN111723914A (zh) * | 2020-06-22 | 2020-09-29 | 中山大学 | 一种基于卷积核预测的神经网络架构搜索方法 |
US10824942B1 (en) * | 2017-04-10 | 2020-11-03 | A9.Com, Inc. | Visual similarity and attribute manipulation using deep neural networks |
CN113076938A (zh) * | 2021-05-06 | 2021-07-06 | 广西师范大学 | 一种结合嵌入式硬件信息的深度学习目标检测方法 |
CN113283426A (zh) * | 2021-04-30 | 2021-08-20 | 南京大学 | 基于多目标神经网络搜索的嵌入式目标检测模型生成方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6799197B2 (ja) * | 2018-05-10 | 2020-12-09 | ヌヴォトンテクノロジージャパン株式会社 | ニューラルネットワーク構築装置、情報処理装置、ニューラルネットワーク構築方法及びプログラム |
US20220366257A1 (en) * | 2019-09-18 | 2022-11-17 | Google Llc | Small and Fast Video Processing Networks via Neural Architecture Search |
-
2021
- 2021-09-08 CN CN202111051377.6A patent/CN113780542B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10824942B1 (en) * | 2017-04-10 | 2020-11-03 | A9.Com, Inc. | Visual similarity and attribute manipulation using deep neural networks |
CN109948029A (zh) * | 2019-01-25 | 2019-06-28 | 南京邮电大学 | 基于神经网络自适应的深度哈希图像搜索方法 |
CN110659721A (zh) * | 2019-08-02 | 2020-01-07 | 浙江省北大信息技术高等研究院 | 一种目标检测网络的构建方法和系统 |
GB201913353D0 (en) * | 2019-09-16 | 2019-10-30 | Samsung Electronics Co Ltd | Method for designing accelerator hardware |
CN111104124A (zh) * | 2019-11-07 | 2020-05-05 | 北京航空航天大学 | 基于Pytorch框架的卷积神经网络在FPGA上的快速部署方法 |
CN111191772A (zh) * | 2020-01-02 | 2020-05-22 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向嵌入式环境的智能计算通用加速系统及其构建方法 |
CN111723914A (zh) * | 2020-06-22 | 2020-09-29 | 中山大学 | 一种基于卷积核预测的神经网络架构搜索方法 |
CN113283426A (zh) * | 2021-04-30 | 2021-08-20 | 南京大学 | 基于多目标神经网络搜索的嵌入式目标检测模型生成方法 |
CN113076938A (zh) * | 2021-05-06 | 2021-07-06 | 广西师范大学 | 一种结合嵌入式硬件信息的深度学习目标检测方法 |
Non-Patent Citations (1)
Title |
---|
邵伟平 ; 王兴 ; 曹昭睿 ; 白帆 ; .基于MobileNet与YOLOv3的轻量化卷积神经网络设计.计算机应用.2020,(第S1期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN113780542A (zh) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113780542B (zh) | 一种面向fpga的多目标网络结构的构建方法 | |
CN109948029B (zh) | 基于神经网络自适应的深度哈希图像搜索方法 | |
US20180046914A1 (en) | Compression method for deep neural networks with load balance | |
WO2022027937A1 (zh) | 一种神经网络压缩方法、装置、设备及存储介质 | |
CN111160515B (zh) | 运行时间预测方法、模型搜索方法及系统 | |
CN111079899A (zh) | 神经网络模型压缩方法、系统、设备及介质 | |
CN110046710A (zh) | 一种神经网络的非线性函数极值优化方法及系统 | |
CN111709493B (zh) | 对象分类方法、训练方法、装置、设备及存储介质 | |
CN114144794A (zh) | 电子装置及用于控制电子装置的方法 | |
CN115860081B (zh) | 一种芯粒算法调度方法、系统、电子设备及存储介质 | |
CN109472361A (zh) | 神经网络优化方法 | |
CN109540165B (zh) | 一种启发式搜索的高速路网约束寻路算法 | |
CN114528987A (zh) | 一种神经网络边缘-云协同计算分割部署方法 | |
CN115169517A (zh) | 一种改进的灰狼优化算法的方法 | |
CN113962388A (zh) | 一种硬件加速感知的神经网络通道剪枝方法 | |
CN112270058B (zh) | 一种基于回声状态网络的光网络多信道传输质量预测方法 | |
CN116822600A (zh) | 一种基于risc-v架构的神经网络搜索芯片 | |
Peter et al. | Resource-efficient dnns for keyword spotting using neural architecture search and quantization | |
CN104460444B (zh) | 基于广义相关系数的fpga运算电路 | |
CN111931913B (zh) | 基于Caffe的卷积神经网络在FPGA上的部署方法 | |
CN114896852A (zh) | 基于pso-bp神经网络的换流变压器缩比模型振动参数预测方法 | |
Zhao et al. | LLM-PQ: Serving LLM on Heterogeneous Clusters with Phase-Aware Partition and Adaptive Quantization | |
CN115210717A (zh) | 硬件优化的神经架构搜索 | |
CN112464104B (zh) | 一种基于网络自协作的隐式推荐方法和系统 | |
CN112801264B (zh) | 一种动态可微分的空间架构搜索方法与系统 |
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 |