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

分类模型的训练方法、超参数的搜索方法以及装置与流程

2022-02-24 10:38:04 来源:中国专利 TAG:


1.本技术涉及人工智能领域,并且更具体地,涉及一种分类模型的训练方法、超参数的搜索方法以及装置。


背景技术:

2.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,ai基础理论等。
3.神经网络中通常包含数百万或者更多的可训练的参数权重,这些参数可以通过一系列优化算法进行训练;这些参数中还包含一些需要事先确定的参数,称为超参数(hyper-parameter)。超参数对神经网络的训练效果有着显著的影响,不合适的超参数往往会导致神经网络训练不收敛或者训练效果较差;但是,目前超参数的设定通常依赖人工经验,并且需要多次调整,从而消耗大量人力和计算资源。
4.因此,如何有效的降低训练分类模型所消耗的计算资源成为了亟需解决的技术问题。


技术实现要素:

5.本技术提供一种分类模型的训练方法、超参数的搜索方法以及装置,通过本技术实施例提供的分类模型的训练方法能够在确保分类模型的精度的情况下,降低训练分类模型所消耗的计算资源。
6.进一步,本技术实施例提供的超参数的搜索方法可以能够减少超参数的搜索空间,提高超参数的搜索效率;同时,降低超参数的搜索成本。
7.第一方面,提供了一种分类模型的训练方法,包括:
8.获取待训练分类模型的目标超参数,所述目标超参数用于控制所述待训练分类模型的梯度更新步长,所述待训练分类模型包括缩放不变性线性层,所述缩放不变性线性层使得所述待训练分类模型的权重参数乘以任意缩放系数时输出的预测分类结果保持不变;根据所述目标超参数与目标训练方式对所述待训练分类模型的权重参数进行更新,得到训练后的分类模型,所述目标训练方式使得所述待训练分类模型更新前与更新后的权重参数的模长相同。
9.应理解,当神经网络具有缩放不变性时,其权重参数的步长反比于权重参数模长的平方;其中,缩放不变性是指权重w乘以任意缩放系数,该层的输出y可以保持不变。权重衰减超参数的作用主要是约束参数的模长,从而避免步长随着权重参数的模长的增长而急
剧减小。但是,由于权重衰减是一种隐式的约束,权重参数的模长还是会随着训练过程而变化,导致对于不同的模型来说,最优的权重衰减超参数需要人工调整。在本技术的实施例中,可以通过目标训练方式即显示的固定参数模长,即使得待训练分类模型更新前与更新后的权重参数的模长相同,从而使得权重参数的模长对步长的影响保持常数,实现了权重衰减的效果,同时也不再需要人工调节。由于采用目标训练方式的前提是神经网络需要具备缩放不变性,通常对于大多数神经网络而言,绝大部分层都具有缩放不变性,但是分类模型中的分类层大多都是缩放敏感的;因此,在本技术的实施例中通过采用缩放不变性线性层来替换原有的分类层,从而使得待训练分类模型的各个层具有缩放不变性。
10.在本技术的实施例中,通过将待训练分类模型的分类层替换为缩放不变性线性层以及采用了目标训练方式即将待训练分类模型更新前与更新后的权重参数的模长进行固定处理,可以使得在训练待分类模型时将两个重要的超参数即学习率与权重衰减等效替换为目标超参数;因此,在对待训练分类模型进行训练时可以仅需要配置待训练模型的目标超参数,从而能够降低训练待训练分类模型所消耗的计算资源。
11.在一种可能的实现方式中,上述分类模型可以包括任意具有分类功能的神经网络模型;比如,分类模型可以包括但不限于:检测模型、分割模型以及识别模型等。
12.在一种可能的实现方式中,目标超参数可以是指等效学习率,等效学习率在待训练分类模型中的作用可以看作是与学习率的作用相同或者相近,等效学习率用于控制待训练分类模型的梯度更新步长。
13.结合第一方面,在第一方面的某些实现方式中,所述训练后的分类模型的权重参数是根据所述目标超参数和所述目标训练方式通过反向传播算法多次迭代更新得到的。
14.结合第一方面,在第一方面的某些实现方式中,所述缩放不变性线性层根据以下公式得到所述预测分类结果:
[0015][0016]
其中,yi表示第i次迭代更新的权重参数对应的预测分类结果;wi表示所述第i次迭代更新的权重参数;x表示待分类特征;s表示尺度常数。
[0017]
需要说明的是,上述公式为对缩放不变性处理进行举例说明,缩放不变性线性层的目的在于使得权重w乘以任意缩放系数,该层的输出y可以保持不变;换而言之,缩放不变性处理还可以采用其它具体处理方式,本技术对此不作任何限定。
[0018]
结合第一方面,在第一方面的某些实现方式中,所述目标训练方式包括:
[0019]
通过以下公式对所述更新后的权重参数进行处理,使得所述待训练分类模型更新前与更新后的权重参数的模长相同:
[0020][0021]
其中,w
i 1
表示第i 1次迭代更新的权重参数;wi表示第i次迭代更新的权重参数;norm0表示所述待训练分类模型的初始权重模长。
[0022]
第二方面,提供了一种超参数的搜索方法,包括:
[0023]
获取目标超参数的候选值,所述目标超参数用于控制待训练分类模型的梯度更新
步长,所述待训练分类模型包括缩放不变性线性层,所述缩放不变性线性层用于使得所述待训练分类模型的权重参数乘以任意缩放系数时输出的预测分类结果保持不变;
[0024]
根据所述候选值与目标训练方式,得到所述待训练分类模型的性能参数,所述目标训练方式使得所述待训练分类模型更新前与更新后的权重参数的模长相同,所述性能参数包括所述待训练分类模型的精度;
[0025]
根据所述性能参数从所述候选值中确定所述目标超参数的目标值。
[0026]
需要说明的是,在本技术的实施例中通过采用缩放不变性线性层可以替换待训练分类模型中的分类层,从而使得待分类训练模型中的各个层均具有缩放不变性,即缩放不敏感性。
[0027]
应理解,在本技术的实施例中通过采用目标训练方式可以将待训练分类模型中包括的两个重要的超参数即学习率与权重衰减等效替换为目标超参数;由于通过目标训练方式可以使得待训练分类模型更新前与更新后的权重参数的模长相同;因此,在对待训练分类模型的权重参数进行更新时可以仅需要对目标超参数进行搜索从而确定目标超参数的目标值,其中,目标超参数可以是指等效学习率,等效学习率在待训练分类模型中的作用可以看作是与学习率的作用相同或者相近,等效学习率用于控制待训练分类模型的梯度更新步长。
[0028]
在本技术的实施例中,通过在待训练分类模型中采用缩放不变性线性层可以替换待训练分类模型中的分类层,使得待训练分类模型的各个层均具有缩放不变性;进一步,通过采用目标训练方式,使得仅调整一个目标超参数就能够达到正常训练下调整两个超参数(学习率和权重衰减)所能达到的最优精度;即将两个超参数的搜索过程等效替换为一个目标超参数的搜索过程,从而缩减超参数的搜索维度,提高目标超参数的搜索效率;同时,同时,降低超参数的搜索成本。
[0029]
结合第二方面,在第二方面的某些实现方式中,所述目标值对应的所述待训练分类模型的精度大于所述候选值中其它候选值对应的所述待训练分类模型的精度。
[0030]
在本技术的实施例中,目标超参数的目标值可以是指在对待训练分类模型分配目标超参数的各个候选值时,使得待训练分类模型的模型精度达到最优精度对应的候选值。
[0031]
结合第二方面,在第二方面的某些实现方式中,所述获取目标超参数的候选值,包括:
[0032]
根据所述目标超参数的初始搜索范围进行均匀划分,得到所述目标超参数的候选值。
[0033]
在本技术的实施例中目标超参数的候选值可以是根据用户设置的初始搜索范围进行均匀划分,得到的目标超参数的多个候选值。
[0034]
在一种可能的实现方式中,除了上述对初始搜索范围进行均匀划分得到多个候选值外,也可以采用其它方式对初始搜索范围进行划分。
[0035]
结合第二方面,在第二方面的某些实现方式中,还包括:
[0036]
根据当前训练步数、预先配置的训练步数以及所述待训练分类模型的精度的变化趋势更新所述目标超参数的初始搜索范围。
[0037]
在一种可能的实现方式中,根据当前训练步数、预先配置的训练步数以及待训练分类模型的精度的单调性更新目标超参数的初始搜索范围。
[0038]
在本技术的实施例中,为了使得在进行目标超参数搜索时能够快速搜索到目标超参数的目标值即最优目标超参数,则可以根据待训练分类模型的性能参数的单调性对目标超参数的初始搜索范围进行更新,缩减目标超参数的搜索范围,提高目标超参数的搜索效率。
[0039]
结合第二方面,在第二方面的某些实现方式中,所述根据当前训练步数、预先配置的训练步数以及所述待训练分类模型的精度的变化趋势更新所述目标超参数的初始搜索范围,包括:
[0040]
若所述当前训练步数小于所述预先配置的训练步数,则将所述目标超参数的初始搜索范围的上边界更新为所述当前训练步数中所述待训练分类模型的最优精度对应的所述目标超参数的候选值。
[0041]
结合第二方面,在第二方面的某些实现方式中,所述根据当前训练步数、预先配置的训练步数以及所述待训练分类模型的精度的变化趋势更新所述目标超参数的初始搜索范围,包括:
[0042]
若所述当前训练步数等于所述预先配置的训练步数,则将所述目标超参数的初始搜索范围的上边界更新为第一候选值,所述目标超参数的搜索范围的下边界更新为第二候选值,所述第一候选值与所述第二候选值是指与所述待训练分类模型的最优精度对应的所述目标超参数的候选值相邻的候选值。
[0043]
结合第二方面,在第二方面的某些实现方式中,所述缩放不变性线性层根据以下公式得到所述预测分类结果:
[0044][0045]
其中,yi表示第i次迭代更新的权重参数对应的预测分类结果;wi表示所述第i次迭代更新的权重参数;x表示待分类特征;s表示尺度常数。
[0046]
结合第二方面,在第二方面的某些实现方式中,所述目标训练方式包括:
[0047]
通过以下公式对所述更新后的权重参数进行处理,使得所述待训练分类模型更新前与更新后的权重参数的模长相同:
[0048][0049]
其中,w
i 1
表示第i 1次迭代更新的权重参数;wi表示第i次迭代更新的权重参数;norm0表示所述待训练分类模型的初始权重模长。
[0050]
在本技术的实施例中,在待训练分类模型的各个层具有缩放不变性时,通过目标训练方式对待训练分类模型的权重进行迭代更新可以使得更新前与更新后的权重参数的模长相同;即通过目标训练方式可以实现了权重衰减的效果,同时也不再需要人工调节。
[0051]
第三方面,提供了一种分类模型的训练装置,包括:
[0052]
获取单元,用于获取待训练分类模型的目标超参数,所述目标超参数用于控制所述待训练分类模型的梯度更新步长,所述待训练分类模型包括缩放不变性线性层,所述缩放不变性线性层使得所述待训练分类模型的权重参数乘以任意缩放系数时输出的预测分类结果保持不变;处理单元,用于根据所述目标超参数与目标训练方式对所述待训练分类
模型的权重参数进行更新,得到训练后的分类模型,所述目标训练方式使得所述待训练分类模型更新前与更新后的权重参数的模长相同。
[0053]
结合第三方面,在第三方面的某些实现方式中,所述训练后的分类模型的权重参数是根据所述目标超参数和所述目标训练方式通过反向传播算法多次迭代更新得到的。
[0054]
结合第三方面,在第三方面的某些实现方式中,所述缩放不变性线性层根据以下公式得到所述预测分类结果:
[0055][0056]
其中,yi表示第i次迭代更新的权重参数对应的预测分类结果;wi表示所述第i次迭代更新的权重参数;x表示待分类特征;s表示尺度常数。
[0057]
结合第三方面,在第三方面的某些实现方式中,所述目标训练方式包括:
[0058]
通过以下公式对所述更新后的权重参数进行处理,使得所述待训练分类模型更新前与更新后的权重参数的模长相同:
[0059][0060]
其中,w
i 1
表示第i 1次迭代更新的权重参数;wi表示第i次迭代更新的权重参数;norm0表示所述待训练分类模型的初始权重模长。
[0061]
第四方面,提供了一种超参数的搜索装置,包括:
[0062]
获取单元,用于获取目标超参数的候选值,所述目标超参数用于控制待训练分类模型的梯度更新步长,所述待训练分类模型包括缩放不变性线性层,所述缩放不变性线性层使得所述待训练分类模型的权重参数乘以任意缩放系数时输出的预测分类结果保持不变;处理单元,用于根据所述候选值与目标训练方式,得到所述待训练分类模型的性能参数,所述目标训练方式使得所述待训练分类模型更新前与更新后的权重参数的模长相同,所述性能参数包括所述待训练分类模型的精度;根据所述性能参数从所述候选值中确定所述目标超参数的目标值。
[0063]
需要说明的是,在本技术的实施例中通过采用缩放不变性线性层可以替换待训练分类模型中的分类层,从而使得待分类训练模型中的各个层均具有缩放不变性,即缩放不敏感性。
[0064]
应理解,在本技术的实施例中通过采用目标训练方式可以将待训练分类模型中包括的两个重要的超参数即学习率与权重衰减等效替换为目标超参数;由于通过目标训练方式可以使得待训练分类模型更新前与更新后的权重参数的模长相同;因此,在对待训练分类模型的权重参数进行更新时可以仅需要对目标超参数进行搜索从而确定目标超参数的目标值,其中,目标超参数可以是指等效学习率,等效学习率在待训练分类模型中的作用可以看作是与学习率的作用相同或者相近,等效学习率用于控制待训练分类模型的梯度更新步长。
[0065]
在本技术的实施例中,通过在待训练分类模型中采用缩放不变性线性层可以替换待训练分类模型中的分类层,使得待训练分类模型的各个层均具有缩放不变性;进一步,通过采用目标训练方式,使得仅调整一个目标超参数就能够达到正常训练下调整两个超参数(学习率和权重衰减)所能达到的最优精度;即将两个超参数的搜索过程等效替换为一个目
标超参数的搜索过程,从而缩减超参数的搜索维度,提高目标超参数的搜索效率;同时,同时,降低超参数的搜索成本。
[0066]
结合第四方面,在第四方面的某些实现方式中,所述目标值对应的所述待训练分类模型的精度大于所述候选值中其它候选值对应的所述待训练分类模型的精度。
[0067]
在本技术的实施例中,目标超参数的目标值可以是指在对待训练分类模型分配目标超参数的各个候选值时,使得待训练分类模型的模型精度达到最优精度对应的候选值。
[0068]
结合第四方面,在第四方面的某些实现方式中,所述处理单元具体用于:
[0069]
根据所述目标超参数的初始搜索范围进行均匀划分,得到所述目标超参数的候选值。
[0070]
在本技术的实施例中目标超参数的候选值可以是根据用户设置的初始搜索范围进行均匀划分,得到的目标超参数的多个候选值。
[0071]
结合第四方面,在第四方面的某些实现方式中,所述处理单元还用于:
[0072]
根据当前训练步数、预先配置的训练步数以及所述待训练分类模型的精度的变化趋势更新所述目标超参数的初始搜索范围。
[0073]
在本技术的实施例中,为了使得在进行目标超参数搜索时能够快速搜索到目标超参数的目标值即最优目标超参数,则可以根据待训练分类模型的性能参数的单调性对目标超参数的初始搜索范围进行更新,缩减目标超参数的搜索范围,提高目标超参数的搜索效率。
[0074]
结合第四方面,在第四方面的某些实现方式中,所述处理单元具体用于:
[0075]
若所述当前训练步数小于所述预先配置的训练步数,则将所述目标超参数的初始搜索范围的上边界更新为所述当前训练步数中所述待训练分类模型的最优精度对应的所述目标超参数的候选值。
[0076]
结合第四方面,在第四方面的某些实现方式中,所述处理单元具体用于:
[0077]
若所述当前训练步数等于所述预先配置的训练步数,则将所述目标超参数的初始搜索范围的上边界更新为第一候选值,所述目标超参数的搜索范围的下边界更新为第二候选值,所述第一候选值与所述第二候选值是指与所述待训练分类模型的最优精度对应的所述目标超参数的候选值相邻的候选值。
[0078]
结合第四方面,在第四方面的某些实现方式中,所述缩放不变性线性层根据以下公式得到所述预测分类结果:
[0079][0080]
其中,yi表示第i次迭代更新的权重参数对应的预测分类结果;wi表示所述第i次迭代更新的权重参数;x表示待分类特征;s表示尺度常数。
[0081]
结合第四方面,在第四方面的某些实现方式中,所述目标训练方式包括:
[0082]
通过以下公式对所述更新后的权重参数进行处理,使得所述待训练分类模型更新前与更新后的权重参数的模长相同:
[0083]
[0084]
其中,w
i 1
表示第i 1次迭代更新的权重参数;wi表示第i次迭代更新的权重参数;norm0表示所述待训练分类模型的初始权重模长。
[0085]
在本技术的实施例中,在待训练分类模型的各个层具有缩放不变性时,通过目标训练方式对待训练分类模型的权重进行迭代更新可以使得更新前与更新后的权重参数的模长相同;即通过目标训练方式可以实现了权重衰减的效果,同时也不再需要人工调节。
[0086]
第五方面,提供了一种分类模型的训练方法,包括存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被所述处理器执行时,所述处理器用于:获取待训练分类模型的目标超参数,所述目标超参数用于控制所述待训练分类模型的梯度更新步长,所述待训练分类模型包括缩放不变性线性层,所述缩放不变性线性层使得所述待训练分类模型的权重参数乘以任意缩放系数时输出的预测分类结果保持不变;根据所述目标超参数与目标训练方式对所述待训练分类模型的权重参数进行更新,得到训练后的分类模型,所述目标训练方式使得所述待训练分类模型更新前与更新后的权重参数的模长相同。
[0087]
在一种可能的实现方式中,上述搜索装置中包括的处理器还用于执行第一方面中的任意一种实现方式中训练方法。
[0088]
应理解,在上述第一方面中对相关内容的扩展、限定、解释和说明也适用于第三方面中相同的内容。
[0089]
第六方面,提供了一种超参数的搜索装置,包括存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被所述处理器执行时,所述处理器用于:获取目标超参数的候选值,所述目标超参数用于控制待训练分类模型的梯度更新步长,所述待训练分类模型包括缩放不变性线性层,所述缩放不变性线性层使得所述待训练分类模型的权重参数乘以任意缩放系数时输出的预测分类结果保持不变;根据所述候选值与目标训练方式,得到所述待训练分类模型的性能参数,所述目标训练方式使得所述待训练分类模型更新前与更新后的权重参数的模长相同,所述性能参数包括所述待训练分类模型的精度;根据所述性能参数从所述候选值中确定所述目标超参数的目标值。
[0090]
在一种可能的实现方式中,上述搜索装置中包括的处理器还用于执行第二方面中的任意一种实现方式中搜索方法。
[0091]
应理解,在上述第二方面中对相关内容的扩展、限定、解释和说明也适用于第三方面中相同的内容。
[0092]
第七方面,提供了一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行上述第一方面以及第一方面中任意一种实现方式中的训练方法。
[0093]
第八方面,提供了一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行上述第二方面以及第二方面中任意一种实现方式中的搜索方法。
[0094]
第九方面,提供了一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行上述第一方面以及第一方面中任意一种实现方式中的训练方法。
[0095]
第十方面,提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算
机上运行时,使得计算机执行上述第二方面以及第二方面中任意一种实现方式中的搜索方法。
[0096]
第十一方面,提供了一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第一方面以及第一方面中任意一种实现方式中的训练方法。
[0097]
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行上述第一方面以及第一方面中任意一种实现方式中的训练方法。
[0098]
第十二方面,提供了一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第二方面以及第二方面中任意一种实现方式中的搜索方法。
[0099]
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行上述第二方面以及第二方面中任意一种实现方式中的搜索方法。
附图说明
[0100]
图1是本技术实施例提供的超参数的搜索方法的系统架构的示意图;
[0101]
图2是本技术实施例提供的一种系统架构的示意图;
[0102]
图3是本技术实施例提供的一种芯片的硬件结构的示意图;
[0103]
图4是本技术实施例提供了一种系统架构的示意图;
[0104]
图5是本技术实施例提供的分类模型的训练方法的示意性流程图;
[0105]
图6是本技术实施例提供的基于缩放不变性线性层与模长固定方式对待训练分类模型的权重进行迭代更新的示意图;
[0106]
图7是本技术实施例提供的超参数的搜索方法的示意性流程图;
[0107]
图8是本技术实施例提供的超参数的搜索方法的示意图;
[0108]
图9是本技术实施例提供的分类模型的训练装置的示意性框图;
[0109]
图10是本技术实施例提供的超参数的搜索装置的示意性框图;
[0110]
图11是本技术实施例提供的分类模型的训练装置的硬件结构示意图;
[0111]
图12是本技术实施例提供的超参数的搜索装置的硬件结构示意图。
具体实施方式
[0112]
下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述;显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。
[0113]
首先对本技术实施例中涉及的概念进行简单的说明。
[0114]
1、超参数
[0115]
在机器学习中,超参数是指在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。通常情况下,可以对超参数进行优化,给学习机选择一组最优超参数,以提高学习的性能和效果。
[0116]
2、学习率
[0117]
学习率是指训练神经网络时的一个重要的超参数;学习率可以用于控制神经网络训练过程中梯度更新的步长。
[0118]
3、权重衰减
[0119]
权重衰减是指训练神经网络时的一个重要的超参数;权重衰减可以用于控制对权重大小的约束强度。
[0120]
下面结合图1对本技术实施例中超参数的搜索方法的系统架构进行说明。
[0121]
如图1所示,系统架构100中可以包括等效学习率搜索模块110以及缩放不变训练模块111;其中,等效学习率搜索模块110用于优化神经网络模型的超参数,从而得到神经网络模型对应的最优精度以及最优精度对应的最优模型权重。缩放不变训练模块111用于根据输入的不同的等效学习率超参数对神经网络模型的权重进行迭代更新,得到神经网络模型的参数。
[0122]
需要说明的是,等效学习率超参数可以用于控制神经网络训练过程中梯度更新的步长,通过在神经网络通过仅调整等效学习率超参数,使得神经网络模型能够达到正常训练下调整学习率和权重衰减两个超参数所能达到的模型最优精度。
[0123]
示例性地,如图1所示,等效学习率搜索模块110以及缩放不变训练模块111可以部署于云或者服务器中。
[0124]
图2示出了本技术实施例提供的一种系统架构200。
[0125]
在图2中,数据采集设备260用于采集训练数据。针对本技术实施例的待训练分类模型来说,可以通过数据采集设备260采集的训练数据对待训练分类模型进行训练。
[0126]
示例性地,在本技术的实施例中对于待训练分类模型来说,训练数据可以包括待分类数据以及待分类数据对应的样本标签。
[0127]
在采集到训练数据之后,数据采集设备260将这些训练数据存入数据库230,训练设备220基于数据库230中维护的训练数据训练得到目标模型/规则201。
[0128]
下面对训练设备220基于训练数据得到目标模型/规则201进行描述。
[0129]
例如,训练设备220对输入的待训练分类模型的训练数据进行处理,将待训练分类模型输出的待分类数据对应的预测分类结果与待分类数据对应的真值进行对比,直到训练设备220输出的预测分类结果与真值的差值小于一定的阈值,从而完成分类模型的训练。
[0130]
需要说明的是,在实际的应用中,所述数据库230中维护的训练数据不一定都来自于数据采集设备260的采集,也有可能是从其他设备接收得到的。
[0131]
另外需要说明的是,训练设备220也不一定完全基于数据库230维护的训练数据进行目标模型/规则201的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本技术实施例的限定。
[0132]
根据训练设备220训练得到的目标模型/规则201可以应用于不同的系统或设备中,如应用于图2所示的执行设备210,所述执行设备210可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr),车载终端等,还可以是服务器,或者,云端服务器等。在图2中,执行设备210配置输入/输出(input/output,i/o)接口212,用于与外部设备进行数据交互,用户可以通过客户设备240向i/o接口212输入数据,所述输入数据在本技术实施例中可以包括:客户设备输入的训练数据。
[0133]
预处理模块213和预处理模块214用于根据i/o接口212接收到的输入数据进行预处理;在本技术实施例中,也可以没有预处理模块213和预处理模块214(也可以只有其中的一个预处理模块),而直接采用计算模块211对输入数据进行处理。
[0134]
在执行设备210对输入数据进行预处理,或者在执行设备210的计算模块211执行计算等相关的处理过程中,执行设备210可以调用数据存储系统250中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统250中。
[0135]
最后,i/o接口212将处理结果,比如,将目标超参数的目标值返回给客户设备240,从而提供给用户。
[0136]
值得说明的是,训练设备220可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则201,该相应的目标模型/规则201即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
[0137]
在图2中所示情况下,在一种情况下,用户可以手动给定输入数据,该手动给定可以通过i/o接口212提供的界面进行操作。
[0138]
另一种情况下,客户设备240可以自动地向i/o接口212发送输入数据,如果要求客户设备240自动发送输入数据需要获得用户的授权,则用户可以在客户设备240中设置相应权限。用户可以在客户设备240查看执行设备210输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备240也可以作为数据采集端,采集如图所示输入i/o接口212的输入数据及输出i/o接口212的输出结果作为新的样本数据,并存入数据库230。当然,也可以不经过客户设备240进行采集,而是由i/o接口212直接将如图所示输入i/o接口212的输入数据及输出i/o接口212的输出结果,作为新的样本数据存入数据库130。
[0139]
值得注意的是,图2仅是本技术实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制。例如,在图2中,数据存储系统250相对执行设备210是外部存储器;在其它情况下,也可以将数据存储系统250置于执行设备210中。
[0140]
图3是本技术实施例提供的一种芯片的硬件结构的示意图。
[0141]
图3所示的芯片可以包括神经网络处理器300(neural-network processing unit,npu);该芯片可以被设置在如图2所示的执行设备210中,用以完成计算模块211的计算工作。该芯片也可以被设置在如图2所示的训练设备220中,用以完成训练设备220的训练工作并输出目标模型/规则201。
[0142]
npu 300作为协处理器挂载到主中央处理器(central processing unit,cpu)上,由主cpu分配任务。npu 300的核心部分为运算电路303,控制器304控制运算电路303提取存储器(权重存储器或输入存储器)中的数据并进行运算。
[0143]
在一些实现中,运算电路303内部包括多个处理单元(process engine,pe)。在一些实现中,运算电路303是二维脉动阵列;运算电路303还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路303是通用的矩阵处理器。
[0144]
举例来说,假设有输入矩阵a,权重矩阵b,输出矩阵c;运算电路303从权重存储器302中取矩阵b相应的数据,并缓存在运算电路303中每一个pe上;运算电路303从输入存储器301中取矩阵a数据与矩阵b进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器308(accumulator)中。
[0145]
向量计算单元307可以对运算电路303的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元307可以用于神经网络中非卷积/非fc层的网络计算,如池化(pooling),批归一化(batch normalization),局部响应归一化(local response normalization)等。
[0146]
在一些实现种,向量计算单元307能将经处理的输出的向量存储到统一存储器306。例如,向量计算单元307可以将非线性函数应用到运算电路303的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元307生成归一化的值、合并值,或二者均有。
[0147]
在一些实现中,处理过的输出的向量能够用作到运算电路303的激活输入,例如用于在神经网络中的后续层中的使用。
[0148]
统一存储器306用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器305(direct memory access controller,dmac)将外部存储器中的输入数据存入到输入存储器301和/或统一存储器306、将外部存储器中的权重数据存入权重存储器302,以及将统一存储器306中的数据存入外部存储器。
[0149]
总线接口单元310(bus interface unit,biu),用于通过总线实现主cpu、dmac和取指存储器309之间进行交互。
[0150]
与控制器304连接的取指存储器309(instruction fetch buffer)用于存储控制器304使用的指令;控制器304用于调用取指存储器309中缓存的指令,实现控制该运算加速器的工作过程。
[0151]
一般地,统一存储器306,输入存储器301,权重存储器302以及取指存储器309均为片上(on-chip)存储器,外部存储器为该npu外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamic random access memory,ddr sdram)、高带宽存储器(high bandwidth memory,hbm)或其他可读可写的存储器。
[0152]
示例性地,本技术实施例中的待训练分类模型的权重参数的迭代更新的相关运算可以由运算电路303或向量计算单元307执行。
[0153]
上文中介绍的图2中的执行设备210能够执行本技术实施例的超参数的搜索方法的各个步骤,3所示的芯片也可以用于执行本技术实施例的超参数的搜索方法的各个步骤。
[0154]
图4所示是本技术实施例提供了一种系统架构。该系统架构400可以包括本地设备420、本地设备430以及执行设备410和数据存储系统450,其中,本地设备420和本地设备430通过通信网络与执行设备410连接。
[0155]
示例性地,执行设备410可以由一个或多个服务器实现。
[0156]
可选的,执行设备410可以与其它计算设备配合使用。例如:数据存储器、路由器、负载均衡器等设备。执行设备410可以布置在一个物理站点上,或者,分布在多个物理站点上。执行设备410可以使用数据存储系统450中的数据,或者,调用数据存储系统450中的程序代码来实现本技术实施例的组合优化任务的处理方法。
[0157]
需要说明的是,上述执行设备410也可以称为云端设备,此时执行设备410可以部署在云端。
[0158]
在一个示例中,执行设备410可以执行以下过程:获取待训练分类模型的目标超参
数,所述目标超参数用于控制所述待训练分类模型的梯度更新步长,所述待训练分类模型包括缩放不变性线性层,所述缩放不变性线性层使得所述待训练分类模型的权重参数乘以任意缩放系数时输出的预测分类结果保持不变;根据所述目标超参数与目标训练方式对所述待训练分类模型的权重参数进行更新,得到训练后的分类模型,所述目标训练方式使得所述待训练分类模型更新前与更新后的权重参数的模长相同。
[0159]
在一种可能的实现方式中,本技术实施例的分类模型的训练方法可以是在云端执行的离线方法,比如,可以由上述执行设备410中执行本技术实施例的训练方法。
[0160]
在一种可能的实现方式中,本技术实施例的分类模型的训练方法可以是由本地设备420或者本地设备430执行。
[0161]
在一个示例中,执行设备410可以执行以下过程:获取目标超参数的候选值,所述目标超参数用于控制待训练分类模型的梯度更新步长,所述待训练分类模型包括缩放不变性线性层,所述缩放不变性线性层使得所述待训练分类模型的权重参数乘以任意缩放系数时输出的预测分类结果保持不变;根据所述候选值与目标训练方式,得到所述待训练分类模型的性能参数,所述目标训练方式使得所述待训练分类模型更新前与更新后的权重参数的模长相同,所述性能参数包括所述待训练分类模型的精度;根据所述性能参数从所述候选值中确定所述目标超参数的目标值。
[0162]
在一种可能的实现方式中,本技术实施例的超参数的搜索方法可以是在云端执行的离线方法,比如,可以由上述执行设备410中执行本技术实施例的搜索方法。
[0163]
在一种可能的实现方式中,本技术实施例的超参数的搜索方法可以是由本地设备420或者本地设备430执行。
[0164]
例如,用户可以操作各自的用户设备(例如,本地设备420和本地设备430)与执行设备410进行交互。每个本地设备可以表示任何计算设备,例如,个人计算机、计算机工作站、智能手机、平板电脑、智能摄像头、智能汽车或其他类型蜂窝电话、媒体消费设备、可穿戴设备、机顶盒、游戏机等。每个用户的本地设备可以通过任何通信机制/通信标准的通信网络与执行设备410进行交互,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。
[0165]
下面结合图5至图8详细阐述本技术实施例的技术方案。
[0166]
图5是本技术实施例提供的分类模型的训练方法的示意性流程图。在一些示例中,该训练方法500可以由图2中的执行设备210、图3所示的芯片以及图4中的执行设备410或者本地设备等设备执行。图5中的方法500可以包括步骤s510至步骤s520,下面分别对这些步骤进行详细的描述。
[0167]
s510、获取待训练分类模型的目标超参数。
[0168]
其中,目标超参数用于控制待训练分类模型的梯度更新步长,待训练分类模型包括缩放不变性线性层,缩放不变性线性层使得待训练分类模型的权重参数乘以任意缩放系数时输出的预测分类结果保持不变。
[0169]
需要说明的是,当神经网络的参数具有缩放不变性时,其权重参数的效步长反比于权重参数模长的平方;其中,缩放不变性是指权重w乘以任意缩放系数,该层的输出y可以保持不变。权重衰减超参数的作用主要是约束参数的模长,从而避免步长随着权重参数的模长的增长而急剧减小。但是,由于权重衰减是一种隐式的约束,权重参数的模长还是会随
着训练过程而变化,导致对于不同的模型来说,最优的权重衰减超参数需要人工调整。
[0170]
在本技术的实施例中,可以通过目标训练方式即显示的固定参数模长,即使得待训练分类模型更新前与更新后的权重参数的模长相同,从而使得权重参数的模长对步长的影响保持常数,实现了权重衰减的效果,同时也不再需要人工调节。由于采用目标训练方式的前提是神经网络需要具备缩放不变性,通常对于大多数神经网络而言,绝大部分层都具有缩放不变性,但是分类模型中的分类层大多都是缩放敏感的;因此,在本技术的实施例中通过采用缩放不变性线性层来替换原有的分类层,从而使得待训练分类模型的各个层具有缩放不变性。例如,缩放不变性线性层可以参见后续图6所示。
[0171]
示例性地,上述分类模型可以包括任意具有分类功能的神经网络模型;比如,分类模型可以包括但不限于:检测模型、分割模型以及识别模型等。
[0172]
示例性地,目标超参数可以是指等效学习率,等效学习率在待训练分类模型中的作用可以看作是与学习率的作用相同或者相近,等效学习率用于控制待训练分类模型的梯度更新步长。
[0173]
s520、根据目标超参数与目标训练方式对待训练分类模型的权重参数进行更新,得到训练后的分类模型。
[0174]
其中,目标训练方式使得待训练分类模型更新前与更新后的权重参数的模长相同。
[0175]
应理解,在训练分类模型时通常需要配置目标超参数,从而对分类模型中的权重参数进行迭代更新,使得分类模型收敛;即使得分类模型对于样本分类特征输出的预测分类结果与样本特征对应的真值的差异小于或者等于预设范围;其中,目标超参数可以是指等效学习率,等效学习率在待训练分类模型中的作用可以看作是与学习率的作用相同或者相近,等效学习率用于控制待训练分类模型的梯度更新步长。
[0176]
可选地,在一种可能的实现方式中,所述训练后的分类模型的权重参数是根据所述目标超参数和所述目标训练方式通过反向传播算法多次迭代更新得到的。
[0177]
可选地,在一种可能的实现方式中,所述缩放不变性线性层根据以下公式得到所述预测分类结果:
[0178][0179]
其中,yi表示第i次迭代更新的权重参数对应的预测分类结果;wi表示所述第i次迭代更新的权重参数;x表示待分类特征;s表示尺度常数。
[0180]
需要说明的是,上述公式为对缩放不变性处理进行举例说明,缩放不变性线性层的目的在于使得权重w乘以任意缩放系数,该层的输出y可以保持不变;换而言之,缩放不变性处理还可以采用其它具体处理方式,本技术对此不作任何限定。
[0181]
可选地,在一种可能的实现方式中,所述目标训练方式包括:
[0182]
通过以下公式对所述更新后的权重参数进行处理,使得所述待训练分类模型更新前与更新后的权重参数的模长相同:
[0183]
[0184]
其中,w
i 1
表示第i 1次迭代更新的权重参数;wi表示第i次迭代更新的权重参数;norm0表示所述待训练分类模型的初始权重模长。
[0185]
在本技术的实施例中,通过将待训练分类模型的分类层替换为缩放不变性线性层以及采用了目标训练方式即将待训练分类模型更新前与更新后的权重参数的模长进行固定处理,可以使得在训练待分类模型时将两个重要的超参数即学习率与权重衰减等效替换为目标超参数;因此,在对待训练分类模型进行训练时可以仅需要配置待训练模型的目标超参数,从而能够降低训练待训练分类模型所消耗的计算资源。
[0186]
图7是本技术实施例提供的超参数的搜索方法的示意性流程图。在一些示例中,该搜索方法600可以由图2中的执行设备210、图3所示的芯片以及图4中的执行设备410或者本地设备等设备执行。图7中的方法600可以包括步骤s610至步骤s630,下面分别对这些步骤进行详细的描述。
[0187]
s610、获取目标超参数的候选值。
[0188]
其中,目标超参数用于控制待训练分类模型的梯度更新步长,待训练分类模型包括缩放不变性线性层,缩放不变性线性层使得待训练分类模型的权重参数乘以任意缩放系数时输出的预测分类结果保持不变。
[0189]
需要说明的是,在本技术的实施例中通过采用缩放不变性线性层可以替换待训练分类模型中的分类层,从而使得待分类训练模型中的各个层均具有缩放不变性,即缩放不敏感性。例如,缩放不变性线性层可以参见图6所示。
[0190]
可选地,在一种可能的实现方式中,所述缩放不变性线性层根据以下公式得到所述预测分类结果:
[0191][0192]
其中,yi表示第i次迭代更新的权重参数对应的预测分类结果;wi表示所述第i次迭代更新的权重参数;x表示待分类特征;s表示尺度常数。
[0193]
s620、根据候选值与目标训练方式,得到待训练分类模型的性能参数。
[0194]
其中,目标训练方式使得待训练分类模型更新前与更新后的权重参数的模长相同,性能参数包括待训练分类模型的精度。
[0195]
应理解,待训练分类模型的性能参数可以用于评估在对待训练分类模型配置某一目标超参数后待训练分类模型的性能参数;比如,性能参数可以包括待训练分类模型的模型精度,即可以是指待训练分类模型对待分类特征进行分类的预测分类结果的准确性。
[0196]
需要说明的是,在本技术的实施例中,通过采用了目标训练方式可以将待训练分类模型中包括的两个重要的超参数即学习率与权重衰减等效替换为目标超参数;由于通过目标训练方式可以使得待训练分类模型更新前与更新后的权重参数的模长相同;因此,在对待训练分类模型进行训练时可以仅需要对目标超参数进行搜索从而确定目标超参数的目标值,其中,目标超参数可以是指等效学习率,等效学习率在待训练分类模型中的作用可以看作是与学习率的作用相同或者相近,等效学习率用于控制待训练分类模型的梯度更新步长。
[0197]
可选地,在一种可能的实现方式中,所述目标训练方式包括:
[0198]
通过以下公式对所述更新后的权重参数进行处理,使得所述待训练分类模型更新
前与更新后的权重参数的模长相同:
[0199][0200]
其中,w
i 1
表示第i 1次迭代更新的权重参数;wi表示第i次迭代更新的权重参数;norm0表示所述待训练分类模型的初始权重模长。
[0201]
在本技术的实施例中,在待训练分类模型的各个层具有缩放不变性时,通过目标训练方式对待训练分类模型的权重进行迭代更新可以使得更新前与更新后的权重参数的模长相同;即通过目标训练方式可以实现了权重衰减的效果,同时也不再需要人工调节。
[0202]
s630、根据待训练分类模型的性能参数从候选值中确定目标超参数的目标值。
[0203]
其中,目标超参数的目标值可以是指使得待训练分类模型能够满足预设条件时目标超参数对应的值。
[0204]
在本技术的实施例中,通过在待训练分类模型中采用缩放不变性线性层可以替换待训练分类模型中的分类层,使得待训练分类模型的各个层均具有缩放不变性;进一步,通过采用目标训练方式,使得仅调整一个目标超参数就能够达到正常训练下调整两个超参数(学习率和权重衰减)所能达到的最优精度;即将两个超参数的搜索过程等效替换为一个目标超参数的搜索过程,从而缩减超参数的搜索维度,加快搜索速度。
[0205]
可选地,在一种可能的实现方式中,所述目标值对应的所述待训练分类模型的精度大于所述候选值中其它候选值对应的所述待训练分类模型的精度。
[0206]
在本技术的实施例中,目标超参数的目标值可以是指在对待训练分类模型分配目标超参数的各个候选值时,使得待训练分类模型的模型精度达到最优精度对应的候选值。
[0207]
可选地,在一种可能的实现方式中,所述获取目标超参数的候选值,包括:
[0208]
根据所述目标超参数的初始搜索范围进行均匀划分,得到所述目标超参数的候选值。
[0209]
在本技术的实施例中目标超参数的候选值可以是根据用户设置的初始搜索范围进行均匀划分,得到的目标超参数的多个候选值。
[0210]
在一个示例中,除了上述对初始搜索范围进行均匀划分得到多个候选值外,也可以采用其它方式对初始搜索范围进行划分。
[0211]
进一步地,在本技术的实施例中,为了使得在进行目标超参数搜索时能够快速搜索到目标超参数的目标值即最优目标超参数,则可以根据待训练分类模型的性能参数的单调性对目标超参数的初始搜索范围进行更新,缩减目标超参数的搜索范围,提供目标超参数的搜索效率。具体流程可以参见后续图8所示。
[0212]
可选地,在一种可能的实现方式中,还包括:根据当前训练步数、预先配置的训练步数以及所述待训练分类模型的精度的变化趋势更新所述目标超参数的初始搜索范围。
[0213]
示例性地,可以根据当前训练步数、预先配置的训练步数以及待训练分类模型的精度的单调性更新目标超参数的初始搜索范围。
[0214]
可选地,在一种可能的实现方式中,所述根据当前训练步数、预先配置的训练步数以及所述待训练分类模型的精度的变化趋势更新所述目标超参数的初始搜索范围,包括:
[0215]
若所述当前训练步数小于所述预先配置的训练步数,则将所述目标超参数的初始搜索范围的上边界更新为所述当前训练步数中所述待训练分类模型的最优精度对应的所
述目标超参数的候选值。
[0216]
可选地,在一种可能的实现方式中,所述根据当前训练步数、预先配置的训练步数以及所述待训练分类模型的精度的变化趋势更新所述目标超参数的初始搜索范围,包括:
[0217]
若所述当前训练步数等于所述预先配置的训练步数,则将所述目标超参数的初始搜索范围的上边界更新为第一候选值,所述目标超参数的搜索范围的下边界更新为第二候选值,所述第一候选值与所述第二候选值是指与所述待训练分类模型的最优精度对应的所述目标超参数的候选值相邻的候选值。
[0218]
示意性地,图6是本技术实施例提供的基于缩放不变性线性层对待训练分类模型的权重进行迭代更新的示意图。
[0219]
需要说明的是,当神经网络的参数具有缩放不变性时,其权重参数的等效步长反比于参数模长的平方;其中,缩放不变性是指权重w乘以任意缩放系数,该层的输出y可以保持不变。权重衰减超参数的作用主要是约束参数的模长,从而避免等效步长随着参数模长的增长而急剧减小。但是,由于权重衰减是一种隐式的约束,参数模长还是会随着训练过程而变化,导致对于不同的模型来说,最优的权重衰减需要人工调整。
[0220]
图6所示的待训练分类模型的权重训练方法,可以通过目标训练方式即显示的固定参数模长,使得参数模长对等效步长的影响保持常数,实现了权重衰减的效果,同时也不再需要人工调节。由于采用图6所示的神经网络的权重训练的方法的前提是神经网络需要具备缩放不变性,通常对于大多数神经网络而言,绝大部分层都是缩放不变的,但最后的分类层一般都是缩放敏感的。因此,如图6所示,在本技术的实施例中通过采用缩放不变性线性层来替换原有的分类层,从而使得神经网络的各个层具有缩放不变性。
[0221]
如图6所示,在对待训练分类模型的参数进行训练时,可以获取待训练分类模型的初始权重参数,比如第一权重参数w1以及从训练数据中获取的特征x;通过缩放不变性线性层对第一权重参数w1与特征x进行缩放不变性处理,得到预测结果y1;比如,对于分类模型而言,预测输出结果y1可以是指特征x对应的预测分类标签。
[0222]
示意性地,缩放不变性线性层可以采用以下公式对第一权重参数与特征进行处理:
[0223][0224]
其中,yi表示第i次迭代更新的权重参数对应的预测分类结果;wi表示所述第i次迭代更新的权重参数;x表示待分类特征;s表示尺度常数。
[0225]
应理解,上述公式为对缩放不变性处理进行举例说明,缩放不变性线性层的目的在于使得权重w乘以任意缩放系数,该层的输出y可以保持不变;换而言之,缩放不变性处理还可以采用其它具体处理方式,本技术对此不作任何限定。
[0226]
进一步,根据待训练分类模型的初始权重参数可以得到待训分类练模型的初始权重模长,记为norm0。
[0227]
接着,根据输入的等效学习率参数与缩放不变性线性层输出的预测结果y1通过采用前向传播、反向传播的方式对第一权重参数进行更新。
[0228]
示例性地,可以根据预测结果y1与特征x对应的真值之间的差异对第一权重参数进行权重更新,使得待训练分类模型的输出预测结果的精度满足预设范围。
[0229]
进一步,在本技术的实施例中,在对第一权重参数进行更新时,可以对更新后的第二权重参数进行模长固定处理,模长固定处理是指使得权重参数更新前与更新后相同实现权重衰减超参数的效果。
[0230]
示意性地,可以采用以下公式对更新后的第i 1次迭代更新的权重参数进行模长固定处理:
[0231][0232]
其中,w
i 1
表示第i 1次迭代更新的权重参数;wi表示第i次迭代更新的权重参数;norm0表示所述待训练分类模型的初始权重模长。
[0233]
通过对权重参数进行迭代更新,重复执行训练步数e次,返回待训练分类模型对应的性能参数以及待训练分类模型的权重,其中,性能参数可以是指待训练分类模型进行分类处理时的精度。
[0234]
在本技术的实施例中,通过在待训练分类模型中采用缩放不变性线性层可以替换待训练分类模型中的分类层,使得待训练分类模型的各个层均具有缩放不变性;进一步,通过采用目标训练方式,使得仅调整一个目标超参数就能够达到正常训练下调整两个超参数(学习率和权重衰减)所能达到的最优精度;即将两个超参数的搜索过程等效替换为一个目标超参数的搜索过程,从而缩减超参数的搜索维度,提高目标超参数的搜索效率;同时,同时,降低超参数的搜索成本。
[0235]
图8是本技术实施例提供的超参数的搜索方法的示意图。应理解,图8中的训练1至训练k中的任意一次训练的过程可以参见图6所示的示意图。
[0236]
示例性地,假设快速等效学习率搜索为:search(lr
min
,lr
max
,k,t{e
t
});其中,输入的等效学习率的范围为[lr
min
,lr
max
];划分数为k;搜索轮数为t;每轮搜索训练步数为e
t
;并且e
t
为最大训练轮数,输出的为全局最优精度acc
best
;全局最优模型权重w
best

