谷歌大脑提出:基于NAS的目标检测模型NAS-FPN,超越Mask R-CNN
谷歌大脑提出:基于NAS的目标检测模型NAS-FPN,超越Mask R-CNN
11.11 智慧上云
云服务器企业新用户优先购,享双11同等价格
在这篇文章中:
本文转载自量子位(QbitAI)
这是一只AI生出的小AI。
谷歌大脑的Quoc Le团队,用神经网络架构搜索 (NAS) ,发现了一个目标检测模型。长这样:

△ 看不清请把手机横过来
它的准确率和速度都超过了大前辈Mask-RCNN;也超过了另外两只行业精英:FPN和SSD。
模型叫做NAS-FPN。大佬Quoc Le说,它的长相完全在想象之外,十分前卫:

△ 喜讯发布一日,已收获600颗心
AI的脑洞果然和人类不一样。对比一下,目标检测界的传统方法FPN (特征金字塔网络) 长这样:

谷歌大脑说,虽然网络架构搜索 (NAS) 并不算新颖,但他们用的搜索空间与众不同。
怎么搜出来?
在NAS-FPN出现之前,地球上最强大的目标检测模型,架构都是人类手动设计的。

△ 这是Mask-RCNN的成果
NAS是一种自动调参的方法,调的不是训练超参数,是网络架构超参数:比如网络多少层、每层都是什么算子、卷积层里的过滤器大小等等。
它可以在许多许多不同的架构里,快速找到性能最好的那一个。

所以,要把目标检测的常用架构FPN (特征金字塔网络) 和NAS结合起来,发现那只最厉害的AI。
但问题是搜索空间太大,特征横跨许多不同的尺度。
于是,团队基于RetinaNet框架,设计了一个新的搜索空间:
这里,一个FPN是由许多的“合并单元 (Merging Cells) ”组成的。
是要把输入的不同尺度/分辨率的特征层,合并到RetinaNet的表征里去。
具体怎样合并?这是由一个RNN控制器来决定的,经过四个步骤:
一是,从输入里任选一个特征层; 二是,从输入里再选一个特征层; 三是,选择输出的特征分辨率; 四是,选择一种二进制运算,把两个特征层 (用上一步选定的分辨率) 合并起来。
第四步有两种运算可选,一种是加和 (sum) ,一种是全局池化 (Global Pooling) 。两个都是简单、高效的运算,不会附加任何带训练的参数。
一个Cell就这样合并出来了,但这只是中间结果。把它加到刚才的输入列表里,和其他特征层排在一起。
然后,就可以重新选两个特征层,重复上面的步骤一、二、四,保持分辨率不变。
(团队说,如果要避免选到相同分辨率的两个特征层,就不要用步长8。2和4是比较合适的步长。)
就这样,不停地生成新的Cell。
停止搜索的时候,最后生成的5个Cell,会组成“被选中的FPN”出道。

那么问题来了,搜索什么时候能停?
不是非要全部搜索完,随时都可以退出。反正分辨率是不变的,FPN是可以随意扩展的。
团队设定了Early Exit (提前退出) 机制,用来权衡速度和准确率。
最终发布NAS-FPN的,是AI跑了8,000步之后,选取最末5个Cell生成的网络。回顾一下:

△ 看不清请把手机横过来
从原始FPN (下图a) 开始,它走过的路大概是这样的:

跑得越久,生成的网络就越蜿蜒。
模型怎么样?
NAS-FPN可以依托于各种骨架:MobileNet,ResNet,AmoebaNet……
团队选择的是AmoebaNet骨架。
那么,用COCO test-dev数据集,和那些强大的前辈比一比高清大图检测效果。
比赛结果发布:

△ 看不清请把手机横过来
NAS-FPN拿到了48.3的AP分,超过了Mask-RCNN,并且用时更短 (右边第二列是时间) 。
另外一场比赛,是移动检测 (320x320) ,NAS-FPN的轻量版本,跑在MobileNet2骨架上:

超过了厉害的前辈SSD轻量版,虽然,还是没有赶上YOLOv3。

△ YOLOv3过往成果展
不过,打败Mask-RCNN已经是值得庆祝的成就了。
One More Thing
NAS既然如此高能,应该已经搜索过很多东西了吧?
谷歌大脑的另一位成员David Ha列出了7种:
1) 基于CNN的图像分类器,2) RNN,3) 激活函数,4) SGD优化器,5) 数据扩增,6) Transformer,7) 目标检测。

并发射了直击灵魂的提问:下一个被搜的会是什么?
他的同事摘得了最佳答案:NAS啊。

△ NAS
论文传送门: https://arxiv.org/pdf/1904.07392.pdf

