CN111445008A - 一种基于知识蒸馏的神经网络搜索方法及系统 - Google Patents

一种基于知识蒸馏的神经网络搜索方法及系统 Download PDF

Info

Publication number
CN111445008A
CN111445008A CN202010213957.XA CN202010213957A CN111445008A CN 111445008 A CN111445008 A CN 111445008A CN 202010213957 A CN202010213957 A CN 202010213957A CN 111445008 A CN111445008 A CN 111445008A
Authority
CN
China
Prior art keywords
subspace
neural network
network
directed acyclic
neural
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.)
Pending
Application number
CN202010213957.XA
Other languages
English (en)
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.)
DMAI Guangzhou Co Ltd
Original Assignee
DMAI Guangzhou Co Ltd
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 DMAI Guangzhou Co Ltd filed Critical DMAI Guangzhou Co Ltd
Priority to CN202010213957.XA priority Critical patent/CN111445008A/zh
Publication of CN111445008A publication Critical patent/CN111445008A/zh
Pending legal-status Critical Current

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/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • 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

Landscapes

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

Abstract

本发明公开一种基于知识蒸馏的神经网络搜索方法及系统,方法包括:构建神经网络搜索空间,数据流在各搜索神经网络子空间选定任一基本网络结构按一定方向传递构成有向无环图集合组成神经超级网络;根据不同深度将神经超级网络划分为多个子空间块;基于知识蒸馏分别对多个子空间块进行单独训练,获取各子空间块有向无环图对应的损失值,对各子空间块中的损失值进行排序,将损失值最小的作为最优有向无环图模型;将最优模型并组合得到目标神经网络。本发明将大搜索空间的神经架构搜索模块化确保潜在的候选网络结构得到公平的训练,减少由共享参数引起的表示偏差,从而确保候选结构的正确评分,正确的模型评分和排序提高了搜索的有效性,且扩展性好。

Description

