项目介绍:MetaFormer
项目概述
MetaFormer 是一个由多个视觉基准模型组成的项目,通过不同的基线模型来提高图像识别的准确性。该项目的核心思想是通过不对图像进行复杂的预处理或使用外部数据,单纯依靠模型结构的创新来提升模型的性能。MetaFormer 提出了四种基线模型,分别是 IdentityFormer、RandFormer、ConvFormer 和 CAFormer。
模型简介
-
IdentityFormer 和 RandFormer
- IdentityFormer 使用恒等映射作为 token 混合器。
- RandFormer 则采用全局随机混合技术。
- 这两种模型展示了 MetaFormer 针对任意 token 混合器的有效性,并且在 ImageNet-1K 数据集上取得了超过 80% 的准确率。
-
ConvFormer
- ConvFormer 是基于卷积神经网络(CNN)的模型,其表现超越了同类的 ConvNeXt 模型。
- 它采用了可分离的深度卷积作为 token 混合器。
-
CAFormer
- CAFormer 利用 vanilla 自注意力机制作为 token 混合器。
- 在 ImageNet-1K 数据集上以普通监督训练实现了 85.5% 的新记录,未使用任何外部数据或蒸馏技术。
模型架构
- 这些模型采用了类似于 ResNet 的分层结构,分为 4 个阶段。
- 各个阶段都包含若干个特定维度的特征块,通过卷积层进行下采样。
- 下采样使用大小为 7 和步幅为 4 的核,以及大小为 3 和步幅为 2 的核。
实验结果
MetaFormer 基准模型的表现如图所示,在 ImageNet-1K 的分辨率 224x224 上,CAFormer 和 ConvFormer 均展现出优异的性能。具体型号如 CAFormer-s18、CAFormer-s36、ConvFormer-s18 等不同组合,展示了在不同配置下的参数量和计算开销。
前置条件与数据准备
使用 MetaFormer 需要安装以下软件包:
- PyTorch 版本 >1.7.0
- torchvision 版本 >0.8.0
- PyYAML
- timm 库
数据则需要准备 ImageNet 数据集,按照特定的文件夹结构进行组织。
模型训练与验证
- 可使用脚本来快速评估和训练模型。
- 默认的训练批量为 4096,可根据 GPU 数量和内存容量进行调整。
贡献与致谢
MetaFormer 的开发得到了多个项目的支持,其中包括 TRC 项目和 GCP 的研究信用部分资源。同时,许多实现基于开源库 pytorch-image-models。
总结
MetaFormer 为视觉识别任务提供了一套全新的基准模型,通过对模型架构的创新,展示了在无需复杂数据预处理的情况下即可显著提升模型性能。该项目不仅对学术研究有积极贡献,在工业界的应用也具备一定潜力。