📝

【論文解説】Snakes and Ladders: Two Steps Up for VideoMamba

に公開

はじめに

今回は私が輪講に用いた資料を使って論文の解説をしていきます!
資料は以下のURLから見れますので、フルバージョンで見たい方はこちらからどうぞ。

👉 SpeakerDeckのスライドはこちら

原論文:Snakes and Ladders: Two Steps Up for VideoMamba
https://arxiv.org/abs/2406.19006


0. 超ざっくりまとめ

目的

  • Video Understanding分野では、精度面でSSM系モデルがTransformer系モデルに劣っている
    → SSM系モデルの代表 VideoMamba を改良し、Transformer系モデルに追いつくことを目指す

研究の流れ

  • TransformerとSSMを数学的に分析し、CV分野におけるMambaの弱点を2つ発見

    1. Historical Decay:古いトークンが過度に減衰してしまう
    2. Element Contradiction:リレー形式の計算によりトークンごとの強弱に矛盾が生じてしまう
  • さらに、Historical Decay対策として用いられる Bi-directional SSM にも新たな問題(自己成分の二重加算)が生じることを指摘

提案

実験結果

  • ほぼ同一パラメータ条件下で最高精度を達成
  • 少し精度が上のモデルに対しても、計算量・パラメータ数で大幅に優位

1. イントロ

動画理解(Video Understanding)では、

  • 入力は動画全体
  • ラベルは「物体」ではなく「動作」
    が対象になります。

そのため、単一フレームではなく複数フレームの時系列情報が重要になります。

近年は、

  • Transformer系列:自己注意で長距離依存を表現(高コスト)
  • VideoMamba:低コストで依存関係を捉えるが精度は劣る
    といった対比があり、このギャップを埋めるのが著者の狙いです。

そこで、TransformerとMambaの特徴抽出能力の違いを数式から分析して、MambaのVideo Understanding(VU)における2つの欠点、

  1. Historical decay
  2. Element Contradiction
    を特定しました(私的には、CV分野全般にも言える欠点だと解釈してもいいと思いました)。

※ Historical decayそのものは精度低下の原因ではなく、その対策となっている双方向のスキャンによる問題がある

これらの課題を対処したMamba Blockを用いることで、従来モデルであるVideoMambaの精度を向上させることに成功し、これをVideoMambaProと命名しています。


2. 関連研究

  • Transformer

    • Self-Attentionによりトークン間の依存関係を直接モデリング
    • 長距離依存を正しく捉えられるが計算量はO(N^2)
  • SSM (State Space Model)

    • 制御工学で用いられる解析方法(数式を以下に記述)をNLPに導入
h'(t) = Ah(t) + Bx(t)\\ y(t) = Ch(t) + Dx(t)

ここで、A,B,C,Dはパラメータ、x(t)は入力、h(t)は状態、y(t)は出力です。

  • 過去の情報を圧縮しながら次の状態を生成

  • 数式を離散化することでNLP分野に応用、Mambaへと発展

  • Vision Mamba/Video Mamba

    • SSMをCV向けに拡張(双方向Scan、全フレーム処理)
    • ただしTransformerを超えるほどではなく、その原因を理論的に表した研究は存在せず

※余談
深層学習においては、SSMのパラメータDは使わない傾向にあります。
Dは直達項と呼ばれるもので入力を出力に反映させる役割を持ちますが、深層学習では「skip connection」や「A,B,Cの入力依存化」によってDが無くても入力特徴を保持できることが原因だと記憶しています。記憶が曖昧なので正確な理由は各自で調べてね!


3. 理論

本論文では、Self-AttentionとMambaを数式的に比較し、両者が入力の線形変換という点で共通していることを指摘。

しかしMambaにはCV特有の2つの問題があることを理論的に示します:

  1. Historical Decay
    • 古い入力が指数的に弱まってしまう
  2. Element Contradiction
    • 関係ない特徴までも強調される

3.1 TransformerとMambaの特徴抽出の違い

著者は出力特徴量を数式化してTransformerとMambaの数学的な分析を行っています。
細かい計算過程はここでは省略させていただきます。気になる方は原著論文私のspeakerdeckの資料を見てみてください!


ということで、いきなり結論を言ってしまうと、これらの計算は幾何学的に一緒であるということができます。
仮に、入力をX = [x_1, x_2, \cdots, x_N]として、TransformerとMambaの出力Y_tY_mは以下のように書けます。

Y_t = SV = SXW_v\\ Y_m = CMX

ここで、SはAttention Map、W_vはvalueに埋め込むための重み、CはSSMのパラメータ行列、MはSSMのA,Bの行列です。
この2つの数式は、

  1. 入力を類似度行列(S,M)で重みづけ
  2. 重み行列(W_v,C)で重みづけ
    という同じ意味合いを持つ行列を用いて同じ方法で入力から特徴を抽出しています。
    つまり、TransformerとMambaは幾何学的に同じ処理をしていると著者は主張します。

補足

ここで疑問に思う点が2つあります。
まず一つ目としては、「行列の掛けられる方向が両者で違うじゃないか!」という点です。細かく言うと、Transformerは入力の右側から重み行列をかけ、Mambaは入力の左側から重み行列をかけているという点です。
これに関しては問題ありません。なぜかというと、行列積はかける次元を合わせてしまえば交換法則が成り立つためです。

二つ目は、「行列Mは類似度行列なのか?」という点です。この点に関して、著者は「トークンごとの類似を暗黙的に計算している」と主張しています。この行列の各要素は、一つ前までの値の重みをさらに重みづけするような計算になっており、この「前時刻までの値を考慮すること」を考慮すると、「他の要素と比べて自分がどうか≒相相対的な依存(暗黙的な類似度?)」という主張です。
しかし、著者も言うようにあくまで「暗示的な類似」であるため、「実際の類似は取れていないのでは?」という反論に関しては完全な否定をすることができないと考えられます。

