CN113902099B - 基于软硬件联合学习的神经网络设计与优化方法 - Google Patents

基于软硬件联合学习的神经网络设计与优化方法 Download PDF

Info

Publication number
CN113902099B
CN113902099B CN202111171312.5A CN202111171312A CN113902099B CN 113902099 B CN113902099 B CN 113902099B CN 202111171312 A CN202111171312 A CN 202111171312A CN 113902099 B CN113902099 B CN 113902099B
Authority
CN
China
Prior art keywords
block
neural network
structural
blocks
conv
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
CN202111171312.5A
Other languages
English (en)
Other versions
CN113902099A (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202111171312.5A priority Critical patent/CN113902099B/zh
Publication of CN113902099A publication Critical patent/CN113902099A/zh
Application granted granted Critical
Publication of CN113902099B publication Critical patent/CN113902099B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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
    • 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)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于软硬件联合学习的神经网络设计与优化方法,该方法包括神经网络结构规律统计;FPGA硬件特性预测;FPGA神经网络结构空间设计;在搜索空间中运用软硬件联合学习方法,结合随机搜索和分块监督搜索,获得主干神经网络。本发明基于神经网络的设计特性和FPGA的硬件特性,构建了一个具有先验信息的搜索空间,这是搜索建立的方向;同时,通过将随机搜索和块监督搜索与FPGA模型预测相结合,得到了一种具有精度和速度平衡的高效神经网络模型。该模型在ZCU102上达到了在ImageNet数据集上77.2%的Top‑1准确率以及327.67FPS的速度。

Description

