一种模型搜索方法、装置、设备及存储介质、程序产品与流程

文档序号:31657662发布日期:2022-09-27 22:33阅读:44来源:国知局
一种模型搜索方法、装置、设备及存储介质、程序产品与流程

1.本技术涉及人工智能领域中的计算机视觉技术,尤其涉及一种模型搜索方法、装置、设备及存储介质、程序产品。


背景技术:

2.模型搜索是指针对图像处理任务,从超网络中搜索出最合适的网络模型,以提高针对图像处理任务的处理效果的过程。模型搜索可以广泛应用到图像分割、图像识别等场景中。
3.相关技术中的模型搜索方式,是针对操作算子进行搜索,从而使得搜索得到网络模型在结构上存在局限性,使得搜索到最优的网络模型的难度加大,从而影响了模型搜索的性能。


技术实现要素:

4.本技术实施例提供一种模型搜索方法、装置、设备及计算机可读存储介质、程序产品,能够提高模型搜索的性能。
5.本技术实施例的技术方案是这样实现的:
6.本技术实施例提供一种模型搜索方法,包括:
7.基于搜索数据集,从搜索空间中为目标超网络中的多个网络单元分别搜索网络粒度的第一权值和算子粒度的多个第二权值;其中,所述网络粒度是对搜索模型的外部结构产生影响的权值粒度,所述算子粒度是对搜索模型内部的算子产生影响的权值粒度,所述目标超网络是由所有候选网络结构所构成的集合;
8.依据所述第一权值,从所述目标超网络的多个网络单元中提取至少两个目标网络单元,并利用至少两个所述目标网络单元连接得到目标网络结构;
9.基于多个所述第二权值和多个操作算子,生成所述目标网络结构的每个所述目标网络单元所对应的目标算子;
10.利用所述目标算子和每个所述目标网络单元,构建得到目标搜索模型,完成模型搜索。
11.本技术实施例提供一种模型搜索装置,包括:
12.权值搜索模块,用于基于搜索数据集,从搜索空间中为目标超网络中的多个网络单元分别搜索网络粒度的第一权值和算子粒度的多个第二权值;其中,所述网络粒度是对搜索模型的外部结构产生影响的权值粒度,所述算子粒度是对搜索模型的算子产生影响的权值粒度,所述目标超网络是由所有候选网络结构所构成的集合;
13.结构确定模块,用于依据所述第一权值,从所述目标超网络的多个网络单元中提取至少两个目标网络单元,并利用至少两个所述目标网络单元连接得到目标网络结构;
14.算子生成模块,用于基于多个所述第二权值和多个操作算子,生成所述目标网络结构的每个所述目标网络单元所对应的目标算子;
15.模型构建模块,用于利用所述目标算子和每个所述目标网络单元,构建得到目标搜索模型,完成模型搜索。
16.在本技术的一些实施例中,所述权值搜索模块,还用于基于所述搜索空间,构建稀疏超网络;所述目标超网络的深度和宽度大于所述稀疏超网络的深度和宽度;通过所述搜索数据集将所述稀疏超网络进行迭代更新,从所述搜索空间中确定候选空间;通过所述搜索数据集对所述目标超网络进行迭代更新,从所述候选空间中为所述目标超网络的每个网络单元分别搜索网络粒度的所述第一权值和算子粒度的多个所述第二权值。
17.在本技术的一些实施例中,所述搜索数据集包括:训练图像数据和验证图像数据;所述权值搜索模块,还用于基于所述训练图像数据,对第k轮迭代的第一初始超网络的模型参数进行更新,得到第k轮迭代的第一临时超网络;其中,k为正整数,第1轮迭代的第一初始超网络为所述稀疏超网络;基于所述验证图像数据,对第k轮迭代的第一临时超网络的每个网络单元的网络粒度的权值进行更新,得到第k轮迭代的第一中间超网络;基于所述验证图像数据,对第k轮迭代的第一中间超网络的每个网络单元的算子粒度的权值进行更新,得到第k轮迭代的第一更新超网络,并将第k轮迭代的第一更新超网络作为第k+1轮迭代的第一初始超网络;当将k达到m时,基于第m轮迭代的第一更新超网络的每个网络单元的算子粒度的权值,从所述搜索空间中确定所述候选空间;m是第一迭代总次数。
18.在本技术的一些实施例中,所述权值搜索模块,还用于针对所述搜索空间中的算子粒度的候选权值和第m轮迭代的第一更新超网络的每个网络单元的算子粒度的权值进行差异计算,得到权值差异;从所述搜索空间中,将所述权值差异大于差异阈值的所述算子粒度的候选权值进行剔除,得到所述候选空间。
19.在本技术的一些实施例中,所述权值搜索模块,还用于通过第k轮迭代的第一初始超网络,对所述训练图像数据进行兴趣对象的区域分割,得到第一分割区域;利用所述第一分割区域,以及所述兴趣对象在所述训练图像数据中的标注区域之间的损失值,对第k轮迭代的第一初始超网络的模型参数进行更新,得到第k轮迭代的第一临时超网络。
20.在本技术的一些实施例中,所述权值搜索模块,还用于通过第k轮迭代的第一临时超网络,对所述验证图像数据进行兴趣对象的区域分割,得到第二分割区域;利用所述第二分割区域,以及所述兴趣对象在所述验证图像数据中的标注区域之间的损失值,对第k轮迭代的第一临时超网络的每个网络单元的网络粒度的权值进行更新,得到第k轮迭代的第一中间超网络。
21.在本技术的一些实施例中,所述权值搜索模块,还用于通过第k轮迭代的第一中间超网络,对所述验证图像数据进行兴趣对象的区域分割,得到第三分割区域;利用所述第三分割区域,以及所述兴趣对象在所述验证图像数据中的标注区域之间的损失值,对第k轮迭代的第一中间超网络的每个网络单元的算子粒度的权值进行更新,得到第k轮迭代的第一更新超网络。
22.在本技术的一些实施例中,所述搜索数据集包括:训练图像数据和验证图像数据;所述权值搜索模块,还用于基于所述训练图像数据,对第i轮迭代的第二初始超网络的模型参数进行更新,得到第i轮迭代的第二临时超网络;i为正整数,第1轮迭代的第二初始超网络为目标超网络;基于所述验证图像数据,对第i轮迭代的第二临时超网络的每个网络单元的网络粒度的权值进行更新,得到第i轮迭代的第二中间超网络;基于所述验证图像数据,
对第i轮迭代的第二中间超网络的每个网络单元的算子粒度的权值进行更新,得到第i轮迭代的第二更新超网络,并将第i轮迭代的第二更新超网络作为第i+1轮迭代的第二初始更新网络;当i达到n时,将第n轮迭代的第二更新超网络的每个网络单元网络粒度的权值确定为所述第一权值,将第n轮迭代的第二更新超网络的每个网络单元的算子粒度的权值确定为所述第二权值;n是第二迭代总次数。
23.在本技术的一些实施例中,所述模型搜索装置还包括:数据集构建模块;所述数据集构建模块,用于所述基于搜索数据集,从搜索空间中为目标超网络中的多个网络单元分别搜索网络粒度的第一权值和算子粒度的多个第二权值之前,获取多个领域的图像数据集;基于预设概率分布,针对每个领域的所述图像数据集,确定对应的提取比例;按照所述提取比例,从每个领域的所述图像数据集中提取出每个领域的待混合图像数据;将多个领域的所述待混合图像数据,整合为所述搜索数据集。
24.在本技术的一些实施例中,所述算子生成模块,还用于基于多个所述第二权值,对多个所述操作算子的输出层进行融合,得到所述目标网络结构的每个所述目标网络单元所对应的目标算子,所述多个操作算子至少包括:水平融合算子、上采样算子和下采样算子;其中,所述水平融合算子是输入特征的尺寸和输出特征的尺寸相同的算子,所述上采样算子是输入特征的尺寸小于输出特征的尺寸的算子,所述下采样算子是输入特征的尺寸小于输出特征的尺寸的算子;
25.所述模型构建模块,还用于将所述目标算子添加至所述目标网络结构的每个所述目标网络单元中,得到目标搜索模型,完成模型搜索。
26.在本技术的一些实施例中,所述模型搜索装置还包括:图像分割模块;所述图像分割模块,用于所述利用所述目标算子和每个所述目标网络单元,构建得到目标搜索模型,完成模型搜索之后,利用所述目标搜索模型,从获取到的医疗图像数据中分割出兴趣对象所在的兴趣区域。
27.本技术实施例提供一种模型搜索设备,包括:
28.存储器,用于存储可执行指令;
29.处理器,用于执行所述存储器中存储的可执行指令时,实现本技术实施例提供的模型搜索方法。
30.本技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本技术实施例提供的模型搜索方法。
31.本技术实施例提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现本技术实施例提供的模型搜索方法。
32.本技术实施例具有以下有益效果:模型搜索设备能够同时针对目标超网络中的每个网络单元搜索得到网络粒度的第一权值,以及算子粒度的第二权值,并通过第一权值确定网络模型所需要的目标网络单元,以连接得到外部网络结构,即确定目标网络结构,通过第二权值和不同的操作算子,构建每个网络单元的目标算子,从而实现了在模型搜索时,同时进行网络级别的搜索和算子级别的搜索,如此,能够使得搜索得到的网络模型的结构更加多样化,从而提升了模型搜索的性能。
附图说明
33.图1是编码-解码网络的结构示意图;
34.图2是基于模型搜索生成编码-解码网络的变种网络的示意图;
35.图3是本技术实施例提供的模型搜索系统的架构示意图;
36.图4是本技术实施例提供的图3中的服务器的结构示意图;
37.图5是本技术实施例提供的模型搜索方法的一个流程示意图;
38.图6是本技术实施例提供的模型搜索方法的另一个流程示意图;
39.图7是本技术实施例提供的模型搜索方法的又一个流程示意图;
40.图8是本技术实施例提供的虚拟数据集的示意图;
41.图9是本技术实施例提供的编织网络的结构示意图;
42.图10是本技术实施例提供的常规单元的示意图;
43.图11是本技术实施例提供的对医疗图像数据进行分割的效果对比图。
具体实施方式
44.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
45.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
46.在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
47.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
48.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
49.1)人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
50.人工智能技术是一门综合学习,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及深度学习/深度学习、智能驾驶等几大方向。
51.2)计算机视觉技术(computer vision,cv)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、ocr、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3d技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
52.3)机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
53.4)模型搜索(nerral architecture search,nas)是一种自动设计神经网络的策略。通过设定一定的搜索空间,设计搜索策略在搜索空间中寻找在验证数据集上表现最好的网络结构。
54.5)连续松弛,是一种将离散空间连续化的方法,本质上利用softmax函数将一个序列从离散空间变换到连续空间。
55.6)超网络(super network)是指在模型搜索过程中包含所有可能的子网络的集合。基于设置好的搜索空间,可以生成一个超网络,该超网络中包含多个子网络,这些子网络经过训练之后都能够用于被评测性能指标。
56.7)网络单元,用于堆叠生成网络结构的模块(block)。
57.8)操作算子,由多个卷积层、池化层等基础网络层组合而成的小型网络模块,能够用于针对图像(或特征图)进行操作处理,例如针对特征图进行特征组合,或者是针对特征图进行压缩等等。操作算子按照所实现的操作,可以分为下采样算子、上采样算子、标准算子(即输入和输出大小相同的算子)、压缩算子、多尺度算子等等。
58.随着人工智能技术的研究和进步,人工智能技术在多个领域展开研究和应用,例如场景的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等。相信随着人工智能技术的发展,人工智能技术将在更多领域得到应用,并发挥越来与重要的价值。
59.模型搜索是指针对图像处理任务,从超网络中搜索出最合适的网络模型,以提高针对图像处理任务的处理效果的过程。模型搜索可以广泛应用到图像分割、图像识别等场景中。
60.相关技术中,模型搜索都是针对网络结构中的各个网络单元,进行模型算子的搜索,即通过模型搜索为网络结构中的网络单元从搜索空间中搜索到合适的操作算子,利用操作算子和已有的网络结构,整合得到最终的网络模型。
61.然而,相关技术中的模型搜索方式,是针对操作算子进行搜索,从而使得搜索得到网络模型的结构,始终会受到用于进行模型搜索的网络结构的限制,即使得网络模型的在
结构上存在局限。
62.示例性的,图1是编码-解码网络的结构示意图。编码-解码(encoder-decoder)网络1-1由编码路径1-11和解码路径1-12组成,并且在编码路径1-11和解码路径1-12之间,存在跳连1-13。在编码路径1-11中,通过下采样操作减小计算量,增大感受野,并且提高对小的输入波动的鲁棒性减少过拟合;在解码路径1-12中,通过上采样操作恢复在下采样过程中的像素损失,以执行端到端的图像分割任务。然而,编码-解码网络1-1无法恢复在下采样过程中产生的空间信息损失,因此引入了跳连1-13,使得编码路径上的低阶特征(低阶特征具有更多的空间结构信息)和解码路径上的高阶特征(高阶特征损失了空间结构信息)进行融合,使得融合后的特征集成了更多底层特征,以使得分割后的特征图具有更精确的边缘信息。
63.图2是基于模型搜索生成编码-解码网络的变种网络的示意图。参见图2,变种网络2-2是针对编码-解码网络2-1中的各个网络单元2-22,从标准算子(normal cell)、压缩算子(reduce cell)和多尺度算子(multi-scale cell)中,搜索出合适的操作算子2-21,从而使得变种网络2-2的网络单元2-22的结构更加多样化,以适应不同领域的图像分割任务。
64.由此可见,基于模型搜索所生成的变种网络,与解码-编码网络的结构存在很大的相似性,即使得搜索得到的网络模型的结构存在局限,难以搜索到最优的网络模型,从而影响了模型搜索的性能。
65.除此之外,相关技术中用于模型搜索的数据集,大多是自然图像领域的(例如,生活场景的图像、动植物的图像等)。当模型搜索应用到图像分割领域,特别是医疗图像分割领域时,由于医疗图像数据是十分有限的,且具有较强的域间隙(domain gap),使得针对医疗图像分割任务进行模型搜索时,会更倾向于选择无参数操作,影响搜索到的网络模型的性能,也即使得模型搜索的性能较差。
66.本技术实施例提供一种模型搜索方法、装置、设备和计算机可读存储介质、程序产品,能够提高模型搜索的性能。下面说明本技术实施例提供的模型搜索设备的示例性应用,本技术实施例提供的模型搜索设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的终端,也可以实施为服务器。下面,将说明模型搜索设备实施为服务器的示例性应用。
67.参见图3,图3是本技术实施例提供的模型搜索系统的架构示意图。为实现支撑一个模型搜索应用,在模型搜索系统100中,终端400(示例性示出了终端400-1和终端400-2)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。在模型搜索系统100中,还设置有数据库500,以向服务器200提供数据支持。数据库500可以集成在服务器200中,也可以独立于服务器200。图1示出的是数据库500独立于服务器200的情况。
68.终端400-1用于生成搜索数据集,并通过网络300将搜索数据集传输给服务器200。
69.服务器200用于基于搜索数据集,从搜索空间中为目标超网络中的多个网络单元分别搜索网络粒度的第一权值和算子粒度的多个第二权值;其中,网络粒度是对搜索模型的外部结构产生影响的权值粒度,算子粒度是对搜索模型内部的算子产生影响的权值粒度,目标超网络是由所有候选网络结构所构成的集合;依据第一权值,从目标超网络的多个
网络单元中提取至少两个目标网络单元,并利用至少两个目标网络单元连接得到目标网络结构;基于多个第二权值和多个操作算子,生成所述目标网络结构的每个目标网络单元所对应的目标算子;利用目标算子和每个目标网络单元,构建得到目标搜索模型,完成模型搜索。
70.服务器200还用于将目标搜索模型下发给终端400-2。终端400-2用于利用目标搜索模型,针对医疗图像数据进行兴趣区域的分割,并在图形界面410-2中展示兴趣区域。
71.在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能家电、车载终端、医疗图像分析设备等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术实施例中不做限制。
72.参见图4,图4是本技术实施例提供的图3中的服务器(模型搜索设备的一种实施)的结构示意图,图4所示的服务器200包括:至少一个处理器210、存储器250、至少一个网络接口220和用户接口230。服务器200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线系统240。
73.处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
74.用户接口230包括使得能够呈现媒体内容的一个或多个输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口230还包括一个或多个输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
75.存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。
76.存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本技术实施例描述的存储器250旨在包括任意适合类型的存储器。
77.在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
78.操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
79.网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算
设备,示例性的网络接口220包括:蓝牙、无线相容性认证(wi-fi)、和通用串行总线(usb,universal serial bus)等;
80.呈现模块253,用于经由一个或多个与用户接口230相关联的输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
81.输入处理模块254,用于对一个或多个来自一个或多个输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
82.在一些实施例中,本技术实施例提供的模型搜索装置可以采用软件方式实现,图4示出了存储在存储器250中的模型搜索装置255,其可以是程序和插件等形式的软件,包括以下软件模块:权值搜索模块2551、结构确定模块2552、算子生成模块2553、模型构建模块2554、数据集构建模块2555和图像分割模块2556,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
83.在另一些实施例中,本技术实施例提供的模型搜索装置可以采用硬件方式实现,作为示例,本技术实施例提供的模型搜索装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本技术实施例提供的模型搜索方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)或其他电子元件。
84.在一些实施例中,服务器(模型搜索设备的一种实施)可以通过运行计算机程序来实现本技术实施例提供的模型搜索方法。举例来说,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(native)应用程序(app,application),即需要在操作系统中安装才能运行的程序,如模型搜索app;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意app中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
85.本技术实施例可以应用于云技术、人工智能、智慧交通、车载、医疗等各种场景。下面,将结合本技术实施例提供的模型搜索设备的示例性应用和实施,说明本技术实施例提供的模型搜索方法。
86.参见图5,图5是本技术实施例提供的模型搜索方法的一个流程示意图,将结合图5示出的步骤进行说明。
87.s101、基于搜索数据集,从搜索空间中为目标超网络中的多个网络单元分别搜索网络粒度的第一权值和算子粒度的多个第二权值。
88.本技术实施例是在针对图像处理任务进行模型搜索的场景下实现的,例如,针对医疗图像分割任务进行模型搜索,针对物体识别任务进行模型搜索。当模型搜索流程开始之后,首先,模型搜索设备会从数据库或者是自身的存储空间中获取搜索数据集,然后将搜索数据集输入至构建好的目标超网络中,以利用搜索数据集,在搜索空间中对目标超网络中的每个网络单元在网络粒度上的权值进行搜索,最终确定出每个网络单元的第一权值,以及对每个网络单元的在算子粒度上的权值进行搜索,针对每个网络单元确定多个操作算子各自的第二权值,从而得到多个第二权值。
89.需要说明的是,网络粒度是对搜索模型的外部结构产生影响的权值粒度,算子粒度是对搜索模型内部的算子产生影响的权值粒度,目标超网络是由所有候选网络结构所构成的集合。也即,从目标超网络中,根据每个网络单元的网络粒度的权值和算子粒度的权值,能够创建得到多个不同的网络模型。而第一权值是搜索到的较佳的网络粒度的权值,第二权值是搜索到的较佳的算子粒度的权值,模型搜索设备根据每个网络单元的第一权值,影响搜索模型的外部结构(例如不同网络单元的是否存在跳连,模型共有多少个网络单元等),同时根据每个网络单元的多个第二权值,影响搜索模型内部的算子(例如某个网络单元为上采样算子,还是下采样算子),如此,就能够针对图像处理任务创建出一个较为合理的网络模型。
90.在一些实施例中,模型搜索设备可以通过搜索数据集对目标超网络进行更新迭代,得到从搜索空间中搜索得到第一权值和第二权值,即通过一次搜索就得到第一权值和第二权值。
91.在另一些实施例中,模型搜索设备还可以先构建一个比目标超网络规模较小的超网络,然后通过搜索数据集对该超网络进行更新迭代,从搜索空间中确定出一个更小的候选空间,并利用基于搜索数据集对目标超网络进行更新迭代,从候选搜索空间中搜索得到第一权值和第二权值,从而通过两个阶段的搜索,得到第一权值和第二权值。
92.可以理解的是,搜索空间中具有超网络的每个网络单元在网络粒度可选的候选权值,以及每个单元在算子粒度可选的候选权值。
93.s102、依据第一权值,从目标超网络的多个网络单元中提取至少两个目标网络单元,并利用至少两个目标网络单元连接得到目标网络结构。
94.模型搜索设备利用搜索得到的第一权值,能够确定出目标超网络中的每个网络单元是否能够给图像处理任务带来处理性能的提升(例如准确率提高、推理速度加快等),以从目标超网络的多个网络单元中,提取得到针对图像处理任务带来处理性能提升的网络单元,将提取出的网络单元,作为目标网络单元。如此,模型搜索设备就能够得到至少两个目标网络单元。接着,模型搜索设备会按照目标网络单元在目标超网络中的顺序,或者是与目标网络单元在目标超网络中的顺序相反的顺序,将至少两个目标网络单元进行连接,得到目标网络结构。
95.在一些实施例中,模型搜索设备可以将第一权值大于权值阈值的网络单元确定为目标网络单元。在另一些实施例中,模型搜索设备还可以将第一权值最大的n个网络单元确定为目标网络单元。本技术实施例在此不做具体限制。
96.需要说明的是,本步骤中所确定出的目标网络单元还未添加操作算子,从而,利用多个目标网络单元所拼接出的目标网络结构,仅仅表征了搜索到的模型的外部网络结构,例如,网络单元的数量,每个网络单元在目标结构模型中所处的位置等等。
97.s103、基于多个第二权值和多个操作算子,生成目标网络结构的每个目标网络单元所对应的目标算子。
98.在一些实施例中,模型搜索设备可以按照多个第二权值,对多个操作算子进行加权,并利用加权后的操作算子进行融合,得到每个目标网络单元的目标算子。
99.在另一些实施例中,模型搜索设备可以将多个第二权值,分别与算子粒度的权值阈值进行比较,然后从多个操作算子中,提取第二权值大于或等于该权值阈值的操作算子,
将提取得到的操作算子确定为目标算子。
100.s104、利用目标算子和每个目标网络单元,构建得到目标搜索模型,完成模型搜索。
101.模型搜索设备在融合得到的每个目标网络单元所对应的目标算子之后,可以将目标算子添加到每个目标网络单元中,以使得每个目标网络单元能够对图像(或特征图)进行处理,得到能够用于进行图像处理任务的目标搜索模型,也可以针对一些目标算子进行剪枝、压缩等处理,并将处理后的目标算子添加到对应的目标网络单元中,得到目标搜索模型,本技术实施例在此不做限定。
102.可以理解的是,相比于相关技术中的模型搜索是对操作算子进行搜索,使得搜索得到的网络模型的结构存在局限,本技术实施例中,模型搜索设备能够同时针对目标超网络中的每个网络单元搜索得到网络粒度的第一权值,以及算子粒度的第二权值,并通过第一权值确定网络模型所需要的目标网络单元,以连接得到外部网络结构,即确定目标网络结构,通过第二权值和不同的操作算子,构建每个网络单元的目标算子,从而实现了在模型搜索时,同时进行网络级别的搜索和算子级别的搜索,如此,能够使得搜索得到的网络模型的结构更加多样化,从而提升了模型搜索的性能。
103.基于图5,参见图6,图6是本技术实施例提供的模型搜索方法的另一个流程示意图。在本技术的一些实施例中,基于搜索数据集,从搜索空间中为目标超网络中的多个网络单元分别搜索网络粒度的第一权值和算子粒度的多个第二权值,即s101的具体实现过程,可以包括:s1011-s1013,如下:
104.s1011、基于搜索空间,构建稀疏超网络。
105.s1012、通过搜索数据集将稀疏超网络进行迭代更新,从搜索空间中确定候选空间。
106.需要说明的是,目标超网络的深度和宽度大于稀疏超网络的深度和宽度。也就是说,模型搜索设备是针对搜索空间,重新构建了一个规模较小的稀疏超网络,然后从搜索空间对稀疏超网络的每个网络单元的网络粒度的权值和算子粒度的权值进行初始化,并利用搜索数据集对稀疏超网络的每个网络单元初始化所得到的网络粒度的权值和算子粒度的权值进行更新迭代,以筛选搜索空间中针对稀疏超网络在搜索数据集上的推理效果好的网络粒度的候选权值和算子粒度的候选权值(可由更新迭代完成之后针对稀疏超网络所选择出的网络粒度的权值和算子粒度的权值来确定),剔除搜索空间中针对稀疏超网络在搜索数据集上的推理效果差的网络粒度的候选权值和算子粒度的候选权值,也即从搜索空间中提取得到更优秀的候选空间。
107.s1013、通过搜索数据集对目标超网络进行迭代更新,从候选空间中为目标超网络的每个网络单元分别搜索网络粒度的第一权值和算子粒度的多个第二权值。
108.模型搜索设备在从搜索空间中确定出候选空间之后,会从候选空间中针对目标超网络的每个网络单元的网络粒度的权值和算子粒度的权值进行初始化,然后利用搜索数据集对目标超网络进行更新迭代,以对目标超网络中的每个网络单元的网络粒度的权值不断进行更新,直至更新迭代结束时,将最后一轮次的更新后的网络粒度的权值作为第一权值,并按照同样的方式针对每个网络单元得到多个第二权值。
109.可以理解的是,本技术实施例中,由于稀疏超网络的规模较小,所需要计算的参数
也就较少,进行迭代更新所需要的时间较少,模型搜索设备基于稀疏超网络进行第一阶段的搜索时,能够实现利用较少的时间从搜索空间中确定出候选空间,即利用较短的时间有效减小搜索空间的规模,以便于针对目标超网络能够直接从更小规模的候选空间中搜索第一权值和第二权值,有效提高模型搜索的效率。
110.在本技术的一些实施例中,搜索数据集包括:训练图像数据和验证图像数据。通过搜索数据集将稀疏超网络进行迭代更新,从搜索空间中确定候选空间,即s1012的具体实现过程,可以包括:s1012a-s1012d,如下:
111.s1012a、基于训练图像数据,对第k轮迭代的第一初始超网络的模型参数进行更新,得到第k轮迭代的第一临时超网络,其中,第1轮迭代的初始超网络为稀疏超网络。
112.若利用正整数k来表示针对稀疏超网络的更新迭代的轮次,那么,模型搜索设备在第k轮迭代时,会先利用搜索数据集中的训练图像数据,对第k轮迭代的第一初始超网络的模型参数进行更新,并将模型参数更新完成之后所得到的超网络,确定为第k轮迭代的临时超网络。其中,k为正整数,
113.需要说明的是,模型搜索设备是将构建好的稀疏超网络,作为第1轮迭代的第一初始超网络,将第1轮迭代完成之后所得到的超网络,作为下一轮迭代的第一初始超网络,如此循环往复,就能够实现对稀疏超网络的迭代更新。
114.可以理解的是,针对任何一个超网络,模型参数是都其最底层的参数,其可以理解为构成操作算子的网络层的参数,例如卷积层、池化层等的参数。
115.s1012b、基于验证图像数据,对第k轮迭代的第一临时超网络的每个网络单元的网络粒度的权值进行更新,得到第k轮迭代的第一中间超网络。
116.模型搜索设备在得到第k轮迭代的第一临时超网络之后,就会将验证图像数据输入第k轮迭代的第一临时超网络之中,以通过第k轮迭代的第一临时超网络针对验证图像数据中的推理结果,和验证图像数据的标签的差异,对第k轮迭代的第一临时超网络的每个网络单元的网络粒度的权值进行更新,在对网络粒度的权值更新完成之后所得到的超网络,就是第k轮迭代的第一中间超网络。
117.需要说明的是,搜索数据集中的训练图像数据和验证图像数据都是具有对应的标签,其中,训练图像数据的标签表明了训练图像数据中的目标对象的标注区域,验证图像数据的标签表明了验证图像数据中的目标对象的标注区域。
118.s1012c、基于验证图像数据,对第k轮迭代的第一中间超网络的每个网络单元的算子粒度的权值进行更新,得到第k轮迭代的第一更新超网络,并将第k轮迭代的第一更新超网络作为第k+1轮迭代的第一初始超网络。
119.模型搜索设备在得到第k轮迭代的第一中间超网络之后,会将验证图像数据再次输入至第k轮迭代的第一中间超网络中,以通过第k轮迭代的第一中间超网络对验证图像数据的推理结果和验证图像数据的标签之间的差异,对第k轮迭代的第一中间超网络的每个网络单元的算子粒度的权值进行更新,并将更新结束之后所得到的超网络确定为第k轮迭代的第一更新超网络,最后将第k轮迭代的第一更新超网络作为第k+1轮迭代的起始,以继续开始进行第k+1轮迭代的模型参数更新过程。
120.s1012d、当将k达到m时,基于第m轮迭代的第一更新超网络的每个网络单元的算子粒度的权值,从搜索空间中确定候选空间。
121.需要说明的是,m是第一迭代总次数。当k达到m时,模型搜索设备就进入了针对稀疏超网络的最后一轮迭代,即第m轮迭代,以得到第m轮迭代的第一更新超网络。接着,模型搜索设备会利用第m轮迭代的第一更新超网络的每个网络单元的算子粒度的权值,将搜索空间中表现不佳的算子粒度的权值进行剔除,从而得到候选空间。
122.本技术实施例中,模型搜索设备能够通过搜索数据集中的训练图像数据和验证图像数据,在第k轮迭代对超网络的模型参数、网络粒度的权值和算子粒度权值进行更新,并利用最后一轮的算子粒度的权值将搜索空间进行缩小,从而减少搜索空间的参数量。
123.在本技术的一些实施例中,基于第m轮迭代的第一更新超网络的每个网络单元的算子粒度的权值,从搜索空间中确定候选空间,即s1012d的具体实现过程,可以包括:s201-s202,如下:
124.s201、针对搜索空间中的算子粒度的候选权值和第m轮迭代的第一更新超网络的每个网络单元的算子粒度的权值进行差异计算,得到权值差异。
125.可以理解的是,模型搜索设备可以通过将搜索空间中的算子粒度的候选权值,和第m轮迭代的第一更新超网络的每个网络单元的算子粒度的权值进行做差,得到权值差异,也可以是将算子粒度的候选权值,和第m轮迭代的第一更新超网络的每个网络单元的算子粒度的权值相比,得到权值差异,本技术实施例在此不做限定。
126.s202、从搜索空间中,将权值差异大于差异阈值的算子粒度的候选权值进行剔除,得到候选空间。
127.模型搜索设备获取差异阈值,然后将权值差异和差异阈值进行大小比较,并将大于差异阈值的权值差异所对应的算子粒度的候选权值,从搜索空间中剔除,将完成剔除操作的搜索空间确定为候选空间。
128.可以理解的是,差异权值可以是人工设置的,也可以是模型搜索设备借助于人工智能技术,对搜索数据集的领域、或者搜索数据集中的各个图像数据的相似度进行分析之后确定出的,本技术实施例在此不做限定。
129.在本技术的一些实施例中,基于训练图像数据,对第k轮迭代的第一初始超网络的每个网络单元的模型参数进行更新,得到第k轮迭代的第一临时超网络,即s1012a的具体实现过程,可以包括:s203-s204,如下:
130.s203、通过第k轮迭代的第一初始超网络,对训练图像数据进行兴趣对象的区域分割,得到第一分割区域。
131.模型搜索设备将训练图像数据输入至第k轮迭代的第一初始网络中,以利用第k轮迭代的第一初始网络从训练图像数据中分割出兴趣对象所在的区域,得到第一分割区域。
132.可以理解的是,兴趣对象可以是医疗领域中的病灶、器官等等,也可以是日常生活中常见的物体,例如树木、路边的交通提示标志等等。
133.s204、利用第一分割区域,以及兴趣对象在训练图像数据中的标注区域之间的损失值,对第k轮迭代的第一初始超网络的模型参数进行更新,得到第k轮迭代的第一临时超网络。
134.模型搜索设备针对第一分割区域和兴趣对象在训练图像数据中实际所处的标注区域进行损失计算,得到第一分割区域与训练图像数据所对应的标注区域的损失值,然后求解该损失值针对第k轮迭代的第一初始超网络中原有的模型参数的偏导值,再利用该偏
导值和学习率之间的乘积,计算出模型参数的更新分量,利用该更新分量对第k轮迭代的第一初始超网络的模型参数进行更新,在更新结束之后就能够得到第k轮迭代的第一临时超网络。
135.示例性的,式(1)是对第k轮迭代的第一初始超网络的模型参数进行更新的计算过程:
[0136][0137]
其中,wk是第k轮迭代的第一初始超网络原始的模型参数,ηw表示模型参数的学习率,表示搜索数据集中的训练图像数据,αk是第k轮迭代的第一初始超网络的每个网络单元的算子粒度的权值,βk是第k轮迭代的第一初始超网络的每个网络单元的网络粒度的权值,是第一分割区域和训练图像数据对应的标注区域的损失值,是求偏导操作,w
k+1
是第k轮迭代的第一初始超网络更新后的模型参数。按照式(1),模型搜索设备就能够完成对第k轮迭代的第一初始超网络的模型参数的更新。
[0138]
在本技术的一些实施例中,基于验证图像数据,对第k轮迭代的第一临时超网络的每个网络单元的网络粒度的权值进行更新,得到第k轮迭代的第一中间超网络,即s1012b的具体实现过程,可以包括:s205-s206,如下:
[0139]
s205、通过第k轮迭代的第一临时超网络,对验证图像数据进行兴趣对象的区域分割,得到第二分割区域。
[0140]
s206、利用第二分割区域,以及兴趣对象在验证图像数据中的标注区域之间的损失值,对第k轮迭代的第一临时超网络的每个网络单元的网络粒度的权值进行更新,得到第k轮迭代的第一中间超网络。
[0141]
模型搜索设备将验证图像数据输入到第k轮迭代的第一临时超网络中,利用第k轮的第一临时超网络从验证图像数据中分割出兴趣对象所在的区域,将该区域确定为第二分割区域。然后,模型搜索设备会计算第二分割区域和兴趣对象在验证图像数据所处的区域,即验证图像数据对应的标注区域的损失值,并对该损失值求取网络粒度的权值的偏导,例如求解出的偏导值和网络粒度的权值的学习率,确定出网络粒度的权值的更新分量,然后利用确定出的更新分量对第k轮迭代的第一临时超网络的每个网络单元的网络粒度的权值进行更新,在完成更新之后就得到了第k轮迭代的第一中间超网络。
[0142]
本技术实施例中的对第k轮迭代的第一临时超网络的每个网络单元的网络粒度的权值进行更新的过程,可以表示为式(2):
[0143][0144]
其中,βk是第k轮迭代的第一临时超网络的每个网络单元的网络粒度的权值,w
k+1
是第k轮迭代的第一临时超网络的模型参数(也即第k轮迭代的第一初始超网络更新后的模型参数),αk是第k轮迭代的第一初始超网络的每个网络单元的算子粒度的权值,(w
k+1
;αk,βk)为第k轮迭代的第一临时超网络,v是验证图像数据,是第二分割区域和验证图像数据对应的标注区域的损失,η
β
是网络粒度的权值对应的学习率,β
k+1
是第k轮迭代的第一临时超网络的每个网络单元更新后的网络粒度的权值,是求偏导操作。按照式(2),模型搜索设备就能够完成对第k轮迭代的第一中间超网络的网络单元在网络粒度
的权值的更新。
[0145]
在本技术的一些实施例中,基于所述验证图像数据,对第k轮迭代的第一中间超网络的每个网络单元的算子粒度的权值进行更新,得到第k轮迭代的第一更新超网络,即s1012c的具体实现过程,可以包括:s207-s208,如下:
[0146]
s207、通过第k轮迭代的第一更新超网络,对验证图像数据进行兴趣对象的区域分割,得到第三分割区域
[0147]
s208、利用第三分割区域,以及兴趣对象在验证图像数据中的标注区域之间的损失值,对第k轮迭代的第一中间超网络的每个网络单元的算子粒度的权值进行更新,得到第k轮迭代的第一更新超网络。
[0148]
模型搜索设备计算第三分割区域和验证图像数据对应的标注区域的损失值,并对该损失值求取算子粒度的权值的偏导,例如求解出的偏导值和算子粒度的权值的学习率,确定出算子粒度的权值的更新分量,然后利用确定出的更新分量对第k轮迭代的第一中间超网络的每个网络单元的算子粒度的权值进行更新,将完成更新之后所得到的的超网络,确定为第k轮迭代的第一更新超网络。
[0149]
本技术实施例中的对第k轮迭代的第一更新超网络的每个网络单元的算子粒度的权值进行更新的过程,可以表示为式(3):
[0150][0151]
其中,αk是第k轮迭代的第一中间超网络的每个网络单元的算子粒度的权值,β
k+1
是第k轮迭代的第一中间超网络的每个网络单元的网络粒度的权值(也即第k轮迭代的第一临时超网络的每个网络单元更新后的网络粒度的权值),(w
k+1
;αk,β
k+1
)表示第k轮迭代的第一中间超网络,是第三分割区域和验证图像数据对应的标注区域的损失值,η
α
是算子粒度的权值对应的学习率,是求偏导操作,α
k+1
是第k轮迭代的第一中间超网络的每个网络单元更新后的算子粒度的权值。按照式(3),模型搜索设备就能够完成对第k轮迭代的第一中间超网络的网络单元在算子粒度的权值的更新。
[0152]
在本技术的一些实施例中,当搜索数据集包括:训练图像数据和验证图像数据时,通过搜索数据集对目标超网络进行迭代更新,从候选空间中为目标超网络的每个网络单元分别搜索网络粒度的第一权值和算子粒度的多个第二权值,即s1013的具体实现过程,可以包括:s1013a-s1013d,如下:
[0153]
s1013a、基于训练图像数据,对第i轮迭代的第二初始超网络的模型参数进行更新,得到第i轮迭代的第二临时超网络。
[0154]
其中,i为正整数,第1轮迭代的第二初始超网络为目标超网络。
[0155]
s1013b、基于验证图像数据,对第i轮迭代的第二临时超网络的每个网络单元的网络粒度的权值进行更新,得到第i轮迭代的第二中间超网络
[0156]
s1013c、基于验证图像数据,对第i轮迭代的第二中间超网络的每个网络单元的算子粒度的权值进行更新,得到第i轮迭代的第二更新超网络,并将第i轮迭代的第二更新超网络作为第i+1轮迭代的第二初始超网络。
[0157]
需要说明的是,s1013a-s1013c的具体实现过程,与s1012a-s1012c的具体实现过程类似,在此不再重复说明。
[0158]
s1013d、当i达到n时,将第n轮迭代的第二更新超网络的每个网络单元网络粒度的权值确定为第一权值,将第n轮迭代的第二更新超网络的每个网络单元的算子粒度的权值确定为第二权值。
[0159]
其中,n是第二迭代总次数。当i达到n,即达到第二迭代总次数时,模型搜索设备会对目标超网络进行最后一轮迭代更新,得到第n轮迭代的第二更新超网络。之后,模型搜索设备会将第n轮迭代的第二更新超网络的每个网络单元在网络粒度的权值进行提取,得到第一权值,以及对每个网络单元在算子粒度的权值进行提取,得到多个第二权值。至此,模型搜索设备就完成了第一权值和第二权值的确定过程。
[0160]
基于图6,参见图7,图7是本技术实施例提供的模型搜索方法的又一个流程示意图。在本技术的一些实施例中,基于搜索数据集,从搜索空间中为目标超网络中的多个网络单元分别搜索网络粒度的第一权值和算子粒度的多个第二权值之前,即在s101之前,该方法还可以包括:s105-s108,如下:
[0161]
s105、获取多个领域的图像数据集。
[0162]
s106、基于预设概率分布,针对每个领域的图像数据集,确定对应的提取比例。
[0163]
模型搜索设备可以从数据库,或者是网络上获取到多个不同领域的图像数据集,例如,医疗图像分割领域的数据集、医疗图像分类领域的数据集,然后利用预设概率分布,针对每个领域的图像数据集,分配其所对应的提取比例。
[0164]
可以理解的是,预设概率分布可以是beta分布,也可以是高斯分布,本技术实施例在此不做限定。
[0165]
示例性的,当预设概率分布为beta分布时,即beta(μ,μ)时,模型搜索设备可以结合超参数μ∈(0,+∞),确定{λ1,λ2,

,λa},然后再针对{λ1,λ2,

,λa}进行归一化处理,得到每个领域的提取比例,即得到每个领域的提取比例,即得到其中,a是领域的数量。
[0166]
s107、按照提取比例,从每个领域的图像数据集中提取出每个领域的待混合图像数据。
[0167]
s108、将多个领域的待混合数据集,整合为搜索数据集。
[0168]
模型搜索设备利用每个领域的图像数据集中所包含的图像数据的总数,以及每个领域的提取比例,计算出需要从每个领域的图像数据集中所提取的图像数据的数量,然后依据此数量在每个领域的图像数据集中随机、或者是按照顺序提取待混合图像数据,从而得到每个领域的待混合图像数据,并将每个领域的待混合图像数据整合为一个图像数据集,该集合就是搜索数据集。
[0169]
例如,当a个领域的提取比例分别为时,模型搜索设备可以针对每个领域的图像数据集,按照式(4)得到搜索数据集:
[0170][0171]
其中,是搜索数据集及其标签,{(x1,y1),(x2,y2),

,(xa,ya)}是从多个领域的图像数据集中抽取的图像数据和对应的标签。
[0172]
本技术实施例中,模型搜索设备能够从多个不同领域的图像数据集中的图像数据进行混合,得到搜索数据集,使得搜索数据集能够克服不同领域之间的域间隙,从而能够提高模型搜索时候的特征泛化能力,帮助模型搜索寻找具有特征充分聚合的最优模型,进一步提升模型搜索的性能。
[0173]
在本技术的一些实施例中,基于多个第二权值和多个操作算子,生成目标网络结构的每个目标网络单元所对应的目标算子,即s103的具体实现过程,可以包括:s1031,如下:
[0174]
s1031、基于多个第二权值,对多个操作算子的输出层进行融合,得到目标网络结构的每个目标网络单元所对应的目标算子。
[0175]
模型搜索设备利用每个操作算子所对应的第二权值,对每个操作算子的输出层进行加权,并利用加权后的输出层融合为一个(也可理解为加权后的输出层接入到下一个网络单元的输出层中),得到每个目标网络单元所对应的目标算子。也就是说,本步骤中,模型搜索设备是将多种操作算子融合为目标算子,而不是从多个操作算子中选择一个操作算子,作为每个目标网络单元所对应的目标算子,如此,能够使得每个目标网络单元所对应的目标算子针对输入图像(或特征图)的处理足够充分,加强目标算子的特征泛化能力。
[0176]
在本技术的一些实施例中,多个操作算子至少包括:水平融合算子、上采样算子和下采样算子。其中,水平融合算子是输入特征的尺寸和输出特征的尺寸相同的算子,上采样算子是输入特征的尺寸小于输出特征的尺寸的算子,下采样算子是输入特征的尺寸小于输出特征的尺寸的算子。水平融合算子、上采样算子和下采样算子都能够被建模为有向无环图(dag)。
[0177]
在本技术的一些实施例中,利用目标算子和每个目标网络单元,构建得到目标搜索模型,完成模型搜索,即s104的具体实现过程,可以包括:
[0178]
s1041、将目标算子添加至目标网络结构的每个目标网络单元中,得到目标搜索模型,完成模型搜索。
[0179]
模型搜索设备可以通过将目标算子的输入作为目标网络结构的输入,将目标算子的输出作为,如此,就能够实现将目标算子添加至对应的目标网络单元中,得到能够对输入图像(或特征图)进行处理的目标搜索模型。
[0180]
在本技术的一些实施例中,利用目标算子和每个目标网络单元,构建得到目标搜索模型,完成模型搜索,即在s104之后,该方法还可以包括:s109,如下:
[0181]
s109、利用目标搜索模型,从获取到的医疗图像数据中分割出兴趣对象所在的兴趣区域。
[0182]
也即,模型搜索设备在搜索得到目标搜索模型之后,可以利用获取医疗图像数据,针对医疗图像数据进行兴趣对象的区域分割,以从医疗图像数据中标注出兴趣区域,以通过兴趣区域辅助医疗人员的诊断过程。
[0183]
当然,模型搜索设备也可以将目标搜索模型发送给专业的电子医疗设备,以使得电子医疗设备能够用目标搜索模型来对医疗图像数据信息图像分割任务。
[0184]
下面,将说明本技术实施例在一个实际的应用场景中的示例性应用。
[0185]
本技术实施例是服务器在针对医疗图像数据的图像分割任务进行模型搜索的场景下实现的,以通过搜索到的模型,能够从医疗图像数据中标注出兴趣区域,例如病灶所在
的区域,器官所在的区域等等。
[0186]
服务器(模型搜索设备)首先会针对模型搜索过程,构建虚拟数据集(搜索数据集)。其中,虚拟数据集混合了多个数据集的医疗图像数据,能够解决针对医疗图像数据的图像分割任务在模型搜索时的泛化问题。
[0187]
其中,虚拟数据集可以通过式(4)进行构建。示例性的,图8是本技术实施例提供的虚拟数据集的示意图。服务器会先针对医疗数据集8-1、医疗数据集8-2和医疗数据集8-3(多个领域的图像数据集)分别确定图像的提取比例,然后按照提取比例从上述三个医疗数据集中分别随机提取图像数据,并利用抽取出的图像数据,组成虚拟数据集8-4,以便于后续利用虚拟数据集8-4,从可搜索的编织网络8-5(超网络)中搜索得到医疗图像分割模型(目标网络模型)。
[0188]
可搜索的编织网络由上采样单元(上采样算子)、下采样单元(下采样算子)和常规单元(水平融合算子)组成,分别代表自上而下、自下而上和水平方向的特征融合。
[0189]
示例性的,图9是本技术实施例提供的编织网络的结构示意图。图9中的编织网络的深度为6(即0至5),宽度为10(即0至9),每一个网络单元的特征图(即图9中的六边形)都是由上采样单元9-1、下采样单元9-2和常规单元9-3的输出的加权和得到,例如,图9中的特征图x
2,8
,由经过下采样单元的9-2(输入为特征图x
1,7
)的输出,上采样单元9-1(输入为特征图x
3,7
),常规单元9-3(输入为特征图x
2,6
和x
2,4
)的输出加权得到。深度图9-4是针对图像的预处理网络单元(例如stem单元)的输出。
[0190]
服务器会对搜索空间,采用单元级(算子粒度)和网络级(网络粒度)两个级别的搜索,得到不同网络单元,以及每个网络单元所对应的操作的最优组合。搜索空间中,具有网络级的所有权值和单元级的可选操作(常规单元取常规操作(normal-ops),下采样单元除了取常规操作之外,还会取下采样操作(down-ops),上采样单元除了取常规操作之外,还会取上采样操作(up-ops))。以常规单元为例,能够被建模为有向无环图。示例性的,图10是本技术实施例提供的常规单元的示意图,从图10可见,常规单元10-1能够由其他单元的输出10-11,以及其内部的网络层10-12,连接为一个有向无环图。
[0191]
服务器在对编织网络进行搜索时的优化函数可如式(5)所示:
[0192][0193]
其中,α是单元级操作的混合权值(算子粒度的权值),β是网络级的混合权值(网络粒度的权值),w是网络权值(模型参数)。损失函数用和表示,可基于若干个深度图计算得到,例如基于图9的中的x
1,5
、x
1,7
、x
1,9
计算得到它们分别由网络权值w和结构参数(α和β)决定。因此,针对式(5)的优化,是一个三级优化的问题,优化参数α是最上层的优化变量,β是中间的优化变量,而w
*
是最底层的优化变量。因此,在优化α和β之前,需要先根据上述约束求解w
*

