🚀 Data2Vec-Vision(基础大小模型,在ImageNet-1k上微调)
Data2Vec-Vision是一个基于BEiT架构的模型,它以自监督的方式进行预训练,并在ImageNet-1k(包含120万张图像、1000个类别)数据集上进行了微调,图像分辨率为224x224。该模型由Alexei Baevski、Wei-Ning Hsu等人在论文 data2vec: A General Framework for Self-supervised Learning in Speech, Vision and Language 中提出,并首次在 此仓库 中发布。
🚀 快速开始
你可以使用这个原始模型进行图像分类任务。你可以在 模型中心 中查找针对你感兴趣的任务进行微调后的版本。
以下是如何使用该模型将COCO 2017数据集中的一张图像分类到1000个ImageNet类别中的示例代码:
from transformers import BeitFeatureExtractor, Data2VecVisionForImageClassification
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 = BeitFeatureExtractor.from_pretrained('facebook/data2vec-vision-base-ft1k')
model = Data2VecVisionForImageClassification.from_pretrained('facebook/data2vec-vision-base-ft1k')
inputs = feature_extractor(images=image, return_tensors="pt")
outputs = model(**inputs)
logits = outputs.logits
predicted_class_idx = logits.argmax(-1).item()
print("Predicted class:", model.config.id2label[predicted_class_idx])
目前,特征提取器和模型都支持PyTorch。
✨ 主要特性
- 通用框架:data2vec提供了一个通用的自监督学习框架,可用于语音、自然语言处理和计算机视觉领域。
- 自蒸馏学习:通过自蒸馏的方式,基于输入的掩码视图预测完整输入数据的潜在表示。
- 上下文信息利用:预测包含整个输入信息的上下文潜在表示,而不是特定模态的局部目标。
📚 详细文档
预训练方法
更多信息,请参考 官方论文。
摘要
自监督学习的总体思路在不同模态之间是相同的,但实际的算法和目标却有很大差异,因为它们是针对单一模态开发的。为了更接近通用的自监督学习,我们提出了data2vec框架,该框架对语音、自然语言处理或计算机视觉使用相同的学习方法。其核心思想是在自蒸馏设置中,使用标准的Transformer架构,基于输入的掩码视图预测完整输入数据的潜在表示。与预测特定模态的局部目标(如单词、视觉标记或人类语音单元)不同,data2vec预测包含整个输入信息的上下文潜在表示。在语音识别、图像分类和自然语言理解的主要基准测试中的实验表明,该方法达到了新的技术水平,或与主流方法具有竞争力。
预期用途和限制
你可以使用原始模型进行图像分类任务。你可以在 模型中心 中查找针对你感兴趣的任务进行微调后的版本。
训练数据
BEiT模型在 ImageNet-1k 数据集上进行了预训练和微调,该数据集包含120万张图像和1000个类别。
训练过程
预处理
训练/验证期间图像预处理的确切细节可以在 这里 找到。
图像被调整大小/重新缩放为相同的分辨率(224x224),并在RGB通道上进行归一化,均值为(0.5, 0.5, 0.5),标准差为(0.5, 0.5, 0.5)。
预训练
有关所有预训练相关的超参数,请参考 原始论文 和 原始代码库。
评估结果
关于几个图像分类基准的评估结果,请参考原始论文中的表1。请注意,对于微调,在更高分辨率下可以获得最佳结果。当然,增加模型大小会提高性能。
我们在 ImageNet1K
上对模型进行了评估,得到的top-1准确率为 83.97,而原始论文中报告的top-1准确率为84.2。
如果你想复现我们的评估过程,可以使用 这个Colab笔记本。
BibTeX引用和引用信息
@misc{https://doi.org/10.48550/arxiv.2202.03555,
doi = {10.48550/ARXIV.2202.03555},
url = {https://arxiv.org/abs/2202.03555},
author = {Baevski, Alexei and Hsu, Wei-Ning and Xu, Qiantong and Babu, Arun and Gu, Jiatao and Auli, Michael},
keywords = {Machine Learning (cs.LG), FOS: Computer and information sciences, FOS: Computer and information sciences},
title = {data2vec: A General Framework for Self-supervised Learning in Speech, Vision and Language},
publisher = {arXiv},
year = {2022},
copyright = {arXiv.org perpetual, non-exclusive license}
}
📄 许可证
本项目采用Apache-2.0许可证。