論文鏈接: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
-
搜索結構