论文链接:NAS-FCOS: Fast Neural Architecture Search for Object Detection
官方代码:https://github.com/Lausannen/NAS-FCOS
FCOS结构图
基于FCOS,使用nas方法,提出nas-fcos
主要内容:
1、使用nas方法,搜索FPN和head结构。
2、使用nas方法,探索FPN和head之间的关系,证明head中权重共享的重要性
3、nas-focs通用灵活,可以替换不同的backbone
3, 000 architectures using 28 GPU-days only
Problem Formulation
网络g包含3个部分:
- b: backbone
- f: fpn
- h: head
搜索f和h, 对于 f 搜索 basic block,对于h搜索sequential space.
Search Space
- 将FCOS视作encoder-decoder架构,backbone表示encoder,FPN与head表示decoder;
- FPN由一系列basic block (bbt)构成,对backbone提取特征C={C2, C3, C4, C5}、以及bbt输出特征执行merge操作
- basic block (bbt)基本结构:
- aggregation : element-wise sum与 concatenation followed by a 1 × 1 convolution
- 连续7次bbt,最后三个bbt输出的features,作为FPN的P3、P4与P5;对于没有被使用的融合特征,累加到P3、P4与P5;P5再通过后续两次降采样获得P6与P7;
- Head由连续6个Convolution构成,candidate ops除包含FPN ops之外,也包括基本的1x1与3x3 conv(搜索空间);用Group Norm替换Batch Norm;
- 候选op
Search Strategy
-
采用渐进式策略,先搜索FPN,再搜索head,减轻搜索负担;
-
搜索、训练时,固定backbone,并预先缓存backbone输出特征C,提高搜索效率;
-
LSTM-based controller作为predictor,以当前配置序列与reward作为输入,优化训练predictor;predictor输出下一时刻的架构配置;
-
Evaluation metric
-
搜索结构