当前位置:   article > 正文

PGGAN(ProGAN)解读与代码

pggan

文章:Progressive Growing of GANs for Improved Quality, Stability, and Variation

官方代码: https://github.com/tkarras/progressive_growing_of_gans

整体框架:

      PGGAN中同时使用生成器和判别器,并且两个网络中的现有层都是可训练的,PGGAN在渐进式训练的方式上进行突破,最初它在训练生成器和判别器时仅使用4×4的极低分辨率图像训练,然后通过向网络中添加一个更高分辨率的层来逐步提高图像的分辨率。这种递增方式使得训练过程首先学习图像分布的大尺度结构,也就是低分辨率图像的基本特征,然后随着学习到的分辨率的不断增加,将注意力转移到越来越多的尺度细节。每次新的层被添加到网络中时,都会被平滑地淡入。另外,PGGAN使用最小批次标准差增加变化,首先计算小批次中每个空间位置每个特征的标准差,然后对所有空间位置的特征估计值计算平均值,最后将该值连接到所有小批次和空间位置,从而生成一个额外的特征图,并且该特征图可以插入判别器中的任何地方。通过从低分辨率图像开始训练的方式不仅能够提高整体的训练速度,而且能够稳定训练,产生更高分辨率的图像。

分辨率层的渐进增长 

     PGGAN用逐步扩增的训练方法实现高分辨率图像生成。首次生成了1024×1024像素高分辨率图像。首先利用分辨率为4×4像素的图像训练生成器和判别器,再使用平滑层方法逐步添加网络层并提高图像分辨率,最终生成1024×1024像素分辨率的图像。这种逐步扩增的训练方法使得生成器的低分辨率层首先能学习图像的轮廓信息。当低分辨率层达到收敛时,引入新的网络层级,进一步细化图像中的细节信息。在生成器的设计中,PGGAN不再使用反卷积操作完成上采样,而改用最邻近滤波结合卷积操作的方式避免引起棋盘效应。 

光滑过渡:

这张图说明了从16×16图像到32×32图像的过渡。

(a)假设已经是16×16的像素,toRGB层把16×16的特征转换为16×16的RGB图像,这个RGB图像是用来判别真假的图像,在判别器层用fromRGB把它转换为16×16的特征图。

(c)16×16的特征用了最近邻滤波将图像分辨率扩展两倍变成32×32,判别器层用平均池化把32*32特征转换为16*16,但是这会造成一个突然的冲击

(b)所以为了平滑地增加这些层,生成32×32层有两条路径:左边这条直接把两倍的值加下来没有任何经过训练的参数;右边这条先经过32×32的卷积再相加。α刚开始是0,相当于没有右面这支,慢慢的在训练过程中α逐渐变大从0扩展到1,扩展到1的时候,左边这只就失效了,光滑的过渡到了(c)。这种平滑的过渡机制稳定了PGGAN架构以给系统适应更高的分辨率的时间。 

PGGAN 在1024 X 1024 时的完整的网络架构 

     本文提出了用minibatch来增强图片多样性的方法。首先计算小批量上每个空间位置中每个特征的标准偏差。然后,对所有特征和空间位置的这些估计进行平均,以获得单个值,复制该值并将其连接到所有空间位置和小批量上,产生一个额外的特征图,把该层插入到鉴别器的末尾。 

正则化生成器判别器 

   为了防止生成器和鉴别器中的幅度由于竞争而失控的情况,在每个卷积层之后将每个像素中的特征向量归一化为生成器中的单位长度。使用“局部响应归一化”的变体来实现这一点,公式为: 

     其中,N是特征图的数量,ax,y是像素(x,y)中的原始特征向量,bx,y 分别是像素(x,y)中的归一化特征向量。这种严厉的约束不会以任何方式损害生成器,并且实际上对于大多数数据集来说,它不会对结果产生太大影响,但它可以在需要时非常有效地防止信号幅度的升级。 

代码及训练结果 

pytorch代码:Machine-Learning-Collection/ML/Pytorch/GANs/ProGAN 在主控 ·aladdinpersson/机器学习收藏 ·GitHub上icon-default.png?t=N7T8https://github.com/aladdinpersson/Machine-Learning-Collection/tree/master/ML/Pytorch/GANs/ProGAN

预训练权重下载后放在包含所有 python 文件的目录中,config.py里的 LOAD_MODEL改为True。 导入自己的数据集,train,py就可以训练啦!

 终端输入tensorboard --logdir logs查看训练的结果:

从4*4开始训练,几轮后已经比较清晰啦。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/600458
推荐阅读
  

闽ICP备14008679号