基于软硬件联合学习的神经网络设计与优化方法
技术领域
本发明涉及神经网络架构搜索技术领域,具体涉及一种基于软硬件联合学习的神经网络设计与优化方法。
背景技术
在自动驾驶的目标检测任务中,检测器的骨干神经网络承担着主要的特征提取任务,并很大程度上决定着整体检测任务的精度与速度。因此设计一个适合自动驾驶任务的骨干神经网络十分关键。
人工设计神经网络需要扎实的专业知识和大量的劳动,一个新的架构通常是通过精心设计的手工实验或从一些现有的网络中修改出来的。这种设计方法效率低下,很难设计一个远远超过现有的先进网络的网络。并且神经网络可以调节的结构参数众多,没有统一的设计规则,如果再考虑到不同任务场景和运行设备,则需要考虑的参数将进一步增加。
为了实现在众多的结构参数中自动地寻找最优结构,神经网络结构搜索成为了一种可行的方式。在硬件方面,学者们提出使用FPGA来提高DNN(深度神经网络)设计的性能。嵌入式FPGA具有低延迟、高能源效率,适合作为自动驾驶的目标检测任务中神经网络的加速平台。
发明内容
本发明公开了一种基于软硬件联合学习的神经网络设计与优化方法,具体包括如下步骤:
步骤S1):神经网络结构规律统计:
分别探讨节点数、结构块数、通道数、输入图像分辨率、参数量与准确率之间的关系,并统计不同神经网络结构下,网络总层数、输入图像分辨率和宽度的规律情况;
步骤S2):FPGA硬件特性预测:
将普通卷积和深度可分离卷积在FPGA上进行对比,探寻最佳的卷积方式,并根据FPG A的性能表现主要参数,提出性能预测函数,其中,FPGA的性能表现主要参数包括延迟时钟周期、触发器FF、查找表LUT;
步骤S3):FPGA神经网络结构空间设计:
在步骤S1)神经网络结构规律统计以及步骤S2)FPGA硬件特性预测的基础上,总结统计规律,得到搜索空间;
步骤S4):基于步骤S3)获取的搜索空间,在该搜索空间中运用软硬件联合学习方法,结合随机搜索和分块监督搜索,获得最优神经网络模型。
本发明提出了基于硬件与软件联合学习的神经网络的设计与优化方法。该方法基于神经网络的设计特性和FPGA的硬件特性,构建了一个具有先验信息的搜索空间,这是搜索建立的方向。同时,通过将随机搜索和块监督搜索与FPGA模型预测相结合,得到了一种具有精度和速度平衡的高效神经网络模型。
附图说明
图1为本发明参数量与准确率关系图(101个模型);
图2为本发明参数量与准确率关系图(60个模型);
图3为本发明参数量与准确率关系图(34个模型);
图4为本发明网络总层数与准确率关系图;
图5为本发明结构块4输出通道数与准确率关系图;
图6为本发明结构块4最大输出通道数与准确率关系图;
图7为本发明结构块平均宽度扩张比与准确率关系图;
图8为本发明结构块4总节点数与准确率关系图;
图9为本发明参数量与LUT关系图;
图10为本发明参数量与FF关系图;
图11为本发明参数量与时钟周期关系图;
图12为本发明FLOPS与时钟周期关系图;
图13为本发明软硬件联合学习方法流程图。
具体实施方式
下面结合附图对本发明的具体实施方式以及工作原理作进一步详细说明。
针对神经网络结构搜索的搜索空间过于庞大,搜索的时间成本及计算消耗巨大,缺乏FPGA信息造成的软硬件设计割裂这三大问题,提出一种基于软硬件联合学习的神经网络设计与优化方法,该方法使用软硬件联合学习的方法去搜素和优化神经网络,具体包括如下步骤:
S1)神经网络结构规律统计:分别探讨节点数、结构块数、通道数、输入图像分辨率、参数量等与准确率之间的关系,并统计不同网络结构下,网络总层数、输入图像分辨率和宽度的规律情况。
S2)FPGA硬件特性预测:将普通卷积和深度可分离卷积在FPGA上进行对比,探寻最佳的卷积方式,并根据FPGA的性能表现主要参数(包括延迟时钟周期、FF、LUT),提出性能预测函数。
S3)FPGA神经网络结构空间设计:在步骤S1)神经网络结构规律统计以及步骤S2)FPGA硬件特性预测的基础上,总结统计规律,得到搜索空间。
S4)基于步骤S3)获取的搜索空间,在该搜索空间中运用软硬件联合学习方法,结合随机搜索和分块监督搜索,获得高效的主干神经网络。
其中,所述步骤S1)具体包括如下步骤:
步骤S11:确定神经网络结构的主要参数:
重点探讨节点数、结构块数、通道数、输入图像分辨率、参数量等与准确率之间的关系,并统计不同网络结构下,网络总层数、输入图像分辨率和宽度的规律情况。
步骤S12:基于S11所确定的主要参数,对其分别进行具体地规律统计,方法如下:
1.参数量
首先针对公开发表的模型论文,在现有13个模型(Vgg16,SqueezeNet,EfficientNet B 0,EfficientNet B4,ResNet-50,ResNeXt-50,ResNeSt-50,CSP ResneXt-50,RepVGG,Mo bileNet-V2,MnasNet-A3,MixNet-M,ECANet-50)基础上,进一步选取了与该13个模型在结构上有相同之处的101个模型,分别对比这101个模型中每一个模型的参数量(单位为million,简称M)与Top-1准确率之间的关系,如图1所示。
其中,所述101个模型的名称见表1。
表1 101个模型的名称
Figure BDA0003293348530000031
/>
Figure BDA0003293348530000041
可以看到在大尺度范围内,随着模型的参数量的增加,模型的Top-1准确率呈现先上升再平缓的趋势。对于一个参数量大于10M的模型来说,随着参数量的增加,准确率不再有明显的提升。参数量与Top-1准确率之间的相关性系数为0.222,相关性系数的计算公式为:
Figure BDA0003293348530000051
其中,Xj″为自变量,这里代表参数量,Yj″为因变量,这里代表Top-1准确率,
Figure BDA0003293348530000052
和/>
Figure BDA0003293348530000053
分别表示参数量与Top-1准确率的平均值,r为最终得到的相关性系数,n表示测试的模型总数。
只选择以上101个模型中参数量小于40M的模型,得到60个模型,分别对比这60个模型中每一个模型的参数量与Top-1准确率之间的关系,如图2所示。在这种尺度下,参数量与Top-1准确率呈现出了一定程度的相关性,带入公式(1),得到此时参数量与Top-1准确率之间的相关性系数为0.552。
只选择以上60个模型中参数量小于10M的模型,得到34个模型,分别对比这34个模型中每一个模型的参数量与Top-1准确率之间的关系,如图3所示,带入公式(1),得到这34个模型中参数量与Top-1准确率之间的相关性系数为0.680。
可以从不同的尺度中看出,参数量与神经网络模型的设计具有一定的相关性,但是在达到一定程度后,参数量增加带来的准确率收益降低。而在较低的参数量上能够得到随着参数量增加,准确率的显著上升,即此时能够通过最小的参数量增长带来最大的准确率收益。同时较低的参数量符合自动驾驶所需的轻量化设计要求,因此本发明在设计网络的过程中将把参数量设置在(0,10M)范围内。
2.网络总层数
网络总层数仅指带权重层的总和,包括卷积层和全连接层。在本发明中,选取的13种不同类型神经网络模型为:Vgg16,SqueezeNet,EfficientNet B0,EfficientNet B4,ResNet-50,ResNeXt-50,ResNeSt-50,CSP ResneXt-50,RepVGG,MobileNet-V2,MnasNet-A3,MixNet-M,ECANet-50,分别标记为模型a,b,c,d,e,f,g,h,i,j,k,l,m。绘制这13种不同类型神经网络模型中网络总层数与Top-1准确率之间的关系图,如图4所示。
由于j、k、d三个模型采用了类似的模型结构,在模型层数较小时,精度能随着层数增加而显著增加,但这种模型结构再随着层数增加已经不能带来明显的精度提升。同样,从l、i、g、d四个模型来看,随着层数的增加精度提升有限。因此,总体而言,对于轻量化模型来说需要更多的网络总层数,但是随着层数增加,精度提升收益降低。对于本发明而言,根据绘制的网络总层数与Top-1准确率之间的关系图,神经网络模型的网络总层数将限定在[25,90]之间。
3.输入图像分辨率
一般的神经网络模型基本采用了常用图像的分辨率224×224。从本发明选取的13个模型a,b,c,d,e,f,g,h,i,j,k,l,m来看,输入图像分辨率对最终的Top-1准确率的影响,呈一种微弱相关。因此本发明在选用输入图像分辨率的时候直接遵从不同数据集的常用输入图像分辨率,不再做修改。
4.结构块特性
4.1结构块宽度
本发明将宽度分为三个子概念,第一个是结构块输出通道数,第二个是结构块中最大输出通道数,第三个是结构块中最大横向节点数。
其中,结构块输出通道数表示每一个结构块的filter数量。结构块中最大输出通道数表示在一个结构块中,可能存在通道数的扩展,因此以一个结构块的最大输出通道数作为一种神经网络宽度的表征。结构块中最大横向节点数表示一个结构块内部分支数量,并且结构块内部分支数量乘以每个分支的通道数即可得到该结构块输出通道数。在规律分析中,由于神经网络一般在靠中间的层的宽度变化更明显,下文的统计中主要选用所述13个模型中每个模型的第4个结构块(其中Vgg16,SqueezeNet,EfficientNet B0,EfficientNet B4,ResNet-50,ResNeXt-50,ResNeSt-50,CSP ResneXt-50,RepVGG,MobileNet-V2,MnasNet-A3,MixNet-M,ECA-Net50这13个模型分别有5、8、7、7、4、4、4、4、5、7、7、6、4个结构块,一共72个结构块)进行比较。
a.仅考察神经网络的结构块输出通道数。本发明选取了所述13个模型中每个模型的第4个结构块的输出通道数与Top-1准确率之间的关系,得到的结果如图5所示,第4个结构块的输出通道数与Top-1准确率的相关性系数为0.2。但是由于这些神经网络采用了不同的设计策略,在13个模型中的某些模型上面,随着结构块的输出通道数的增加,Top-1准确率有一定的上升。
如果考察所述13个模型前4个结构块的输出通道数与Top-1准确率之间的平均相关性系数,得到的结果见表2。可以看到仅从结构块输出通道数来说,相关性较低。
表2结构块输出通道数与Top-1准确率平均相关性系数表
Figure BDA0003293348530000071
b.仅考察结构块中最大输出通道数,以第4个结构块为例,结果如图6所示。带入公式(1),得到结构块中最大输出通道数与Top-1准确率之间的相关性系数为0.28。可以看到整体表现与结构块输出通道数相同,在一部分局部的模型上面,随着结构块输出最大通道数的增加,Top-1准确率有一定的上升,而且相关性较只考虑输出通道数有所上升。
如果是考察所述13个模型前4个结构块的最大输出通道数与Top-1准确率之间的关系,得到的结果见表3。可以看到仅从结构块最大输出通道数来说,相关性较输出通道数有所上升,但整体较低。
表3结构块最大输出通道数与准确率相关性系数表
Figure BDA0003293348530000072
/>
c.仅考察结构块中最大横向节点数,则第4个结构块的最大横向节点数与Top-1准确率之间的相关性系数为0.17,与前两个因素结构块输出通道数和结构块中最大输出通道数相比相关性更低。
d.考察结构块中最大输出通道数与输出通道数相比是否有扩张,即是否存在倒残差结构。而本发明的结果表明Top-1准确率与是否存在扩张相关性很低,相关性系数为0.23。
e.考察结构块之间的宽度扩张比,选取的这13个神经网络模型的前4个结构块的每两个结构块之间的输出通道数之比取均值,结果如图7所示。结构块之间的宽度扩张比与Top-1准确率之间的相关性系数为0.61。
总体而言,本发明在设计神经网络宽度上将搜索多个神经网络宽度和最大输出通道数与输出通道数之比(即扩张比),而最大横向节点数不做设定。且由于结构块之间的宽度扩张比与Top-1准确率之间有比结构块三种宽度以及是否存在扩张与Top-1准确率之间的相关性更高的相关性,本发明的宽度扩张比将设定在[1.5,2]之间。
4.2结构块深度
一个结构块类似于一个小型网络,考察其结构块内部深度对于神经网络的影响。取所述13个模型中前4个结构块中每个结构块的深度,统计其与Top-1准确率之间的关系,见表4。可以看到结构块的深度与Top-1准确率之间具有一定的相关性。说明在结构块中有更深的层对提高准确性是有一定收益的,这一点与网络总层数对Top-1准确率的影响较为类似。
表4结构块深度与Top-1准确率相关性系数表
Figure BDA0003293348530000081
4.3结构块总节点数
由于一个结构块中节点可以横向排列,其结果已经在结构块宽度部分讨论,节点也纵向排列形成多个层,其结果已经在结构块深度部分讨论。这里不加区分宽度与深度统计总的节点数,且由于每个神经网络中结构块总节点数类似,仅选用第4个结构块,整体结果如图8所示,在总节点数为[4,14]范围内,总节点数增加,准确率增加。
4.4结构块内跳接操作
所述13个模型中前4个结构块中跳接操作的数量与Top-1准确率的相关性见表5,可以看出几乎没有相关性。
表5结构块内跳接操作与准确率相关性系数表
Figure BDA0003293348530000082
4.5结构块内注意力机制
分析选取的13个神经网络模型发现,引入注意力机制能够在一定程度上提升模型的准确性。
5.卷积核特性
不同卷积核之间的特征提取能力与硬件特性之间的关系并没有一个明确的结论,具体设计时面对众多的卷积选择需要通过神经网络搜索的方式来进行选择。此外,对于卷积核的大小选择也是一个问题,卷积核的大小与网络结构的特性具有一定的关联性,因此也将通过神经网络搜索来进行选择。
步骤S2)的子步骤,包括如下:
步骤S21:在FPGA上进行普通卷积和深度可分离卷积的性能对比,方法如下:
通过仿真软件和板上测试的方式进行两种卷积的对比。在仿真软件上的实现结果如下表6所示。采用的仿真与综合工具为Xilinx VIVADO HLS,选用目标板卡为ZCU102。为节省资源仿真资源,选用输入图像分辨率为112×112,输入通道数为3,输出通道数为16,卷积核大小为3×3的运算为例,结果见表6,其中FPGA的运行频率为100MHz。
表6普通卷积和深度可分离卷积FPGA运行结果
卷积类型 运行时间(秒,采用频率100MHz)
普通卷积3×3(112,112,3,16) 1.423
深度可分离卷积3×3(112,112,3,16) 0.260
对于仿真的结果来看,LUT(查找表),FF(触发器)与神经网络参数量之间有一定的相关性,其结果分别如图9、图10所示。相关性系数分别为0.419,0.396。这一部分的资源预估需要采用查表的方式进行计算。
对于仿真的结果来看,神经网络参数量与时钟周期之间相关性较弱,其结果如图11所示。带入公式(1),得到相关性系数为0.371。
FLOPS(每秒所执行的浮点运算次数)与时钟周期之间存在线性关系,其结果如图12所示。带入公式(1),得到相关性系数为0.999。因此本发明在进行建模时将直接采用FLOPS对时钟周期进行预测。
对FPGA性能表现的主要参数:延迟时钟周期、FF、LUT进行了实验,因为深度可分离卷积的计算量更小,所以本发明在FPGA的设计上均选用深度可分离卷积。此外,由于FPGA上运行时间与FLOPS高度相关,因此本发明根据轻量化网络的常见计算量规模,将FLOPS限定在500M(单位为million,简称M)以内。
步骤S22:在步骤S21的基础上提出性能预测函数,方法如下:
针对FPGA性能表现的主要参数:延迟时钟周期、FF、LUT,结合以上步骤S21的结果,提出以下的性能预测函数:
Performance(Convk′)=[αLat(Convk′),βRes(Convk′)] (2)
其中,Convk′代表神经网络第k′个卷积操作,Lat(Convk′)代表该卷积操作Convk′的总体延迟,Res(Convk′)代表该卷积操作Convk′的资源消耗,α、β分别代表设计时预设的Lat(Convk′)和Res(Convk′)重要程度系数,[x1,x2]表示向量。
总体延迟可以通过每次操作的延迟周期数及数据传递时间来估计,经步骤S21的结果表明,延迟周期数与FLOPS高度相关,因此延迟周期数直接采用FLOPS进行计算。另外数据的传递分为两部分,一是神经网络模型参数的载入,另一部分是中间结果的传递。神经网络模型参数的载入用参数量大小来反映,中间数据的传递涉及神经网络模型每个结构块的输出大小,这一部分在FLOPS中有所体现,不重复考虑。因此,卷积操作Convk′的总体延迟表示如下:
Lat(Convk′)=[μFLOPS(Convk′),σParams(Convk′)] (3)
其中,Convk′代表神经网络第k′个卷积操作,FLOPS(Convk′)代表该卷积操作Convk′的每秒所执行的浮点运算次数,Params(Convk′)代表该卷积操作Convk′的参数量,μ、σ分别代表设计时预设的FLOPS(Convk′)和Params(Convk′)重要程度系数([x1,x2]表示向量)。
由于资源消耗主要包含LUT和FF,因此卷积操作Convk′的资源消耗表示如下:
Res(Convk′)=[εLUT(Convk′),τFF(Convk′)] (4)
其中,Convk′代表神经网络第k′个卷积操作,LUT(Convk′)代表该卷积操作Convk′的显示查找表结果,FF(Convk′)代表该卷积操作Convk′的触发器资源消耗,ε、τ分别代表设计时预设的LUT(Convk′)和FF(Convk′)重要程度系数([x1,x2]表示向量)。
一个神经网络模型在FPGA上的性能表现整体表示为:
Figure BDA0003293348530000101
n′表示该神经网络模型中卷积操作总数,A代表神经网络结构,γ、η是μ、σ分别与α相乘的结果,θ、
Figure BDA0003293348530000111
是ε、τ分别与β相乘得到的系数,用以代表每部分重要性程度,当某一部分需要重点优化时可以通过调整相应的系数来获得需要的结果([x1,x2,x3,x4]表示向量)。值得注意的是,由于式子中各项量纲不同,系数项需要根据每项量纲做归一化处理。
步骤S3)的内容包括:
在步骤S22提出的性能预测函数的基础上进行空间的描述,总结统计规律如下:
(1)将神经网络参数量控制在(0,10M)范围内,且根据FPGA上仿真结果可知,控制参数量的同时可以控制FPGA运行时间。
(2)神经网络的网络总层数控制在[25,90]之间。
(3)输入图像分辨率设置为常用分辨率,不做调整。
(4)结构块设置中,结构块之间的宽度扩张比设定在[1.5,2],本发明在结构块最大输出通道数与输出通道数之比设定在{1,3,6},最大横向节点数不做设定。结构块中引入注意力机制。
(5)卷积核大小可选用3×3,5×5,或7×7。
(6)卷积核采用深度可分离卷积。
所述步骤S4)的子步骤包括如下:
步骤S41:确定随机搜索与分块监督搜索相结合的搜索方式,方法如下:
随机搜索主要指对各项参数进行随机组合,得到神经网络模型的结构。随机搜索一方面能够保证搜索到结构的多样性,另一方面也作为一个验证方法能够很好地保证最终所得到神经网络模型的鲁棒性。
在通过随机搜索得到不同的神经网络模型中,对于每个神经网络模型进行完整地训练是效率低下的。本发明提出分块监督搜索的方法,对每一个结构块进行训练,以加快神经网络模型训练的速度。
神经网络的本质上是多个操作的集合,可以写为:
x(j′)=∑i′<j′o(i′,j′)(x(i′)) (6)
其中,x(j′)表示经过一系列操作o(i′,j′)之后的一层特征图,x(i′)代表第i′层操作的输入,o(i′,j′)表示从神经网络模型的第i′层到第j′层的总操作。
令∑i′<j′o(i′,j′)(x(i′))=F(i′,j′)(x(i′)),则一个结构块的输出可以看作:
x(out)=F(out-1,out)(…F(in+1,in+2)((F(in,in+1)(x(in))))) (7)
其中F(in,in+1)、F(out-1,out)都是一个F(i′,j′),只是两者的i′,j′不同,F(i′,j′)等价于对输入的一系列操作,因此如果可以使得中间的F(i′,j′)变少,则可以达到轻量化的效果。所以本发明采用定义好x(in)和x(out)的方式,中间层通过随机搜索得到,从而得到神经网络模型的整个结构块。而x(in)和x(out)可以通过已经训练好的模型(“已经训练好的模型”就是后面提到的MnasNet)得到。本发明采用与MnasNet的相似定义,即x(in)和x(out)的维度与MnasNet相同。MnasNet的结构块数量为7,要得到的神经网络模型中第一个与最后一个结构块采用与MnasNet相同的定义,则需要搜索的结构块数量为5。每个结构块的内部模块数量为2-5,内部模块由随机搜索生成。总模块的平均数量为17,总的搜索空间大小约为1016
随机搜索与分块监督搜索结合搜索的方式如下:首先选择分块监督搜索的监督模型,通过监督模型得到需要搜索结构块的输入输出大小。然后,通过随机搜索的方式定义结构块中的层数、最大输出通道数与输出通道数之比和卷积核大小。将随机搜索得到的结构块进行训练并对误差进行排序。在得到的每个阶段的结构块中选取靠前的结构块,将结构块进行组合,得到候选的完整神经网络模型。
步骤S42:在随机搜索和分块结构块监督搜索的基础上,提出软硬件联合学习方法主要过程如图13所示,具体方法为:
根据模型统计规律以及硬件特性,针对性地构建搜索空间,并通过随机搜索采样得到Block(结构块),利用分块监督搜索的方式对随机得到的Block进行训练。对于监督网络的每一个Block Xi,都对应着多个随机Block,按公式(8)计算出的Loss值进行排序,其中最小的前3个随机Block进入到Block Xi的备选Block集合。再通过FPGA的硬件特性预测器,可以得到Block Xi的每个备选Block相关参数。匹配好硬件特性的Block进入到最终的结构选择中,通过最优结构组合与排序,得到最终的最优模型。
其中,分块监督搜索部分训练方式如下。首先本发明针对ImageNet数据集过大导致训练过慢的问题采用了采样的方法,选中ImageNet数据集中每个类别的30%作为训练集,称为ImageNet-mid。随机搜索针对每个结构块中每个内部模块进行采样组合得到一个完整的结构块,然后利用MnasNet在ImageNet-mid的输出进行监督学习。通过选择Loss最小的3个结构块进入备选Block。任意一个结构块Block Xi的第i″个随机Block输入为
Figure BDA0003293348530000121
标签为/>
Figure BDA0003293348530000122
输出为/>
Figure BDA0003293348530000131
搜索训练过程中的损失函数定义如下:
Figure BDA0003293348530000132
其中Wii″代表Block Xi的第i″个随机Block的整体权重,Aii″代表Block Xi的第i″个随机Block的结构参数,N′代表输出
Figure BDA0003293348530000133
的神经元的数量,每次训练会通过梯度自动更新Wii″,Aii″代表Block Xi的第i″个随机Block的结构参数,不用通过公式更新;
Figure BDA0003293348530000134
将Block Xi的每个随机Block(即随机Block Xi)的Losstrain(搜索训练过程中的损失函数)进行排序得到损失函数值最小的3个随机Block作为Block Xi的备选Block(即备选Block Xi)后,每次分别从Block X1~Block XN中任意选择一个备选Block,将选择出的各结构块Block X1-Block XN的备选Block按照预先已经确定好的顺序进行组合(顺序是最开始就确定好的,相当于是火车车厢是一开始就连好的,输入输出的矩阵大小是确定的,而搜索搜的是每节车厢装什么),得到完整的神经网络模型结构,然后需要通过FPGA硬件特性预测进一步筛选。将备选Block中的卷积方式进行统计,然后自动生成Xilinx HLS的仿真结果,在进行FPGA硬件特性预测时,对相应的项进行查表加和。
最后筛选出潜在的最优结构A,如下式:
Figure BDA0003293348530000135
s.t.LUT(A)<C1
FF(A)<C2
其中,ρ用于控制损失函数值在总体约束中的占比,为常数;
Figure BDA0003293348530000136
表示Block Xi的任意一个备选Block的损失函数,C1,C2为目标FPGA的资源限制,两者均为常数,N表示结构块Block Xi的总数,Ai代表Block Xi的任意一个备选Block的结构参数,Performance(Ai)表示Block Xi的任意一个备选Block在FPGA上的性能表现;LUT(A)和FF(A)分别为查找表和触发器,代表着资源消耗;‖*‖表示2-范数,‖*‖2表示2-范数的平方,之所以2-范数的平方需要取最小值,是为后续的目标检测部分留出空间;J表示得到的完整的神经网络模型结构的损失函数,J为改进后的损失函数,加入了延时等影响因素;A表示J取最小值时得到的最优神经网络模型结构。值得注意的是,由于公式(10)中各项量纲不同,因此系数项需要根据每项量纲做归一化处理;
最优结构筛选方法为按需调整上式中各项系数得到每个网络(因为Block Xi选择不同的备选Block进行组合得到的网络有多个,需要通过J的大小进行对比,找出最好的网络)的J,然后选出J值最小的网络。
本发明提出了基于硬件与软件联合学习的神经网络的设计与优化方法。该方法基于神经网络的设计特性和FPGA的硬件特性,构建了一个具有先验信息的搜索空间,这是搜索建立的方向。同时,通过将随机搜索和块监督搜索与FPGA模型预测相结合,得到了一种具有精度和速度平衡的高效神经网络模型。该模型在ZCU102上达到了在ImageNet数据集上77.2%的Top-1准确率以及327.67FPS(每秒传输帧数)的速度。
以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合;本领域的技术人员根据本发明技术方案的技术特征所做出的任何非本质的添加、替换,均属于本发明的保护范围。

