Improved GANs

Improved GANs

“Improved Techniques for Training GANs”是一篇由Ian J. Goodfellow 和他的同事在 2016 年发表的论文,这篇论文对生成对抗网络(GANs)的训练过程做出了重要的改进和提议。这些改进主要集中在提高GANs的稳定性和性能上,解决了一些早期GANs训练中的常见问题,例如模式崩溃(mode collapse)。

模式崩溃(mode collapse)

当训练GAN时,理想情况下希望生成器能够学习到数据分布的各个方面,以产生多样性且逼真的数据。然而,模式崩溃指的是生成器开始生成极其有限的样本种类,即便这些样本能够以很高的成功率欺骗判别器。换句话说,生成器找到了一种“捷径”,只生成某些特定的样本(这些样本可能在判别器当前状态下难以被识别为假的),而忽视了数据的其它特征和多样性。这导致生成的数据虽然逼真,但多样性严重不足。

发生模式崩溃的主要原因是GANs模型的不稳定性。例如,如果判别器学习得太快,生成器可能会找到并重复使用能够通过判别器的某些特定模式,而不是学习更多样化的数据生成策略。即,如果生成器和判别器之间的训练不够平衡,可能会导致一方过于强大,从而促使另一方采取极端策略。

不稳定性的根源是由于GANs的训练本质上是一个两个网络(生成器和判别器)之间的博弈过程,这个过程可能会非常不稳定。在理想情况下,两者应该达到纳什均衡,但在实际操作中,往往很难实现。例如,过强的判别器:如果判别器太强,它将过于容易地区分出生成器的输出,导致生成器收到的梯度信号过于强烈和尖锐。这可能使得生成器在训练过程中找不到提升其生成质量的方向,进而陷入困境,无法产生足够逼真的数据。相反,如果判别器太弱,它不能提供足够的准确反馈给生成器。这样生成器即使产生低质量的输出也能“蒙混过关”,使得其没有足够的激励去改进和学习生成更高质量的数据。

想象一个场景,在这个场景中,学生的任务是学习如何绘制非常逼真的风景画来“欺骗”老师,而老师的任务是要分辨出这些画作是学生绘制的,还是由真正的艺术家创作的。如果老师非常有经验(即判别器太强),能够轻易地识别出所有学生的画作,不管他们的质量如何。这会导致以下几个问题:学生(生成器)感到灰心,学生可能会因为自己的作品总是被轻易辨识出来而感到沮丧,逐渐失去改进作品的动力或方向,不知道应该如何进步。其次,缺乏有效反馈,老师可能仅仅告诉学生“这是错误的”,而没有给出具体的改进建议,使得学生难以从中学到如何改进他们的绘画技巧。相反,如果老师的判断能力较弱(即判别器太弱),则会出现学生缺乏挑战,如果老师几乎总是认为学生的作品是真正艺术家的作品,学生可能会觉得自己已经“掌握”了绘画技巧,而实际上他们的作品质量并不高。由于缺乏适当的挑战和准确的反馈,学生可能在自满中停止进步,或不知道自己需要在哪些方面进行提升。

理想的学习情境是老师与学生之间的能力相对平衡。老师可以准确地指出学生作品的不足,但同时给出具体有用的反馈,鼓励学生继续努力。学生因此能够逐渐提高技艺,绘制出越来越逼真的画作。最终,学生的绘画技术好到老师难以分辨他们的作品和真正艺术家的作品。在这种平衡状态下,学生(生成器)不断学习和改进,而老师(判别器)也在不断提升自己的鉴别能力。这个过程最终导致学生能创作出极其逼真的作品,而老师也只能依靠猜测来判断作品的真伪,这时可以认为达到了类似于GANs训练中的纳什均衡状态。

然而在实际操作中,很难确切地知道何时两者达到了平衡,或者哪一方占据了上风。这种不确定性和不稳定性导致GANs训练成为一个非常具有挑战性的任务。此外,由于生成器和判别器的学习能力、学习速率可能不同,可能导致整个系统的训练过程在不同时间点表现出极其不同的动态行为,增加了调整和优化的难度。

