ミニマックス最適化の理論を実用的な深層学習モデルとして具現化したものが、敵対的生成ネットワーク(GAN)の実装体系である。GANは単なるモデルではなく、「対立的最適化ダイナミクス」を安定に実装するための設計原理の集合体であり、その発展はアーキテクチャ設計・損失関数・正則化手法の三位一体として理解される。本節では、初期実装から現代的高性能モデルに至るまでの技術的発展を、数理的背景とともに体系的に詳述する。
GANの基本構造は、生成器 $G(z; \theta_g)$ と識別器 $D(x; \theta_d)$ の二つのネットワークからなる。生成器は潜在変数 $z \sim p_z(z)$ を入力としてデータ空間のサンプルを生成し、識別器は入力 $x$ が真のデータか生成データかを判定する関数である。
実装上の学習は、以下の交互最適化として実現される:
このように、確率的勾配法(SGDやAdam)によってパラメータ更新が行われるが、これは厳密なミニマックス最適化ではなく、サドル点近傍の動的探索として理解されるべきである。
DCGANは、GANの実用化において決定的な役割を果たした。特に画像生成においては、空間的構造を保持するために畳み込み構造が不可欠である。DCGANの設計原則は以下に要約される:
これらの設計により、潜在変数空間において線形構造が意味的構造と対応する現象(ベクトル演算による意味操作)が観測される。
GANの実装における本質的課題は、以下の二点に集約される:
モード崩壊は、生成器が以下のような退化分布に収束する現象として理解される:
\[p_g(x) \approx \sum_{k} \alpha_k \delta(x - x_k)\]これはミニマックスゲームの非凸性および最適化ダイナミクスに起因する。
これらの問題を解決するために、WGANでは分布間距離としてワッサースタイン距離を導入する:
\[W(p_{\mathrm{data}}, p_g)=\sup_{\|f\|_L \le 1}\mathbb{E}_{x \sim p_{\mathrm{data}}}[f(x)]-\mathbb{E}_{x \sim p_g}[f(x)]\]ここで $f$ は1-Lipschitz関数であり、識別器は「クリティック」として再定義される。この定式化により、サポートが一致しない場合でも有意な勾配が得られる。
Lipschitz制約の実装としては以下が用いられる:
Conditional GAN(cGAN)では、条件変数 $y$ を導入する:
\[G(z,y), \quad D(x,y)\]これにより、クラス条件付き生成や画像変換が可能となる。さらに、条件は単なるラベルに限らず、テキストや他画像にも拡張される。
StyleGANは、潜在変数の扱いを根本的に再設計したモデルである。まず、潜在変数 $z$ を中間空間 $\mathcal{W}$ に写像する:
\[w = f(z)\]その後、各層に対してスタイル変調を適用する。このとき、特徴マップは以下のように制御される:
\[\mathrm{AdaIN}(x) = \sigma(w) \frac{x - \mu(x)}{\sigma(x)} + \mu(w)\]この構造により、異なるスケールの特徴(構造・テクスチャ)が分離され、高精細かつ制御可能な生成が実現される。
GANの実装は、単なるネットワーク設計ではなく、「不安定なゲームをいかに制御するか」という問題への解答である。DCGANによる構造的安定化、WGANによる距離概念の再定義、StyleGANによる潜在空間の再構成などを経て、GANは高度に洗練された生成モデルへと進化した。この発展は、生成モデルを「最適化問題」から「動的システム」として理解する視点の重要性を示している。
Mathematics is the language with which God has written the universe.