Claims (5)

1.一种基于软硬件联合学习的神经网络设计与优化方法,其特征在于,该方法包括如下步骤:
步骤S1):神经网络结构规律统计:
分别探讨节点数、结构块数、通道数、输入图像分辨率、参数量与准确率之间的关系,并统计不同神经网络结构下,网络总层数、输入图像分辨率和宽度的规律情况;
步骤S2):FPGA硬件特性预测:
将普通卷积和深度可分离卷积在FPGA上进行对比,探寻最佳的卷积方式,并根据FPG A的性能表现主要参数,提出性能预测函数,其中,FPGA的性能表现主要参数包括延迟时钟周期、触发器FF、查找表LUT;
步骤S3):FPGA神经网络结构空间设计:
在步骤S1)神经网络结构规律统计以及步骤S2)FPGA硬件特性预测的基础上,总结统计规律,得到搜索空间;
步骤S4):基于步骤S3)获取的搜索空间,在该搜索空间中运用软硬件联合学习方法,结合随机搜索和分块监督搜索,获得最优神经网络模型;
其中,所述步骤S1)具体包括如下步骤:
步骤S11):参数量
在选取现有的13个模型Vgg16,SqueezeNet,EfficientNet B0,EfficientNet B4,ResNe t-50,ResNeXt-50,ResNeSt-50,CSP ResneXt-50,RepVGG,MobileNet-V2,MnasNet-A3,MixNet-M,ECANet-50基础上,进一步选取与该13个模型在结构上有相同之处的101个模型,分别对比这101个模型中每一个模型的参数量与Top-1准确率之间的关系,其中,参数量的单位为million,简称M;
随着模型的参数量的增加,模型的Top-1准确率呈现先上升再平缓的趋势;对于一个参数量大于10M的模型来说,参数量与Top-1准确率之间的相关性系数为0.222,其中,相关性系数的计算公式为:
Figure FDA0004203710980000011
其中,Xj″为自变量,这里代表参数量,Yj″为因变量,这里代表Top-1准确率,
Figure FDA0004203710980000012
和/>
Figure FDA0004203710980000013
分别表示参数量与Top-1准确率的平均值,r为最终得到的相关性系数,n表示测试的模型总数;
只选择所述101个模型中参数量小于40M的模型,得到60个模型,分别对比这60个模型中每一个模型的参数量与Top-1准确率之间的关系,通过公式(1)得到此时参数量与Top-1准确率之间的相关性系数为0.552;
只选择以上60个模型中参数量小于10M的模型,得到34个模型,分别对比这34个模型中每一个模型的参数量与Top-1准确率之间的关系,通过公式(1)得到这34个模型中参数量与Top-1准确率之间的相关性系数为0.680;
综上,设计神经网络的过程中将把参数量设置在(0,10M)范围内;
步骤S12):网络总层数
网络总层数仅指带权重层的总和,包括卷积层和全连接层,将选取的13个模型Vgg16,SqueezeNet,EfficientNet B0,EfficientNet B4,ResNet-50,ResNeXt-50,ResNeSt-50,CSP ResneXt-50,RepVGG,MobileNet-V2,MnasNet-A3,MixNet-M,ECANet-50分别标记为模型a,b,c,d,e,f,g,h,i,j,k,l,m;绘制这13个模型中网络总层数与Top-1准确率之间的关系图,对于轻量化模型来说需要更多的网络总层数,但是随着网络总层数增加,精度提升收益降低,根据绘制的网络总层数与Top-1准确率之间的关系图,神经网络模型的网络总层数限定在[25,90]之间;
步骤S13):输入图像分辨率
选用不同数据集的常用输入图像分辨率;
步骤S14):结构块特性
步骤S141):结构块宽度
结构块宽度分为三个子概念,第一个是结构块输出通道数,第二个是结构块中最大输出通道数,第三个是结构块中最大横向节点数;其中,结构块输出通道数表示每一个结构块的filter数量,结构块中最大输出通道数表示在一个结构块中由于存在通道数的扩展,因此以一个结构块的最大输出通道数作为一种神经网络宽度的表征,结构块中最大横向节点数表示一个结构块内部分支数量,并且结构块内部分支数量乘以每个分支的通道数即可得到该结构块输出通道数;
在规律分析中,由于神经网络在靠中间的层宽度变化更明显,下文的统计中主要选用所述13个模型中每个模型的第4个结构块进行比较,其中Vgg16,SqueezeNet,EfficientNetB0,EfficientNet B4,ResNet-50,ResNeXt-50,ResNeSt-50,CSP ResneXt-50,RepVGG,MobileNet-V2,MnasNet-A3,MixNet-M,ECA-Net50这13个模型分别有5、8、7、7、4、4、4、4、5、7、7、6、4个结构块;
a)仅考察神经网络的结构块输出通道数:选取所述13个模型中每个模型的第4个结构块的输出通道数与Top-1准确率之间的关系,得到第4个结构块的输出通道数与Top-1准确率的相关性系数为0.2;
b)仅考察结构块中最大输出通道数,以第4个结构块为例,带入公式(1),得到结构块中最大输出通道数与Top-1准确率之间的相关性系数为0.28;
c)仅考察结构块中最大横向节点数,则第4个结构块中的最大横向节点数与Top-1准确率之间的相关性系数为0.17,与前两个因素结构块输出通道数和结构块中最大输出通道数相比相关性更低;
d)考察结构块中最大输出通道数与输出通道数相比是否有扩张,即是否存在倒残差结构,结果表明Top-1准确率与是否存在扩张的相关性系数为0.23;
e)考察结构块之间的宽度扩张比,对选取的所述13个模型的前4个结构块的每两个结构块之间的输出通道数之比取均值,结果表明结构块之间的宽度扩张比与Top-1准确率之间的相关性系数为0.61;
综上,在设计神经网络宽度上将搜索多个神经网络宽度和最大输出通道数与输出通道数之比,即扩张比,而最大横向节点数不做设定;且由于结构块之间的宽度扩张比与Top-1准确率之间有比结构块三种宽度以及是否存在扩张与Top-1准确率之间更高的相关性,因此宽度扩张比将设定在[1.5,2]之间;
步骤S142):结构块深度
一个结构块类似于一个小型网络,取所述13个模型中前4个结构块中每个结构块的深度,统计其与Top-1准确率之间的关系,得到第1-4个结构块深度与Top-1准确率之间的相关性系数分别为:0.37、0.49、0.57和0.47;
步骤S143):结构块总节点数
由于一个结构块中节点可以横向排列,其结果已经在结构块宽度部分讨论,节点也纵向排列形成多个层,其结果已经在结构块深度部分讨论,这里不区分宽度与深度统计结构块总的节点数,且由于每个神经网络中结构块总节点数类似,仅选用第4个结构块,整体结果表明在总节点数为[4,14]范围内,总节点数增加,Top-1准确率增加;
步骤S144):结构块内跳接操作
所述13个模型中前4个结构块中跳接操作的数量与Top-1准确率的相关性系数分别为:0.076、0.26、0.23和0.26;
步骤S145):结构块内注意力机制
分析选取的13个模型可知,引入注意力机制能够提升神经网络模型的准确性;
步骤S15):卷积核特性
不同卷积核之间的特征提取能力与硬件特性之间的关系并没有一个明确的结论,具体设计时面对众多的卷积选择需要通过神经网络搜索的方式来进行选择,此外,对于卷积核的大小选择也是通过神经网络搜索来进行选择;
所述步骤S4)具体包括如下步骤:
步骤S41):确定随机搜索与分块监督搜索相结合的搜索方式,方法如下:
随机搜索主要指对各项参数进行随机组合,得到神经网络模型的结构,在通过随机搜索得到不同的神经网络模型中,进一步提出分块监督搜索的方法,对每个神经网络模型的每一个结构块进行训练,以加快神经网络模型训练的速度;
神经网络的本质是多个操作的集合,表示为:
x(j′)=∑i′<j′o(i′,j′)(x(i′)) (6)
其中,x(j′)表示经过一系列操作o(i′,j′)之后的一层特征图,x(i′)代表第i′层操作的输入,o(i′,j′)表示从神经网络模型的第i′层到第j′层的总操作;
令∑i′<j′o(i′,j′)(x(i′))=F(i′,j′)(x(i′)),则一个结构块的输出表示为:
x(out)=F(out-1,out)(…F(in+1,in+2)((F(in,in+1)(x(in))))) (7)
其中x(in)表示该结构块的输入,采用定义好x(in)和x(out)的方式,中间层通过随机搜索得到,从而得到神经网络模型的整个结构块,而x(in)和x(out)通过已经训练好的模型MnasNet得到,x(in)和x(out)采用的维度与MnasNet相同,MnasNet的结构块数量为7,要得到的神经网络模型中第一个与最后一个结构块采用与MnasNet相同的定义,则需要搜索的结构块数量为5,其中每个结构块的内部模块数量为2-5,内部模块由随机搜索生成,需要搜索的总模块平均数量为17,总的搜索空间大小为1016
随机搜索与分块监督搜索结合搜索的方式如下:首先选择分块监督搜索的监督模型,通过监督模型得到需要搜索结构块的输入输出大小;然后,通过随机搜索的方式定义结构块中的层数、最大输出通道数与输出通道数之比和卷积核大小;将随机搜索得到的结构块进行训练并对误差进行排序,进而在得到的每个阶段的结构块中选取备选结构块;
步骤S42):在随机搜索和分块监督搜索的基础上,提出软硬件联合学习方法,具体方法为:
根据模型统计规律以及硬件特性,针对性地构建搜索空间,并通过随机搜索采样得到一组结构块,依次为Block X1,Block X2,…,Block XN,利用分块监督搜索的方式对随机得到的结构块进行训练,对于监督网络的每一个结构块Block Xi,i=1,2,…,N,都对应着多个随机Block,将多个随机Block按损失函数公式计算出的损失函数值进行排序,其中损失函数值最小的前3个随机Block进入到Block Xi的备选Block集合;再通过FPGA的硬件特性预测器,得到Block Xi的每个备选Block相关参数;匹配好硬件特性的备选Block进入到最终的结构选择中,通过最优结构组合与排序,得到最终的最优神经网络模型。
2.根据权利要求1所述的基于软硬件联合学习的神经网络设计与优化方法,其特征在于,所述步骤S2)具体包括如下步骤:
步骤S21):在FPGA上进行普通卷积和深度可分离卷积的性能对比,方法如下:
通过仿真软件和板上测试的方式进行上述两种卷积的对比,采用的仿真与综合工具为Xilinx VIVADO HLS,选用目标板卡为ZCU102,为节省资源仿真资源,选用输入图像分辨率为112×112,输入通道数为3,输出通道数为16,卷积核大小为3×3的运算为例,普通卷积和深度可分离卷积的运行时间分别为1.423秒和0.260秒;
对于仿真的结果来看,查找表LUT,触发器FF与神经网络参数量之间的相关性系数分别为0.419,0.396,这一部分的资源预估需要采用查表的方式进行计算;
对于仿真的结果,通过公式(1)得到神经网络参数量与时钟周期之间的相关性系数为0.371;
每秒所执行的浮点运算次数FLOPS与时钟周期之间存在线性关系,带入公式(1),得到FLOPS与时钟周期之间的相关性系数为0.999,因此在进行建模时将直接采用FLOPS对时钟周期进行预测;
对FPGA性能表现的主要参数:延迟时钟周期、FF、LUT进行了实验,因为深度可分离卷积的计算量更小,在FPGA的设计上均选用深度可分离卷积,此外,由于FPGA上运行时间与FLOPS高度相关,因此根据轻量化网络的常见计算量规模,将FLOPS限定在500M以内;
步骤S22):在步骤S21)的基础上提出性能预测函数,方法如下:
针对FPGA性能表现的主要参数:延迟时钟周期、FF、LUT,结合以上步骤S21)的结果,提出以下的性能预测函数:
Performance(Convk′)=[αLat(Convk′),βRes(Convk′)] (2)
其中,Convk′代表神经网络第k′个卷积操作,Lat(Convk′)代表该卷积操作Convk′的总体延迟,Res(Convk′)代表该卷积操作Convk′的资源消耗,α、β分别代表设计时预设的Lat(Convk′)和Res(Convk′)重要程度系数,[x1,x2]表示向量;
总体延迟通过每次操作的延迟周期数及数据传递时间来估计,延迟周期数直接采用FLOPS进行计算;另外数据的传递分为两部分,一是神经网络模型参数的载入,另一部分是中间结果的传递;神经网络模型参数的载入用参数量大小来反映,中间数据的传递涉及神经网络模型每个结构块的输出大小,这一部分在FLOPS中有所体现,不重复考虑,因此,卷积操作Convk′的总体延迟表示如下:
Lat(Convk′)=[μFLOPS(Convk′),σParams(Convk′)] (3)
其中,FLOPS(Convk′)代表该卷积操作Convk′的每秒所执行的浮点运算次数,Params(Convk′)代表该卷积操作Convk′的参数量,μ、σ分别代表设计时预设的FLOPS(Convk′)和Params(Convk′)重要程度系数;
由于资源消耗主要包含LUT和FF,因此卷积操作Convk′的资源消耗表示如下:
Res(Convk′)=[εLUT(Convk′),τFF(Convk′)] (4)
其中,LUT(Convk′)代表该卷积操作Convk′的显示查找表结果,FF(Convk′)代表该卷积操作Convk′的触发器资源消耗,ε、τ分别代表设计时预设的LUT(Convk′)和FF(Convk′)重要程度系数;
一个神经网络模型在FPGA上的性能表现整体表示为:
Figure FDA0004203710980000061
n′表示该神经网络模型中卷积操作总数,A代表该神经网络模型结构,γ、η是μ、σ分别与α相乘的结果,θ、
Figure FDA0004203710980000077
是ε、τ分别与β相乘得到的系数,用以代表每部分重要性程度,当某一部分需要重点优化时通过调整相应的系数来获得需要的结果,由于式(5)中各项量纲不同,系数项需要根据每项量纲做归一化处理。
3.根据权利要求2所述的基于软硬件联合学习的神经网络设计与优化方法,其特征在于,所述步骤S3)中总结统计规律如下:
(1)将神经网络参数量控制在(0,10M)范围内,且根据FPGA上仿真结果可知,控制参数量的同时能够控制FPGA运行时间;
(2)神经网络的网络总层数控制在[25,90]范围内;
(3)输入图像分辨率设置为常用分辨率,不做调整;
(4)结构块设置中,结构块之间的宽度扩张比设定在[1.5,2],结构块最大输出通道数与输出通道数之比设定在{1,3,6},最大横向节点数不做设定,结构块中引入注意力机制;
(5)卷积核大小选用3×3,5×5,或7×7;
(6)卷积核采用深度可分离卷积。
4.根据权利要求3所述的基于软硬件联合学习的神经网络设计与优化方法,其特征在于,所述步骤S42)中分块监督搜索部分训练方式如下:
首先选中ImageNet数据集中每个类别的30%作为训练集,称为ImageNet-mid;随机搜索针对每个结构块中每个内部模块进行采样组合得到一个完整的结构块,然后利用MnasNet在ImageNet-mid的输出进行监督学习;通过选择损失函数值最小的3个随机Block作为备选Block;
任意一个结构块Block Xi的第i″个随机Block输入为
Figure FDA0004203710980000071
标签为/>
Figure FDA0004203710980000072
输出为/>
Figure FDA0004203710980000073
搜索训练过程中的损失函数定义如下:
Figure FDA0004203710980000074
其中Wii″代表Block Xi的第i″个随机Block的整体权重,Aii″代表Block Xi的第i″个随机Block的结构参数,N′代表输出
Figure FDA0004203710980000075
的神经元的数量,每次训练会通过梯度自动更新Wii″;/>
Figure FDA0004203710980000076
将Block Xi的每个随机Block的Losstrain进行排序得到损失函数值最小的3个随机Block作为Block Xi的备选Block后,每次分别从Block X1~Block XN中任意选择一个备选Block,将选择出的各结构块Block X1-Block XN的备选Block按照预先已经确定好的顺序进行组合,得到完整的神经网络模型结构,然后通过FPGA硬件特性预测进一步筛选;将备选Block中的卷积方式进行统计,然后自动生成Xilinx HLS的仿真结果,在进行FPGA硬件特性预测时,对相应的项进行查表加和;
最后筛选出最优神经网络模型结构A,如下式:
Figure FDA0004203710980000081
s.t.LUT(A)<C1
FF(A)<C2
其中,ρ用于控制损失函数值在总体约束中的占比,
Figure FDA0004203710980000082
表示Block Xi的任意一个备选Block的损失函数,C1,C2为目标FPGA的资源限制,两者均为常数,Ai代表Block Xi的任意一个备选Block的结构参数,Performance(Ai)表示Block Xi的任意一个备选Block在FPGA上的性能表现;LUT(A)和FF(A)分别为查找表和触发器,代表着资源消耗;||*||表示2-范数,||*||2表示2-范数的平方,J表示得到的完整的神经网络模型结构的损失函数;A表示J取最小值时得到的最优神经网络模型结构;由于公式(10)中各项量纲不同,因此系数项需要根据每项量纲做归一化处理;
由于Block Xi选择不同的备选Block进行组合得到的神经网络有多个,通过按需调整公式(10)中各项系数得到每个神经网络的J值,然后J值最小的一个神经网络作为最优神经网络模型结构。
5.根据权利要求1-4任意一项所述的基于软硬件联合学习的神经网络设计与优化方法,其特征在于,所述101个模型的名称分别为:KDforAA(EfficientNet-B8),Fix-EfficientNet-B8(MaxUp+CutMix),AdvProp(EfficientNet-B8),KDforAA(EfficientNet-B7),AdvProp(EfficientNet-B7),DeiT-B 384,EfficientNet-B7(RandAugment),BoTNetT7,EfficientNet-B7,TResNet-XL,LambdaResNet200,BoTNet T7-320,DeiT-B,FixEfficientNetB4,EfficientNet-B6,BoTNet T6,LambdaResNet152,FixPNASNet-5,NFNet-F0,BoTNet T5,EfficientNet-B5,Oct-ResNet-152(SE),PNASNet-5,BoTNet T4,NASNET-A(6),EfficientNet-B4,DeiT-S,SENet-152,BoTNet T3,PyConvResNet-101,SENet-101,DPN-131(320x320),EfficientNet-B3,ResNeXt-101 64x4,NAT-M4,iAFF-ResNeXt-50-32x4d,FixEfficientNet-B0,Inception ResNet V2,DPN-131(224x224)(80M),ResNet-101,RegNetY-8.0GF,SKNet-101,CSPResNeXt-50(Mish+Aug),EfficientNet-B2,SENet-50,TinyNet(GhostNet),RegNetY-4.0GF,LIP-ResNet-101,FixResNet-50,Xception,SpineNet-143,ECA-Net(ResNet-152),MixNet-L,ResNet-50,EfficientNet-B1,RegNetY-1.6GF,RepVGG-B2,ECA-Net(ResNet-101),HCGNet-B,RepVGG-B2g4,ResNet-101,ResNet-50(LIP Bottleneck-256),WRN-50-2-bottleneck,ACNet(ResNet-50),ECA-Net(ResNet-50),ResNet-50-D,GreedyNAS-A,MixNet-M,SCARLET-A,GreedyNAS-B,MnasNet-A3,LIP-DenseNet-BC-121,MUXNet-l,DeiT-Ti,EfficientNet-B0,SCARLET-B,RegNetY-800MF,GreedyNAS-C,MoGA-A,MixNet-S,GhostNet,MnasNet-A2,SCARLET-C,RegNetY-600MF,MUXNet-m,MnasNet-A1,MobileNet V3-Large 1.0,FBNet-C,Inception V2,DY-MobileNetV2×1.0,Wide ResNet-50(edge-popup),DY-MobileNetV2×0.75,DY-ResNet-18,ECA-Net(MobileNetV2),MUXNet-s,DY-MobileNetV3-Small,DY-MobileNetV2×0.5,DY-ResNet-10,MUXNet-xs,DY-MobileNetV2×0.35,AlexNet。
CN202111171312.5A 2021-10-08 2021-10-08 基于软硬件联合学习的神经网络设计与优化方法 Active CN113902099B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111171312.5A CN113902099B (zh) 2021-10-08 2021-10-08 基于软硬件联合学习的神经网络设计与优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111171312.5A CN113902099B (zh) 2021-10-08 2021-10-08 基于软硬件联合学习的神经网络设计与优化方法

