🚀 視覺變換器(基礎大小模型) - 混合架構
視覺變換器(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在論文《一張圖像價值16x16個詞:大規模圖像識別的變換器》中提出。這是首篇成功在ImageNet上訓練變換器編碼器的論文,與常見的卷積架構相比,取得了非常好的效果。ViT混合架構是普通視覺變換器的一個輕微變體,它利用了一個卷積骨幹網絡(具體為BiT),其特徵被用作變換器的初始“標記”。
聲明:發佈ViT的團隊並未為此模型撰寫模型卡片,此模型卡片由Hugging Face團隊撰寫。
✨ 主要特性
在自然語言處理任務中,變換器架構已成為事實上的標準,但在計算機視覺領域的應用仍有限。在視覺領域,注意力機制要麼與卷積網絡結合使用,要麼用於替代卷積網絡的某些組件,同時保持其整體結構不變。研究表明,對卷積神經網絡(CNN)的依賴並非必要,直接應用於圖像塊序列的純變換器在圖像分類任務中可以表現出色。當在大量數據上進行預訓練並遷移到多箇中型或小型圖像識別基準(如ImageNet、CIFAR - 100、VTAB等)時,視覺變換器(ViT)與最先進的卷積網絡相比,能取得優異的結果,同時訓練所需的計算資源大幅減少。
🚀 快速開始
你可以使用原始模型進行圖像分類。訪問模型中心,查找你感興趣任務的微調版本。
💻 使用示例
基礎用法
以下是如何使用此模型將COCO 2017數據集中的圖像分類為1000個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
predicted_class_idx = logits.argmax(-1).item()
print("Predicted class:", model.config.id2label[predicted_class_idx])
>>> tabby, tabby cat
更多代碼示例,請參考文檔。
📚 詳細文檔
訓練數據
ViT - 混合架構模型在ImageNet - 21k上進行了預訓練,該數據集包含1400萬張圖像和21000個類別,並在ImageNet上進行了微調,此數據集包含100萬張圖像和1000個類別。
訓練過程
預處理
訓練/驗證期間圖像預處理的確切細節可在此處找到。圖像被調整大小/重新縮放為相同的分辨率(224x224),並在RGB通道上進行歸一化,均值為(0.5, 0.5, 0.5),標準差為(0.5, 0.5, 0.5)。
預訓練
該模型在TPUv3硬件(8核)上進行訓練。所有模型變體都以4096的批量大小和10000步的學習率預熱進行訓練。對於ImageNet,作者發現額外應用全局範數為1的梯度裁剪是有益的。訓練分辨率為224。
評估結果
關於幾個圖像分類基準的評估結果,請參考原論文的表2和表5。請注意,對於微調,在更高分辨率(384x384)下可獲得最佳結果。當然,增加模型大小會帶來更好的性能。
引用信息
@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}
}
📄 許可證
本項目採用Apache - 2.0許可證。
屬性 |
詳情 |
模型類型 |
視覺變換器(混合架構) |
訓練數據 |
預訓練數據:ImageNet - 21k;微調數據:ImageNet |