• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

万字长文盘点2021年paper大热的Transformer(ViT)

武飞扬头像
vsdfzgnb
帮助4

万字长文盘点2021年paper大热的Transformer(ViT)

很久未写文章了,在这之前,请允许我打个广告,由于github.io再也无法舒适的访问了(因为你懂得原因),我将博客指向了我的国内域名:blog.tsuai.cn , 不定期的会更新一些技术文章,感兴趣的朋友可以了解一下,当然你也可以关注我的知乎账号,我也会不定义的再知乎更新.

学新通网

01. Transformers in NLP

开始之前,还是回顾一下transformer在NLP领域的巨大成功吧!相比搞NLP的同学应该或多或少都认同一个观点:Transformer已经成了NLP的标配,有多标配?就比如我3年前搞NLP的时候LSTM统一天下一般.大名鼎鼎的GPT-3也是基于transformer的巨大模型,并获得了NIPS2020最佳论文奖.

那么在2021年的视觉领域,transformers也会像在NLP领域一样如日中天吗?事实上,使用transformer进行视觉任务的研究已经成了一个新的热点,大家为了更低的模型复杂度以及训练的效率,都在研究如何将这一技术应用在视觉任务上.

02. Transformers in CV 2020

在过去的一年里,至少这几篇论文是很有用的工作,他们就是在于transformer构建的模型,并且在各方面的指标上超越了许多领先的传统方法:

  • DETR: End-to-End Object Detection with Transformers, 使用transformer做目标检测的端到端的方法;
  • ViT: AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE, 探讨transformer应用于基础的视觉任务,比如分类任务;
  • Image GPT: Generative Pretraining from Pixels: 使用transformer进行图像填补;
  • LDTR: transformers for lane detection: 使用transformer进行车道线检测.

通常来说,有两个比较大的架构,在所有的关于transformer的论文以及工作中,其中一个就是传统的CNNs加transformer组合而成的结构,另一种是纯粹的Transformers.

  • 纯粹的transformers;
  • 混合的transformers.

写到这里,很多好奇的宝宝就会产生很多问题了:

  • 为什么要在视觉里面用它?怎么用?
  • 和现有的结果对比效果怎样?
  • 有什么约束挑战吗?
  • transformer的结构千奇百怪,有什么典型的同时兼顾精度和高效率的结构吗?为什么呢?

关于讲解transformer的视频,我这里推荐一个YoutuberUP主的视频,但是由于你懂得原因,你可能无法观看,于是我废了九牛二虎之力将其搬运到了Bilibili,就充这个严谨,大家可以给我可怜的B站账号点个赞,同时关注一波,现在只有5个粉丝,可怜.

www.bilibili.com/video/BV1py…

接下来我们就进一步的讲解一下ViT.

03. Vision Transformer

学新通网

这也是它的价值所在,谷歌大脑团队在几乎没有修改任何基于NLP的transformer的结构基础之上,只是将输入进行了一个适配,将图片切分成许多的小格,然后将这些作为序列输入到模型,最终完成了分类任务,并且效果可以直追基于CNNs的SOTA.

他们的做法也十分的简单,将图片切分可以完美的构造成一个序列的输入,几乎可以无缝的接入到transformer的输入中.而为了进一步的保持这些小格子之间的局部与整体关系,对于每一个patch都保持着和原图对应的编号.这可以很好的保持空间和位置的信息,即便在打乱他们的顺序之后这些信息也可以得到保留.当然在论文的源文中,他们也做了使用和不使用这个空间编码方式的对比实验,感兴趣的同学可以仔细阅读原文看看.

  • ILSVRC-2012 ImageNet, 包含1k类别和1.3M图片;
  • ImageNet-21k 包含21k的类别, 14M图片;
  • JFT包含18K类别,以及303M高分辨率图片.

这些数据集之大,达到了前所未有的地步,以至于他们训练时间单位不是Days, 而是k days:

学新通网

2.5k天,如果不是谷歌大佬谁能做这样的论文,哎.我们来看看ViT的效果,事实上,ViT的模型也和BERT一样,我甚至认为谷歌其实一直想做一个和BERT一样的工作,在视觉领域,二者的确也被谷歌的研究者们很好的结合在了一起.他们的模型分为,Large, Base, Huge. 在Large的模型上,它的精确度已经超越了Resnet152x4. 而且看起来训练的时间更短.

学新通网

这张图可以看出,当数据的数量不够的时候,它的精确度也不够好.

我们之前讲到,对于transformer的结构,我们有完全替代CNNs的ViT, 我们也有部分替代的DETR这样的结构,那么到底什么样的架构是最优的呢?谷歌的这张图,也给我们揭示了一些答案:

学新通网

  • 纯粹的transfomer结构,更加的高效,并且可扩张性更好,相比于传统的CNNs优势明显,不管是small,还是large的尺寸,效果都更好;
  • 混合的结构在小尺度的时候效果比纯粹的结构要好.这可能是由于transformer不仅需要更大的数据,同时也需要更大的结构,但是它的上限值更高.

04. DETR

学新通网

这个模型的特点是:

  • 使用传统的CNN来学习2D的特征表征,同时抽取特征;
  • CNN的输出被平铺出来,用来提供给transformer作为输入,这个平铺包含了特征的位置编码信息;
  • transformer的输出,解码器的输出,被用来输入到一个FNN之中,然后预测类别和框.

这样的结构,相比如传统的目标检测,至少终结掉了achor的设定,并且去掉了冗余的NMS. 这些手工的操作被摒弃,尽管他们在现如今的目标检测算法中仍然发挥出巨大的作用.

DETR真正牛逼的地方,其实不是它在目标检测的效果,而是当我们把它扩展到全景分割上所展示出来的惊人效果:

学新通网

那么他们是怎么做的呢?全景分割实际上是两个任务,一个是语义分割,这个任务将类别和每个pixel对应起来,另一个是实例分割,这个任务会检测每个目标,并且将这些目标区域分割出来.而DETR将这二者结合到了一起,并且展示出了令人惊奇的效果.

学新通网

05. Image GPT

回到我们一开始讲到的OpenAI的DELL-E, 这个工作展示了transformer的强大能力,然而在这之前,他们就已经做了一些相关的工作,其中的Image GPT就是一个基于GPT-2构建的图片填补模型.在这里我需要插一句,正如同Le-CUN所说,transformer真的很擅长来做填补的工作,仿佛他们天生就是如此.

Image GPT使用图片的像素序列来生成图片,它可以递归的来预测图片中的下一个像素.Image GPT的工作亮点是:

  • 使用了和GPT-2一样的transformer模型;
  • 非监督的学习;
  • 需要更大的计算量,如果我们需要更好的特征表示;

学新通网

事实上,OpenAI可能就是基于这一工作,再结合文本的GPT-3, 完成了令人经验的DELL-E.

总结

总而言之,对于一些新的技术热点,我们还是要充满想象力的.在不远的未来,或许视觉任务也可以像GPT3一样,真正的接近人的推理特征,这或许是技术迭代的转折点.

关于更多的transformer的细节以及代码解读,我会在后面的章节中继续为大家讲解,觉得有用的老铁可以关注一波我的知乎账号,并点个赞,牛年快乐.

Reference

  1. SOURCE: towardsdatascience.com/transformer…
  2. DETR: arxiv.org/pdf/2005.12…
  3. ViT: arxiv.org/pdf/2010.11…
  4. Image GPT: cdn.openai.com/papers/Gene…
  5. Attention is all you need: arxiv.org/pdf/1706.03…

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhbaieei
系列文章
更多 icon
同类精品
更多 icon
继续加载