计算机视觉中的Transformer

发布时间:2023-09-16 19:00

计算机视觉中的Transformer

    • 综述
      • 分类
      • 交集
    • DETR路线
      • DETR
      • Deformable DETR
    • ViT路线
      • ViT
      • DieT
      • Tokens-to-Token ViT
      • Pyramid ViT
    • 关于炼丹
    • Other references

自从2017年Attention Is All You Need论文,Transformer热度持续升高,因为其解决的是\"seqence to sequence\"属性的问题,所以先是在自然语言处理中席卷各类问题,其代表性工作为BERT。BERT截至今天在Github已有27.2k⭐,火的我没词了…
\"计算机视觉中的Transformer_第1张图片\"
就好比约5年前,循环神经网络(RNN)先火遍NLP,随后又入侵CV。现在,Transformer也是在席卷了NLP的各类问题后,正在席卷CV的各类问题。前几天连GANsformer都出来了(这名字起的…读起来就很带劲哈)。

本文旨在捋一捋截至目前(2021年3月7日)计算机视觉中的Transformer有代表性的几条研究成果路线,全部是开源了的论文。

综述

分类

20201224-A Survey on Visual Transformer

这篇早一点,主要是整理了一些计算机视觉中Transformer的原理上的问题。

20210104-Transformers in Vision: A Survey

这篇应该是最新的一篇综述吧。它完善而细致地收集了很多研究成果(含200条引用);通读可以基本把握这方向的状态;也可以作为一本论文字典,读一篇具体的论文时可以去查表,或者查表去找某种具体的论文(该综述含有一张很有价值的表格,归纳了主流论文的问题类型、创新点、输入数据类型、监督数据类型、loss项、局限之处的表格)。就像这样:

Task Method Design Highlights (focus on differences with the standard form) Input Data Type Label Type Loss
Image Classification ViT Directly adopted NLP Transformer Encoder for images, Mechanism to linearly embed image patches with positional embedding suitable for the Encoder。 2D Image Class labels Cross-entropy
DeiT Transformer as s student while CNN as a teacher, Distillation tokens to produce estimated labels from teacher, Attention between class and distillation tokens. 2D Image Class labels Cross-entropy,
Distillation loss
based on
KL-divergence
Object Detection DETR Linear projection layer to reduce CNN feature dimension, Spatial positional embedding added to each multi-head self-attention layer of both encoder and decoder. Object queries (output positional encoding) added to each multihead self-attention layer of decoder. 2D Image Class labels Hungarian loss based on bipartite matching between predicted and ground truths
D-DETR Deformable Transformer consists of deformable attention layers to introduce sparse priors in Transformers, Multiscale attention module. 2D Image Class labels Hungarian loss
3D Classification/
Segmentation
PT Point Transformer block, Transition down block to reduce cardinality of the point set, Transition up for dense prediction tasks. CAD models, 3D object part segmentation Object and shape categories Cross-entropy

交集

20210104-Transformers in Vision: A Survey综述中有这么一张分类图。
\"计算机视觉中的Transformer_第2张图片\"

  • Efficient attention:由于Transformer消耗的存储空间与序列长度成平方关系O(N²),训练Transormer模型通常是需要长时间、大显存、大数据集,所以有这么个方向致力于改善这一问题。
  • Global/Local attention:注意力是应用于整张feature map,还是应用于确定范围的邻居。
  • CNN:用Transformer做CV,有纯种的,有和CNN杂交的。纯种的是用Transformer实现了整个神经网络;杂交的是用Transformer实现了某个组件,其他组件还是用到了CNN,比如feature map还是ResNet提取的。

DETR路线

DETR

Facebook在2020年5月发表的DEtection TRansformer(DETR),是2020ECCV会议论文。目标识别新范式,杂交的网络,CNN提取特征,Transformer做识别。DETR将检测视为集合预测问题,简化了目标检测的整体流程。CNN提取的二维特征先被展平,加上一个固定的位置编码给Tansformer编码器,然后Tansformer解码器将少量固定的学习位置嵌入作为输入(即对象查询)。解码器的输出传给一个共享前馈网络(FFN),该FFN预测一个检测,即类别和边界框。此预测与groundtruth算Hungarian损失,从而得以训练。代码开源,目前6.3k⭐。
\"计算机视觉中的Transformer_第3张图片\"

