单图训GAN!如何改进SinGAN?

点击上方“机器学习与生成对抗网络”,关注"星标"

获取有趣、好玩的前沿干货!

  • Improved Techniques for Training Single-Image GANs

  • https://arxiv.org/abs/2003.11512

  • https://github.com/tohinz/ConSinGAN

前言

  • 众所周知,GAN往往依赖于大规模数据集。而自从去年那篇best paper的SinGAN之后,如何使用单图训练GAN已经成为一个研究热点或趋势。

  • 但样本的缺乏,对模型学习能力提出了更高的要求。SinGAN实际上效率是比较低的,因为它的多层级分阶段串行式训练的网络所导致。

  • 本文提出了一种可以同时训练多个阶段、不断提升分辨率的方法  。与当前SOTA相比,训练速度提高了六倍,参数更少,效果更好。

动机

  • 本文发现准确地处理多阶段和多分辨率训练至关重要。特别地,在给定时间里,仅训练一个阶段(固定别的)会限制不同阶段之间的交互,并且在从一个生成器阶段到下一个生成器阶段的传播如果是使用图像,而不是特征图的话,将对学习过程产生负面影响。

  • 而另一方面,端到端地同时训练所有阶段会导致过拟合(单图数据实在太少,模型又庞杂),在这种情况下,网络会崩溃、可能直接生成输入图像。

  • 本文尝试找到上述的折衷方案,降低学习率、同时训练多个阶段,可改善学习过程,以更少的训练时间获得更逼真图像。

  • 此外,本文展示了如何权衡图像质量与图像多样性,其中并行训练多阶段意味着以更少的多样性为代价、获得更好的全局一致性。

  • 本文还对缩放参数的选择进行了实验,即如何决定在每个阶段训练什么样的图像分辨率。作者观察到,如果在分辨率较低的图像上没有足够的训练,则生成图像的质量(尤其是整体图像布局)会迅速下降。由于判别器的感受野在整个训练过程中保持不变,因此低阶段的较低分辨率对于整个图像布局很重要,而分辨率较高的高阶段训练影响的是最终的图像纹理和颜色信息。即只需要相对较少的、高分辨率训练阶段就可以生成具有正确纹理的图像。因此,在训练过程中对较小分辨率的图像给予了更高的重视,而在训练高分辨率图像时使用的阶段较少,从而提高了合成图像的质量。

  • 最后,由于本文的模型可并行训练多个阶段,因此可引入一个特定于任务的微调阶段,该阶段可以在任何训练过的模型上执行。例如图像协调 image harmonization,在训练初始模型后,可以在给定的特定图像上对其进行微调,以进一步改善结果。

方法

多阶段训练

本文采用的是同时、端到端地进行多阶段训练,但这容易导致过拟合(作者指出减小低阶段的学习率可以在一定程度上缓解),也就是所生成的图像与训练图像几乎没有区别。

  • 训练本文所提出的ConSinGAN从粗略的分辨率开始进行多次迭代,学习从随机噪声向量z到低分辨率图像的映射(如图1中的“ Generator:Stage 0”)。

  • 一旦阶段n的训练收敛,通过添加三个附加的卷积层来增加生成器的大小。与SinGAN相比,每个阶段都将前一阶段的原始特征作为输入,而前几层不是固定的。

  • 从原始的上采样特征,到新添加卷积层的输出间添加残差连接(请参见图1中的“ Generator:Stage 1”)。重复此过程N次,直到达到所需的输出分辨率。

  • 像SinGAN一样,每个阶段都添加额外噪声,以提高多样性。

  • 在默认设置中,本文联合训练生成器的最后三个阶段(请参见图1中的“ Generator:Stage N”)虽然可以同时训练三个以上的阶段,但这很快导致严重的过度拟合。

  • 使用与原始SinGAN相同的块patch判别器架构和损失函数。这意味着,随着阶段的增加,与生成的图像的大小有关的感受野会变小:即在较低分辨率阶段,判别器将更多的注意力集中全局布局上,而在高分辨率阶段,判别器将更多的注意力放在纹理细节上。

  • 损失函数,WGAN-GP的对抗损失和重建损失:

学习率缩放

  • 作者发现低阶段的学习率太大或者同时训练的阶段数太多都极其容易过拟合。故采用学习率缩放的方法来缓解:以缩放因子对学习率(0.1)进行缩放,例如对于在阶段的生成器,使用的学习率是,对于在阶段的生成器,使用的学习率是等等。

精心设计的图像尺寸调整

  • 另一个关键的设计:使用哪种多尺度金字塔。SinGAN最初建议对每个阶段n将图像x降采样,其中r是默认值0.75的标量。结果,通常需要八到十个阶段来生成具有250宽或高的分辨率图像。

  • 作者观察到,在低分辨率(小于60pix)下往往得不到足够的阶段数去训练。在高分辨率图像上进行训练时,全局布局已经“确定”,此时仅纹理信息比较重要,因为判别器的感受野始终为11×11。因此,要实现某种全局图像布局,需要一定数量的阶段(通常至少三个)以较低的分辨率去学习,而无需要太多的高分辨率学习,故提出分辨率在阶段变化的学习尺寸为:

 

这样一来,比如在缩放情况下,原来的变化是,,, ,,,而现在是:,,, ,,.

实验设置

作者在1080Ti上训练仅需要20到30分钟,而SinGAN要两小时上。

实验结果(仅展示部分定性分析的示例)

无条件图像生成

消融探究、超参影响

Image harmonization


公众号近期荐读:


GAN&CV交流群,无论小白还是大佬,诚挚邀您加入!

一起讨论交流!长按备注【进群】加入:

更多分享、长按关注本公众号:

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值