[0194]
为了使得搜索过程更加高效,服务器首先会使用完整的搜索空间,设置深度为5,宽度为8的一个较浅的编织网络(稀疏网络),搜索一定的epoch,在第一阶段的搜索结束后根据单元级操作的参数将搜索空间减半,即剔除表现较差的操作集,然后再构建深度为6,宽度为10的编织网络,在减半之后的搜索空间(候选空间)中进行最终的搜索,通过这种搜
索可以平衡搜索空间和效率。
[0195]
下面,对服务器的搜索过程进行说明。
[0196]
首先,获取虚拟数据集,并将其划分为训练集(训练图像数据)和验证集(验证图数据),设置单元级的学习率、网络级的学习率和网络权值的学习率。
[0197]
在第一个搜索阶段,从操作集和较浅的编织网络中初始化超网络,然后利用训练集先对超网络的网络权值进行迭代训练,经过一定的迭代次数之后,得到具有较优的网络权值的超网络,然后基于具有较优的网络权值的超网络作为迭代的起始网络,利用虚拟数据集进行迭代。此时,服务器会用训练集按照式(1)计算过程,实现对网络权值的更新,用验证集按照式(2)的方式,对网络级的混合权值进行更新,用验证集按照式(3)的方式,对单元级的混合权值进行更新,直至完成第一搜索阶段。
[0198]
在第一搜索阶段完成之后,服务器会将操作集进行减半处理,即例如常规单元的操作集为o1,上采样单元的操作集为o2,下采样单元的操作集为o3,服务器会基于halve(o1)、halve(o2)和halve(o3),开始第二搜索阶段。
[0199]
在第二个搜索阶段,服务器从减半的操作集和较深的编织网络中初始化超网络(目标超网络),然后按照与第一搜索阶段类似的方式,完成第二搜索阶段。
[0200]
下面,将本技术实施例提供的模型搜索的性能进行说明。
[0201]
服务器分别在isic2018、cvc和chaos-ct三个数据集上,运行基于本技术实施例提供的模型搜索方法所搜索到的模型,和人工设计的模型。运行结果如表1所示:
[0202]
表1
[0203][0204]
可见,本技术实施例的模型搜索方法所搜索到的模型在isic数据集、cvc数据集合chaos-ct数据集上搜索所得到的模型,除了基于cvc的模型,均能够取得比人工设计更高的性能,且参数量也更少。这主要是由于chaos-ct数据集较小,在模型搜索时更倾向于选择无参数操作,使得搜索到的模型的性能受限。而在本技术实施例的模型搜索方法的基础上,继续叠加虚拟数据集,即基于虚拟数据集(μ=0,μ=0.5和μ=1的模型)所得到的模型的一致性和相似性更好,从而可见虚拟数据集能够提升模型搜索的特征泛化能力。
[0205]
参见图11,图11是本技术实施例提供的对医疗图像数据进行分割的效果对比图。其中,模型11-1、模型11-2和模型11-3分别是基于本技术实施例提供的模型搜索方法,在虚拟数据集上搜索得到的模型,模型11-4是人工设计的模型。针对cvc数据集的图像11-5、isic数据集的图像11-6和chaos-ct数据集的图像11-7,模型11-1、模型11-2和模型11-3均能够取得比模型11-4更为平滑、清晰的分割结果,与真值11-8较为接近。由此可见,在虚拟数据集上运用本技术实施例所提供的模型搜索方法,能够搜索出对医疗图像数据具有良好
的分割效果的模型,从而提升了模型搜索的性能。
[0206]
可以理解的是,在本技术实施例中,涉及到用户信息,例如医疗图像数据等相关的数据,当本技术实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0207]
下面继续说明本技术实施例提供的模型搜索装置255的实施为软件模块的示例性结构,在一些实施例中,如图4所示,存储在存储器250的模型搜索装置255中的软件模块可以包括:
[0208]
权值搜索模块2551,用于基于搜索数据集,从搜索空间中为目标超网络中的多个网络单元分别搜索网络粒度的第一权值和算子粒度的多个第二权值;其中,所述网络粒度是对搜索模型的外部结构产生影响的权值粒度,所述算子粒度是对搜索模型内部的算子产生影响的权值粒度,所述目标超网络是由所有候选网络结构所构成的集合;
[0209]
结构确定模块2552,用于依据所述第一权值,从所述目标超网络的多个网络单元中提取至少两个目标网络单元,并利用至少两个所述目标网络单元连接得到目标网络结构;
[0210]
算子生成模块2553,用于基于多个所述第二权值和多个操作算子,生成所述目标网络结构的每个所述目标网络单元所对应的目标算子;
[0211]
模型构建模块2554,用于利用所述目标算子和每个所述目标网络单元,构建得到目标搜索模型,完成模型搜索。
[0212]
在本技术的一些实施例中,所述权值搜索模块2551,还用于基于所述搜索空间,构建稀疏超网络;所述目标超网络的深度和宽度大于所述稀疏超网络的深度和宽度;通过所述搜索数据集将所述稀疏超网络进行迭代更新,从所述搜索空间中确定候选空间;通过所述搜索数据集对所述目标超网络进行迭代更新,从所述候选空间中为所述目标超网络的每个网络单元分别搜索网络粒度的所述第一权值和算子粒度的多个所述第二权值。
[0213]
在本技术的一些实施例中,所述搜索数据集包括:训练图像数据和验证图像数据;所述权值搜索模块2551,还用于基于所述训练图像数据,对第k轮迭代的第一初始超网络的模型参数进行更新,得到第k轮迭代的第一临时超网络;其中,k为正整数,第1轮迭代的第一初始超网络为所述稀疏超网络;基于所述验证图像数据,对第k轮迭代的第一临时超网络的每个网络单元的网络粒度的权值进行更新,得到第k轮迭代的第一中间超网络;基于所述验证图像数据,对第k轮迭代的第一中间超网络的每个网络单元的算子粒度的权值进行更新,得到第k轮迭代的第一更新超网络,并将第k轮迭代的第一更新超网络作为第k+1轮迭代的第一初始超网络;当将k达到m时,基于第m轮迭代的第一更新超网络的每个网络单元的算子粒度的权值,从所述搜索空间中确定所述候选空间;m是第一迭代总次数。
[0214]
在本技术的一些实施例中,所述权值搜索模块2551,还用于针对所述搜索空间中的算子粒度的候选权值和第m轮迭代的第一更新超网络的每个网络单元的算子粒度的权值进行差异计算,得到权值差异;从所述搜索空间中,将所述权值差异大于差异阈值的所述算子粒度的候选权值进行剔除,得到所述候选空间。
[0215]
在本技术的一些实施例中,所述权值搜索模块2551,还用于通过第k轮迭代的第一初始超网络,对所述训练图像数据进行兴趣对象的区域分割,得到第一分割区域;利用所述第一分割区域,以及所述兴趣对象在所述训练图像数据中的标注区域之间的损失值,对第k
轮迭代的第一初始超网络的模型参数进行更新,得到第k轮迭代的第一临时超网络。
[0216]
在本技术的一些实施例中,所述权值搜索模块2551,还用于通过第k轮迭代的第一临时超网络,对所述验证图像数据进行兴趣对象的区域分割,得到第二分割区域;利用所述第二分割区域,以及所述兴趣对象在所述验证图像数据中的标注区域之间的损失值,对第k轮迭代的第一临时超网络的每个网络单元的网络粒度的权值进行更新,得到第k轮迭代的第一中间超网络。
[0217]
在本技术的一些实施例中,所述权值搜索模块2551,还用于通过第k轮迭代的第一中间超网络,对所述验证图像数据进行兴趣对象的区域分割,得到第三分割区域;利用所述第三分割区域,以及所述兴趣对象在所述验证图像数据中的标注区域之间的损失值,对第k轮迭代的第一中间超网络的每个网络单元的算子粒度的权值进行更新,得到第k轮迭代的第一更新超网络。
[0218]
在本技术的一些实施例中,所述搜索数据集包括:训练图像数据和验证图像数据;所述权值搜索模块2551,还用于基于所述训练图像数据,对第i轮迭代的第二初始超网络的模型参数进行更新,得到第i轮迭代的第二临时超网络;i为正整数,第1轮迭代的第二初始超网络为目标超网络;基于所述验证图像数据,对第i轮迭代的第二临时超网络的每个网络单元的网络粒度的权值进行更新,得到第i轮迭代的第二中间超网络;基于所述验证图像数据,对第i轮迭代的第二中间超网络的每个网络单元的算子粒度的权值进行更新,得到第i轮迭代的第二更新超网络,并将第i轮迭代的第二更新超网络作为第i+1轮迭代的第二初始更新网络;当i达到n时,将第n轮迭代的第二更新超网络的每个网络单元网络粒度的权值确定为所述第一权值,将第n轮迭代的第二更新超网络的每个网络单元的算子粒度的权值确定为所述第二权值;n是第二迭代总次数。
[0219]
在本技术的一些实施例中,所述模型搜索装置255还包括:数据集构建模块2555;所述数据集构建模块2555,用于所述基于搜索数据集,从搜索空间中为目标超网络中的多个网络单元分别搜索网络粒度的第一权值和算子粒度的多个第二权值之前,获取多个领域的图像数据集;基于预设概率分布,针对每个领域的所述图像数据集,确定对应的提取比例;按照所述提取比例,从每个领域的所述图像数据集中提取出每个领域的待混合图像数据;将多个领域的所述待混合图像数据,整合为所述搜索数据集。
[0220]
在本技术的一些实施例中,所述算子生成模块2553,还用于基于多个所述第二权值,对多个所述操作算子的输出层进行融合,得到所述目标网络结构的每个所述目标网络单元所对应的目标算子,所述多个操作算子至少包括:水平融合算子、上采样算子和下采样算子;其中,所述水平融合算子是输入特征的尺寸和输出特征的尺寸相同的算子,所述上采样算子是输入特征的尺寸小于输出特征的尺寸的算子,所述下采样算子是输入特征的尺寸小于输出特征的尺寸的算子;
[0221]
所述模型构建模块2554,还用于将所述目标算子添加至所述目标网络结构的每个所述目标网络单元中,得到目标搜索模型,完成模型搜索。
[0222]
在本技术的一些实施例中,所述模型搜索装置255还包括:图像分割模块2556;所述图像分割模块2556,用于所述利用所述目标算子和每个所述目标网络单元,构建得到目标搜索模型,完成模型搜索之后,利用所述目标搜索模型,从获取到的医疗图像数据中分割出兴趣对象所在的兴趣区域。
[0223]
本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本技术实施例上述的模型搜索方法。
[0224]
本技术实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本技术实施例提供的模型搜索方法,例如,如图5示出的模型搜索方法。
[0225]
在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0226]
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0227]
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hyper text markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0228]
作为示例,可执行指令可被部署为在一个计算设备(模型搜索设备的一种实施)上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0229]
综上所述,通过本技术实施例,模型搜索设备能够同时针对目标超网络中的每个网络单元搜索得到网络粒度的第一权值,以及算子粒度的第二权值,并通过第一权值确定网络模型所需要的目标网络单元,以连接得到外部网络结构,即确定目标网络结构,通过第二权值和不同的操作算子,构建每个网络单元的目标算子,从而实现了在模型搜索时,同时进行网络级别的搜索和算子级别的搜索,如此,能够使得搜索得到的网络模型的结构更加多样化,从而提升了模型搜索的性能;能够实现先利用较少的时间从搜索空间中确定出候选空间,即利用较短的时间有效减小搜索空间的规模,以便于针对目标超网络能够直接从更小规模的候选空间中搜索第一权值和第二权值,有效提高搜索效率;以及能够从多个不同领域的图像数据集中的图像数据进行混合,得到搜索数据集,使得搜索数据集能够克服不同领域之间的域间隙,从而能够帮助模型搜索寻找具有特征充分聚合的最优模型,进一步提升模型搜索的性能。
[0230]
以上所述,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1