ViT模型列表
符号定义
在论文的 Table1 中有给出三个模型(Base/ Large/ Huge)的参数
Model | Patch Size | Layers | Hidden Size D | MLP size | Heads | Params |
---|---|---|---|---|---|---|
ViT-Base | 16x16 | 12 | 768 | 3072 | 12 | 86M |
ViT-Large | 16x16 | 24 | 1024 | 4096 | 16 | 307M |
ViT-Huge | 14x14 | 32 | 1280 | 5120 | 16 | 632M |
- Layers:指 Transformer Block 的层数。
- Hidden Size D:指每个 token 的特征维度(embedding dim)。
- MLP Size:计算为
Hidden Size D × mlp_ratio
,默认mlp_ratio=4
,表示 MLP 部分的隐层维度。 - Heads:多头自注意力中并行头的数量。
- Params:是模型大致参数量,具体数字可能因实现细节或是否包含额外模块(如在 SAM 中)而不同。
在论文及实际使用中,我们常用ViT-size/patch_size
的形式来表示该模型是在“什么规模”及“多大的 patch 尺寸”上预训练出来的。例如ViT-H/14
就表示该模型是在 Huge 规模上,用 patch 尺寸为 14 的数据做预训练的。
常见模型
Model | Pre-Trained Dataset | Finetuned Dataset | Patch Size | Layers | Hidden Size D | MLP size | Heads | Params |
---|---|---|---|---|---|---|---|---|
ViT-B/16-IN1K | ImageNet21K | ImageNet1K | 16×16 | 12 | 768 | 3072 | 12 | ~86M |
ViT-B/16-IN21K | ImageNet21K | - | 16×16 | 12 | 768 | 3072 | 12 | ~86M |
ViT-L/16-IN1K | ImageNet21K | ImageNet1K | 16×16 | 24 | 1024 | 4096 | 16 | ~304M |
ViT-B/16-DINO | ImageNet | - | 16×16 | 12 | 768 | 3072 | 12 | ~86M |
ViT-B/16-SAM | SA-1B (Segment Anything 1B) | - | 16×16 | 12 | 768 | 3072 | 12 | ~632M (整套 SAM) |
ViT-B/16-MAE | ImageNet21K | - | 16×16 | 12 | 768 | 3072 | 12 | ~86M |
ViT-B/16-CLIP | OpenAI CLIP(约4亿图文对) | - | 16×16 | 12 | 768 | 3072 | 12 | ~86M (视觉编码器) |
- IN1K / IN21K 分别指在 ImageNet-1K(约 100 万张图)或 ImageNet-21K(约 1400 万张图、2 万类)上进行预训练。
- DINO 为自监督蒸馏方法,在 ImageNet-1K 上训练。
- SAM 则是 Segment Anything 的大规模 10 亿图像数据集(SA-1B)进行预训练,完整的 Segment Anything 模型会比标准 ViT-B/16 参数更多(大约 632M)。
- MAE(Masked Autoencoder)是图像自监督掩码预训练方法,通常也是在 ImageNet-1K 上进行预训练。
- CLIP 是 OpenAI 训练的图文对数据(约 4 亿对),其中视觉编码器部分本质上也是一个 ViT-B/16。
上次更新: 2025/04/02, 12:03:38