Neural Network Search: A Survey

  本文就Search Space、Search strategy、Performance Estination Strategy三个方面对NeUral Network Search(NAS)的发展进行阐述。

  Search Space用来定义网络的表达形式,而Search Strategy则根据定义以及一定的策略构建出某种模型,然后Performance Estimation Strategy将对生成的模型进行判断,然后将判断的结果反馈给Search Strategy,Search Strategy根据反馈重新生成模型,以此迭代下去直到找到满足要求的模型结构,三者的关系如下图所示。

 1 Search Space

Search Space就是指需要寻找的Network该以何种形式表达。下面分别介绍都具有哪些表达方式

1.1 链式结构神经网络(Chain structured neural network)

比较简单的Space是链式结构神经网络(Chain structured neural network),这种结构也就是常见的神经网络结构,就如同搭积木一般,越搭越深。这种Space主要由以下结构组成。

  • 最大的层数l(当然也可能没有限制)
  • 每层执行的操作(operation),如Pooling、convolution、depthwise separable Convolution、dilated convolution
  • 与每层所执行的operation相关的超参数,如filter size、filter num

1.2 Cell structured neural network

如今很多寻找模型的方法很多借鉴了人类构建模型(如Residual Network、DenseNet)的思路。

还有的人为设计的模型采取的策略是重复一些motifs,受到这一做法的启发,Zoph et al.(2018) Zhong et al.(2018a)将那些重复的motif称为cells或者blocks,所以模型搜索就简化成了对cell的搜索。

Zoph et al.(2018)将cell划分为两类:normal cell用来保存输入的维度,reduction cell用于降低空间维度。最终的示意图如下:

相比于直接搜索整体网络结构,搜索cell有两个好处:一是搜索空间可以小很多,而是搜索得到的cell能够很容易迁移到其他数据集,例如 Zoph et al.(2018)就将运用在CIFAR10上的cell迁移到了ImageNet上,而且表现不凡。

当然,虽然cell找到了,但是网络还是没有搭建起来,所以关于如何将这些找到的cell结合构建得到网络涉及两个问题:一是cell数量如何确定,二是cell连接方式如何选择。

上述的两个问题是个值得思考的方向,另外基于cell的网络构建方式存在这些问题:一是网络是不连续的,二是得到的网络结构参数相对来说是高维的,因为要想表现更加,一般而言就需要构建的更加复杂,因此设计网络时的选择也就更多。

2 搜索策略(Search Strategy)

Search Strategy主要包括以下方法:random search(RS)Bayesian optimizationevolutionary methodsreinforcement learning(RL)gradient-based methods

进化算法在几十年前就已经用来进化神经网络(Evolving artificial neural network)了,Evolving artificial neural network对2000年以前的进化算法作了literature review,可以参考查阅。

猜你喜欢

转载自www.cnblogs.com/Junlong/p/12160628.html