Deformable DETR

中科大、商汤2020年10月的Deformable DETR,目前已被ICLR2021接受。DETR存在训练周期长(比Faster RCNN慢10-20倍),不擅长需要高分辨率识别小目标的问题。所以Deformable DETR做出的改变有:Deformable DETR使用注意力后的特征图进行训练(DETR是直接使用CNN提取的特征图进行训练);对于关键点的特征使用邻近较小集合内的元素进行相关性刻画。代码开源,目前764⭐。
\"计算机视觉中的Transformer_第4张图片\"
DETR路线下,延申或者改进的文章还有一些,就只挂一漏万地列举一下了。

Fast Convergence of DETR with Spatially Modulated Co-Attention

DETR for Crowd Pedestrian Detection

UP-DETR: Unsupervised Pre-training for Object Detection with Transformers (2021CVPR)

ViT路线

ViT

Google在2020年10月发表的Visual Transformer(ViT)算是一个经典吧(5个月成经典,足以证明Transformer现在有多热…),主要的贡献在于:基本照搬NLP的Transformer实现图像分类,证明了纯Transformer在CV上可以实现SOTA,甚至超越CNN的结果。代码开源,目前1.8k⭐。
\"计算机视觉中的Transformer_第5张图片\"

DieT

Facebook在2021年1月15日发表的Data-efficient image Transformers(DieT)。卖点在于ViT一般数据量、显卡容量烧不起,所以在data-efficient上做文章。具体措施是用了一种distillation token在Transformer中实现了教师-学生策略(所谓以前的知识蒸馏)。代码开源,目前1.5k⭐。
\"计算机视觉中的Transformer_第6张图片\"

Tokens-to-Token ViT

依图CTO颜水成通讯作者Tokens-to-Token ViT(T2T-ViT),2021年1月28日出来的。因为ViT在中等大小的数据集上效果比CNN还是差,作者认为是ViT的tokenization比较简陋,且网络架构存在冗余的部分,所以训练效率不高,所以T2T-ViT提出了一个Tokens-to-Token变换,递归地将邻近的tokens聚合为一个token,缩小tokens长度;以及一个deep-narrow的网络结构(猜是和CNN里bottleneck的思想类似?未深究可能不对),旨在改善冗余问题。代码开源,目前550⭐。
\"计算机视觉中的Transformer_第7张图片\"

Pyramid ViT

南大、港大、商汤的2021年2月24日发表的Pyramid Vision Transformer(PVT)。从论文的交待和代码的痕迹可以看出是在DieT的代码上改进出来的(大家都不过年的嘛)。亮点在于所谓的Pyramid,用Transformer实现了以前CNN擅长的多尺寸的feature map提取,从而很多dense的CV任务就方便做了(图像分类是逐图片的任务,而目标识别、语义分割是逐像素的dense任务)。代码开源,目前320⭐。
\"计算机视觉中的Transformer_第8张图片\"

关于炼丹

众所周知,Transformer耗算力,吃数据,更不幸的是对超参数比较敏感,调不好很有可能就炼不出来。其中的数学原理,数理基础扎实的话可以瞅瞅这篇文献。

其中比较重要的一个点是学习率的设置具有技巧性,训练前通常要先热身,也就是需要有warm up stage,意思就是学习率应该先从较小的值线性增大,再正弦函数cos(t)减小。
\"计算机视觉中的Transformer_第9张图片\"
还有就是Layer Norm必用不可,谁不用谁知道。不过只要不是自己搭网络,时髦的开源代码肯定都Layer Norm了,不用担心。

Other references

李宏毅老师的上课视频:入门时推荐先看一遍,事半功倍,不然看博客比较低效,直接看论文更摸黑。
CV中的Transformer论文收集Github仓库:已收集约60篇CV❌Transformer论文,目前在持续更新,可以时而看看有没有新的commit,Transformer different everyday~

\0\0\0\0\0\0\0\0\0\0\0\0

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号