Hiera 論文メモ
WIP
Multiscale Vision Transformers
手法概要
MViTの考え方はネットワークの入力から出力までの解像度をpoolingしながら、channel capacityを徐々にexpandすること。
従来のTransformer
ネットワーク全体でchannel capactyとresolutionを維持。
Multiscale Vision Transformer
複数のchannel-resolutionの'scale' stagesを持つ。
画像のresolutionと小さいchannel次元からスタートし、stageはspatial resolutionを下げながらchannel capacityを階層的に拡大する。
![](https://assets.st-note.com/img/1686388925206-x5KSywupFn.png?width=800)
手法
Multi Head Pooling Attention (MHPA)
オリジナルのMulti Head Attentionとは異なり、MHPAは潜在テンソルのシーケンスをpoolingして入力のシーケンス長(resolution)を減少させる。
![](https://assets.st-note.com/img/1686389655213-wP5JPjWZQ6.png?width=800)
![](https://assets.st-note.com/img/1686390297841-58c9UROGwM.png?width=800)
MViTv2
MViTに2つの改良
Improving Pooling Attention
Decomposed relative position embedding と Residual pooling connection
![](https://assets.st-note.com/img/1686397864303-s77RkhqePo.png?width=800)
Decomposed relative position embedding
![](https://assets.st-note.com/img/1686396827217-KNi6AXJ8pa.png?width=800)
Residual pooling connection
![](https://assets.st-note.com/img/1686397842452-vsR3oRUWfn.png?width=800)
MViT for Object Detection
FPN integration
MViTは 4 stages の階層構造をもつため、 Feature Pyramid Networks (FPN) と自然に統合可能。
![](https://assets.st-note.com/img/1686398274174-RR4P2xjvzd.png?width=800)
Hybrid window attention
MViTで使用される Pooling Attention と SwinTransformerで使用される Window Attention を組合わせる。
default の Window Attention は window内の局所的なself-attentionをするのみでwindowをまたぐ接続が無い。この問題を軽減するためにSwinTransformerではシフトしたwindowを使用する。
MViTv2ではwindow間の接続を塚するシンプルな Hybrid Window Attention (Hwin)を提案する。
HwinはFPNに入力される最後の3stagesの最後のブロックを除くすべてのwindow内で局所的なattentionを計算する。
Positional embeddings in detection
入力が固定resolution(例えば224*224)であるImageNet分類とは異なり、物体検出は通常学習において様々なサイズの入力を含む。
MViTの位置埋め込みでは、まず224*224の入力サイズの位置埋め込みに対応するImageNetの事前学習済み重みでパラメータを初期化し、物体検出の学習用にそれぞれのサイズに補間する。
MViT for Video Recognition
Initialization from pre-trained MViT
image-based MViTと比較して3点の違いがある
1. patchification stem の projection layer が 2D patch ではなく 時空間 cubes を入力する必要がある。
2. Pooling演算子が時空間特徴マップをpoolする。
3. relative positional embeddingsは時空間の位置を参照する。
1 と 2 の projection layer と Pooling 演算子はdefaultで畳み込み層によってインスタンス化されている。
inflation initializationを採用。
中央フレームの畳み込みフィルタを事前学習済みモデルの2D畳み込み層の重みで初期化し、その他の重みは0で初期化。
3 については、式4で分解した相対位置埋め込みを使用し、空間埋め込みは事前学習した重みから、時空間埋め込みはゼロとして初期化。
Hiera
![](https://assets.st-note.com/img/1686026877705-KHOoAk6ctP.png?width=800)
MAEは階層モデルに対応していない。
(a)問題1
MAEは個々のTokenをMaskするが、階層モデルではTokenは2×2など非常に小さく、各層でサイズが2倍になる。
(b)問題1への対策
Tokenを直接Maskするのではなく、より粗いMask Unit(32×32)をMaskする
(b)問題2
MAEはsparseである。つまりMaskしたモノを削除する。convsのような空間モジュールの適用時に問題となる。
(c)問題2への対策1 MaskFeat
Maskされたトークンを保持する。問題は解決するがMAEの学習速度という利点がなくなる。
(d)問題2への対策2 Baseline
Mask Unitをconvsの別entityとして扱う。余計なpaddingを必要とする。
(e)問題2への対策3 Hiera
kernel size = stride とする。
ViTとCNNの Hybridモデル は高い性能を達成している。
vanilla ViT よりも遅い。convはmasked image modelingと互換性が無い。
Hieraはこの問題を対応。
Hieraではsparse MAE pretrainingに特化したモデル構造を設計することで強力かつシンプルなモデルで問題を回避する。
Simplifying MViTv2
MAEで学習する際にMViTv2の非本質的な部分を除去する。MViTv2の構成要素をすべて削除・簡略化しても、ImageNet-1Kの画像分類で高い精度を維持できる。
![](https://assets.st-note.com/img/1686401642564-cYifY39I9Q.png?width=800)
Hiera
HieraはMViTv2と比較して、画像で2.4倍・動画で5.1倍高速化し、MAEによって精度が向上。
Hieraはsparse pretrainingによってtab1の結果が速く得られる。画像ではHiera-LはMViTv2-Lより3倍把握学習可能。
![](https://assets.st-note.com/img/1686401892787-AFl2Mjvcpu.png?width=800)
この記事が気に入ったらサポートをしてみませんか?