深度学习——MetaFormer Is Actually What You Need for Vision

2023-10-29

前言

本文总结CVPR2022的oral文章《MetaFormer Is Actually What You Need for Vision》。该文章研究了ViT结构和类MLP结构的模型,将两者中相同的部分提取出来,组成了MetaFormer结构,并指出两者的性能都得益于MetaFormer结构,接着在此基础上提出了PoolFormer结构。

MetaFormer结构

在这里插入图片描述
上图左侧为MetaFormer结构,MetaFormer中的Token Mixer模块用于混合多个token之间的信息。该模块在类ViT结构的模型中对应为Attention模块(例如DeiT),而在类MLP结构的模型中对应SpatialMLP模块(例如GMLP、ResMLP)。

作者指出MetaFormer结构为类ViT和类MLP模型性能的主要来源,为了验证这一点,作者将MetaFormer结构中的Token Moixer模块替换为恒等映射(其实就是一个大卷积模型,一个单通道的大卷积处理一个特征图(token)),模型在ImageNet上的top-1准确率仍可达 74.3%。

此外,作者通过实验发现去除Norm、Channel MLP、Shortcut中的任意一个模块,模型均难以收敛,由此验证了MetaFormer中的结构缺一不可。

PoolFormer结构

作者在MetaFormer的基础上引入了PoolFormer结构,PoolFormer通过平均池化融合多个Token之间的信息,相比于Attention和SpatialMLP,池化操作不会引入额外的参数,并且计算量更小。PoolFormer的结构如下图所示:
在这里插入图片描述
其中Pooling操作的Pytorch代码如下
在这里插入图片描述
注意到池化操作后有一个减法操作,作者的解释(见上图注释)我并不是很认可,这个操作更像是个trick,但是我没有在文章中找到去除这个减法操作后模型的性能变化情况。

PoolFormer在ImageNet上的准确率如下图所示,所有模型都没有使用pretrain的权重
在这里插入图片描述

个人思考详见上一篇博文,文章中还有目标检测等任务的实验结果,现在做backbone是越来越卷。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

深度学习——MetaFormer Is Actually What You Need for Vision 的相关文章