一种基于知识蒸馏的神经网络搜索方法及系统
技术领域
本发明涉及深度学习的模型技术领域,具体涉及一种基于知识蒸馏的神经网络搜索方法及系统。
背景技术
神经网络搜索(NAS)作为AutoML的一项重要任务,有望减少网络架构设计中人类专家所需的工作量。近两年来,业界加速了对NAS的研究,并提出了许多解决方案。
在数学上,NAS最精确的解决方案是在搜索空间内从零开始训练每一个候选体系结构到收敛,并比较它们的性能,然而成本高得惊人。次优的解决方案是使用高级搜索策略(如RL或EA)仅在搜索子空间中训练体系结构;尽管这仍然很耗时,因为即使是训练一个体系结构也需要很长的时间(例如,在ImageNet上的ResNet需要超过10GPU天)。为了加快网络接入速度,最近的研究工作提出,不同的候选对象应该通过共享网络参数来进行并行训练,而不是从零开始到收敛的全部训练。随后,可以通过基于这些未经充分训练的共享网络参数评估不同候选体系结构的性能来确定它们的等级。然而,仍然存在几个问题:基于未充分训练的网络参数的评估是否正确排列了候选模型在从无到有的训练中,达到最高精度的体系结构能否捍卫它的最高排名,最佳网络参数W*不一定表示子网(即候选架构)的最佳网络参数ω*,因为子网没有得到公平和充分的训练。基于W*的评估不能正确排列候选模型,因为搜索空间通常很大(例如,>10^15)。不准确的评估导致了现有NAS的无效性。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中的神经网络搜索工作量大及性能差的缺陷,从而提供一种基于知识蒸馏的神经网络搜索方法及系统。
为达到上述目的,本发明提供如下技术方案:
第一方面,本发明实施例提供一种基于知识蒸馏的神经网络搜索方法,包括:
构建神经网络搜索空间,其包括多个搜索神经网络子空间,数据流在各搜索神经网络子空间选定任一基本网络结构按一定方向传递,构成有向无环图集合,组成神经超级网络;
根据不同深度将神经超级网络划分为多个子空间块;
基于知识蒸馏分别对多个子空间块进行单独训练,获取各子空间块多层神经网络的有向无环图对应的损失值,并对各子空间块中的损失值进行排序,将损失值最小的作为最优有向无环图模型;
将各子空间块的最优有向无环图模型并进行组合,得到最优的目标神经网络。
进一步地,每个子空间块包括多个层数不同的多层神经网络,所述多个多层神经网络之间不存在数据流交叉流动,不同子空间块之间的数据流动遵循有向无环图规则。
在一实施例中,基于知识蒸馏的神经网络搜索方法还包括:初始化所述目标神经网络参数,根据目标任务进行重新训练,得到最终模型。
进一步地,基于知识蒸馏分别对多个子空间块进行单独训练的步骤包括:将教师网络对应神经超级网络前一层子空间块输出的特征图作为神经超级网络当前空间块的输入特征,通过最小化子空间块的输出特征与教师网络对应当前子空间块的输出的特征图的范式距离,对各子空间块进行训练。
在一实施例中,对各子空间块进行搜索时通过预设的约束条件,筛选出符合约束条件的模型进行训练。
进一步地,约束条件为模型相关属性包括:模型参数量,模型计算复杂度,模型推理延时。
在一实施例中,所述将各子空间块的最优有向无环图模型并进行组合,得到最优的目标神经网络的过程,包括:
获得每个候选基本网络结构的预设约束属性构建查找表;
选取当前子空间块的最优有向无环图模型,如果当前待定模型与后续所有子空间块中具有最小约束属性的有向无环图模型的组合得到的待定目标网络的约束属性超过约束,返回当前子空间块按排序选取次优有向无环图模型直到满足上述约束,继续选取下一子空间块;当选取完最后一层子空间块,得到满足约束的待定目标网络后,记录该网络为候选目标并返回倒数第二层子空间块,选取排序次优的有向无环图模型重复上述流程;
将新的待定目标网络与候选目标对比,如果综合损失值更小,则替换掉该候选目标,否则返回倒数第二层子空间块继续选取次优的有向无环图模型直到该有向无环图模型的排序落后于候选目标在最后一层子空间块的有向无环图模型的排序,依次返回倒数第三层子空间块重复上述过程直到完成第一层子空间块的选取,得到最终的目标神经网络结构。
第二方面,本发明实施例提供一种基于知识蒸馏的神经网络搜索系统,包括:
搜索空间构建模块,用于构建神经网络搜索空间,其包括多个搜索神经网络子空间,数据流在各搜索神经网络子空间选定任一基本网络结构按一定方向传递,构成有向无环图集合,组成神经超级网络;
子空间块划分模块,用于根据不同深度将神经超级网络划分为多个子空间块;
子空间块训练及最优模型获取模块,用于基于知识蒸馏分别对多个子空间块进行单独训练,并获取各子空间块多层神经网络的有向无环图对应的损失值,并对各子空间块中的损失值进行排序,将损失值最小的作为最优有向无环图模型;
目标神经网络获取模块,用于将各子空间块的最优有向无环图模型并进行组合,得到最优的目标神经网络。
第三方面,本发明实施例提供一种计算机设备,包括:至少一个处理器,以及与至少一个处理器通信连接的存储器,其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器执行本发明实施例第一方面的基于知识蒸馏的神经网络搜索方法。
第四方面,本发明实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使计算机执行本发明实施例第一方面的基于知识蒸馏的神经网络搜索方法。
本发明技术方案,具有如下优点:
本发明提供的一种基于知识蒸馏的神经网络搜索方法及系统,方法包括:构建神经网络搜索空间,其包括多个搜索神经网络子空间,数据流在各搜索神经网络子空间选定任一基本网络结构按一定方向传递,构成有向无环图集合,组成神经超级网络;根据不同深度将神经超级网络划分为多个子空间块;基于知识蒸馏分别对多个子空间块进行单独训练,并获取各子空间块多层神经网络的有向无环图对应的损失值,并对各子空间块中的损失值进行排序,将损失值最小的作为最优有向无环图模型;将各子空间块的最优有向无环图模型并进行组合,得到最优的目标神经网络。本发明将大搜索空间的NAS模块化,以确保潜在的候选网络结构得到公平的训练,并减少由共享参数引起的表示偏差,从而确保候选结构的正确评分,正确的模型评分和排序提高了NAS的有效性,且扩展性好。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中基于知识蒸馏的神经网络搜索方法方法的一个具体示例的流程图;
图2为本发明实施例中通过蒸馏的方法用老师网络分区块训练超网的一个具体示例的原理框图;
图3为本发明实施例中提供的模型与现有最新的NAS模型的比较结果对比图;
图4为本发明实施例中提供的模型迁移学习后后的结果示意图;
图5为本发明实施例中提供的两种模型排序方法的比较示意图;
图6为本发明实施例中提供的采用EfficientNet-B0作为教师模型来搜索相似大小的学生网络的结果示意图;
图7为本发明实施例中基于知识蒸馏的神经网络搜索系统一个具体示例的组成框图。
图8为本发明实施例提供的计算机设备一个具体示例的组成图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
实施例1
本实施例提供一种基于知识蒸馏的神经网络搜索方法,如图1所示,包括如下步骤:
S1:构建神经网络搜索空间,其包括多个搜索神经网络子空间,数据流在各搜索神经网络子空间选定任一基本网络结构按一定方向传递,构成有向无环图集合,组成神经超级网络。
本发明实施例中,神经网络搜索空间包括多层神经网络,各层神经网络存在对应的搜索神经网络子空间,搜索神经网络子空间包括由多个神经元组成的基本网络结构。神经网络搜索空间,数据流可以在多层神经网络中的搜索神经网络子空间选定任一基本网络结构按一定方向流动,构成有向无环图集合,以上要素构成神经超级网络(以下简称超级网)。
S2:根据不同深度将神经超级网络划分为多个子空间块。
当搜索空间很小,并且所有候选模型都经过充分和公平的训练时,评估基本是准确的。为了提高评价的准确性,本申请根据超级网的深度将超级网划分为更小的子空间块。每个子空间块包括多个层数不同的多层神经网络,所述多个多层神经网络之间不存在数据流交叉流动,不同子空间块之间的数据流动遵循有向无环图规则。
S3:基于知识蒸馏分别对多个子空间块进行单独训练,获取各子空间块多层神经网络的有向无环图对应的损失值,并对各子空间块中的损失值进行排序,将损失值最小的作为最优有向无环图模型。
知识不仅存在于网络参数中,而且还存在于网络结构中。因此,使用现有模型的块的中间结果来监督我们的体系结构搜索。如图2所示,将教师网络对应神经超级网络前一层子空间块输出的特征图作为神经超级网络当前空间块的输入特征,通过最小化子空间块的输出特征与教师网络对应当前子空间块的输出的特征图的范式距离,对各子空间块进行训练。通过最小化它们的输出特征图之间的L2距离来模拟相应教师块的行为,其中的虚线表示每个搜索子空间随机采样的路径。
训练的目标是模仿老师在每个街区的行为,因此根据学生子模型在每个区块中的评估损失来评估其学习能力。分块搜索使得评估所有的拆分模型成为可能(每个块大约10^4)。为了加速这一过程,本发明实施例以类似于深度优先搜索的方式向前传播一批输入节点,并保存每个节点的中间输出,然后由后续节点重用,以避免从头重新计算。通过对超级网中一个块中的所有单元求值,可以得到一个块中所有可能路径的求值损失。可以用一个CPU在几秒钟内用大约10^4个元素轻松地对这个列表进行排序。
S4:将各子空间块的最优有向无环图模型并进行组合,得到最优的目标神经网络。
在进行排序之后,可以从每个块中选择最优有向无环图模型来组合成一个最好的学生网络。在本发明实施例中,需要利用目标神经网路进行新的任务检测识别时,需要初始化目标神经网络参数,根据目标任务进行重新训练,得到最终模型。
本发明实施例提供的方法将大搜索空间的NAS模块化,以确保潜在的候选网络结构得到公平的训练,并减少由共享参数引起的表示偏差,从而确保候选结构的正确评分,正确的模型评分和排序提高了NAS的有效性,且扩展性好。
在一实施例中,对各子空间块进行搜索时通过预设的约束条件,筛选出符合约束条件的模型进行训练,约束条件为模型相关属性包括:模型参数量,模型计算复杂度,模型推理延时。
在一定的约束条件下找到最优有向无环图模型,为了自动分配每个块的计算成本,需要确保每个块的评估标准是公平的。由于MSE损失与特征图的大小和教师特征图的方差有关,为了避免任何可能的影响,一个公平的评估标准,称为相对L1损失。子模型的每个块中的所有L被相加以估计从老师那里学习的能力。然而计算所有10^17个候选模型的复杂性和增加损失是不必要的耗时的。在每一个块中都有排序的部分模型的情况下,本发明实施例采用一种省时的搜索算法来巧妙地访问所有可能的模型。通过预先计算的查找表来获得每个候选操作的复杂度,以节省时间。如果当前部分模型与下列块中最小部分模型的组合已超过约束,则跳过下一个块的测试。此外,它在找到满足约束的模型后返回到上一个块,以防止在当前块中测试具有较低秩的后续模型。
具体地,获得每个候选基本网络结构的预设约束属性构建查找表;选取当前子空间块的最优有向无环图模型,如果当前待定模型与后续所有子空间块中具有最小约束属性的有向无环图模型的组合得到的待定目标网络的约束属性超过约束,返回当前子空间块按排序选取次优有向无环图模型直到满足上述约束,继续选取下一子空间块;当选取完最后一层子空间块,得到满足约束的待定目标网络后,记录该网络为候选目标并返回倒数第二层子空间块,选取排序次优的有向无环图模型重复上述流程;将新的待定目标网络与候选目标对比,如果综合损失值更小,则替换掉该候选目标,否则返回倒数第二层子空间块继续选取次优的有向无环图模型直到该有向无环图模型的排序落后于候选目标在最后一层子空间块的有向无环图模型的排序,依次返回倒数第三层子空间块重复上述过程直到完成第一层子空间块的选取,得到最终的目标神经网络结构。
假设当前约束条件为模型参数量小于某一阈值,划分子空间块为{B1,B2,B3},Bi中排序好的有向无环图集合为{Gi 1,Gi 2,…,Gi n}。开始搜索选定G1 1,根据查找表可以知道在B2,B3中最小模型参数量的有向无环图为G2 min,G3 min,如果G1 1,G2 min,G3 min构成的模型参数量超过给定的阈值,则跳过B2,B3的搜索。选定G1 2,重复上述过程。如果满足约束条件,则选定G1 2,G2 1,重复上述过程。如果超过阈值,则选定G1 2,G2 2,重复过程直到满足条件。假定G1 2,G2 1满足约束条件,则选定G1 2,G2 1,G3 1,如果满足条件,则G1 2,G2 1,G3 1为目标网络结构。否则重复直到找到G1 2,G2 1,G3 i满足条件,记录当前组合的损失值加权和为L,记录(L,i),此时返回上一个单元块B2,选定G1 2,G2 2,重复上述直到找到G1 2,G2 2,G3 j满足条件,比较L和当前组合的损失值加权和,如果L较小,返回上一个单元块B2重复直到找到G1 2,G2 k,G3 j的加权和小于L,替换掉L,同时令i=j,返回B2重复寻找,直到G1 2,G2 k,k>i,返回上一个单元块B1重复直到G1 t,t>k。停止搜索,当前L所对应的有向无环图组合为最终的目标神经网络结构。
本发明实施例提供的方法生成的目标模型(DNA模型)与现有最新的NAS模型相比,得到的比较结果如图3所示。在350M的FLOPs限制条件下搜索,DNA-a的参数比Scarlet-a少了180万。为了与EfficientNet-B0进行公平的比较,分别以399M和5.3M的参数获得了DNA-b和DNA-c。两者的表现都大大超过B0(1.1%和1.5%)。特别是,DNA-d在6.4M参数和611M触发器下达到了78.4%的top-1精度。当使用与EfficientNet-B1相同的输入大小(240*240)进行测试时,DNA-d达到78.8%的top-1准确度,与B1同样准确,但比B1少140万参数量。
为了测试本发明实施例提供模型的迁移能力,在两个广泛使用的迁移学习数据集(CIFAR-10和CIFAR-100)上进行评估。本发明实施例的模型在迁移学习后仍保持着优势,结果如图4所示。
为了评估本实施例提供NAS方法的有效性,通过可视化代理单点模型的评估指标与独立模型的实际精度之间的关系,比较了本实施例提供的方法与SPOS(Single Path Oneshot)之间的模型排序能力。从搜索空间中抽取了16个模型,并从头开始训练它们。对于模型排序测试,在两个超级网中对这些抽样模型进行评估,以获得它们的预测性能。两种模型排序方法的比较如图5所示。每个采样模型在图中都有两个对应的点,用两种方法表示其预测性能与真实性能之间的相关性。图5中显示,由于子网没有得到公平和充分的训练,SPOS几乎无法对候选模型进行正确的排序。而在本实施例的分块超网中,预测性能与采样模型的真实精度高度相关,这证明了本实施例提供方法的有效性。
为了检验DNA对教师模型性能的依赖性,采用EfficientNet-B0作为教师模型来搜索相似大小的学生网络,结果见图6。用B0搜索的模型与用B7搜索的模型的性能几乎相同,这意味着DNA的性能并不依赖于高性能的教师。此外,DNA-B0的表现比教师高出1.5%,这证明了本实施例的结构蒸馏的表现不受教师表现的限制。因此,可以通过自蒸馏架构搜索来改进任何模型的结构,扩展性好。
实施例2
本施例提供一种基于知识蒸馏的神经网络搜索系统,如图7所示,包括:
搜索空间构建模块1,用于构建神经网络搜索空间,其包括多个搜索神经网络子空间,数据流在各搜索神经网络子空间选定任一基本网络结构按一定方向流动,构成有向无环图集合,组成神经超级网络;此模块执行实施例1中的步骤S1所描述的方法,在此不再赘述。
子空间块划分模块2,用于根据不同深度将神经超级网络划分为多个子空间块;此模块执行实施例1中的步骤S2所描述的方法,在此不再赘述。
子空间块训练及最优模型获取模块3,用于基于知识蒸馏分别对多个子空间块进行单独训练,并获取各子空间块多层神经网络的有向无环图对应的损失值,并对各子空间块中的损失值进行排序,将损失值最小的作为最优有向无环图模型,此模块执行实施例1中的步骤S3所描述的方法,在此不再赘述。
目标神经网络获取模块4,用于将各子空间块的最优有向无环图模型并进行组合,得到最优的目标神经网络。此模块执行实施例1中的步骤S4所描述的方法,在此不再赘述。
本发明实施例提供的系统将大搜索空间的NAS模块化,以确保潜在的候选网络结构得到公平的训练,并减少由共享参数引起的表示偏差,从而确保候选结构的正确评分,正确的模型评分和排序提高了NAS的有效性,且扩展性好。
实施例3
本发明实施例提供一种计算机设备,如图8所示,包括:至少一个处理器401,例如CPU(Central Processing Unit,中央处理器),至少一个通信接口403,存储器404,至少一个通信总线402。其中,通信总线402用于实现这些组件之间的连接通信。其中,通信接口403可以包括显示屏(Display)、键盘(Keyboard),可选通信接口403还可以包括标准的有线接口、无线接口。存储器404可以是高速RAM存储器(Ramdom Access Memory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器404可选的还可以是至少一个位于远离前述处理器401的存储装置。其中处理器401可以执行实施例1的基于知识蒸馏的神经网络搜索方法。存储器404中存储一组程序代码,且处理器401调用存储器404中存储的程序代码,以用于执行实施例1的基于知识蒸馏的神经网络搜索方法。
其中,通信总线402可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。通信总线402可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器404可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard diskdrive,缩写:HDD)或固降硬盘(英文:solid-state drive,缩写:SSD);存储器404还可以包括上述种类的存储器的组合。
其中,处理器401可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。
其中,处理器401还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic arraylogic,缩写:GAL)或其任意组合。
可选地,存储器404还用于存储程序指令。处理器401可以调用程序指令,实现如本申请执行实施例1中的基于知识蒸馏的神经网络搜索方法。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机可执行指令,该计算机可执行指令可执行实施例1的基于知识蒸馏的神经网络搜索方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard DiskDrive,缩写:HDD)或固降硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

