神经网络的构建方法和装置制造方法及图纸

技术编号:26343579 阅读:22 留言:0更新日期:2020-11-13 20:47
本申请提供一种神经网络的构建方法和装置,涉及人工智能领域。该方法包括:初始化搜索空间和多个构建块,所述搜索空间中包括多个操作符,该构建块则是由多个节点之间通过操作符连接得到的网络结构;在训练过程中,在至少一次训练轮次中,随机丢弃部分操作符,以及利用未被丢弃的操作符更新该多个构建块,之后利用更新后的多个构建块构建目标神经网络。该方法通过随机丢弃部分操作符,打破了操作符之间的关联性,克服了训练过程中存在的耦合问题,使得获得的目标神经网络的性能更好。

Construction method and device of neural network

【技术实现步骤摘要】
神经网络的构建方法和装置
本申请涉及人工智能领域,并且更具体地,涉及一种神经网络的构建方法和装置。
技术介绍
随着人工智能(artificialintelligence,AI)技术的快速发展,神经网络(例如,深度神经网络)近年来在图像、视频以及语音等多种媒体信号的处理与分析中取得了很大的成就。一个性能优良的神经网络往往拥有精妙的网络结构,而这需要具有高超技能和丰富经验的人类专家花费大量精力进行构建。为了更好地构建神经网络,人们提出了通过神经网络架构搜索(neuralarchitecturesearch,NAS)的方法来搭建神经网络,通过自动化地搜索神经网络结构,从而得到性能优异的神经网络结构。可微分架构搜索(differentiablearchitecturesearch,DARTS)是非常常见的神经网络架构搜索方法,由于DARTS被形式化为了一种二阶优化问题,所以有很多研究工作就指出,DARTS在搜索过程中是不稳定的,且难以收敛,经常会引导至搜索出较差的架构,而且二阶优化的计算开销相较于一阶优化更大,数据利用率也更低。为了缓解DARTS中的不稳定性问题,后来有相关技术如随机神经网络架构搜索(stochasticNAS,SNAS)、StacNAS等一阶优化的搜索方法。在现有技术中还有很多采用一阶优化的DARTS相较于二阶优化方法有着诸多优势之处,例如实现起来更容易,优化时收敛得更快,内存和数据利用率更高等。但是,在实际使用中却发现,当直接将一阶优化方法应用于原始的DARTS的搜索空间中时,搜索得到的架构的性能却比二阶优化方法所得架构更差。一阶优化比二阶优化收敛快,但搜索出的架构性能较差,主要原因在于一阶优化时每次会同时优化所有操作符,而不同种类的操作符所需要的训练轮次(轮数)差异性较大,需要的训练轮次较少的操作符提前训练出了良好的表达能力,使得整个训练过程中不断偏好这类操作符,导致需要的训练轮次较多的操作符能够得到的表达机会较少。操作符之间的表达能力差距导致最终所搜索到的架构是最快收敛的神经网络架构,但不是性能最优的神经网络架构。因此,如何兼顾神经网络搜索方法的收敛速度和搜索质量,使得能够更好地获得满足需求的神经网络架构是亟待解决的技术问题。
技术实现思路
本申请实施例提供一种神经网络的构建方法和装置,能够更好地获得满足需求的神经网络架构。第一方面,提供一种神经网络的构建方法,该方法包括:初始化搜索空间和多个构建块,所述搜索空间中包括多个操作符,该构建块则是由多个节点之间通过操作符连接得到的网络结构;在训练过程中,在至少一次训练轮次中,随机丢弃部分操作符,以及利用未被丢弃的操作符更新该多个构建块,之后利用更新后的多个构建块构建目标神经网络。在本申请的技术方案中,主要通过随机丢弃操作符的方式使得操作符之间相对公平,打破NAS中对于部分收敛速度很快的操作符的偏好,使得所有操作符都有机会得到表达,从而搜索出更好的神经网络架构。也就是说,针对搜索过程中操作符之间存在的耦合问题和马太效应,本申请实施例提出一种对基于一阶优化的NAS的改进方案,既能够发挥一阶优化的优势,又能够通过打破操作符之间的关联性,使得参数少的操作符和参数多的操作符都能够有表达的机会,从而解决上述耦合问题和马太效应所导致的一阶优化的神经网络搜索方法所构建的神经网络架构性能较差的问题。但应理解,本申请实施例的方案也可以用在其他NAS方法中,只要操作符之间存在耦合问题的NAS场景都可以采用本申请实施例的方案进行改进。可选地,可以利用在任意训练轮次更新后的多个构建块来构建目标神经网络,例如可以采用堆叠的方式。随着训练轮次的增加,所获得的更新后构建块更优,能够构建出性能更好的目标神经网络。结合第一方面,在第一方面的某些实现方式中,可以利用最后一次的训练轮次中获得的更新后的多个构建块构建目标神经网络。可选地,在随机丢弃部分操作符的时候,可以设置丢弃率进行丢弃。可选地,在随机丢弃部分操作符的时候,可以分组丢弃。结合第一方面,在第一方面的某些实现方式中,可以将操作符根据种类划分到多个操作符组,在随机丢弃时,多个操作符组中的每个操作符组均保留至少一个操作符。分组随机丢弃,以及保证每个组中都有至少一个操作符不被丢弃,能够使得训练更为稳定,进一步提高搜索效果。可选地,还可以使得多个操作符组所包含的操作符的种类的交集为空,即同一种操作符只存在于一个操作符组中,因此,在每次丢弃的时候能够同时保留多种操作符。结合第一方面,在第一方面的某些实现方式中,还可以对操作符组设置不完全相同的丢弃率,例如当有两个操作符组的时候,可以使得两个操作符组的丢弃率不相同;当有三个及以上的操作符组的时候,可以使得其中的至少两个操作符组的丢弃率不同。进一步举例说明,可以使得所有操作符组的丢弃率均不相同,也可以只使得其中一部分操作符组的丢弃率不相同。结合第一方面,在第一方面的某些实现方式中,在上述分组时,可以根据每种操作符所包含的数量来确定。结合第一方面,在第一方面的某些实现方式中,上述多个操作符组可以包括第一操作符组和第二操作符组。其中,第一操作符组中的操作符均不包含参数,例如:零操作、跳连接、3×3平均池化、3×3最大池化。第二操作符组中的所有操作符均包含参数,例如:3×3可分离卷积、5×5可分离卷积、3×3扩大可分离卷积、5×5扩大可分离卷积。该分组方式可以看作是上述根据操作符数量进行分组的特例,也就是说,操作符所包含的参数数量为0的为第一组,非0的为第二组。如果是采用设置阈值的方式,则相当于阈值为0。需要说明的是,在本申请实施例中,随机丢弃部分操作符是为了使得操作符之间的竞争相对公平,而对于其他丢弃方式,反而可能加剧不公平的问题,例如假设只丢弃某一种或某几种操作符,则会导致对于这些被丢弃的操作符的“不公平”。丢弃部分操作符可能会在一定程度上降低收敛速度,所以相当于牺牲一定的收敛速度来换取性能更好的搜索结果。结合第一方面,在第一方面的某些实现方式中,在更新多个构建块时,可以只对未被丢弃的操作符所包含的参数进行权重衰减,能够有效避免过度正则化。结合第一方面,在第一方面的某些实现方式中,还可以根据被丢弃的所述操作符和未被丢弃的操作符的关系,来调整更新后的多个构建块的架构参数,则能够进一步保证执行丢弃操作之后的训练效果。也就是说,对于被丢弃的操作符,希望其架构参数保持不变,而实际更新过程中,由于整体参数的影响,其架构参数可能会发生改变。因此,可以将更新后的架构参数调整至更新前的值,或者尽可能接近更新前的值。例如可以通过引入新增项的方式进行调整。可选地,在本申请实施例中,操作符可以包括以下至少一种:跳连接、平均池化、最大池化、可分离卷积、扩大可分离卷积、置零操作。其中,跳连接对于中间跳过几个节点不存在限定。平均池化和最大池化均可以包括任意大小的池化,例如2×2、3×3、4×4、5×5……可分离卷积和扩大可分离卷积可以包括任意奇数大小的池化,3×3、5×5、7×7……本文档来自技高网
...

