CN111684471A - 网络结构搜索的方法及装置、计算机存储介质和计算机程序产品 - Google Patents
网络结构搜索的方法及装置、计算机存储介质和计算机程序产品 Download PDFInfo
- Publication number
- CN111684471A CN111684471A CN201980009251.7A CN201980009251A CN111684471A CN 111684471 A CN111684471 A CN 111684471A CN 201980009251 A CN201980009251 A CN 201980009251A CN 111684471 A CN111684471 A CN 111684471A
- Authority
- CN
- China
- Prior art keywords
- network structure
- penalty
- feedback
- training
- network
- 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 55
- 238000004590 computer program Methods 0.000 title claims abstract description 16
- 238000012549 training Methods 0.000 claims abstract description 61
- 238000003062 neural network model Methods 0.000 claims abstract description 20
- 238000005070 sampling Methods 0.000 claims description 17
- 238000012360 testing method Methods 0.000 claims description 10
- 238000013528 artificial neural network Methods 0.000 claims description 8
- 239000004744 fabric Substances 0.000 claims description 2
- 238000010586 diagram Methods 0.000 abstract description 20
- 230000008569 process Effects 0.000 description 10
- 239000013598 vector Substances 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000007704 transition Effects 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/045—Combinations of networks
-
- 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/044—Recurrent networks, e.g. Hopfield networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种网络结构搜索的方法包括:(步骤S12)确定待进行网络结构搜索的神经网络模型的搜索空间,搜索空间定义了神经网络模型中每两个节点之间的操作层上的多种操作;训练总图步骤(S14):根据第一网络结构训练搜索空间的总图,总图由操作构成;训练第一网络结构步骤(S16):(步骤S162)根据预设的惩罚模型调整第一网络结构的反馈量;(步骤S164)利用反馈量更新第一网络结构。本申请还公开了一种网络结构搜索的装置、计算机存储介质和计算机程序产品。
Description
技术领域
本申请涉及机器学习领域,特别涉及一种网络结构搜索的方法及装置、计算机存储介质和计算机程序产品。
背景技术
相关技术使用基于权值分享的高效网络结构搜索(Efficient NeuralArchitecture Search via Parameter Sharing,ENAS)来提高网络结构搜索(NeuralArchitecture Search,NAS)的效率。然而,通过ENAS搜索到的网络结构经常出现较大的偏见(bias),即,通过ENAS搜索到的网络结构总会倾向于卷积核尺寸(kernel size)较大的操作。这导致搜索到的模型参数较大。即使计算力足够,对模型参数没有限制,参数较多的模型也易于过拟合,泛化能力下降,不易调试训练。另外,控制器带有偏见就意味着控制器收敛到的是局部最优解,无法充分探索(explore)搜索空间。这样的控制器不具有较高的可信度,不能保证搜索到的模型就是全局最优。
发明内容
本申请的实施方式提供一种网络结构搜索的方法及装置、计算机存储介质和计算机程序产品。
本申请实施方式的网络结构搜索的方法包括:
定义搜索空间步骤:确定待进行网络结构搜索的神经网络模型的搜索空间,所述搜索空间定义了所述神经网络模型中每两个节点之间的操作层上的多种操作;
训练总图步骤:根据第一网络结构训练所述搜索空间的总图,所述总图由所述操作构成;
训练第一网络结构步骤:根据预设的惩罚模型调整所述第一网络结构的反馈量;
利用所述反馈量更新所述第一网络结构。
本申请实施方式的网络结构搜索的装置包括处理器和存储器,所述存储器存储有一个或多个程序,在所述程序被所述处理器执行的情况下,使得所述处理器用于执行:
定义搜索空间步骤:确定待进行网络结构搜索的神经网络模型的搜索空间,所述搜索空间定义了所述神经网络模型中每两个节点之间的操作层上的多种操作;
训练总图步骤:根据第一网络结构训练所述搜索空间的总图,所述总图由所述操作构成;
训练第一网络结构步骤:根据预设的惩罚模型调整所述第一网络结构的反馈量;
利用所述反馈量更新所述第一网络结构。
本申请实施方式的计算机存储介质,其上存储有计算机程序,所述计算机程序被计算机执行时使得,所述计算机执行上述的方法。
本申请实施方式的包含指令的计算机程序产品,所述指令被计算机执行时使得计算机执行上述的方法。
本申请实施方式的网络结构搜索的方法及装置、计算机存储介质和计算机程序产品,将总图和第一网络结构交替进行优化,并根据预设的惩罚模型调整反馈量,可以避免在总图充分收敛时优化第一网络结构导致的偏见,从而提高第一网络结构的可信度,保证搜索到的模型是全局最优。
本申请的实施方式的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实施方式的实践了解到。
附图说明
本申请的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
图1是本申请实施方式的网络结构搜索的方法的流程示意图;
图2是本申请实施方式的网络结构搜索的装置的模块示意图;
图3是相关技术的网络结构搜索的方法的原理示意图;
图4是本申请实施方式的网络结构搜索的方法的总图的示意图;
图5是本申请另一实施方式的网络结构搜索的方法的流程示意图;
图6是本申请又一实施方式的网络结构搜索的方法的流程示意图;
图7是本申请实施方式的网络结构搜索的方法的原理示意图;
图8是本申请另一实施方式的网络结构搜索的方法的流程示意图;
图9是本申请又一实施方式的网络结构搜索的方法的流程示意图;
图10是本申请再一实施方式的网络结构搜索的方法的流程示意图;
图11是本申请另一实施方式的网络结构搜索的方法的流程示意图;
图12是本申请实施方式的网络结构搜索的方法的惩罚效果的示意图;
图13是本申请实施方式的网络结构搜索的方法的惩罚效果的另一示意图;
主要元件符号说明:
网络结构搜索的装置10、存储器102、处理器104、通信接口106。
具体实施方式
下面详细描述本申请的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。
在本申请的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接或可以相互通信;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
下文的公开提供了许多不同的实施方式或例子用来实现本申请的不同结构。为了简化本申请的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本申请。此外,本申请可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。此外,本申请提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的应用和/或其他材料的使用。
下面详细描述本申请的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。
请参阅图1和图2,本申请实施方式提供一种网络结构搜索的方法及装置10。
本申请实施方式的网络结构搜索的方法包括:
定义搜索空间步骤S12:确定待进行网络结构搜索的神经网络模型的搜索空间,搜索空间定义了神经网络模型中每两个节点之间的操作层上的多种操作;
训练总图步骤S14:根据第一网络结构训练搜索空间的总图(whole graph),总图由操作构成;
训练第一网络结构步骤S16:步骤S162:根据预设的惩罚模型调整第一网络结构的反馈量(ACC);
步骤S164:利用反馈量更新第一网络结构。
本申请实施方式的网络结构搜索的装置10包括处理器104和存储器102,存储器102存储有一个或多个程序,在程序被处理器执行的情况下,使得处理器用于执行:定义搜索空间步骤S12:确定待进行网络结构搜索的神经网络模型的搜索空间,搜索空间定义了神经网络模型中每两个节点之间的操作层上的多种操作;训练总图步骤S14:根据第一网络结构训练搜索空间的总图(whole graph),总图由操作构成;训练第一网络结构步骤S16:步骤S162:根据预设的惩罚模型调整第一网络结构的反馈量(ACC);步骤S164:利用反馈量更新第一网络结构。
也就是说,本申请实施方式的网络结构搜索的方法可由本申请实施方式的网络结构搜索的装置10实现。
本申请实施方式的网络结构搜索的方法及装置10,将总图和第一网络结构交替进行优化,并根据预设的惩罚模型调整反馈量,可以避免在总图充分收敛时优化第一网络结构导致的偏见,从而提高第一网络结构的可信度,保证搜索到的模型是全局最优。
请注意,处理器104的数量可以是一个。处理器104的数量也可以是多个,例如2个、3个、5个或其他数量。在处理器104的数量为多个的情况下,可以由不同的处理器104执行步骤S14和步骤S16。
可选地,网络结构搜索的装置10还可以包括通信接口106,用于将网络结构搜索的装置10处理完成的数据输出,和/或,从外部设备输入网络结构搜索的装置10将要处理的数据。例如,处理器104用于控制通信接口106输入和/输出数据。
近年来,机器学习算法,尤其是深度学习算法,得到了快速发展与广泛应用。随着模型性能不断地提高,模型结构也越来越复杂。在非自动化机器学习算法中,这些结构需要机器学习专家手工设计和调试,过程非常繁复。而且,随着应用场景和模型结构变得越来越复杂,在应用场景中得到最优模型的难度也越来越大。在这种情况下,自动化机器学习算法(Auto Machine Learning,AutoML)受到学术界与工业界的广泛关注,尤其是网络结构搜索(Neural Architecture Search,NAS)。
具体地,网络结构搜索是一种利用算法自动化设计神经网络模型的技术。网络结构搜索就是要搜索出神经网络模型的结构。在本申请实施方式中,待进行网络结构搜索的神经网络模型为卷积神经网络(Convolutional Neural Networks,CNN)。
网络结构搜索要解决的问题就是确定神经网络模型中的节点之间的操作。节点之间的操作的不同组合对应不同的网络结构。进一步地,神经网络模型中的节点可以理解为神经网络模型中的特征层。两个节点之间的操作指的是,其中一个节点上的特征数据变换为另一个节点上的特征数据所需的操作。本申请提及的操作可以为卷积操作、池化操作、或全连接操作等其他神经网络操作。可以认为两个节点之间的操作构成这两个节点之间的操作层。通常,两个节点之间的操作层上具有多个可供搜索的操作,即具有多个候选操作。网络结构搜索的目的就是在每个操作层上确定一个操作。
例如,将conv3*3,conv5*5,depthwise3*3,depthwise5*5,maxpool3*3,averagepool3*3等定义为搜索空间。也即是说,网络结构的每一层操作是在这六个选择中采样。
请参阅图3,NAS在建立搜索空间后,通常利用第一网络结构在搜索空间中采样到第二网络结构,然后将第二网络结构训练到收敛,以确定反馈量,最后利用反馈量更新第一网络结构。
具体地,NAS的思想是,通过一个第一网络结构在搜索空间中得到一个网络结构,然后根据该网络结构得到准确率R,将准确率R作为反馈以更新第一网络结构,第一网络结构继续优化得到另一个网络结构,如此反复进行直到得到最佳的结果。
第一网络结构可作为控制器。在图3的示例中,第一网络结构通过循环神经网络(Recurrent Neural Network,RNN)构建,当然,第一网络结构也可以通过卷积神经网络(Convolutional Neural Networks,CNN)或长短期记忆人工神经网络(Long-Short TermMemory,LSTM)构建。在此不对第一网络结构构建的具体方式进行限定。
然而,将第二网络结构训练到收敛比较耗时。因此,相关技术出现了多种解决NAS高效性的方法,例如,基于网络变换的高效网络结构搜索(Efficient ArchitectureSearch by Network Transformation),以及基于权值分享的高效网络结构搜索(Efficient Neural Architecture Search via Parameter Sharing,ENAS)。其中,基于权值分享的高效网络结构搜索应用较为广泛。
具体地,请参阅图4,基于权值分享的高效网络结构搜索在使用过程中,将操作连接成总图,搜索到的最终最优结构是总图中的其中一个子图。在图4的示例中,总图由节点间的操作连接而成。图4中加粗的带边最优结构的连接方式是总图的一个子图。
ENAS采用权值分享策略,在每次采样到一个网络结构后,不再将其直接训练至收敛,而是训练一个批(batch),迭代多次后,总图最终可以收敛。请注意,图的收敛并不相当于网络结构的收敛。
在训练完所述总图后,可以将总图的参数固定(fix)住,然后训练第一网络结构。具体地,可以对总图进行采样以得到第二网络结构,训练第二网络结构以得到反馈量,从而更新第一网络结构。
可以理解,基于权值分享的高效网络结构搜索,由于在每次搜索网络结构时,分享了可以分享的参数,可以节约时间,从而提高网络结构搜索的效率。例如,在图4的示例中,如果在搜索到节点1、节点3和节点6并对搜索到的网络结构进行训练之后,本次搜索到节点1、节点2、节点3和节点6,那么,搜索到节点1、节点3和节点6时训练的网络结构的相关参数可以应用到对本次搜索到的网络结构的训练中。这样,就可以实现通过权值分享提高效率。
ENAS可以将NAS的效率提升1000倍以上,但是,在实际使用的过程中,会出现如下问题:搜索的网络经常出现较大的偏见(bias),即,通过ENAS搜索到的网络结构总会倾向于卷积核尺寸(kernel size)较大的操作。
以上述搜索空间为例,将conv3*3,conv5*5,depthwise3*3,depthwise5*5,maxpool3*3,average pool3*3等定义为搜索空间,那么第一网络结构总会搜索到conv5*5。这将导致两个较为严重的问题:第一,搜索到的模型参数较大。这样即使计算力足够,对模型参数没有限制,参数较多的模型也易于过拟合,泛化能力下降,不易调试训练。第二,第一网络结构带有偏见就意味着第一网络结构收敛到的是局部最优解,无法充分探索(explore)搜索空间。这样的第一网络结构不具有较高的可信度,不能保证我们搜索到的模型就是全局最优。
上述问题较为严重,需要十分精细的调节第一网络结构使其不会收敛至局部最优解。否则,该问题将使ENAS框架失效。但是精细调节第一网络结构将使ENAS变得十分繁琐,失去的AutoML的初衷,变得不易使用。而且精细调节也不能保证得到较好的第一网络结构。
基于此,本申请实施方式的网络结构搜索的方法及装置10,将总图和第一网络结构交替进行优化,并根据预设的惩罚模型调整反馈量,可以避免在总图充分收敛时优化第一网络结构导致的偏见,从而提高第一网络结构的可信度,保证搜索到的模型是全局最优。
具体地,请参阅图5,步骤S14包括:
步骤S142:根据第一网络结构在搜索空间的每个操作层采样一个操作以得到总图的子图;
步骤S144:利用训练集(train)的一批数据(batch)训练子图。
对应地,处理器104用于根据第一网络结构在搜索空间的每个操作层采样一个操作以得到总图的子图;以及用于利用训练集的一批数据训练子图。
如此,实现对总图的训练。在本实施方式中,ENAS采用权值分享策略,在每次采样到一个子图后,不再将其直接训练至收敛,而是利用训练集的一批数据训练子图。
在一个例子中,搜索空间为5层,每层有4个可选用的操作,相当于4X5的图。网络结构搜索需要在每层选一个操作,相当于在图上进行路径优化。初始时,每层随机采样一个操作,然后把采样到的操作连起来,得到一个子图,在训练集的一批数据上训练这个子图;接着,再每层随机采样一个操作得到另一个子图,再在训练集的另一批数据上训练这个子图;接着,继续随机采样到又一个子图并在训练集的又一批数据上训练这个子图……直到训练集中的数据使用完毕,也即是完成一个迭代(epoch)。然后训练第一网络结构。
接着,以相同的方式训练总图完成第二个epoch,然后训练第一网络结构。
接着,以相同的方式训练总图完成第三个epoch,然后训练第一网络结构……如此迭代,直至完成迭代总次数,以将总图和第一网络结构交替进行优化。
在本实施方式中,迭代总次数为310次。可以理解,在其他的实施方式中,迭代总次数的数值可为100次、200次或其他数值。
可选地,请参阅图6,步骤S162包括:
步骤S1622:根据第一网络结构在搜索空间的每个操作层采样一个操作以得到第二网络结构;
步骤S1624:确定第二网络结构的反馈量;
步骤S1626:根据惩罚模型调整反馈量。
对应地,处理器104用于根据第一网络结构在搜索空间的每个操作层采样一个操作以得到第二网络结构;及用于确定第二网络结构的反馈量;以及用于根据惩罚模型调整反馈量。
如此,实现根据预设的惩罚模型调整第一网络结构的反馈量。可以理解,为避免在搜索过程中,总图为充分收敛的情况下,优化第一网络结构而引入偏见。本实施方式在确定第二网络结构的反馈量后,通过惩罚模型来调整反馈量,可以减少甚至消除偏见的影响。
在本实施方式中,第一网络结构通过LSTM构建。
请参阅图7,搜索空间的每个操作层对应于长短期记忆人工神经网络(LSTM)的一个时间步(timestep),对于每个时间步,长短期记忆人工神经网络的细胞(Cell)输出一个隐状态(hidden state),步骤S1622包括:
将隐状态映射为特征向量,特征向量的维度与每个操作层上的操作数量相同;
根据特征向量在每个操作层采样一个操作以得到网络结构。
如此,实现在搜索空间的每个操作层采样一个操作以得到第二网络结构。例如,一共要搜索一个20层的网络,不考虑跳线,需要20个时间步。
在图10的示例中,实线箭头表示时间步(timestep),时间1表示LSTM的第一个Cell,时间2表示LSTM的第二个Cell……以此类推。方块conv3*3表示在模型中该层的操作,圆形表示操作层与操作层之间的连接关系。
可以理解,由于网络结构的计算有先后顺序,将计算先后的关系的逻辑关系映射到LSTM上,就是图5中一个小方块从左往右,对应的每一个时间的LSTM的cell的状态。
具体地,在时间1下,cell输出的隐状态经过计算得到卷积conv3×3,conv3×3作为时间2下cell的输入层,时间1下cell输出的隐状态也作为时间2下cell的输入,计算得到圆圈1。
同理,圆圈1作为时间3下cell的输入,时间2下cell输出的隐状态也作为时间3的输入,计算得到卷积sep5×5……以此类推。
进一步地,根据特征向量在每个操作层采样一个操作以得到网络结构,包括:
将特征向量进行归一化(softmax)以得到每个操作层的每个操作的概率;
根据概率在每个操作层采样一个操作以得到网络结构。
如此,实现根据特征向量在每个操作层采样一个操作以得到网络结构。具体地,在图10所示的例子中,对LSTM的cell输出的隐状态进行编码(encoding)操作,将其映射维度为6的向量(vector),该向量经过归一化指数函数(softmax),变为概率分布,依据此概率分布进行采样,得到当前层的操作。以此类推最终得到一个网络结构。可以理解,在此例子中,只有一个输入,一共包含六种操作(3×3卷积,5×5卷积,3×3depthwise-separable卷积,5×5depthwise-separable卷积,max pooling,3×3average pooling),向量的维度与搜索空间对应,6是指搜索空间有6个操作可选择。
可选地,请参阅图8,步骤S1624包括:
步骤S1623:利用测试集的一批数据(batch)预测(prediction)第二网络结构以确定反馈量。
对应地,处理器104用于利用测试集的一批数据预测第二网络结构以确定反馈量。
如此,实现确定第二网络结构的反馈量。
另外,可预先将训练样本(train set)分为训练集(train)和测试集(valid)。可以理解,传统的CNN中,一般将样本数据分为训练样本和验证样本,训练样本用于训练网络结构,验证样本用于验证网络结构好不好。
而在本实施方式中,在搜索第二网络结构时,训练集用于训练搜索到的第二网络结构的参数,如通过conv3*3,sep5*5计算出的第二网络结构的参数,例如权重、偏置等。在搜索到第二网络结构后,可将搜索到的第二网络结构在测试集上预测,以得到反馈量来根据前述公式更新第一网络结构(LSTM)。请注意,并非直接用测试集训练LSTM。
也即是说,训练集用于训练搜索到的第二网络结构的参数,测试集用于更新LSTM的参数,而验证样本用于验证搜索到的第二网络结构好不好。
在一个例子中,训练样本的数量为10个,将训练样本划分为数量为8个的训练集和数量为2个的测试集,数量为8个的训练集用于训练搜到的结构,数量为2个的测试集用于更新LSTM。
请参阅图9,步骤S16循环预设次数,步骤S164包括:
步骤S1642:利用每次循环确定的反馈量更新第一网络结构,每次循环确定的反馈量的数量为预设数量。
对应地,处理器104用于将第一网络结构循环训练预设次数,以及用于利用每次循环确定的反馈量更新第一网络结构,每次循环确定的反馈量的数量为预设数量。
如此,实现训练第一网络结构。具体地,在本实施方式中,步骤S16循环50次,预设数量为20个。可以理解,在其他的例子中,预设次数可为10、20、30或其他数值,预设数量可为10、15、25或其他数值。在此不对预设次数和预设数量的具体数值进行限定。
可选地,第一网络结构是根据长短期记忆网络模型来构建,步骤S164通过以下公式实现:
其中,Rk为第k个所述反馈量,θc为所述长短期记忆人工神经网络的参数,at为在第t个所述操作层采样到的所述操作,P(at|a(t-1):1;θc)为采样到所述操作的概率。m是所述反馈量的总数量,T为所述第一网络结构预测的超参数的数量。
如此,实现根据多个反馈量的平均值更新第一网络结构。在本实施方式中,T包括操作层和跳线。在其他的实施方式中,还可能包含其他想要优化的超参数。在此不对T的具体内容进行限定。
在本实施方式中,对总图的训练和对第一网络结构的更新是多次迭代进行的,总图与第一网络结构交替训练的迭代总次数为310次。也即是说,步骤S14和步骤S16迭代310次。如此,可以最终获得效果较好的第二网络结构。
在每次交替训练时,循环步骤S16的预设次数为50次。也即是说,在步骤S14和步骤S16的每次迭代中,第一网络结构更新50次,公式(1)执行50次。可以理解,将步骤S16的循环次数选取为50,可以减少采样带来的随机性优化。
每次循环步骤S16时,采样的第二网络结构的数量为20个,以得到20个反馈量,将20个反馈量作为Rk代入公式(1),以实现第一网络结构的更新。也即是说,公式(1)中,m的值为20。
请注意,训练样本遍历一遍,即为迭代一次。例如,训练样本的数量为10个,每次划分出2个样本作为训练集的一批来训练子图,5批后,训练样本使用完毕,则完成一次迭代。
可选地,请参阅图10,步骤S1626包括:
步骤S1628:根据预设信息、第二网络结构、当前的迭代次数和迭代总次数确定惩罚项;
步骤S1629:根据惩罚项调整反馈量。
对应地,处理器104用于根据预设信息、第二网络结构、当前的迭代次数和迭代总次数确定惩罚项;以及用于根据惩罚项调整反馈量。
如此,实现根据惩罚模型调整反馈量。可以理解,为避免在搜索过程中,总图为充分收敛的情况下,优化第一网络结构引入偏见。我们给较大的卷积核加入惩罚项,对预测时的反馈量进行处理。
具体地,步骤S1628中的预设信息,可以是用户预先输入的信息,也可以是其他计算模型将计算的结果输入。在此不对预设信息的来源进行限定。
请注意,在本实施方式中,步骤S14和步骤S16迭代进行。迭代总次数指步骤S14和步骤S16迭代的总次数。当前的迭代次数是指在步骤S14和步骤S16迭代过程中,当前的迭代是第几次迭代。例如,迭代总次数为310,在第一次迭代时,当前的迭代次数为1;在第二次迭代时,当前的迭代次数为2;在第三次迭代时,当前的迭代次数为3……以此类推,步骤S14和步骤S16迭代完310次即停止迭代。
因此,迭代总次数和每次迭代中当前的迭代次数也是可以确定的。其中,迭代总次数可以由用户进行设定。当前的迭代次数随着迭代的进行是可以累计得到的。
可选地,请参阅图11,步骤S1628包括:
步骤S1621:根据预设信息确定第一惩罚系数;
步骤S1623:根据当前的迭代次数和迭代总次数确定第二惩罚系数;
步骤S1625:根据第二网络结构、第一惩罚系数、第二惩罚系数确定惩罚项。
对应地,处理器104用于根据预设信息确定第一惩罚系数;及用于根据当前的迭代次数和迭代总次数确定第二惩罚系数;以及用于根据第二网络结构、第一惩罚系数、第二惩罚系数确定惩罚项。
如此,实现根据预设信息、第二网络结构、当前的迭代次数和迭代总次数确定惩罚项。在本实施方式中,第一惩罚系数为空间边际惩罚系数,第二惩罚系数为时间边际惩罚系数。如前所述,预设信息,可以是用户预先输入的信息,也即是说,用户可以根据经验自行设置空间边际惩罚系数。而时间边际惩罚系数与步骤S14和步骤S16的迭代相关。这样,通过第一惩罚系数和第二惩罚系数实现对反馈量的调整。
可选地,步骤S1629通过以下公式实现:
其中,cosine(π/2×(epcoh/total_epochs))表示第二惩罚系数,α表示第一惩罚系数,epoch表示当前的迭代次数,total_epochs表示迭代总次数;N表示操作层的数量,ki表示第i层操作层采样到的操作对应的卷积核尺寸(kernel size),ACC表示反馈量。
如此,实现根据第二惩罚系数和第一惩罚系数调整反馈量。可以理解,在本实施方式中,惩罚项为公式(2)中的根式,将调整前的反馈量乘以惩罚项则得到调整后的反馈量。
请一并参阅图12和图13,图12是第一惩罚系数为2时的惩罚效果示意图,图13是不同的第一惩罚系数的惩罚效果示意图。由于随着迭代的进行,总图逐渐收敛。可以理解,在第一惩罚系数不变的情况下,第二惩罚系数使得惩罚项的值随着总图的收敛过程而增大。在总图收敛时,惩罚项的值为1。请注意,随着步骤S14和步骤S16的迭代的进行,总图逐渐收敛,在迭代完迭代总次数时,总图呈收敛状态。
具体地,第二惩罚系数cosine(π/2×(epcoh/total_epochs))函数是为了实现随着总图的收敛,惩罚力度越来越小的目的。这是因为考虑到总图在训练的后期收敛了,应该予以正常的反馈量,不再对反馈量进行惩罚。
可以理解,较大的卷积核的拟合能力强于较小的卷积核,因此,在使用ENAS搜索的过程中,由于总图是从头开始训练的,所以在总图未训练充分之前,较大的卷积核总会倾向于给出较大的反馈量,此时较大的反馈量将会对优化第一网络结构给出更多的贡献,从而使得卷积核在收敛过程中逐渐的倾向于只采样到较大的卷积核,从而引入偏见。
一般来说,一个5*5的卷积核(kernel),等于两个3*3的卷积核,一个7*7的卷积核等于3个3*3的卷积核,一个9*9的卷积核等于4个3*3的卷积核,以此类推,一个尺寸为K的卷积核等于(K-1)/2个3*3的卷积核。
假如在搜索一个N层的网络,每层采样到的操作对应的卷积核尺寸为k1,k2,k3,k4……kn,一共迭代E个epcoh,则反馈量可通过上述公式(2)进行调整。
在一个例子中,N=4,k1=3,k2=5,k3=5,k4=7,则惩罚项为:
假如当前一共迭代310次,设α=2,即开根号2,则当前对应的结构的惩罚力度随着迭代次数的进展如图11所示,横轴为当前迭代次数(epoch数),纵轴为惩罚项的数值,惩罚项的数值与反馈量相乘,从而对反馈量进行惩罚。
从图11中可以看出,惩罚项的数值从0.76逐步过渡到1。对应地,调整后的反馈量,逐步从ACC*0.76到ACC。
在本申请实施方式中,将cosine(π/2×(epcoh/total_epochs))函数作为第二惩罚系数。可以理解,在其他的实施方式中,也可以选择其他的函数作为第二惩罚系数,只要能够实现在搜索初期抑制参数较多的操作的目的即可。例如,在其他的一个实施方式中,第二惩罚系数为指数函数;在其他的另一个实施方式中,第二惩罚系数为饱和函数。在此不对第二惩罚系数的具体形式进行限定。
另外,在本申请实施方式中,惩罚项为根式,第一惩罚系数α作为根指数。可以理解,这是为了避免极端情况。因为当第一网络结构采样到较大的卷积核的时候,如果不加根号,则会引入较大的惩罚,这对于第一网络结构的优化不利,因此,我们需要降低边际惩罚效应。具体地,在图13中,可以看出上述的被开方数7/12在不同的迭代次数下被不同的第一惩罚系数的惩罚效果。
可以看出,作为根指数的第一惩罚系数α越大,惩罚力度越小。第一惩罚系数α为超参,可以根据实际情况进行调节。第一惩罚系数α的范围可以是:[1,5]。在本实施方式中,α=2。可以理解,在其他的实施方式中,第一惩罚系数α也可以为1、3或4。在此,不对第一惩罚系数α的具体数值进行限定。
进一步地,如果想要高性能,可以在上述范围内将第一惩罚系数α设置得大一些;如果想要约束模型参数,可以在上述范围内将第一惩罚系数α设置得小一些。
本申请实施方式还提供一种计算机存储介质,其上存储有计算机程序,计算机程序被计算机执行时使得,计算机执行上述任一实施方式的方法。
本申请实施方式还提供一种包含指令的计算机程序产品,指令被计算机执行时使得计算机执行上述任一实施方式的方法。
本申请实施方式的计算机存储介质和计算机程序产品,将总图和第一网络结构交替进行优化,并根据预设的惩罚模型调整反馈量,可以避免在总图充分收敛时优化第一网络结构导致的偏见,从而提高第一网络结构的可信度,保证搜索到的模型是全局最优。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (24)
1.一种网络结构搜索的方法,其特征在于,包括:
定义搜索空间步骤:确定待进行网络结构搜索的神经网络模型的搜索空间,所述搜索空间定义了所述神经网络模型中每两个节点之间的操作层上的多种操作;
训练总图步骤:根据第一网络结构训练所述搜索空间的总图,所述总图由所述操作构成;
训练第一网络结构步骤:根据预设的惩罚模型调整所述第一网络结构的反馈量;
利用所述反馈量更新所述第一网络结构。
2.根据权利要求1所述的网络结构搜索的方法,其特征在于,根据第一网络结构训练所述搜索空间的总图,包括:
根据所述第一网络结构在所述搜索空间的每个所述操作层采样一个所述操作以得到所述总图的子图;
利用训练集的一批数据训练所述子图。
3.根据权利要求1所述的网络结构搜索的方法,其特征在于,根据预设的惩罚模型调整所述第一网络结构的反馈量,包括:
根据所述第一网络结构在所述搜索空间的每个所述操作层采样一个所述操作以得到第二网络结构;
确定所述第二网络结构的所述反馈量;
根据所述惩罚模型调整所述反馈量。
4.根据权利要求3所述的网络结构搜索的方法,其特征在于,确定所述第二网络结构的所述反馈量,包括:
利用测试集的一批数据预测所述第二网络结构以确定所述反馈量。
5.根据权利要求3所述的网络结构搜索的方法,其特征在于,根据所述惩罚模型调整所述反馈量,包括:
根据预设信息、所述第二网络结构、当前的迭代次数和迭代总次数确定惩罚项;
根据所述惩罚项调整所述反馈量。
6.根据权利要求5所述的网络结构搜索的方法,其特征在于,根据预设信息、所述第二网络结构、当前的迭代次数和迭代总次数确定惩罚项,包括:
根据所述预设信息确定第一惩罚系数;
根据所述当前的迭代次数和所述迭代总次数确定第二惩罚系数;
根据所述第二网络结构、所述第一惩罚系数、所述第二惩罚系数确定所述惩罚项。
7.根据权利要求6所述的网络结构搜索的方法,其特征在于,在所述第一惩罚系数不变的情况下,所述第二惩罚系数使得所述惩罚项的值随着所述总图的收敛过程而增大。
8.根据权利要求7所述的网络结构搜索的方法,其特征在于,在所述总图收敛时,所述惩罚项的值为1。
10.根据权利要求1所述的网络结构搜索的方法,其特征在于,所述训练第一网络结构步骤循环预设次数,利用所述反馈量更新所述第一网络结构,包括:
利用每次循环确定的所述反馈量更新所述第一网络结构,每次循环确定的所述反馈量的数量为预设数量。
12.一种网络结构搜索的装置,其特征在于,包括处理器和存储器,所述存储器存储有一个或多个程序,在所述程序被所述处理器执行的情况下,使得所述处理器用于执行:
定义搜索空间步骤:确定待进行网络结构搜索的神经网络模型的搜索空间,所述搜索空间定义了所述神经网络模型中每两个节点之间的操作层上的多种操作;
训练总图步骤:根据第一网络结构训练所述搜索空间的总图,所述总图由所述操作构成;
训练第一网络结构步骤:根据预设的惩罚模型调整所述第一网络结构的反馈量;
利用所述反馈量更新所述第一网络结构。
13.根据权利要求12所述的网络结构搜索的装置,其特征在于,所述处理器用于根据所述第一网络结构在所述搜索空间的每个所述操作层采样一个所述操作以得到所述总图的子图;以及用于利用训练集的一批数据训练所述子图。
14.根据权利要求12所述的网络结构搜索的装置,其特征在于,所述处理器用于根据所述第一网络结构在所述搜索空间的每个所述操作层采样一个所述操作以得到第二网络结构;及用于确定所述第二网络结构的所述反馈量;以及用于根据所述惩罚模型调整所述反馈量。
15.根据权利要求14所述的网络结构搜索的装置,其特征在于,所述处理器用于利用测试集的一批数据预测所述第二网络结构以确定所述反馈量。
16.根据权利要求14所述的网络结构搜索的装置,其特征在于,所述处理器用于根据预设信息、所述第二网络结构、当前的迭代次数和迭代总次数确定惩罚项;以及用于根据所述惩罚项调整所述反馈量。
17.根据权利要求16所述的网络结构搜索的装置,其特征在于,所述处理器用于根据所述预设信息确定第一惩罚系数;及用于根据所述当前的迭代次数和所述迭代总次数确定第二惩罚系数;以及用于根据所述第二网络结构、所述第一惩罚系数、所述第二惩罚系数确定所述惩罚项。
18.根据权利要求17所述的网络结构搜索的装置,其特征在于,在所述第一惩罚系数不变的情况下,所述第二惩罚系数使得所述惩罚项的值随着所述总图的收敛过程而增大。
19.根据权利要求18所述的网络结构搜索的装置,其特征在于,在所述总图收敛时,所述惩罚项的值为1。
21.根据权利要求12所述的网络结构搜索的装置,其特征在于,所述处理器用于将所述第一网络结构循环训练预设次数,以及用于利用每次循环确定的所述反馈量更新所述第一网络结构,每次循环确定的所述反馈量的数量为预设数量。
23.一种计算机存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被计算机执行时使得,所述计算机执行权利要求1至11中任一项所述的方法。
24.一种包含指令的计算机程序产品,其特征在于,所述指令被计算机执行时使得所述计算机执行权利要求1至11中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/089696 WO2020237687A1 (zh) | 2019-05-31 | 2019-05-31 | 网络结构搜索的方法及装置、计算机存储介质和计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111684471A true CN111684471A (zh) | 2020-09-18 |
Family
ID=72433309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980009251.7A Pending CN111684471A (zh) | 2019-05-31 | 2019-05-31 | 网络结构搜索的方法及装置、计算机存储介质和计算机程序产品 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111684471A (zh) |
WO (1) | WO2020237687A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112784962B (zh) * | 2021-01-21 | 2024-07-02 | 上饶市纯白数字科技有限公司 | 超网络的训练方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130268496A1 (en) * | 2012-04-05 | 2013-10-10 | International Business Machines Corporation | Increased in-line deduplication efficiency |
US20180024512A1 (en) * | 2016-07-25 | 2018-01-25 | General Electric Company | System modeling, control and optimization |
CN109242098A (zh) * | 2018-07-25 | 2019-01-18 | 深圳先进技术研究院 | 限定代价下神经网络结构搜索方法及相关产品 |
CN109284820A (zh) * | 2018-10-26 | 2019-01-29 | 北京图森未来科技有限公司 | 一种深度神经网络的结构搜索方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102386806B1 (ko) * | 2016-10-28 | 2022-04-14 | 구글 엘엘씨 | 신경 아키텍처 검색 |
JP6963627B2 (ja) * | 2017-07-21 | 2021-11-10 | グーグル エルエルシーGoogle LLC | 畳み込みニューラルネットワークのためのニューラルアーキテクチャ検索 |
-
2019
- 2019-05-31 CN CN201980009251.7A patent/CN111684471A/zh active Pending
- 2019-05-31 WO PCT/CN2019/089696 patent/WO2020237687A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130268496A1 (en) * | 2012-04-05 | 2013-10-10 | International Business Machines Corporation | Increased in-line deduplication efficiency |
US20180024512A1 (en) * | 2016-07-25 | 2018-01-25 | General Electric Company | System modeling, control and optimization |
CN109242098A (zh) * | 2018-07-25 | 2019-01-18 | 深圳先进技术研究院 | 限定代价下神经网络结构搜索方法及相关产品 |
CN109284820A (zh) * | 2018-10-26 | 2019-01-29 | 北京图森未来科技有限公司 | 一种深度神经网络的结构搜索方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2020237687A1 (zh) | 2020-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210390416A1 (en) | Variable parameter probability for machine-learning model generation and training | |
US11610131B2 (en) | Ensembling of neural network models | |
Moerland et al. | A0c: Alpha zero in continuous action space | |
US11853893B2 (en) | Execution of a genetic algorithm having variable epoch size with selective execution of a training algorithm | |
US20220147877A1 (en) | System and method for automatic building of learning machines using learning machines | |
Zhang et al. | Pasca: A graph neural architecture search system under the scalable paradigm | |
CN112308204A (zh) | 使用适应度估计的自动化神经网络生成 | |
CN110770764A (zh) | 超参数的优化方法及装置 | |
CN116316591A (zh) | 基于混合双向门控循环的短期光伏功率预测方法及系统 | |
CN110738362A (zh) | 一种基于改进的多元宇宙算法构建预测模型的方法 | |
Gao et al. | Active sampler: Light-weight accelerator for complex data analytics at scale | |
CN111656365A (zh) | 网络结构搜索的方法及装置、计算机存储介质和计算机程序产品 | |
CN111684471A (zh) | 网络结构搜索的方法及装置、计算机存储介质和计算机程序产品 | |
CN108509179B (zh) | 用于检测人脸的方法、用于生成模型的装置 | |
CN117371320A (zh) | 基于增强灰狼优化算法的光子晶体光纤预测方法及系统 | |
Zhang et al. | Universal value iteration networks: When spatially-invariant is not universal | |
CN116543259A (zh) | 一种深度分类网络噪声标签建模与纠正方法、系统及存储介质 | |
US20220391687A1 (en) | Reinforcement learning algorithm search | |
CN111684472A (zh) | 网络结构搜索的方法及装置、计算机存储介质和计算机程序产品 | |
Luo et al. | Improving data analytics with fast and adaptive regularization | |
US20210142171A1 (en) | Electronic apparatus and method of controlling thereof | |
CN114239826A (zh) | 神经网络剪枝方法、介质及电子设备 | |
CN112106077A (zh) | 网络结构搜索的方法、装置、存储介质和计算机程序产品 | |
CN114255234B (zh) | 对基于眼底图像识别心脑血管风险的模型进行训练的方法及其相关产品 | |
Park et al. | Medical Time-series Prediction With LSTM-MDN-ATTN |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200918 |
|
WD01 | Invention patent application deemed withdrawn after publication |