本技术涉及深度学习,特别是涉及一种模型结构搜索方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术:
1、随着计算机技术的发展,出现了深度学习技术,深度学习已经在许多领域表现出强大的学习能力,包括图像识别、目标检测以及图像去噪等。然而,神经网络结构的设计在很大程度上依赖于人为的先验知识和经验,且人们现有的知识和思维在一定程度上限制了新的神经网络结构的发现。在这种情况下,出现了神经网络结构搜索(nas,neuralarchitecture search),可以通过自动学习的方式使用有限的计算资源和较少的人为干预,设计一种合理的神经网络结构。
2、传统的对于神经网络结构搜索方式,比如采用进化算法或基于强化学习的方式等,大多数在一个结构块内实现多个尺度,通过多个结构块从前往后堆叠以及结构块之间的跳连实现多尺度特征融合。然而,这些方法丢弃了像unet(u型网络)结构中“从粗到细”的多尺度特征融合思路,导致最终重构出来的模型结构性能不佳。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提高模型结构搜索效果的模型结构搜索方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本技术提供了一种模型结构搜索方法。所述方法包括:
3、获取待处理模型结构,所述待处理模型结构中包括有多个嵌套的通用子结构,每个通用子结构中包括有至少一个功能单元,每个功能单元中包括有至少一个操作模块;
4、随机选择目标尺度,从多个嵌套的通用子结构中随机选择目标通用子结构,从所述目标通用子结构的功能单元中随机选择至少一个目标操作模块;
5、根据所述目标尺度和所述目标操作模块,对所述待处理模型结构进行变异处理,得到对应的中间模型结构;
6、基于所述中间模型结构确定下次迭代变异过程中的待处理模型结构,并返回至所述随机选择目标尺寸的步骤继续执行,直至达到预设停止条件时停止迭代变异的过程;
7、根据多次变异所得到的多个中间模型结构分别对应的模型评价分数,从所述多个中间模型结构中筛选出目标模型结构。
8、在其中一个实施例中,所述待处理模型结构为对称结构,所述多个嵌套的通用子结构中的每个通用子结构分别对应于不同的尺度,单个通用子结构中包括有对应相同尺度的编码器单元、上采样单元、下采样单元和解码器单元,还包括有对应于下一尺度的通用子结构。
9、在其中一个实施例中,在所述至少一个目标操作模块为多个目标操作模块的情况下,所述从多个嵌套的通用子结构中随机选择目标通用子结构,从所述目标通用子结构的功能单元中随机选择至少一个目标操作模块,包括:
10、从多个嵌套的通用子结构中随机选择一个目标通用子结构;
11、从所述目标通用子结构的功能单元中,随机选择一个目标功能单元;
12、从所述目标功能单元中随机选择一个目标操作模块,返回所述从多个嵌套的通用子结构中随机选择一个目标通用子结构的步骤继续执行多次,得到多个目标操作模块。
13、在其中一个实施例中,所述根据所述目标尺度和所述目标操作模块,对所述待处理模型结构进行变异处理,得到对应的中间模型结构,包括:
14、根据所述目标尺度调整所述待处理模型结构的尺度,得到尺度调整后的模型结构;
15、确定与所述目标操作模块相对应的至少一个操作,并从与所述至少一个操作中的每个操作各自对应的搜索空间中确定出与各操作分别对应的变异信息;
16、基于各操作分别对应的变异信息对尺度调整后的模型结构进行变异处理,得到对应的中间模型结构。
17、在其中一个实施例中,所述基于所述中间模型结构确定下次变异过程中的待处理模型结构,包括:
18、将所述中间模型结构或者初始模型结构作为下次变异过程中的待处理模型结构。
19、在其中一个实施例中,所述根据所述目标尺度和所述目标操作模块,对所述待处理模型结构进行变异处理,得到对应的中间模型结构之后,所述方法还包括:
20、对所述中间模型结构进行初始化处理,得到对应的初始化网络;
21、随机输入采样数据,基于所述采样数据对所述初始化网络进行多次前向推理处理,以确定与所述中间模型结构对应的模型评价分数。
22、在其中一个实施例中,所述基于所述采样数据对所述初始化网络进行多次前向推理处理,以确定与所述中间模型结构对应的模型评价分数,包括:
23、将所述采样数据输入至所述初始化网络,并获取所述初始化网络在处理过程中得到的第一特征图;
24、在所述采样数据的基础上增加随机增量得到新的输入数据,将新的输入数据输入至所述初始化网络,并获取所述初始化网络在处理过程中得到的第二特征图;
25、基于所述第一特征图和第二特征图间的差异,确定与所述中间模型结构对应的模型评价分数。
26、在其中一个实施例中,所述对所述中间模型结构进行初始化处理,得到对应的初始化网络之前,所述方法还包括:
27、确定与所述中间模型结构对应的计算量、参数量和层数;
28、在所述中间模型结构所对应的计算量小于计算量阈值、且所述参数量小于参数量阈值、且所述层数小于层数阈值的情况下,执行所述对所述中间模型结构进行初始化处理,得到对应的初始化网络的步骤,否则,丢弃所述中间模型结构。
29、在其中一个实施例中,所述基于所述采样输入数据对所述初始化网络进行多次前向推理处理,以确定与所述中间模型结构对应的模型评价分数之后,所述方法还包括:
30、将当次变异所得到的中间模型结构加入至目标种群,并在目标种群的规模超过预设规模的情况下,移除所述目标种群中对应模型评价分数最低的中间模型结构;
31、所述基于多次变异所得到的多个中间模型结构分别对应的模型评价分数,从所述多个中间模型结构中筛选出目标模型结构,包括:
32、将达到预设停止条件后的目标种群中模型评价分数满足预设条件的中间模型结构,作为目标模型结构。
33、在其中一个实施例中,所述方法还包括:
34、获取与目标任务对应的训练数据;
35、基于所述训练数据对所述目标模型结构进行模型迭代训练,直至达到训练停止条件时停止,得到训练完成的目标任务模型。
36、第二方面,本技术还提供了一种模型结构搜索装置。所述装置包括:
37、获取模块,用于获取待处理模型结构,所述待处理模型结构中包括有多个嵌套的通用子结构,每个通用子结构中包括有至少一个功能单元;
38、随机选择模块,用于随机选择目标尺度,从多个嵌套的通用子结构中随机选择目标通用子结构,从所述目标通用子结构的功能单元中随机选择至少一个目标操作模块,每个功能单元中包括有至少一个操作模块;
39、变异模块,用于根据所述目标尺度和所述目标操作模块,对所述待处理模型结构进行变异处理,得到对应的中间模型结构;
40、迭代模块,用于基于所述中间模型结构确定下次迭代变异过程中的待处理模型结构,并返回至所述随机选择目标尺度的步骤继续执行,直至达到预设停止条件时停止迭代变异的过程;
41、筛选模块,用于根据多次变异所得到的多个中间模型结构分别对应的模型评价分数,从所述多个中间模型结构中筛选出目标模型结构。
42、第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
43、获取待处理模型结构,所述待处理模型结构中包括有多个嵌套的通用子结构,每个通用子结构中包括有至少一个功能单元,每个功能单元中包括有至少一个操作模块;
44、随机选择目标尺度,从多个嵌套的通用子结构中随机选择目标通用子结构,从所述目标通用子结构的功能单元中随机选择至少一个目标操作模块;
45、根据所述目标尺度和所述目标操作模块,对所述待处理模型结构进行变异处理,得到对应的中间模型结构;
46、基于所述中间模型结构确定下次迭代变异过程中的待处理模型结构,并返回至所述随机选择目标尺寸的步骤继续执行,直至达到预设停止条件时停止迭代变异的过程;
47、根据多次变异所得到的多个中间模型结构分别对应的模型评价分数,从所述多个中间模型结构中筛选出目标模型结构。
48、第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
49、获取待处理模型结构,所述待处理模型结构中包括有多个嵌套的通用子结构,每个通用子结构中包括有至少一个功能单元,每个功能单元中包括有至少一个操作模块;
50、随机选择目标尺度,从多个嵌套的通用子结构中随机选择目标通用子结构,从所述目标通用子结构的功能单元中随机选择至少一个目标操作模块;
51、根据所述目标尺度和所述目标操作模块,对所述待处理模型结构进行变异处理,得到对应的中间模型结构;
52、基于所述中间模型结构确定下次迭代变异过程中的待处理模型结构,并返回至所述随机选择目标尺寸的步骤继续执行,直至达到预设停止条件时停止迭代变异的过程;
53、根据多次变异所得到的多个中间模型结构分别对应的模型评价分数,从所述多个中间模型结构中筛选出目标模型结构。
54、第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
55、获取待处理模型结构,所述待处理模型结构中包括有多个嵌套的通用子结构,每个通用子结构中包括有至少一个功能单元,每个功能单元中包括有至少一个操作模块;
56、随机选择目标尺度,从多个嵌套的通用子结构中随机选择目标通用子结构,从所述目标通用子结构的功能单元中随机选择至少一个目标操作模块;
57、根据所述目标尺度和所述目标操作模块,对所述待处理模型结构进行变异处理,得到对应的中间模型结构;
58、基于所述中间模型结构确定下次迭代变异过程中的待处理模型结构,并返回至所述随机选择目标尺寸的步骤继续执行,直至达到预设停止条件时停止迭代变异的过程;
59、根据多次变异所得到的多个中间模型结构分别对应的模型评价分数,从所述多个中间模型结构中筛选出目标模型结构。
60、上述模型结构搜索方法、装置、计算机设备、存储介质和计算机程序产品,将待处理模型结构定义为包括有多个嵌套迭代式的通用子结构,每个通用子结构分别对应一个尺度,这样就能以单个尺度为单元对相应尺度内的功能单元中的操作模块进行随机搜索变异,使得变异出的中间模型结构不会破坏多尺度的网络的对称性,可以很好的符合“由粗到细”融合多尺度特征,这样再从多次变异所得到的中间模型结构中筛选出目标模型结构,可以在有限的计算资源的条件下,快速且准确的从搜索空间中搜索出性能良好的模型结构。