APP下载

神经网络搜索综述

2020-09-29李涛

电脑知识与技术 2020年17期
关键词:卷积神经网络深度学习

李涛

摘要:卷积神经网络在诸如目标识别、物体检测等任务上取得了优异结果,然而设计一个性能优异的网络依赖于专家知识。神经网络搜索(NAS)致力于自动化的设计出高性能的卷积神经网络,已经成为深度学习领域中的一个研究热点。在本文中,介绍了不同的神经网络搜索技术,并对每一种方法的优点和局限性进行了分析,最后指出了神经网络搜索领域存在的主要挑战和未来的研究方向。

关键词:深度学习;卷积神经网络;神经网络搜索

中图分类号:TP391        文献标识码:A

文章编号:1009-3044(2020)17-0177-02

Abstract: Convolutional neural networks have achieved excellent results on tasks such as target recognition and object detection. However, designing a network with excellent performance depends on expert knowledge. Neural architecture search (NAS) is dedicated to the automated design of high-performance convolutional neural networks, which has become a research hotspot in the field of deep learning. In this paper, different neural architecture search techniques are reviewed, and the advantages and limitations of each method are analyzed. Finally, the main challenges and research directions in the field of neural architecture search are pointed out.

Key words: deep learning; convolutional neural networks; neural architecture search

1 引言

神经网络搜索(NAS)可以由三个部分组成,搜索空间、评估方法、搜索方法。搜索空间包含了所有可能被设计出的网络结构,评估方法用来评估网络结构性能,搜索方法决定了如何探索搜索空间并从中找出性能优良的网络结构。接下来,将对这三部分进行仔细地介绍。

2 神经网络搜索

2.1搜索空间

卷积神经网络由卷积层、池化层和全连接层组成,决定卷积层类型的参数有卷积核大小、步长、通道数以及卷积类型等,决定池化层类型的参数有池化核大小、步长以及池化类型等,决定全连接层类型的参数则有通道数、激活函数等。卷积层、池化层以及全连接层可以看作组成卷积神经网络的基本构件。通常,在神经网络搜索方法中,搜索空间的定义决定了使用哪些基本构件以及如何使用这些基本构件来组成一个完整的卷积神经网络。

在链式搜索空间中,卷积神经网络是由一系列的卷积层、池化层和全连接层像一条长链那样堆叠起来的,每一层只和之前的层存在连接。在链式搜索空间中,卷积神经网络可以被写成一个由多个网络层组成的长序列。因此,链式搜索空间通常可以由两类参数决定,一是网络的深度即网络层的个数,二是每一网络层的具体类型,比如卷积层、池化层或者全连接层。比如,在Zoph[1]等人设计的搜索空间中,网络是由不同的卷积层、池化层和全连接层按照链式顺序组成的,神经网络搜索方法需要预测每一网络层的具体参数,比如通道数、步长等。一些经典的卷积神经网络通过使用跳跃连接大大提升了网络的性能。很多神经网络搜索方法也在网络搜索空间中的定义中使用了跳跃连接,这样的搜索空间被称为多分支网络搜索空间。多分支网络搜索空间可以由两部分参数决定,一是不同层之间的连接方式,二是每一个网络层的具体类型。基于多分支网络搜索空间设计出的网络结构性能往往优于基于链式搜索空间设计出的网络结构。

2.2评估方法

神经网络搜索方法需要对搜索出来的每一个网络进行性能评估。最简单的性能评估方法就是在训练集上完整训练网络结构,并在验证集上验证网络结构的性能。然而,由于搜索过程中需要评估成千上万个模型,使用这种评估方法至少需要消耗几十天的搜索时间。因此,很多研究者致力于降低评估网络性能需要的计算资源。One-shot[2]方法定义了一个超网络,搜索空间中的网络都是这个超网网络的子网络,并且权重都继承自这个超网络。由于只需要训练一个超网络,one-shot方法能够大大降低性能评估需要的计算资源。基于低保真的训练方法,则在训练过程中使用更少的训练数据、更少的训练批次或者更低分辨率的图像,同样降低了网络性能评估需要消耗的计算资源。

2.3搜索方法

搜索方法决定了如何探索搜索空间并从中搜索到性能优异的网络结构。进化算法[3]是一种比较经典的搜索方法,其通过模拟自然界的进化过程探索搜索空间。在进化算法中,单个网络被看作进化的基本单位个体,网络的性能用来表示相应个体的适应度,适应度高低来决定哪些网络被选择用来繁殖下一代个体,進化算法通过执行交叉、变异操作来具体产生下一代个体。通过模拟自然选择的过程,进化算法能够设计出高性能的网络结构。强化学习算法[1]是另一种比较经典的搜索算法。在强化学习中,一个智能体负责设计网络结构,其设计出来的网络结构的性能被用作奖励来更新智能体,使得智能体能够设计出性能更加优异的网络结构。可导的网络搜索方法[4],则将网络结构的搜索和网络参数的训练结合起来,将网络结构看作一种可以训练的参数,通过梯度传播的方式训练网络参数以及网络结构参数,从而搜索到具体的网络结构。

3 挑战和未来方向

目前大多数神经网络搜索方法都用来处理分类任务,将神经网络搜索方法应用到网络压缩、生成模型、语义分割等任务上成了一种迫切的需要。其次,如何处理多目标任务的需求也是神经网络搜索方法面临的一个挑战,比如如何设计出高性能、低复杂度的网络。此外,搜索空间决定了设计出的网络结构性能的上限,然而大多数神经网络搜索方法把研究重点放在性能评估和搜索方法上,因此迫切需要增加对搜索空间的研究。最后,不同的神经网络搜索方法使用数据集不同,消耗计算资源不同,设计出的网络复杂度不用,采用的正则化技术也不同,简单地使用设计出的网络性能来比较不同的神经网络搜索方法并不公平,因此迫切需要制定一个基准来评价不同的神经网络搜索方法。

4 总结

本文是对神经网络搜索方法的全面综述。神经网络搜索方法可以由三个部分组成,搜索空间、搜索方法、评估方法,本文针对这三个部分进行了全面的介绍。最后,本文针对神经网络搜索所面临的挑战和未来的研究方向进行了探讨。随着深度学习的发展,能够自动化的设计出性能优异网络结构的神经网络搜索方法也将会越来越受到重视,本文能够为相关研究者提供一定程度的参考。

参考文献:

[1] Zoph B, Le Q V. Neural architecture search with reinforcement learning[J]. arXiv preprint arXiv:1611.01578, 2016.

[2] Bender G. Understanding and simplifying one-shot architecture search[J]. 2019.

[3] Real E, Moore S, Selle A, et al. Large-scale evolution of image classifiers[C]//Proceedings of the 34th International Conference on Machine Learning-Volume 70. JMLR. org, 2017:.

[4] Liu H, Simonyan K, Yang Y. Darts: Differentiable architecture search[J]. arXiv preprint arXiv:1806.09055, 2018.

【通聯编辑:唐一东】

猜你喜欢

卷积神经网络深度学习
基于卷积神经网络温室智能大棚监控系统的研究
基于深度卷积神经网络的物体识别算法
有体验的学习才是有意义的学习
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望