
摘要
我们提出了一种自监督视觉表征模型——BEiT(Bidirectional Encoder Representation from Image Transformers),该模型借鉴了自然语言处理领域中BERT的思路,设计了一种掩码图像建模任务,用于预训练视觉Transformer。在预训练阶段,每张图像包含两种视图:图像块(如16×16像素的局部区域)和视觉标记(即离散的视觉 token)。首先,我们将原始图像“分词”为视觉标记;随后,随机掩码部分图像块,并将这些被破坏的图像块输入主干Transformer网络。预训练的目标是基于受损的图像块恢复出原始的视觉标记。在完成BEiT的预训练后,我们仅通过在预训练编码器之上添加特定任务的层,即可直接对下游任务进行微调。在图像分类与语义分割任务上的实验结果表明,该模型在性能上与以往的预训练方法相当,甚至更优。例如,基于基础尺寸的BEiT在ImageNet-1K数据集上达到了83.2%的Top-1准确率,显著优于相同设置下从零开始训练的DeiT模型(81.8%)。此外,大型尺寸的BEiT仅使用ImageNet-1K数据进行预训练,便取得了86.3%的准确率,甚至超过了在ImageNet-22K上采用监督预训练的ViT-L模型(85.2%)。相关代码与预训练模型已开源,可访问 https://aka.ms/beit。
代码仓库
E-DEEP/PapersReview
GitHub 中提及
yyk-wew/semanticmim
pytorch
GitHub 中提及
facebookresearch/data2vec_vision
pytorch
GitHub 中提及
rwightman/pytorch-image-models
pytorch
GitHub 中提及
woctezuma/steam-BEiT
GitHub 中提及
facebookresearch/vissl
pytorch
GitHub 中提及
pengzhiliang/MAE-pytorch
pytorch
huggingface/transformers
pytorch
GitHub 中提及
microsoft/unilm/tree/master/beit
官方
pytorch
sunsmarterjie/itpn
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| document-image-classification-on-rvl-cdip | BEiT-B | Accuracy: 91.09% Parameters: 87M |
| document-layout-analysis-on-publaynet-val | BEiT-B | Figure: 0.957 List: 0.924 Overall: 0.931 Table: 0.973 Text: 0.934 Title: 0.866 |
| image-classification-on-imagenet | BEiT-L (ViT; ImageNet-22K pretrain) | Number of params: 331M Top 1 Accuracy: 88.60% |
| image-classification-on-imagenet | BEiT-L (ViT; ImageNet 1k pretrain) | Number of params: 86M Top 1 Accuracy: 86.3% |
| image-classification-on-omnibenchmark | BeiT | Average Top-1 Accuracy: 30.1 |
| self-supervised-image-classification-on-1 | BEiT-L (ViT) | Number of Params: 307M Top 1 Accuracy: 86.3% |
| self-supervised-image-classification-on-1 | BEiT-B (ViT) | Number of Params: 86M Top 1 Accuracy: 84.6% |
| semantic-segmentation-on-ade20k | BEiT-L (ViT+UperNet) | Validation mIoU: 57.0 |
| semantic-segmentation-on-ade20k-val | BEiT-L (ViT+UperNet, ImageNet-22k pretrain) | mIoU: 57.0 |