Learning Transferable Architectures for Scalable image recognition

Learning Transferable Architectures for Scalable image recognition

网络结构设计

Abstract: As this approach is expensive when the dataset is large,we propose to search for an architectural building block on a amall dataset and then reansfer the block to a larger dataset.The key contribution of this work is the design of a new search space(which call the ‘NASNet search space’) which enables trandferability.

ScheduledDroppath that significantly improves generalization in the NASNet models.

1. Introduction

在本文中,我们研究了一种设计卷积体系结构的新范例,并描述了一种可扩展的方法来优化感兴趣的数据集上的卷积体系结构。

We achieve this transferranility by designing a search space so that the complexity of the architecture is independent of the depth of the network and the size of input images.

Faster

By simply varying the number of the convolutional cells and number of filters in the convolutional cells,we can create different versions of NASNets with different computational demands.

2. Related work

Hyperarameter optimization

The design of our search space took much inspiration from LSTMs,and Neural Architecture Search Cell. The modular structure of the convolutional cell is also related to previous methods on ImageNet such as VGG, Inception….

3. Methods

Learning Transferable Architectures for Scalable image recognition

简单总结一下NAS方法,就是通过一个RNN采样具有不同结构的子网络,然后训练这些子网络,根据其在Validation Set上的效果,反馈给RNN进行更新. NAS的问题在于速度太慢,直接将它用在像ImageNet这样的大型数据集上是不可行的。因此,作者希望,能不能通过合理的设计搜索的空间,从而学得一个较为通用的结构。即,在小数据集上学得的网络结构,能够迁移到大的数据集上。

这项工作的主要贡献是设计一个新颖的搜索空间,使得在CIFAR-10数据集上找到的最佳架构可以扩展到一系列计算设置中更大,更高分辨率的图像数据集。 我们将这个搜索空间命名为NASNet搜索空间,因为它产生了NASNet,这是我们实验中发现的最佳架构。 NASNet搜索空间的一个启示是认识到CNN的架构工程经常识别由卷积滤波器组的组合,非线性和谨慎的连接选择组成的重复图案,以实现最先进的结果(例如重复的模块) 出现在Inception和ResNet模型中。 这些观察结果表明,控制器RNN可能预测以这些基序表示的通用卷积细胞。 然后可以将该单元串联堆叠以处理任意空间维度和滤波深度的输入。

由重复的卷积结构组成,结构相同但是参数不同。To easily build scalable architectures for images of any size,we need two types of convolutional cells to serve two main functions when taking in a feature map as input (1) convolutional cells that return a feature map of the same dimension,and (2) convolutional cells that return a feature map where the feature map height and width is reduced by a factor of two.这两个结构我们称之为Normal cell和Reduction cell。对于Reduction cell我们制作了初始化操作应用于cell的输入有2的步长去降低高和宽。我们所有的操作对于考虑建造我们的卷积cell都有步长的选项。

Learning Transferable Architectures for Scalable image recognition

图2显示了我们为CIFAR-10和ImageNet放置正常和缩小单元。 关于ImageNet的注意事项,我们有更多的还原单元,因为输入图像大小为299x299,而CIFAR为32x32。 Reduce和Normal Cell可以具有相同的架构,但我们凭经验发现学习两个独立的架构是有益的。 每当空间**大小减小时,我们使用常见的启发式方法将输出中的滤波器数量加倍,以便保持大致恒定的隐藏状态维度。 重要的是,很像Inception和ResNet模型,我们将主题重复次数N和初始卷积滤波器的数量视为我们根据图像分类问题的规模定制的自由参数。

Learning Transferable Architectures for Scalable image recognition

Learning Transferable Architectures for Scalable image recognition

Learning Transferable Architectures for Scalable image recognition

最后,我们的工作利用NAS [71]中的强化学习建议; 但是,也可以使用随机搜索来搜索NASNet搜索空间中的体系结构。 在随机搜索中,我们可以从均匀分布中对决策进行采样,而不是从控制器RNN中的softmax分类器中对决策进行采样。 在我们的实验中,我们发现随机搜索比CIFAR-10数据集上的强化学习略差。 尽管使用强化学习是有价值的,但差距小于[71]原始工作中的差距。 该结果表明1)NASNet搜索空间构造良好,使得随机搜索可以相当好地执行,并且2)随机搜索是难以击败的基线。 我们将在第4.4节中将强化学习与随机搜索进行比较。

 

问题的关键就转化为怎么设计一个合理的搜索空间,一个的insight就是,很多成功的CNN网络都是包括了一些重复的结构,那么可不可以只让RNN预测出一些小的convolutional cell的结构,然后重复的堆叠这样的结构来构建深的网络?确定了整体结构之后就是预测具体的Normal cell和Reduction cell.

Learning Transferable Architectures for Scalable image recognition

这个架构,通常会呈现出和ResNet和DenseNet等前沿网络结构一样的风格,但是内部模块的组合和配置有所区别,一个架构的好坏,往往就取决于选择的模块和在他们之间构建的连接。

接下来就要训练这个网络,让他收敛,得到在留出验证集上的准确率。这个准确率随后会用来通过策略梯度更新控制器,让控制器生成构架的水平越来越高。

 

让一个算法挑出一些积木,然后把他们组装在一起,做成一个神经网络。训练,测试,根据这个结果调整积木的标准和组装的方式。

 

假设:如果一个神经网络能在结构相似的小规模数据集上得到更好的成绩,那么他在更大更复杂的数据集上同样可以能表现的更好。

在深度学习领域,这个假设基本是成立的。

 

给定基本架构,NASNet主要是重新定义基本架构上的基本组件及其连接方式。

 

架构搜索的发展:

高效神经架构搜索:ENAS

 

深度学习新方法AutoML

Learning Transferable Architectures for Scalable image recognition

Auto-keras