Claims (10)

1.一种基于知识蒸馏的神经网络搜索方法,其特征在于,包括:
构建神经网络搜索空间,其包括多个搜索神经网络子空间,数据流在各搜索神经网络子空间选定任一基本网络结构按一定方向传递,构成有向无环图集合,组成神经超级网络;
根据不同深度将神经超级网络划分为多个子空间块;
基于知识蒸馏分别对多个子空间块进行单独训练,并获取各子空间块多层神经网络的有向无环图对应的损失值,并对各子空间块中的损失值进行排序,将损失值最小的作为最优有向无环图模型;
将各子空间块的最优有向无环图模型并进行组合,得到最优的目标神经网络。
2.根据权利要求1所述的基于知识蒸馏的神经网络搜索方法,其特征在于,每个子空间块包括多个层数不同的多层神经网络,所述多个多层神经网络之间不存在数据流交叉流动,不同子空间块之间的数据流动遵循有向无环图规则。
3.根据权利要求1所述的基于知识蒸馏的神经网络搜索方法,其特征在于,还包括:初始化所述目标神经网络参数,根据目标任务进行重新训练,得到最终模型。
4.根据权利要求1所述的基于知识蒸馏的神经网络搜索方法,其特征在于,基于知识蒸馏分别对多个子空间块进行单独训练的步骤包括:
将教师网络对应神经超级网络前一层子空间块输出的特征图作为神经超级网络当前空间块的输入特征,通过最小化子空间块的输出特征与教师网络对应当前子空间块的输出的特征图的范式距离,对各子空间块进行训练。
5.根据权利要求4所述的基于知识蒸馏的神经网络搜索方法,其特征在于,对各子空间块进行搜索时通过预设的约束条件,筛选出符合约束条件的模型进行训练。
6.根据权利要求5所述的基于知识蒸馏的神经网络搜索方法,其特征在于,所述约束条件为模型相关属性包括:模型参数量,模型计算复杂度,模型推理延时。
7.根据权利要求6所述的基于知识蒸馏的神经网络搜索方法,其特征在于,所述将各子空间块的最优有向无环图模型并进行组合,得到最优的目标神经网络的过程,包括:
获得每个候选基本网络结构的预设约束属性构建查找表;
选取当前子空间块的最优有向无环图模型,如果当前待定模型与后续所有子空间块中具有最小约束属性的有向无环图模型的组合得到的待定目标网络的约束属性超过约束,返回当前子空间块按排序选取次优有向无环图模型直到满足上述约束,继续选取下一子空间块;当选取完最后一层子空间块,得到满足约束的待定目标网络后,记录该网络为候选目标并返回倒数第二层子空间块,选取排序次优的有向无环图模型重复上述流程;
将新的待定目标网络与候选目标对比,如果综合损失值更小,则替换掉该候选目标,否则返回倒数第二层子空间块继续选取次优的有向无环图模型直到该有向无环图模型的排序落后于候选目标在最后一层子空间块的有向无环图模型的排序,依次返回倒数第三层子空间块重复上述过程直到完成第一层子空间块的选取,得到最终的目标神经网络结构。
8.一种基于知识蒸馏的神经网络搜索系统,其特征在于,包括:
搜索空间构建模块,用于构建神经网络搜索空间,其包括多个搜索神经网络子空间,数据流在各搜索神经网络子空间选定任一基本网络结构按一定方向传递,构成有向无环图集合,组成神经超级网络;
子空间块划分模块,用于根据不同深度将神经超级网络划分为多个子空间块;
子空间块训练及最优模型获取模块,用于基于知识蒸馏分别对多个子空间块进行单独训练,并获取各子空间块多层神经网络的有向无环图对应的损失值,并对各子空间块中的损失值进行排序,将损失值最小的作为最优有向无环图模型;
目标神经网络获取模块,用于将各子空间块的最优有向无环图模型并进行组合,得到最优的目标神经网络。
9.一种计算机设备,其特征在于,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求1-7中任一所述的基于知识蒸馏的神经网络搜索方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1-7中任一所述的基于知识蒸馏的神经网络搜索方法。
CN202010213957.XA 2020-03-24 2020-03-24 一种基于知识蒸馏的神经网络搜索方法及系统 Pending CN111445008A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010213957.XA CN111445008A (zh) 2020-03-24 2020-03-24 一种基于知识蒸馏的神经网络搜索方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010213957.XA CN111445008A (zh) 2020-03-24 2020-03-24 一种基于知识蒸馏的神经网络搜索方法及系统

