Perceiver IO: 어떤 모달리티에도 적용 가능한 확장 가능한 완전 어텐션 모델

Perceiver IO는 어떤 모달리티(텍스트, 이미지, 오디오, 비디오, 포인트 클라우드 포함)에서도 Transformer의 셀프 어텐션 메커니즘을 사용할 수 있게 해주는 확장 가능한 신경망 아키텍처이며, 고차원 데이터와 일반적으로 연관된 2차 계산 및 메모리 비용을 발생시키지 않습니다. 작은 고정 크기의 잠재 공간에서 대부분의 계산을 수행함으로써 Perceiver IO는 입력 크기와 셀프 어텐션 레이어의 복잡성 사이의 의존성을 제거합니다.

Transformer 스케일링 한계 극복

표준 Transformer 아키텍처는 모든 입력에 대해 모든 레이어에서 쌍별 내적(product)을 요구하는 셀프 어텐션 메커니즘 때문에 계산과 메모리 측면에서 스케일이 나쁩니다. 고차원 데이터를 처리하기 위해 기존 모델은 일반적으로 모달리티별 전처리를 사용하여 데이터를 토큰으로 이산화합니다(예: ViT는 이미지 패치를 사용하고, Wav2Vec2는 오디오에 대한 피처 인코더를 사용합니다).

Perceiver IO는 입력 자체가 아닌 잠재 변수 집합에 셀프 어텐션을 적용함으로써これを解決します。入力はこれらの潜在変数とのクロスアテンションにのみ使用されます。これにより、Transformerエンコーダの複雑さは入力サイズに対して線形に依存し、潜在アテンションは入力サイズに独立したままになります。Perceiver IOはさらに、出力にも同様のクロスアテンションメカニズムを使用することで、任意の出力形状を扱えるように拡張します。

コアアーキテクチャとワークフロー

すべてのPerceiverバリアントは、PerceiverModelクラスに基づいて構築され、異なるデータタイプを処理するための3つのオプションのコンポーネントを利用します:

  1. Preprocessor: 生の入力(テキスト、画像など)をベクトルに埋め込みます。
  2. Decoder: ラテントの最終隠れ状態を分類ロジットやオプティカルフローなどの有用な形式にデコードします。
  3. Postprocessor: デコーダの出力を特定の特徴に変換し、主にオートエンコーディングタスクで使用されます。

処理パイプライン

  • 入力ステージ: 入力はオプションでpreprocessorによって処理されます。
  • クロスアテンション: 潜在変数がクエリ(Q)を生成し、前処理された入力がキーと値(KV)を生成します。これにより、高次元入力が潜在空間にマッピングされます。
  • 潜在処理: 自己アテンションレイヤーの繰り返しブロックが潜在埋め込みを更新します。出力は、潜在の"最後の隠れ状態"のテンソルです。
  • 出力ステージ: オプションのdecoderは、訓練可能な埋め込みがクエリ(Q)を生成し、潜在変数がキーと値(KV)を生成するもう一つのクロスアテンション操作を行います。その後、postprocessorがこれらの出力をさらに洗練する可能性があります。

モダリティ固有の実装

テキスト分類

Perceiver IOは、生のUTF-8バイトを直接処理できるため、WordPieceやBPEなどの明示的なトークン化が不要になります。テキスト分類では、PerceiverTextPreprocessorがバイトIDを埋め込み、絶対位置埋め込みを追加します。その後、PerceiverClassificationDecoderがクロスアテンションを使用して潜在変数を分類ロジットにマッピングします。マスクド言語モデリング(PerceiverForMaskedLM)では、PerceiverBasicDecoderが潜在変数を入力シーケンス長にマッピングして欠落しているバイトを予測します。

画像分類

ビジョンタスクでは、モデルはPerceiverImagePreprocessorを使用します。著者は3つの前処理方法をテストしました:

  • 1x1畳み込み層と学習済み1D位置埋め込みでピクセルをフラット化。
  • 固定2Dフーリエ位置埋め込みでピクセルをフラット化。
  • 固定2Dフーリエ位置埋め込みを持つ2D畳み込み+最大プール層。

JFTでの事前学習後、PerceiverForImageClassificationConvProcessingバリアントはImageNetでトップ-1精度84.5%を達成しました。注目すべきは、1D学習済み位置埋め込みのみを使用したバージョンが72.7%の精度を達成し、明示的な2D構造知識なしでもこのモデルが機能できることを示しています。

オプティカルフロー推定

Perceiver IOは2つの画像フレーム間の2Dピクセル変位を推定できます。PerceiverForOpticalFlowモデルは各ピクセル周辺の3x3パッチを抽出し、チャネル次元でフレームを連結し、空間次元をフラット化します。その後、PerceiverOpticalFlowDecoderは前処理された入力をクエリとして使用して、潜在変数を予測フロー マップに戻してデコードします。このアプローチは、AutoFlowデータセットで学習したときにSintelとKITTIベンチマークで最先端の結果を達成しました。

マルチモーダルオートエンコーディング

PerceiverForMultimodalAutoencodingモデルを使用すると、アーキテクチャは複数のモダリティ間の共同分布を学習できます。たとえば、Kinetics-700データセットでは、ビデオフレーム、オーディオサンプル、クラスラベルを同時に処理します:

  • 画像: "space to depth"変換を経て2Dフーリエ埋め込みと連結されます。
  • オーディオ: 固定フーリエ位置埋め込みと連結されます。
  • ラベル: ワンホットプリプロセッサーで処理されます。

これらのモダリティは均一なチャネル次元にパディングされ、連結されます。その後、デコーダーがチャンク単位でデータをオートエンコードして元のモダリティを再構築します。このモデルはビデオ再構築において20.7 PSNRを維持しながらビデオ分類でトップ-1精度45%を達成しました。

広範な応用と汎用性

主要モダリティを超えて、Perceiver IOは他の複雑なドメインでも成功を示しています:

  • 3Dポイントクラウド: ModelNet40で訓練されたとき、モデルはPointNet++などの専門モデルと競合する85.7%のトップ-1精度を達成しました。
  • 強化学習: StarCraft IIにおいて、PerceiverはAlphaStarの元のTransformerを置き換え、追加のパラメータチューニングなしでElite botに対して87%の勝率を維持しました。

アーキテクチャがタスクに依存しないため、新しいプリプロセッサーとデコーダーを設計することでどの問題にも適応でき、さまざまなモダリティを共有潜在空間に統合する可能性があります。

Sources

관련

  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch