一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于课程学习的共享参数神经架构搜索方法、装置及产品

2022-11-19 10:06:05 来源:中国专利 TAG:


1.本技术实施例涉及深度学习领域,具体而言,涉及一种基于课程学习的共享参数神经架构搜索方法、装置及产品。


背景技术:

2.神经架构搜索是深度学习领域重要的研究方向,用于自动化生成神经网络模型架构。其中,共享参数的神经架构搜索方法时通过共享搜索空间内所有架构的可训练权重参数,避免了对每一个架构参数的重新训练,从而大幅提高搜索效率。
3.目前的共享参数的神经架构搜索方法都忽视了训练数据分布对于架构搜索的影响,简单地将每一个数据样本都同等对待。然而,由于不同的架构对于不同数据样本的拟合能力存在差异,会导致一些性能一般的结构由于在训练前期表现良好而始终占据优势,而另一些具有潜力的架构则无法得到充分训练而难以在验证阶段脱颖而出。因此,如何使具有潜力但暂时效果不佳的架构能够得到充分训练并提高被搜索到的概率,是当前亟待解决的问题。


技术实现要素:

4.本技术实施例在于提供一种基于课程学习的共享参数神经架构搜索方法、装置及产品,旨在解决使具有潜力但暂时效果不佳的架构能够得到充分训练并提高被搜索到的概率问题。
5.本技术实施例第一方面提供一种基于课程学习的共享参数神经架构搜索方法,包括:
6.根据搜索策略对超网络进行采样,得到多个采样子网络,所述多个采样子网络用于评估数据样本的不确定度;
7.向每个采样子网络中输入多组数据样本,得到所述每个采样子网络针对所述多组数据样本而输出的数据样本测量值集合;
8.根据所述每个采样子网络针对所述多组数据样本而输出的多组数据样本测量值集合,计算每组数据样本的不确定度,基于所述不确定度对所述数据样本设置数据权重,进而优化所述超网络并确定最优架构。
9.可选地,在计算得到所述每组数据样本的所述不确定度之后,还包括:
10.根据所述不确定度更新所述超网络的可学习参数,得到更新的可学习参数,以及,根据所述更新的可学习参数更新所述超网络的所述搜索策略,得到更新的搜索策略;
11.将所述更新的可学习参数和所述更新的搜索策略应用于所述超网络,重复执行上述采样、输入、计算不确定度以及更新的步骤直到收敛,得到最优可学习参数;
12.从具有所述最优可学习参数的超网络中,搜索出所述最优架构。
13.可选地,根据所述每个采样子网络针对所述多组数据样本而输出的数据样本测量值集合,计算每组数据样本的所述不确定度,包括:
14.将每组数据样本对应的数据样本测量值集合中,具有相同标签的数据样本测量值取出,作为每组数据样本的分布集合;
15.将所述分布集合假设为一个高斯分布;
16.计算所述多个分布集合对应的多个高斯分布的乘积并进行优化,得到优化后的高斯分布式;
17.对所述优化后的高斯分布式进行计算,得到高斯分布的标准差;
18.将所述每组数据样本的分布集合对应的高斯分布的标准差,作为每组数据样本的不确定度。
19.可选地,根据所述不确定度更新所述超网络的可学习参数,得到更新的可学习参数,包括:
20.对所述每组数据样本的不确定度进行正则化,将每组数据样本的不确定度的正则化结果作为每组数据样本的数据权重;
21.将所述每组数据样本的数据权重加权于所述超网络的损失函数,得到加权的损失函数;
22.根据所述加权的损失函数,计算使所述加权的损失函数取最小值的可学习参数,作为更新的可学习参数。
23.可选地,计算所述多个分布集合对应的多个高斯分布的乘积并进行优化,得到优化后的高斯分布式,具体为:
24.由独立同分布假设,k个高斯分布p(fk(x)|y)的乘积为:
[0025][0026]
根据最大似然准则,进行优化得到:
[0027][0028]
其中,p(fk(x)|y)为所述第k个分布集合对应的高斯分布;k为所述分布集合对应的高斯分布的数目,1≤k≤k;样本x与标签y组成所述一组数据样本。
[0029]
可选地,对所述优化后的高斯分布式进行计算,得到高斯分布的标准差,具体为:
[0030]
对于回归问题的损失函数l(f(x),y)=(y-f(x))2,有回归问题优化式为
[0031][0032]
其中,p(fk(x)|y)为所述第k个分布集合对应的高斯分布;k为所述分布集合对应的高斯分布的数目,1≤k≤k;σ为高斯分布的标准差;l为所述回归问题的损失函数;样本x与标签y组成所述一组数据样本;
[0033]
对所述回归问题优化式求最小值并求导,得到高斯分布的标准差。
[0034]
可选地,对所述优化后的高斯分布式进行计算,得到高斯分布的标准差,具体为:
[0035]
对于分类问题的损失函数l(f(x),y)=-ylogsoftmaxf(x),有分类问题优化式为
[0036]
[0037]
当σ

