这里是简单速览,如果你想了解更加仔细的论文请参考:
1.研究解决什么问题
作者这里始终在解决一个问题就是,生成图像的分辨率比较低的问题。
2.解决的思路
2.1分析为什么不能高分辨率
- 1.训练困难作者的意思:高分辨率的图像在一开始训练的时候,判别模型很容易就能识别出来哪个是生成的哪个是真正的,所以回传的时候不够稳定。我个人感觉这里的主要情况因为一开始差异太大了,模型一下子迷失方向了,不知道怎么做才能生成一个看起来像真正的图片。(直接生成一个看起来像真的图片的图片太难了,所以需要一个流程)
- 2.batch小的问题因为分辨率的问题,单张图片内存占用较大,所以一个batch就不能有太多的图片。小batch的话存在一个问题,就是每次优化都可能都不太能代表真正的优化方向。(极端一点,一个batch只有一个图片,那么这次优化就太不能代表别的图片的情况了)
- 作者主要是解决了训练不好训练的问题
2.2 怎么解决训练的问题
-
- 既然分辨率高的时候不能训练,就先从分辨率低的位置开始训练,再逐渐增加。如下图所示,作者从小分辨率开始训练,再逐渐增大分辨率:
-
- 那么这时候怎么过度成为了关键,如下图所示从16的分辨率变成32的分辨率,这里我们如果直接从(a)变成(c)那么存在一个问题就是如果这个新增加的32如果一开始随机数没有抽好(模型的参数是随机生成)那么岂不是前面的训练的好效果全部都被浪费了,所以作者加入了一个(b)过程。
-
- 这个(b)过程到底做了什么?先获得一个参数α,这个参数决定新增加的网络对结果的影响,一开始比较小,之后随着训练逐渐增大。可以看到这样就比较柔和的变到下一层了。
文章中其他提到的需要注意的内容
GAN网络训练坍塌的问题
文章提到了GAN网络训练发生坍塌的时候,往往是梯度暴增的时候,所以可以在这种情况出现的时候加以阻拦
|