Transformer:开启CV研究新时代
来源:投稿 作者:魔峥
编辑:学姐
起源回顾
有关Attention的论文早在上世纪九十年代就提出了。
在2012年后的深度学习时代,Attention再次被翻了出来,被用在自然语言处理任务,提高RNN模型的训练速度。但是由于结果Attention效果太好。谷歌的科学家们在2017年提出了抛弃RNN全用Attention的神经网络结构[2],并把这种结构取名为Transformer。
Transformer的基础元件是一种名叫Self-Attention的计算方式。假设现在一个有隐式逻辑的序列a=(a1, a2, a3, ..., ai, ...),例如文章的文字序列,语音的声谱序列,甚至可以是心电图信号序列。我们的目标是:为每个token(元素)找到与其他token的关系权重(图1),找到这样的权重信息组合就是Transformer需要做的。

大杀四方
我们可以发现,Transformer在NLP语音识别这样的序列任务上有天生的结构优势。 但是在图片识别任务中,因为序列信息不明显而很难简单使用。
事情的发展也是这样,在Transformer在NLP任务中火了3年后,VIT网络[4]提出才令Transformer正式闯入CV界,成为新一代骨干网络。
VIT的思想很简单:
没有序列就创造序列,把一个图片按序切成一个个小片(Patch)不就是有序列与token了吗(图2)?这样的想法很简单很粗暴,但效果就是好。一种全新思路设计的网络,结果直接逼近甚至超过研究多年的ResNet CNN结果【表1】。
但这种简单粗暴的切片结果是有明显的缺点。(包括但不限于以下几点)如:
新网络训练难度大,论文中几乎没告诉调参方法 因为VIT的直筒式结构,对接下游任务时表现很难 使用图片切开的方法,导致切口处的关联性一些影响。


后来衍生
所谓”缺陷趋生进化,完美亦是终结”。
VIT的优异表现让驱使继者进行深入持续研究。直接导致了如今Transformer在CV界大火的局面。在DeiT论文[6]中,作者提出了VIT网络的训练方案【表2】。以表2的参数为基准进行数据微调即可以得到很好的结果。

在ICCV2021上提出的PVT(Pyramid Vision Transformer)论文【5】中,将类FPN的结构(图3)因为FPN。该方案大大方便了Transformer网络接入CV下游任务,同时减少了大目标的内存计算的消耗。

在同时期ICCV2021的Swim Transformer论文[7]中,提出了W-MSA。SW-MSA交替使用(图4)的切片方案(Swim Transformer论文中还有很多重要的开创性贡献)。该方案防止了被切片处一直分开关联性差的情况。