1时取等号;
[0038]
其中,softmax为归一化指数函数;p(fk(x)|y)为所述第k个分布集合对应的高斯分布;k为所述分布集合对应的高斯分布的数目,1≤k≤k;σ为高斯分布的标准差;l为所述分类问题的损失函数;样本x与标签y组成所述一组数据样本;
[0039]
对所述分类问题优化式求最小值并求导,得到高斯分布的标准差。
[0040]
本技术实施例第二方面提供一种基于课程学习的共享参数神经架构搜索装置,包括:
[0041]
采样模块,用于根据搜索策略对超网络进行采样,得到多个采样子网络,所述多个采样子网络用于评估数据样本的不确定度;
[0042]
测量模块,用于向每个采样子网络中输入多组数据样本,得到所述每个采样子网络针对所述多组数据样本而输出的数据样本测量值集合;
[0043]
不确定度计算模块,用于根据所述每个采样子网络针对所述多组数据样本而输出的多组数据样本测量值集合,计算每组数据样本的不确定度,基于所述不确定度对所述数据样本设置数据权重,进而优化所述超网络并确定最优架构。
[0044]
可选地,在计算得到所述每组数据样本的所述不确定度之后,所述装置还包括:
[0045]
更新模块,用于根据所述不确定度更新所述超网络的可学习参数,得到更新的可学习参数,以及,根据所述更新的可学习参数更新所述超网络的所述搜索策略,得到更新的搜索策略;
[0046]
迭代模块,用于将所述更新的可学习参数和所述更新的搜索策略应用于所述超网络,重复执行上述采样、输入、计算不确定度以及更新的步骤直到收敛,得到最优可学习参数;
[0047]
搜索模块,用于从具有所述最优可学习参数的超网络中,搜索出所述最优架构。
[0048]
其中,所述不确定度计算模块包括:
[0049]
数据分类子模块,用于将每组数据样本对应的数据样本测量值集合中,具有相同标签的数据样本测量值取出,作为每组数据样本的分布集合;
[0050]
转换子模块,用于将所述分布集合假设为一个高斯分布;
[0051]
优化子模块,用于计算所述多个分布集合对应的多个高斯分布的乘积并进行优化,得到优化后的高斯分布式;
[0052]
标准差计算子模块,用于对所述优化后的高斯分布式进行计算,得到高斯分布的标准差;
[0053]
不确定度确认子模块,用于将所述每组数据样本的分布集合对应的高斯分布的标准差,作为每组数据样本的不确定度。
[0054]
其中,所述更新模块包括:
[0055]
正则子模块,用于对所述每组数据样本的不确定度进行正则化,将每组数据样本的不确定度的正则化结果作为每组数据样本的数据权重;
[0056]
加权子模块,用于将所述每组数据样本的数据权重加权于所述超网络的损失函数,得到加权的损失函数;
[0057]
更新子模块,用于根据所述加权的损失函数,计算使所述加权的损失函数取最小值的可学习参数,作为更新的可学习参数。
[0058]
其中,所述标准差计算子模块包括:
[0059]
回归问题计算子单元,用于计算当采用回归问题的损失函数时,计算高斯分布的标准差;
[0060]
分类问题计算子单元,用于计算当采用分类问题的损失函数时,计算高斯分布的标准差。
[0061]
本技术实施例第三方面提供一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现第一方面中任一所述的基于课程学习的共享参数神经架构搜索方法中的步骤。
[0062]
本技术实施例第四方面提供一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现第一方面中任一所述的基于课程学习的共享参数神经架构搜索方法中的步骤。
[0063]
本技术第五方面提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现第一方面中任一所述的基于课程学习的共享参数神经架构搜索方法中的步骤。
[0064]
有益效果:
[0065]
本技术提供一种基于课程学习的共享参数神经架构搜索方法、装置及产品,通过在超网络的训练过程中,搜索多个采样子网络来计算每个数据样本的不确定度,基于所述不确定度对所述数据样本设置数据权重,进而优化所述超网络并确定最优架构。本技术实施例通过动态调节数据样本的数据权重,提高了需要着重学习的数据样本的数据权重,从而使具有潜力但是暂时效果不佳的子网络的架构能够在这些数据权重高的数据样本上进行重点学习,得到充分训练从而提高被搜索到的概率,充分发挥出了数据在神经架构搜索过程中的作用,同时在优化超网络后搜索最优架构,实现了搜索过程中模型和数据的双层优化。
附图说明
[0066]
为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0067]
图1是本技术一实施例提出的基于课程学习的共享参数神经架构搜索方法流程图;
[0068]
图2是本技术一实施例提出的基于课程学习的共享参数神经架构的迭代流程示例图;
[0069]
图3是本技术一实施例提出的基于课程学习的共享参数神经架构搜索装置示意图;
[0070]
图4是本技术一实施例提出的电子设备的示意图。
具体实施方式
[0071]
下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0072]
现有技术的搜索方案为:
[0073]
设a为架构搜索空间,a∈a为候选的子网络架构。在共享参数的神经架构搜索方法中,架构搜索空间构建的超网络为包含搜索空间内所有架构的超网络a,相应的a为a的子网络架构。每个子网络的可训练权重w(a)均来自超网络a的可训练参数w(a)。通过现有技术中的共享参数的神经架构搜索方法获取最优架构a
*
,需按照如下步骤进行:
[0074]a*
=argmaxacc
val
(w
*
(a),a)
[0075]
s.t.w
*
(a)=argminl
train
(w,a)
[0076]
其中,l
train
是训练损失,acc
val
是验证集准确率,a
*
为最优架构,w
*
为最优可学习参数。
[0077]
由上可知,现有技术中共享参数的神经架构搜索方法都忽视了训练数据分布对于架构搜索的影响,简单地将每一个数据样本都同等对待。然而,由于不同的架构对于不同数据样本的拟合能力存在差异,会导致一些性能一般的结构由于在训练前期表现良好而始终占据优势,而另一些具有潜力的架构则无法得到充分训练而难以在验证阶段脱颖而出。
[0078]
有鉴于此,本技术实施例提出一种基于课程学习的共享参数神经架构搜索方法,旨在解决使具有潜力但暂时效果不佳的架构能够得到充分训练并提高被搜索到的概率问题。图1示出了基于课程学习的共享参数神经架构搜索方法流程图,如图1所示,包括如下步骤:
[0079]
s101、根据搜索策略对超网络进行采样,得到多个采样子网络。
[0080]
根据搜索策略对超网络进行采样,得到多个采样子网络,所述多个采样子网络用于评估数据样本的不确定度。
[0081]
本技术实施例中,为实现具有潜力但暂时效果不佳的架构能够得到充分训练,采取对数据样本进行权重的设定,并在训练迭代的过程中动态调整数据样本的权重,使训练迭代过程中值得着重学习的样本权重提升,从而可以用于针对具有潜力但暂时效果不佳的子网络的重点训练,提升其训练效果。而该数据样本的权重的设定是通过计算数据样本的不确定度得到的。
[0082]
s102、向每个采样子网络中输入多组数据样本,得到每个采样子网络针对多组数据样本而输出的数据样本测量值集合。
[0083]
将训练数据集中的数据样本依次输入每个采样子网络进行处理,得到每个采样子网络针对训练数据集中的每组数据样本而输出的数据样本测量值,将每个采样子网络输出的所有数据样本测量值聚类成该采样子网络输出的一个数据样本测量值集合。
[0084]
s103、根据每个采样子网络针对多组数据样本而输出的多组数据样本测量值集合,计算每组数据样本的不确定度。
[0085]
根据所述每个采样子网络针对所述多组数据样本而输出的多组数据样本测量值集合,计算每组数据样本的不确定度,基于所述不确定度对所述数据样本设置数据权重,进而优化所述超网络并确定最优架构。
[0086]
通过数据样本以及数据样本测量值所携带的标签,将所有采样子网络处理输出的
数据样本测量值集合中的数据样本测量值按照不同标签类型分别聚类得到分布集合,求解每个分布集合的不确定度,作为每组数据样本对应的不确定度,基于所述不确定度对所述数据样本设置数据权重,进而优化所述超网络并确定最优架构。
[0087]
s104、根据不确定度更新超网络的可学习参数,得到更新的可学习参数,以及,根据更新的可学习参数更新超网络的搜索策略,得到更新的搜索策略。
[0088]
根据每组数据样本的不确定度确定数据权重,依据数据权重对损失函数进行加权,进而更新可学习参数;以及根据更新的可学习参数更新搜索策略。
[0089]
s105、将更新的可学习参数和更新的搜索策略应用于超网络,重复执行上述采样、输入、计算不确定度以及更新的步骤直到收敛,得到最优可学习参数。
[0090]
s106、从具有最优可学习参数的超网络中,搜索出最优架构。
[0091]
具体执行步骤s101时,要首先将超网络的数据设为初值,便于后续的迭代优化更新。具体而言,对数据样本权重v={1}n、超网络可训练参数w、超网络架构a以及架构的搜索策略π进行初始化。
[0092]
随后进行第一次迭代,由于本技术实施例需要通过评估数据样本的不确定度来确定数据样本权重,因此需要从搜索空间中耦合成超网络的多个子网络中,搜索出k个用于评估数据样本的不确定度的子网络,作为采样子网络。
[0093]
获取采样子网络需要依赖预设的搜索策略π,对超网络架构a的子网络进行搜索,得到k个采样子网络fk(wk,ak):
[0094]
{a}~πk(a)
[0095]
具体的搜索策略可以基于现有技术中的多种神经结构搜索算法,例如:基于强化学习的神经架构搜索方法(如enas等),通过控制器生成k个采样子网络,用于评估不确定度;基于可微方式的神经架构搜索方法(如darts等),通过挑选网络层概率之积最高的k个子网络作为采样子网络,用于评估不确定度;基于进化算法的神经架构搜索方法(如spos等),挑选验证集准确率排名前k的子网络,作为采样子网络,用于评估不确定度。方案实施时具体的搜索策略不只限于上述三种搜索算法,可以采取现有技术中的任一一种神经结构搜索算法,对于该搜索策略的选择可以参见现有技术,本技术在此不做具体的限制。
[0096]
具体执行s102时,在得到用于评估不确定度的k个采样子网络之后,将训练数据集中的多组数据样本(xi,yi)输入每个采样子网络中(其中xi为样本,yi为该样本对应的标签),每个采样子网络对输入的每组数据样本进行处理,得到每个采样子网络针对多组数据样本输出的数据样本测量值集合。
[0097]
例如,假设训练数据集中有3组训练样本(x1,y1)、(x2,y2)、(x3,y3);用于评估不确定度的采样子网络为4个,采样子网络a、采样子网络b、采样子网络c和采样子网络d。则将3组训练样本依次全部输入4个采样子网络中。其中,以训练样本输入采样子网络a中为例,(x1,y1)、(x2,y2)、(x3,y3)输入采样子网络a,经采样子网络a处理后输出对应的数据样本测量值(x1,y
1a
)、(x2,y
2a
)、(x3,y
3a
),这三组数据样本测量值组成采样子网络a针对输入的每组数据样本输出的数据样本测量值结合。采样子网络b、采样子网络c和采样子网络d同理。
[0098]
其中,数据样本以及数据样本测量值中均包含样本对应的标签,该标签表明该组数据样本的属性,用于后续将同种属性的数据样本测量值进行聚类。
[0099]
具体执行s103时,基于上述得到的每个采样子网络针对多组数据样本输出的数据样本测量值集合,根据每个数据样本测量值集合中的数据样本测量值的标签,将所有具有同类型标签的数据样本测量值取出,作为该种类型标签的分布集合。例如,在所有数据样本测量值集合的数据样本测量值中,搜索到具有数据样本(x1,y1)对应的标签y1的数据样本测量值,如(x1,y
1a
)、(x1,y
1b
)、(x1,y
1c
)等,将这些数据样本测量值构成关于标签y1的分布集合。
[0100]
接下来通过贝叶斯概率模型,对数据样本的分布集合进行不确定的评估,具体评估不确定的步骤如下:
[0101]
设采样子网络fk为一个由采样子网络的架构ak和可训练参数wk组成的采样子网络fk(wk,ak),其中1≤k≤k。对于一组数据样本(x,y),其中x为样本,y为该样本对应的标签,则将一组数据样本(x,y)输入一个采样子网络fk(wk,ak),经过该采样子网络输出该数据样本对应的数据样本测量值fk(x),其对应标签为y。
[0102]
随后,如上所述,将经过不同采样子网络处理输出的数据样本测量值集合中,具有相同类型标签的数据样本测量值取出组成一个该类型标签对应的分布集合,如此得到不同标签对应的不同分布集合。
[0103]
将包含有相同类型标签的数据样本测量值的每个分布集合,转换为一个对应的高斯分布:
[0104]
p(f(x)|y)=n(μ,σ)
[0105]
其中,p(f(x)|y)为包含有相同类型标签y的数据样本测量值的一个分布集合,n(μ,σ)为该分布集合转换为的高斯分布,该高斯分布的均值为μ,标准差为σ,将每个分布集合对应的高斯分布的标准差σ作为该分布集合对应的数据样本的不确定度。
[0106]
具体的高斯分布的标准差计算方法如下:
[0107]
由独立同分布假设,k个上述分布集合对应的高斯分布p(fk(x)|y)的乘积为:
[0108][0109]
随后,根据最大似然法则,将上式进行优化,得到优化后的高斯分布式:
[0110][0111]
其中,p(fk(x)|y)为所述第k个分布集合对应的高斯分布;k为所述分布集合对应的高斯分布的数目,1≤k≤k;样本x与标签y组成所述一组数据样本。
[0112]
接下来,根据该超网络处理的问题类型不同,分为两种不同的计算方式确定不确定度。
[0113]
当该超网络用于处理回归问题时,根据高斯分布的性质,对于回归问题的损失函数l(f(x),y)=(y-f(x))2,有回归问题优化式为
[0114][0115]
其中,p(fk(x)|y)为所述第k个分布集合对应的高斯分布;k为所述分布集合对应的高斯分布的数目,1≤k≤k;σ为高斯分布的标准差;l为所述回归问题的损失函数;样本x与标签y组成所述一组数据样本。
[0116]
对该回归问题优化式求最小值并求导,得到高斯分布的标准差,具体为:
[0117][0118][0119]
所得的高斯分布标准差σ即为k个采样子网络评估的不确定度。
[0120]
当该超网络用于处理分类问题时,根据高斯分布的性质,对于分类问题的损失函数l(f(x),y)=-ylogsoftmaxf(x)也存在类似结论,分类问题优化式为
[0121][0122]
其中,[fk(x)]y代表输入向量f(x)中的第y个元素,[fk(x)]y′
代表输出向量中除了第y个元素的其他元素。例如,一个三分类问题的标签范围为0,1,2,假设有一个数据样本x对应第1分类,也就是说他的标签y=1,如果这个数据经过模型的输出向量是一个三元素向量[0.0,0.1,0.2],就代表这个向量里面的第1个元素即0.1,就代表这个向量里面除了第1个元素以外的其他元素,比如第0个或第2个元素。
[0123]
此外,在最终优化的分类问题优化式中为约等于,当σ

