GAN这个结构的最精妙之处在于对生成模型损失函数的处理,这里以生成图片为例,说明其整个算法流至。假设我们有两个网络:G(Generator)和D (Discriminator) 。

在训练过程中,将随机噪声输入生成网络G,得到生成的图片;判别器接收生成的图片和真实的图片,并尽量将两者区分开来。在这个计算过程中,能否正确区分生成的图片和真实的图片将作为判别器的损失。而能否生成近似真实的图片并使得判别器将生成的图片判定为真将作为生成器的损失。

注: 生成器的损失是通过判别器的输出来计算的,而判别器的输出是一个概率值,我们可以通过交叉熵来计算。

GAN公式

Untitled

注:公式中的x表示真实图片,z表示输入G网络的噪声,G(z)表示G网络生成的图片,D(*)表示D网络判断图片是否真实的概率。

Untitled

代表从真实分布的图片中随机抽取一张x。

Untitled

Untitled

代表从噪声分布中随机抽取一个噪声。

Untitled

Untitled

Untitled

Untitled

Untitled

Untitled

Untitled

注:log是为了放大损失!