一种面向FPGA的多目标网络结构的构建方法技术

技术编号:31314791 阅读:20 留言:0更新日期:2021-12-12 22:51
本发明专利技术公开了一种面向FPGA的多目标网络结构的构建方法,包括:构建轻量化、可伸缩并易收敛的网络结构搜索候选模块,对所述候选模块在FPGA平台上的时延进行测试并记录,并设计可微化的时延指标约束函数;设计有向无环图的过参数化网络搜索空间和设计无代理的二阶段网络搜索策略,加速网络结构的搜索过程;将所述时延约束指标函数加入基于梯度下降的反向传播算法中,构建多目标综合搜索损失函数;根据所述多目标综合搜索损失函数,生成适配FPGA的轻量级网络结构。与同等精度水平的手工轻量级神经网络相比,本发明专利技术构建的轻量级网络结构在FPGA上具备更高的实时性,更小的模型体积和更少的模型运算量。少的模型运算量。少的模型运算量。

【技术实现步骤摘要】
一种面向FPGA的多目标网络结构的构建方法


[0001]本专利技术涉及网络结构搜索
,特别涉及一种面向FPGA的多目标网络结构的构建方法。

技术介绍

[0002]伴随着深度学习技术迅猛发展,深度神经网络在计算机视觉、语音识别、自然处理等领域实现了跨越式的突破。然而深度学习算法在工业、制造业和航天航海等领域还没得到非常广泛的应用,其中一个原因就是深度学习网络的模型庞大、计算量巨大,一个CNN网络的权重文件动辄数百兆,例如AlexNet有着61M的参数、249MB的内存,复杂的VGG16及VGG19的内存容量已经超过500MB,并且由于卷积神经网络的本质是乘加运算的堆叠,复杂的网络结构被用来提升网络模型性能的同时会造成计算量的大幅增加,这些意味着需要更大的存储容量和更多的浮点运算。
[0003]由于移动平台和嵌入式设备局限于其有限的内存,和计算处理单元,导致以精度为主要设计指标的CNN模型在这些平台上的部署面临巨大挑战,难以保证网络性能和网络快速部署之间的平衡,无法满足嵌入式平台上的实时性需求,无法针对不同的嵌入式平台硬件特性对网络结构自适应优化调整,这成为了网络在嵌入式平台快速移植的又一瓶颈。
[0004]深度卷积网络模型结构搜索技术是结构自适应调整优化的一个关键步骤,通过构建搜索空间,设计优化算法以及模型评估函数,实现不同结构模块和算子的拼接,使得网络模型保持一定的预测精度的前提下,利用计算量,延时等指标降低模型的计算消耗,解决FPGA等嵌入式移动平台计算资源受限、无法满足实时性的问题。
>[0005]目前在网络搜索研究领域中,首先要构建一个高效的搜索空间,其中主要涉及对于网络结构块的可复用重构封装,以及块与块之间的组合连接方式的设计。传统的搜索空间构建方式限制了神经网络的整体架构和链接方向,需要调整每一层所做的操作和对应的参数,可允许网络结构灵活改变,但是带来了十分昂贵的计算代价。随后,在所构建的搜索空间的基础上,需要设计优化算法在候选集上优化网络结构,现有的主流方法包括强化学习,进化算法,贝叶斯优化和基于梯度的方法,高效的优化算法能大大提高网络结构自适应优化的效率。最后,随着深度网络模型在移动端和嵌入式平台上应用的需求涌现,为使得网络搜索出来的结构满足不同的需求,需设计相应的评估指标,指导网络结构的自适应优化。比如针对网络模型在GPU上的快速精确部署,会以flops和精度为指标,搜索出的网络结构可保证在二者之间达到最优平衡。
[0006]然而,现有的网络模型搜索方法还是存在搜索时间代价大,搜索空间网络模块种类单一,评估指标未结合硬件特性等问题,这些问题导致网络结构搜索在嵌入式平台表现不佳,因此,如何提供一种能够同时保证网络精度和硬件友好度的网络结构自适应搜索优化方法,是本领域技术人员亟需解决的问题。

技术实现思路

