1 模型概述
1.1 生成对抗网络GAN
GAN 网络顾名思义,是一种通过对抗的方式,去学习数据分布的生成模型。其中,“对抗”指的是生成网络(Generator)和判别网络(Discriminator)的相互对抗。这里以生成图片为例进行说明:
- 生成网络(G)接收一个随机的噪声z,尽可能的生成近似样本的图像,记为G(z)
- 判别网络(D)接收一张输入图片x,尽可以去判别该图像是真实样本还是网络生成的假样本,判别网络的输出 D(x) 代表 x 为真实图片的概率。如果 D(x)=1 说明判别网络认为该输入一定是真实图片,如果 D(x)=0 说明判别网络认为该输入一定是假图片。
在训练的过程中,两个网络互相对抗,最终形成了一个动态的平衡,上述过程用公式可以被描述为:
min G max D V ( D , G ) = E x ∼ P data ( x ) [ log D ( x ) ] + E ≈ p z ( z ) [ log ( 1 − D ( G ( z ) ) ) ] \min _{G} \max _{D} V(D, G)=\mathbb{E}_{x \sim P_{\text {data }}(x)}[\log D(x)]+\mathbb{E}_{\approx p_{z}(z)}[\log (1-D(G(z)))] GminDmaxV(D,G)=Ex∼Pdata (x)[logD(x)]+E≈pz(z)[log(1−D(