随机推荐

  • 计算机BIOS的简单设置

    BIOS是什么 BIOS全称是基本输入输出系统 Basic Input Output System 是由主板厂商固化到主板上的一个特殊的计算机程序 它会在计算机开机的时候会检测硬件 运行自检程序 然后开始查找操作系统并引导到操作系统 所以
  • open3d 点到点云之间的距离

    关键代码 dists pcd compute point cloud distance target chair pcd chair PointCloud import open3d as o3d import numpy as np if
  • Impala的分析函数(基于impala2.12)

    分析函数又称为开窗函数 是一种特殊的内置函数 分析函数不会仅限于对每个group by的分组产生一个结果 它操作的是一个窗口 window 输入的行是排序和分组的 可以通过over 语句使用灵活的条件 impala的分析函数是从impala
  • GIF动态图制作工具(免费),附教程

    GIF动态图制作工具 免费 这里推荐一款动态图制作工具 还可以视频剪辑等等功能非常强大且占内存较小 完全免费非常好用 软件 格式工厂 网上直接搜就行 下载链接在下方 动态图制作教程如下动态图 CSDN发动态图只允许5MB以下所以我选了限制大
  • Python编程之斐波那契数列

    问题描述 完成斐波拉契数列的输出 程序分析 斐波那契数列 Fibonacci sequence 又称黄金分割数列 指的是这样一个数列 0 1 1 2 3 5 8 13 21 34 在数学上 费波那契数列是以递归的方法来定义 F0 0 n 0
  • CloudCompare——采样滤波

    目录 一 随机采样 1 算法原理及代码实现 2 软件实现 3 结果展示 二 空间采样 1 算法原理 2 软件实现 3 结果展示 三 八叉树采样 1 1 算法原理及代码实现 2 软件实现 3 结果展示 四 八叉树采样 2 1 算法原理及代码实
  • 增删改查

    Table structure for user DROP TABLE IF EXISTS user CREATE TABLE user id int 11 NOT NULL AUTO INCREMENT userName varchar
  • PAT_A1134#Vertex Cover

    Source PAT A1134 Vertex Cover 25 分 Description A vertex cover of a graph is a set of vertices such that each edge of the
  • splitVector "errmsg" : "not authorized on test to execute command

    mongodb开启权限之后 splitVector 需要的权限 user test da db test 拥有管理元权限 都不能执行成功 gt db system users find id admin dba user dba db ad
  • flex布局,让2个高度不固定的元素占满屏幕

    例如有这样的一个容器 div class outer div class head div div class content div div outer 的高度是屏幕的高度head 的高度是不确定的 由内容撑高 如何通过纯css使得 co
  • 会议OA项目之我的会议

    目录 一 会议OA名词介绍 二 我的会议SQL语句编写 三 我的会议后台 四 前端 一 会议OA名词介绍 我的会议 当前登录账号 是 某会议 主持人 则查询出来 我的审批 当前登录账号 是 某会议 的指定审批人 并且会议状态是待审核 则查询
  • 视频通信中的码率控制算法

    码率控制技术RC Rate Control 是视频编码中一个非常重要的技术模块 不同的应用场景对视频编码的码率控制有不同的需求 离线编码通常采用可变码率 VBR 实时视频系统通常采用恒定码率 CBR 本篇技术干货将深度剖析视频编码中的码率控
  • Redis Hash查询-单个key存多个对象和多个key存整个对象的差异

    使用的是 NET CORE的StackExchange Redis客户端程序操作redis 以下是个人见解 单个key存多个对象 优点 获取多个数据或全部数据的时候比较方便 操作简单 获取全部 var list await redisCli
  • NetCDF(nc)读写与格式转换介绍

    本文介绍了NetCDF文件格式 并详细讲解了如何使用Python对NetCDF文件进行读写操作 进而介绍了NetCDF文件的地理参考 最后以两个数据为例讲解了怎么将NetCDF格式的数据转GeoTIFF格式的数据 nc文件转为 tif文件
  • 嵌入式Linux--menuconfig详解

    menuconfig 1 简介 menuconfig是一套图像化配置工具 由ncurses库提供软件支持 ncurses库提供了一系列的函数以便使用者调用它们去生成基于文本的用户界面 menuconfig本身的软件只负责提供menuconf
  • docker容器域名映射

    为解决每次区块链连接地址变动时 都必须修改程序内或者程序内附带的连接IP地址 故实现本地hosts文件IP与域名的映射 实现方式 场景一 服务为传统方式启动 解决方法 在服务器本地的 etc hosts文件内添加IP和域名的映射 vim e
  • 将Qtcreator编译器、调试器等配置为MSVC2017/2019

    目录 1 前言 2 工具 原料 2 1 安装Windows下的软件开发调试器 3 配置Qtcreator 1 前言 安装Qt或Qtcreator时 一般选择MinGW 64 bit或MSVC编译器 对于MinGW 64 bit很简单 一般安
  • Mysql检查列是否存在并新增、修改、删除列

    很多时候只有自己遇到了问题才会着手去解决 这次刚好遇到了Mysql检查列是否存在的问题 顺便看到了网上其他大神也遇到过该问题就当作经验自己积累下来吧 在MYSQL中 新增 修改 删除列时不能进行IF EXISTS判断 IF语句只能出现在存储
  • c++ opencv4.5.5 学习笔记(九)检测出物体轮廓 cv::findContours (三角形、圆形、四边形、五边形、六边形、星形)

    检测出物体轮廓 findContours 检测出物体轮廓 image 单通道图像矩阵 可以是灰度图 但更常用的是二值图像 一般是经过Canny 拉普拉斯等边缘检测算子处理过的二值图像 contours 定义为 vector
  • 深度学习——MetaFormer Is Actually What You Need for Vision

    文章目录 前言 MetaFormer结构 PoolFormer结构 前言 本文总结CVPR2022的oral文章 MetaFormer Is Actually What You Need for Vision 该文章研究了ViT结构和类ML