论文阅读笔记 | MLP系列——MLP-Mixer

简介: 论文阅读笔记 | MLP系列——MLP-Mixer

paper:MLP-Mixer: An all-MLP Architecture for Vision

code:https://github.com/google-research/vision_transformer

image.png

摘要:


研究人员表明,尽管卷积和注意力都足以获得良好的性能,但它们都不是必需的。为此,作者提出了MLP-Mixer,一种专门基于多层感知机的体系结构。MLP-Mixer包含两种类型的层:一种是独立于每个patch的mpl结构(既混合每个位置的特征);另外一种是跨越不同patch的mlp结构(既混合空间信息)。


在大数据集上或使用现代正则化方案进行训练时,MLP-Mixer在图像分类基准测试中获得了有竞争力的分数,其预训练和推理成本可与最先进的模型相媲美。


1. Introduction


MLP-Mixer完全基于多层感知机,不需要任何的卷积或者是self-attention操作。其有两种mlp的结构:channel-mixing MLPs与token-mixing MLPs。


channel-mixing MLPs允许不同channel之间进行通信(channel间);token-mixing MLPs允许tokens中的不同空间位置进行通信(channel内)。


2. Mixer Architecture


MLP-Mixer的结构如图所示:

image.png

Mixer将不重叠的patch作为输入,每个patch包含了C个维度的信息。假设输入的图像是224x224x3,patch设置大小为7,那么就有32x32个patch,每个patch的维度为7x7x3=147.现在就构成了一个(32x32)x147的二维矩阵。对于矩阵的每一个channel,应用token-mixingMLP,进行32x32个patch的mlp处理;然后应用channel-mixingMLP,进行147个channels的mlp处理。如上图结构的左右两种mlp处理结构所示。


每个Mixer Layer都由以上两种结构组成,其中每一种结构又包含了两层全连接层以及一个非线性激活层。用数学表示为,这里C=channel(147),S=patch(32x32):

image.png

网络的复杂度与patch呈线性关系,而ViT的计算复杂度是二次的,所以总体复杂度与图像中的像素数呈线性关系,就像CNN一样。


Mixer中的每一层(除了初始patch投影层)都采用相同大小的输入,除了MLP层,Mixer还使用了其他标准架构组件:skip-connections and layer normalization。与vit不同,Mixer不使用position embeddings,因为token-mixing MLPs对input tokens的顺序很敏感。最后,Mixer使用一个标准的分类头和全局平均池化层,然后是一个线性分类器。


MLP-Mixer配置如下表所示:

image.png


3. Result


  • 与SOTA的对比:

830d3bb33cbf4a568154d6da1bd9fe1e.png

目录
相关文章
|
机器学习/深度学习 存储 并行计算
一篇就够:高性能推理引擎理论与实践 (TensorRT)
本文分享了关于 NVIDIA 推出的高性能的深度学习推理引擎 TensorRT 的背后理论知识和实践操作指南。
14620 9
一篇就够:高性能推理引擎理论与实践 (TensorRT)
|
5月前
|
JSON 监控 供应链
抖音电商 API 接口:直播数据实时监控法宝!
在直播电商时代,实时掌握直播间动态是商家制胜关键。抖音电商开放平台提供API接口,助力实现直播数据秒级监控。本文详解如何构建数据监控系统,涵盖实时销量、在线人数、热卖SKU等核心指标,通过智能控场、供应链预警、投流优化等场景提升运营效率。某美妆品牌接入后GMV提升35.7%,违规拦截效率提升200%。立即接入,让流量转化为增长动能!
803 0
|
机器学习/深度学习 Linux Python
服务器上后台运行python程序
服务器上后台运行python程序
1334 0
|
机器学习/深度学习 计算机视觉 异构计算
【YOLOv8改进 - Backbone主干】FasterNet:基于PConv(部分卷积)的神经网络,提升精度与速度,降低参数量。
【YOLOv8改进 - Backbone主干】FasterNet:基于PConv(部分卷积)的神经网络,提升精度与速度,降低参数量。
|
机器学习/深度学习 并行计算 PyTorch
从零开始下载torch+cu(无痛版)
这篇文章提供了一个详细的无痛版教程,指导如何从零开始下载并配置支持CUDA的PyTorch GPU版本,包括查看Cuda版本、在官网检索下载包名、下载指定的torch、torchvision、torchaudio库,并在深度学习环境中安装和测试是否成功。
从零开始下载torch+cu(无痛版)
|
机器学习/深度学习 算法 TensorFlow
Inception v3算法的实战与解析
Inception v3算法的实战与解析
【Vscode+Latex】Mac 系统Vscode的LaTeX中插入参考文献
在Mac系统下的VSCode环境中配置LaTeX工作流以便插入和引用参考文献的详细步骤。
1067 0
|
机器学习/深度学习 计算机视觉
论文阅读笔记 | MLP系列——MLP部分汇总(MLP-Mixer、S2-MLP、AS-MLP、ViP、S2-MLPv2)
论文阅读笔记 | MLP系列——MLP部分汇总(MLP-Mixer、S2-MLP、AS-MLP、ViP、S2-MLPv2)
823 0
论文阅读笔记 | MLP系列——MLP部分汇总(MLP-Mixer、S2-MLP、AS-MLP、ViP、S2-MLPv2)
|
Linux
linux使用tinyproxy代理上网
linux使用tinyproxy代理上网
1710 1
linux使用tinyproxy代理上网