参考博客链接如下:
https://blog.youkuaiyun.com/weixin_38346042/article/details/121633697
https://blog.youkuaiyun.com/weixin_45377629/article/details/124006451
https://zhuanlan.zhihu.com/p/618066889
生成对抗网络Generative Adversarial Networks| GAN
- GAN由生成器和判别器组成,生成器负责生成样本,判别器负责判断生成器生成的样本是否为真。生成器要尽可能迷惑判别器,而判别器要尽可能区分生成器生成的样本和真实样本。
- 通常情况下,无论是生成器还是判别器,我们都可以用神经网络来实现。
- 生成器G,对于原始的GAN,输入是由高斯分布随机采样得到的噪声。噪声通过生成器得到了生成的假样本。
- 生成的假样本与真实样本放到一起,被随机抽取送入到判别器D,由判别器去区分输入的样本是生成的假样本还是真实的样本。生成对抗网络中的“生成对抗”主要体现在生成器和判别器之间的对抗。
- 生成器的本质就是一个解码器(decoder),他的输入是一个来自n维标准正态分布的n维向量,通过解码器解码得到与真实数据维度相等的图片,即生成图片。而一旦这个生成器通过对抗的方式训练完成,我们即可以随便选取一个n维标准正态分布向量,解码得到新的图片(数据集中未曾出现过的)。
GAN能做什么?
- 根据已知数据并生成合成图像来扩充数据集
- 从文本到图像
- 提高视频分辨率,来捕捉更精细的细节
- 在音频领域,合成高保真音频或执行语音翻译
- …
相对于其他模型的优势?
- GAN不需要数据标签,无监督
- 对抗性训练相比于其他模型能目前生成最清晰的图像
- GAN中的两个网络都可以只用反向传播进行训练。
生成器与判别器
- 生成器试图学习数据分布,通过随机噪声作为输入,并产生逼真的图像。
- 判别器试图分类样本是来自真实的数据集,还是假的(由生成器生成)。
对抗式过程的最终目标是尽可能逼真地模拟数据集的分布。例如,当提供一个汽车图像的数据集Xreal时,GAN