【技术保护点】
1.一种神经网络的构建方法,其特征在于,包括:/n初始化搜索空间和多个构建块,所述搜索空间中包括多个操作符,所述构建块是由多个节点之间通过所述操作符连接得到的网络结构;/n在至少一次训练轮次中,随机丢弃所述多个操作符中的部分操作符,利用未被丢弃的所述操作符更新所述多个构建块;/n利用更新后的所述多个构建块构建目标神经网络。/n

【技术特征摘要】
1.一种神经网络的构建方法,其特征在于,包括:
初始化搜索空间和多个构建块,所述搜索空间中包括多个操作符,所述构建块是由多个节点之间通过所述操作符连接得到的网络结构;
在至少一次训练轮次中,随机丢弃所述多个操作符中的部分操作符,利用未被丢弃的所述操作符更新所述多个构建块;
利用更新后的所述多个构建块构建目标神经网络。


2.如权利要求1所述的方法,其特征在于,所述利用更新后的所述多个构建块构建目标神经网络,包括:
利用最后一次的训练轮次中获得的所述更新后的多个构建块构建所述目标神经网络。


3.如权利要求1或2所述的方法,其特征在于,所述随机丢弃所述多个操作符中的部分操作符,包括:
根据所述多个操作符的种类,将所述多个操作符划分到多个操作符组;
在随机丢弃时,所述多个操作符组中的每个操作符组均保留至少一个操作符。