要达到理想中的纳什均衡,需要非常精细的调参,以及对生成器和判别器的性能有深入的理解。这是GANs领域的研究者和实践者持续探索和优化的方向。通过改进网络结构、损失函数、训练策略等方法,可以在一定程度上缓解这种不稳定性,使训练过程更加平稳,最终生成的数据质量更高。

模式崩溃的解决方法

针对这一问题,Ian J. Goodfellow等人提出了几种有效的解决策略。

1.特征匹配

特征匹配(Feature Matching)旨在通过改变生成器( G)的训练目标来提高生成样本的质量和多样性。在传统的生成对抗网络中,生成器的核心任务是制造出能够欺骗判别器( D )

的样本。简单来说,生成器努力创建看起来足够真实,以至于判别器难以区分真伪的图像。然而,这种方法有一个弊端:生成器可能过分专注于那些当前能最容易欺骗判别器的特征,忽视了其它重要特征,导致输出的样本多样性受限。

特征匹配技术应运而生,它调整了生成器的目标,使之不再仅仅是欺骗判别器,而是尽可能地缩小生成样本和真实样本在关键特征上的差异。这里所说的“关键特性”是指在判别器网络的中间层所提取的特征,如特征的均值(平均水平)或分布(它们的整体排列和形状)。简单来说,假设判别器在处理图像时,从图像中提取了一系列复杂的特征,比如边缘、颜色分布或某些纹理模式。在特征匹配中,生成器生成的图像不仅是为了看起来像真的,而是要在这些更深层次、更复杂的特征上与真实图像类似。

具体来说,首先需要从判别器中提取出关键的特征。这通常意味着选择判别器网络中的一个或多个中间层,并使用这些层处理真实和生成的图像,以此来提取它们的特征。例如,如果选择了判别器中的第三层,那么这层就会对输入的每个图像输出一组特征向量。接下来,对于一批真实图像,计算这批图像在上述选择的判别器层中的特征表达的统计量。最常用的统计量是特征的平均值,但也可以使用更复杂的统计数据,如方差或整体分布。对于生成器产生的图像,采取同样的步骤,计算相同层次上的特征表达的统计量。此时损失函数被定义为生成图像特征统计量和真实图像特征统计量之间的差异。这种差异通常用某种形式的距离来衡量,例如欧氏距离(即两个特征向量间的直线距离)。损失函数的目标是最小化这种差异。在训练过程中,不断调整生成器的参数,以减少特征匹配损失。换句话说,生成器的训练过程是一个优化过程,目的是调整生成器,使其生成的图像在所选层的特征上与真实图像越来越接近。

通过这种方式,特征匹配促使生成器生成在更多维度上与真实数据相似的样本。它不只是追求表面上的逼真度,而是深入到数据的本质特征,从而增加了生成样本的真实性和多样性。这种综合性的训练目标有助于提升生成器的综合性能,避免了过度专注于某些特定特征的陷阱,同时也间接地减少了模式崩溃现象的发生。

2.小批量判别器

小批量判别器(Mini-batch Discrimination)是解决生成对抗网络中模式崩溃问题的另一种有效技术。它的核心目标是增强模型对样本多样性的关注,特别是在生成器倾向于产生重复或高度相似样本的情形下。这种技术通过在判别器网络中添加一个特殊的层来实现,这个层的功能是评估一个小批次(mini-batch)中各个样本之间的差异性。

具体来说,小批量判别器的工作原理为:当一个批次的数据输入到判别器中时,这个新增的层会计算并比较批次中各个样本的特征。这些特征包括但不限于样本间的相似度或差异度等统计量。如果生成器开始产生大量相同或相似的样本,这些样本之间的高度相似性就会在这个新层中被明显捕捉到。换句话说,这个层可以识别出样本间的微妙差异或者它们的缺失。

由于这种高度的相似性通常不是真实数据集所表现出的特点,因此小批量判别层能够帮助判别器更容易地辨识出这些重复或相似的样本是由生成器生成的,而不是来自真实数据集。这种识别结果将反馈给生成器,使得生成器在后续的训练中受到惩罚,因为它未能产生足够多样化的输出。

