当前位置: 首页 > news >正文

Transformer 杂记

Transformer输入的是token,来自语言序列的启发。

卷积神经网络(CNN)是如何进行物种分类的.它实际是直接对特征进行识别,也就是卷积神经网络最基本的作用:提取图像的特征。例如:卷积神经网络判断一只狗的时候,是从它的眼睛长啥样,鼻子长啥样,这些具体的特征去判断,而这些特征之间有什么联系它不会在意,比如眼睛长啥样并不会影响它对鼻子长啥样的判断。

注意力机制,是寻找一幅图中的每个token之间的相互联系。

图像分类:

VIT:VIT是Vision Transformer的缩写,是第一种将transformer运用到计算机视觉的网络架构。其将注意力机制也第一次运用到了图片识别上面。

Swin_Transformer:swintransformer的出现是为了解决传统的VIT对局部注意力关注度不够的问题,说人话就是,从VIT对整体的注意力的计算升级成了对图片分块后再进行小块的注意力计算。

Transformer经典论文:

1. Attention is All you Need

2. An Image is Worth 16x16 Words:Transformers for Image Recognition at Scale

3. End-to-End Object Detection withTransformers

4. Long Range Arena: A Benchmark forEfficient Transformers

5. Pyramid Vision Transformer: A VersatileBackbone for Dense Prediction Without Convolutions

6. PVTv2: Improved Baselines with PyramidVision Transformer

7. Scaling Vision Transformers

8. Swin Transformer: Hierarchical VisionTransformer using Shifted Windows.

9. Swin Transformer V2: Scaling Up Capacityand Resolution

10. SegFormer: Simple and Efficient Designfor Semantic Segmentation with Transformers

11. Is Space-Time Attention All You Needfor Video Understanding?

12. VidTr: Video Transformer WithoutConvolutions

13. MixFormer: End-to-End Tracking withIterative Mixed Attention

14. EcoFormer: Energy-Saving Attention withLinear Complexity

15. Transformers in Vision: A Survey

16. Efficient Transformers: A Survey

17. MLP-Mixer: An all-MLP Architecture forVision

18. Dual Vision T ransformer

19. Vision Transformer Advanced byExploring Intrinsic Inductive Bias

Tranformer未来还能做什么?

Vision Transformer的故事还在继续,今年NeurIPS投稿也能看到大家陆续也在关注实测速度了,如TRT ViT,EfficientFormer, 但实际上ViT的工业落地相比CNN可能还是会有障碍。如量化上,ViT还是在低bit上还有很大提升空间。除此之外,我们组(https://ziplab.github.io/)也在探索Transformer的其他efficiency问题,比如

ViT的Training efficiency还有很大的空间。 ViT普遍难训练,需要的显存大,训练时间长。特别是backbone的公认setting是1024的batch size + 8 GPUs,使得很多小组连ViT跑都跑不起来(8卡 32GB V100不是所有人都有的),针对这一问题我们提出了一个针对Transformer的一个memory-efficient的训练框架: Mesa: A Memory-saving TrainingFramework for Transformers(https:arxiv.org/abs/2111.11124). 和普通训练相比,Mesa可以做到显存节省一半,同时与checkpointing和gradient accumulation等技术方案不冲突。

Transformer的能源消耗也是一个问题,特别是当下很多大组在跑以Transformer为backbone的大模型,训练时所造成的电力损耗,碳排放对Green AI这一长远目标不利。针对Energy efficiency,我们组在NeurIPS 2022最新的工作 EcoFormer: Energy-Saving Attention withLinear Complexity(https://arxiv.org/abs/2209.09004) 提出了一个Transformer二值化的全新方案,全新设计的EcoFormer是一个general的efficient attention, 性能和功耗上都优于一众线性复杂度的Linformer, Performer等,同时在45nm CMOS microcontroller上能耗更低,速度更快。

至于CNN和Transformer哪个好的问题,这个答案其实不必再过多讨论了,因为两者互补。通过合理地配置CNN和MSA在Backbone中的位置,可以让网络得到双倍的快乐。更不用说Convolution和MSA两者之间本身存在一种联系,比如我们组的另一篇工作:Pruning Self-attentions intoConvolutional Layers in Single Path(https://arxiv.org/abs/2111.11802), 巧妙地通过参数共享将计算复杂度较高的attention layer剪成更为efficient的convolutional layer,工程细节可以参考:https://github.com/ziplab/SPViT。

http://www.lryc.cn/news/42630.html

相关文章:

  • 实现异步的8种方式
  • Github隐藏功能显示自己的README,个人化你的Github主页
  • 单片机 | 51单片机原理
  • (只需五步)注册谷歌账号详细步骤,解决“此电话号码无法验证”问题
  • ChatGPT使用介绍、ChatGPT+编程、相关组件和插件记录
  • linux系统中复制粘贴和头文件问题解决方案
  • Vue项目实战 —— 后台管理系统( pc端 ) —— Pro最终版本
  • Springboot+vue开发的图书借阅管理系统项目源码下载-P0029
  • 学习 Python 之 Pygame 开发魂斗罗(十三)
  • 指针进阶(中)
  • C/C++获取文件名的方法(__FILE__,__builtin_FILE(),__BASE_FILE__)
  • 线程池的讲解和实现
  • linux编程──gcc和clang
  • 字节跳动测试岗面试记:二面被按地上血虐,所幸Offer已到手...
  • 5.多线程学习
  • 数据结构中的堆
  • Linux内核设备信息集合
  • 若依框架---权限管理设计
  • Java设计模式(二)——工厂模式
  • 【Maven】
  • [JAVA]继承
  • Vue3 pinia持久化存储(组合式Api案例演示)
  • 8个你一看就觉得很棒的Vue开发技巧
  • vue3+ts 开发效率提升
  • 【数据结构与算法】队列和栈的相互实现以及循环队列
  • mysql连接不上问题解决
  • 利用nginx实现动静分离的负载均衡集群实战
  • 与chatGPT神聊,引领你深入浅出系统调用
  • 自学大数据第十天~Hbase
  • vue更高效的工具-vite