CN116384446A - 一种基于变异器的神经网络架构搜索方法和系统 - Google Patents
一种基于变异器的神经网络架构搜索方法和系统 Download PDFInfo
- Publication number
- CN116384446A CN116384446A CN202310235078.0A CN202310235078A CN116384446A CN 116384446 A CN116384446 A CN 116384446A CN 202310235078 A CN202310235078 A CN 202310235078A CN 116384446 A CN116384446 A CN 116384446A
- Authority
- CN
- China
- Prior art keywords
- network
- super
- search
- super network
- training
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 56
- 230000035772 mutation Effects 0.000 title claims abstract description 50
- 238000012549 training Methods 0.000 claims abstract description 61
- 238000004364 calculation method Methods 0.000 claims abstract description 50
- 238000005457 optimization Methods 0.000 claims abstract description 21
- 238000013135 deep learning Methods 0.000 claims description 28
- 238000012360 testing method Methods 0.000 claims description 21
- 239000003471 mutagenic agent Substances 0.000 claims description 19
- 238000012795 verification Methods 0.000 claims description 15
- 238000011176 pooling Methods 0.000 claims description 14
- 230000002787 reinforcement Effects 0.000 claims description 13
- 238000012217 deletion Methods 0.000 claims description 12
- 230000037430 deletion Effects 0.000 claims description 12
- 238000010586 diagram Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 claims description 2
- 230000015654 memory Effects 0.000 abstract description 11
- 230000001133 acceleration Effects 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000010845 search algorithm Methods 0.000 description 14
- 230000004069 differentiation Effects 0.000 description 10
- 230000002068 genetic effect Effects 0.000 description 9
- 238000001514 detection method Methods 0.000 description 6
- 230000002929 anti-fatigue Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000011478 gradient descent method Methods 0.000 description 3
- 238000012800 visualization Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 231100000707 mutagenic chemical Toxicity 0.000 description 2
- 230000003505 mutagenic effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004452 microanalysis Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
Images
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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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/086—Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- 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/092—Reinforcement learning
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Physiology (AREA)
- Image Processing (AREA)
Abstract
一种基于变异器的神经网络架构搜索方法。包括:用户定义超级网络搜索空间,实例化超级网络;获取实例化超级网络的搜索策略的分支选择,使用突变器保存策略选择结果;利用突变器对超级网络算法的逻辑计算图进行转换;训练超级网络,并根据反馈信息调整搜索策略。本发明利用变异器抽象和控制流优化,实现计算加速和显存占用优化。该技术通过分析和优化现有网络计算图逻辑,对原有计算逻辑进行优化,以减少冗余算子执行开销并且提升设备显存资源利用率,从而实现多网络整体推理训练的优化。
Description
技术领域
本发明属于人工智能技术领域,具体而言,涉及一种基于变异器的神经网络架构搜索方法和系统,是一种突变器抽象以及基于突变器的神经网络架构搜索算法训练加速和多模型训练优化的技术。
背景技术
人工智能,特别是深度学习已经在图像识别、自然语言理解、语音处理等领域取得重大的突破,然而为某个特定任务设计优秀的深度学习模型通常是不直观、繁琐且低效的。通常的流程类似实验科学,研究人员先依据经验设计一个基本模型,训练并在测试集测试效果,更改基本模型的模型结构,接着训练测试效果,反复迭代这个过程,直到模型取得理想效果。一次训练是耗时的,训练的次数来自于指数级的超级网络空间,因此这样的方式耗费大量的计算资源与时间。
自动深度学习致力于优化这个过程。其中一些神经网络架构搜索算法(Nas)在算法层面优化了上述过程,参见Pham H,Guan M,Zoph B,et al.Efficient neuralarchitecture search via parameters sharing[C]//International conference onmachine learning.PMLR,2018:4095-4104.。该文通过进化算法、强化学习、贝叶斯优化方法、架构微分等搜索策略方法。然而这些方法都需要构建一个强大的超级网络(supernet),超级网络包含了搜索空间所有可能的子网络结构,每一次网络训练都要申请不需要的显存、占用不需要的计算逻辑,耗费大量的存储资源与计算资源。
发明内容
本发明要解决现有技术的上述技术问题,提供一种基于变异器的神经网络架构搜索方法和系统。
本发明通过一种突变器抽象以及基于突变器的自动深度学习训练加速和多模型训练优化的技术,以解决自动深度学习超级网络过大,存在冗余显存与冗余计算的问题,提升神经网络架构搜索算法的效率。
本发明提供了一种基于突变器抽象的神经网络架构搜索方法,包括如下步骤:
S1,用户定义超级网络搜索空间,包括网络结构配置参数,实例化超级网络。
包括如下步骤:
S11,前端接收用户定义的超级网络的配置参数,包括层数,卷积类型,池化类型、搜索策略等层数可以指定整个网络所有的层数,也可以指定每个block的层数,以及block的个数,超级网络由相同结构的block堆叠而成。卷积类型可以指定conv1X1,conv3X3,conv7X7等。池化类型可以指定最大化池化、平均池化。搜索策略可以指定进化算法、强化学习、贝叶斯优化方法、架构微分等方法。这些参数构成超级网络的搜索空间。
S12,根据网络配置参数构建多分支的超级网络,通过堆叠所有支路的各层,实例化超级网络。超级网络是许多神经网络结构搜索算法的通用概念,其包含了所有候选神经网络结构,使用超级网络的优势在于:一方面工程师可以很直观了解Nas算法的整体架构、搜索空间、可视化各候选神经网络,其次可以方便各个候选神经网络进行权重共享。
S2,获取实例化超级网络的搜索策略的分支选择,使用突变器保存策略选择结果。包括如下步骤:
S21,使用搜索策略获取分支选择,对于不同的搜索策略有不同的获取方法,例如对于遗传算法,获取方法来自于亲代的遗传信息。搜索策略可以指定进化算法、强化学习、贝叶斯优化方法、架构微分等方法。策略选择算法可以有效地对搜索空间进行剪枝,有效地提升算法搜索效率。
S22,将选择结果存于突变器,突变器保存超级网络计算图与子网计算图的分支选择。突变器是一种特殊的网络层Layer,每个突变器包括了若干个候选算子,例如conv3X3,conv5X5,每个子网络结构从中选择一个算子,每个网络包含多个突变器,从而构成神经网络架构搜索的搜索空间。
S3,利用突变器对超级网络的逻辑计算图进行转换。包括如下步骤:
S31,利用开源深度学习框架的源码或者接口获取超级网络的逻辑计算图。各个深度学习框架都会解析前端网络结构代码,生成逻辑计算图,例如oneflow的tf.Graph接口用于生成计算图,torch利用torch.jit接口生成计算图,oneflow也存在类似的接口。计算图作为神经网络结构的逻辑表征,是由所有算子作为结点,张量作为连边组成的有向无环图,包含算子的输入信息和输出信息,以及算子的属性等。
S32,利用突变器的分支选取结果对超级网络计算图进行冗余分支删除。删除方法可以使用有向图遍历删除算法。冗余分支包括未被选择的算子,利用突变器对候选算子进行选择,去除未被选择的算子,达到控制流的优化,所生成的子计算图跟传统深度学习网络计算图相同。
S4,训练超级网络,并根据反馈信息调整搜索策略。包括如下步骤:
S41,加载数据集,切分为训练集、验证集、测试集,在训练集训练模型,在验证集使用早停机制,在测试集测试准确率。训练集、验证集、测试集的比例是8:1:1,使用训练集训练,当验证集的损失函数不在下降时,停止训练并在测试集上测试准确率
S42,将准确率与模型结构作为输入给到搜索策略,作为反馈信息,接着执行S2,不断循环迭代直到获取最优的训练结果。最后,由深度学习框架依据计算图构建执行任务图,保存模型用于推理。对于不同的搜索策略,反馈信息的输入方式不同,例如对于强化学习搜索策略,反馈信息是以奖励信号(准确率提升有奖励)结合策略梯度方法输入的;对于遗传算法,反馈信息是将准确率提高的子代加入种群中,作为下一次迭代的亲代;对于贝叶斯算法,网络结构信息与准确率分别作为贝叶斯模型的输入与输出;对于架构微分算法,反馈信息是反向传播中的梯度,通过梯度下降方法优化网络架构参数。
本发明还提供提供一种基于变异器的神经网络架构搜索系统,包括:
超级网络实例化模块,用户定义模型搜索空间,实例化超级网络;
策略选择结果保存模块,获取实例化超级网络的搜索策略的分支选择,使用突变器保存策略选择结果;
逻辑计算图转换模块,利用突变器对超级网络算法的逻辑计算图进行转换;
超级网络训练模块,训练超级网络,并根据反馈信息调整搜索策略。
本发明还包括一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现本发明的一种基于变异器的神经网络架构搜索方法。
本发明的一种基于变异器的神经网络架构搜索方法,包括:多深度神经网络模型的结构定义方式,逻辑计算图;对逻辑计算图变换的抽象突变器;突变器中的算子选择和计算图变换;以及基于深度学习框架oneflow的神经网络架构搜索算法加速系统。本发明公开的神经网络架构搜索算法加速技术利用变异器抽象和控制流优化,实现计算加速和显存占用优化。该技术通过分析和优化现有网络计算图逻辑,对原有计算逻辑进行优化,以减少冗余算子执行开销并且提升设备显存资源利用率,从而实现多网络整体推理训练的优化。
本发明通过对超级网络计算图的冗余分支进行删除,降低了实际网络运算需要的浮点运算数,从而缩短了算法的运行时间。
本发明的优点是:第一可以缩短神经网络架构搜索算法的运行时间,第二泛化性较强,是对一类神经网络架构搜索算法而不是一个神经网络架构搜索算法,第三本发明对于深度学习框架源码的侵入式改变较少,可以低耦合的实现所需要的功能。
附图说明
图1是传统的神经网络架构搜索算法(Nas)的实现方式示意图。
图2是本发明方法的流程示意图。
图3是本发明的超级网络示意图。
图4是本发明的一种基于变异器的神经网络架构搜索系统的系统结构示意图。
图5是应用本发明的一种基于变异器的神经网络架构搜索方法的车辆防疲劳检测系统的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,在下文中,两个可能设备之一可以被称为第一组件也可以被称为第二组件,类似地,两个可能设备的另一个可以被称为第二组件也可以被称为第一组件。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使本领域技术人员更好地理解本公开,下面结合附图和具体实施方式对本公开作进一步详细说明。
实施例1
参照图1-图4,本发明提供了一种基于突变器抽象的神经网络架构搜索方法,包括如下步骤:
S1,用户定义超级网络搜索空间,包括网络结构配置参数,实例化超级网络。
包括如下步骤:
S11,前端接收用户定义的超级网络的配置参数,包括层数,卷积类型,池化类型、搜索策略等层数可以指定整个网络所有的层数,也可以指定每个block的层数,以及block的个数,超级网络由相同结构的block堆叠而成。卷积类型可以指定conv1X1,conv3X3,conv7X7等。池化类型可以指定最大化池化、平均池化。搜索策略可以指定进化算法、强化学习、贝叶斯优化方法、架构微分等方法。这些参数构成超级网络的搜索空间。
S12,根据网络配置参数构建多分支的超级网络,通过堆叠所有支路的各层,实例化超级网络。超级网络是许多神经网络结构搜索算法的通用概念,其包含了所有候选神经网络结构,使用超级网络的优势在于:一方面工程师可以很直观了解Nas算法的整体架构、搜索空间、可视化各候选神经网络,其次可以方便各个候选神经网络进行权重共享。
S2,获取实例化超级网络的搜索策略的分支选择,使用突变器保存策略选择结果。包括如下步骤:
S21,使用搜索策略获取分支选择,对于不同的搜索策略有不同的获取方法,例如对于遗传算法,获取方法来自于亲代的遗传信息。搜索策略可以指定进化算法、强化学习、贝叶斯优化方法、架构微分等方法。策略选择算法可以有效地对搜索空间进行剪枝,有效地提升算法搜索效率。
S22,将选择结果存于突变器,突变器保存超级网络计算图与子网计算图的分支选择。突变器是一种特殊的网络层Layer,每个突变器包括了若干个候选算子,例如conv3X3,conv5X5,每个子网络结构从中选择一个算子,每个网络包含多个突变器,从而构成神经网络架构搜索的搜索空间。
S3,利用突变器对超级网络的逻辑计算图进行转换。包括如下步骤:
S31,利用开源深度学习框架的源码或者接口获取超级网络的逻辑计算图。各个深度学习框架都会解析前端网络结构代码,生成逻辑计算图,例如oneflow的tf.Graph接口用于生成计算图,torch利用torch.jit接口生成计算图,oneflow也存在类似的接口。计算图作为神经网络结构的逻辑表征,是由所有算子作为结点,张量作为连边组成的有向无环图,包含算子的输入信息和输出信息,以及算子的属性等。
S32,利用突变器的分支选取结果对超级网络计算图进行冗余分支删除。删除方法可以使用有向图遍历删除算法。冗余分支包括未被选择的算子,利用突变器对候选算子进行选择,去除未被选择的算子,达到控制流的优化,所生成的子计算图跟传统深度学习网络计算图相同。
S4,训练超级网络,并根据反馈信息调整搜索策略。包括如下步骤:
S41,加载数据集,切分为训练集、验证集、测试集,在训练集训练模型,在验证集使用早停机制,在测试集测试准确率。训练集、验证集、测试集的比例是8:1:1,使用训练集训练,当验证集的损失函数不在下降时,停止训练并在测试集上测试准确率
S42,将准确率与模型结构作为输入给到搜索策略,作为反馈信息,接着执行S2,不断循环迭代直到获取最优的训练结果。最后,由深度学习框架依据计算图构建执行任务图,保存模型用于推理。对于不同的搜索策略,反馈信息的输入方式不同,例如对于强化学习搜索策略,反馈信息是以奖励信号(准确率提升有奖励)结合策略梯度方法输入的;对于遗传算法,反馈信息是将准确率提高的子代加入种群中,作为下一次迭代的亲代;对于贝叶斯算法,网络结构信息与准确率分别作为贝叶斯模型的输入与输出;对于架构微分算法,反馈信息是反向传播中的梯度,通过梯度下降方法优化网络架构参数。
图1所示的是传统的神经网络架构搜索算法(Nas)的实现方式,也是本发明的实验对照组。首先构建神经网络架构超级网络,利用深度学习框架前端解析生成计算图并训练。接着完成候选子网的选择,以第一层为例,由于该网络层layer包含三个算子,而深度学习框架无法预先知道哪个算子会被子网实际使用到,只能针对每个算子都申请核函数(kernel)计算资源(包括显存),当搜索策略选择到某个算子时,会更改掩码(mask)的值,掩码通过与三个算子的结果相乘求和,从而使得实际选择的算子作为计算结果,接下来的几层网络类似,从而完成的神经网络架构搜索算法中的一次子网选择、训练。可以看出,这种方式需要对额外冗余的算子核函数申请存储资源和计算资源,造成了资源浪费,因此本发明致力于通过突变器控制计算图转换优化这个过程。
图2所示的是本发明使用的神经网络架构搜索算法的实现方式。
首先,用户定义超级网络搜索空间,实例化超级网络,生成逻辑计算图。如图二的搜索空间即第一层的三种卷积,第二层的两种池化,第三层的三种卷积。利用深度学习框架前端解析生成计算图,区别在于该计算图包含了特殊的网络层突变器,每个突变器包含了多个候选算子,突变器可以接受来自搜索策略的反馈更改计算图,选择对应的算子,生成子网。
其次,获取实例化超级网络的搜索策略的分支选择,使用突变器保存策略选择结果,常用的搜索策略算法包括进化算法、强化学习、贝叶斯优化方法、架构微分等方法,例如Enas算法通过长短期记忆网络(lstm)结合策略梯度(policy gradient)实现强化学习,lstm每个时序输出接一个softmax分类器,分类类别数等于突变器包含的候选算子数,时序的长度对应了网络突变器的数目。lstm的输出即决定了子网的网络结构突变器依据该输出得到最后的子网计算图。
接着,利用突变器对超级网络的逻辑计算图进行转换,删除冗余分支和其他候选算子。最后,训练超级网络,深度学习框架执行引擎拿到子网的逻辑计算图,加载图片数据,完成模型训练、验证、推理,将准确率与模型结构作为输入给到搜索策略,接着执行第二步,重复迭代这个过程直到模型的准确率趋向于饱和。
如下表1所示的是实验组和对照组的实验结果。为了忽略其他因素的影响,两者的其他配置一样,都基于深度学习框架oneflow的单卡A100训练,训练任务是MNIST的手写数字识别任务,包括10层的卷积神经网络,对应10个突变器,优化器使用随机梯度下降sgd,学习率设置为0.3.动量设置为0.9,权重初始化方案使用高斯随机初始化,搜索策略使用贝叶斯优化算法。可以看出,使用突变器抽象的自动深度学习训练在搜索和训练总耗时有显著的优化,显存资源占用也减小了。
表1
深度学习框架 | 搜索+训练耗时 | 显存占用 | |
图1组 | oneflow | 135.17s | 1309M |
图2组 | oneflow | 46.60s | 907M |
实施例2
参照图5,本实施例提供一种应用实施例1的一种基于变异器的神经网络架构搜索方法的车辆防疲劳检测方法,包括如下步骤:
S1,利用数据采集模块提取训练数据,包括车载摄像机拍摄驾驶员脸部图像,提取脸部图像信息,获取驾驶员特征模型和疲劳特征,构建训练数据。
S2,用户定义超级网络搜索空间,包括网络结构配置参数,实例化超级网络。
包括如下步骤:
S21,前端接收用户定义的超级网络的配置参数,包括层数,卷积类型,池化类型、搜索策略等层数可以指定整个网络所有的层数,也可以指定每个block的层数,以及block的个数,超级网络由相同结构的block堆叠而成。卷积类型可以指定conv1X1,conv3X3,conv7X7等。池化类型可以指定最大化池化、平均池化。搜索策略可以指定进化算法、强化学习、贝叶斯优化方法、架构微分等方法。这些参数构成超级网络的搜索空间。
S22,根据网络配置参数构建多分支的超级网络,通过堆叠所有支路的各层,实例化超级网络。超级网络是许多神经网络结构搜索算法的通用概念,其包含了所有候选神经网络结构,使用超级网络的优势在于:一方面工程师可以很直观了解Nas算法的整体架构、搜索空间、可视化各候选神经网络,其次可以方便各个候选神经网络进行权重共享。
S3,获取实例化超级网络的搜索策略的分支选择,使用突变器保存策略选择结果。包括如下步骤:
S31,使用搜索策略获取分支选择,对于不同的搜索策略有不同的获取方法,例如对于遗传算法,获取方法来自于亲代的遗传信息。搜索策略可以指定进化算法、强化学习、贝叶斯优化方法、架构微分等方法。策略选择算法可以有效地对搜索空间进行剪枝,有效地提升算法搜索效率。
S32,将选择结果存于突变器,突变器保存超级网络计算图与子网计算图的分支选择。突变器是一种特殊的网络层Layer,每个突变器包括了若干个候选算子,例如conv3X3,conv5X5,每个子网络结构从中选择一个算子,每个网络包含多个突变器,从而构成神经网络架构搜索的搜索空间。
S4,利用突变器对超级网络的逻辑计算图进行转换。包括如下步骤:
S41,利用开源深度学习框架的源码或者接口获取超级网络的逻辑计算图。各个深度学习框架都会解析前端网络结构代码,生成逻辑计算图,例如oneflow的tf.Graph接口用于生成计算图,torch利用torch.jit接口生成计算图,oneflow也存在类似的接口。计算图作为神经网络结构的逻辑表征,是由所有算子作为结点,张量作为连边组成的有向无环图,包含算子的输入信息和输出信息,以及算子的属性等。
S42,利用突变器的分支选取结果对超级网络计算图进行冗余分支删除。删除方法可以使用有向图遍历删除算法。冗余分支包括未被选择的算子,利用突变器对候选算子进行选择,去除未被选择的算子,达到控制流的优化,所生成的子计算图跟传统深度学习网络计算图相同。
S5,训练超级网络,并根据反馈信息调整搜索策略。包括如下步骤:
S51,加载数据集。根据摄像头收集的图片数据,加载训练数据。切分为训练集、验证集、测试集,在训练集训练模型,在验证集使用早停机制,在测试集测试准确率。训练集、验证集、测试集的比例是8:1:1,使用训练集训练,当验证集的损失函数不在下降时,停止训练并在测试集上测试准确率
S52,将准确率与模型结构作为输入给到搜索策略,作为反馈信息,接着执行S2,不断循环迭代直到获取最优的训练结果。最后,由深度学习框架依据计算图构建执行任务图,保存模型用于推理。对于不同的搜索策略,反馈信息的输入方式不同,例如对于强化学习搜索策略,反馈信息是以奖励信号(准确率提升有奖励)结合策略梯度方法输入的;对于遗传算法,反馈信息是将准确率提高的子代加入种群中,作为下一次迭代的亲代;对于贝叶斯算法,网络结构信息与准确率分别作为贝叶斯模型的输入与输出;对于架构微分算法,反馈信息是反向传播中的梯度,通过梯度下降方法优化网络架构参数。
S6:部署模型,进行疲劳检测,包括:导出模型,部署到车辆防疲劳检测系统。当模型发现驾驶员疲劳驾驶,车辆防疲劳检测系统语音提醒驾驶员己连续驾驶很久,属于疲劳驾驶状态。
实施例3
本实施例提供提供用于实现实施例1的一种基于变异器的神经网络架构搜索方法的一种基于变异器的神经网络架构搜索系统,包括:
超级网络实例化模块,用户定义模型搜索空间,实例化超级网络;
策略选择结果保存模块,获取实例化超级网络的搜索策略的分支选择,使用突变器保存策略选择结果;
逻辑计算图转换模块,利用突变器对超级网络算法的逻辑计算图进行转换;
超级网络训练模块,训练超级网络,并根据反馈信息调整搜索策略。
实施例4
本实施例提供提供用于实现实施例1的一种基于变异器的神经网络架构搜索方法的一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现实施例1的一种基于变异器的神经网络架构搜索方法。
Claims (10)
1.一种基于变异器的神经网络架构搜索方法,其特征在于,包括如下步骤:
S1,用户定义超级网络搜索空间,实例化超级网络;
S2,获取实例化超级网络的搜索策略的分支选择,使用突变器保存策略选择结果;
S3,利用突变器对超级网络算法的逻辑计算图进行转换;
S4,训练超级网络,并根据反馈信息调整搜索策略。
2.如权利要求1所述的一种基于变异器的神经网络架构搜索方法,其特征在于:步骤S1具体包括:
S11,用户定义超级网络的网络结构配置参数,用于构成搜索空间,包括层数,卷积类型,池化类型;
S12,根据网络配置参数构建多分支的超级网络,通过堆叠所有支路的各层,实例化超级网络。
3.如权利要求1所述的一种基于变异器的神经网络架构搜索方法,其特征在于:步骤S2具体包括:
S21,使用搜索策略获取分支选择,对于不同的搜索策略有不同的获取方法;
S22,将选择结果存于突变器,突变器保存超级网络计算图与子网计算图的分支选择。
4.如权利要求1所述的一种基于变异器的神经网络架构搜索方法,其特征在于:步骤S3具体包括:
S31,利用开源深度学习框架的源码或者接口获取超级网络的逻辑计算图;
S32,利用突变器的分支选取结果对超级网络计算图进行冗余分支删除,删除算法即有向无环图遍历删除算法。
5.如权利要求1所述的一种基于变异器的神经网络架构搜索方法,其特征在于:步骤S4具体包括:
S41,加载数据集,切分为训练集、验证集、测试集,在训练集训练超级网络,在验证集使用早停机制,在测试集测试准确率;
S42,将准确率与模型结构作为输入给到搜索策略,作为反馈信息,搜索策略获取这些输入后会微调自己的策略参数,从而做出更好的分支选择;接着执行步骤S2,不断循环迭代直到获取最优的训练结果;对于不同的搜索策略,反馈信息的输入方式不同。
6.根据权利要求4所述的一种基于变异器的神经网络架构搜索方法,其特征在于:步骤S31所述的的逻辑计算图区别于传统的深度神经网络计算图,除了算子和张量外,还包括构成搜索空间的多个候选算子集合,通过不断堆叠层层算子,组成的有向无环图,形成一个包括所有候选训练子网络的超级网络。
7.根据权利要求3所述的一种基于变异器的神经网络架构搜索方法,其特征在于:步骤S22所述的对逻辑计算图进行变换的突变器是一种用于自动深度学习的特殊网络层,通过继承深度学习框架通用网络层类实现,是一种自定义的网络层类;其前端用于提供用户定义多个候选算子组成的搜索空间,后端用于获取搜索策略算法的分支选择,改变超级网络计算图以获得子网络计算图。
8.根据权利要求3所述的一种基于变异器的神经网络架构搜索方法,其特征在于:步骤S21所述的搜索策略结合进化算法、强化学习、贝叶斯优化方法、架构微分等搜索策略方法进行候选算子选择,依靠突变器完成计算图变换,实现超级网络计算图到子网计算图的转换,避免了额外计算资源申请和开销。
9.一种基于变异器的神经网络架构搜索系统,包括:
超级网络实例化模块,用户定义模型搜索空间,实例化超级网络;
策略选择结果保存模块,获取实例化超级网络的搜索策略的分支选择,使用突变器保存策略选择结果;
逻辑计算图转换模块,利用突变器对超级网络算法的逻辑计算图进行转换;
超级网络训练模块,训练超级网络,并根据反馈信息调整搜索策略。
10.一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现权利要求1-8中任一项所述的一种基于变异器的神经网络架构搜索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310235078.0A CN116384446A (zh) | 2023-03-06 | 2023-03-06 | 一种基于变异器的神经网络架构搜索方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310235078.0A CN116384446A (zh) | 2023-03-06 | 2023-03-06 | 一种基于变异器的神经网络架构搜索方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116384446A true CN116384446A (zh) | 2023-07-04 |
Family
ID=86970355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310235078.0A Pending CN116384446A (zh) | 2023-03-06 | 2023-03-06 | 一种基于变异器的神经网络架构搜索方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116384446A (zh) |
-
2023
- 2023-03-06 CN CN202310235078.0A patent/CN116384446A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110175671B (zh) | 神经网络的构建方法、图像处理方法及装置 | |
Liu et al. | Progressive neural architecture search | |
CN109948029B (zh) | 基于神经网络自适应的深度哈希图像搜索方法 | |
CN110782015A (zh) | 神经网络的网络结构优化器的训练方法、装置及存储介质 | |
CN111882040A (zh) | 基于通道数量搜索的卷积神经网络压缩方法 | |
KR20180044295A (ko) | 트레이닝된 머신 학습 모델의 성능을 개선시키는 방법 | |
CN112561027A (zh) | 神经网络架构搜索方法、图像处理方法、装置和存储介质 | |
CN113570029A (zh) | 获取神经网络模型的方法、图像处理方法及装置 | |
CN111783937A (zh) | 一种神经网络构建方法以及系统 | |
CN112163601B (zh) | 图像分类方法、系统、计算机设备及存储介质 | |
KR20210030063A (ko) | 준지도 학습을 기반으로 한 이미지 분류를 위한 적대적 이미지 생성 모델 구축 시스템 및 방법 | |
Ma et al. | A cost-function approach to rival penalized competitive learning (RPCL) | |
CN116187391A (zh) | 神经网络模型的处理方法及装置 | |
CN112597217B (zh) | 一种历史决策数据驱动的智能决策平台及其实现方法 | |
CN111401557A (zh) | 智能体决策制定方法、ai模型训练方法、服务器及介质 | |
CN111931904A (zh) | 神经网络的构建方法和装置 | |
CN115018039A (zh) | 一种神经网络蒸馏方法、目标检测方法以及装置 | |
Mendonca et al. | Graph-based skill acquisition for reinforcement learning | |
CN114065003A (zh) | 面向超大搜索空间的网络结构搜索方法、系统及介质 | |
Robles et al. | Learning to reinforcement learn for neural architecture search | |
Zhang et al. | Learning to search efficient densenet with layer-wise pruning | |
CN116384446A (zh) | 一种基于变异器的神经网络架构搜索方法和系统 | |
CN109697511B (zh) | 数据推理方法、装置及计算机设备 | |
CN114626284A (zh) | 一种模型处理方法及相关装置 | |
DE102021100404A1 (de) | Verfahren zum Bestimmen einer optimierten komprimierten Netzkonfiguration, Assistenzeinrichtung und Kraftfahrzeug |
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 |