因此,小批量判别器实际上是在鼓励生成器创造出更多样化和独特的样本。它通过对样本间相似度的监控,迫使生成器不断探索新的、多样化的生成路径,而不是停留在产生少数几种模式的安全区域。这样,不仅提高了生成样本的质量和多样性,还有效地缓解了模式崩溃的问题,使得生成的图像更加丰富和多变。

3.单侧标签平滑

单侧标签平滑(One-Sided Label Smoothing)是一种有效的正则化技术,特别应用于训练生成对抗网络(GANs)中的判别器。在传统的GAN训练框架中,判别器的任务是区分真实样本和生成器产生的假样本。为了实现这一目标,真实样本通常被标记为1(代表“真实”),而假样本被标记为0(代表“假”)。然而,这种明确的、二元化的标记方式有时会导致一些问题,尤其是使得判别器过度自信。

过度自信的判别器意味着它对于其分类的准确性过于确定,这可能会导致两个主要的问题:一是在面对稍有不同的或未见过的样本时,判别器的性能可能急剧下降,因为它未能学习到足够的泛化能力;二是判别器可能会过度强化生成器的某些特定缺陷,导致生成器在追求欺骗判别器的过程中偏离实际的数据分布,从而可能加剧模式崩溃的风险。

单侧标签平滑正是为了解决这一问题。在这种技术中,真实样本的标签不再是固定的1,而是被设置为略小于1的值,例如0.9或0.95。这样的做法减轻了判别器对每个样本的绝对分类(完全是真或完全是假),从而抑制了其过度自信的倾向。结果就是一个泛化能力更强的判别器,它对于真实样本的识别不再是完全肯定的,而是给予了一定的容错空间,使得判别器在判断新的或略有差异的真实样本时表现得更为稳健。

通过实施单侧标签平滑,判别器被“软化”了,它的决策边界不再那么尖锐和绝对。这不仅提高了GAN模型对新数据的适应能力和稳健性,也有助于生成器学习到更加丰富和多样化的数据特征,从而在整个生成对抗网络的训练过程中实现更好的平衡和性能。

4.虚拟批规范化

虚拟批规范化(Virtual Batch Normalization, VBN)是一种改进的规范化技术,它在传统批规范化(Batch Normalization, BN)的基础上进行了关键的优化,特别适用于生成对抗网络等复杂模型的训练。BN作为一种广泛应用的技术,通过规范化神经网络中各层的输入,有助于加快训练速度,减少模型对初始化权重的敏感度,并能在一定程度上抑制过拟合。然而,在训练高度复杂的网络时,尤其是GANs中的生成器时,BN面临着一个挑战:不同批次间的协方差偏移。

协方差偏移是指当网络在不同批次的数据上训练时,即使是同一输入,在网络内部的表示可能会由于每个批次数据的统计属性(如均值、方差)的差异而产生变化。这种变化可能导致网络的训练过程变得不稳定,特别是在GANs中,生成器的输出极易受到输入数据批次差异的影响,从而影响整个网络的学习和生成质量。

为了解决这个问题,虚拟批规范化应运而生。与传统的BN不同,VBN引入了一个固定的“参考批次”(reference batch)。这个参考批次在训练开始时被选取,并在整个训练过程中保持不变。当进行批规范化时,VBN不仅考虑当前批次的样本统计特性(例如均值和方差),还同时参照这个固定批次的统计特性进行规范化。这种方法有效地减少了由于批次之间的统计属性差异所导致的内部协变量偏移,使得生成器的训练过程更为稳定。

通过这种结合当前批次和固定参考批次的统计数据的规范化方法,VBN有助于提高模型在处理不同数据批次时的稳定性和一致性。对于GANs而言,这意味着生成器能够更加平稳地学习和适应,避免因为输入数据的轻微变化而产生较大的输出波动,从而在整个网络训练过程中实现更高的性能和更好的结果。虚拟批规范化因此成为了提高复杂网络稳定性和性能的一个重要工具,尤其在GANs的训练中显示出其独特的价值。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容