1时此处可以取等号。
[0124]
其中,softmax为归一化指数函数;p(fk(x)|y)为所述第k个分布集合对应的高斯分布;k为所述分布集合对应的高斯分布的数目,1≤k≤k;σ为高斯分布的标准差;l为所述分类问题的损失函数;样本x与标签y组成所述一组数据样本;
[0125]
对比分类问题优化式和上述的回归问题优化式,可以发现两个优化式仅相差一个乘数2,因此对分类问题优化式的处理方式同样为求最小值并求导,得到高斯分布的标准差。具体过程可以参见上述回归问题,此处不再重复阐述。
[0126]
经过上述执行过程,在本次迭代过程中,通过k个采样子网络的评估,得到了数据样本对应的不确定度(即转化为高斯分布的标准差)。
[0127]
在具体执行步骤s104时,根据得到的每组训练样本对应的不确定度,赋予每组数据样本一个权重值作为数据样本的数据权重。具体地,为保证该权重不会在训练过程中过大或者过小从而影响训练过程的进行甚至导致训练失败,因此首先对评估的不确定度进行
正则,将正则化的不确定度作为该组数据样本的权重:
[0128][0129]
其中,n为数据样本的总数,v为数据样本权重,σ为不确定度,||
·
||1为一阶正则化。
[0130]
随后基于该数据样本权重,将该数据样本权重v加权于损失函数,从而影响训练过程。具体地,数据样本输入结构为a、可训练参数为w时得到的损失函数值上:
[0131][0132]
其中,l
train
为训练损失,li(w,a)为第i组数据样本输入结构为a、可训练参数为w时得到的损失函数值;v为第i组数据样本的数据样本权重。
[0133]
随后基于本次迭代过程中的数据损失权重得到的训练损失,对本次迭代过程中子网络的可训练参数进行优化,而每个子网络的可训练参数w均来自超网络a的可训练参数w,进而对超网络可训练参数的优化。
[0134]
图2示出了基于课程学习的共享参数神经架构的迭代流程示例图,如图2上半部分内容所示,将三组数据样本分别依次输入预先获取的三个采样子网络中,获得三个采样子网络分别针对三组数据样本而输出的数据样本测量值集合(每个采样子网络对应的同一层的三个数据样本测量值组成的集合),从三组数据样本而输出的数据样本测量值集合中,依据标签类型获取得到三个标签类型的分布集合(数据样本测量值中三个虚线框部分);随后分别将三个分布集合内的数据样本测量值(第一个虚线框内的三个数据样本测量值)分别转换为三个高斯分布(分别由上而下对应第一个高斯分布曲线、第二个高斯分布曲线和第三个高斯分布曲线),再计算得到分别对应的标准差作为不确定度,即为输入的数据样本对应的不确定度(同层对应);最后将对应的不确定度转化为数据权重后,将该数据权重加权于数据样本,得到基于数据权重更新的数据样本(即重加权数据),该更新的数据样本用于下一次迭代过程。
[0135]
此外,基于本次迭代过程中优化的可训练参数w,同时对搜索策略中的验证集进行优化,进而对搜索策略进行了更新,使应用于下一次迭代的搜索策略得到的采样子网络更加合理,进而提升下一次迭代过程的优化效果。
[0136]
至此本技术实施例上述内容对一次迭代过程进行了详细的阐述,接下来具体执行步骤s105,将上一次迭代过程中更新的可学习参数和所述更新的搜索策略应用于超网络,随后再次重复执行上述采样、输入、计算不确定度以及更新的步骤进行迭代,直到收敛,此时优化得到的可学习参数,即为经过数据样本权重的动态调整后的最优可学习参数,该最优可学习参数可以使得具有潜力但暂时效果不佳的子网络的重点训练,提升其训练效果。
[0137]
仍然参照图2,图2下半部分示出了在后续迭代过程中,获取采样子网络的示例。如图2下半部分所示,在上一次迭代获得基于数据权重更新的数据样本(即重加权数据)后,在下一次迭代的一开始输入超网络中,得到基于重加权数据的超网络,基于更新的搜索策略对该超网络进行搜索,得到采样子网络,随后将得到的采样子网络用于本次迭代优化过程,具体迭代过程参见上述内容,此处不再赘述。
[0138]
最后执行步骤s106,使用不断迭代直至收敛时更新的搜索策略,对具有最优可学
习参数的超网络进行搜索,确定最优架构a
*

