基于知识蒸馏的NAS性能预测器训练方法及相关产品技术

技术编号:37326918 阅读:15 留言:0更新日期:2023-04-21 23:05
本申请公开了一种基于知识蒸馏的NAS性能预测器训练方法及相关产品,该方法包括:获取训练样本集,所述训练样本集包括m个NAS网络各自的输入数据和真实性能值,m为正整数;根据所述训练样本集和教师网络,对学生网络进行蒸馏训练,得到训练后的NAS性能预测器;其中,所述学生网络包括多个网络层及与被指导层连接的卷积层,所述被指导层为所述学生网络中的至少一个网络层,所述被指导层与所述教师网络中的指导层一一对应。采用本申请,能够解决现有技术中存在的预测性能较差、预测准确度不高的问题。题。题。

【技术实现步骤摘要】
基于知识蒸馏的NAS性能预测器训练方法及相关产品


[0001]本申请实施例涉及人工智能
,涉及但不限于一种基于知识蒸馏的NAS性能预测器训练方法及相关产品。

技术介绍

[0002]神经网络架构搜索(Neural Network Architecture Search,NAS)的目标是对于给定任务,在预先定义好的搜索空间中寻找出最优的结构网络。传统的NAS网络确定方法需花费大量的时间训练众多子网络,导致时间和计算成本较高。针对这一问题,目前提出基于NAS性能预测器方案,旨在使用NAS网络的预测性能代替训练和测试网络得到的真实性能。探索有效的NAS性能预测器,能在减少搜索时间的同时,保证搜索出的NAS网络性能。
[0003]现有基于NAS性能预测器的方案中,都是围绕如何设计一个高效的神经网络展开,利用小数据集对搜索空间中的模型架构进行训练。然而,小数据集下的预测性能较差、预测准确度不高。

技术实现思路

