GAN(敵対的生成ネットワーク)とは?2つのAIを競わせて本物そっくりを生む仕組み

GAN(敵対的生成ネットワーク)とは何か。生成器と識別器という2つのAIを「贋金作りと警察」のように競わせて学習させる仕組みを、ミニマックスゲーム・モード崩壊・ディープフェイクへの応用、そして現在主流の拡散モデルとの違いまで、非専門家向けに図表で解説します。

GAN(敵対的生成ネットワーク)とは?2つのAIを競わせて本物そっくりを生む仕組み

「実在しない人物の顔写真」「本人が言っていない発言の動画」——いわゆるディープフェイクを見たことがある人は多いでしょう。こうした「本物そっくりの偽物」を作り出す技術の中心にあったのが、GAN(敵対的生成ネットワーク、Generative Adversarial Networks) です。2014年に登場したこの仕組みは、その後の生成AIブームの源流のひとつになりました。

GANの面白さは、その学習のさせ方にあります。1つのAIに正解を教え込むのではなく、2つのAIを互いに競わせる ことで、片方が「本物と見分けがつかないデータ」を作れるように育てていくのです。原典論文の言葉を借りれば、その関係はちょうど「贋金作りのチーム」と「それを取り締まる警察」のようなものです1

この記事では、GANとは何かを、基本のアイデア・学習の仕組み・応用と限界・そして現在主流となった拡散モデルとの違いという4つの角度から、数式をほとんど使わずに掘り下げます。ニューラルネットワークが「AIの学習する仕組み」だとすれば、GANは「AIに何かを生み出させる仕組み」の代表例であり、生成AIを理解するうえで外せない一里塚です。

基本のアイデア:2つのAIを競わせる

GANの原典は、Ian Goodfellowら8名が2014年に発表した論文「Generative Adversarial Nets」(NIPS 2014で発表。プレプリントの表題は “Generative Adversarial Networks”)です1。著者らはその冒頭で、提案する枠組みをこう説明しています。「敵対的なプロセスを通じて生成モデルを推定する新しい枠組みを提案する。そこでは2つのモデルを同時に訓練する。データの分布を捉える 生成モデルG(generator) と、あるサンプルが生成モデルGからではなく訓練データから来た確率を推定する 識別モデルD(discriminator) である」1

言葉を噛み砕くと、GANは次の2人のプレイヤーからできています。

  • 生成器(Generator, G): ランダムなノイズを材料に、本物らしいデータ(たとえば顔写真)を作り出す係。「偽物を作る」役割です。
  • 識別器(Discriminator, D): 与えられたデータが「本物(訓練データ)」なのか「生成器が作った偽物」なのかを見分ける係。「真贋を見破る」役割です。

この2つを対戦させます。生成器は識別器をだませるよう、より精巧な偽物を作ろうとします。原典は「生成器Gの訓練手順は、識別器Dが間違える確率を最大化することである」1と述べています。一方の識別器は、だまされまいとより厳しく見分けようとします。両者が互いを出し抜こうと腕を上げ続けるうちに、生成器の作る偽物が本物と区別できないレベルまで洗練されていく——これがGANの核心です。

「贋金作りと警察」の比喩

この関係を、論文自身が有名な比喩で説明しています。「生成モデルは、本物として通用する偽札を作って使おうとする贋金作りのチームになぞらえることができる。一方の識別モデルは、その偽札を見破ろうとする警察になぞらえられる」1

贋金作りは、警察に捕まらないようどんどん精巧な偽札を作るようになります。警察は、巧妙になった偽札を見破ろうとどんどん鑑識眼を磨きます。この追いかけっこが続くと、最終的に贋金作りの偽札は本物と見分けがつかないほど精巧になります。GANが目指すのは、まさにこの「本物と区別できない偽物を作れる贋金作り(=生成器)」を手に入れることなのです。

Wikipediaも同じ構図を、より一般的な用語で「2つのニューラルネットワークが、一方の利益が他方の損失になるゼロサムゲームの形で互いに競い合う」2と定義しています。

生成器と識別器の役割

もう少し具体的に、2つのAIが何をしているのかを見てみましょう。

生成器:ノイズから「意味のあるデータ」へ

生成器の入力は、でたらめな数字の並び(ランダムなノイズ)です。出力は、本物そっくりのデータです。Wikipediaは「生成器は潜在空間(latent space)から真のデータ分布への写像を学習し、識別器が本物と区別できない候補を作り出すことを目指す」2と説明します。

