CN111767983A - 基于熵损失函数的离散化可微分神经网络搜索方法 - Google Patents

基于熵损失函数的离散化可微分神经网络搜索方法 Download PDF

Info

Publication number
CN111767983A
CN111767983A CN202010479378.XA CN202010479378A CN111767983A CN 111767983 A CN111767983 A CN 111767983A CN 202010479378 A CN202010479378 A CN 202010479378A CN 111767983 A CN111767983 A CN 111767983A
Authority
CN
China
Prior art keywords
search
loss function
network
entropy
discretization
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
CN202010479378.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.)
University of Chinese Academy of Sciences
Original Assignee
University of Chinese Academy of Sciences
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 Chinese Academy of Sciences filed Critical University of Chinese Academy of Sciences
Priority to CN202010479378.XA priority Critical patent/CN111767983A/zh
Publication of CN111767983A publication Critical patent/CN111767983A/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • 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)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于熵损失函数的离散化可微分神经网络搜索方法,该方法根据系统熵最小化驱动系统元素(权重)稀疏性和离散化的特性,将新的损失项基于熵函数,设计成适用于不同目标网络结构配置的约束损失项来缩小离散化误差。本发明公开的基于熵损失函数的离散化可微分神经网络搜索方法,一次搜索得到离散化友好的目标网络结构,极大降低了现有搜索算法存在的离散化精度损失;可以通过修改基于熵函数的结构约束损失函数的参数来适用于搜索任意配置的网络结构。

Description

