Neural Architecture Search
Background
深度学习在图像识别、语音识别、机器翻译等领域取得了很大的进展,部分原因在于各种创新的神经网络结构。当前的网络结构主要是通过人类专家手工设计,费时费力又容易犯错(就像编程一样)。因此,研究人员提出自动化的神经网络结构搜索方法(neural architecture search, NAS)。NAS本质上是在给定空间里搜索满足特定目标(比如性能)的神经网络结构,可以从三个角度来回顾现有的NAS研究:搜索空间、搜索策略和性能估计策略。
搜索空间
搜索空间实际上限定了能够表示的网络结构的范围。利用适合特定任务的网络结构的典型属性的先验知识,可以简化搜索空间和搜索策略,但是同时也引入了人类偏见,从而很难脱离人类现有知识的限制找到更创新的结构。
搜索空间的选择在很大程度上决定了优化问题的难度。通过不同的抽象级别,可以实现不同程度的搜索空间压缩。
简单的链式神经网络
其参数空间包括:
- 层数
- 每一层的操作类别,比如pooling, convolution, 或者depthwise separable convolution, dilated convolution
- 跟操作类别相关的超参,比如过滤器的数目、卷积层的核的大小和步长,全联接网络中结点数目。
多分支网络
将输入层i建模成前面网络层输出的函数,可以支持链式网络、residual networks, denseNets等。