ここで鍵になるのが 潜在空間 という考え方です。生成器は、入力のランダムな数字を「顔の特徴の設計図」のようなものとして解釈し、そこから具体的なピクセルの集まり(顔写真)へと変換します。学習が進むと、この潜在空間の数字を少しずつ動かすだけで、髪の色や顔の向き、笑顔の度合いといった特徴が連続的に変化するようになります。生成器は単に画像を丸暗記しているのではなく、「顔とはどういう要素の組み合わせでできているか」という構造そのものを学んでいくのです。

識別器:本物か偽物かを当てる分類器

識別器は、入力された1枚の画像に対して「これは本物である確率は何%か」を出力する、いわば二択の分類器です。Wikipediaは両者の関係を「生成ネットワークが候補を生成し、識別ネットワークがそれを評価する」2と要約しています。

識別器の学習は、教師あり学習に近い形で行われます。本物の訓練データには「本物」というラベルを、生成器が作ったデータには「偽物」というラベルを与えて、正しく見分けられるよう訓練します。そして識別器が下した判定(だまされたか、見破ったか)が、そのまま生成器を鍛えるための手がかりになります。

            ┌──────────────┐
ランダム ──►│  生成器 G    │──► 偽物データ ─┐
ノイズ      │ (贋金作り)   │               │
            └──────────────┘               ▼
                                   ┌──────────────┐
                                   │  識別器 D    │──► 本物? 偽物?
                                   │  (警察)      │      │
本物データ ───────────────────────►└──────────────┘      │
   ▲                                                      │
   └──── 判定結果を両者にフィードバックして再学習 ◄───────┘

学習の仕組み:ミニマックスゲームと均衡

GANの学習は、2人のプレイヤーが正反対の目的を持つゲームとして定式化されます。原典はこれを「ミニマックスな2人ゲーム(minimax two-player game)」1と呼びます。Wikipediaの整理によれば「生成器は目的関数を最小化しようとし、識別器はそれを最大化しようとする」2。同じ1つの指標を、片方は下げたい、もう片方は上げたい——この綱引きが学習の原動力です。

では、この綱引きはどこで止まるのでしょうか。理論上のゴールは明確です。原典は「一意の解が存在し、そこでは生成器Gが訓練データの分布を復元し、識別器Dはあらゆる入力に対して1/2になる」1と述べています。

識別器が「1/2(五分五分)」になる——これがGANの理想状態です。Wikipediaも均衡点を「生成器が参照データを完全に模倣し、識別器がすべての入力に対して決定論的に1/2を出力する」2状態だと説明します。識別器が本物か偽物かをまったく見分けられず、当てずっぽうの50%でしか答えられなくなったとき、それは生成器が作る偽物が本物と統計的に区別できなくなったことを意味します。贋金作りの腕が上がりすぎて、警察がもうコインを投げて判定するしかなくなった状態、と言い換えてもよいでしょう。

学習のステップ生成器(G)の動き識別器(D)の動き
序盤粗い偽物しか作れない簡単に偽物を見破る
中盤だんだん精巧になる見破るのが難しくなる
理想の均衡本物と区別できない偽物を作る1/2(五分五分)でしか当てられない1

技術的に重要なのは、この学習が比較的シンプルな道具立てで回ることです。原典は、生成器と識別器がともに多層パーセプトロン(ニューラルネットワーク)であれば、マルコフ連鎖や複雑な推論ネットワークを使わずに、誤差逆伝播だけで システム全体を訓練できる1と強調しています。これは当時の他の生成モデルに比べた大きな利点でした。

学習の難しさ:モード崩壊と不安定さ

理屈は美しいGANですが、実際に学習させるのは難しいことで知られています。2つのネットワークを同時にバランスよく鍛えなければならず、片方が強くなりすぎると学習が崩れてしまうからです。

代表的な失敗が モード崩壊(mode collapse) です。Wikipediaは「GANはしばしばモード崩壊に陥り、うまく汎化できず、入力データの一部のモード(種類)をまるごと取りこぼす」2と説明します。たとえば0から9までの手書き数字を学習させたのに、生成器が「0の画像ばかり作る」2ようになってしまう、といった現象です。生成器が「これさえ作れば識別器をだませる」という一点を見つけてそこに逃げ込み、多様性を失ってしまうのです。

加えて、生成器と識別器の力関係が振動して学習が安定しない、いつ学習を止めればよいか判断しづらい、といった難しさもあります。識別器が強すぎれば生成器は何を作っても見破られて学べず、弱すぎれば生成器は雑な偽物で満足してしまう。この絶妙なバランスを保つために、実務では多くの工夫が積み重ねられてきました。

発展と応用:写実的な顔から画風変換まで

基本形のGANは、その後さまざまに拡張されました。代表例が、画像生成の質を一気に引き上げた StyleGAN です。Wikipediaは「StyleGAN(Style Generative Adversarial Network)はGANアーキテクチャの拡張である」3と説明します。NVIDIAの研究者が2018年12月に発表し、2019年2月にコードを公開しました3

