概要
GAN (Generative Adversarial Network) とは、GeneratorとDiscriminatorという2つのニューラルネットワークを競わせることで、本物に近いデータを生成する深層学習モデルです。Generatorは偽造データを生成し、Discriminatorは本物と偽造データを見分けます。この競争を通じて、Generatorはよりリアルなデータを生成できるようになり、Discriminatorはより正確に判別できるようになります。
GANは、Generator (G) と Discriminator (D) という2つのネットワークで構成されます。Generatorはランダムなノイズベクトルを入力として受け取り、本物のデータと見分けがつかないような偽造データを生成します。Discriminatorは本物のデータとGeneratorが生成した偽造データを入力として受け取り、どちらであるかを識別します。この際、Discriminatorは、本物データに対しては1、偽造データに対しては0を出力することを学習します。
GeneratorはDiscriminatorを騙すように、DiscriminatorはGeneratorが生成した偽造データを正確に識別するように、それぞれの損失関数を最小化する方向に学習が進みます。このミニマックスゲームのような学習プロセスを通じて、Generatorはデータ分布を学習し、Discriminatorを欺くほどリアルなデータを生成できるようになります。学習が収束すると、Generatorは本物のデータ分布を近似したサンプルを生成できるようになります。