GAN(敵対的生成ネットワーク)

Generator と Discriminator の 2 ネットワークを競合させて学習する生成モデル。Generator はノイズ から偽データを生成し、Discriminator は本物(実データ=ラベル1)と偽物(生成データ=ラベル0)を識別する。両者を交互に最適化し、Generator が Discriminator を騙せるようになるとデータ分布を捉えた生成が可能になる。

学習ループ

  • Discriminator 更新: 実データに対する損失 loss_real(目標1)と生成データに対する損失 loss_fake(目標0)の和を最小化。
  • Generator 更新: 生成データを Discriminator に通し、目標を「本物(1)」として騙すよう損失を最小化。

実装上は Generator が LeakyReLU + tanh の MLP、Discriminator が LeakyReLU + Dropout + sigmoid の MLP といった素朴な構成(MNIST 生成)から始められる。

派生

  • cyclegan-generator / cyclegan-discriminator(CycleGAN): 対応ペアのない 2 ドメイン間の画像変換。Cycle consistency でペアなし変換を学習。
  • VQGAN: ベクトル量子化を組み込んだ GAN で、触覚画像のコンパクトな潜在表現学習(UniT, ManiFeel 文脈)にも応用される。

GAN は variational-autoencoderdiffusion-model と並ぶ深層生成モデルの一系統で、Deepfake 検出などの応用・対策の対象にもなる。

関連