🚀 BEiT (大規模モデル、ADE20kでファインチューニング済み)
BEiTモデルは、解像度224x224のImageNet - 21k(1400万枚の画像、21,841クラス)で自己教師あり学習方式で事前学習され、解像度640x640のADE20k(画像のセマンティックセグメンテーションの重要なベンチマーク)でファインチューニングされました。このモデルは、Hangbo Bao、Li Dong、Furu Weiによる論文BEIT: BERT Pre - Training of Image Transformersで紹介され、このリポジトリで最初に公開されました。
免責事項: BEiTを公開したチームはこのモデルのモデルカードを作成していないため、このモデルカードはHugging Faceチームによって作成されています。
🚀 クイックスタート
このモデルは画像のセマンティックセグメンテーションに使用できます。関心のあるタスクでファインチューニングされたバージョンを探すには、モデルハブを参照してください。
✨ 主な機能
BEiTモデルはVision Transformer (ViT)で、トランスフォーマーエンコーダモデル(BERTのようなもの)です。元のViTモデルとは対照的に、BEiTは解像度224x224ピクセルの大量の画像コレクションであるImageNet - 21kで自己教師あり学習方式で事前学習されます。このモデルの事前学習の目的は、マスクされたパッチに基づいて、OpenAIのDALL - EのVQ - VAEのエンコーダから視覚トークンを予測することです。
次に、このモデルは解像度224x224で、100万枚の画像と1,000クラスからなるデータセットであるImageNet(ILSVRC2012とも呼ばれる)で教師あり学習方式でファインチューニングされます。
画像は固定サイズのパッチ(解像度16x16)のシーケンスとしてモデルに提示され、線形埋め込みされます。元のViTモデルとは異なり、BEiTモデルは絶対位置埋め込みではなく相対位置埋め込み(T5に似たもの)を使用し、[CLS]トークンの最終隠れ状態の上に線形層を配置する代わりに、パッチの最終隠れ状態を平均プーリングして画像の分類を行います。
モデルを事前学習することで、画像の内部表現を学習し、下流タスクに役立つ特徴を抽出するために使用できます。セマンティックセグメンテーションの場合、例えば[mmsegライブラリ](https://github.com/open - mmlab/mmsegmentation)で利用可能なデコードヘッドを追加し、注釈付き画像で教師あり学習方式でモデルをファインチューニングすることができます。著者らはこれを行い、UperHeadセグメンテーションデコードヘッドでBEiTをファインチューニングし、ADE20kやCityScapesなどの重要なベンチマークでSOTAの結果を得ることができました。
💻 使用例
基本的な使用法
from transformers import BeitFeatureExtractor, BeitForSemanticSegmentation
from datasets import load_dataset
from PIL import Image
ds = load_dataset("hf-internal-testing/fixtures_ade20k", split="test")
feature_extractor = BeitFeatureExtractor.from_pretrained('microsoft/beit-large-finetuned-ade-640-640')
model = BeitForSemanticSegmentation.from_pretrained('microsoft/beit-large-finetuned-ade-640-640')
inputs = feature_extractor(images=image, return_tensors="pt")
outputs = model(**inputs)
logits = outputs.logits
現在、特徴抽出器とモデルの両方がPyTorchをサポートしています。
📚 ドキュメント
モデルの詳細
BEiTモデルはVision Transformer (ViT)で、トランスフォーマーエンコーダモデル(BERTのようなもの)です。元のViTモデルとは対照的に、BEiTは解像度224x224ピクセルの大量の画像コレクションであるImageNet - 21kで自己教師あり学習方式で事前学習されます。このモデルの事前学習の目的は、マスクされたパッチに基づいて、OpenAIのDALL - EのVQ - VAEのエンコーダから視覚トークンを予測することです。
次に、このモデルは解像度224x224で、100万枚の画像と1,000クラスからなるデータセットであるImageNet(ILSVRC2012とも呼ばれる)で教師あり学習方式でファインチューニングされます。
画像は固定サイズのパッチ(解像度16x16)のシーケンスとしてモデルに提示され、線形埋め込みされます。元のViTモデルとは異なり、BEiTモデルは絶対位置埋め込みではなく相対位置埋め込み(T5に似たもの)を使用し、[CLS]トークンの最終隠れ状態の上に線形層を配置する代わりに、パッチの最終隠れ状態を平均プーリングして画像の分類を行います。
モデルを事前学習することで、画像の内部表現を学習し、下流タスクに役立つ特徴を抽出するために使用できます。セマンティックセグメンテーションの場合、例えば[mmsegライブラリ](https://github.com/open - mmlab/mmsegmentation)で利用可能なデコードヘッドを追加し、注釈付き画像で教師あり学習方式でモデルをファインチューニングすることができます。著者らはこれを行い、UperHeadセグメンテーションデコードヘッドでBEiTをファインチューニングし、ADE20kやCityScapesなどの重要なベンチマークでSOTAの結果を得ることができました。
想定される用途と制限
画像のセマンティックセグメンテーションに生モデルを使用できます。関心のあるタスクでファインチューニングされたバージョンを探すには、モデルハブを参照してください。
🔧 技術詳細
学習データ
このBEiTモデルは、1400万枚の画像と21kクラスからなるデータセットである[ImageNet - 21k](http://www.image - net.org/)で事前学習され、数千枚の注釈付き画像と150クラスからなるデータセットであるADE20kでファインチューニングされました。
学習手順
前処理
学習/検証中の画像の前処理の正確な詳細はこちらにあります。
画像は同じ解像度(640x640)にクロップされ、パディングされ、RGBチャンネル全体でImageNetの平均と標準偏差で正規化されます。
事前学習
すべての事前学習関連のハイパーパラメータについては、元の論文の15ページを参照してください。
評価結果
いくつかの画像分類ベンチマークの評価結果については、元の論文の表1と表2を参照してください。ファインチューニングの場合は、より高い解像度(384x384)で最良の結果が得られます。もちろん、モデルサイズを大きくするとパフォーマンスが向上します。
BibTeX引用
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}
}
📄 ライセンス
このモデルはApache - 2.0ライセンスの下で提供されています。