Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Racoon、杜伟、张倩报道

模型的跨界:我拿Transformer去做目标检测,结果发现效果不错

自 2017 年被提出以来,Transformer 已经席卷了整个 NLP 领域,红极一时的 BERT、GPT-2 都采用了基于 Transformer 的架构。既然这么好用,为什么不用到 CV 里?最近,Facebook AI 的研究者就进行了这方面的尝试,把 Transformer 用到了目标检测任务中,还取得了可以媲美 Faster R-CNN 的效果。

近年来,Transformer 成为了深度学习领域非常受欢迎的一种架构,它依赖于一种简单但却十分强大的机制——注意力机制,使得 AI 模型有选择地聚焦于输入的某些部分,因此推理更加高效。

Transformer 已经广泛应用于序列数据的处理,尤其是在语言建模、机器翻译自然语言处理领域。此外,它在语音识别、符号数学、强化学习等多个领域也有应用。但令人意外的是,计算机视觉领域一直还未被 Transformer 所席卷。

为了填补这一空白,Facebook AI 的研究者推出了 Transformer 的视觉版本——Detection Transformer(以下简称 DETR),用于目标检测和全景分割。与之前的目标检测系统相比,DETR 的架构进行了根本上的改变。这是第一个将 Transformer 成功整合为检测 pipeline 中心构建块的目标检测框架。

在性能上,DETR 可以媲美当前的 SOTA 方法,但架构得到了极大简化。具体来说,研究者在 COCO 目标检测数据集上将 DETR 与 Faster R-CNN 基线方法进行了对比,结果发现 DETR 在大型目标上的检测性能要优于 Faster R-CNN,但在小目标的检测上性能不如后者,这为今后 DETR 的改进提供了新的方向。

DETR 通过将一个常见 CNN 与 Transformer 结合来直接预测最终的检测结果。在训练期间,二分匹配(bipartite matching)向预测结果分配唯一的 ground truth 边界框。没有匹配的预测应生成一个「无目标」的分类预测结果。
 
DETR 提供了一个更加简单、灵活的 pipeline 架构,需要的启发式更少。使用基本的架构块可以将推理压缩为 50 行简单的 Python 代码。

此外,由于 Transformer 已经在多个领域被证明是一个强大的工具,Facebook 的研究者相信,如果进行进一步调参,DETR 的性能和训练效率还能得到进一步提升。
论文链接:https://arxiv.org/pdf/2005.12872v1.pdf

为了方便大家复现 DETR 的结果,Facebook 还在 GitHub 上开源了该模型的代码和预训练模型。

项目地址:https://github.com/facebookresearch/detr

Facebook 表示,基线 DETR 在单节点 8 个 V100 GPU 上训练了 300 个 epoch,每个 epoch 需要花费 28 分钟,因此训练 300 个 epoch 大约需要 6 天。他们在 GitHub 中提供了 150 个 epoch 的训练结果和日志供大家参考。

另外,研究者还提供了 Colab Notebook,我们可以上传自己的图片进行预测。

不过,也有人对研究结果提出了质疑:「Faster RCNN 算哪门子 SOTA?」


的确,在目标检测领域,Faster RCNN 已经太老了,比最近的 ResNeSt 不知差了多少,拉这个出来对比性能确实有些牵强。

COCO 上的目标检测算法 SOTA 演变

不过也有人认为,我们更应该看到的是论文创新的一面,毕竟作者在一个新的方向上做了尝试,而且也有一定的应用场景(如同时处理图像和文字这种多模态任务)。

处理目标检测任务的全新架构

DETR 将目标检测任务视为一种图像到集合(image-to-set)的问题。给定一张图像,模型必须预测所有目标的无序集合(或列表),每个目标基于类别表示,并且周围各有一个紧密的边界框。

这种表示方法特别适合 Transformer。因此,研究者使用卷积神经网络(CNN)从图像中提取局部信息,同时利用 Transformer 编码器-解码器架构对图像进行整体推理并生成预测。

在定位图像中的目标以及提取特征时,传统计算机视觉模型通常使用基于自定义层的复杂且部分手动操作的 pipeline。DETR 则使用更为简单的神经网络,它可以提供一个真正的端到端深度学习解决方案。

传统两阶段检测系统,如 Faster R-CNN,通过对大量粗糙候选区域的过滤来预测目标边界框。与之相比,DETR 利用标准 Transformer 架构来执行传统上特定于目标检测的操作,从而简化了检测 pipeline。