[0237]
搜索方法包括以下步骤:
[0238]
步骤一:确定搜索过程循环执行t轮;for t in{1,2,

,t-1}。
[0239]
步骤二:对等效学习率的范围进行划分,获得k个等效学习率的候选值。
[0240]
例如,可以对等效学习率的范围进行均匀划分,从而得到k个等效学习率的候选值;即
[0241]
步骤三:对k个等效学习率的候选值lri分别进行如图6所示的训练过程,训练步数为e
t
,并获得对应的待训练分类模型的精度acc和待训练分类模型的权重w。
[0242]
步骤四:确定待训练分类模型的最高精度对应的标识;即idx=argmax(acc)。
[0243]
进一步,在本技术的实施例中可以根据确定的最优精度进行搜索范围的更新。
[0244]
步骤五:若当前训练步数小于最大训练步数e
t
,则将等效学习率的范围上界更新为最高精度对应的等效学习率的候选值;即lr
max
=lr
idx

[0245]
步骤六:若当前训练步数等于最大训练步数e
t
,则将等效学习率的范围上下界分别更新为lr
idx 1
和lr
idx-1
;即lr
max
=lr
idx 1
;lr
min
=lr
idx-1

[0246]
步骤七:若当前最高精度大于全局最优精度,则更新全局最优精度和全局最优模型权重;即acc
best
=acc
idx
;w
best
=w
idx