基于熵损失函数的离散化可微分神经网络搜索方法
技术领域
本发明属于自动机器学习的神经网络结构搜索领域,具体涉及一种基于熵损失函数的离散化可微分神经网络搜索方法,用于消除基于权值共享的一次性可微分神经网络搜索方法中的离散化误差。
背景技术
网络结构搜索(NAS)旨在一个没有被人类专业知识很好覆盖的超大空间中自动搜索神经网络。为了减轻基于强化学习和进化算法单独评估采样的网络结构的计算负担,研究人员提出了一种一次性搜索方法,首先优化包含所有可能体系结构的超级网络,然后从中抽取子网络进行评估。这种方法通过共享权值机制,使NAS加速了3~4个数量级。
一次搜索的一个典型例子是可微神经结构搜索(DARTS),它将超级网络定义为可微的一组网络结构参数(如操作和连接)相关的集合,以便可以端到端的方式优化整个神经网络搜索过程。DARTS不需要一个明确的过程来评估每个子网络,而是执行一个独立的离散化过程来确定最佳的子网络结构,在此基础上进行重新训练。这样一种高效的搜索策略不需要随着搜索空间的增大而急剧增加搜索成本,与其他NAS方法相比,搜索空间可以大得多。
尽管DARTS具有效率优势,但在优化的超级网络和采样的子网络之间依然存在差距。例如,单元数量之间的差异可以导致“深度间隙”,并且通过减小间隙,搜索性能在很大程度上是稳定的。
此外,更重要的是,在离散化过程中,DARTS将候选操作及边与加权和(权重是可学习的)结合起来,并保留固定数量的具有强权重的候选,而丢弃其他候选,然而,不能保证丢弃的权重相对较小。这种离散化过程会在每个单元结构中引入显著的不精确性,此种不精确的累积最终导致一个优化良好的超级网络不一定产生高质量的子网络,特别是当被丢弃的候选仍然具有中等权重时,和/或与超级网络相比,修剪边的数目相对较少。离散化导致超级网络的精度急剧下降,也损害了搜索结构在再训练阶段的性能。
因此,有必要提供一种可微分神经网络搜索方法,以降低上述算法中存在的离散化精度损失。
发明内容
为了克服上述问题,本发明人进行了锐意研究,设计出一种基于熵损失函数的离散化可微分神经网络搜索方法,该方法根据系统熵最小化驱动系统元素(权重)稀疏性和离散化的特性,在损失函数中引入一个基于熵函数的结构约束项,设计出适用于不同目标网络结构配置的约束损失项来缩小离散化误差,将超网络朝着期望的拓扑结构配置优化,在很大程度上减轻了离散化超网络带来的精度损失,从而完成了本发明。
具体来说,本发明的目的在于提供以下方面:
第一方面,提供一种基于熵损失函数的离散化可微分神经网络搜索方法,所述方法包括以下步骤:
步骤1,构建搜索空间;
步骤2,配置搜索阶段的搜索策略;
步骤3,进行搜索训练,获得目标网络。
第二方面,提供一种计算机可读存储介质,所述存储介质存储有可微分神经网络搜索程序,所述程序被处理器执行时,使得处理器执行上述基于熵损失函数的离散化可微分神经网络搜索方法的步骤。
第三方面,提供一种计算机设备,包括存储器和处理器,所述存储器存储有可微分神经网络搜索程序,所述程序被处理器执行时,使得处理器执行上述基于熵损失函数的离散化可微分神经网络搜索方法的步骤。
本发明所具有的有益效果包括:
(1)本发明提供的基于熵损失函数的离散化可微分神经网络搜索方法,是一种自动搜索基于权值共享机制的单元结构堆叠的网络结构的方法,一次搜索得到离散化友好的目标网络结构,极大降低了现有搜索算法存在的离散化精度损失;
(2)本发明提供的基于熵损失函数的离散化可微分神经网络搜索方法,可以通过修改基于熵函数的结构约束损失函数的参数来适用于搜索任意配置的网络结构,特别是在以前没有研究过的不平衡目标网络配置情况下效果显著。
附图说明
图1示出本发明一种优选实施方式的方法与DARTS方法相比,利用边权重和基于熵函数的结构约束损失来消除离散化误差的过程图;图2示出本发明在不同的配置下与DARTS在方法原理、离散化精度误差方面的比较图;图3示出本发明一种优选实施方式的最优解证明结果图;图4示出本发明一种优选实施方式的基于熵损失函数的离散化可微分神经网络搜索方法的实现流程图;图5示出本发明一种优选实施方式的基于熵损失函数的搜索目标损失函数中约束控制因子函数的5种备选函数类型;图6示出实施例1中方法DA2S在CIFAR10上一个标准单元的操作权重α在搜索过程中的变化曲线;图7示出实施例1中方法DA2S在CIFAR10上结点3/4/5所连的边的权重β在搜索过程中的变化曲线;图8示出实施例1中方法DA2S在CIFAR10上搜索到的标准单元的结构;图9示出实施例1中方法DA2S在CIFAR10上搜索到的下降单元的结构;图10示出实验例1中方法DARTS在CIFAR10上标准单元里的操作权重的softmax值在搜索过程中的变化曲线;图11示出实验例1中方法DARTS在CIFAR10上下降单元里的操作权重的softmax值在搜索过程中的变化曲线;图12示出实验例1中方法DARTS在CIFAR10上配置为14条边选3条时,搜索出来的网络结构;图13示出实验例1中方法DA2S在CIFAR10上配置为14条边选3条时,搜索出来的网络结构;图14示出实验例1中方法DARTS在CIFAR10上配置为14条边选4条时,搜索出来的网络结构;图15示出实验例1中方法DA2S在CIFAR10上配置为14条边选4条时,搜索出来的网络结构;图16示出实验例1中方法DARTS在CIFAR10上配置为14条边选5条时,搜索出来的网络结构;图17示出实验例1中方法DA2S在CIFAR10上配置为14条边选5条时,搜索出来的网络结构;图18示出实验例1中方法DARTS在CIFAR10上配置为14条边选6条时,搜索出来的网络结构;图19示出实验例1中方法DA2S在CIFAR10上配置为14条边选6条时,搜索出来的网络结构。
具体实施方式
下面通过优选实施方式和实施例对本发明进一步详细说明。通过这些说明,本发明的特点和优点将变得更为清楚明确。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本发明提供了一种基于熵损失函数的离散化可微分神经网络搜索方法,所述方法包括以下步骤:
步骤1,构建搜索空间;
步骤2,配置搜索阶段的搜索策略;
步骤3,进行搜索训练,获得目标网络。
以下进一步详细描述本发明所述方法:
步骤1,构建搜索空间。
其中,搜索空间指的是网络结构搜索中结构的候选集合。
网络结构根据不同的尺度,可以分为网络、单元和节点。网络指的是整个网络拓扑结构;不同数量的单元通过线形堆叠,组成了不同的网络结构;单元为节点之间的全连接拓扑图。节点主要分为输入节点、输出节点以及中间节点,每一个节点存储了神经网络中间特征图,其中节点之间的连线为具体的操作。神经网络搜索主要是确定两个节点之间需要进行哪一种操作。
根据本发明一种优选的实施方式,所述构建的搜索空间为基于单元的超网络搜索空间,记为O,其中的每个元素为一个固定的操作,记为o(*)。
在进一步优选的实施方式中,所述超网络由8个单元结构堆叠构成,包含6个常规单元(normal cell)和2个缩减单元(reduction cell);
每个单元的初始通道数均为16,包含6个节点,节点连接的备选操作包括7个。
优选地,所述操作为3x3和5x5的空洞可分离卷积,3x3和5x5的可分离卷积,3x3平均池化,3x3最大值池化和跨层连接。
其中,在每一个单元内部,搜索的目的是为每一对节点确定一个操作。
在本发明中,如图1所示,记(i,j)为一对节点,其中,0≤i≤j≤N-1,N为每个节点保留的输入边数;
根据本发明一种优选的实施方式,在每个单元内部,不同操作的输出采用下式(一)获得:
Figure BDA0002516797380000061
其中,fi,j(zi)表示i节点到j节点的输出特征;zi表示第i个节点;
Figure BDA0002516797380000062
表示边(i,j)的操作o(*)上的结构权重,
Figure BDA0002516797380000063
其中,α为对每个操作赋予的结构参数,即操作权重。
在进一步优选的实施方式中,在每个单元内部,节点的输出采用下式(二)获得:
zj=∑i<jbi,j·fi,j(zi) (二)
其中,Zj表示第j个节点,
Figure BDA0002516797380000064
β表示对每条连接节点的边赋予的结构参数,即边权重;bi,j表示边权重经过softmax操作后的值。
在本发明中,优选为每条连接节点的边赋予结构参数β,增加了一个结构约束项,即同时考虑操作的重要性和每条边的重要性,有利于搜索过程结束后离散化得到目标网络结构时,能直接得到更可靠的结构,进一步缩小可微分神经网络算法的离散化误差。
在更进一步优选的实施方式中,所述搜索空间的整个单元的输出联结之前所有节点的输出,为concat(z2,z3,…,zN-1)。
其中,前两个节点z0和z1是整个单元的输入,在搜索过程中固定不变。
步骤2,配置搜索阶段的搜索策略。
其中,步骤2包括以下子步骤:
步骤2-1,如图2所示,根据待搜索得到的网络结构配置,设置搜索条件。
在本发明中,所述待搜索得到的网络结构配置为{(m,n)i,i=0,1,2,……,5},其中(m,n)i表示第i个节点有m个输入边,每条边保留n个操作。
根据本发明一种优选的实施方式,所述设置搜索条件包括构建熵损失函数,以直接搜索得到相应的网络,减少离散化误差。
其中,所述熵损失函数包括边的熵损失函数和操作的熵损失函数。
本发明人发现,根据系统熵最小化驱动系统元素(权重)稀疏性和离散化的特性,将新的损失项构造成熵函数,能够在搜索过程中将超网络的结构逐步向所需的配置优化。
熵的目标是强制每个结构权重的softmax值接近0或1,1的个数由所需的配置决定,因此通过移除权重接近0的候选,离散化过程不会导致显著的精度损失。
此外,由于熵函数和结构参数均可微,可以自由地插入系统中进行随机梯度下降(SGD)优化。因此,本发明中优选构建边和操作的熵损失函数。
在进一步优选的实施方式中,边的熵损失函数如下式(三)所示:
Figure BDA0002516797380000081
操作的熵损失函数(默认只选一个操作)如下式(四)所示:
Figure BDA0002516797380000082
其中,i、j为节点序号;N为每个节点保留的输入边数;B={βi,j|i<j,βi,j>0},且βi,j≤1。
在更进一步优选的实施方式中,边的熵损失函数中,设置熵最小值点为bi,j之中存在N个值为1/N,其余为0。
其中,
Figure BDA0002516797380000083
在本发明中,优选设置熵最小值点为bi,j之中存在N个值为1/N,其余为0,由此得到的结构权重使得需要保留的边和丢弃的边的权重差异最大,进而可靠地减少了结构离散化误差。
优选地,操作的熵损失函数中,设置熵最小值点为ai,j中有一个为1,其余为0,即边的熵损失函数中N=1的情形。
在本发明中,由于增加了熵函数损失项,可以通过修改基于熵函数的结构约束损失函数的参数来适用于搜索任意配置的网络结构,尤其是在非均衡配置的网络结构搜索方面。
具体地,本发明采用两种方法对上述熵约束函数的最优解(即熵最小值点)进行了如下证明:
第一种,首先,明确权重是经过softmax操作之后的值,即node_i与node_j之间的权重为
Figure BDA0002516797380000084
以node_m为例,node_m共有m条edges,目标是从中选择N=n条,m条edges对应β0,m1,m,…,βm-1,m。此时,可以证明node_m的m条edges中,任意一条edge的权重的最大值为1/n,且此时n个β取值为1,其余取很小的值(softmax之后权重为0)。
假设其中有o个β的值取非1,从小到大记为β12,…,βo,p个值取1,则有β12+…+βo=n-p,而且o>=2,否则加和不为n,且o>n-p。
假设β12,…,βo中有o1个小于
Figure BDA0002516797380000091
o2个大于
Figure BDA0002516797380000092
且与其平均值
Figure BDA0002516797380000093
分别相差Δ1,Δ2,…,Δo1,Δ(o1+1),…,Δ(o1+o2),则有Δ1+Δ2+…+Δo1=Δ(o1+1)+Δ(o1+2)+…+Δ(o1+o2),那么有:
Figure BDA0002516797380000094
最后≥成立的原因是exp的梯度是递增的,即上升的速度越来越快,Δ(o1+1)+Δ(o1+2)+…+Δ(o1+o2)相对于
Figure BDA0002516797380000095
上升的值显然大于Δ1+Δ2+…+Δo1相对于
Figure BDA0002516797380000096
减小的值。
Figure BDA0002516797380000097
Figure BDA0002516797380000098
在o>=2时,该值恒大于0(o>n-p),即单调递增,那么f(o)的最小值即为
Figure BDA0002516797380000099
易知f(2)≥(n-p)×e,即:
Figure BDA00025167973800000910
即对于softmax式子的分母:∑i≤m exp{βi},不存在比n个值为1更小的β组合方式,也就是说
Figure BDA0002516797380000101
以上证明node_m的每个输入edge的权重最大为
Figure BDA0002516797380000102
如图3所示(其中,蓝色的曲线代表熵函数图像,红色的直线代表过原点与(1/n,ent(1/n))的直线)。
以下证明最优解即熵最小值点是有n个权重为
Figure BDA0002516797380000103
其余权重为0的情况:
现约定
Figure BDA0002516797380000104
表示node_j到node_m的权重,
Figure BDA0002516797380000105
即ent(soft(βj))表示node_j到node_m的权重的熵值。
最优解如若不是n个权重为
Figure BDA0002516797380000106
那么假设有k个权重不是
Figure BDA0002516797380000107
并分别记这些值为soft(β1),soft(β2),…,soft(βk),q个值为
Figure BDA0002516797380000108
那么有
Figure BDA0002516797380000109
首先假设原点到各点(soft(β1),ent(soft(β1))),(soft(β2),ent(soft(β2))),…,(soft(βk),ent(soft(βk)))的斜率分别为l1,l2,…,lk,原点与权重为
Figure BDA00025167973800001010
的点连成的线的斜率为ln。那么有:
Figure BDA00025167973800001011
Figure BDA00025167973800001012
这意味着其他的组合会使熵值变大,即不存在其他的权重组合使其熵值更小。
第二种证明:
由于βi,j≤1,以及
Figure BDA0002516797380000111
所以|B|=N,|B|表示B中元素的个数。假设|B|=k,得到k=N。对于任意βi,j>0,
Figure BDA0002516797380000112
表示节点i和节点j之间的权重,则有:
Figure BDA0002516797380000113
说明边权重的最大值为
Figure BDA0002516797380000114
如果|B|=N,则熵等于
Figure BDA0002516797380000115
则:
Figure BDA0002516797380000116
则最优解的结论得以证明。
步骤2-2,根据训练数据集,选择控制因子类型,确定搜索策略。
根据本发明一种优选的实施方式,所述搜索策略通过下式(五)获得:
L(θ,α,β)=LC(α,θ)+λcαLO(α)+λβLE(β)) (五)
其中,LC(α,θ)为分类损失函数;LO(α)为操作的熵损失函数;LE(β)为边的熵损失函数;λc,λα,λβ是正则化控制因子,分别控制分类损失项、操作离散化损失项和边离散化损失项;为分类损失函数,θ,α,β分别为网络权值、操作权重和边权重;LO(α)和LE(β)分别为操作的熵损失函数和边的熵损失函数。
具体地,
Figure BDA0002516797380000121
其中,
Figure BDA0002516797380000122
表示一个批次的训练样本和其分类标签。
Figure BDA0002516797380000123
Figure BDA0002516797380000124
Figure BDA0002516797380000125
Figure BDA0002516797380000126
B={βi,j|i<j,βi,j>0}。
在本发明中,通过熵损失函数的控制使得在优化过程中需要保留的结构和需要丢弃的结构的权重差别变大,使得离散化结构时精度损失更小,从而得到更优的目标网络结构。
优选地,如图4所示,每条边选取一个操作,每个节点保留两条边,即操作的熵约束损失项为:
Figure BDA0002516797380000127
其中,
Figure BDA0002516797380000128
边的熵约束损失项为:
Figure BDA0002516797380000129
其中,
Figure BDA0002516797380000131
本发明人研究发现,不同损失项之间的优化优先级随着迭代次数的不同而不同,而且之间的强弱关系也在变化,因此,优选在搜索阶段的损失函数中加入控制因子,以获得搜索阶段的搜索策略(最终的损失函数),有利于调整搜索阶段不同优化项之间的影响,从而收敛到更优的局部极值处。
在进一步优选的实施方式中,所述正则化控制因子选自常数函数、对数函数、阶梯函数、线性函数和指数函数中的一种或多种,如图5所示。
其中,λc,λα,λβ选择的函数类型根据数据集的不同,目标网络结构的配置不同具体设置。
在本发明中,优选根据数据集特点选择控制因子的函数类型,例如:通过贪心算法,在选定的数据集上遍历图5所示的5种函数类型,根据实验性能确定函数类型(即选择误差最小的函数)。
步骤3,进行搜索训练,获得目标网络。
其中,步骤3包括以下子步骤:
步骤3-1,划分训练数据集。
根据本发明一种优选的实施方式,将训练数据集等分为两份,一份用来优化更新结构参数(如α、β),另一份用来优化更新网络参数(如网络权值θ、控制因子函数类型)。
其中,更新结构参数的时候网络参数不更新,更新网络参数的时候结构参数不更新,两部分参数交替更新。
步骤3-2,优化网络结构参数。
在本发明中,所述网络结构参数的优化包括对目标网络结构配置的优化和对控制因子函数类型的优化。
优选地,采用式(五)优化网络结构参数。
具体地,利用反向传播算法获得损失函数梯度,并对损失函数进行最小化优化,可以采用现有技术中常用的方法进行,如随机梯度下降法。
例如,所述网络结构参数的优化包括每条边保留多少操作,一个节点保留几条边等,以及根据不同的数据集,确定不同的控制因子函数类型等。
优选地,在网络离散化之前采用式(五)更新网络参数。
步骤3-3,对网络进行离散化,获得目标网络。
其中,当损失函数收敛时,搜索训练结束,进而获得各网络结构参数的值,根据结构参数进行剪枝(离散化),即:移除结构权重的softmax值接近0的候选,获得目标网络。
根据本发明一种优选的实施方式,在搜索训练获得目标网络后,还包括步骤4,重新训练网络参数,以获得网络模型。
在进一步优选的实施方式中,所述重新训练可以在同一数据集内训练,也可以迁移到不同的数据集训练。
在更进一步优选的实施方式中,所述重新训练的过程中,采用的损失函数为分类损失函数LC(α,θ)。
其中,经过搜索训练获得的目标神经网络,可以直接应用于其他任务中。在训练过程中,训练优化的损失函数仅包括分类损失函数,不包括结构参数的相关损失函数。
本发明所述的基于熵损失函数的离散化可微分神经网络搜索方法,在损失函数中引入了一个基于熵函数的结构约束项,促进了搜索过程中超网络的结构向所需配置优化。在每个搜索过程结束时,离散化过程导致的精度下降较低,且在任何配置下搜索结构的稳定性均较高,随着配置的不平衡性越来越大,所述搜索方法的优势也越来越明显。
本发明还提供了一种计算机可读存储介质,存储有可微分神经网络搜索程序,所述程序被处理器执行时,使得处理器执行所述基于熵损失函数的离散化可微分神经网络搜索方法的步骤。
本发明中所述的基于熵损失函数的离散化可微分神经网络搜索方法可借助软件加必需的通用硬件平台的方式来实现,所述软件存储在计算机可读存储介质(包括ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机、计算机、服务器、网络设备等)执行本发明所述方法。
本发明还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有可微分神经网络搜索程序,所述程序被处理器执行时,使得处理器执行所述基于熵损失函数的离散化可微分神经网络搜索方法的步骤。
实施例
以下通过具体实例进一步描述本发明,不过这些实例仅仅是范例性的,并不对本发明的保护范围构成任何限制。
实施例1
1、数据库:
常用的CIFAR10和ImageNet数据集用于评估本发明所述的网络架构搜索方法。其中,CIFAR10由6万个图像组成,其空间分辨率为32×32。这些图像平均分布在10个类别,有5万张训练图像和10万张测试图像;ImageNet包含1000个类别,包括130万个高分辨率训练图像和5万个验证图像。这些图像在整个类中是均匀分布的。
根据常用的设置,采用移动设置,在测试阶段,输入图像大小固定为224×224,在CIFAR10上搜索结构之后迁移到ImageNet数据集上。
2、对本发明和现有技术中多种搜索方法在CIFAR10数据集上搜索到的网络结构的分类误差进行对比,结果如表1所示:
表1
Figure BDA0002516797380000161
其中,如表1中所示,现有的神经网络搜索技术包括基于强化学习(RL)的技术,例如NASNet-A等;基于进化算法(evolution)的技术,例如AmoebaNet-B等;基于序列模型(SMBO)的优化技术,例如PNAS等;以及本文中使用到的基于梯度(gradient-based)的技术。
由表1可知,本发明所述方法在CIFAR10上的搜索网络结构表现良好,分别取得2.42%和2.51%的最佳和平均错误率,在单卡型号为NVIDIA GTX-1080Ti上搜索代价为0.3GPU天。
进一步地,在CIFAR10数据集上不同的分类控制因子(函数类型)配置下的分类误差对比如表2所示:
表2
函数类型 Baseline Const Log Exp Step Linear
分类误差 2.76±0.09 2.64±0.14 2.56±0.06 2.78±0.11 2.60±0.07 2.54±0.02
在CIFAR10数据集上取linear函数类型的分类控制因子之后,对操作控制因子和边控制因子分别固定之后的不同配置下分类误差进行对比,其中λα=λ1,λβ=4λ2,结果如表3所示。
表3
Figure BDA0002516797380000171
由表2和表3可知,在分类控制函数取线性函数,边控制函数为常数,操作控制函数为Log函数时搜索得到的结果较优。
更进一步地,本发明所述搜索方法(DA2S)在CIFAR10上一个标准单元的操作权重α在搜索过程中的变化曲线如图6所示;
本发明所述搜索方法(DA2S)在CIFAR10上结点3/4/5所连的边的权重β在搜索过程中的变化曲线如图7所示,由图7可知,本发明所述方法可以看出要保留的边的权重相等且加和为1;
本发明所述搜索方法(DA2S)在CIFAR10上搜索到的标准单元的结构如图8所示;
本发明所述搜索方法(DA2S)在CIFAR10上搜索到的下降单元的结构如图9所示。
实验例
实验例1
在不同目标网络配置下,将现有技术的DARTS与本发明所述的搜索方法(DA2S)搜索结果进行比对,结果如表4所示。
表4
Figure BDA0002516797380000181
由表4可以看出,在不同的配置下,DARTS在离散化过程中都有极大的精度损失,而本发明所述的搜索方法精度损失有极大的改善,从[77.75-78.00]下降到[0.21-21.29]。
进一步地,图10示出了方法DARTS在CIFAR10上标准单元里的操作权重的softmax值在搜索过程中的变化曲线;图11示出了方法DARTS在CIFAR10上下降单元里的操作权重的softmax值在搜索过程中的变化曲线;图12示出方法DARTS在CIFAR10上配置为14条边选3条时,搜索出来的网络结构;图13示出方法DA2S在CIFAR10上配置为14条边选3条时,搜索出来的网络结构;图14示出方法DARTS在CIFAR10上配置为14条边选4条时,搜索出来的网络结构;图15示出方法DA2S在CIFAR10上配置为14条边选4条时,搜索出来的网络结构;图16示出方法DARTS在CIFAR10上配置为14条边选5条时,搜索出来的网络结构;图17示出方法DA2S在CIFAR10上配置为14条边选5条时,搜索出来的网络结构;图18示出方法DARTS在CIFAR10上配置为14条边选6条时,搜索出来的网络结构;图19示出方法DA2S在CIFAR10上配置为14条边选6条时,搜索出来的网络结构。
实验例2
使用大规模的ImageNet来测试本发明所述方法在CIFAR10上搜索的单元的可迁移性,如图8和9所示。
采用与DARTS相同的配置,即整个网络由14个单元堆叠而成,初始通道数为48。在8台Tesla V100 GPU上对网络设置batchsize为1024,从头开始训250个epochs。SGD优化器用于优化网络参数,初始学习率为0.5(每个epoch后线性衰减),动量为0.9,权值衰减为3×10-5。其他增强包括标签平滑和辅助损失在训练期间使用,并且在前5个epochs应用学习率预热。
在Imagenet数据集上,将本发明所述方法与移动设置下的最新方法(FLOPs不超过600M)进行了比较,搜索到的网络结构的分类误差对比如表5所示。
表5
Figure BDA0002516797380000191
Figure BDA0002516797380000201
由表5可以看出,本发明所述的搜索方法DA2S的性能优于直接基线DARTS,显著提高了2.3%(错误率分别为24.4%和26.7%)。当在CIFAR10上搜索网络架构并将其迁移到ImageNet时,DA2S还可以在最近发表的一些工作(包括P-DARTS、PC-DARTS和BeyesNAS)中保持竞争性的性能。这进一步验证了本发明DA2S在缓解可微体系结构搜索框架中的离散化差距方面的优越性。
以上结合具体实施方式和范例性实例对本发明进行了详细说明,不过这些说明并不能理解为对本发明的限制。本领域技术人员理解,在不偏离本发明精神和范围的情况下,可以对本发明技术方案及其实施方式进行多种等价替换、修饰或改进,这些均落入本发明的范围内。

