对抗性学习方法的优化问题面临着很大的挑战,如何平衡生成器和判别器的性能就是其中之一。
1、一个具有很高准确率的判别器可能会产生信息量较少的梯度,但是一个弱的判别器也可能会不利于提高生成器的学习能力。
问题1:如何使判别器学习到 使原始数据和生成器的数据分布有很多重叠的数据表征,从而有效地调整判别器的准确率并维持生成器能够带有足够信息量的梯度。
2、
训练WGAN的时候,有几个方面可以调参:
a. 调节Generator loss中GAN loss的权重。 G loss和Gan loss在一个尺度上或者G loss比Gan loss大一个尺度。但是千万不能让Gan loss占主导地位, 这样整个网络权重会被带偏。
b. 调节Generator和Discrimnator的训练次数比。一般来说,Discrimnator要训练的比Genenrator多。比如训练五次Discrimnator,再训练一次Genenrator(WGAN论文 是这么干的)。这一条不一定对!
c. 调节learning rate,这个学习速率不能过大。一般要比Genenrator的速率小一点。
d. Optimizer的选择不能用基于动量法的,如Adam和momentum。可使用RMSProp或者SGD。这一条有疑惑
f. Generator loss的误差曲线走向。因为Generator的loss定义为:
G_loss = -tf.reduce_mean(D_fake)
Generator_loss = gen_loss + lamda*G_loss
其中gen_lo