神经网络架构搜索方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:23191563 阅读:22 留言:0更新日期:2020-01-24 16:29
本申请公开了神经网络架构搜索方法、装置、计算机设备及存储介质,涉及深度学习技术领域,其中方法可包括:将神经网络架构划分为M个子结构,M为大于一的正整数;分别搜索各子结构中的拓扑结构;通过将各子结构中的拓扑结构相连得到神经网络架构。应用本申请所述方案,可提升搜索速度等。

Neural network architecture search method, device, computer equipment and storage medium

【技术实现步骤摘要】
神经网络架构搜索方法、装置、计算机设备及存储介质
本申请涉及深度学习
,特别涉及神经网络架构搜索方法、装置、计算机设备及存储介质。
技术介绍
目前,深度学习技术在很多方向上都取得了巨大的成功。在深度学习技术中,神经网络架构的好坏对于模型的效果有着非常重要的影响,手工设计神经网络架构需要非常丰富的经验及众多尝试,并且众多参数会产生爆炸性的组合,难于实现,因此近年来神经网络架构搜索技术(NAS,NeuralArchitectureSearch)成为研究热点。NAS是用算法代替繁琐的人工操作,自动搜索出最佳的神经网络架构,NAS的实现主要包括搜索空间定义、搜索策略和搜索目标评估等关键要素。搜索空间为要搜索神经网络架构的解的范围,其规模决定了搜索的难度和搜索时间等。神经网络由很多神经元组成,在深度学习中可将这些神经元称之为OP。目前,在进行神经网络架构搜索时,各OP之间可采用完全任意的组合方式,即每个OP均可和其它任意OP相连,搜索空间随着OP数量呈指数级增加,搜索空间巨大,搜索速度很慢。
技术实现思路
有鉴于此,本申请提供了神经网络架构搜索方法、装置、计算机设备及存储介质。具体技术方案如下:一种神经网络架构搜索方法,包括:将神经网络架构划分为M个子结构,M为大于一的正整数;分别搜索各子结构中的拓扑结构;通过将各子结构中的拓扑结构相连得到所述神经网络架构。根据本申请一优选实施例,所述通过将各子结构中的拓扑结构相连得到所述神经网络架构之前,进一步包括:搜索各子结构之间的连接方式;所述通过将各子结构中的拓扑结构相连得到所述神经网络架构包括:根据搜索出的连接方式将各子结构中的拓扑结构相连,得到所述神经网络架构。根据本申请一优选实施例,所述分别搜索各子结构之间的连接方式包括:按照预定原则,分别搜索各子结构之间的连接方式;所述预定原则包括:对于每个子结构,至多允许与位于所述子结构之上的各层子结构中的两个子结构相连。根据本申请一优选实施例,该方法进一步包括:对于任意两个子结构分别对应的第一拓扑结构和第二拓扑结构,通过将所述第一拓扑结构中的一个神经元与所述第二拓扑结构中的一个神经元相连,实现所述第一拓扑结构和所述第二拓扑结构的相连。一种神经网络架构搜索装置,包括:划分单元以及搜索单元;所述划分单元,用于将神经网络架构划分为M个子结构,M为大于一的正整数;所述搜索单元,用于分别搜索各子结构中的拓扑结构,通过将各子结构中的拓扑结构相连得到所述神经网络架构。根据本申请一优选实施例,所述搜索单元进一步用于,搜索各子结构之间的连接方式,根据搜索出的连接方式将各子结构中的拓扑结构相连,得到所述神经网络架构。根据本申请一优选实施例,所述搜索单元按照预定原则,分别搜索各子结构之间的连接方式;所述预定原则包括:对于每个子结构,至多允许与位于所述子结构之上的各层子结构中的两个子结构相连。根据本申请一优选实施例,所述搜索单元进一步用于,对于任意两个子结构分别对应的第一拓扑结构和第二拓扑结构,通过将所述第一拓扑结构中的一个神经元与所述第二拓扑结构中的一个神经元相连,实现所述第一拓扑结构和所述第二拓扑结构的相连。一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如以上所述的方法。一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。基于上述介绍可以看出,采用本申请所述方案,可将神经网络架构划分为多个子结构,并可分别搜索各子结构中的拓扑结构,通过将各子结构中的拓扑结构相连得到神经网络架构,通过限制搜索空间,提升了搜索速度;而且,可进一步搜索各子结构之间的连接方式,并可限定每个子结构至多允许与位于该子结构之上的各层子结构中的两个子结构相连,从而进一步限制了搜索空间,进而进一步提升了搜索速度;另外,由于不同子结构可以搜索到不同的拓扑结构,不同子结构之间的连接方式也可以进行搜索,搜索空间比较灵活,从而尽可能地确保了最终搜索到的神经网络架构的性能等。【附图说明】图1为本申请所述神经网络架构搜索方法第一实施例的流程图。图2为本申请所述神经网络架构搜索方法第二实施例的流程图。图3为本申请所示一神经网络架构的示意图。图4为本申请所述神经网络架构搜索装置实施例的组成结构示意图。图5示出了适于用来实现本申请实施方式的示例性计算机系统/服务器12的框图。【具体实施方式】为了使本申请的技术方案更加清楚、明白,以下参照附图并举实施例,对本申请所述方案进行进一步说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。另外,应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。图1为本申请所述神经网络架构搜索方法第一实施例的流程图。如图1所示,包括以下具体实现方式。在101中,将神经网络架构划分为M个子结构(block),M为大于一的正整数。在102中,分别搜索各子结构中的拓扑结构。在103中,通过将各子结构中的拓扑结构相连得到神经网络架构。将神经网络架构划分为多少个子结构及如何划分子结构可根据实际需要而定,本实施例中不作限制。其中,不同的子结构可分别对应不同的功能等。可基于搜索空间,针对每个子结构,分别对其中的拓扑结构进行搜索。如何进行搜索不作限制,如可采用现有的搜索策略来进行搜索。所述搜索策略可包括但不限于:基于强化学习的搜索策略、基于进化算法的搜索策略、基于梯度的搜索策略等。搜索出子结构中的拓扑结构,包括搜索出子结构中包含的OP以及各OP之间的连接方式等。如前所述,神经网络由很多神经元组成,在深度学习中可将这些神经元称之为OP。OP指特定的操作,如卷积(conv)、池化(pool)、全连接(fc)、批量归一化(bn)等。每个OP可包含若干输入和输出。可通过将各子结构中的拓扑结构相连得到神经网络架构,即可通过组合各子结构中的拓扑结构得到神经网络架构。可以看出,本实施例中,可将神经网络架构划分为多个子结构,并可分别搜索各子结构中的拓扑结构,进而可通过将各子结构中的拓扑结构相连得到神经网络架构,通过限制搜索空间,提升了搜索速度。优选地,除分别搜索各子结构中的拓扑结构外,还可搜索各子结构之间的连接方式。相应地,可根据搜索出的连接方式将各子结构中的拓扑结构相连,得到神经网络架构。优选地,在分别搜索各子结构之间的连接方式时,本文档来自技高网...

