0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

マルチモーダルAI「Flamingo」を読むための前提知識まとめ②(Catastrophic Forgetting、Frozen backbone、セルフアテンションとクロスアテンション、自己回帰モデル)

0
Posted at

はじめに

前回に引き続いて、こちらの論文の周辺知識を備忘録としてまとめていきます。
今回は、Catastrophic Forgetting、Frozen backbone、セルフアテンションとクロスアテンション、そして自己回帰モデルについてです。

Catastrophic Forgetting(破滅的忘却)

ニューラルネットワークが新しいデータやタスクを学ぶ際に、以前に学習した知識を急激に忘れてしまう事象。

例えば、言語の一般的な文法や常識を膨大なデータで事前学習したモデルに対し、「動画のキャプション生成」といった特定のタスクをファインチューニングさせたとする。すると、新しいタスクの精度を上げるためにモデル全体のパラメータを大きく更新してしまい、元々持っていた一般的な言語能力や常識が崩壊してしまう可能性がある。

この問題の対策の一つとして、次に述べる「Frozen backbone」という手法がある。

Frozen backbone

論文中に直接登場する用語ではないが、関連知識として重要であるため述べておく。

frozen(freeze)とbackboneとは?

まず、 backbone(バックボーン) とは入力データから特徴を抽出するネットワークのことであり、深層学習モデルの「背骨」に当たる。代表例として、画像認識におけるResNetや、自然言語処理におけるGPT・BERTなどがある。
そしてそれを frozen(凍結) させる、つまり「そのネットワークのパラメータを更新しないように固定する」ということである。

研究での活用例

Flamingoでは視覚モデル(NFNet)と言語モデル(Chinchilla)をベースにしているが、これらのバックボーンの重みを完全に凍結している。モデル全体を再学習させるのではなく、この2つの凍結されたモデルを橋渡しする「新しいクロスアテンション層」などだけを追加で学習させることで、効率的にマルチモーダル化を実現している。

また、最新の医療マルチモーダルAIの研究では、画像とテキストの両バックボーンを完全に凍結し、中継モジュールだけを学習させる手法が提案されている。これにより、事前学習された医療の専門知識を壊すことなく、学習パラメータを90%以上削減することに成功している。それだけでなく、わずか1%のデータでファインチューニングした場合でも、データセット全体で学習された複数のTransformerベースの手法を上回る性能を叩き出している。

いずれの研究例でも、Frozen backboneがCatastrophic Forgettingを防ぎながら計算負荷を低減し、さらにはごく少量の学習データから驚異の性能を記録していることがわかる。

セルフアテンションとクロスアテンション

アテンション(注意機構)とは?

機械学習モデルが入力データの「どの部分にどれくらい注目すればいいか」を計算する仕組み。派生手法として、主に自然言語処理モデルで扱われる「セルフアテンション」と、マルチモーダルモデルで扱われる「クロスアテンション」がある。

セルフアテンション(自己注意機構)

入力データの各要素(単語)が同じデータ内の他のすべての要素との関連性を計算し、その重要度に応じて自身を更新する機構。この機構がGPT・BERT・Claude・GeminiなどのLLMの基盤となっている。

クエリ(Query)・キー(Key)・バリュー(Value)の3要素でアテンションスコアの計算を行う。クエリは注目する要素、キーは比較対象となる要素、バリューはキーの値(重み)である。これらによって各要素の周辺情報を統合して新しい要素の表現が生成される。

  • メリット
    入力データ全体を一度に見てすべての位置間の関係を並列計算するため、「文頭の単語と文末の単語の関係」といった長距離の関係を把握でき、文脈上での各単語の意味がより深く理解できるようになる。また、処理の並列化が容易な構造であるため、GPU上での並列処理が可能になり、大量のデータを高速に学習できる。

クロスアテンション

セルフアテンションはクエリ、キー、バリューを「同じデータ」から取得していたが、クロスアテンションはクエリをデコーダ(出力)側から、キーとバリューを別のエンコーダ(入力)側から取得し、関連性を計算する機構。

Flamingoの場合、クエリはテキストデータであるのに対し、キーとバリューは動画像から取得される。これを凍結した視覚モデル(NFNet)と言語モデル(Chinchilla)の間に設けることで、視覚(動画像)と言語(テキスト)の橋渡しを行っている。

自己回帰モデル

過去のデータから現在や未来を予測する機械学習モデル。主に株価予測や気温予測などの時系列分析に使われているが、自然言語処理でも使われている。
よく巷で言われている、「生成AI(LLM)は確率的に尤もらしい単語を並べているだけだ」という言説の原点でもある。

(補足)マスク化言語モデルとの違い

自然言語処理における機械学習モデルには、自己回帰モデル以外にマスク化言語モデルと呼ばれるモデルがある。これは、文章内の欠落(マスク)した単語を前後の文脈から予測するモデルである。BERTなどは自己回帰モデルではなくこちらを採用している。

文章の分類や解析は得意だが、「ゼロからの自由な文章生成」は不得意であるため、現在の「生成AI」の主流としてはあまり採用されていない(※文章の分類や検索システムなどでは現在でも採用されている)。
再度後述するが、この理由からFlamingoも自己回帰モデルを採用している。

Flamingoにおける自己回帰モデルの活用

本論文のFlamingoは、自己回帰型言語モデル(Chinchilla)をベースに構築されている。その最大の理由は、画像分類のように決められた選択肢から答えを選ぶだけでなく、「画像を見て自由にキャプション(説明文)を書くこと」や「ユーザーの自由な質問に答える」といったオープンエンドなタスクをこなすためである。

しかし、単なる言語モデルであるChinchillaをそのまま使うだけでは、画像を見ながらテキストを生成する「マルチモーダルな自己回帰モデル」にはならない。Flamingoが画像とテキストをどのように統合して予測を行っているのか、その核心的な振る舞いを表しているのが以下の数式である。

$$p(y_l | y_{<l}, x_{\le l})$$

これは、「次に生成する1単語($y_l$)」を予測する際に、これまでの自己回帰モデルでは「過去に出力したテキスト($y_{<l}$)」だけを見ていたが、Flamingoでは「テキストの間に挟まっていた過去のすべての画像や動画($x_{\le l}$)」も同時にクロスアテンションで参照しながら予測している、ということを意味している。

この「過去のテキスト+過去の画像」から「次のテキスト」を自己回帰的に予測し続けるというシンプルなアプローチこそが、Flamingoが画像とテキストが入り混じったプロンプトを自然に読み解き、適切な回答を生成できる最大の理由である。

参考資料

以下のサイト・論文を参考にさせていただきました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?