StyleGANの威力を世に知らしめたのが、「This Person Does Not Exist(この人物は存在しません)」というWebサイトでした。元UberエンジニアのPhillip Wangが2019年2月にStyleGANを使って作ったこのサイトは、ページを読み込み直すたびに新しい顔(“a new face on each web page reload”)を表示します3。そこに映るのは、どれも写実的でありながら、この世に実在しない人物の顔です。原典論文も、GANが「人間の目には少なくとも表面的には本物に見える、多くの写実的な特徴を備えた新しい写真を生成できる」2と述べていました。

GANはこのほか、低解像度画像を高解像度に変換する超解像、白黒写真の自動着色、ある画風を別の画風に変える画風変換(スタイル変換)、医療画像の補完など、幅広い分野に応用されてきました。

ディープフェイクという影

一方で、GANは社会的な懸念も生みました。本物そっくりの顔や声を作れるということは、裏を返せば「本人が言っていないことを言わせる動画」や「実在しない証拠写真」を作れるということでもあります。いわゆるディープフェイクです。

技術そのものに善悪はありませんが、なりすまし・詐欺・偽情報の拡散といった悪用のリスクは現実のものとなっています。皮肉なことに、こうした偽物を「見破る」検出技術もまた、GANの識別器と同じ発想——本物と偽物を分類するモデル——を土台にしています。生成と検出のいたちごっこは、GANの内部で起きていた贋金作りと警察の競争が、社会全体のスケールで再現されているとも言えるでしょう。

拡散モデルとの違い:いま画像生成の主流は

GANは長らく画像生成の代表格でしたが、2020年代に入ると、Stable DiffusionやDALL·Eに代表される拡散モデルが画像生成の主流の座に着きました。両者は「本物そっくりのデータを作る」という目的こそ同じですが、作り方の発想がまったく異なります。

GANが2つのネットワークを競わせて一気に画像を生成するのに対し、拡散モデルはノイズだらけの画像から少しずつノイズを取り除き、何ステップもかけて画像を「彫り出す」ように生成します。この違いが、それぞれの長所と短所を生みます。

観点GAN拡散モデル
学習の仕組み2つのネットワークを競わせる(敵対的)ノイズ除去を段階的に学ぶ(反復的)
学習の安定性不安定になりやすい(モード崩壊・振動)比較的安定しているとされる
生成の速さ速い(1回の処理で生成)遅い(多数のステップが必要)
多様性モード崩壊で多様性を失いやすい多様な出力を得やすいとされる

GANは敵対的な訓練ゆえに学習が不安定になりやすく、モード崩壊の問題を抱えていました。これに対し拡散モデルは、2つの競合するネットワークを持たず、段階的にノイズを除去していく訓練のため比較的安定しており、データの多様性も保ちやすいとされます。一方でGANには「1回の処理で画像を生成できるため速い」という明確な利点があり、リアルタイム性が求められる用途では今も使われています。

つまり、拡散モデルがGANを完全に「置き換えた」というより、画像生成という同じゴールに向かう2つの大きな系譜 があり、用途に応じて使い分けられている、と捉えるのが正確です。生成AIの全体像を理解するうえで、この二大系統の発想の違いを押さえておく価値は大きいでしょう。

GANが残したもの

GANの直接の応用範囲は拡散モデルに譲りつつありますが、その思想——2つのモデルを競わせて性能を引き上げる「敵対的」という発想——は、生成AIの広い領域に影響を残しています。データのリアルさを評価するために別のモデルを使う、攻撃側と防御側を競わせてロバスト性を高める、といったアイデアは、いずれもGANの「贋金作りと警察」の構図に源流をたどれます。

ランダムなノイズから本物そっくりのデータが立ち上がってくる仕組みを最初に実用的な形で示したこと。そして「競争させることで学習を駆動する」という新しい設計思想を提示したこと。この2点で、GANは生成AIの歴史における重要な転換点であり続けています。生成の仕組みをさらに知りたい方は、現在の画像生成を支える拡散モデルや、テキスト・画像・音声をまたいで扱うマルチモーダルAIの記事へ読み進めると、「AIが何かを生み出す」という言葉の中身が立体的に見えてきます。

Sources

  1. Generative Adversarial Networks - Ian Goodfellow ら、2014年。GANの原典論文(NIPS 2014での出版時の表題は “Generative Adversarial Nets”)
  2. Generative adversarial network - Wikipedia(定義・ゼロサムゲーム・モード崩壊・応用)
  3. StyleGAN - Wikipedia(StyleGANとThis Person Does Not Exist)

最新のAIニュースを毎日お届けしています。

RSSで購読する 更新をいち早くチェックできます。

他のキーワードで探す →