[0139]a*
=arg max acc
val
(w
*
(a,v),a)
[0140]
s.t.w
*
(a,v)=arg min l
train
(w,a,v)
[0141]
其中,l
train
是训练损失,acc
val
是验证集准确率,a
*
为最优架构,w
*
为最优可学习参数,v为数据样本权重。
[0142]
例如,对于图片分类问题,通过将给定的图片信息输入优化后的共享参数的神经架构中,来预测这张图片对应的标签(例如图片中的主体对象为猫或者图片中的主体对象为狗)。通过本技术实施例提供的基于课程学习的共享参数神经架构搜索方法,共享参数的神经架构在训练过程中会对每一张图片赋予不同的权重,从而搜索出在图片分类问题上表现最优的神经网络架构,将应用在该在图片分类问题上表现最优的神经网络架构,用于处理该图片分类问题,效率和准确率更高。
[0143]
本技术实施例提供了一种基于课程学习的共享参数神经架构搜索方法,通过在超网络的训练过程中,搜索多个采样子网络来计算每个数据样本的不确定度,从而通过不确定度确定不同数据样本的样本权重,优化超网络,进而确定最优架构。本技术实施例通过动态调节数据样本的数据权重,提高了需要着重学习的数据样本的数据权重,从而使具有潜力但是暂时效果不佳的子网络的架构能够在这些数据权重高的数据样本上进行重点学习,得到充分训练从而提高被搜索到的概率,充分发挥出了数据在神经架构搜索过程中的作用,同时在优化超网络后搜索最优架构,实现了搜索过程中模型和数据的双层优化。
[0144]
基于同一发明构思,本技术实施例公开一种基于课程学习的共享参数神经架构搜索装置,图3示出了基于课程学习的共享参数神经架构搜索装置示意图,如图3所示,包括:
[0145]
采样模块,用于根据搜索策略对超网络进行采样,得到多个采样子网络,所述多个采样子网络用于评估数据样本的不确定度;
[0146]
测量模块,用于向每个采样子网络中输入多组数据样本,得到所述每个采样子网络针对所述多组数据样本而输出的数据样本测量值集合;
[0147]
不确定度计算模块,用于根据所述每个采样子网络针对所述多组数据样本而输出的多组数据样本测量值集合,计算每组数据样本的不确定度,基于所述不确定度对所述数据样本设置数据权重,进而优化所述超网络并确定最优架构。
[0148]
可选地,在计算得到所述每组数据样本的所述不确定度之后,所述装置还包括:
[0149]
更新模块,用于根据所述不确定度更新所述超网络的可学习参数,得到更新的可学习参数,以及,根据所述更新的可学习参数更新所述超网络的所述搜索策略,得到更新的搜索策略;
[0150]
迭代模块,用于将所述更新的可学习参数和所述更新的搜索策略应用于所述超网络,重复执行上述采样、输入、计算不确定度以及更新的步骤直到收敛,得到最优可学习参数;
[0151]
搜索模块,用于从具有所述最优可学习参数的超网络中,搜索出所述最优架构。
[0152]
其中,所述不确定度计算模块包括:
[0153]
数据分类子模块,用于将每组数据样本对应的数据样本测量值集合中,具有相同标签的数据样本测量值取出,作为每组数据样本的分布集合;
[0154]
转换子模块,用于将所述分布集合假设为一个高斯分布;
[0155]
优化子模块,用于计算所述多个分布集合对应的多个高斯分布的乘积并进行优化,得到优化后的高斯分布式;
[0156]
标准差计算子模块,用于对所述优化后的高斯分布式进行计算,得到高斯分布的标准差;
[0157]
不确定度确认子模块,用于将所述每组数据样本的分布集合对应的高斯分布的标准差,作为每组数据样本的不确定度。
[0158]
其中,所述更新模块包括:
[0159]
正则子模块,用于对所述每组数据样本的不确定度进行正则化,将每组数据样本的不确定度的正则化结果作为每组数据样本的数据权重;
[0160]
加权子模块,用于将所述每组数据样本的数据权重加权于所述超网络的损失函数,得到加权的损失函数;
[0161]
更新子模块,用于根据所述加权的损失函数,计算使所述加权的损失函数取最小值的可学习参数,作为更新的可学习参数。
[0162]
其中,所述标准差计算子模块包括:
[0163]
回归问题计算子单元,用于计算当采用回归问题的损失函数时,计算高斯分布的标准差;
[0164]
分类问题计算子单元,用于计算当采用分类问题的损失函数时,计算高斯分布的标准差。
[0165]
基于同一发明构思,本技术还提供了一种电子设备,图4示出了本技术实施例提出的电子设备的示意图,如图4所示,电子设备100包括:存储器110和处理器120,存储器110与处理器120之间通过总线通信连接,存储器110中存储有计算机程序,该计算机程序可在处理器120上运行,以实现本技术实施例公开的基于课程学习的共享参数神经架构搜索方法中的步骤。
[0166]
基于同一发明构思,本技术还提供了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现本技术实施例公开的基于课程学习的共享参数神经架构搜索方法中的步骤。
[0167]
基于同一发明构思,本技术还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现本技术实施例公开的基于课程学习的共享参数神经架构搜索方法中的步骤。
[0168]
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0169]
本发明实施例是参照根据本发明实施例的方法、装置、电子设备和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0170]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备
以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0171]
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0172]
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
[0173]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0174]
以上对本发明所提供的一种基于课程学习的共享参数神经架构搜索方法、装置及产品,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献