[0007]本专利技术的目的在于,为了解决上述现有技术存在的不足之处,提供一种一种面向FPGA的多目标网络结构的构建方法,该方法利用网络结构搜索技术,在搜索阶段引入候选模块在FPGA硬件平台上真实时延作为约束,使得自动化搜索到的网络结构更加适配FPGA平台。
[0008]为实现上述目的,本专利技术采取的技术方案为:
[0009]本专利技术实施例提供一种面向FPGA的多目标网络结构的构建方法,包括:
[0010]构建轻量化、可伸缩并易收敛的网络结构搜索候选模块,对所述候选模块在FPGA平台上的时延进行测试并记录,并设计可微化的时延指标约束函数;
[0011]设计有向无环图的过参数化网络搜索空间和设计无代理的二阶段网络搜索策略,加速网络结构的搜索过程;
[0012]将所述时延约束指标函数加入基于梯度下降的反向传播算法中,构建多目标综合搜索损失函数;根据所述多目标综合搜索损失函数,生成适配FPGA的轻量级网络结构。
[0013]进一步地,构建轻量化、可伸缩并易收敛的网络结构搜索候选模块,包括:
[0014]将卷积计算算子,激活算子,跳链接操作进行组合;所述卷积算子采用深度可分离算子,外加设计通道扩展因子,引入了残差结构,添加跳连接,组合成网络结构搜索候选模块。
[0015]进一步地,设计有向无环图的过参数化网络搜索空间,包括:
[0016]根据目标任务的输入数据,预设定若干固定模块,分别在网络结构的前后两端;中间是可学习块部分,由轻量候选单元进行填充,以此形成搜索空间。
[0017]进一步地,无代理的二阶段网络搜索策略,包括:
[0018]二值化路径的网络结构搜索优化和基于梯度的网络结构参数训练。
[0019]进一步地,所述时延指标约束函数为:
[0020][0021]其中,i表示当前的可学习块在搜索空间中的位置索引,也即代表第i个可学习块,j代表可学习块中候选路径的位置索引,E[latency
i
]表示第i个可学习块的时延期望,F(
·
)表示时延预测模型,表示候选单元的时延。
[0022]进一步地,在构建的所述多目标综合搜索损失函数中引入尺度因子,
[0023]其中Loss表示多目标综合搜索损失函数;Loss
CE
表示训练网络的时候通常使用的交叉熵损失函数,通过反向传播对于网络权重进行优化;表示搜索得到的总体网络结构硬件时延的期望;λ表示尺度因子,λ∈[0,1]。
[0024]与现有技术相比,本专利技术具有如下有益效果:
[0025]本专利技术实施例提供的一种面向FPGA的多目标网络结构的构建方法,包括:构建轻量化、可伸缩并易收敛的网络结构搜索候选模块,对所述候选模块在FPGA平台上的时延进行测试并记录,并设计可微化的时延指标约束函数;设计有向无环图的过参数化网络搜索
空间和设计无代理的二阶段网络搜索策略,加速网络结构的搜索过程;将所述时延约束指标函数加入基于梯度下降的反向传播算法中,构建多目标综合搜索损失函数;根据所述多目标综合搜索损失函数,生成适配FPGA的轻量级网络结构。本专利技术的时延指标约束函数可以作为任意网络结构搜索算法的约束因子,优化网络结构对FPGA平台的适配能力,主要提高模型的实时性。
[0026]1、基于多目标约束的网络结构搜索技术,首次引入网络在FPGA目标平台上的真实测试时延作为约束条件,提高了自动化网络构建方法对FPGA的适配性,优化了卷积神经网络在FPGA上的运行效率。改善了现有网络搜索算法中只利用网络精度信息作为指导的单一性,充分考虑到模型与FPGA硬件平台特性的关联性。
[0027]2、在网络结构搜索框架中构建的多目标综合搜索损失函数,既包含网络精度约束信息又包含网络时延约束信息,在多目标综合搜索损失函数中通过尺度因子控制网络精度约束信息和网络时延约束信息的参与程度,最终可以优化网络网络结构搜索算法对FPGA的适配能力。
[0028]3、构建了轻量级、可伸缩和易收敛的网络搜索候选单元模块,其中,轻量级候选单元模块,保证了搜索到网络的规模较小;可伸缩的候选模块设计提升本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种面向FPGA的多目标网络结构的构建方法,其特征在于,包括:构建轻量化、可伸缩并易收敛的网络结构搜索候选模块,对所述候选模块在FPGA平台上的时延进行测试并记录,并设计可微化的时延指标约束函数;设计有向无环图的过参数化网络搜索空间和设计无代理的二阶段网络搜索策略,加速网络结构的搜索过程;将所述时延约束指标函数加入基于梯度下降的反向传播算法中,构建多目标综合搜索损失函数;根据所述多目标综合搜索损失函数,生成适配FPGA的轻量级网络结构。2.根据权利要求1所述的一种面向FPGA的多目标网络结构的构建方法,其特征在于,构建轻量化、可伸缩并易收敛的网络结构搜索候选模块,包括:将卷积计算算子,激活算子,跳链接操作进行组合;所述卷积算子采用深度可分离算子,外加设计通道扩展因子,引入了残差结构,添加跳连接,组合成网络结构搜索候选模块。3.根据权利要求2所述的一种面向FPGA的多目标网络结构的构建方法,其特征在于,设计有向无环图的过参数化网络搜索空间,包括:根据目标任务的输入数据,预设定若干固定模块,分别在网络结构的前后两端;中间是可学习块部分,由轻...

【专利技术属性】
技术研发人员:姜宏旭田方正李波李晓宾张润华胡宗琦常云洋
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

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

1