4.如权利要求3所述的方法,其特征在于,所述多个操作符组具有不完全相同的丢弃率,所述丢弃率用于表示所述多个操作符组中的每种操作符被丢弃的概率。


5.如权利要求3或4所述的方法,其特征在于,所述多个操作符组是根据所述多个操作符中每种操作符所包含的参数数量确定的。


6.如权利要求3至5中任一项所述的方法,其特征在于,所述多个操作符组包括第一操作符组和第二操作符组,所述第一操作符组中的操作符均不包含参数,所述第二操作符组中的操作符均包含参数。


7.如权利要求1至6中任一项所述的方法,其特征在于,所述利用未被丢弃的所述操作符更新所述多个构建块,包括:
在更新所述多个构建块时,只对所述未被丢弃的操作符所包含的参数进行权重衰减。


8.如权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:
根据被丢弃的所述操作符和所述未被丢弃的操作符的关系,调整所述更新后的多个构建块的架构参数。


9.如权利要求1至8中任一项所述的方法,其特征在于,所述操作符包括以下至少一种:跳连接、平均池化、最大池化、可分离卷积、扩大可分离卷积、置零操作。


10.如权利要求1至9中任一项所述的方法,其特征在于,所述方法还包括:
获取图像分类训练样本;
利用所述图像分类训练样本对所述目标神经网络进行训练,获得图像分类模型,所述图像分类模型用于对图像进行分类。


11.如权利要求1至9中任一项所述的方法,其特征在于,所述方法还包括:
获取目标检测训练样本;
利用所述目标检测训练样本对所述目标神经网络进行训练,获得目标检测模型,所述目标检测模型用于从待处理图像中检测出目标。


12.如权利要求11所述的方法,其特征在于,所述目标包括以下至少一种:车辆、行人、障碍物、道路标识、交通标识。


13.一种神经网络的构建装置,其特征在于,包括:
初始化单元,用于初始化搜索空间和多个构建块,所述搜索空间中包括多个操作符,所述构建块是由多个节点之间通过所述操作符连接得到的网络结构;

【专利技术属性】
技术研发人员:洪伟峻李桂林张伟楠俞勇张星李震国
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1