Publications (1)

Publication Number Publication Date
CN111445008A true CN111445008A (zh) 2020-07-24

Family

ID=71654277

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010213957.XA Pending CN111445008A (zh) 2020-03-24 2020-03-24 一种基于知识蒸馏的神经网络搜索方法及系统

Country Status (1)

Country Link
CN (1) CN111445008A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112001491A (zh) * 2020-07-27 2020-11-27 三星(中国)半导体有限公司 针对处理器确定神经网络架构的搜索方法和装置
CN112801215A (zh) * 2021-03-17 2021-05-14 腾讯科技(深圳)有限公司 图像处理模型搜索、图像处理方法、装置和存储介质
CN113221017A (zh) * 2021-07-08 2021-08-06 智者四海(北京)技术有限公司 粗排方法、装置及存储介质
CN113313250A (zh) * 2021-05-13 2021-08-27 中国科学院计算技术研究所 采用混合精度量化与知识蒸馏的神经网络训练方法及系统
CN113361578A (zh) * 2021-05-31 2021-09-07 北京百度网讯科技有限公司 图像处理模型的训练方法、装置、电子设备及存储介质
WO2022116519A1 (zh) * 2020-12-03 2022-06-09 北京搜狗科技发展有限公司 一种搜索方法、装置和电子设备

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112001491A (zh) * 2020-07-27 2020-11-27 三星(中国)半导体有限公司 针对处理器确定神经网络架构的搜索方法和装置
WO2022116519A1 (zh) * 2020-12-03 2022-06-09 北京搜狗科技发展有限公司 一种搜索方法、装置和电子设备
CN112801215A (zh) * 2021-03-17 2021-05-14 腾讯科技(深圳)有限公司 图像处理模型搜索、图像处理方法、装置和存储介质
CN112801215B (zh) * 2021-03-17 2021-07-02 腾讯科技(深圳)有限公司 图像处理模型搜索、图像处理方法、装置和存储介质
CN113313250A (zh) * 2021-05-13 2021-08-27 中国科学院计算技术研究所 采用混合精度量化与知识蒸馏的神经网络训练方法及系统
CN113313250B (zh) * 2021-05-13 2023-11-24 中国科学院计算技术研究所 采用混合精度量化与知识蒸馏的神经网络训练方法及系统
CN113361578A (zh) * 2021-05-31 2021-09-07 北京百度网讯科技有限公司 图像处理模型的训练方法、装置、电子设备及存储介质
CN113361578B (zh) * 2021-05-31 2023-08-04 北京百度网讯科技有限公司 图像处理模型的训练方法、装置、电子设备及存储介质
CN113221017A (zh) * 2021-07-08 2021-08-06 智者四海(北京)技术有限公司 粗排方法、装置及存储介质
CN113221017B (zh) * 2021-07-08 2021-10-29 智者四海(北京)技术有限公司 粗排方法、装置及存储介质

