説明
この GitHub リポジトリ `google-research/vision_transformer` は、コンピュータビジョンにおける Vision Transformer (ViT) および MLP-Mixer アーキテクチャを扱うための包括的なリソース集を提供します。「An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale」や「MLP-Mixer: An all-MLP Architecture for Vision」などの主要な研究論文から派生したモデルとコードの中央ハブとして機能します。
このリポジトリは、ImageNet および ImageNet-21k のような大規模データセットで学習された事前学習済みモデルを提供します。これらのモデルはダウンロード可能であり、特定のダウンストリームタスクに合わせてファインチューニングできます。コードは主に JAX および Flax で記述されており、このエコシステム内で作業する研究者や開発者に柔軟性を提供します。
主な機能には、カスタムデータセットでのモデルのファインチューニング能力が含まれており、CIFAR-10 や CIFAR-100 のような一般的なデータセットの例が提供されています。また、このリポジトリでは、Google Cloud 上で GPU または TPU を備えた仮想マシンをセットアップして、より広範なトレーニングと実験を行う方法についても詳述しています。さらに、「How to train your ViT? Data, Augmentation, and Regularization in Vision Transformers」論文からの 50,000 を超えるチェックポイントを探索するためのリソースも含まれており、ユーザーは特定のパフォーマンスメトリックに基づいてモデルを選択し、ファインチューニングできます。
このリポジトリの対象読者には、画像認識、分類、その他の視覚タスクに最先端のトランスフォーマーベースのモデルを活用することに関心のある AI 研究者、機械学習エンジニア、コンピュータビジョン実務家が含まれます。その価値提案は、アクセシブルで十分に文書化されたコードと事前学習済みモデルを提供し、ビジョン トランスフォーマー分野の研究開発を加速することにあります。
ViT および MLP-Mixer に加えて、このリポジトリは LiT (Locked-image text Tuning) モデルのリソースも提供しており、ゼロショット転送機能を可能にします。これにより、画像とテキストの両方を含むマルチモーダルアプリケーションへのリポジトリの有用性が拡張されます。このプロジェクトは再現性を重視しており、インストール、ファインチューニング、クラウドデプロイメントに関する詳細な手順を提供しています。
Vision Transformerのハイライト
Vision Transformer (ViT) モデルの実装
MLP-Mixer アーキテクチャの実装
ImageNet および ImageNet-21k での事前学習済みモデル
JAX/Flax でのファインチューニングコード
LiT (Locked-image text Tuning) モデルのサポート
インタラクティブな探索とファインチューニングのための Colab ノートブック
クラウド VM セットアップ (GPU/TPU) の詳細な手順
ViT モデル用の 50,000 を超えるチェックポイントへのアクセス
関連研究論文の BibTeX 引用
リポジトリの更新とモデル追加の詳細な変更履歴
データ拡張および正則化戦略用のコード
Vision Transformerをはじめる
モデルへのアクセス: GitHub リポジトリをクローンするか、提供されている GCS バケットから事前学習済みモデルにアクセスします。
環境のセットアップ: ハードウェア (GPU/TPU) に基づいて、JAX、Python 依存関係、および Flaxformer をインストールします。
トレーニングの設定: モデルアーキテクチャ、データセット、トレーニングパラメータの構成ファイルを選択または作成します。
モデルのファインチューニング: 選択したデータセットと構成を使用して、JAX/Flax コードベースでファインチューニングスクリプトを実行します。
チェックポイントの探索: 提供されている Colab ノートブックを使用して、大量の事前学習済みチェックポイントを探索および選択します。
クラウドでのデプロイ: より大規模なトレーニングのために、適切なアクセラレータ (GPU/TPU) を備えた Google Cloud 上の仮想マシンをセットアップします。
Vision Transformerの使用例
- 画像分類
- モデルのファインチューニング
- ゼロショット転送
- コンピュータビジョン研究
- マルチモーダル AI
- 大規模トレーニング







