这是一只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就这样合并出来了,但这只是中间结果。把它加到刚才的输入列表里,和其他特征层排在一起。

然后,就可以重新选两个特征层,重复上面的步骤一、二、四,保持分辨率不变。

和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

作者系网易新闻·网易号“各有态度”签约作者

欢迎关注磐创博客资源汇总站:http://docs.panchuang.net/

欢迎关注PyTorch官方中文教程站:http://pytorch.panchuang.net/

超越Mask-RCNN:谷歌大脑的AI,自己写了个目标检测AI的更多相关文章

  1. AI佳作解读系列(二)——目标检测AI算法集杂谈:R-CNN,faster R-CNN,yolo,SSD,yoloV2,yoloV3

    1 引言 深度学习目前已经应用到了各个领域,应用场景大体分为三类:物体识别,目标检测,自然语言处理.本文着重与分析目标检测领域的深度学习方法,对其中的经典模型框架进行深入分析. 目标检测可以理解为是物 ...

  2. 谷歌大脑提出:基于NAS的目标检测模型NAS-FPN,超越Mask R-CNN

    谷歌大脑提出:基于NAS的目标检测模型NAS-FPN,超越Mask R-CNN 朱晓霞发表于目标检测和深度学习订阅 235 广告关闭 11.11 智慧上云 云服务器企业新用户优先购,享双11同等价格 ...

  3. CVPR2019 | 超越Mask R-CNN!华科开源图像实例分割新方法MS R-CNN

    安妮 乾明 发自 凹非寺 本文转载自量子位(QbitAI) 实习生又立功了! 这一次,亮出好成绩的实习生来自地平线,是一名华中科技大学的硕士生. 他作为第一作者完成的研究Mask Scoring R- ...

  4. deeplearning.ai 卷积神经网络 Week 3 目标检测 听课笔记

    本周的主题是对象检测(object detection):不但需要检测出物体(image classification),还要能定位出在图片的具体位置(classification with loca ...

  5. deeplearning.ai 卷积神经网络 Week 3 目标检测

    本周的主题是对象检测(object detection):不但需要检测出物体(image classification),还要能定位出在图片的具体位置(classification with loca ...

  6. Google AI推出新的大规模目标检测挑战赛

    来源 | Towards Data Science 整理 | 磐石 就在几天前,Google AI在Kaggle上推出了一项名为Open Images Challenge的大规模目标检测竞赛.当今计算 ...

  7. CVPR目标检测与实例分割算法解析:FCOS(2019),Mask R-CNN(2019),PolarMask(2020)

    CVPR目标检测与实例分割算法解析:FCOS(2019),Mask R-CNN(2019),PolarMask(2020)1. 目标检测:FCOS(CVPR 2019)目标检测算法FCOS(FCOS: ...

  8. AI R-CNN目标检测算法

    Region-CNN,简称R-CNN,是首次将深度学习应用于目标检测的算法. bounding box IOU 非极大值抑制 selective search 参考链接: https://blog.c ...

  9. 深度学习与CV教程(12) | 目标检测 (两阶段,R-CNN系列)

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/37 本文地址:http://www.showmeai.tech/article-det ...

随机推荐

  1. 记 MySQL优化 20条

    1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存.这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的.当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一 ...

  2. [置顶] 利用Python 提醒实验室同学值日(自动发送邮件)

    前言: 在实验室里一直存在着一个问题,就是老是有人忘记提醒下一个人值日,然后值日就被迫中断了.毕竟良好的        卫生环境需要大家一起来维护的!没办法只能想出一些小对策了. 解决思路: 首先,我 ...

  3. 【转】css样式自动换行(强制换行)

    原文链接:http://blog.csdn.net/ye987987... 自动换行问题,正常字符的换行是比较合理的,而连续的数字和英文字符常常将容器撑大,挺让人头疼,下面介绍的是CSS如何实现换行的 ...

  4. 前端每日实战:160# 视频演示如何用纯 CSS 创作一个打开内容弹窗的交互动画

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/GYXvez 可交互视频 此视频是可 ...

  5. Echarts轻松入门,内附踩坑秘籍

    首先介绍一下我们的主角ECharts ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Fir ...

  6. 痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU启动那些事(6.1)- FlexSPI NOR连接方式大全(RT600)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RT600的FlexSPI NOR启动的连接方式. 痞子衡前段时间一鼓作气写完了三篇关于i.MXRT1xxx系列Flex ...

  7. 盘点Linux运维常用工具(一)-web篇之httpd

    #前言:想把自己学的各种服务进行分类归档起来,于是就写了盘点Linux运维常用工具,Linux方面使用到的web应用服务有httpd(apache).nginx.tomcat.lighttpd,先了解 ...

  8. js原型继承题目

    var F = function(){}; Object.prototype.a = function(){}; Function.prototype.b = function(){}; var f ...

  9. DOM是什么(初级版)

    js新手村出村之路--基础知识 在这里默认你已经粗粗的自学过了一遍js知识.(也许是在昏昏欲睡的课堂上听了两分钟,也许是跟着b站上的视频打了一遍.who cares) 在下面的内容中我将整理一些在平常 ...

  10. IntelliJ IDEA 2020 全家桶注册码

    WU78YHTY7E-eyJsaWNlbnNlSWQiOiJPUVQzT0oyNVhFIiwibGljZW5zZWVOYW1lIjoi5rC45LmF5r+A5rS7IGlkZWEubWVkZW1pb ...