Claims (10)

1.一种基于熵损失函数的离散化可微分神经网络搜索方法,其特征在于,所述方法包括以下步骤:
步骤1,构建搜索空间;
步骤2,配置搜索阶段的搜索策略;
步骤3,进行搜索训练,获得目标网络。
2.根据权利要求1所述的搜索方法,其特征在于,步骤1中,所述构建的搜索空间为基于单元的超网络搜索空间,记为O,其中的每个元素为一个固定的操作,记为o(*)。
3.根据权利要求2所述的搜索方法,其特征在于,在每个单元内部,不同边的输出采用下式获得:
Figure FDA0002516797370000011
其中,fi,j(zi)表示i节点到j节点的输出特征;zi表示第i个节点;
Figure FDA0002516797370000012
表示边(i,j)的操作o(*)上的结构权重;
Figure FDA0002516797370000013
α为对每个操作赋予的结构参数,即操作权重;
节点的输出采用下式获得:
zj=∑i<jbi,j·fi,j(zi)
Zj表示第j个节点,
Figure FDA0002516797370000014
β表示对每条连接节点的边赋予的结构参数,即边权重;bi,j表示边权重经过softmax操作后的值。
4.根据权利要求1所述的搜索方法,其特征在于,步骤2包括以下子步骤:
步骤2-1,根据待搜索得到的网络结构配置,设置搜索条件;
步骤2-2,根据训练数据集,选择控制因子类型,确定搜索策略。
5.根据权利要求4所述的搜索方法,其特征在于,步骤2-1中,所述设置搜索条件包括构建熵损失函数,
所述熵损失函数包括边的熵损失函数和操作的熵损失函数,
其中,边的熵损失函数如下式所示:
Figure FDA0002516797370000021
i、j为节点序号;N为每个节点保留的输入边数;B={βi,j|i<j,βi,j>0},且βi,j≤1。
6.根据权利要求5所述的搜索方法,其特征在于,设置熵最小值点为bi,j之中存在N个值为1/N,其余为0。
7.根据权利要求4所述的搜索方法,其特征在于,步骤2-2中,所述搜索策略通过下式获得:
L(θ,α,β)=LC(α,θ)+λcαLo(α)+λβLE(β))
其中,λc,λα,λβ是正则化控制因子,分别控制分类损失项、操作离散化损失项和边离散化损失项;LC(α,θ)为分类损失函数,θ,α,β分别为网络权值、操作权重和边权重;LO(α)和LE(β)分别为操作的熵损失函数和边的熵损失函数。
8.根据权利要求1所述的搜索方法,其特征在于,步骤3包括以下子步骤:
步骤3-1,划分训练数据集;
步骤3-2,优化网络结构参数;
步骤3-3,对网络进行离散化,获得目标网络。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有可微分神经网络搜索程序,所述程序被处理器执行时,使得处理器执行权利要求1至8之一所述基于熵损失函数的离散化可微分神经网络搜索方法的步骤。
10.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有可微分神经网络搜索程序,所述程序被处理器执行时,使得处理器执行权利要求1至8之一所述基于熵损失函数的离散化可微分神经网络搜索方法的步骤。
CN202010479378.XA 2020-05-29 2020-05-29 基于熵损失函数的离散化可微分神经网络搜索方法 Pending CN111767983A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010479378.XA CN111767983A (zh) 2020-05-29 2020-05-29 基于熵损失函数的离散化可微分神经网络搜索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010479378.XA CN111767983A (zh) 2020-05-29 2020-05-29 基于熵损失函数的离散化可微分神经网络搜索方法

