为什么大多数 GAN(生成对抗网络)实现都具有对称鉴别器和生成器架构?

数据挖掘 深度学习 美国有线电视新闻网 训练
2021-09-28 05:58:11

例如,如果判别器是 n 层的普通网络,每层有 n(i) 个单元,那么通常,生成器也将是 n 层的普通网络,每层有 n(ni) 个单元(除了鉴别器,其中 n(n) = 1,而生成器 n(0) = NOISE_SIZE)。

如果鉴别器是 CNN,则生成器通常是对称的“反卷积网络”,其中第 i 层是转置卷积层,与鉴别器的第 ni 层对称。

几乎我见过的所有实现都遵循这种模式,尽管我在理论上看不到任何东西为什么必须如此。然而,我有一个在 MNIST 上训练的数字绘图 GAN 的简单香草实现,效果相当好。我试图通过在不改变生成器的情况下使其成为 CNN(与我在识别 MNIST 数字方面表现良好的架构相同)来改进鉴别器。GAN 不再工作并收敛到生成器总是产生相同的乱码绘图的状态。直观地说,更好的鉴别器应该有助于 GAN,但事实并非如此。似乎在不同样改进生成器的情况下改进鉴别器是行不通的(反之亦然)。这就是人们总是选择对称架构的原因吗?为了保存一个“

2个回答

主要原因是您希望生成器和判别器同样强大。GAN 的基本直觉是两个网络可以通过竞争来提高自己。如果一个人比另一个人好得多,他们就会陷入某种不想要的平衡,在这种平衡中,一个人总是或几乎总是击败另一个人。

出于这个原因,它们通常选择对称的。这是确保他们的竞争保持平衡的最简单和最有效的方法。

恕我直言,存在类似模式的原因更多是由于卷积层而不是其他任何原因。密集层的数量可能不平衡。

让我们甚至以自动编码器为例。如果您采用像 SwissRoll 这样简单的东西,您会发现在编码器和解码器端(基本上是鉴别器和生成器)不需要相同数量的层。但是如果你有一张图像,只有密集的层会使生成器很难生成平滑的图像。训练它需要更多的时间,同时,鉴别器可以利用这种不平滑性来检测它们。此外,您必须记住,C 层是预处理器、提取器,对于生成器输出也可以这样说,它们是创建者,它们需要匹配。

所以是的,这是关于平衡,但只有功能。其余的不一定是对称的,这完全取决于您必须近似的函数的复杂性。