GANs(Generative Adversarial Networks)

GANsには、Generator(生成器)とDiscriminator(判別器)の2つネットワークがあります。Generatorは、Discriminatorに本物と誤認識させるような画像を生成し、Discriminatorは、本物か偽物かを見分ける役割があります。前者が後者を騙し、後者が前者を見破るような関係で、2つのネットワークが敵対させて学習させます。この2つの相対するネットワークの関係から「Generative Adversarial Networks(敵対的生成ネットワーク)」と呼ばれます。

GANsを応用してできることは主に「本物のデータを学習し、本物と見紛うレベルの贋作を生成する」であり、下記が例です。

  • 画像の生成(例:実在するセレブの顔写真を生成する)
  • 音楽の生成(例:実在しない楽曲を生成する)
  • 画像の論理演算(例:メガネをかけた男性 – 男性 + 女性 = メガネをかけた女性)
  • 低解像度の画像を高解像度に修正
    学習データの作成

    収集
    対象部分の切り出し(OpenCV)

    生成器(Generator)の構築
    判別器(Discriminator)の構築
    学習の安定

    GAN:WGAN(Wasserstein GAN)
    正規化:Batch Normalization
    最適化関数:Adam optimiser
    活性化関数:LeakyReLU
    損失関数:Wasserstein metrics