[0247]
在本技术的实施例中,可以通过利用待训练分类模型的精度关于等效学习率的单峰趋势,对等效学习率的范围进行均匀划分,从而能够快速确定在当前训练轮数下的最优的等效学习率的范围;换而言之,可以通过最优的等效学习率在不同训练轮数下的单调性,分阶段快速缩减最优的等效学习率范围,从而快速搜索得到最优的等效学习率。
[0248]
在一个示例中,将本技术实施例提供的超参数的搜索方法应用于imagenet图像分类任务上的超参数优化;以深度神经网络是resnet50为例进行举例说明。
[0249]
步骤一:先设定目标超参数的初始参数,比如,学习率的范围可以是[0.1,3.2],划分数k=5,搜索轮数t=2,每轮搜索步数e={25000,125000},接下来开始执行目标超参数的搜索。
[0250]
步骤二:第一轮搜索。
[0251]
示例性地,在学习率的范围为[0.1,3.2]内均匀取5个点,分别用图6所示的训练方法进行深度神经网络的权重参数的训练,训练轮数可以为25000,并得到每个学习率候选值对应的测试精度。
[0252]
例如,最优的精度为74.12,对应的学习率为1.55;则可以将学习率的范围更新为[0.1,1.55],更新最优精度为74.12。
[0253]
步骤三:第二轮搜索。
[0254]
示例性地,在学习率的范围为[0.1,1.55]内均匀取5个点,分别用图6所示的训练方法进行深度神经网络的权重参数的训练,训练轮数可以为125000,并得到每个学习率候选值对应的测试精度。
[0255]
例如,最优的精度为77.64,对应的学习率为1.0875,更新最优精度为77.64。
[0256]
步骤四:搜索完成。
[0257]
例如,最优学习率为1.0875,对应的深度神经网络的最优精度为77.64,返回对应的深度神经网络的模型权重。
[0258]
表1
[0259]
模型baselinebayesianbayesian costour methodour method cost模型176.377.6643577.646模型272.072.3463572.6346模型374.775.9343076.0486
[0260]
表1示出了在不同模型中通过未采用超参数优化、采用贝叶斯超参数优化以及采用本技术提出的超参数的搜索方法对应的模型精度以及资源开销的测试结果。
[0261]
其中,模型1表示残差模型(例如,resnet50);模型2表示mobilenetv2模型;模型3表示mobilenetv2
×
1.4。baseline表示未进行超参数优化时的精度(单位为:%),bayesian代表采用了贝叶斯优化方法进行超参数优化后的精度(单位为:%),bayesian cost代表采用贝叶斯优化方法的资源开销(单位为:相比于单次训练开销的倍数),our method表示应用本技术的方法进行超参数优化后的精度(单位为:%),our method cost表示采用本技术提出的超参数的搜索方法进行超参数优化的资源开销(单位为:相比于单次训练开销的倍数)。
[0262]
从表1所示的测试结果可以看出,在imagenet图像分类任务上,对于不同的深度神经网络模型,本技术提出的超参数的搜索方法得到的模型都能显著优于未采用超参数优化的模型,达到或者超过采用贝叶斯超参数优化方法得到的模型精度;并且在资源开销方面远小于采用贝叶斯超参数优化方法得到的模型。
[0263]
应理解,上述举例说明是为了帮助本领域技术人员理解本技术实施例,而非要将本技术实施例限于所例示的具体数值或具体场景。本领域技术人员根据所给出的上述举例说明,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本技术实施例的范围内。
[0264]
上文结合图1至图8,详细描述了本技术实施例提供的分类模型的训练方法以及超参数的搜索方法;下面将结合图9至图12,详细描述本技术的装置实施例。应理解,本技术实施例中的训练装置可以执行前述本技术实施例的训练方法;本技术实施例中的搜索装置可以执行前述本技术实施例的各种搜索方法,即以下各种产品的具体工作过程,可以参考前述方法实施例中的对应过程。
[0265]
图9是本技术提供的分类模型的训练装置的示意性框图。
[0266]
应理解,训练装置700可以执行图5或图6所示的训练方法。该训练装置700包括:获取单元710和处理单元720。
[0267]
其中,获取单元710用于获取待训练分类模型的目标超参数,所述目标超参数用于控制所述待训练分类模型的梯度更新步长,所述待训练分类模型包括缩放不变性线性层,所述缩放不变性线性层使得所述待训练分类模型的权重参数乘以任意缩放系数时输出的预测分类结果保持不变;处理单元720用于根据所述目标超参数与目标训练方式对所述待训练分类模型的权重参数进行更新,得到训练后的分类模型,所述目标训练方式使得所述待训练分类模型更新前与更新后的权重参数的模长相同。
[0268]
可选地,作为一个实施例,所述训练后的分类模型的权重参数是根据所述目标超参数和所述目标训练方式通过反向传播算法多次迭代更新得到的。
[0269]
可选地,作为一个实施例,所述缩放不变性线性层根据以下公式得到所述预测分类结果:
[0270][0271]
其中,yi表示第i次迭代更新的权重参数对应的预测分类结果;wi表示所述第i次迭代更新的权重参数;x表示待分类特征;s表示尺度常数。
[0272]
可选地,作为一个实施例,所述目标训练方式包括:
[0273]
通过以下公式对所述更新后的权重参数进行处理,使得所述待训练分类模型更新前与更新后的权重参数的模长相同:
[0274][0275]
其中,w
i 1
表示第i 1次迭代更新的权重参数;wi表示第i次迭代更新的权重参数;norm0表示所述待训练分类模型的初始权重模长。
[0276]
在一个示例中,训练装置700可以用于执行图5或者图6中任意一个所示的训练方
法中全部或部分操作。例如,获取单元710可以用于执行s510,或者获取待训练模型、目标超参数(例如,等效学习率)以及训练数据中的中全部或部分操作;处理单元720可以用于执行s520或者对待训练模型的权重参数进行迭代更新中全部或部分操作。其中,获取单元710可以是指训练装置700中通信接口或者收发器;处理单元720可以是训练装置700中具有计算能力的处理器或芯片。
[0277]
图10是本技术提供的超参数的搜索装置的示意性框图。
[0278]
应理解,搜索装置800可以执行图7或图8所示的搜索方法。该搜索装置800包括:获取单元810和处理单元820。
[0279]
其中,获取单元810用于获取目标超参数的候选值,所述目标超参数用于控制待训练分类模型的梯度更新步长,所述待训练分类模型包括缩放不变性线性层,所述缩放不变性线性层使得所述待训练分类模型的权重参数乘以任意缩放系数时输出的预测分类结果保持不变;处理单元820用于根据所述候选值与目标训练方式,得到所述待训练分类模型的性能参数,所述目标训练方式使得所述待训练分类模型更新前与更新后的权重参数的模长相同,所述性能参数包括所述待训练分类模型的精度;根据所述性能参数从所述候选值中确定所述目标超参数的目标值。
[0280]
可选地,作为一个实施例,所述目标值对应的所述待训练分类模型的精度大于所述候选值中其它候选值对应的所述待训练分类模型的精度。
[0281]
可选地,作为一个实施例,所述处理单元810具体用于:
[0282]
根据所述目标超参数的初始搜索范围进行均匀划分,得到所述目标超参数的候选值。
[0283]
可选地,作为一个实施例,所述处理单元820还用于:
[0284]
根据当前训练步数、预先配置的训练步数以及所述待训练分类模型的精度的变化趋势更新所述目标超参数的初始搜索范围。
[0285]
可选地,作为一个实施例,所述处理单元820具体用于:
[0286]
若所述当前训练步数小于所述预先配置的训练步数,则将所述目标超参数的初始搜索范围的上边界更新为所述当前训练步数中所述待训练分类模型的最优精度对应的所述目标超参数的候选值。
[0287]
可选地,作为一个实施例,所述处理单元820具体用于:
[0288]
若所述当前训练步数等于所述预先配置的训练步数,则将所述目标超参数的初始搜索范围的上边界更新为第一候选值,所述目标超参数的搜索范围的下边界更新为第二候选值,所述第一候选值与所述第二候选值是指与所述待训练分类模型的最优精度对应的所述目标超参数的候选值相邻的候选值。
[0289]
可选地,作为一个实施例,所述缩放不变性线性层根据以下公式得到所述预测分类结果:
[0290][0291]
其中,yi表示第i次迭代更新的权重参数对应的预测分类结果;wi表示所述第i次迭代更新的权重参数;x表示待分类特征;s表示尺度常数。
[0292]
可选地,作为一个实施例,所述目标训练方式包括:
[0293]
通过以下公式对所述更新后的权重参数进行处理,使得所述待训练分类模型更新前与更新后的权重参数的模长相同:
[0294][0295]
其中,w
i 1
表示第i 1次迭代更新的权重参数;wi表示第i次迭代更新的权重参数;norm0表示所述待训练分类模型的初始权重模长。
[0296]
在一个示例中,搜索装置800可以用于执行图7或者图8中任意一个所示的搜索方法中全部或部分操作。例如,获取单元810可以用于执行s610,获取初始化搜索范围或者获取数据与模型中全部或部分操作;处理单元820可以用于执行s620,s630或者对目标超参数进行搜索中全部或部分操作。其中,获取单元810可以是指搜索装置800中的通信接口或者收发器;处理单元820可以是搜索装置800中具有计算能力的处理器或芯片。
[0297]
需要说明的是,上述训练装置700与搜索装置800以功能单元的形式体现。这里的术语“单元”可以通过软件和/或硬件形式实现,对此不作具体限定。
[0298]
例如,“单元”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,asic)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
[0299]
因此,在本技术的实施例中描述的各示例的单元,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0300]
图11是本技术实施例提供的分类模型的训练装置的硬件结构示意图。
[0301]
图11所示的训练装置900包括存储器910、处理器920、通信接口930以及总线940。其中,存储器910、处理器920、通信接口930通过总线940实现彼此之间的通信连接。
[0302]
存储器910可以是只读存储器(read only memory,rom),静态存储设备,动态存储设备或者随机存取存储器(random access memory,ram)。存储器910可以存储程序,当存储器910中存储的程序被处理器920执行时,处理器920用于执行本技术实施例的分类模型的训练方法的各个步骤;例如,执行图5或者图6所示的各个步骤。
[0303]
应理解,本技术实施例所示的训练装置可以是服务器,也可以是配置于服务器中的芯片。
[0304]
其中,训练装置可以为具有训练分类模型的功能的设备,例如,可以包括当前技术已知的任何设备;或者,训练装置还可以是指具有训练分类模型的功能的芯片。训练装置中可以包括存储器和处理器;存储器可以用于存储程序代码,处理器可以用于调用存储器存储的程序代码,以实现计算设备的相应功能。计算设备中包括的处理器和存储器可以通过芯片实现,此处不作具体的限定。
[0305]
例如,存储器可以用于存储本技术实施例中提供的分类模型的训练方法的相关程序指令,处理器可以用于调用存储器中存储的分类模型的训练方法的相关程序指令。
[0306]
处理器920可以采用通用的中央处理器(central processing unit,cpu),微处理器,应用专用集成电路(application specific integrated circuit,asic),或者一个或
多个集成电路,用于执行相关程序以实现本技术方法实施例的分类模型的训练方法。
[0307]
处理器920还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本技术的分类模型的训练方法的各个步骤可以通过处理器920中的硬件的集成逻辑电路或者软件形式的指令完成。
[0308]
上述处理器920还可以是通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器910,处理器920读取存储器910中的信息,结合其硬件完成本技术实施中图9所示的训练装置中包括的单元所需执行的功能,或者,执行本技术方法实施例的图5或者图6所示的分类模型的训练方法。
[0309]
通信接口930使用例如但不限于收发器一类的收发装置,来实现训练装置900与其他设备或通信网络之间的通信。
[0310]
总线940可包括在训练装置900各个部件(例如,存储器910、处理器920、通信接口930)之间传送信息的通路。
[0311]
图12是本技术实施例提供的超参数的搜索装置的硬件结构示意图。
[0312]
图12所示的搜索装置1000包括存储器1010、处理器1020、通信接口1030以及总线1040。其中,存储器1010、处理器1020、通信接口1030通过总线1040实现彼此之间的通信连接。
[0313]
存储器1010可以是只读存储器(read only memory,rom),静态存储设备,动态存储设备或者随机存取存储器(random access memory,ram)。存储器1010可以存储程序,当存储器1010中存储的程序被处理器1020执行时,处理器1020用于执行本技术实施例的超参数的搜索方法的各个步骤;例如,执行图7至图8所示的各个步骤。
[0314]
应理解,本技术实施例所示的搜索装置可以是服务器,也可以是配置于服务器中的芯片。
[0315]
其中,搜索装置可以为具有超参数的搜索功能的设备,例如,可以包括当前技术已知的任何设备;或者,搜索装置还可以是指具有超参数的搜索功能的芯片。搜索装置中可以包括存储器和处理器;存储器可以用于存储程序代码,处理器可以用于调用存储器存储的程序代码,以实现计算设备的相应功能。计算设备中包括的处理器和存储器可以通过芯片实现,此处不作具体的限定。
[0316]
例如,存储器可以用于存储本技术实施例中提供的超参数的搜索方法的相关程序指令,处理器可以用于调用存储器中存储的超参数的搜索方法的相关程序指令。
[0317]
处理器1020可以采用通用的中央处理器(central processing unit,cpu),微处理器,应用专用集成电路(application specific integrated circuit,asic),或者一个或多个集成电路,用于执行相关程序以实现本技术方法实施例的超参数的搜索方法。
unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0330]
还应理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,ram)可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。
[0331]
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质。半导体介质可以是固态硬盘。
[0332]
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,其中a,b可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
[0333]
本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
[0334]
应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0335]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单
元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0336]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0337]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0338]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0339]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0340]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0341]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献