论文链接:Efficient Neural Architecture Transformation Search in Channel-Level for Object Detection
设计了一个搜索空间,实现了专门用于目标检测的有效的结构转换搜索。
基于darts的搜索方法,与darts搜索空间不同,将darts搜索不同操作改为搜索不同大小dilation(不同大小dilation不改变卷积核大小,可以复用预训练权重)。同时使用channel-level 代替 path-level,设计了channel层级专用的搜索空间。
主要针对
(1)现在的nas检测一般都是从新开始训练,耗时收敛。如果能直接迁移imagenet上的预训练权重就很nice了
(2)分类和检测backbone之间的gap
论文要点
(1)dilation search space ,使用神经网络架构迁移搜索(NATS),NATS没有搜索和构建整个网络,而是寻找一种结构转换策略,调整现有网络的结构以适应检测的需要,并且在搜索阶段和再训练阶段都能充分利用预训练模型的权重,大大减少了计算消耗。
(2)channel-level search strategy ,NATS在channel层级上进行的,使用channel-level 代替 path-level,设计了channel层级专用的搜索空间.
具体方法
-
注意到backbone的ERF(effective receptive field)对检测十分重要,尤其是检测物体尺寸差距大时。
dilation convolution与ERF分布密切相关,并且改变卷积层的dilation并不影响卷积核的大小,所以可以复用预训练的模型的权值。
由于NATS是基于梯度的,并且只搜索一个转换方案(如上改变dilation大小),转换的网络不需要任何额外的参数和FLOPs,所以在ImageNet中预先训练的模型的权值可以同时用于搜索和再训练阶段,这使得整个过程非常高效。 -
与其他搜索路径的网络方法不一样,NATS搜索是基于channel层级。与darts相似,不同的颜色表示不同操作op(来自搜索空间,不同大小的dilation),对每个op的输出的featuremap的channel进行分组,每个组对应不同大小的dilation
保留每个channel组中概率最大的结构
将原来的3×3卷积层分解为不同大小的dilation的和输出通道(/G)
改为
一些细节
微调backbone结构
基于ResNet. and ResNeXt,only search stage-3,4,5
与darts一样交替更新
NATS takes only 2.5 days on 8 1080TI GPUs, and retraining of searched network takes about 1 day(same as training a baseline model) with no need of extra pertraining in ImageNet
Result
For stage-3,4,5
A:设置 dilation candidates {1, 3}, {1, 3}, {1, 3, 5}
B:设置 dilation candidates {1, 2, 3}, {1, 2, 3}, {1, 2, 3, 4, 5}
C:设置(1, 3),(3, 1) for stage-3,4 and (1, 3), (3, 1), (1, 5), (5, 1) for stage-5