@hillbig
LeVJEPAは動画の自己教師あり学習を大幅に単純化し、従来手法と同等以上の性能を5〜20倍少ない計算量で実現する。 動画には、静止画には含まれない物体の動きや時間的な因果関係など、世界の表現を学ぶための素材として有望な情報が含まれる。 一方で、動画の自己教師あり学習は画像と比べて多数のフレームを処理するため計算コストが大きいという問題があった。 さらに、従来の自己教師あり学習では表現崩壊を防ぐため、EMAで更新するtarget符号化器、stop-gradient、predictorなど複数の仕組みを必要としていた。 LeVJEPAは、この二つの問題を同時に解決する手法を提案している。そして、動画からの事前学習そのものが、将来的には視覚基盤モデルを学習する標準的な方法になりうることを主張している。 まず動画から16フレームのクリップを取り出し、一つのglobal viewと複数のlocal viewを作る。local viewには空間的なcropや色変化などのaugmentationが加えられるが、globalとlocalの時間区間は共通である これらすべてを同じ一つの符号化器に入力する。 符号化器には学習可能なCLSトークンが一つだけ追加される。このCLSトークンは全フレーム、全パッチトークンにattentionでき、クリップ全体の情報を集約できる。 一方、各パッチトークンは、同じ時刻のトークンと、それ以前の時刻のトークンにしかattentionできない。また、パッチトークンからCLSトークンへのattentionも禁止されている。 そのため、各フレームのパッチ表現は未来の情報を使わないcausalな表現になる一方、CLS表現は動画全体を見たnon-causalな表現になる。 この設定の中で、学習目標は、最終的なCLS表現を小さなprojectorに通して潜在表現 z を作り、global viewとlocal viewの z をMSEで近づけることである。 ただし、この損失だけでは、すべての入力に対して同じ表現を出せば損失がゼロになるため、表現崩壊が起こりうる。そこでSIGRegを加える。 SIGRegは、バッチ全体のembedding分布を等方Gaussian N(0,I)に近づける正則化である。 実際にはランダムな方向 a を多数サンプリングし、zとの内積 a^T z を計算する。そして、その一次元分布が N(0,1) に従っているかをEpps-Pulley統計量で測り、それを損失とする。 なお、符号化器最終層にはLayerNormがあり、CLS表現は球面状の空間に制約される。そのままではGaussian分布を要求するSIGRegを適用しにくいため、一度projectorを通してからSIGRegを適用している。 まとめると、学習全体の損失は、global viewとlocal viewのCLS表現を一致させるMSEとSIGRegのみである。 従来使われていた表現崩壊を防ぐEMAによるtarget符号化器、stop-gradient、predictorは使用しない。 もう一つの大きな特徴は、95%のパッチトークンをランダムに捨てることである。 実験ではImageNetでのprobing精度は、drop率を95%まで上げても低下せず、むしろ改善する。 著者はこれを単なる計算量削減ではなくaugmentationとして解釈している。毎回異なるごく一部のトークンしか観測できないため、動画のどの部分を見ても同じclip-levelの意味表現を作れることが要求される。 また、VideoMAEなどで使われてきたtube maskingのように時間方向に同じ空間位置をまとめて消す必要もなく、隣接するフレームを入力段階で一つのtemporal パッチに融合する必要もないことがablation studyで示している。 むしろこれらを使わない方が性能が高く、モデルの構成も単純になる。 このように学習された符号化器は後続タスクで高い性能を示す。 さらに興味深いのは、学習損失を直接受けるのはCLSトークンだけであり、パッチトークンには直接的な教師信号を与えていないにもかかわらず、学習後のパッチ表現には物体領域や背景などに対応した意味情報や詳細な空間情報が現れることである。 コメント === 画像や動画からの自己教師あり学習は、視覚基盤モデルを作る上で最重要と考えられる。その中で、今回の手法はとても興味深い。 今回のLeVJEPAでは、直接合わせているのはCLS表現だけである。このCLS表現には、教師ラベルを使わずに画像や動画全体を特徴づける情報が埋め込まれていくと考えられる。 例えば「少年同士が広場でキャッチボールをしている」といった動画があったとする。 その意味を言語として明示的に示さずとも、これに対応するような情報がCLS表現として連続的な潜在空間に表現される。 さらに、global/local viewでは95%のパッチトークンが捨てられ、local viewでは空間的にcropされた上で、global viewから得られるCLS表現と各local viewを一致させなければならない。 そのため符号化器は、限られた局所的な情報からでも、動画全体を特徴づける情報を推定できるように学習されていく。 さらに、そのように改善された符号化器自身がglobal viewのCLS表現を計算する側にも使われるため、次の学習目標はより難しい問題となる。 このように固定された教師を追いかけるのではなく、学習によって、高度になった目標を達成するようにするのが重要となってきている。 また、ほとんどのパッチを捨てた方が、少なくとも分類などで使いやすい良い表現が得られるという現象について、論文ではこれをaugmentationとして説明しているが、それだけではない、より深い原理や理論的な解釈があると思われる。 この研究からはいくつかの発展の可能性がある。 一つは、LeVJEPAではCLS表現にしか直接lossをかけていない点である。それにもかかわらずパッチ表現にはすでに物体領域などに対応した構造が現れている。であれば、clip-levelの一致だけでなく、異なるview間で対応する符号化器パッチを一致させるなど、局所的な学習目標を追加する余地があり、特にsegmentationやtrackingなどのdense taskについては、こうした損失が重要となるだろう。 もう一つは、動画でこれだけうまくいくのであれば、他の系列データでも同様の考え方が使えるのではないかという点である。 例えば言語でも、同じ内容から異なるviewを作り、その表現を一致させるという自己教師あり学習はこれまでにも多く研究されている。 そうした中で、学習が進むにつれて学習目標の潜在表現も高度化していき、にんじんをぶらさげた馬のように、学習が勝手に高度化していく学習設定ができるのではと考えられる。