Publications (1)

Publication Number Publication Date
CN111767983A true CN111767983A (zh) 2020-10-13

Family

ID=72719769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010479378.XA Pending CN111767983A (zh) 2020-05-29 2020-05-29 基于熵损失函数的离散化可微分神经网络搜索方法

Country Status (1)

Country Link
CN (1) CN111767983A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112801264A (zh) * 2020-11-13 2021-05-14 中国科学院计算技术研究所 一种动态可微分的空间架构搜索方法与系统
CN113255892A (zh) * 2021-06-01 2021-08-13 上海交通大学烟台信息技术研究院 一种解耦合的网络结构搜索方法、设备及可读存储介质
CN113762469A (zh) * 2021-08-13 2021-12-07 北京航空航天大学 神经网络结构搜索方法及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112801264A (zh) * 2020-11-13 2021-05-14 中国科学院计算技术研究所 一种动态可微分的空间架构搜索方法与系统
CN112801264B (zh) * 2020-11-13 2023-06-13 中国科学院计算技术研究所 一种动态可微分的空间架构搜索方法与系统
CN113255892A (zh) * 2021-06-01 2021-08-13 上海交通大学烟台信息技术研究院 一种解耦合的网络结构搜索方法、设备及可读存储介质
CN113255892B (zh) * 2021-06-01 2023-09-05 上海交通大学烟台信息技术研究院 一种解耦合的网络结构搜索方法、设备及可读存储介质
CN113762469A (zh) * 2021-08-13 2021-12-07 北京航空航天大学 神经网络结构搜索方法及系统
CN113762469B (zh) * 2021-08-13 2024-05-03 北京航空航天大学 神经网络结构搜索方法及系统

