【Backbone: MLP-Mixer】MLP-Mixer: An all-MLP Architecture for Vision

2023-11-10

 Abstract

  • CNN和attention-based结构很棒,但不是必须的。
  • 本文提出MLP-Mixer, 一种基于多层感知机(MLPs)的框架。包含两种layers:(1)channel-mixing MLPs:应用在image patches上,融合某个位置多个通道的特征;(2)token-mixing MLPs:应用在across patches上,融合某个通道多个位置的信息。
  • 效果不错的条件:在大型数据集上训练;或用modern regularization schemes

 

Introduction

  • 随着计算能力的提升,和更大数据集的出现,通常伴随着CV范式的改变,例如:CNN->ViT。ViT延续了长期的变化趋势:(1)去除去除人工设计的视觉特征和归纳偏置;(2)仅依靠初始数据。
  • 本文提出MLP-Mixer框架,它仅需要(1)矩阵乘法;(2)数据布局(reshape和转置);(3)放缩和非线性变化。
  • Mixer的输入是一组经过线性映射的图片快(tokens),输入格式为:patches x channels。Mixer使用两种MLP layers:(1)channel-mixing MLPs和token-mixing MLPs,具体结构如下:

  • 从CNN的角度看:channel mixing MLPs是1x1卷积;token mixing MLPs是单通道、全感受野、共享权重的卷积;CNN需要额外的pooling或特殊设计用于减少计算量,Mixer则相对比较简单。
  • 尽管它和简单,Mixer在大型数据集(~100M图片)上训练取得了sota成绩(在ILSVRC2012 "ImageNet"取得了87.94%)。在一定规模(~1-10M图片)下和modern regularization techniques([47, 52]),Mixer仍然取得了不错的成绩。

 

Mixer Architecture

  1. 神经网络通常(1)在给定的空间位置;(2)在不同空间位置间,进行特征融合。CNN用N x N(N > 1)的卷积和pooling实现了(2)。深层神经元通常具有更大的感受野。同时,1x1卷积执行了(1),更大的核会同时执行(1-2),在attention-based框架中,self-attention执行(1-2),而MLP-blocks仅执行(1)。Mixer是将(1)和(2)分别执行。
  2. 输入是S个不重复的图片块,每一个图片块被共享的线性映射到需要的维度C,input table是(S, C)。Mixer有多个layer,每个layer包含两个MLP blocks,分别是token-mixing MLP block和channel-mixing MLP block,并且每个layer的size是固定的。
  3. toking-mixing mlp block的维度选择和输入图片块的数量无关,因此计算复杂度和数量线性相关。channel-mixing MLP block的维度是和patch size无关的,所以复杂度和图片的像素点数量线性相关。
  4. 绑定channel-mixing mlps的参数是个自然选择,因为可以做到位置无关(卷积的显著特征)。
  5. Mixer的每个layer的输入具有相同尺寸,这与特征金字塔设计不同。
  6. 不需要positon embeddings,因为token-mixing MLPs对输入tokens的顺序是敏感的,因此可能学到位置表达。

 

Experiments

在中等、大型数据集上pre-trained,在小型和中型下游分类任务上测试。本文关注:(1)下游任务的准确率;(2)pre-training的计算复杂度;(3)推理时间。

 

 

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

【Backbone: MLP-Mixer】MLP-Mixer: An all-MLP Architecture for Vision 的相关文章