【技术保护点】
1.一种神经网络架构搜索方法,其特征在于,包括:/n将神经网络架构划分为M个子结构,M为大于一的正整数;/n分别搜索各子结构中的拓扑结构;/n通过将各子结构中的拓扑结构相连得到所述神经网络架构。/n

【技术特征摘要】
1.一种神经网络架构搜索方法,其特征在于,包括:
将神经网络架构划分为M个子结构,M为大于一的正整数;
分别搜索各子结构中的拓扑结构;
通过将各子结构中的拓扑结构相连得到所述神经网络架构。


2.根据权利要求1所述的方法,其特征在于,
所述通过将各子结构中的拓扑结构相连得到所述神经网络架构之前,进一步包括:搜索各子结构之间的连接方式;
所述通过将各子结构中的拓扑结构相连得到所述神经网络架构包括:根据搜索出的连接方式将各子结构中的拓扑结构相连,得到所述神经网络架构。


3.根据权利要求2所述的方法,其特征在于,
所述分别搜索各子结构之间的连接方式包括:
按照预定原则,分别搜索各子结构之间的连接方式;
所述预定原则包括:对于每个子结构,至多允许与位于所述子结构之上的各层子结构中的两个子结构相连。


4.根据权利要求2所述的方法,其特征在于,
该方法进一步包括:对于任意两个子结构分别对应的第一拓扑结构和第二拓扑结构,通过将所述第一拓扑结构中的一个神经元与所述第二拓扑结构中的一个神经元相连,实现所述第一拓扑结构和所述第二拓扑结构的相连。


5.一种神经网络架构搜索装置,其特征在于,包括:划分单元以及搜索单元;
所述划分单元,用于将神经网络架构划...

【专利技术属性】
技术研发人员:张刚温圣召希滕
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1