机器学习 | GAN基本原理

in 机器学习 with 0 comment

GAN
上图为每个月关于 GAN 的论文发表数量

GAN基本原理

什么是GAN

GAN全称对抗生成网络,顾名思义是生成模型的一种,而它的训练则是处于一种对抗博弈状态中的

GAN的基本想法

GAN的基本原理其实非常简单,这里以生成图片为例进行说明。假设我们有两个网络,G(Generator)和D(Discriminator)。正如它的名字所暗示的那样,它们的功能分别是:

  1. G是一个生成图片的网络,它接收一个随机的噪声z,通过这个噪声生成图片,记做G(z)
  2. D是一个判别网络,判别一张图片是不是“真实的”。它的输入参数是x,x代表一张图片,输出D(x)代表x为真实图片的概率,如果为1,就代表100%是真实的图片,而输出为0,就代表不可能是真实的图片

​在训练过程中,生成网络G的目标就是尽量生成真实的图片去欺骗判别网络D。而D的目标就是尽量把G生成的图片和真实的图片分别开来。这样,G和D构成了一个动态的“博弈过程”

​最后的博弈结果是,在最理想的状态下,G可以生成足以“以假乱真”的图片G(z)。对于D来说,它难以判定G生成的图片究竟是不是真实的,因此D(G(z)) = 0.5

GAN的组成定义

生成器

生成器中是一个神经网络NN,或者一个函数

输入向量

​输入向量,输入向量的每个维度对应输出的一些特点

L1 1

辨别器

辨别器是一个NN或者函数,输出值越大,输入的数据越真实,虚假的可能性更低

img

生成对抗算法

​对于GAN的基础,两种通俗的解释 i)生成器和辨别器互相对抗,互相变强 ii)生成器是学生,辨别器是老师
初始化生成器G和辨别器D

1.固定生成器G,并且更新辨别器D,训练辨别器使其分别生成器和数据库并产生不同的结果

2.固定辨别器D,更新生成器G,生成器学习生成更好的图片

img

​GAN的核心原理的数学表述:

img

参考资料

[1] Goodfellow, Ian J., Pouget-Abadie, Jean, Mirza, Mehdi, Xu, Bing, Warde-Farley, David, Ozair, Sherjil, Courville, Aaron C., and Bengio, Yoshua. Generative adversarial nets. NIPS, 2014.
[2] Understanding Generative Adversarial Networks
[3]【 李宏毅深度学习 】Introduction of Generative Adversarial Network (GAN)(中文)
[4] Introductory guide to Generative Adversarial Networks (GANs) and their promise!

评论区