自去年以来,CV Transformer发展更加迅速俨然成为CV界继CNN的下一代神经网络。看来新一轮的知识更新又开始了。
引文:
[1] Jay Alammar:The Illustrated Transformer https://jalammar.github.io/illustrated-transformer/
[2] Attention Is All You Need https://arxiv.org/abs/1706.03762
[3] 台湾大学李宏毅教授Attention课程ppt
[4] An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale https://arxiv.org/abs/2010.11929
[5] Pyramid Vision Transformer: A Versatile Backbone for Dense Prediction without Convolutions https://arxiv.org/abs/2102.12122
[6] Training data-efficient image transformers & distillation through attention https://arxiv.org/abs/2012.12877
[7] Swin Transformer: Hierarchical Vision Transformer using Shifted Windows https://arxiv.org/abs/2103.14030
关注下方卡片《学姐带你玩AI》🚀🚀🚀
回复“CVPR”
600+篇CVPR必读论文免费领
码字不易,欢迎大家点赞评论收藏!
相关文章:
Transformer:开启CV研究新时代
来源:投稿 作者:魔峥 编辑:学姐 起源回顾 有关Attention的论文早在上世纪九十年代就提出了。 在2012年后的深度学习时代,Attention再次被翻了出来,被用在自然语言处理任务,提高RNN模型的训练速度。但是由…...
Flink X Hologres构建企业级Streaming Warehouse
摘要:本文整理自阿里云资深技术专家,阿里云Hologres负责人姜伟华,在FFA实时湖仓专场的分享。点击查看>>本篇内容主要分为四个部分: 一、实时数仓分层的技术需求 二、阿里云一站式实时数仓Hologres介绍 三、Flink x Hologres…...
关于 mysql数据库插入中文变空白 的解决方法
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/129048030 红胖子网络科技的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软…...
不可错过的SQL优化干货分享-sql优化、索引使用
本文是向大家介绍在sql调优的几个操作步骤,它能够在日常遇到慢sql时有分析优化思路,能够让开发者更好的了解sql执行的顺序和原理。一、前言在日常开发中,我们经常遇到一些数据库相关的问题,比方说:SQL已经走了索引了&a…...
vue3:直接修改reative的值,页面却不响应,这是什么情况?
目录 前言 错误示范: 解决办法: 1.使用ref 2.reative多套一层 3.使用Object.assign 前言: 今天看到有人在提问,问题是这样的,我修改了reative的值,数据居然失去了响应性,页面毫无变化&…...
从Vue2 到 Vue3,这些路由差异你需要掌握!
✨ 个人主页:山山而川~xyj ⚶ 作者简介:前端领域新星创作者,专注于前端各领域技术,共同学习共同进步,一起加油! 🎆 系列专栏: vue系列 🚀 学习格言:与其临渊羡…...
Maxwell简介、部署、原理和使用介绍
Maxwell简介、部署、原理和使用介绍 1.Maxwell概述简介 1-1.Maxwell简介 Maxwell是由美国Zendesk公司开源,使用Java编写的MySQL变更数据抓取软件。他会实时监控Mysql数据库的数据变更操作(包括insert、update、delete),并将变…...
20230215_数据库过程_渠道业务清算过程
----2023-0131-清算过程 zhyw.shc_drop_retable(upper(‘xc_qdcn_pgtx_qsqdtype_sja’),‘SHZC’); SQL_STRING:‘create table shzc.xc_qdcn_pgtx_qsqdtype_sja as select * from shzc.xc_qdcn_pgtx_qdtype a where a.in_time ( select max(a.in_time) from shzc.xc_qdcn_pg…...
webpack(高级)--性能优化-代码分离
webpack webpack性能优化 优化一:打包后的结果 上线时的性能优化 (比如分包处理 减少包体积 CDN服务器) 优化二:优化打包速度 开发或者构建优化打包速度 (比如exclude cache-loader等) 大多数情况下我们侧…...
借助docker, 使用verdaccio搭建npm私服
为何要搭建npm私服 搭建npm私服好处多多,网上随便一篇教程搜出来都罗列了诸多好处,譬如: 公司内部开发环境与外网隔离,内部开发的一些库高度隐私不便外传,内网搭建npm服务保证私密性同属内网,可以确保使用npm下载依赖…...
c/c++开发,无可避免的模板编程实践(篇二)
一、开发者需要对模板参数负责 1.1 为您模板参数提供匹配的操作 在进行模板设计时,函数模板或类模板一般只做模板参数(typename T)无关的操作为主,但是也不见得就不会关联模板参数自身的操作,尤其是在一些自定义的数据…...
【2023】【standard-products项目】中查找的问题与解决方案 (未完待续)
10、el-table 判断是多选操作还是单选操作 9、判断数组对象中是否包含某个指定值 需求:修改时数据回填el-select下拉数据,发现当前id在原数组里没有找到,就显示了id值,应该显示name名, 处理:当查找到id…...
力扣sql简单篇练习(十六)
力扣sql简单篇练习(十六) 1 产品销售分析|| 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 SELECT p.product_id,sum(s.quantity) total_quantity FROM Product p INNER JOIN Sales s ON p.product_ids.product_id GROUP BY p.product_id1.3 运行截…...
青少年蓝桥杯python组(STEMA中级组)
第一套编程题第一题【编程实现】输入一个字符串(N),输出该字符串的长度。输入描述:输入一个字符串 N输出描述:输出该字符串的长度【样例输入】abcd【样例输出】4N input() print(len(N))第二题【提示信息】小蓝家的灯…...
JVM内存结构,Java内存模型,Java对象模型
一.整体方向JVM内存结构是和java虚拟机的运行时区域有关。Java内存模型和java并发编程有关。java对象模型和java对象在虚拟机中的表现形式有关。1.JVM内存结构堆:通过new或者其他指令创建的实例对象,会被垃圾回收。动态分配。虚拟机栈:基本数…...
跨境电商新形式下,如何选择市场?
2022年,全球经济已经有增长乏力、通胀高起的趋势,美国等国家的通货膨胀情况令人担忧,不少行业面临更为复杂的外部环境以及严峻的市场挑战。不过,跨境电商行业依旧保持着较高的增长速度,越来越多有远见的卖家将电商事业…...
MySQL的触发器
目录 一.概述 介绍 触发器的特性 操作—创建触发器 操作—new和old 操作—查看触发器 操作—删除触发器 注意事项 一.概述 介绍 触发器,就是一种特殊的存储过程。触发器和存储过程一样是一个能够完成特定功能、存储在数据库服务器上的SQL片段,但是…...
内存映射模块读写文件提高IO性能mmap
内存映射模块读写文件提高IO性能mmap 1.概述 这篇文章介绍下与普通读写文件不同的方式,内存映射读写文件。在什么情况下才会用到内存映射操作文件那,还是要先了解下他。 1.1.内存映射与IO区别 常规操作IO开销 常规的操作文件是经过下面几个环节操作I…...
存储硬件与协议
存储硬件与协议存储设备的历史轨迹存储介质的进化3D NAND3D XPointIntel Optane存储接口协议的演变NVMeNVMe-oF网络存储技术1)DAS2)NAS3)SAN4)iSCSIiSCSI层次结构存储设备的历史轨迹 1.穿孔卡2.磁带3.硬盘4.磁盘(软盘…...
智能物流半导体发展
智能物流半导体在国内的发展,国内巨大的人口基数,这将会不断促进智慧物流的发展。智能物流在未来发展的潜力巨大。 关于触屏的设计是界面越简单,越清晰越好,最近设计一个小车控制触屏软件。把小车当前所在信息通过图像显示出来。…...
C#异步编程完全指南:async/await背后的状态机原理
# C#异步编程完全指南:async/await背后的状态机原理## 引言在现代软件开发中,异步编程已成为构建高响应、高吞吐量应用程序的基石。C# 作为一门不断演进的现代编程语言,从 .NET Framework 4.5 开始引入了 async 和 await 关键字,彻…...
一文搞懂训练大模型的数据怎么准备!
谈到大模型,很多人第一反应都是模型参数大、算力强,但其实数据才是大模型真正的底座。没有足够大、足够干净的数据,再先进的模型也发挥不出威力。今天就从数据层面,把大模型训练的几个关键环节梳理清楚。 数据采集与清洗 大模型训…...
树莓派C语言工程建立
从原来例子程序中拷贝一个例子例如blink目录到myPrj目录下,再拷贝其他几个文件,最终示意如下:修改CMakeLists.txt 文件,去除add_subdirectory(…)语句和add_subdirectory_exclude_platforms(…)语句,在最后增加 add_su…...
Qwerty Learner 数据持久化架构深度解析:IndexedDB 异步存储方案技术实现
Qwerty Learner 数据持久化架构深度解析:IndexedDB 异步存储方案技术实现 【免费下载链接】qwerty-learner 项目地址: https://gitcode.com/GitHub_Trending/qw/qwerty-learner 在英语单词记忆与打字训练应用中,数据持久化架构直接影响学习体验的…...
从Address Editor入手:在Block Design中精准调整Bram存储深度的实战解析
1. 当Bram存储深度无法修改时,你该怎么做? 第一次在Vivado中使用Block Design搭建系统时,很多人都会遇到一个奇怪的现象:明明在Bram IP核的参数设置界面看到了"Depth"这个选项,但无论如何点击都无法修改。这…...
这份榜单够用!盘点2026年用户挚爱的一键生成论文工具
一天写完毕业论文在2026年已不再是天方夜谭。以下是2026年最炸裂、实测能大幅提速的一键生成论文工具,覆盖选题构思、文献综述、数据整理、格式排版等核心场景,高效搞定论文不再只是梦想。 一、全流程王者:一站式搞定论文全链路(一…...
COMSOL—超声相控阵聚焦仿真 模型介绍:激励函数是由高斯波和正弦波组成的脉冲函数
COMSOL—超声相控阵聚焦仿真 模型介绍:激励函数是由高斯波和正弦波组成的脉冲函数超声相控阵这玩意儿在工业检测和医学影像里玩得可溜了,今天咱们整点硬核的——用COMSOL搞个带高斯调制的超声聚焦仿真。先看这个模型的灵魂所在:激励信号设计。…...
HUNYUAN-MT企业级Java集成指南:构建高并发翻译微服务
HUNYUAN-MT企业级Java集成指南:构建高并发翻译微服务 1. 引言 想象一下,你负责的电商平台刚刚接到一个来自海外的百万级订单,但商品详情、用户手册全是中文。市场团队急等着把上万页的产品资料翻译成十几种语言,时间窗口只有短短…...
告别盲调:用eBPF uprobe给Go/Python应用函数调用画张“热力图”(附libbpfgo实战代码)
深度剖析eBPF uprobe技术:为Go/Python应用构建动态函数热力图 在云原生与微服务架构盛行的今天,后端服务的性能调优一直是开发者面临的挑战。传统性能分析工具往往需要重启服务或修改代码,这在生产环境中几乎不可行。而eBPF技术的出现&#x…...
Android音频输出流实战:从AudioFlinger到HAL层的完整调用链解析
Android音频输出流深度解析:从框架设计到硬件交互 1. Android音频系统架构概览 Android音频子系统采用分层设计,每一层都有明确的职责划分。理解这个架构是分析音频输出流的基础。 核心层级结构: 应用层:通过AudioTrack、MediaPla…...
