GAN
読み: じーえーえぬ
生成器と識別器の 2 つのネットワークを敵対的に学習させ、本物と見分けがつかない画像を生成する深層学習フレームワーク。
GAN (Generative Adversarial Network / 敵対的生成ネットワーク) は、2014 年に Ian Goodfellow らが提案した生成モデルのフレームワークである。生成器 (Generator) と識別器 (Discriminator) という 2 つのニューラルネットワークを互いに競わせることで、訓練データの分布を学習し、本物と区別できない高品質な画像を生成する。
GAN の学習メカニズムは以下のように動作する。
- 生成器 (G): ランダムノイズベクトル z を入力として受け取り、偽の画像を生成する。識別器を騙すことが目標
- 識別器 (D): 入力画像が本物 (訓練データ) か偽物 (生成器の出力) かを判定する二値分類器
- ミニマックスゲーム: G は D を騙す確率を最大化し、D は正しく判定する確率を最大化する。この敵対的学習により両者が同時に改善される
- ナッシュ均衡: 理想的には D が本物と偽物を区別できなくなる (出力確率 0.5) 状態に収束する
代表的な GAN アーキテクチャの発展を示す。
DCGAN(2015): 畳み込み層を導入し安定した画像生成を実現した最初の実用的 GANPix2Pix(2016): 条件付き GAN でペア画像間の変換 (スケッチ → 写真など) を学習CycleGAN(2017): ペアデータなしで画像スタイル変換を実現。馬 → シマウマなどStyleGAN(2018): スタイルベースの生成器で超高解像度の顔画像を生成StyleGAN3(2021): エイリアシングを排除し、より自然な画像生成を達成
応用は超解像 (SRGAN)、画像修復 (Inpainting)、データ拡張と多岐にわたる。学習の不安定性 (モード崩壊、勾配消失) が課題であり、Wasserstein 距離や Spectral Normalization などの安定化技法が開発されている。近年は拡散モデルが画像生成の主流になりつつあるが、リアルタイム推論では GAN の高速な生成速度が依然として有利である。