System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开总体说来涉及人工智能领域,更具体地讲,涉及一种基于神经网络结构搜索的模型生成方法及装置。
技术介绍
1、将深度神经网络模型部署到具体的硬件(服务器、嵌入式设备等)的时候,硬件算力、模型的大小和推理速度等方面的性能约束是非常重要的指标。设计网络结构的传统做法是通过不断调整计算图或者使用剪枝、量化等手段来使得网络结构满足性能约束,然后对每一个设计网络结构训练模型、测试准确率。在这个过程中,手工尝试所有网络结构设计方案往往是非常耗时的。目前主要通过神经网络结构搜索(neural architecture search,nas)来自动设计网络结构。然而,相关技术在训练网络时需要把整个超网络(supernet)的参数加载到显存中,存在显存溢出的风险;或者,由于搜索空间过大,每次训练迭代只能采样部分候选结构,导致没有训练过的候选结构在评估性能的时候表现很差,影响后续搜索。此外,相关技术在搜索网络结构时并未实现硬件部署感知,无法保证搜索得到的网络结构满足性能约束。
技术实现思路
1、本公开提供一种基于神经网络结构搜索的模型生成方法及装置,用于至少解决部分的上述问题。
2、根据本公开的一方面,提供一种基于神经网络结构搜索的模型生成方法,包括:根据目标任务构建超网络,其中,所述超网络包括多个候选结构,所述多个候选结构共享权重;将所述超网络有序划分为第一数量个超网络块,通过依次训练每个超网络块,得到训练好的超网络;基于硬件部署环境的性能指标约束,从所述训练好的超网络中搜索得到目标候选
3、可选地,所述依次训练每个超网络块,包括:针对第k个超网络块,从所述第k个超网络块中采样第一路径,并从所述第k个超网络块之前的k-1个训练好的超网络块中采样第二路径;将所述第一路径与所述第二路径连接起来进行训练,从而对所述第一路径的权重进行更新,以得到训练好的第k个超网络块。
4、可选地,所述第k个超网络块通过多次迭代训练来训练好,针对每一次迭代过程,所述针对第k个超网络块,从所述第k个超网络块中采样第一路径,并从所述第k个超网络块之前的k-1个训练好的超网络块中采样第二路径;将所述第一路径与所述第二路径连接起来进行训练,从而对所述第一路径的权重进行更新,包括:针对第k个超网络块的任意一次迭代训练,从所述第k个超网络块中随机采样第一路径,并从所述第k个超网络块之前的k-1个训练好的超网络块中随机采样第二路径;将所述第一路径与所述第二路径连接起来进行该次迭代训练,从而基于随机梯度下降算法对所述第一路径的权重进行更新。
5、可选地,所述第一路径还通过嵌入的备用颈连接识别头,所述备用颈用于将所述第一路径输出的特征与所述识别头进行适配,所述识别头用于识别适配后的特征。
6、可选地,所述超网络包括空间模型和序列模型,其中,所述将所述超网络有序划分为第一数量个超网络块,包括:将所述空间模型有序划分为第一数量减一个超网络块,并将所述序列模型作为最后一个超网络块,从而得到所述第一数量个超网络块。
7、可选地,所述性能指标约束包括推理延时约束、推理速度约束和内存消耗约束中的至少一个。
8、可选地,所述从所述训练好的超网络中搜索得到目标候选结构,包括:基于下述公式从所述训练好的超网络中搜索得到目标候选结构:
9、
10、
11、其中,表示期望,pθ表示概率分布,θ为pθ中的参数,φ表示超网络,表示模型在验证集上的准确率,α表示模型使用的候选结构,w*(α)表示候选结构的权重,表示模型在硬件部署环境ε上的性能指标值,rmax表示对性能指标的约束值,其中,所述参数θ在搜索过程中基于自然梯度下降算法来进行优化。
12、可选地,针对搜索过程中的第t次搜索,所述参数θ基于下述公式进行优化:
13、θt+1=θt+ρf-1(θt)g,
14、其中,
15、
16、
17、其中,ρ表示步长,f(θ)表示费雪信息矩阵,g表示梯度。
18、根据本公开的另一方面,提供一种基于神经网络结构搜索的模型生成装置,包括:超网构建单元,被配置为根据目标任务构建超网络,其中,所述超网络包括多个候选结构,所述多个候选结构共享权重;第一训练单元,被配置为将所述超网络有序划分为第一数量个超网络块,通过依次训练每个超网络块,得到训练好的超网络;结构搜索单元,被配置为基于硬件部署环境的性能指标约束,从所述训练好的超网络中搜索得到目标候选结构;第二训练单元,被配置为重新对所述目标候选结构进行训练,以将训练好的目标候选结构作为目标模型,其中,所述目标模型用于执行所述目标任务。
19、可选地,所述第一训练单元被配置为:针对第k个超网络块,从所述第k个超网络块中采样第一路径,并从所述第k个超网络块之前的k-1个训练好的超网络块中采样第二路径;将所述第一路径与所述第二路径连接起来进行训练,从而对所述第一路径的权重进行更新,以得到训练好的第k个超网络块。
20、可选地,所述第k个超网络块通过多次迭代训练来训练好,针对每一次迭代过程,所述第一训练单元还被配置为:针对第k个超网络块的任意一次迭代训练,从所述第k个超网络块中随机采样第一路径,并从所述第k个超网络块之前的k-1个训练好的超网络块中随机采样第二路径;将所述第一路径与所述第二路径连接起来进行该次迭代训练,从而基于随机梯度下降算法对所述第一路径的权重进行更新。
21、可选地,所述第一路径还通过嵌入的备用颈连接识别头,所述备用颈用于将所述第一路径输出的特征与所述识别头进行适配,所述识别头用于识别适配后的特征。
22、可选地,所述超网络包括空间模型和序列模型,其中,所述第一训练单元还被配置为:将所述空间模型有序划分为第一数量减一个超网络块,并将所述序列模型作为最后一个超网络块,从而得到所述第一数量个超网络块。
23、可选地,所述性能指标约束包括推理延时约束、推理速度约束和内存消耗约束中的至少一个。
24、可选地,所述结构搜索单元被配置为:基于下述公式从所述训练好的超网络中搜索得到目标候选结构:
25、
26、
27、其中,表示期望,pθ表示概率分布,θ为pθ中的参数,φ表示超网络,表示模型在验证集上的准确率,α表示模型使用的候选结构,w*(α)表示候选结构的权重,表示模型在硬件部署环境ε上的性能指标值,rmax表示对性能指标的约束值,其中,所述参数θ在搜索过程中基于自然梯度下降算法来进行优化。
28、可选地,针对搜索过程中的第t次搜索,所述参数θ基于下述公式进行优化:
29、θt+1=θt+ρf-1(θt)g,
30、其中,
31、
32、
33、其中,ρ表示步长,f(θ)本文档来自技高网...
【技术保护点】
1.一种基于神经网络结构搜索的模型生成方法,其特征在于,包括:
2.如权利要求1所述的模型生成方法,其特征在于,所述依次训练每个超网络块,包括:
3.如权利要求2所述的模型生成方法,其特征在于,所述第k个超网络块通过多次迭代训练来训练好,针对每一次迭代过程,所述针对第k个超网络块,从所述第k个超网络块中采样第一路径,并从所述第k个超网络块之前的k-1个训练好的超网络块中采样第二路径;将所述第一路径与所述第二路径连接起来进行训练,从而对所述第一路径的权重进行更新,包括:
4.如权利要求2或3所述的模型生成方法,其特征在于,所述第一路径还通过嵌入的备用颈连接识别头,所述备用颈用于将所述第一路径输出的特征与所述识别头进行适配,所述识别头用于识别适配后的特征。
5.如权利要求1所述的模型生成方法,其特征在于,所述超网络包括空间模型和序列模型,其中,所述将所述超网络有序划分为第一数量个超网络块,包括:
6.如权利要求1所述的模型生成方法,其特征在于,所述性能指标约束包括推理延时约束、推理速度约束和内存消耗约束中的至少一个。
...【技术特征摘要】
1.一种基于神经网络结构搜索的模型生成方法,其特征在于,包括:
2.如权利要求1所述的模型生成方法,其特征在于,所述依次训练每个超网络块,包括:
3.如权利要求2所述的模型生成方法,其特征在于,所述第k个超网络块通过多次迭代训练来训练好,针对每一次迭代过程,所述针对第k个超网络块,从所述第k个超网络块中采样第一路径,并从所述第k个超网络块之前的k-1个训练好的超网络块中采样第二路径;将所述第一路径与所述第二路径连接起来进行训练,从而对所述第一路径的权重进行更新,包括:
4.如权利要求2或3所述的模型生成方法,其特征在于,所述第一路径还通过嵌入的备用颈连接识别头,所述备用颈用于将所述第一路径输出的特征与所述识别头进行适配,所述识别头用于识别适配后的特征。
5.如权利要求1所述的模型生成方法,其特征在于,所述超网络包括空间模型和序列模型,其中,所述将所述...
【专利技术属性】
技术研发人员:张辉,
申请(专利权)人:第四范式北京技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。