3.2 Historical decay

ここで、行列Mについて詳しく見ていきます。おさらいすると、この行列はSSMのパラメータA,Bでできた行列です。
この行列のt=3の時に注目してみましょう。その時の式はスライドに示されたものになります。ここでx_1x_3の係数に注目してみると、係数の数が異なることが分かります。深層学習ではパラメータが大きな値を持つと勾配爆発が起きてしまうことが考えられるため、係数は[-1,1]の範囲に収まると考えられます。おそらく著者もそう考えており、x_1のような過去の入力であればあるほど値が減衰していきます。これを著者はHistorical decayと名付けました。

では、これが学習に悪影響を及ぼすのかを考えていきましょう。

まずは、成功を収めているNLP分野においてこの現象を考えていきます。会話は一般的に、疑問と答えが近くにあります。そして、会話が過去のものであればあるほど現在の会話と無関係なものになります。このブログを例にすると、最初の方の話はHistorical decayに関する話をしてはいません。つまり、NLPではこの特性はむしろ有効であることが分かります。

では、CV分野ではどうでしょうか。スライドの蛇の画像の星のマークを見てみましょう。離れたトークン間でも「蛇の頭-胴体」のように関連性を持っています。画像データはトークンの順序に決まった制約がなく、SSMに用いられる方向依存的なスキャンにかみ合っていません。そのため、Historical decayはCV分野において悪影響であるということが分かります。

しかし、CV分野ではBi-directional SSMを採用しているモデルがほとんどです。これは、SSMのスキャンを画像の左上から右下へのスキャン(forward scan)と右下から左上へのスキャン(backward scan)の双方向で行うSSMです。これによって、画像の方向に依存しない特性に対処しています。しかし、これが本当に有効であるかどうかを数式を用いて説明している論文はまだないため、この論文で解説しています。
以下のスライドでは、双方向のスキャンを定式化した後、N=3の例を用いて行列を記述します。その後に、入力とそれ以外に分けたときのそれ以外の成分を行列Mとして記述・一般化することで入力にかけられる行列の形を見ることができます。


はい、スライドを見ると明らかにおかしい部分がありますね。それは、対角成分が二重化されていることです。対角成分が二重化されると、自己成分の過度な協調に繋がることが考えられます。著者はこれをHistorical decayに基づくCV分野におけるSSMの欠点であると考えました。

3.3 Element contradiction

次に、CV分野の2つ目のSSMの欠点を探っていきます。先ほどの行列Mをスライドのように上の要素を用いて書き直します。


ここで注目したいのが、m_21m_32です。この成分はどちらも\bar{A}_2を係数としています。m_21x_1にかけられる要素であり、m_32x_2にかけられる要素です。ここで、x_1が前景、x_2が背景だったとしましょう。その場合は、x_1は強調し、x_2は抑制するようなパラメータであるべきです。ところが、このSSMの場合だと、かけられるパラメータAは共通しています。つまり、パラメータAはトークン間の依存関係を捉えることができません。このように、あるトークンを強調してしまうと他の無関係なトークンまで強調してしまう矛盾を著者はElement contradictionと命名しています。


4. 提案手法

著者は上記の問題を解決するため、次の改良を提案しています。

  • Historical Decay 対策

    • 逆方向スキャンの対角成分をマスクし、重複成分を除去
      →過度な自己成分の強調を回避
  • Element Contradiction 対策

    • Mambaの行列要素に残差接続を追加し、無関係な影響を緩和
      →各パラメータでトークンごとに独立した強弱がある程度可能に

これにより、VideoMambaPro、これにて完成!
モデルの全体図は以下です。SSMの部分で提案手法を組み込む形になっています。
ここで一つ注意されたいのが、従来のMambaに存在しているActivationブランチが消えていることです。原著論文では補足資料に記述がありますが、このようにした理由などは説明がありません。もしかしたら提案手法よりもこちらの方が精度に効いてるのかも?



5. 実験結果

  • データセット: Kinetics-400, Something-Something V2, UCF-101, HMDB51, AVA
  • 事前学習: ImageNet-1K (DeiT準拠)
  • Fine-tuning: VideoMAE準拠

主な結果

  • Kinetics-400でVideoMambaProがVideoMambaを明確に上回る

  • しかし、精度面においてはパラメータをより多く用いるモデルにはまだ及ばない

  • McNemar検定により統計的に有意な改善 (p < 0.001=たまたま精度が改善していることを否定)

  • 他モデル(X-CLIP, VideoMAE-H)と比べても精度・効率のバランスが良い

  • 比較実験より、提案手法で精度が向上することを確認


6. まとめ

  • 本論文はCV分野におけるMambaの2つの欠点を特定:

    1. Historical Decay
    2. Element Contradiction
  • それぞれに対策を導入したVideoMambaProを提案し、Transformerとの差を縮めた。

  • 理論と実験の両面で「Mambaの限界と可能性」を整理した研究。


おわりに

この記事では、私が作成したスライドをベースに論文を解説しました。
「Mamba系モデルってなぜTransformerベースのモデルに比べて精度が落ちるの?」という疑問に答える論文で、CV研究者にとって示唆が大きい内容です。
このように、数式ベースで従来法を分析することで見えてくる欠点や改善策がありそうですね!

今回は結構細かめに解説しましたが、今後はもっとコンパクトに解説することを予定しています!
是非よろしければ、いいねやフォローをお願いします。非常に励みになります。
ここまでお読みいただき、誠にありがとうございます!

Discussion