本项目最终采用WGAN-GP模型作为其生成模型,如下对WGAN-GP的数学由来和原理简要分析。
GAN基本原理
GAN即为生成对抗网络(Generative Adversrial Network)。
如上即为GAN的示意结构图。
GAN由两部分组成,生成器(Generator)和判别器(Discriminator)。
- GAN的训练过程
- 生成器从一个任意分布(通常假设为均匀分布,如高斯分布)采样出随机噪声
,将其输入生成器。
- 生成器尽可能拟合真实数据real data
的分布,即在构成生成器的多层感知器(神经网络)中将随机噪声
映射到一个新的分布,得到生成数据
和其概率分布
。
- 将真实数据
与生成数据
一起传入判别器D网络,判别器网络经过计算通过sigmoid函数输出标量,以此判断类别。其中标量为一个
之间的数字。判别结果为真时,输出一个接近1的概率值;判别结果为生成器G生成的数据
时,输出一个接近0的概率值。
- 迭代优化D和G损失函数,根据D调整G。即若判别结果为一个接近0的概率值,则说明生成器G生成的数据样本的置信度较低,此时判别器D会将生成数据中需要调整的参数反馈给生成器G,生成器接收到判别器反馈的梯度信号后,调整相关参数从而改进生成器G。
- 生成器与判别器不断循环对抗更新迭代,直到判别器不能对真实数据real data
和生成数据
做出区分,此时达到纳什均衡,此时生成器状态最优,且判别器输出应为一个接近0.5的概率值。
- 生成器从一个任意分布(通常假设为均匀分布,如高斯分布)采样出随机噪声
这一过程本质上即生成器与判别器的极大极小博弈过程,过程中G和D的性能都在提高,最终达到最优。
- 更多内容请参阅p18-p27基于生成对抗网络的音乐生成研究_邱燕.caj-2020-09-03-10-47-51-298.pdf
