本项目最终采用WGAN-GP模型作为其生成模型,如下对WGAN-GP的数学由来和原理简要分析。

    • GAN基本原理

      1. GAN即为生成对抗网络(Generative Adversrial Network)。

    如上即为GAN的示意结构图。
    GAN由两部分组成,生成器(Generator)和判别器(Discriminator)。

    • GAN的训练过程
      1. 生成器从一个任意分布(通常假设为均匀分布,如高斯分布)采样出随机噪声MuseGAN的数学原理 - 图1,将其输入生成器。
      2. 生成器尽可能拟合真实数据real data MuseGAN的数学原理 - 图2的分布,即在构成生成器的多层感知器(神经网络)中将随机噪声MuseGAN的数学原理 - 图3映射到一个新的分布,得到生成数据MuseGAN的数学原理 - 图4和其概率分布MuseGAN的数学原理 - 图5
      3. 将真实数据MuseGAN的数学原理 - 图6与生成数据MuseGAN的数学原理 - 图7一起传入判别器D网络,判别器网络经过计算通过sigmoid函数输出标量,以此判断类别。其中标量为一个MuseGAN的数学原理 - 图8之间的数字。判别结果为真时,输出一个接近1的概率值;判别结果为生成器G生成的数据MuseGAN的数学原理 - 图9时,输出一个接近0的概率值。
      4. 迭代优化D和G损失函数,根据D调整G。即若判别结果为一个接近0的概率值,则说明生成器G生成的数据样本的置信度较低,此时判别器D会将生成数据中需要调整的参数反馈给生成器G,生成器接收到判别器反馈的梯度信号后,调整相关参数从而改进生成器G。
      5. 生成器与判别器不断循环对抗更新迭代,直到判别器不能对真实数据real data MuseGAN的数学原理 - 图10和生成数据MuseGAN的数学原理 - 图11做出区分,此时达到纳什均衡,此时生成器状态最优,且判别器输出应为一个接近0.5的概率值。

    这一过程本质上即生成器与判别器的极大极小博弈过程,过程中G和D的性能都在提高,最终达到最优。