当前位置: 首页 > 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。

相关文章:

Transformer 杂记

Transformer输入的是token,来自语言序列的启发。卷积神经网络(CNN)是如何进行物种分类的.它实际是直接对特征进行识别,也就是卷积神经网络最基本的作用:提取图像的特征。例如:卷积神经网络判断一只狗的时候&#xff0c…...

实现异步的8种方式

前言异步执行对于开发者来说并不陌生,在实际的开发过程中,很多场景多会使用到异步,相比同步执行,异步可以大大缩短请求链路耗时时间,比如:「发送短信、邮件、异步更新等」,这些都是典型的可以通…...

Github隐藏功能显示自己的README,个人化你的Github主页

Github隐藏功能:显示自己的README 你可能还不知道,GitHub 悄悄上线了一个全新的个人页功能,显示一个自定义的 README.MD 在个人首页。要激活此功能,需要新建一个与自己 ID 同名的 Repository,新 Repo 里的README.MD将…...

单片机 | 51单片机原理

【金善愚】 单片机应用原理篇 笔记整理 课程视频 :https://space.bilibili.com/483942191/channel/collectiondetail?sid51090 文章目录一、引脚分布介绍1.分类2.电源引脚3.时钟引脚(2根)4.控制引脚(4根)5.端口引脚(32根)二、存储器结构及空间分布介绍1.存储器的划…...

(只需五步)注册谷歌账号详细步骤,解决“此电话号码无法验证”问题

目录 第一步:打开google浏览器 第二步:设置语言为英语(美国) 第三步:点击重新启动,重启浏览器 第四步:开始注册 第五步,成功登录google账号! 如果出现这样的原因&…...

ChatGPT使用介绍、ChatGPT+编程、相关组件和插件记录

文章目录介绍认识ChatGPT是通过英汉互译来实现中文回答的吗同一个问题,为什么中英文回答不同ChatGPT的使用对话组OpenAI APIAI智能绘图DALLE 2ChatGPT for Google插件ChatGPT编程编写代码代码错误修正与功能解读代码评审与优化推荐技术方案编写和优化SQL语句在代码编…...

linux系统中复制粘贴和头文件问题解决方案

各位开发者大家好,好久不见,为了更好的服务大家,将平常所见所闻,以及遇到的问题和解决办法进行记录和总结。大家在学习过程中,有任何问题欢迎交流学习!!!。 第一:如何将w…...

Vue项目实战 —— 后台管理系统( pc端 ) —— Pro最终版本

前期回顾 开源项目 —— 原生JS实现斗地主游戏 ——代码极少、功能都有、直接粘贴即用_js斗地主_0.活在风浪里的博客-CSDN博客JS 实现 斗地主网页游戏https://blog.csdn.net/m0_57904695/article/details/128982118?spm1001.2014.3001.5501 通用版后台管理系统,如果…...

Springboot+vue开发的图书借阅管理系统项目源码下载-P0029

前言图书借阅管理系统项目是基于SpringBootVue技术开发而来,功能相对比较简单,分为两个角色即管理员和学生用户,核心业务功能就是图书的发布、借阅与归还,相比于一些复杂的系统,该项目具备简单易入手,便于二…...

学习 Python 之 Pygame 开发魂斗罗(十三)