DETR 框架包含一个通过二分匹配做出独特预测的基于集合的全局损失,以及一个 Transformer 编码器-解码器架构。给定一个小集合固定的学得目标查询,DETR 对目标和全局图像背景的关系作出推理,从而直接并行输出最终的预测集。之前有研究者尝试将循环神经网络等架构用于目标检测,但由于这类架构是按序列而非并行做预测,因而速度慢且有效性低。

Transformers 的自注意力机制使得 DETR 可以在图像以及预测的特定目标上执行全局推理。例如,该模型可以观察图像的其他区域以帮助确定边界框中的目标。此外,DETR 还可以基于图像中目标间的关系或相关性做出预测。举例而言,如果 DETR 预测到图像中包含一个站在沙滩上的人,那么它也会知道部分被遮挡的目标更有可能是冲浪板。相比之下,其他检测模型只能孤立地预测每个目标。

研究者表示,DETR 还可以扩展至其他相关任务,比如全景分割,该任务旨在分割明显前景目标的同时为背景中的所有像素打上标签。

一个架构搞定图文处理

从研究创新和信息推理方式两方面来说,将 Transformers 应用于视觉领域有助于缩小 NLP 和计算机视觉社区的差距。人们对同时处理视觉和文本输入这类型的任务有着很大的兴趣,比如 Facebook 最近推出的恶意模因挑战赛(Hateful Memes Challenge,检测恶意图文)。众所周知,传统架构处理这类双模态任务非常困难。

DETR 的新型架构有助于提升计算机视觉模型的可解释性,并且由于其基于注意力机制,所以当它做预测时,很容易就能观察到网络正在查看图像的哪部分区域。

最后,Facebook AI 的研究者希望 DETR 可以促进目标检测领域的进展,并开发出处理双模态任务的新方法。

实验结果

研究者将 DETR 得到的结果与 Faster R-CNN 在 COCO 数据集上进行了量化评估。之后为展示 DETR 的多功能与可扩展性,研究者提供了其在全景分割中的结果,在实验中保持 DETR 模型的权值不变,仅对一小部分扩展模块进行训练。

与 Faster R-CNN 对比

下表展示了在 COCO 验证集上,DETR 与 Faster R-CNN 进行对比的结果。

表 1:在 COCO 验证集上与 Faster R-CNN 的对比结果。

结果表明,DETR 在大目标的检测中性能表现较好,在小目标的检测中表现较差。

将 DETR 用于全景分割

全景分割最近在计算机视觉社区受到了广泛关注。类似于 Faster R-CNN 的扩展 Mask R-CNN,DETR 同样能够很方便地通过在解码器输出顶端添加 mask head 来进行扩展。

下图展示了 DETR 在全景分割任务中的量化结果。可以看到,DETR 以统一的方式为物体与材料(things and stuff)生成了匹配的预测蒙版。

图 9:DETR-R101 处理的全景分割结果。

结果显示 DETR 尤其擅长对材料分类,研究者推测,解码器注意力机制具有的全局推理特性是产生这一结果的关键因素。

在下表中,研究者将自己所提出的统一全景预测方法与区分物体和材料的其他方法进行了比较。

表 5:在 COCO 验证集上,将 DETR 与目前的 SOTA 方法进行比较。

参考链接:https://ai.facebook.com/blog/end-to-end-object-detection-with-transformers


理论TransformerFacebook目标检测Faster R-CNN计算机视觉
2
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

自注意力技术

自注意力(Self-attention),有时也称为内部注意力,它是一种涉及单序列不同位置的注意力机制,并能计算序列的表征。自注意力在多种任务中都有非常成功的应用,例如阅读理解、摘要概括、文字蕴含和语句表征等。自注意力这种在序列内部执行 Attention 的方法可以视为搜索序列内部的隐藏关系,这种内部关系对于翻译以及序列任务的性能非常重要。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

GPT-2技术

GPT-2是OpenAI于2019年2月发布的基于 transformer 的大型语言模型,包含 15 亿参数、在一个 800 万网页数据集上训练而成。据介绍,该模型是对 GPT 模型的直接扩展,在超出 10 倍的数据量上进行训练,参数量也多出了 10 倍。在性能方面,该模型能够生产连贯的文本段落,在许多语言建模基准上取得了 SOTA 表现。而且该模型在没有任务特定训练的情况下,能够做到初步的阅读理解、机器翻译、问答和自动摘要。

目标检测技术

一般目标检测(generic object detection)的目标是根据大量预定义的类别在自然图像中确定目标实例的位置,这是计算机视觉领域最基本和最有挑战性的问题之一。近些年兴起的深度学习技术是一种可从数据中直接学习特征表示的强大方法,并已经为一般目标检测领域带来了显著的突破性进展。

量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

推荐文章
暂无评论
暂无评论~