英文

Vision Transformer (基础型模型) - 混合

ViT 混合模型是由 Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, Jakob Uszkoreit 和 Neil Houlsby 在 An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale 年提出的。这是第一篇成功地在 ImageNet 上训练 Transformer 编码器的论文,与常见的卷积架构相比,取得了很好的结果。ViT 混合是纯粹的 Vision Transformer 的一个轻微变种,通过利用卷积主干 (具体来说是 BiT ) 的特征作为 Transformer 的初始 "token"。

免责声明:发布 ViT 的团队没有为这个模型编写模型卡片,因此此模型卡片由 Hugging Face 团队编写。

模型描述

虽然 Transformer 架构已成为自然语言处理任务的事实标准,但它在计算机视觉中的应用仍然有限。在计算机视觉中,注意力要么与卷积网络结合使用,要么用于替换卷积网络的某些组件,同时保持其整体结构不变。我们表明,这种对 CNN 的依赖是不必要的,纯粹的 Transformer 直接应用于图像块序列可以在图像分类任务中表现出色。当在大量数据上预训练并转移到多个中等或小型图像识别基准 (ImageNet、CIFAR-100、VTAB 等) 上时,Vision Transformer (ViT) 达到了与先进的卷积网络相比非常好的结果,同时需要的计算资源要少得多。

预期用途与限制

您可以使用原始模型进行图像分类。查看 model hub 获取您感兴趣的任务上的精调版本。

使用方法

以下是使用此模型将 COCO 2017 数据集中的图像分类为 1,000 个 ImageNet 类别的方法:

from transformers import ViTHybridImageProcessor, ViTHybridForImageClassification
from PIL import Image
import requests

url = 'http://images.cocodataset.org/val2017/000000039769.jpg'
image = Image.open(requests.get(url, stream=True).raw)

feature_extractor = ViTHybridImageProcessor.from_pretrained('google/vit-hybrid-base-bit-384')
model = ViTHybridForImageClassification.from_pretrained('google/vit-hybrid-base-bit-384')

inputs = feature_extractor(images=image, return_tensors="pt")
outputs = model(**inputs)
logits = outputs.logits
# model predicts one of the 1000 ImageNet classes
predicted_class_idx = logits.argmax(-1).item()
print("Predicted class:", model.config.id2label[predicted_class_idx])
>>> tabby, tabby cat

更多代码示例,请参阅 documentation

训练数据

ViT-Hybrid 模型使用 ImageNet-21k 进行预训练,该数据集包含 14 百万张图像和 21k 个类别,并使用 ImageNet 进行微调,该数据集包含 100 万张图像和 1k 个类别。

训练过程

预处理

有关在训练/验证期间对图像进行预处理的确切细节,请参阅 here

图像被调整大小/缩放为相同的分辨率 (224x224),并在 RGB 通道上进行了标准化,均值为 (0.5, 0.5, 0.5),标准差为 (0.5, 0.5, 0.5)。

预训练

模型在 TPUv3 硬件 (8 个核心) 上训练。所有模型变体的批量大小为 4096,学习率预热为 10k 步。对于 ImageNet,作者发现另外应用全局范数 1 的梯度裁剪会带来益处。训练分辨率为 224。

评估结果

有关几个图像分类基准的评估结果,请参阅原始论文的表2和表5。需要注意的是,对于微调,使用更高的分辨率 (384x384) 可获得最佳结果。当然,增加模型大小将获得更好的性能。

BibTeX 条目和引用信息

@misc{wu2020visual,
      title={Visual Transformers: Token-based Image Representation and Processing for Computer Vision}, 
      author={Bichen Wu and Chenfeng Xu and Xiaoliang Dai and Alvin Wan and Peizhao Zhang and Zhicheng Yan and Masayoshi Tomizuka and Joseph Gonzalez and Kurt Keutzer and Peter Vajda},
      year={2020},
      eprint={2006.03677},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}
@inproceedings{deng2009imagenet,
  title={Imagenet: A large-scale hierarchical image database},
  author={Deng, Jia and Dong, Wei and Socher, Richard and Li, Li-Jia and Li, Kai and Fei-Fei, Li},
  booktitle={2009 IEEE conference on computer vision and pattern recognition},
  pages={248--255},
  year={2009},
  organization={Ieee}
}