Similar Documents

Publication Publication Date Title
CN111445008A (zh) 一种基于知识蒸馏的神经网络搜索方法及系统
CN111124840B (zh) 业务运维中告警的预测方法、装置与电子设备
CN109948029B (zh) 基于神经网络自适应的深度哈希图像搜索方法
Liu et al. Automating feature subspace exploration via multi-agent reinforcement learning
CN107391512B (zh) 知识图谱预测的方法和装置
CN109120462B (zh) 机会网络链路的预测方法、装置及可读存储介质
US20150254554A1 (en) Information processing device and learning method
CN110837602A (zh) 基于表示学习和多模态卷积神经网络的用户推荐方法
CN110046706B (zh) 模型生成方法、装置及服务器
CN106997474A (zh) 一种基于深度学习的图节点多标签分类方法
US20220383627A1 (en) Automatic modeling method and device for object detection model
US11100167B2 (en) Obtaining dynamic embedding vectors of nodes in relationship graphs
CN110222838B (zh) 文档排序方法、装置、电子设备及存储介质
WO2022068934A1 (en) Method of neural architecture search using continuous action reinforcement learning
KR20220017497A (ko) 이미지 특징 추출 및 네트워크의 훈련 방법, 장치 및 기기
CN104486222B (zh) 基于蚁群优化算法的小时延缺陷测试关键路径选择方法
CN112001491A (zh) 针对处理器确定神经网络架构的搜索方法和装置
KR20210064817A (ko) 상이한 딥러닝 모델 간의 전이 학습방법
CN111177135A (zh) 一种基于界标的数据填补方法及装置
CN114637881A (zh) 基于多代理度量学习的图像检索方法
CN108470251B (zh) 基于平均互信息的社区划分质量评价方法及系统
KR20200117690A (ko) 멀티 홉 이웃을 이용한 컨볼루션 학습 기반의 지식 그래프 완성 방법 및 장치
CN111507499B (zh) 预测用模型的构建方法、测试方法、装置及系统
CN110705889A (zh) 一种企业筛选方法、装置、设备及存储介质
CN112819160B (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