导读:
论文出自Google Brain,是对前一篇论文的改进,前一篇文章讲述了用RNN去搜索一个最好的网络结构,而这篇文章认为之前的搜索空间太大,效果不好,所以改成搜索CNN的效果最好的conv cell。再用这些conv cell来构建一个更好的网络。
链接:https://arxiv.org/abs/1707.07012
1.Introduction
在ImageNet上学习到的分类网络,其特征迁移到其他任务时,往往能获得更好的效果。但是如果将前一篇文章提出的NAS直接在ImageNet上训练,则计算量非常大。所以作者就想在CIFAR-10上训练得到一个比较好的网络,然后迁移到ImageNet上也能获得很好的效果。为了能完成这种迁移,作者设计一个与网络深度和图片大小无关的搜索空间。所以,作者觉得CNN网络都是由卷积层构成的,搜索最好的CNN结果可以退化为搜索一个好的CNN的Cell。
2.Method
因此作者重心放在设计一个Cell的搜索空间。文中提出两种Cell:Normal Cell 和 Reduction Cell。Normal Cell是输入输出大小不变,而Reduction Cell的输出的height和width为原来的一半。网络则由两种不同的Cell叠加构成,如图:
网络结构有两个可变参数,N是Normal Cell的叠加个数,另外一个是每个Cell里面的卷积核的个数 。这两个数并不是学习到的,而是人为指定的。后面作者分别用N=4和N=6做了实验。另外作者提到一个通识,为了使得某层的隐藏状态基本不变,我的理解是大概使得表征能力没有下降,所以在某一层的输出变小时,需要增加该层的滤波器个数,使得输出基本维持稳定。
We use a common heuristic to double the number of filters in the output whenever the spatial activation size is reduced in order to maintain roughly constant hidden state dimension
下面说说怎么用RNN控制器构建一个Cell。每个Cell有两个输入hi,hi-1,每个Cell包含5个Block,其中每个Block如下图右侧。其中每个Block需要进行五种操作,这五个操作由RNN控制器给出。如下图左侧,预测。
Block的产生
这五个操作从如下选项中选出。
block的可选操作
block构建好后,block的输出就可以作为下一个block构建时的可选hidden state输入。至于为什么一个Cell包含5个block,作者没有做实验,只是说他们用了这个效果比较好。
由实验知道,最后效果最好的Cell是如下结构,作者称为NASNet-A。留意后面关于NASNet-A的实验。
NASNet-A
3.Reslut
3.1 CIFAR-10上
Tabel 1主要在CIFAR-10上和其他网络对比,在相当的计算复杂度上,都获得不错的表现,超越了shake-shake网络。
Table1
3.2ImageNet上
作者强调他们仅仅是使用了CIFAR-10上的最优网络,从0开始在ImageNet上训练。并且作者发现这些预测的Cell之间没有residual connection,并且作者做实验发现手动加入residual connection并没有提升效果。
在大平台上的对比上图是在大平台上的对比,可以看到NASNet-A基本上都是state-of-the-art。
图5
并且由图5可以知道相同的精度,NASNet-A的计算量更小。
然后作者再在计算资源非常有限的平台,比如手机,上和其他网络进行对比,如下图:
小平台上对比
可以看到在资源有限的情况下,NASNet-A比MobileNet和ShuffleNet都要好。并且计算量相当。
3.3网络在目标检测上的应用。
作者继续把得到的网络并进Faster-RCNN的框架中,发无论在大平台还是像手机这种小平台上都比现有的网络效果更好。
目标检测上的比较
3.4搜索方法的有效性
最后,作者还比较了强化学习和brute-force random search两个方法的有效性。从迭代20个epochs的模型效果看,强化学习明显更有效。
至此,论文结束。
好,今晚的论文分享到这里。下一期我们继续。Good Night,Everyone。
------2017.11.27于深圳
网友评论