[Reading] Learning Transferable Architectures for Scalable Image Recognition

1. 概述

  Learning Transferable Architectures for Scalable Image Recognition 一文提交于 2017 年,文章给出一种在数据集上学习网络架构的方法,设计了易于迁移的 NASNet 搜索空间,首先在较小的数据集上通过搜索找到基础的层结构,再扩展到大数据集的问题上。文章在 CIFAR-10 数据集上找到了高效的卷积层结构,并用其构造了 NASNet 网络架构,在多个任务中都达到了当时的 SOTA 性能。

  文章使用的神经网络架构搜索(Neural Architecture Search,NAS)方法来自Neural Architecture Search with Reinforcement Learning 一文,通过强化学习的方式来搜索网络架构,如 Figure 1 所示,使用 RNN 作为控制器对网络架构进行采样,然后对得到的网络(child network)进行训练和测试,根据验证集准确率更新控制器参数。

Figure 1

Figure 1

  NAS 的整个流程需要大量的计算,不适合直接应用在大数据集上,因此文章选择先在较小的 CIFAR-10 数据集上进行搜索,然后再迁移到较大的 ImageNet 数据集上。为了便于迁移,文章提出的 NASNet 搜索空间将架构复杂度与网络深度、输入尺寸进行了结构,搜索的目标是最佳的卷积层(cell)结构,而不是整个网络,这样一方面提高了搜索速度,另一方面也更容易泛化到其他问题上。最后的网络由相同的卷积层堆叠而成。

2. 搜索方法

2.1. 网络架构

  如前所述,文章通过 NAS 搜索的是最佳的卷积层(cell)结构。文章结合以往 CNN 架构的经验,定义了两种 cell:

  • Normal Cell:输出的特征图尺寸和输入相同
  • Reduction Cell:输出的特征图长和宽减半(通过设置第一个操作的步长为 2 来实现)

使用以上两种 cell,文章构造了用于 CIFAR-10 和 ImageNet 的网络架构如 Figure 2 所示。由此得到的用于 CIFAR-10 或 ImageNet 的网络,其架构都是固定的,区别只在于通过搜索得到的 cell 的结构。

Figure 2

Figure 2

2.2. 卷积 cell 搜索

  文章使用 RNN 作为控制器递归地预测 cell 的架构,如 Figure 3 所示,每个 cell 的预测包括 5 个步骤:

Figure 3

Figure 3

  1. 从 $h_1, h_{i-1}$ 或之前 block 的隐藏状态中选择一个隐藏状态。
  2. 使用步骤 1 的方法,选择第二个隐藏状态。
  3. 选择应用于步骤 1 隐藏状态的操作。
  4. 选择应用于步骤 2 隐藏状态的操作。
  5. 选择组合步骤 3、4 的方法,产生一个新的隐藏单元。

以上步骤重复 $B$ 次,得到一个包含 $B$ 个 block 的卷积 cell。实验中选择 $B = 5$ 就可以得到很好的效果。

  在步骤 3 中,候选的操作包括以下几种:

  在步骤 5 中,候选的组合两个隐藏层的方法包括一下两种:

  • 逐元素相加
  • 在过滤器维度上拼接

  在生成的卷积 cell 中,所有未使用的隐藏状态,都按深度拼接,作为 cell 的输出。

  为了生成前述的 Normal 和 Reduction 两种 cell,可以让控制器预测 $2 \times 5B$ 次,前 $5B$ 次作为 Normal Cell,后 $5B$ 次作为 Reduction Cell。

3. 实验结果

3.1. 性能比较

  文章使用 CIFAR-10 数据集,使用 Proximal Policy Optimization(PPO)方法在 500 个 GPU 上训练了 4 天,得到了一系列卷积 cell,其中性能最好的 Normal Cell 和 Reduction Cell 如 Figure 4 所示。

Figure 4

Figure 4

  得到卷积 cell 结构之后,为了确定网络架构,还需要决定 cell 重复的次数 $N$,以及初始卷积 cell 的过滤器数量。在之后的层中,如果步长为 2,则将过滤器数量加倍。文章使用 $4@64$ 的形式表示 cell 重复 $4$ 次、倒数第二层有 $64$ 个过滤器的网络架构。使用搜索的结果,文章给出了 NASNet-A、NASNet-B、NASNet-C 三个模型。

  NASNet 在 CIFAR-10 上的性能如 Table 1 所示,其中 NASNet-A (7 @ 2304) + cutout 达到了 2.40% 的错误率,略优于之前最佳的 2.56%。

Table 1

Table 1

  文章将在 CIFAR-10 上搜索得到的架构,迁移到 ImageNet 图像识别上,并对其性能进行了对比,如 Table 2 所示。可见在 CIFAR-10 上搜索得到的卷积 cell 可以很好地泛化到 ImageNet 图像识别任务上,仅靠单模型就可以达到最高 82.7% 的 top-1 准确率,与之前最佳性能的 SENet 打平,但 NASNet 的参数数量和计算量要远小于 SENet。

Table 2

Table 2

  由 Figure 5 可见,NASNet 系列模型构成的包络覆盖了一系列手工设计的模型。

Figure 5

Figure 5

  文章还比较了在模型在资源受限场景下的性能,如 Table 3 所示。可见 NASNet 的性能超过了之前的模型,而计算量与之前模型大致相同,说明搜索得到卷积 cell 适用于不同尺寸的模型,在计算量几乎降低两个数量级的情况下,依然可以达到 SOTA 性能。

Table 3

Table 3

  文章将 ImageNet 预训练的 NASNet-A 用于 Faster-RCNN 物体检测,性能如 Table 4 所示。NASNet-A (4 @ 1056) 的 mAP 达到 29.6%,超过了其他移动端模型。NASNet-A (6 @ 4032) 的 mAP 达到了最高的 43.1%,超过了之前的最佳性能(39.1%),

Table 4

Table 4

3.2. 搜索方式比较

  为了研究通过强化学习进行 NAS 的效率,文章对比了随机搜索(RS)和强化学习(RL)进行架构采样的性能,如 Figure 6 所示。可见强化学习采样的最佳模型性能要显著高于随机搜索,前者在 CIFAR-10 上的准确率要比后者高 1%。此外强化学习采样的一系列模型的性能,也都高于随机搜索。这说明虽然随机搜索是一种可行的搜索策略,但强化学习能够找到更好的架构。

Figure 6

Figure 6

4. 总结

  文章通过 NAS 和专门设计的搜索空间,使用小数据集上找到了高效的卷积 cell 架构,然后迁移到大数据集图像识别和物体检测任务上,在不同计算量场景下,性能都超过了人工设计的模型。