【Auto ML】《DetNAS: Backbone Search for Object Detection》阅读分享

在这里插入图片描述
Paper Reading Note
Paper URL:link
Code:link

TL;DR

文章利用single path搜索框架的拓展性,首次提出搜索检测器backbone的方法,过程包括imagenet的预训练,coco上的finetune,进化算法的子模型搜索。整个算法步骤很清晰,结果也不错, 搜出来的backbone在COCO超过超过resnet50,resnet101,且计算量更小.

Dateset/Algorithm/Model/Experiment Detail

  • 动机:由于不同任务之间存在gap,用于分类nas方法搜出来的模型迁移到检测任务作为backbone是次优的, 更好的做法是直接在检测任务上进行结构搜索。(打个比方:分类往往注重具有判别性的物体区域,比如人的分类,激活区域往往只有头部,检测任务更注重全局物体结构信息,周围环境的上下文信息等;另外检测相对分类,分辨率的保留也相对重要,这些都是存在的差异)
  • 方法: 利用Megvii提出的single path两阶段(supernet训练+进化算法搜索结构)搜索框架的可拓展性,结合下图整个搜索方法过程如下:
  • step1: supernet pretrain. 先使用ImageNet对backbone进行分类预训练,基于single_path框架,训练采用逐路径方案,基于均匀分布对oprator进行采样,希望能"公平"训练搜索空间的每一个operator. 具体地,在每次迭代过程中,只有单个路径结构会被采样进行训练.
  • step2: supernet finetune. 基于完整的检测模型,使用检测数据集(coco/voc)对supernet进行微调训练, 结构采样方式跟step1相同.
  • step3: search on the trained supernet: 基于检测评价指标,使用进化算法对supernet中的优秀结构进行搜索.(需要注意的是由于逐路径采样,子结构的BN统计量相对不准确,作者在使用进化算法时会先对supernet中采的结构在一个小子集(训练集采样的)上重新计算BN的统计量)
    在这里插入图片描述
  • 搜索空间:
    在这里插入图片描述
  • 实验:
    • 在进化算法中可以卡特定FLOPS过滤结构选择,搜索的结构在相近计算量下,对比resnet50,res101都更优.

在这里插入图片描述

  • 部分消融实验:ClsNASNet是在step1中分类性能最好的模型,可以看到在对比模型中,虽然分类精度最高,但是检测任务上是相对低的,这也说明分类和检测本质上存在Gap; DetNAS-scratch是指去掉step1,直接在检测数据集上训,可以看到ImageNet的pretrain还是有一定作用.
    在这里插入图片描述
  • 搜索结构可视化: 无论是ClsNASNet还是DetNAS,都存在较多的7x7大卷积,这和proxyless的实验结果相似; DetNas中大卷积都集中在浅层网络,这一点有点反手工网络的设计,可能会为手工模型设计提供新的灵感.
    在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值