Publications (2)

Publication Number Publication Date
CN113902099A CN113902099A (zh) 2022-01-07
CN113902099B true CN113902099B (zh) 2023-06-02

Family

ID=79190346

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111171312.5A Active CN113902099B (zh) 2021-10-08 2021-10-08 基于软硬件联合学习的神经网络设计与优化方法

Country Status (1)

Country Link
CN (1) CN113902099B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107292887A (zh) * 2017-06-20 2017-10-24 电子科技大学 一种基于深度学习自适应权重的视网膜血管分割方法
CN110782015A (zh) * 2019-10-25 2020-02-11 腾讯科技(深圳)有限公司 神经网络的网络结构优化器的训练方法、装置及存储介质
CN111178518A (zh) * 2019-12-24 2020-05-19 杭州电子科技大学 一种基于fpga的软硬件协同的加速方法
CN111210019A (zh) * 2020-01-16 2020-05-29 电子科技大学 一种基于软硬件协同加速的神经网络推断方法
CN111967594A (zh) * 2020-08-06 2020-11-20 苏州浪潮智能科技有限公司 一种神经网络压缩方法、装置、设备及存储介质
CN112116084A (zh) * 2020-09-15 2020-12-22 中国科学技术大学 可重构平台上固化全网络层的卷积神经网络硬件加速器
CN112364981A (zh) * 2020-11-10 2021-02-12 南方科技大学 一种混合精度神经网络的可微分搜索方法和装置
CN112418392A (zh) * 2020-10-21 2021-02-26 华为技术有限公司 一种神经网络构建方法以及装置
CN113076938A (zh) * 2021-05-06 2021-07-06 广西师范大学 一种结合嵌入式硬件信息的深度学习目标检测方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11769180B2 (en) * 2019-10-15 2023-09-26 Orchard Technologies, Inc. Machine learning systems and methods for determining home value

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107292887A (zh) * 2017-06-20 2017-10-24 电子科技大学 一种基于深度学习自适应权重的视网膜血管分割方法
CN110782015A (zh) * 2019-10-25 2020-02-11 腾讯科技(深圳)有限公司 神经网络的网络结构优化器的训练方法、装置及存储介质
CN111178518A (zh) * 2019-12-24 2020-05-19 杭州电子科技大学 一种基于fpga的软硬件协同的加速方法
CN111210019A (zh) * 2020-01-16 2020-05-29 电子科技大学 一种基于软硬件协同加速的神经网络推断方法
CN111967594A (zh) * 2020-08-06 2020-11-20 苏州浪潮智能科技有限公司 一种神经网络压缩方法、装置、设备及存储介质
CN112116084A (zh) * 2020-09-15 2020-12-22 中国科学技术大学 可重构平台上固化全网络层的卷积神经网络硬件加速器
CN112418392A (zh) * 2020-10-21 2021-02-26 华为技术有限公司 一种神经网络构建方法以及装置
CN112364981A (zh) * 2020-11-10 2021-02-12 南方科技大学 一种混合精度神经网络的可微分搜索方法和装置
CN113076938A (zh) * 2021-05-06 2021-07-06 广西师范大学 一种结合嵌入式硬件信息的深度学习目标检测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Rethinking Co-design of Neural Architectures and Hardware Accelerators;Yanqi Zhou等;https://arxiv.org/abs/2102.08619;1-11 *
高效能异构流水线系统的设计与优化;姜炜文;中国博士学位论文全文数据库 信息科技辑;I137-35 *

