我从Keras的 Paper Edge-Connect ( https://github.com/knazeri/edge-connect )实施了提议的 GAN 模型,并在 KITTI 数据集上进行了一些培训。现在我试图弄清楚我的模型内部发生了什么,因此我有几个问题。
1. 初始训练(100 Epochs,500 batches/epoch,10 Samples/Batch)
起初,我按照论文中的建议训练了模型(包括风格、感知、L1 和对抗性损失)
乍一看,该模型收敛到不错的结果:

这是屏蔽输入(右)的生成器(左)的输出
tensorboard 中的大部分图看起来也相当不错:(这些都是来自 GAN 模型的值,包含生成器的总损失(GENERATOR_Loss),基于生成的图像(L1,perc,style)的不同损失为以及对抗性损失(DISCRIMINATOR_loss)

当仔细观察鉴别器时,事情看起来就不一样了。生成图像的判别器的对抗性损失稳步增加。训练鉴别器时的损失(50/50 假/真例子)根本没有改变:
![] ( https://i.stack.imgur.com/o5jCA.png )
当查看鉴别器输出的激活直方图时,它总是输出大约 0.5 的值。
谈到我的问题/结论,我希望得到您的反馈:
2.于是我开始了第二次训练,这次只使用了生成器中的对抗性损失!(~16 个 Epoch,500 个批次/时期,10 个样本/批次)

这次鉴别器似乎能够在一段时间后区分真假。(prob_real 是分配给真实图像的平均概率,反之亦然)激活的直方图看起来也不错:
但是不知何故,在大约 4k 个样本之后,事情开始发生变化,并且在大约 7k 时它发散了……来自生成器的所有样本也如下所示:
来到我的问题/结论的第二部分:
machine-learning deep-learning keras generative-adversarial-network