例如,如果鉴别器是n层的普通网络,每个层都有n(i)个单元,那么通常情况下,生成器也是n层的普通网络,每个层都有n(n-i)个单元(除了鉴别器的输出,其中n(n) =1,而对于生成器n(0) = NOISE_SIZE)。
如果鉴别器是CNN,则发生器通常是对称的“反褶积网络”,其中第一层是转置卷积层,对称于鉴别器的第n层。
实际上,我看到的所有实现都遵循这种模式,尽管我在理论上看不到为什么必须是这种情况。然而,在MNIST上,我有一个简单的数字绘图GAN的普通实现,它运行得相当好。我试图改进鉴别器,使它成为CNN (与我在识别MNIST数字方面做得很好的架构相同),而不改变生成器。GAN不再工作,并汇聚到一种状态,在这种状态下,发电机总是产生同样的乱画。从直觉上看,一个更好的鉴别器应该能帮助GAN,但事实并非如此。在没有同样改进生成器的情况下,改进鉴别器似乎不起作用(反之亦然)。这就是为什么人们总是选择对称架构的原因吗?以保持对手之间的“技能平衡”?还是有更深层次的原因?
发布于 2020-02-29 22:31:19
主要原因是您希望生成器和鉴别器具有同等的功能。GANs的基本直觉是,这两个网络可以通过竞争来提高自己。如果其中一种比另一种好得多,它们就会陷入某种不必要的平衡,在这种平衡中,一种胜过另一种,甚至几乎所有的时间。
因此,它们通常是对称的。这是确保他们的竞争保持平衡的最简单和最有效的方法。
发布于 2019-02-04 16:37:06
IMHO的原因是,类似的模式更多的是由于卷积层,而不是其他任何东西。密集层的数量可能会出现不平衡。
让我们来看看自动编码器的例子。如果您采取一些简单的东西,如SwissRoll,您将看到,您不需要相同数量的层在编码器和解码器侧(基本上您的鉴别器和生成器)。但是如果你有一个图像,只有密集的层使得生成器很难生成平滑的图像。它将需要更多的时间来训练,同时,鉴别器可以利用这种不平滑来检测它们。另外,你必须记住C层是预处理器,提取器,同样可以说是生成器输出,它们是创建者,它们需要匹配。
所以是的,这是关于平衡的,但只有特征。其余的不一定是对称的,它都是关于函数的复杂性,你必须近似。
https://datascience.stackexchange.com/questions/45039
复制相似问题