谷歌大脑提出:基于NAS的目标检测模型NAS-FPN,超越Mask R-CNN的更多相关文章
- [炼丹术]基于SwinTransformer的目标检测训练模型学习总结
基于SwinTransformer的目标检测训练模型学习总结 一.简要介绍 Swin Transformer是2021年提出的,是一种基于Transformer的一种深度学习网络结构,在目标检测.实例 ...
- PyTorch专栏(八):微调基于torchvision 0.3的目标检测模型
专栏目录: 第一章:PyTorch之简介与下载 PyTorch简介 PyTorch环境搭建 第二章:PyTorch之60分钟入门 PyTorch入门 PyTorch自动微分 PyTorch神经网络 P ...
- 10分钟内基于gpu的目标检测
10分钟内基于gpu的目标检测 Object Detection on GPUs in 10 Minutes 目标检测仍然是自动驾驶和智能视频分析等应用的主要驱动力.目标检测应用程序需要使用大量数据集 ...
- 平均精度均值(mAP)——目标检测模型性能统计量
在机器学习领域,对于大多数常见问题,通常会有多个模型可供选择.当然,每个模型会有自己的特性,并会受到不同因素的影响而表现不同. 每个模型的好坏是通过评价它在某个数据集上的性能来判断的,这个数据集通常被 ...
- 目标检测模型的性能评估--MAP(Mean Average Precision)
目标检测模型中性能评估的几个重要参数有精确度,精确度和召回率.本文中我们将讨论一个常用的度量指标:均值平均精度,即MAP. 在二元分类中,精确度和召回率是一个简单直观的统计量,但是在目标检测中有所不同 ...
- 微调torchvision 0.3的目标检测模型
微调torchvision 0.3的目标检测模型 本文将微调在 Penn-Fudan 数据库中对行人检测和分割的已预先训练的 Mask R-CNN 模型.它包含170个图像和345个行人实例,说明如何 ...
- 旷世提出类别正则化的域自适应目标检测模型,缓解场景多样的痛点 | CVPR 2020
论文基于DA Faster R-CNN系列提出类别正则化框架,充分利用多标签分类的弱定位能力以及图片级预测和实例级预测的类一致性,从实验结果来看,类该方法能够很好地提升DA Faster R-CNN系 ...
- 实战小项目之基于yolo的目标检测web api实现
上个月,对微服务及web service有了一些想法,看了一本app后台开发及运维的书,主要是一些概念性的东西,对service有了一些基本了解.互联网最开始的构架多是cs构架,浏览器兴起以后,变成了 ...
- Spiking-YOLO : 前沿性研究,脉冲神经网络在目标检测的首次尝试 | AAAI 2020
论文提出Spiking-YOLO,是脉冲神经网络在目标检测领域的首次成功尝试,实现了与卷积神经网络相当的性能,而能源消耗极低.论文内容新颖,比较前沿,推荐给大家阅读 来源:晓飞的算法工程笔记 公众 ...
随机推荐
- Node.js 目录操作
1.创建目录 mkdir 代码 demo1.js var fs = require('fs'); //创建目录 fs.mkdir('e:/nodeTest/dirTest',function(err) ...
- Hibernate 关系配置
表之间关系 1. 一对多 一个部门有多个员工,一个员工只能属于某一个部门 一个班级有多个学生,一个学生只能属于一个班级 2. 多对多 一个老师教多个学生,一个学生可以被多个老师教 一个学生可以先择多门 ...
- 使用多个tomcat如何修改端口号
一.找到tomcat下conf文件夹下server.xml: 二.修改8080端口 三.修改8009端口 四.修改8005端口 修改后同时启动多个tomcat成功.
- PHP中定义常量的区别,define() 与 const
正文 在PHP5.3中,有两种方法可以定义常量: 使用const关键字 使用define()方法 const FOO = 'BAR'; define('FOO','BAR'); 这两种方式的根本区 ...
- What are the benefits to using anonymous functions instead of named functions for callbacks and parameters in JavaScript event code?
What are the benefits to using anonymous functions instead of named functions for callbacks and par ...
- 算法习题---3.12浮点数(UVa11809)
一:题目 尴尬的非会员水印 二:题目摘要 1.int和float比较 int共32位,可以表示的最大的数为2^32次方 float虽然也是32位,但是是以指数形式保存,指数占8位(含符号),最大127 ...
- PAT 甲级 1055 The World's Richest (25 分)(简单题,要用printf和scanf,否则超时,string 的输入输出要注意)
1055 The World's Richest (25 分) Forbes magazine publishes every year its list of billionaires base ...
- matlab学习——04图与网络(最短路,最小生成树,最大流)
04图与网络 1.最短路 (1) 自己写的dijstra算法 format compact; clc,clear all a=zeros(6); a(1,2)=50;a(1,4)=40;a(1,5)= ...
- 直接用的tar压缩
将目录里的doc文件夹压缩成tar.gz tar -czf doc.tar.gz doc 解压tar.gz tar -xzvf doc.tar.gz 在不解压的情况下查看压缩包的内容: tar ...
- Python 解析式、生成器
标准库datetime datetime模块 对日期.时间.时间戳的处理 datetime类 类方法 today() 返回本地时区当前时间的datetime对象 now(tz=None) 返回当前时间 ...