学习 Python 之 Pygame 开发魂斗罗(十三)继续编写魂斗罗1. 创建敌人2类2. 编写敌人2类的draw()函数3. 编写敌人越界消失函数4. 编写敌人开火函数5. 把敌人2加入地图进行测试继续编写魂斗罗 在上次的博客学习 Python 之 Pygame 开发魂斗罗(十…...

指针进阶(中)

提示: 上集内容小复习🥰🥰 int my_strlen(const char* str) {return 1; } int main() {//指针数组char* arr[10];//数组指针int arr2[5] { 0 };int(*p)[5] &arr2; //p是一个指向数组的指针变量//函数指针int (*pf)(const char*)&m…...

C/C++获取文件名的方法(__FILE__,__builtin_FILE(),__BASE_FILE__)

目录标题C/C获取文件名的方法__FILE__宏避免__FILE__宏的错误慎用$(subst $(dir $<),,$<)\"")来重定义__BASE_FILE__宏__builtin_FILE()函数Windows API函数GetModuleFileName()getenv()使用cmake中的变量重定义__FILE__宏的CMake示例C/C获取文件名的方法 使用…...

线程池的讲解和实现

&#x1f680;&#x1f680;&#x1f680;&#x1f680;&#x1f680;&#x1f680;&#x1f680;大家好,今天为大家带来线程池相关知识的讲解,并且实现一个线程池 &#x1f338;&#x1f338;&#x1f338;&#x1f338;&#x1f338;&#x1f338;&#x1f338;&#x1f338;…...

linux编程──gcc和clang

实验链接 编译原理实验-GCC/Clang工具链在ARM架构上的使用 实验报告 第1关&#xff1a;理解程序的不同表示形式 ##问题1-1&#xff1a; 如果在命令行下执行 gcc -DNEG -E sample.c -o sample.i生成的sample.i 与之前的有何区别&#xff1f; 根据定义NEG,而选择了M定义为-4…...

字节跳动测试岗面试记:二面被按地上血虐,所幸Offer已到手...

在互联网做了几年之后&#xff0c;去大厂“镀镀金”是大部分人的首选。大厂不仅待遇高、福利好&#xff0c;更重要的是&#xff0c;它是对你专业能力的背书&#xff0c;大厂工作背景多少会给你的简历增加几分竞争力。 但说实话&#xff0c;想进大厂还真没那么容易。最近面试字…...

5.多线程学习

作者&#xff1a;爱塔居 专栏&#xff1a;JavaEE 作者简介&#xff1a;大三学生&#xff0c;喜欢总结与分享~ 文章目录 目录 文章目录 章节回顾 一、wait 和notify 二、设计模式 2.1 单例模式 章节回顾 线程安全 1.一个线程不安全的案例&#xff08;两个线程各自自增5w次&…...

数据结构中的堆

一、树的重要知识点 节点的度&#xff1a;一个节点含有的子树的个数称为该节点的度&#xff08;有几个孩子&#xff09;叶节点或终端节点:度为0的节点称为叶节点&#xff1b;如上图&#xff1a;B、C、H、I...等节点为叶节点&#xff08;0个孩子&#xff09;非终端节点或分支节点…...

Linux内核设备信息集合

本文结合设备信息集合的详细讲解来认识一下设备和驱动是如何绑定的。所谓设备信息集合&#xff0c;就是根据不同的外设寻找各自的外设信息&#xff0c;我们知道一个完整的开发板有 CPU 和各种控制器&#xff08;如 I2C 控制器、SPI 控制器、DMA 控制器等&#xff09;&#xff0…...

若依框架---权限管理设计

前言 若依权限管理包含两个部分&#xff1a;菜单权限 和 数据权限。菜单权限控制着我们可以执行哪些操作。数据权限控制着我们可以看到哪些数据。 菜单是一个概括性名称&#xff0c;可以细分为目录、菜单和按钮&#xff0c;以若依自身为例&#xff1a; 目录&#xff0c;就是页…...

Java设计模式(二)——工厂模式

当用户需要一个类的子类实例&#xff0c;且不希望与该类的子类形成耦合或者不知道该类有哪些子类可用时&#xff0c;可采用工厂模式&#xff1b;当用户需要系统提供多个对象&#xff0c;且希望和创建对象的类解耦时&#xff0c;可采用抽象工厂模式。 工厂模式一般分为简单工厂、…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

船舶制造装配管理现状&#xff1a;装配工作依赖人工经验&#xff0c;装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书&#xff0c;但在实际执行中&#xff0c;工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...

Python 实现 Web 静态服务器(HTTP 协议)

目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1&#xff09;下载安装包2&#xff09;配置环境变量3&#xff09;安装镜像4&#xff09;node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1&#xff09;使用 http-server2&#xff09;详解 …...