🚀 ビジョン用Perceiver IO (学習済み位置埋め込み)
ImageNet(1400万枚の画像、1000クラス)で解像度224x224で事前学習されたPerceiver IOモデルです。このモデルは、Jaegleらによる論文 Perceiver IO: A General Architecture for Structured Inputs & Outputs で紹介され、最初は このリポジトリ で公開されました。
免責事項: Perceiver IOを公開したチームはこのモデルについてモデルカードを作成していないため、このモデルカードはHugging Faceチームによって作成されました。
📚 ドキュメント
モデルの説明
Perceiver IOは、あらゆるモダリティ(テキスト、画像、音声、ビデオなど)に適用できるトランスフォーマーエンコーダモデルです。核心的なアイデアは、あまり大きくない潜在ベクトルの集合(例えば256または512)に自己注意機構を適用し、入力を潜在ベクトルとの交差注意にのみ使用することです。これにより、自己注意機構の時間とメモリ要件が入力のサイズに依存しなくなります。
デコードには、いわゆるデコーダクエリを使用します。これにより、潜在ベクトルの最終的な隠れ状態を柔軟にデコードして、任意のサイズと意味論の出力を生成することができます。画像分類の場合、出力はロジットを含むテンソルで、形状は (batch_size, num_labels) です。
Perceiver IOアーキテクチャ。
自己注意機構の時間とメモリ要件が入力のサイズに依存しないため、Perceiver IOの著者らは、ViTで行われるようなパッチではなく、生のピクセル値に対して直接モデルを学習させることができます。この特定のモデルでは、ピクセル値に学習済みの1次元位置埋め込みを追加するだけなので、画像の2次元構造に関する特権的な情報は与えられていません。
モデルを事前学習することで、画像の内部表現を学習し、それを下流タスクに役立つ特徴抽出に使用することができます。たとえば、ラベル付き画像のデータセットがある場合、分類デコーダを置き換えて標準的な分類器を学習させることができます。
想定される用途と制限
この生のモデルは画像分類に使用できます。興味のあるタスクに関する他の微調整済みバージョンを モデルハブ で探すことができます。
使い方
以下は、このモデルをPyTorchで使用する方法です。
基本的な使用法
from transformers import PerceiverFeatureExtractor, PerceiverForImageClassificationLearned
import requests
from PIL import Image
feature_extractor = PerceiverFeatureExtractor.from_pretrained("deepmind/vision-perceiver-learned")
model = PerceiverForImageClassificationLearned.from_pretrained("deepmind/vision-perceiver-learned")
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
encoding = feature_extractor(image, return_tensors="pt")
inputs = encoding.pixel_values
outputs = model(inputs)
logits = outputs.logits
print("Predicted class:", model.config.id2label[logits.argmax(-1).item()])
>>> should print Predicted class: tabby, tabby cat
学習データ
このモデルは、1400万枚の画像と1000クラスからなる ImageNet データセットで事前学習されています。
学習手順
前処理
画像は中央で切り抜かれ、解像度224x224にリサイズされ、RGBチャンネル全体で正規化されます。事前学習中にデータ拡張が使用されたことに注意してください。詳細は 論文 の付録Hを参照してください。
事前学習
ハイパーパラメータの詳細は 論文 の付録Hに記載されています。
評価結果
このモデルは、画像の2次元構造に関する特権的な情報を持たないにもかかわらず、ImageNet-1kで72.7のトップ1精度を達成することができます。
BibTeXエントリと引用情報
@article{DBLP:journals/corr/abs-2107-14795,
author = {Andrew Jaegle and
Sebastian Borgeaud and
Jean{-}Baptiste Alayrac and
Carl Doersch and
Catalin Ionescu and
David Ding and
Skanda Koppula and
Daniel Zoran and
Andrew Brock and
Evan Shelhamer and
Olivier J. H{\'{e}}naff and
Matthew M. Botvinick and
Andrew Zisserman and
Oriol Vinyals and
Jo{\~{a}}o Carreira},
title = {Perceiver {IO:} {A} General Architecture for Structured Inputs {\&}
Outputs},
journal = {CoRR},
volume = {abs/2107.14795},
year = {2021},
url = {https://arxiv.org/abs/2107.14795},
eprinttype = {arXiv},
eprint = {2107.14795},
timestamp = {Tue, 03 Aug 2021 14:53:34 +0200},
biburl = {https://dblp.org/rec/journals/corr/abs-2107-14795.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
📄 ライセンス
このモデルはApache-2.0ライセンスの下で提供されています。
属性 |
详情 |
モデルタイプ |
トランスフォーマーエンコーダモデル |
学習データ |
ImageNet(1400万枚の画像、1000クラス) |