随机推荐

  • Docker第二篇-Linux和Windows下安装Docker

    文章目录 Docker版本说明 CentOS安装Docker 前提条件 安装 镜像加速 删除Docker CE Windows安装Docker 前提条件 安装 镜像加速 Docker版本说明 Docker 分为 CE 和 EE 两大版本 C
  • 树莓派烧录

    准备工作 树莓派 一张SD卡 SD尽可能的大 不然安装完系统 就没什么空间了 建议64G 软件准备 1 洗卡软件 SDcard Formatter 2 烧录软件 win32diskimager 3 镜像文件 可以从树莓派官网进行下载Rasp
  • MySQL数据行溢出的深入理解

    一 从常见的报错说起 故事的开头我们先来看一个常见的sql报错信息 相信对于这类报错大家一定遇到过很多次了 特别对于OMG这种已内容生产为主要工作核心的BG 在内容线的存储中 数据大一定是个绕不开的话题 这里的数据 大 远不止存储空间占用多
  • jenkins搭建自动化部署(Windows)

    官网 https jenkins io 选择相应版本下载 安装后找到安装目录下jenkins war 可以放在tomcat下运行 也可直接运行命令 java jar jenkins war 启动 关闭命令 net start jenkins
  • mysql 5.6压缩安装_mysql5.6zip格式安装过程

    第一步 到官网下载mysql 5 6 44 winx64的压缩包文件格式 第二步 在我的电脑 gt 属性 gt 高级 gt 环境变量 path变量中添加mysql bin文件夹的路径 第三步 配置完环境变量之后先别忙着启动mysql 我们还
  • 08-分布式

    1 分布式中 接口的幂等性的设计 在高并发场景的架构里 幂等性是必须得保证的 比如说提交作业 查询和删除不在 幂等讨论范围 1 建唯一索引id 每次操作 都根据操作和内容生成唯一的id 在执行之前先判断id是否存在 如果不存在 则 执行后续
  • rem的使用方式

    rem是什么 rem是指相对于根元素的字体大小的单位 在日常开发过程中我们通常把根元素 html body 的字体设置为10px 方便于我们计算 此时子元素的1rem就相当于10px rem与em的区别 各自的优缺点 em子元素字体大小的e
  • CVPR 2019 论文大盘点—人体姿态篇

    CV君盘点了CVPR 2019 中有关人体姿态的论文 其中研究 3D人体姿态估计的论文最多 有 11 篇 研究 2D 姿态估计的 7 篇 姿态迁移 2 篇 人体图像生成 1 篇 人体捕捉 2 篇 另外还有2篇创建了新的基准数据集 姿态估计是
  • python云图

    安装相关插件 python3 m pip install jieba wordcloud matplotlib import matplotlib pyplot as plt import jieba from wordcloud impo
  • 【Spring Boot】【前后端分离】后端接口返回结果统一封装

    文章目录 创建 SpringBoot 项目 封装返回结果 实现返回对象的自动封装 处理异常 测试 最近在尝试使用前后端分离的模式写一个简单的个人博客 遇到接口数据返回结构的问题 在网上查了一圈 发现了一个很好用的方法 在复现的过程中也遇到了
  • 算法设计与分析课后总结

    算法设计与分析课后总结 算法设计与分析 第1章 算法设计基础 课后习题 第二章算法分析基础 课后习题 1 考虑下面算法 回答下列问题 算法完成什么功能 算法的基本语句时什么 基本语句执行了多少次 2 分析以下程序段中基本语句的执行次数 要求
  • 100天精通Python(可视化篇)——第92天:Pyecharts绘制炫酷柱状图、条形图实战大全

    文章目录 专栏导读 1 基础柱状图 2 旋转x轴标签 3 旋转坐标轴 4 添加坐标轴名称 5 添加标记点 6 添加标注线 7 添加数据 8 添加自定义背景图 9 堆叠柱状图 10 柱状图与折线图组合 11 三维柱状图 12 水平滑动 鼠标滚
  • 包、模块、函数的关系结构

    三者关系 python中程序的结构是由包 模块 函数 类大致构成 其关系如下 package module function 模块定义与调用 1 python中一个 py文件都可以是一个module module可以有函数 类 代码组成 如
  • 使用python解决中英混合参考文献中et al 和等的问题

    这个代码使用zipfile将docx进行解压 然后操作document xml文件 找到中文中的et al之后替换为 等 然后再压缩为docx import zipfile import re import os import shutil
  • curl服务器文件,curl 向远程服务器传输file文件

    public function upload 获取上传文件信息 文件名称以自己实际上传文件名称为准 fileinfo FILE filename 请求参数 依据商户自己的参数为准 requestParam version requestPa
  • 声网(agora)音视频通话sdk—微信小程序demo

    首先需要注册一个声网账号 注册成功后创建项目 appid是指声网项目的appid 后续会在小程序的配置文件中用到 微信小程序接入视频通话 需要声网给开通小程序的权限 给声网邮箱发送邮件 注明开通微信小程序接入权限 并给发送appid app
  • Python代码扫描:企业级代码代码安全漏洞扫描Bandit

    目录 什么是Bandit 特点 安装 配置 配置Bandit Pycharm配置外置工具 使用实践 命令行参数 检查单个文件 检查整个目录 PyCharm中对单个文件或者项目目录的扫描 一个使用案例 应用场景 总结 参考资料 注意 后续技术
  • js DOM

    DOM Document Object Model HTML 和 XML 文档的编程接口 通过 DOM JavaScript 能够访问和改变 HTML 文档的所有元素 1 查找 通过 id 查找 HTML 元素 div div 2 通过标签
  • Paper and Codes Leaderboard

    目录 介绍 模型入选标准 1 目标检测 Paper and Codes for COCO by 2023 3 31 COCO FPS Models by 2023 02 18 Look at Batch Size 2 图像分类 ImageN
  • 【Backbone: MLP-Mixer】MLP-Mixer: An all-MLP Architecture for Vision

    Abstract CNN和attention based结构很棒 但不是必须的 本文提出MLP Mixer 一种基于多层感知机 MLPs 的框架 包含两种layers 1 channel mixing MLPs 应用在image patch