生成对抗性学习笔记

有关于解决GAN中模型崩塌的一点方法

2019-04-17  本文已影响0人  Lornatang

GAN好是好,但是这个模型崩塌我是真的头大,好好的一个模型跑着跑着就变全噪声了。
最近在论文的阅读当中,发现了一篇文章《Progressive growth of glycine to improve quality, stability, and variability》是有关于如何改善辨别器中对于生成器的生成的一些无用信息的剔除。同时可以提高生成图像的分辨率以及增强图片中的纹理和细节。

一、摘要

关键的想法是逐步增加发生器和鉴别器:从低分辨率开始,我们添加新的层,随着训练的进展模拟越来越多的细节。这既加快了训练速度又大大稳定了它,使我们能够制作出前所未有的质量图像。

二、对于之前同类方法的一点总结

GAN的缺陷
通常,GAN由两个网络组成:生成器和鉴别器(又称批评者)。发生器从潜码产生样本,例如图像,并且这些图像的分布理想地应该与训练分布无法区分。由于设计一个能够判断是否是这种情况的函数通常是不可行的,因此训练一个鉴别器网络来进行评估,并且由于网络是可微分的,我们还可以使用梯度来将两个网络引导到正确的方向。通常,发生器是主要关注点,鉴别器是自适应损耗函数,一旦发生器被训练就会被丢弃。

本文主要采用了WGAN中的Wasserstein损失,对此进行了改进。

三、主要工作

image

四、主要方法

作者用了几种方法来对图片进行处理,同时证明了所假设的结论,取得了良好的效果。

之前作者的采用的方法是:从单个图像计算特征统计数据,还在整个小批量模型中计算特征统计数据,从而鼓励生成和训练图像的小批量显示类似的统计数据。通过在鉴别器的末尾添加一个小批量层来实现的,其中该层学习一个大的张量,将输入激活投射到一组统计数据。为小批量中的每个示例生成一组单独的统计信息,并将其连接到层的输出,以便鉴别器可以在内部使用统计信息。

改进之后:首先计算小批量上每个空间位置中每个特征的标准偏差。然后,我们对所有要素和空间位置的这些估计值进行平均,以得到单个值。我们复制该值并将其连接到所有空间位置和小批量,从而产生一个额外的(常量)特征映射,并将其插入曾末尾。

image

通过其估计的标准偏差来标准化梯度更新,从而使更新独立于参数的比例。因此,如果某些参数的动态范围比其他参数大,则需要更长的时间进行调整。这是现代初始化器导致的场景,因此学习率可能同时太大和太小。确保所有权重的动态范围和学习速度都相同

为了避免由于竞争导致发生器和鉴别器中的幅度失控的场景,我们在每个卷积层之后将每个像素中的特征向量归一化为发生器中的单位长度。我们使用“局部响应规范化”。

sample.png

文章引用于 Lornatang
编辑 Lornatang
校准 Lornatang

上一篇下一篇

猜你喜欢

热点阅读