Also Published As

Publication number Publication date
CN113902099A (zh) 2022-01-07

Similar Documents

Publication Publication Date Title
Wang et al. Combination of hyperband and Bayesian optimization for hyperparameter optimization in deep learning
CN111832627B (zh) 抑制标签噪声的图像分类模型训练方法、分类方法及系统
US20180204110A1 (en) Compressed neural network system using sparse parameters and design method thereof
WO2022027937A1 (zh) 一种神经网络压缩方法、装置、设备及存储介质
CN108985335B (zh) 核反应堆包壳材料辐照肿胀的集成学习预测方法
CN107729999A (zh) 考虑矩阵相关性的深度神经网络压缩方法
US20220114455A1 (en) Pruning and/or quantizing machine learning predictors
CN106203534A (zh) 一种基于Boosting的代价敏感软件缺陷预测方法
CN108734266A (zh) 深度神经网络模型的压缩方法及装置、终端、存储介质
CN112381208B (zh) 一种基于神经网络架构搜索的图片分类方法与系统
KR20200040185A (ko) 적응적 학습률로 뉴럴 네트워크를 학습하는 방법 및 장치, 이를 이용한 테스트 방법 및 장치
CN111144552A (zh) 一种粮食品质多指标预测方法及装置
CN113269312B (zh) 一种联合量化与剪枝搜索的模型压缩方法及其系统
CN104484548A (zh) 一种改进的序贯故障诊断策略优化方法
CN112116002A (zh) 一种检测模型的确定方法、验证方法和装置
CN116629431A (zh) 一种基于变分模态分解和集成学习的光伏发电量预测方法及装置
CN114972232A (zh) 基于增量元学习的无参考图像质量评价方法
CN113902099B (zh) 基于软硬件联合学习的神经网络设计与优化方法
CN114140641A (zh) 面向图像分类的多参数自适应异构并行计算方法
CN116822593A (zh) 一种基于硬件感知的大规模预训练语言模型压缩方法
CN111582442A (zh) 一种基于优化深度神经网络模型的图像识别方法
Yamada et al. Weight Features for Predicting Future Model Performance of Deep Neural Networks.
CN116226654A (zh) 基于掩码梯度的机器学习数据遗忘方法
CN110929849B (zh) 一种基于神经网络模型压缩的视频检测方法和装置
CN115392441A (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