🚀 BEiT(大型モデル、事前学習のみ)
BEiTモデルは、自動教師付き学習方式でImageNet - 22k(別名ImageNet - 21k、1400万枚の画像と21841のクラスを含む)上で、解像度224x224で事前学習されています。このモデルは、Hangbo Bao、Li Dong、Furu Weiによって論文BEIT: BERT Pre - Training of Image Transformersで提案され、初めてこのリポジトリで公開されました。
免責事項:BEiTを公開したチームはこのモデルのモデルカードを作成していません。このモデルカードはHugging Faceチームによって作成されています。
✨ 主な機能
- BEiTモデルは、ビジュアルトランスフォーマー(ViT)の一種で、トランスフォーマーエンコーダモデル(BERTに似ています)です。元のViTモデルとは異なり、BEiTは自動教師付き学習方式で大量の画像セット(ImageNet - 21k)上で、224x224ピクセルの解像度で事前学習されています。
- モデルの事前学習目標は、マスクされたパッチに基づき、OpenAIのDALL - EのVQ - VAEエンコーダからビジュアルトークンを予測することです。
- 画像は固定サイズのパッチシーケンス(解像度16x16)としてモデルに入力され、線形埋め込みが行われます。元のViTモデルとは異なり、BEiTモデルは相対位置埋め込み(T5に似ています)を使用し、絶対位置埋め込みではなく、パッチの最終隠れ状態を平均プーリングすることで画像分類を行います。[CLS]トークンの最終隠れ状態の上に線形層を配置するのではなく、パッチの最終隠れ状態を平均プーリングします。
- 事前学習により、モデルは画像の内部表現を学習し、下流タスクに有用な特徴を抽出するために使用できます。
🚀 クイックスタート
元のモデルを使用して画像分類を行うことができます。興味のあるタスクに対して微調整されたバージョンは、モデルセンターで見つけることができます。
💻 使用例
基本的な使用法
from transformers import BeitFeatureExtractor, BeitForMaskedImageModeling
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('microsoft/beit-large-patch16-224-pt22k')
model = BeitForMaskedImageModeling.from_pretrained('microsoft/beit-large-patch16-224-pt22k')
inputs = feature_extractor(images=image, return_tensors="pt")
outputs = model(**inputs)
logits = outputs.logits
現在、特徴抽出器とモデルはどちらもPyTorchをサポートしています。
📚 ドキュメント
モデルの説明
BEiTモデルは、ビジュアルトランスフォーマー(ViT)の一種で、トランスフォーマーエンコーダモデル(BERTに似ています)です。元のViTモデルとは異なり、BEiTは自動教師付き学習方式で大量の画像セット(ImageNet - 21k)上で、224x224ピクセルの解像度で事前学習されています。モデルの事前学習目標は、マスクされたパッチに基づき、OpenAIのDALL - EのVQ - VAEエンコーダからビジュアルトークンを予測することです。
画像は固定サイズのパッチシーケンス(解像度16x16)としてモデルに入力され、線形埋め込みが行われます。元のViTモデルとは異なり、BEiTモデルは相対位置埋め込み(T5に似ています)を使用し、絶対位置埋め込みではなく、パッチの最終隠れ状態を平均プーリングすることで画像分類を行います。[CLS]トークンの最終隠れ状態の上に線形層を配置するのではなく、パッチの最終隠れ状態を平均プーリングします。
事前学習により、モデルは画像の内部表現を学習し、下流タスクに有用な特徴を抽出するために使用できます。たとえば、ラベル付きの画像データセットがある場合、事前学習されたエンコーダの上に線形層を配置して標準的な分類器を訓練することができます。通常、[CLS]トークンの最後の隠れ状態は、画像全体の表現と見なすことができるため、その上に線形層を配置します。または、パッチ埋め込みの最終隠れ状態を平均プーリングし、その上に線形層を配置することもできます。
想定される用途と制限
元のモデルを使用して画像分類を行うことができます。興味のあるタスクに対して微調整されたバージョンは、モデルセンターで見つけることができます。
学習データ
BEiTモデルはImageNet - 21k上で事前学習されています。このデータセットは1400万枚の画像と21000のクラスを含んでいます。
学習過程
前処理
学習/検証中の画像前処理の具体的な詳細は、ここで見つけることができます。
画像は同じ解像度(224x224)にリサイズ/再スケールされ、RGBチャンネルで平均(0.5, 0.5, 0.5)、標準偏差(0.5, 0.5, 0.5)で正規化されます。
事前学習
すべての事前学習関連のハイパーパラメータについては、元の論文の15ページを参照してください。
評価結果
いくつかの画像分類ベンチマークの評価結果については、元の論文の表1と表2を参照してください。微調整については、より高い解像度で最良の結果が得られます。もちろん、モデルサイズを増やすと性能が向上します。
引用情報
@article{DBLP:journals/corr/abs-2106-08254,
author = {Hangbo Bao and
Li Dong and
Furu Wei},
title = {BEiT: {BERT} Pre-Training of Image Transformers},
journal = {CoRR},
volume = {abs/2106.08254},
year = {2021},
url = {https://arxiv.org/abs/2106.08254},
archivePrefix = {arXiv},
eprint = {2106.08254},
timestamp = {Tue, 29 Jun 2021 16:55:04 +0200},
biburl = {https://dblp.org/rec/journals/corr/abs-2106-08254.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@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ライセンスの下で提供されています。
属性 |
詳細 |
モデルタイプ |
ビジュアルトランスフォーマー(ViT)、トランスフォーマーエンコーダモデル(BERTに似ています) |
学習データ |
ImageNet - 21k(1400万枚の画像と21000のクラスを含む) |