逐层生长的生成对抗网络
生成对抗网络(GANs)能够生成非常逼真的合成图像。在训练过程中,生成器负责生成图像,而判别器则试图区分真实图像和合成图像。两者之间的"竞争"可以产生非常逼真的生成器。
生成高分辨率、清晰且多样化的图像需要大型网络。然而,如果网络太大,对抗训练可能无法收敛到良好的生成器。研究人员通过从小型生成器和相应的小型判别器开始,逐渐向两者添加更多神经网络层来解决这个问题,确保生成器在复杂性增长时保持基准性能水平。
过去,这种方法是确定性的:按照固定时间表添加固定数量、固定大小和预定类型的层。在某机构人工智能年会(AAAI)上发表的论文中,我们探索了一种更有机的GAN生长方式,根据训练期间的性能动态计算添加层的大小、数量和类型。
打破对称性
我们方法的一个显著特点是它不受对称架构的约束。在以往的渐进式生长GAN中,生成器和判别器同步增长,最终具有相同数量的层。在我们的方法中,生成器和判别器中的层数是分别优化的,两个网络可以具有显著不同的架构。
我们的动态生长过程允许生成器在中等判别器的指导下更快地生长;判别器随后会跟上以提供更强的评判,帮助生成器成熟。这与最近关于神经网络训练动态的研究一致,表明"记忆"阶段之后是"巩固"阶段。
生长协议
我们的方法在训练现有GAN和添加新层之间交替进行。在每个生长阶段,我们的算法可以选择向生成器添加、向判别器添加或同时向两者添加。
如果添加到生成器顶部的层比下面的层大,则必须向判别器底部添加相同大小的层,因为生成器的输出必须与判别器的输入具有相同的大小。这样的添加会增加生成器生成图像的分辨率。
当向任一网络添加具有随机初始化权重的新层时,现有层的权重会被继承。然而,未来的训练可能会调整这些继承的权重。
卷积神经网络优化
与大多数处理图像的AI应用一样,我们的图像判别器使用卷积神经网络。在我们的方法中,当算法向GAN中的生成器或判别器添加层时,它必须确定层的大小以及卷积的尺度——滤波器的大小以及它们应该重叠多少。
此外,层及其滤波器的最佳大小不仅取决于该层的输入和输出,还取决于所有后续层的输入和输出。为要添加的层及其所有后续层枚举所有可能的层和滤波器大小组合在计算上是不可行的。因此,我们的算法考虑搜索历史中记录的k个最佳模型,并计算所有可能添加到这些模型的下一层。
这种随机采样不能保证收敛到层和滤波器大小的全局最优解。但与大多数深度学习优化一样,它会导致足够好的局部最优解。与预先固定架构参数相比,它为可生长GAN提供了更大的灵活性。
性能评估
我们使用标准指标来评估模型的输出,包括切片瓦瑟斯坦距离和弗雷歇起始距离。这两个指标都测量两个概率分布之间的差异——在这种情况下是真实图像和合成图像的视觉特征分布。更好的分布匹配意味着更高的样本保真度和更大的多样性。
我们将我们的模型与几个其他GAN进行了比较,包括其他渐进式生长的GAN,在几个不同的数据集上发现,除一个例外,我们的模型在两个指标上都具有更低的距离分数。唯一的例外是一个"基于部分"的GAN,它使用根本不同的方法,分别合成图像片段然后将它们拼接在一起。但原则上,该方法可以与我们的方法结合使用。