Yolo 深圳
深セン
今すぐ参加
用語集

マスク付きオートエンコーダー(MAE)

マスク付きオートエンコーダー(MAE)が自己教師なし学習にどのような革新をもたらすかを探ります。MAEによる再構成が、Ultralytics 性能と効率をどのように向上させるかについて学びましょう。

マスク付きオートエンコーダー(MAE)は、 コンピュータビジョンという広範な分野における 自己教師付き学習に対する、非常に効率的でスケーラブルなアプローチである。 MAEは、 大規模なラベル付きデータセットを必要とせずに、パラメータ数の多いニューラルネットワークを学習させる手法として提案されたもので、 入力画像のランダムな大部分を意図的に隠蔽し、欠落したピクセルを再構築するようにモデルを学習させることで機能する。 隠された視覚情報を正確に予測することで、ネットワークは形状、テクスチャ、空間的関係に関する深い 意味論的理解を本質的に学習する。

この手法は、テキストベースのシステムにおけるマスク付き言語モデリングの成功に大きく着想を得ていますが、 画像データの高次元性に合わせて適応されています。このアーキテクチャは、広く普及している トランスフォーマー・フレームワークを採用し、非対称な エンコーダー・デコーダー構造を活用しています。

マスク付きオートエンコーダの仕組み

MAEの最大の革新点は、その処理効率にあります。学習中、入力画像は パッチのグリッドに分割されます。 これらのパッチの大部分(多くの場合75%に達する)は、ランダムにマスクされ、破棄されます。 エンコーダー(通常は Vision Transformer(ViT))は、 可視でマスクされていないパッチのみを処理します。エンコーダーはマスクされた部分を完全にスキップするため、必要な 演算リソースとメモリが大幅に削減され、トレーニングプロセスが著しく高速化されます。

エンコーダーが可視パッチの潜在表現を生成した後、軽量なデコーダーが処理を引き継ぎます。 デコーダーは、エンコードされた可視パッチと「マスクトークン」(欠落データのプレースホルダー)を受け取り、 元の画像を再構築しようと試みます。デコーダーはこの事前学習フェーズでのみ使用されるため、 非常に小型に抑えることができ、計算負荷をさらに低減できます。 前学習が完了すると、デコーダーは破棄され、 高性能なエンコーダーが後続のアプリケーション用に保持されます。

関連用語の区別

MAEを十分に理解するためには、それらが従来の、あるいはより広範な ディープラーニングの概念とどのように異なるかを把握しておくと役立ちます:

  • オートエンコーダー従来の オートエンコーダーは、入力全体をより小さな潜在空間に圧縮し、それを再構成することで効率的なデータ 符号化を学習します。しかし、MAEでは、ネットワークが入力全体を単に圧縮・ 展開するのではなく、欠落データを予測するように強制します。
  • 自己教師なし学習 これは、人間によるラベル付けなしに、モデルがデータ自体から学習する包括的な学習パラダイムです。 MAEは、この概念を具現化した特定のアーキテクチャです。
  • 基盤モデルMAEは 視覚基盤モデルの事前学習によく用いられ、その後、特定のタスクに合わせて微調整が行われる。

実際のアプリケーション

MAEは視覚データの極めて堅牢な表現を学習するため、複雑で 実世界向けのAIシステムを構築する上で理想的な出発点となります。

  • 高度な物体検出のための事前学習:MAEによる事前学習を通じて習得された豊富な特徴抽出機能は、 下流の物体検出システムの性能を劇的に向上させることができます。例えば、 MAEを通じて学習された特徴は、 ラベル付きデータが乏しい独自のニッチなデータセット上で、 Ultralytics モデルを学習する際に活用できます。
  • 医療画像解析 放射線医学などの分野では、アノテーション付きのMRIやCTスキャンからなる大規模なデータセットを収集するには多額の費用がかかり、 プライバシー関連法規による制約も受けます。研究者たちは、MAE(医療画像解析)を用いて、arXivに掲載された 最近の学術論文から入手した大量の未ラベル付け医療画像を用いてモデルを事前学習させ、その後、ごく少数のラベル付き例を用いて detect 微調整を行っています。

データとデプロイの管理

MAEアプローチを用いてバックボーンモデルの事前学習が完了したら、次のステップとして、画像分類や 画像セグメンテーションといった特定のタスク向けに、モデルの微調整とデプロイを行います。 最新のクラウドエコシステムにより、 この移行はシームレスに行えます。例えば、チームは Ultralytics 、タスク固有のデータセットへのアノテーションを容易に行い、 クラウドでのトレーニングを調整し、その結果として得られた本番環境対応モデルをエッジデバイスやサーバーにデプロイできます。これにより、 機械学習運用(MLOps)に通常伴う定型的なインフラ作業の多くが 不要になります。

コード例:パッチマスキングのシミュレーション

完全なMAEを学習させるには完全なトランスフォーマーアーキテクチャが必要ですが、パッチマスキングという中核となる概念は、 PyTorch tensor を使って簡単に可視化できます。この シンプルなスニペットは、入力tensorから可視パッチをランダムに選択する方法を示しています。

import torch


def create_random_mask(batch_size, num_patches, mask_ratio=0.75):
    """Generates a random mask to simulate MAE patch dropping."""
    # Calculate how many patches to keep visible
    num_keep = int(num_patches * (1 - mask_ratio))

    # Generate random noise to determine patch shuffling
    noise = torch.rand(batch_size, num_patches)

    # Sort noise to get random indices
    ids_shuffle = torch.argsort(noise, dim=1)

    # Select the indices of the patches that remain visible
    ids_keep = ids_shuffle[:, :num_keep]

    return ids_keep


# Simulate a batch of 4 images, each divided into 196 patches
visible_patches = create_random_mask(batch_size=4, num_patches=196)
print(f"Visible patch indices shape: {visible_patches.shape}")

アーキテクチャを一から構築することなく、強力で事前学習済みの視覚機能をワークフローに組み込みたいと考えている開発者にとって、 Ultralytics 参照することは、 最先端のビジョンモデルを独自の課題に応用するための 優れた出発点となります。さらに、次のような主要なフレームワーク TensorFlow も、最先端の 機械学習研究をスケーラブルな本番 環境に実装するための堅牢なエコシステムを提供しています。

Ultralytics YOLOパワーアップ

あなたのプロジェクトに高度なAIビジョンを。あなたの目標に合ったライセンスを今すぐ見つけましょう。

ライセンスオプションを見る