[0004]有鉴于此,本申请实施例提供的一种基于知识蒸馏的NAS性能预测器训练方法及相关产品,能够解决现有技术中存在的预测性能较差、预测准确度不高的问题。
[0005]第一方面,本申请实施例提供一种基于知识蒸馏的NAS性能预测器训练方法,包括:
[0006]获取训练样本集,所述训练样本集包括m个NAS网络各自的输入数据和真实性能值,m为正整数;
[0007]根据所述训练样本集和教师网络,对学生网络进行蒸馏训练,得到训练后的NAS性能预测器;其中,所述学生网络包括多个网络层及与被指导层连接的卷积层,所述被指导层为所述学生网络中的至少一个网络层,所述被指导层与所述教师网络中的指导层一一对应。
[0008]第二方面,本申请实施例提供一种基于知识蒸馏的NAS性能预测器训练装置,包括:
[0009]获取模块,用于获取训练样本集,所述训练样本集包括m个NAS网络各自的输入数据和真实性能值,m为正整数;
[0010]训练模块,用于根据所述训练样本集和教师网络,对学生网络进行蒸馏训练,得到训练后的NAS性能预测器;其中,所述学生网络包括多个网络层及与被指导层连接的卷积层,所述被指导层为所述学生网络中的至少一个网络层,所述被指导层与所述教师网络中的指导层一一对应。
[0011]第三方面,本申请实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请实施例所述的方法。
[0012]第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例提供的所述的方法。
[0013]与现有技术相比,本申请至少具有如下有益效果:
[0014]本申请实施例中,计算机设备获取训练样本集,所述训练样本集包括m个NAS网络各自的输入数据和真实性能值,m为正整数;根据所述训练样本集和教师网络,对学生网络进行蒸馏训练,得到训练后的NAS性能预测器;其中,所述学生网络包括多个网络层及与被指导层连接的卷积层,所述被指导层为所述学生网络中的至少一个网络层,所述被指导层与所述教师网络中的指导层一一对应。可见,本申请能采用知识蒸馏的方式,利用教师网络中的指导层对包括被指导层在内的学生网络进行训练,以获得性能更好的NAS性能预测器,有利于提升小数据集下的模型性能,进而提升了性能预测的准确性。同时也解决了现有技术中存在的预测性能较差、预测准确度不高等问题。
附图说明
[0015]此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
[0016]图1是本申请实施例提供的一种学习率曲线示意图。
[0017]图2是本申请实施例提供的一种基于变换器(transformer)结构的NAS性能预测器的示意图。
[0018]图3是本申请实施例提供的一种基于知识蒸馏的NAS性能预测器训练系统的结构示意图。
[0019]图4是本申请实施例提供的一种编码模块的结构示意图。
[0020]图5是本申请实施例提供的一种基于知识蒸馏的NAS性能预测器训练方法的流程示意图。
[0021]图6是本申请实施例提供的一种基于知识蒸馏的NAS性能预测器训练装置的结构示意图。
[0022]图7是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
[0023]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
[0024]除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的
的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
[0025]在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
[0026]需要指出,本申请实施例所涉及的术语“第一\第二\第三”用以区别类似或不同的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互
换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
[0027]申请人在提出本申请的过程中还发现:目前基于NAS性能预测器的方案中,利用搜索空间中小部分训练好的模型,再用[模型架构,模型性能]作为训练样本集来训练网络,并以此作为NAS性能预测器。由于NAS性能预测器的目的是:减少搜索过程中的训练开销,因此用以训练该NAS性能预测器的样本集并不大,如何在小数据集下设计出有效的NAS性能预测器是一个值得研究的方向。目前提出以下两种方案:
[0028]第一种,根据搜索空间中的网络在前期训练过程中的表现,预测其在训练后期的性能预测。具体地,可将NAS网络和学习率曲线结合,请参见图1示出一种可能的学习率曲线示意图。基于NAS网络前期的表现,学习一个多层感知机(Multi

Layer Perceptron,MLP);然后以训练好的多层感知机作为NAS性能预测器,来评估所有候选模型。然后选取预测值最高的s个模型,重复上述过程直至获得足够数量的模型,s为自定义的整数。
[0029]第二种,设计一个高效的神经网络作为NAS性能预测器,再利用搜索空间中小部分训练好的模型,用[模型架构,模型性能]作为训练样本集来训练该NAS性能预测器。具体实现中,可引入transformer结构,在编码器后加入多层感知机(MLP)作为NAS性能预测器。请参见图2示出一种可能的NAS性能预测器示意图。如图2中,编码器的输入为操作矩阵K和位置矩阵P之和,其中操作矩阵是由操作向量k进行嵌入(embedding)操作得到的,位置矩阵本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于知识蒸馏的NAS性能预测器训练方法,其特征在于,包括:获取训练样本集,所述训练样本集包括m个NAS网络各自的输入数据和真实性能值,m为正整数;根据所述训练样本集和教师网络,对学生网络进行蒸馏训练,得到训练后的NAS性能预测器;其中,所述学生网络包括多个网络层及与被指导层连接的卷积层,所述被指导层为所述学生网络中的至少一个网络层,所述被指导层与所述教师网络中的指导层一一对应。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取待测NAS网络的输入数据;利用所述训练后的NAS性能预测器对所述待测NAS网络的输入数据进行性能预测,得到所述待测NAS网络的预测性能值;其中,所述待测NAS网络得预测性能值用于反映所述待测NAS网络的性能优劣。3.根据权利要求1所述的方法,其特征在于,所述根据所述训练样本集和教师网络,对学生网络进行蒸馏训练,得到训练后的NAS性能预测器包括:选择所述教师网络中的至少一个网络层作为指导层;选择所述学生网络中的至少一个网络层作为被指导层,所述指导层与所述被指导层一一对应,与所述被指导层连接的卷积层用于对所述被指导层进行特征调整,使得调整后的所述被指导层与所述指导层各自输出的特征图具有相同尺寸;根据所述训练样本集和所述教师网络中的指导层,采用知识蒸馏的方式,对包括所述被指导层的所述学生网络进行训练,得到所述训练后的NAS性能预测器。4.根据权利要求3所述的方法,其特征在于,所述训练后的NAS性能预测器还为基于总体损失函数对所述学生网络的参数进行更新获得的,所述总体损失函数包括蒸馏损失函数和回归损失函数,所述蒸馏损失函数用于反映所述指导层输出的特征图与所述被指导层输出的特征图之间的损失值,...

【专利技术属性】
技术研发人员:李梦圆
申请(专利权)人:哲库科技上海有限公司
类型:发明
国别省市:

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

1