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 などの安定化技法が開発されている。