GAN 网络有两个神经网络,一个生成网络,一个区分网络。
区分网络就是我们平常看到的一般分类网络,进行输入,然后得到输入的标签。
生成网络是根据输入的噪声,将噪声尽可能的转换成已有的训练图像。噪声的分布有一定规律。
将训练集的图像和生成的图像都输入到区分网络中,区分网络的目标是判断训练集的图像为标签为1,生成的图像标签为0。
区分网络的损失函数分为两部分,一部分是将训练集的图像尽可能的判断为1,合成图像尽可能判断为0.
生成网络尽可能的将合成图像判断为1.
最后得到的最优结果是区分网络不能区分训练集图像和合成图像,概率为0.5。
网上有个例子我觉得很好。你要买个名贵手表,你就是区分网络。山寨商制造山寨品,是生成网络。我们买手表,肯定是要对正品和山寨的进行区分,最好的情况就是能完全区分正品和山寨的。但是山寨商会不断提高自己的山寨水平,让山寨手表看起来很像正品,我们就需要不断提高自己的区分水平。