🚀 ビジョントランスフォーマー (大型モデル) のMSNによる事前学習
MSN手法を用いて事前学習されたビジョントランスフォーマー (ViT) モデルです。このモデルは、Mahmoud Assran、Mathilde Caron、Ishan Misra、Piotr Bojanowski、Florian Bordes、Pascal Vincent、Armand Joulin、Michael Rabbat、Nicolas Ballasによる論文 Masked Siamese Networks for Label-Efficient Learning で紹介され、このリポジトリ で最初に公開されました。
免責事項: MSNを公開したチームはこのモデルのモデルカードを作成していないため、このモデルカードはHugging Faceチームによって作成されています。
🚀 クイックスタート
このモデルは、画像の分類などの下流タスクに利用できます。モデルハブ を参照すると、あなたが興味を持つMSNの事前学習モデルの異なるバージョンを見つけることができます。特に、学習セットにラベル付きのサンプルが少ない場合に有効です。
✨ 主な機能
- MSN手法を用いた事前学習により、低ショットおよび極低ショットのレジームで優れた性能を発揮します。
- 事前学習されたモデルを使用して、下流タスクに有用な特徴を抽出することができます。
📦 インストール
このモデルを使用するには、transformers
ライブラリが必要です。以下のコマンドでインストールできます。
pip install transformers
💻 使用例
基本的な使用法
from transformers import AutoFeatureExtractor, ViTMSNModel
import torch
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 = AutoFeatureExtractor.from_pretrained("facebook/vit-msn-large")
model = ViTMSNModel.from_pretrained("facebook/vit-msn-large")
inputs = feature_extractor(images=image, return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs)
last_hidden_states = outputs.last_hidden_state
高度な使用法
画像分類のファインチューニングには、ViTMSNForImageClassification
クラスを使用します。
from transformers import AutoFeatureExtractor, ViTMSNForImageClassification
import torch
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 = AutoFeatureExtractor.from_pretrained("facebook/vit-msn-large")
model = ViTMSNForImageClassification.from_pretrained("facebook/vit-msn-large")
...
📚 ドキュメント
モデルの説明
ビジョントランスフォーマー (ViT) は、トランスフォーマーエンコーダモデル (BERTのような) です。画像は固定サイズのパッチのシーケンスとしてモデルに入力されます。
MSNは、マスクされたパッチのプロトタイプをマスクされていないパッチのプロトタイプと一致させるための共同埋め込みアーキテクチャを提案しています。この設定により、彼らの手法は低ショットおよび極低ショットのレジームで優れた性能を発揮します。
モデルを事前学習することで、画像の内部表現を学習し、それを下流タスクに有用な特徴を抽出するために使用することができます。たとえば、ラベル付きの画像のデータセットがある場合、事前学習されたエンコーダの上に線形層を配置して、標準的な分類器を学習することができます。
想定される用途と制限
このモデルは、画像分類などの下流タスクに使用することができます。学習セットにラベル付きのサンプルが少ない場合に特に有益です。
引用
@article{assran2022masked,
title={Masked Siamese Networks for Label-Efficient Learning},
author={Assran, Mahmoud, and Caron, Mathilde, and Misra, Ishan, and Bojanowski, Piotr, and Bordes, Florian and Vincent, Pascal, and Joulin, Armand, and Rabbat, Michael, and Ballas, Nicolas},
journal={arXiv preprint arXiv:2204.07141},
year={2022}
}
📄 ライセンス
このモデルは、Apache-2.0ライセンスの下で公開されています。