異なるアーキテクチャを持つGANをマージする方法【論文要約】
初めに
こんにちは、AIエンジニアを目指しているmitaです!
今回は
GAN Cocktail: mixing GANs without dataset access
という、異なるGANを“モデルマージ”で統合し、元データがなくても複数ドメインを扱えるようにする研究を要約&考察していきます。
キャッチアップした内容を共有していくので、何かしらの形でお役に立てれば光栄です!
論文要約
本研究では、複数のGANを「学習データなし」「モデルサイズを増やさない」という制約下で統合する方法を提案。
提案手法 GAN Cocktail は、
- Model Rooting:異なるアーキテクチャのGANを共通の祖先モデルに揃える
- Model Merging:重みを平均し、GANの生成データのみでファインチューニング
という二段階アプローチで、異なるドメインのGANを結合し「UnionGAN」を構築。
結果として、従来の転移学習やEWCよりも高性能を実現。
論文詳細
論文背景
- GANは高品質な画像を生成できるが、通常は特定ドメイン専用。
- 「猫GAN」と「犬GAN」を統合して1つのモデルから生成できるようにするのが理想。
- しかし現実には:
- 元の学習データが公開されない(プライバシー・著作権・サイズの問題)。
- 複数モデルをそのまま並列実行するとサイズと計算量が膨大になる。
- そこで、学習データを使わず、サイズも増やさず、複数GANを1つにまとめるという新しい問題を提起。
論文内容
-
Model Rooting
- N個のGANから1つを「ルート」として選択。
- 他のGANをそのルートモデルに転移学習させ、同一アーキテクチャ+共通祖先に揃える。
- これにより重み空間で整合性が生まれ、重みの平均化が意味を持つ。
-
Model Merging
- ルート化されたGAN群の重みを単純平均。
- 平均モデルを初期化として使い、GAN自身が生成する画像でファインチューニング。
- これにより「UnionGAN」が得られ、複数ドメインに対応可能となる。
結果
- FID(Fréchet Inception Distance) により評価。
- 猫+犬のように意味的に近いデータセットでは顕著に改善。
- 猫+車や猫+顔のように意味的に遠い組み合わせでも、ベースラインを上回った。
- ルートモデルの選択は性能に影響するが、どれを選んでも既存手法よりは優位。
- クロスドメインでの応用(潜在空間補間、スタイルミキシング、意味的編集)も可能。
用語解説
GANとは
Generative Adversarial Networkの略で、日本語では「敵対的生成ネットワーク」と訳されます。
特徴はAdversarialの通り、2つのニューラルネットワークを競わせて学習させる構造にあります。
Generator(生成器)とDiscriminator(識別器)というモデルに分類され、Generatorはノイズを入力しできるだけ本物に近いデータを生成します。
Discriminatorは入力データが本物である訓練データ化、Generatorが生成した偽物化を判定することによって、生成器は「偽物を本物っぽく」作ろうとし、識別器は「偽物を見抜こう」とするため学習が進むにつれ生成器はよりリアルなデータを作れるようになります。
Model Rootingとは
複数のGANを共通の祖先モデルに揃える手法。
異なるアーキテクチャやパラメータ分布のモデルを直接平均すると壊れるが、Rootingを行えば重み空間での対応関係が揃い、マージが可能になる。
Elastic Weight Consolidation (EWC)とは
転移学習時に重要なパラメータを保持するための正則化手法。
各重みの重要度をFisher情報で測り、動かしにくい「硬いバネ」と、動いてよい「柔らかいバネ」として制御する。
Model Soupとは
複数の学習済みモデルの重みを平均して新しいモデルを作る手法。
同じアーキテクチャで同じタスクを学習しても初期値や学習率スケジュール、ランダムシードなどの違いによって局所最適にずれが生じる。
そのようなモデルたちはそれぞれ解空間の近くにいる兄弟のような存在であり、それらの平均をとればより繁華性能が高いモデルになるのでは、という発想で生まれたもの。
再学習不要であること、アンサンブル学習の効果を1モデルに集約できることがメリット。
個人的感想
論文まとめ
本論文は異なるアーキテクチャを持つGANを同一のアーキテクチャに変換したのちにモデルマージをすることで、複数ドメインに対応したGANを生成している。
通常GANは犬なら犬の画像、猫なら猫の画像と、学習ドメインにのみ対応している。
入力にノイズを加えるのは出力画像にバリエーションを加えるためであり、どのようなノイズを加えても学習したドメインの画像が生成される。
また、モデルマージは重みがもつ意味が同じモデルに適用できる手法であり、層の数が異なっていたり、対応する層が持つ意味が事なるモデル(=異なるアーキテクチャ)同士はマージできない。
そこでこの論文ではモデルルーティングという独自の手法を使って片方のアーキテクチャにもう片方のアーキテクチャをそろえるという処理を加えてからモデルマージをしている。
やり方は蒸留に近いもので、片方のアーキテクチャ(ルートモデルと呼ぶ)をもう片方のアーキテクチャの初期値として使用し、ルートモデルと同じアーキテクチャを使用しながらもう片方のアーキテクチャを持つモデルの出力を用いて学習することによってアーキテクチャをそろえている。
蒸留との違いは目的とそれを達成する手段で、下記のようになる。
- 蒸留
- モデルを軽量化・推論高速化することが主目的。
- 教師モデルの出力分布をまねできるようモデル内の潜在表現を学習する。
- モデルルーティング
- アーキテクチャを変更することが目的。
- 変更したいモデルの出力を学習データとして学習。
上記によって入力に条件を加えることで複数ドメインを1つのモデルで生成可能なUnionGANが作成された。
この時、ルートモデルにするモデルをどちらにするかで性能に差が出ていることに注意。
著者らはルートモデルの生成多様性が影響しているのではないかと仮説を立てている。
多様性が高いモデルをルートに選んだほうがより柔軟に表現が収まる可能性があると指摘。
考察
ついに異なるアーキテクチャをマージする手法にたどり着きました。
論文を読み、そこで出た疑問をもとに仮説を立て他論文を調べると、いう論文の探し方が身についてきてうれしいです。
一方で、今回の論文は正直、私が期待していたものとは異なっていました。
私はAGIを作成する手法として、複数のモデルをマージし超高性能なモデルを作成することによって実現する手法があるのではという考えを持っていました。
その際課題となると考えたのは実際に使用されているモデルのアーキテクチャが異なる場合が多いのではという仮説です。
この問題の解決策として異なるアーキテクチャを結合する手法を探していたのですが、本論文ではGANの出力結果を再学習させて同一アーキテクチャを作成しています。
これは入力と似たものを生成するモデルがあり、無限に作れるデータを学習に使用できるGANだからこその手法で、LLMなどの他AIだと真似することができないのではと考えます。
この論文を通じて、自分の仮説のもろさを確認できたのは大きな収穫です。
そもそも私の考えは、「もし異なるアーキテクチャのモデル同士を結合できたら、複数領域を横断的に思考でき、人間と同等以上の思考力を備えたAIが誕生し、自分より賢いAIを生み出すようになるのではないか。そうすればシンギュラリティに近づくのではないか」という願望から出発していました。
今後は各論文を紐解き、「高性能AI」を実現する可能性が高い手法を調べながらきたる未来を考えていければと思います。
次回以降はAGI作成の別アプローチである、オーケストレータ型、つまり異なるドメイン特化のAIを操ることでAGIを目指す手法を調べていきたいと思います。
Discussion