Similar Documents

Publication Publication Date Title
CN111767983A (zh) 基于熵损失函数的离散化可微分神经网络搜索方法
CN114037844B (zh) 基于滤波器特征图的全局秩感知神经网络模型压缩方法
CN111325338B (zh) 神经网络结构评价模型构建和神经网络结构搜索方法
CN113076938B (zh) 一种结合嵌入式硬件信息的深度学习目标检测方法
US20210224650A1 (en) Method for differentiable architecture search based on a hierarchical grouping mechanism
CN112381208B (zh) 一种基于神经网络架构搜索的图片分类方法与系统
CN113344174A (zh) 基于概率分布的高效神经网络结构搜索方法
CN116502683A (zh) 一种全流程并行加速脑仿真方法及系统
CN110222824B (zh) 智能算法模型自主生成及进化方法、系统、装置
Yang et al. Resource-aware pareto-optimal automated machine learning platform
Guo et al. Reducing evaluation cost for circuit synthesis using active learning
CN114564787A (zh) 用于目标相关翼型设计的贝叶斯优化方法、装置及存储介质
CN114298290A (zh) 一种基于自监督学习的神经网络编码方法及编码器
Wang et al. Towards efficient convolutional neural networks through low-error filter saliency estimation
CN108875960A (zh) 一种基于梯度下降的时序模糊认知图的学习方法及系统
CN116628136A (zh) 基于声明式推理的协同查询处理方法、系统、电子设备
CN116054144A (zh) 分布式光伏接入的配电网重构方法、系统及存储介质
CN116110630A (zh) Dcs系统中反应堆堆芯热功率测量方法与装置
CN112801264B (zh) 一种动态可微分的空间架构搜索方法与系统
Flaherty et al. Distributed octree data structures and local refinement method for the parallel solution of three-dimensional conservation laws
JP6993250B2 (ja) コンテンツ特徴量抽出装置、方法、及びプログラム
CN113569960A (zh) 基于域适应的小样本图像分类方法及系统
CN113673591B (zh) 一种自调整采样优化的图像分类方法、设备及介质
CN115620807B (zh) 靶点蛋白分子与药物分子之间相互作用强度的预测方法
KR102497543B1 (ko) 머신러닝을 사용한 군 수리부속 수요예측 모델과 실용화 시스템

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